@pulkomandy@mastodon.tetaneutral.net
@pulkomandy@mastodon.tetaneutral.net avatar

pulkomandy

@pulkomandy@mastodon.tetaneutral.net

Sparkly tinkering with computers.

Developper for the Haiku operating system, designer of retro computing hardware, reverse engineering of VTech stuff, and many other cool things!

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

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

https://www.nongnu.org/lzip/xz_inadequate.html (from 2016) resonates quite dfferently now...

b0rk, (edited ) to random
@b0rk@jvns.ca avatar

what's your favourite way to simplify your life with git? mostly interested in slightly unusual tricks to reduce the number of git features you're using, like:

  • never using the stash, just creating temporary branches instead
  • deleting your main branch so that you can never accidentally commit to it
pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

@b0rk

  • before starting a rebase, create a tag where you start from, so you can easily reference the original code (you can delete the tag when the rebase is done). Also keep gitk --all (or some other gui to view commits) open during the rebase to easily see "where" you are
  • I tend to use "git push origin HEAD:branchname" to push the current head to a branch on the remote (also works with others refs, not just HEAD) instead of just "git push"
pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

Casual reminder that this year, aprils fool day and easter line up, so it is the perfect time to add an easter egg in your software that triggers on april fools day.

drewdevault, to random
@drewdevault@fosstodon.org avatar

Say I build a website which lets you browse the Linux kernel source code. The website includes a script which is distributed with the CDDL license. You're working on modifying Firefox for use in Debian, but you haven't changed the name. You're viewing this website when your modified version of Firefox crashes.

You're asked to share the core dump when you report the bug. What is the license of the code dump file?

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

@drewdevault you enter a TShirt shop in Barcelona and they are selling this. It does not contain all the complete sourcecode and build scripts to build the Linux kernel as the GPL license requires. Can you demand the shop owner to provide you with a series of T-Shirts printed with the complete Linux sourcecode?

pulkomandy, to random French
@pulkomandy@mastodon.tetaneutral.net avatar
pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

Mh, so the discussion on use of automatic code formatting in Haiku went from "automatic code formatting is bad, I want to format my code manually" to "-Werror is bad because it may break the build on unsupported compilers"

So let's continue ignoring compiler warnings and spending hours making potential and current contributors exhausted by having a dozen back and forths in code reviews just on fixing coding style problemsthat could be entirely automated. Cool.

😭

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

This weekend progress on porting little to the

I have hacked the source to add an indirection table that all object references go through. The indirection contains a pointer and a bank number. "dereferencing" an indirection maps the corresponding bank.

The loading of the initial images goes through, and I can execute 3 bytecode opcodes before it crashes! But this is really a tight fit in the rom, and I quickly ran out of space after adding some debug traces.

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

There isn't much left that I can comment out. So I guess it's time to start rewriting more things in asm? I can startwith removing puts and putchar but that won't save me the 256 or so bytes I need...

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

Well... I rewrote bzero and puts and now I have almost 4K free in my rom?!
I think I found why the execution wasn't working (it was, of course, some issue with the memory banks handling). But now the initial image loading is crashing before I can get there :(

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

for is alive! Well, sort of. The virtual machine is running now, but my choice of memory organization with an indirection page turns out not to be a very good one, as the indirection table quickly fills up because many small objects are created.
Maybe the next step is implementing chars similar to smallints, that is, inlined in other objects. But that will save me only 256 entries in the table, out of 5000.

https://pulkomandy.tk/_/_Development/_Porting%20Smalltalk%20to%20the%20Amstrad%20CPC:%20some%20progress

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar
pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar
pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

A short stop in Strasbourg. I am seated just at the right seat to get this picture of the train on the neighbouring track

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

The air conditioning in the train is broken. It is very hot. But we got an offer for free drinks at the train bar (unfortunately, distributed 20 minutes before arrival and not usable in other trains). Arriving in Paris soon...

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

We are now in Paris East station!
My next train is in 3 hours. This is not how it normally works, but I had some changes of plans after booking some of the tickets for this trip

A german ICE train that will leave for Frankfurt later
A local train (in the blue "idf mobilités livery) entering the station
Another idf mobilités train entering the station

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

The TGV I deboarded here is refueling (well, refilling water for the toilets). Hopefully they will manage to fix the AC before it departs back in the other direction. At the end of the platforms are these narrow (for a train station) steps, leading to some metro line I think? But it appears to be a one-way exit and I don't want to leave the station today. Maybe something to explore another time.

Water refill of the TGV: there is a secret trapdoor on the platform, part of it is raised, givaing access to a water outlet. There is a hose connected to it and to the train which is parked just at the right place to align its water inlet with this. Next to the hose ins a "wet floor/maintenance" caution sign

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar
pulkomandy, to random French
@pulkomandy@mastodon.tetaneutral.net avatar

Dans la gare de Colmar il y a un distributeur de choucroutes. Et ça marche: ils ont vendu toutes les choucroutes!

Étage du distributeur avec une étiquette "choucroute garnie pour une personne". Cet étage du distributeur est vide.

pulkomandy, to random French
@pulkomandy@mastodon.tetaneutral.net avatar

I made an invitro for the Forever demoparty!

Next week I will join other demosceners in Slovakia for a week-end, gathering around various 8bit machines to show our work, play games, and all things people do when they attend such things.

The "invitro" (short for "invitation intro") provides some information about the demoparty, wrapped in a demoscene-appropriate format.

Nothing very ambitious in this one except I started working on it on friday evening, so I had to be as quick as possible.

santiago, to random
@santiago@masto.lema.org avatar

Writing my first ever Mastodon post from !

Thanks @begasus for the port of Tokodon.

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

@santiago @begasus if the ports are this good, just imagine how great the native software will be! :D

simontatham, to random
@simontatham@hachyderm.io avatar

Today I'm annoyed about Unix named pipes.

Specifically, the way that trying to open one blocks in the open(2) call until something opens the other end. It's too all-or-nothing: if the other process never started up for some reason, you just sit there, still blocking in open().

I want a way to convert 'attempted open of a named pipe' into a thing I can add to a select() or poll(), so I can wait for that or some other event, whichever comes first. And then cancel the open attempt, if need be.

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

@simontatham the manpage says you can pass O_NONBLOCK in the open() flags exactly for that use case?

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

Yesterday everyone was talking about the AI enabled package manager. Today it is the crypto people attempting to scam opensource projects. Last week it was a debate on wether emacs will di..

Can we instead talk about the projects that work well? Did you fix an interesting bug? Did you make a new release of your software recently? That deserves more attention than the low-effort AI and crypto things that we will all completely have forgotten about next week.

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar

I have just received my copy of @mwichary 's Shift Happens! Now I can read it and learn a lot more things about keyboards :)

Same thing from another angle, showing the orange book spines with the volume numbers on them.

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

@mwichary well, it wouldn't fit in the box otherwise...

pulkomandy, to random
@pulkomandy@mastodon.tetaneutral.net avatar
pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

Some notes and ideas about a garbage collector for a system with banked memory:
https://pulkomandy.tk/_/_Development/_Ideas%20for%20a%20garbage%20collector%20for%20memory-banked%20systems
(at least this is out of my head now and I can try to finish some other projects...)

pulkomandy,
@pulkomandy@mastodon.tetaneutral.net avatar

Well, I found an article from 1983 describing mostly the same idea.And giving an algorithm for it. That could same me some time.
Meanwhile, I was curious why the image file for little smalltalk was 100+ kilobytes. First, Inoticed that the format isn't really machine dependant as I thought. So I didn't need all the things I did in the first article to run the generator. Oh well. But also, I noticed that the image includes the text for all methods in addition to the bytecode!

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