Sam ๐Ÿž

Sam ๐Ÿž

@sam.elborai.me

๐Ÿ“ Hamburg, Germany. ๐Ÿง‘โ€๐Ÿ’ป Software engineer, stainlessapi.com. ๐Ÿ—ฃ๏ธ English, Franรงais, Deutsch. ๐ŸŽˆ Plants, pizza, game dev. ๐Ÿ‡ช๐Ÿ‡บ, ๐Ÿณ๏ธโ€๐ŸŒˆ, ADHDer ๐Ÿฆ‹. ๐Ÿ“ง Get in touch: sam at elborai me.

413 followers255 following1.2K posts

Just caught up with the Unreal Engine 5.2 release notes, and they are phenomenal! Need to carve out some time to migrate my game projects or assemble a team for a game jam. Major kudos to the Epic team - the pace of their innovation is mind-blowing!

Iโ€™m sure almost nobody cares about such an old standard, but RTF 1.9.1 specification is such a cool document to read, with weird insights into Word product development history. The format is kind of weird at first but handles so, so much, and is made to have backward and forward compatibility.

I tried WinUI again this week, last time was before the project was considered stable. Things are still not production ready IMHO. Iโ€™m glad I know low level Win32 APIs a bit, otherwise I would have given up. Support for Window min/max sizes requires handling Win32 messages by subclassing the HWND :(

In case you donโ€™t know what that means, itโ€™s basically dealing with the low level windows APIs via system calls. A window in windows is a handler (HWND) and a function processing events in a big switch (WinProc).

Subclassing in this context means โ€œreplacing a window function (WinProc) with your ownโ€. Itโ€™s surprisingly simple to do and use, once you understand the general design. But that requires dealing with pointers, 32 and 64-bit adresses, via PInvoke and Marshal namespaces.

I should find a way to sell GitHub actions and workflowsโ€ฆ I ended up creating one of the most comprehensive set of actions for .Net projects just to cover my needs: build, test, benchmarks, packaging, WPF, WinUI, UWP, support dotnet CLI and msbuild, signing, nuget.org, GitHub packages, and more

Itโ€™s maybe not obvious but there is A LOT of nuances and workarounds needed to handle the various type of .Net projects, at least on Windows. WPF, UWP, and WinUI all have their own issues to consider when building in a CI. Libraries also have their own quirks depending on target frameworks and deps.

Following Bluesky things has been a bit too overwhelming, it felt good disconnecting from the noise for the past ~2 weeks or so. But Iโ€™m sure I missed all the fun!

Happy weekend to the Skyline ๐Ÿ‘‹. Hope you enjoyed your week and had an interesting time. I personally felt quite productive working on niche projects I wanted to explore since a while ๐Ÿค—. Here is a new googly eye pastry, this time in a more high class setup!

ANTLR 4 is pure magic. I cannot see myself writing a recursive descent parser ever again. Parser combinators for simple, well defined, context free stuff, ANTLR for the rest.

Sam ๐Ÿž reposted

I don't care about Mastodon, but would love to discuss the differences between ATProto and ActivityPub. As tech and culture.

Luca Hammer@luca.run

Fediverse assumes that other users are the biggest threat and instance admins can protect you through moderation and defederation. Bluesky assumes that instance admins are the biggest threat and account mobility can protect you by being able to move without help. Even if the instance is offline.

Hallo Skyline! How are you all doing? What did I miss during the past week? ๐ŸŒŸ Here is a nice blue sky photo from Zarrentin am Schaalsee, a UNESCO protected area in Mecklenburg-Vorpommern in Germany ๐Ÿค—

I published a short blog article: "How to set a solution-wide namespace prefix in Visual Studio".If you're like me and find it annoying to have to add the full prefix every time you add a new project to a solution, you will like to know that can be automated with just a little bit of MSBuild config

Sorry for the negativity, but I have to express it.The Microsoft Partner Center is by far the worst publishing service I ever used. Even compared to Apple's horrible mess that was the iTunes Connect platform.I just hate having to interact with it.

The UI has been improved, it definitely looks better since a few years (last year I think? I don't remember exactly). But the underlying service is absolutely always failing in the most confusing ways ever.

Sam ๐Ÿž reposted

I have a lot of questions about the security of react server components. Is there an reasonable overview of the system somewhere from that angle?

Good day the Skyline ๐Ÿ‘‹.Hope you all had a good weekend.To wish you luck for this new week, here is a seagull with googly eyes, with Hamburg harbour in the background.

Sam ๐Ÿž reposted

Via @wake.st, an iOS app that does Mastodon and Bluesky accounts, now on TestFlight

potpro@potp.ro

่‡ชๅˆ†ใ‚‚ๅ‡บใ—ใกใ‚ƒใŠ ็งใŒ้–‹็™บใ—ใฆใ„ใ‚‹iOSใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ€Œikuradonใ€ใ‚’Blueskyใซๅฏพๅฟœใ•ใ›ใพใ—ใŸใ€‚Mastodonใจไฝต็”จๅฏ่ƒฝใ€‚ไธ€่ˆฌ็š„ใชๆฉŸ่ƒฝใฏๆƒใฃใฆใ„ใ‚‹ใจๆ€ใ„ใพใ™ใ€‚ใพใ ใ‚นใƒˆใ‚ขใซๅ‡บใ—ใฆใ„ใชใ„ใŸใ‚ใ€Testflightใ‚ˆใ‚Šใ‚คใƒณใ‚นใƒˆใƒผใƒซๅฏ่ƒฝใงใ™ใ€‚ใƒ™ใƒผใ‚ฟ็‰ˆใชใฎใงใ€ใƒ•ใ‚ฃใƒผใƒ‰ใƒใƒƒใ‚ฏ้ ‚ใ‘ใ‚‹ใจๅŠฉใ‹ใ‚Šใพใ™ใ€‚ https://github.com/potproject/ikuradon/releases/tag/4.0.0-beta

Sam ๐Ÿž reposted

Posting a quick update before I go grab some food, the Thread Explorer is coming along nicely, currently the easiest way to browse the Blessed Hellthread. A bit more tuning and UX improvements to let you view any thread by pasting a link from any post in it, then some perf tweaks and we're good-2-go

More info regarding DID-Placeholder ๐Ÿ‘‡

yes did:plc is still centralized - altho you will be able to use did:web soon if you'd like to opt out of did:plc we'll likely keep invites on our PDS & start by only federating with PDS's we trust, eventually expanding that circle until it is fully open

Regarding the PLC server in the context of the federation architecture ๐Ÿ‘‡

it will be a part of the sandbox & really it gets talked to by every service in the network - or at least every service that needs to verify a did <> handle mapping or a root of authority for a given repo (BGS & AppView for sure)

So the PLC server isnโ€™t mentioned in the federation architecture, but thatโ€™s a critical part of AT protocol. Iโ€™m a bit confused here. Anyone knows how PLC server fits in this?

The massive can of worms regarding federation will be respect of user consents. What I see is almost impossible to be made compatible with GDPR. Individuals are expected to be informed of all current and future data processors, give them explicit consent processing their data, can revoke it any time

EU right to be forgotten is also practically not possible. I believe every single instance syncing a user PII (so not only their repository, but any of their PII) may become liable to GDPR damages.

Sam ๐Ÿž reposted

Replying to @dholms.at

& I'll once again link @martinkl.com's post that perfectly summarizes the ethos of atproto

Martin Kleppmann@martin.kleppmann.com

Whether something is decentralised or not is a function of the administrative control of different parts of the system, not a function of the network topology.

Sam ๐Ÿž reposted

Hey everyone! Want to let you know weโ€™re not all going to be on bsky.social forever. Weโ€™ve been making progress towards federation, and will start off with a sandbox environment to prioritize safety and stability as we move towards distributing out control over the ecosystem.

Bluesky@bsky.app

We'll soon be launching a sandbox environment to begin the testing phase of federation for the AT Protocol with allow-listed servers. In advance of this launch, here are some technical details about our design decisions. https://blueskyweb.xyz/blog/5-5-2023-federation-architecture

Sam ๐Ÿž reposted

We'll soon be launching a sandbox environment to begin the testing phase of federation for the AT Protocol with allow-listed servers. In advance of this launch, here are some technical details about our design decisions. https://blueskyweb.xyz/blog/5-5-2023-federation-architecture

blueskyweb.xyzFederation Architecture OverviewSoon, weโ€™re launching a sandbox environment for federation. In advance, we want to share some technical details about our design decisions.

Sam ๐Ÿž reposted

Very conveniently, there are 257 combining characters in the unicode codepoint range 0x80-0x7ff. These codepoints can all be encoded in 2 bytes of UTF8.I picked the first 256, and made a 1:1 mapping of combining glyphs to byte values. bsky does not count combining glyphs towards the 300 char limit!

It works! Script is here: https://gist.github.com/DavidBuchanan314/07da147445a90f7a049d1b9b3e3dc6f3 You can fit somewhere between 1kb and 1.5kb of data in one skeet (I haven't done the exact math yet...)

Sam ๐Ÿž reposted

Newest improvements to make it easier to find Bluesky accounts of your Twitter followings with https://fedifinder.glitch.me/ - Accounts you already follow are displayed separately - Profile descriptions to make faster decisions - No more duplicates

Omg, David is unstoppable

It works! Script is here: https://gist.github.com/DavidBuchanan314/07da147445a90f7a049d1b9b3e3dc6f3 You can fit somewhere between 1kb and 1.5kb of data in one skeet (I haven't done the exact math yet...)

Sam ๐Ÿž reposted

You can now DM me by running: age -r age10gcp7tygjhtts9mllgeq7k5heethg9d5zr2m9qx2jaq3r7wp6qws647w9k message.txt | python3 zalgo256.py enc | wl-copy and pasting the result into a skeet. I'll then be able to decrypt via: wl-paste | python3 zalgo256.py dec | age -d -i key.txt

It works! Script is here: https://gist.github.com/DavidBuchanan314/07da147445a90f7a049d1b9b3e3dc6f3 You can fit somewhere between 1kb and 1.5kb of data in one skeet (I haven't done the exact math yet...)