@zirias@techhub.social
@zirias@techhub.social avatar

zirias

@zirias@techhub.social

Dipl.inform., FreeBSD ports committer, musician, C64 fan/coder, hetero cis white male, not proud, no wing, no ally, leaning liberal/ecologist, pro facts/science

This profile is from a federated server and may be incomplete. Browse more on the original instance.

craiggrannell, to random
@craiggrannell@mastodon.social avatar

Big test for the App Store: if someone submits an Apple II emulator. Apple has been quoted as saying the apps must be for emulating โ€œretro console gamesโ€ only. And yet:

  1. That would be a stupid arbitrary distinction โ€“ and tricky in the 1980s. What is an Atari 400? A console or a home micro?

  2. A (sadly dreadful) C64 emulator is already on the App Store, and no-one would refer to the C64 as a console.

Thought: I also wonder what happens if someone submits Retroarch or FBNeo?

zirias,
@zirias@techhub.social avatar

@yacc143 @craiggrannell Actually, I'd consider the as a "video game console in disguise".

Looking like a "home micro" that could educate your kid in programming (and, indeed, I learned some basic programming on that machine!) was nice to convince parents to buy that thing.

But then, the MS BASIC included with it couldn't do anything better than e.g. a PET. All the great hardware was unsupported. And a design of e.g. a GFX chip running in sync with the CPU, offering rasterline interrupts, offering flexible tiled gfx modes and hardware scrolling, spending a lot of silicon on "sprites", etc ... that's pretty much a "video game console design".

zirias,
@zirias@techhub.social avatar

@yacc143 @craiggrannell Oh sure. But a "home micro" design of that time would mean support in the builtin "high level" language (normally BASIC), after all, these were targetet at hobbyists wanting to dip their toes into "programming", not at professional software developers.

Sure, a physical keyboard theoretically makes "machine code" programing accessible even to hobbyists. And there were those doing exactly that.

zirias, to FreeBSD
@zirias@techhub.social avatar

๐Ÿšฆ๐Ÿšฅ ... ok it works ๐ŸŒ‹

A super-simple keyboard for .

Well, I did have to fiddle with the keymap.

And I had to add delays ๐Ÿคฏ๐Ÿ‘น (otherwise there are races between keymap changes and keyboard events).

And I had to misuse the extension, cause applications ignore "synthetic" events. ๐Ÿซฅ๐Ÿ˜ฃ

But hey, it works ๐Ÿ•บ

Now needs some basic, uhm, "features" (like recently used, like search by name).

https://github.com/Zirias/qxmoji

zirias,
@zirias@techhub.social avatar

Fixed build with now (and defaulting to that, but still supported).

I also added a README.md explaining the uglyness of what it does with / . But again, hey, it works ๐Ÿ™ˆ๐Ÿ„๐Ÿธ๐Ÿฆ‰ (lots of emojis for no purpose, sorry ๐Ÿ˜‚)

The looks with completely unconfigured tell me it needs yet another feature: Configurable scale factor. These emojis are just TOO small ๐ŸงŒ

https://github.com/Zirias/qxmoji

zirias,
@zirias@techhub.social avatar

First "features" added ...

  • Can now select 5 "scale factors" for the size of the emojis, "Tiny" being the same size as default window text (which is normally indeed tiny for emojis)

  • Auto-stores these settings as well as the window dimensions (not position!)

zirias,
@zirias@techhub.social avatar

v0.1 and v0.2 released ๐Ÿ˜Ž

Functionally the same (just clickable emojis in tabbed groups, display size and wait-time for restoring the X11 keyboard map configurable), but v0.2 has correct README info and build-fixes, so Qt tools are found without fiddling with make variables ๐Ÿ™ˆ so, use v0.2 ๐Ÿ˜Ž

https://github.com/Zirias/qxmoji/releases/tag/v0.2

zirias,
@zirias@techhub.social avatar

๐Ÿฅณ v0.3 released ๐Ÿป๐Ÿ•

Now there are the "basic" features you'd expect from an emoji keyboard:

โœ… Search as you type
โœ… Recently used

https://github.com/Zirias/qxmoji/releases/tag/v0.3

image/png
image/png
image/png

zirias,
@zirias@techhub.social avatar

Found a small bug, requests were synchronously checked, but this only works when calling the _checked() flavor of them ... ๐Ÿ™ˆ

Fixed in v0.4

Also added a clear button to the search field, this seems somewhat useful ๐Ÿ˜‰

https://github.com/Zirias/qxmoji/releases/tag/v0.4

zirias,
@zirias@techhub.social avatar

Thinking about what to include in v0.5. Many questions in mind...

I'll definitely "outscope" . Would be nice, but would also mean to import localized emoji names somehow (and, where to find them? ๐Ÿค”)

For now:

๐Ÿ”นUnify persisting settings. history and window size are persisted on exit, wait time and display scale on every change. Not sure which one is the "better" approach...
๐Ÿ”นShould it be "single instance"? Should it offer an option for a "tray icon"?
๐Ÿ”นAdd an "About dialog". Cause that's what you always do. ๐Ÿ™ˆ
๐Ÿ”นMaybe find a way to speed up initial creation of the Emoji buttons?
๐Ÿ”นAnything else ...โ“

Please comment if you have thoughts to share ๐Ÿ™ƒ

zirias,
@zirias@techhub.social avatar

v0.5 released!
https://github.com/Zirias/qxmoji/releases/tag/v0.5

This brings a few of the ideas I had:

๐Ÿ”นAdd a "single instance" mode (configurable)
๐Ÿ”นAdd a "tray icon" (configurable behavior)
๐Ÿ”นAdd an "About" dialog
๐Ÿ”นEnforce using Qt's "xcb" platform
๐Ÿ”นFix detaching on startup, add a flag (-d) to prevent it

Pretty usable as it is I hope ... although one could of course improve a lot (but have you heard of the 80-20-rule?) ๐Ÿซฃ

Screenshot from this time, no particular reason, I'm still running here ๐Ÿ˜Ž

zirias,
@zirias@techhub.social avatar

v0.6 released!

https://github.com/Zirias/qxmoji/releases/tag/v0.6

This brings a lot of improvements and fixes, the most relevant being immediate persistence of settings and watching the settings file for external changes. To make this feasible also for restoring the history, a lot of work went into generating static emoji data that can be used efficiently (e.g. containing a hash table to find an emoji quickly).

BTW, this even works on , so if you have your home shared and you're running qXmoji on two machines as the same user, the history will auto-update in both instances ๐Ÿฅณ

zirias,
@zirias@techhub.social avatar

v0.7 released!

https://github.com/Zirias/qxmoji/releases/tag/v0.7

This brings several improvements, mainly in the build system, but the major change is support for localization, with translated Emoji names imported from . I added a German translation, see screenshot. Once again, I'd appreciate more translations, the process to translate is documented here:
https://github.com/Zirias/qxmoji/blob/master/TRANSLATE.md

Updated FreeBSD port:
https://people.freebsd.org/~zirias/patches/0001-x11-qxmoji-Add-new-port.patch

cuddle, to random
@cuddle@bsd.cafe avatar

There are just too many "problems" with C++. I wish modern C++ was something back in the day, so we won't have to suffer.

Libraries still uses iostream to display in stdout/stderr and it's certainly not my favorite. It's slow, bloated, and isn't even describable.

e.g.
std::cout << a.x << " " << a.y << " " << a.z << '\n';
vs
std::println("{} {} {}", a.x, a.y, a.z);

And here we come, standard of string

why:
std::string a = "Hello world";
if (a.find('r') != std::string::npos)
fmt::println("{}", pos);
else
fmt::println("not found");

and why not:
std::string a = "Hello world";
if (a.contains('r')) // Do member function overloading in the class
fmt::println("{}", pos);
else
fmt::println("not found");

why standard doesn't implement trimming functions for white spaces? why do I always have to rely on iterators for such things... (it's just feels like I've to type too much for a basic functionality)

and there's more but let's keep this post small.

zirias,
@zirias@techhub.social avatar

@jhx @stefano @jcamos @cuddle I'll just finish coding C++ for today. I'm not even sure it's C++ or just "whatever the f** I need to use for a with as much non-GUI stuff done in pure #C as possible" ๐Ÿ˜Ž

Not a huge fan of either, I never liked "syntactic whitespace", and observing the drama trying to get rid of python2 (impossible because breaking changes in 3 and upstreams unable to adapt their build(!) scripts) didn't really change my mind ๐Ÿ˜‚

For me, it's #C. And, yes, shell script. Sometimes amazing what can be done, although I admit it isn't perfectly readable ๐Ÿ™ˆ
https://github.com/Zirias/qxmoji/blob/master/scripts/emoji2cdef.sh

RogerBidon, to c64 French
@RogerBidon@mastodon.online avatar

Hey I heard you'd love a decent C compiler for the 6502 but feared compiling GCC ...

Problem resolved, here's a binary release of gcc-6502: https://github.com/sgadrat/gcc-6502-bits/releases/tag/v8.4.1-2

(If someone feels brave, a Windows build would make for an awesome PR โ˜บ๏ธ )

https://github.com/sgadrat/gcc-6502-bits/releases/tag/v8.4.1-2

zirias,
@zirias@techhub.social avatar

@RogerBidon serious question, assuming you have to write mostly "targeted" code anyways (because a just won't reasonably run 98% of today's existing C code), what's the edge of a targeting this platform over e.g. ?

If there's a real advantage, I might be tempted to bring this to ...

zirias, to windows
@zirias@techhub.social avatar

Goal: Get some certificate obtained with deployed on some box

Step 1: Ok, this probably works best with (which I don't really like ...)

Step 2: There's no port ... but hey, there's now a FreeBSD port of , let's try to "just" build Powershell using that.

Step 3: Hell why does it fail to build. Oh, System.Security.Cryptography.Native doesn't play well with

Patch and retry, I guess I'll take some sleep now first. Bah!

(there's some irony in running into OpenSSL/LibreSSL issues when trying to deploy TLS certificates ...)

zirias,
@zirias@techhub.social avatar

I guess that's progress ... some on at least starting up. Creating a out of this will be a lot of work ๐Ÿ˜ž had to patch quite some code, e.g. completely disable the "login shell" functionality, the implementations only work on either or ....

And the whole build system fails completely if not built from within a working copy ... WTF? This will be another challenge for porting.

Ah, this messy version is probably a result of the mess in the upstream repo, a tag v7.4.1 exists, but refers to a commit that is gone.

Oh what did I expect ... ๐Ÿ˜‚

zirias,
@zirias@techhub.social avatar

This will be though.

Well, I can certainly build for now. I might be able to just "fake" a working copy for its stupid build system. This still doesn't fully solve the version issue, it insists on appending the git hash -> TODO.

The "login shell" feature can be added, an exercise left for later, the code will look pretty similar to the existing MacOS-X implementation. Maybe upstream would even accept it ๐Ÿ˜Ž

For a , it should probably be "published" as "" (I hope this has no negative impact), otherwise lang/dotnet would become a hard run dependency ... This works now as well, but requires changes in lang/dotnet ... requires some platform-specific packages that don't exist on MS servers for FreeBSD. They are created during build of dotnet itself, but not installed anywhere by default ... I'll suggest an "on by default" port option to bundle these with lang/dotnet.

[โ€ฆ]

zirias,
@zirias@techhub.social avatar

The biggest issue will probably be to find some at least somewhat sane way to download the required packages during fetch phase, so they can be used "offline" during build later. Of course if ever possible with correct checksumming in distinfo.

This is always the same annoying crap with all these languages and frameworks inventing their own package management. Sucks.

For , I tought the commandline client could maybe help with the task. Well if anyone can tell me how to even build that thing ... I guess I'll give up and look for other ideas. Should be possible to somehow automate the process to get the correct uris for package downloads? And then maybe patch the build files of to exclusively use a local directory as the "package source" ... we will see.

zirias,
@zirias@techhub.social avatar

A working of is certainly getting closer ๐Ÿ˜‰

zirias,
@zirias@techhub.social avatar

And now, "staging" and packaging for works as well ๐Ÿ˜Ž

But this is just the "base" with no bundled modules. Next step, find out how to build and bundle some "essential" Modules, e.g. and/or (for Install-Module), and (for sane commandline editing and stuff) ... any more that absolutely NEED to be bundled? ๐Ÿค”

zirias,
@zirias@techhub.social avatar

Next "milestone", bundling modules with the package (using the nupkg files available from powershellgallery) works! ๐Ÿฅณ

One little thing missing, some of these are auto-imported, others are not ... why? ๐Ÿค”

Edit: They are auto-imported as soon as you invoke a commandlet ... nice! ๐Ÿ˜Ž

Ok, time to commit to my local branch of ports. Can't go to main yet because building still requires some patches to lang/dotnet ...

zirias,
@zirias@techhub.social avatar

In case you want to test on NOW ... here's a patch for :
https://people.freebsd.org/~zirias/patches/0001-shells-powershell-Add-new-port.patch

It currently requires at least these patches applied before:
https://reviews.freebsd.org/D44560
https://reviews.freebsd.org/D44561

Note they will probably change, the maintainer of lang/dotnet is looking for better options to solve these issues.

hl, (edited ) to sysadmin
@hl@social.lol avatar

Sigh. So copying and pasting commands from the internet doesn't solve my problem. This means I'm going to have to actually try and /understand/ what's wrong. I didn't sign up for this.

#projects #sysadmin #homelab

zirias,
@zirias@techhub.social avatar

@hl @xdydx has only support for SMBv1, which you should absolutely avoid for security reasons, although you can probably configure to still allow it ... but ... don't. Nowadays I'd prefer to say FreeBSD does not support mounting SMB shares.

There are some ports available implementing "modern" SMB (v2/v3) on top of , which might be an option, but in my experience, they're not perfectly reliable and performance isn't the greatest either.

If ever possible, work on the server side and see whether you can share via instead. Either (which is only "secure" as long as your network is perfectly secure and you control all participating machines, but at least it doesn't pretend to do anything else), or with security.

zirias, to KDE
@zirias@techhub.social avatar

Remember these specific misrenderings using the wrong ? Made actually a good testcase after adding codepage selection to my new "dos2ansi" tool ๐Ÿ˜œ
https://github.com/Zirias/dos2ansi

Screenshot from () running on and using Microsoft's font.

zirias,
@zirias@techhub.social avatar

Found a pretty nice font to go with : .

It seems to contain a pretty complete set of glyphs (arabic and cyrillic work fine), and approximates the original looks very well! ๐Ÿ‘

(Screenshots from on again)

https://github.com/ansilove/BlockZone

image/png
image/png

zirias,
@zirias@techhub.social avatar

Few features, but a lot of refactoring and internal improvements ... and users now get a program using "native" APIs ...:

here's v0.9! ๐Ÿ˜Ž
https://github.com/Zirias/dos2ansi/releases/tag/v0.9

Screenshot shows displaying some random metadata, and the new (finally, lol) flag to display version info (also note the license matching my favorite OS, )

  • All
  • Subscribed
  • Moderated
  • Favorites
  • โ€ข
  • JUstTest
  • Leos
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • cubers
  • anitta
  • modclub
  • InstantRegret
  • khanakhh
  • GTA5RPClips
  • everett
  • Durango
  • tacticalgear
  • provamag3
  • tester
  • cisconetworking
  • normalnudes
  • megavids
  • lostlight
  • All magazines