On a completely different note, I am starting to learn to make #pixelart with #aseprite focusing on very low-resolution images. The idea is to have technical limitations like the developers and graphics artists had in the times of 8-bit games.
This is a small text-in-a-plate which could have been a company logo for a #gameboy game. Well, technically it has more than 4 colours, but you get the idea 😜
Please bear with me while I #practice 🙏
It was cute for a while to be using a desktop environment which takes the baton of the GNOME 2.x user experience and keeps it alive in 2018. If works fine if you don't have a HiDPI monitor. The #Mate team is doing an interesting job, but for a similar UX that does work better (with its own set of HiDPI glitches) I would rather use the Budgie desktop + modern GNOME applications.
Well.. There is HiDPI support indeed in #mate 1.20, but it's a bit hit and miss: many of the applets in the panel come with their host of glitches, and the window-manager decorations remain conspicuously unscaled. The systray in particular jitters in-place by itself and has good chances of producing seizures.
Well, MATE 1.20 (derived from GNOME 2.x, but now using GTK+3) is out and finally it supports HiDPI, so let's give it a try… Mid ‘2000s nostalgia rush incooooming!
boost to pet
| _ _ l
/ ヽ ﾉ
│ | | |
／￣| | | |
After two days banging my head with this, now I had a moment of enlightenment: the data remains in limbo, but it does not trigger the GSource because the GSocket/GSource has been created in the child process *after* the data has been already accepted by the kernel, and therefore the “data available” event never gets triggered.
What the child process can do is use g_socket_get_available_bytes() as the first thing right after creating the GSocket, and manually invoke the “data ready” callback.
Of course, writing the data is successful and produces no errors. Theoretically the data should be buffered somewhere by the kernel, as the socket pair is expected to behave like a FIFO pipe. Any ideas?
I would really like to send an initial message over the socketpair which the spawned process would read right away on startup.
1. Create a GMainLoop.
2. Use socketpair(), wrap “server” side descriptor into a GSocket. Write some data.
4. Spawn a new process, passing the “client” side descriptor. This process also creates a GMainLoop and wraps the descriptor into a GSocket.
3. Server runs the main loop.
5. Client create sa GSource for the socket, to get async notifications on “data ready”, and starts its main loop.
The data written by the server process never triggers “data ready”. Where's my data?
if you have a personal web log, please reply with the url!
an attempt to collect everyone’s blogs - so as to not let precious non-commercial content go unread and unnoticed - is likely the only time i’ll ever ask:
please boost this toot.
Again for those who missed it: the Boston Public Library has a really nifty transcription tool on their site. If you can read cursive, you can help safeguard and digitize the history of slavery (and the abolition of slavery) in the United States. Check it out! https://qz.com/1194254/slavery-in-america-boston-public-library-crowdsourcing-transcriptions-to-preserve-history-of-abolitionists/ #history #libraries #archives #digitalhumanities #dh #transcription #awesome
Today I had a weird personal computing moment: The scanner of a random multifunction printer model just worked after installing the needed driver, no additional configuration needed.
Still not in awe? Right, I should've mention that this was on GNU/Linux, and that the multifunction printer-scanner is wireless.
I studied urban planning in San Francisco, and I just gotta say, the answer to our urban transportation problems is not self driving cars or 'ridesharing' taxis, all of those things are the way that established tech cos attempts to replace and commodify public services. The real answer is less car traffic, more (and more accessible) busses and trains, and shared public transport priority streets with bike and ped priority streets too. And affordable tickets + paid operators of vehicles.
#debian packaging #rant Show more
That moment when one ends up building Xapian because Debian packages available in a server don't have have the FieldProcessor API enabled at build time, so one can compile #Notmuch with support for regex matches, and one can effectively cover some edge cases in email tagging.
New blog post on hacking on user space networking :) https://tsyesika.se/posts/hacking-on-user-space-networking/
IT'S HAPPENING.Me and my partner found a venue with seats available for #BurnsSupper
Even if not liking bagpipes or folk music, one has to admit that piping a haggis into the table and reciting a poem to it before being dramatically stabbed with a knife is pretty badass.