More from anderegg.ca
Since my last piece about Bluesky, I’ve been using the service a lot more. Just about everyone I followed on other services is there now, and it’s way more fun than late-stage Twitter ever was. Halifax is particularly into Bluesky, which reminds me of our local scene during the late-2000s/early-2010s Twitter era. That said, I still have reservations about the service. Primarily around the whole decentralized/federated piece. The Bluesky team continues to work toward the goal of creating a decentralized and open protocol, but they’ve got quite a way to go. Part of my fascination with Bluesky is due to its radical openness. There is no similar service that allows users unauthenticated access to the firehose, or that publishes in-depth stats around user behaviour and retention. I like watching numbers go up, so I enjoy following those stats and collecting some of my own. A few days ago I noticed that the rate of user growth was accelerating. Growth had dropped off steadily since late January. As of this writing, there are currently around 5 users a second signing up for the service. It was happening around the same time as tariff news was dropping, but that didn’t seem like a major driver. Turned out that the bigger cause was a new Tiktok-like video sharing app called Skylight Social. I was a bit behind on tech news, so I missed when TechCrunch covered the app. It’s gathered more steam since then, and today is one of the highest days for new Bluesky signups since the US election. As per the TechCrunch story, Skylight has been given some initial funding by Mark Cuban. It’s also selling itself as “decentralized” and “unbannable”. I’m happy for their success, especially given how unclear the Tiktok situation is, but I continue to feel like everyone’s getting credit for work they haven’t done yet. Skylight Social goes out of its way to say that it’s powered by the AT Protocol. They’re not lying, but I think it’s truer at the moment to say that the app is powered by Bluesky. In fact, the first thing you see when launching the app is a prompt to sign up for a “BlueSky” account 1 if you don’t already have one. The Bluesky team are working on better ways to handle this, but it’s work that isn’t completed. At the moment, Skylight is not decentralized. I decided to sign up and test the service out, but this wasn’t a smooth experience. I started by creating an App Password, and tried logging using the “Continue with Bluesky” button. I used both my username and email address along with the app password, but both failed with a “wrong identifier or password” error. I saw a few other people having the same issue. It wasn’t until later that I tried using the “Sign in to your PDS” route, which ended up working fine. The only issue: I don’t run my own PDS! I just use custom domain name on top of Bluesky’s first-party PDS. In fact, it looks like third-party PDSs might not even be supported at the moment. Even if/when you can sign up with a third-party PDS, this is just a data storage and authentication platform. You’re still relying on Skylight and Bluesky’s services to shuttle the data around and show it to you. I’m not trying to beat up on Skylight specifically. I want more apps to be built with open standards, and I think TikTok could use a replacement — especially given that something is about to happen tomorrow. I honestly wish them luck! I just think the “decentralized” and “unbannable” copy on their website should currently be taken with a shaker or two of salt. I don’t know why, but seeing “BlueSky” camel-cased drives me nuts. Most of the Skylight Social marketing material doesn’t make this mistake, but I find it irritating to see during the first launch experience. ↩
I was late to the party, but I played Luck Be a Landlord last year and really enjoyed it. It’s a deckbuilder where you build combos by manipulating the icons in your custom slot machine. I linked above to the Steam page, but it’s on just about every platform — I played through it on iOS. TrampolineTales, the indie developer behind Luck Be a Landlord, released a demo for Maze Mice as part of Steam Next Fest. I got around to giving the demo a shot today and I loved it! The game is a slightly weird mix of Pac-Man and Vampire Survivors where time only progresses when you move. You pilot a mouse around a cardboard maze and collect XP gems to earn new weapons and passive effects. You’re being chased by cats and ghosts — the cats follow your path exactly around the maze, and the ghosts ignore walls as they move directly toward you. The time progression system is fun, and I found myself just squeezing through some tight spots by tapping the arrow keys. There’s some light strategy required to herd your foes away from the gems you want to collect. You can check out the Steam page for Maze Mice and give the demo a go on macOS or Windows. If you liked Vampire Survivors, I think you’ll have a good time with this as well.
I was recently on-site with a client and noticed that one person was using the new “Macintosh” screen saver that was added in macOS Sequoia. If you haven’t seen it, here’s a video of it in action. I knew that the screen saver had released, but I was very happy with Relay’s St. Jude screen saver by James Thomson. Happily it turns out that you can run two different screen savers on macOS if you have more than one monitor. To get this working under macOS Sequoia, first make sure your monitors set up as different “Spaces”. You can do this by heading to System Settings ➔ Desktop & Dock, and under the “Mission Control” section, make sure “Displays have separate Spaces” is enabled. Then you can head to System Settings ➔ Screen Saver, and turn off “Show on all Spaces” to the left of the preview thumbnail. Now you can use the drop-down below the thumbnail to choose which monitor you want to configure. I chose to set up the Macintosh screen saver on my secondary monitor, which is in portrait orientation. I set it to the “Spectrum” colour setting (same as in the example video linked above), and also enabled “Show as wallpaper”. This has the nice effect of having the screen saver ease out of its animation and into the desktop wallpaper for that monitor when you wake your machine. I switched to the Mac in 2002 with the release of Mac OS X Jaguar. Previously, I lived in the PC world and didn’t have much love for anything Apple-related. After I switched, I found myself curious about the earlier days of the Mac. This screen saver made me want to dig further into some of the details. A nice effect of the screen saver and its wallpaper mode is the subtle shadowing on the chunky pixels. I’m assuming this is a nod to the Macintosh Portable and its early active-matrix LCD. The screen on the Portable had a distinctive “floating pixel” look. I love how this looks, though I think it would have been a pain to use day-to-day. Colin Wirth produced an excellent video about the machine on his channel “This Does Not Compute”. You can see the some close-ups of the effect starting around the 2:30 mark. Watching the screen saver also had me curious about what version of system software was being shown off. Turns out it’s more than one. Two tools I used to start looking into this were GUIdebook’s screenshots section and Infinite Mac — a site that lets you run fully-loaded versions of classic Macs in your browser. I was most fascinated when the screen saver scrolled over versions of the Control Panel. Especially the version from System 1. You can see this starting at 0:12 in the example video. This thing is a marvel of user interface design. Pretty much everything that can be configured about the original Macintosh is shown, without words, in this gem of a screen. Low End Mac has a good overview of what’s going on here, but I feel like it’s the sort of thing you could intuit if you played with it for a minute or two. One thing I learned while writing this is that you can click the menu bar in the desktop background preview to cycle through some presets! My only nitpicks about this screen are that it uses a strange XOR’d cross instead of the default mouse pointer. I’m assuming this was to make it easier to edit the desktop background, but it still feels like an odd choice. Also, the box with controls how many time the menu blinks is one pixel narrower than the two boxes below it. This would have driven me insane, and I’m amazed it still looked this way System 2.1. The Macintosh screen saver shows its time based on your system clock. I use 24-hour time, and that’s respected in the screen saver even when it’s showing the original Control Panel. This, ironically, is an anachronism. 24-hour time wasn’t an option until System 4. The screen saver also includes a version of Control Panel from System 6. You can see this at around 9:08 in the example video. This Control Panel shows its version as 3.3.3 in the bottom left. I believe this makes it System 6.0.7 or 6.0.8. You can run System 6.0.8 using an emulator on Archive.org. While this version allows for many more options, it’s far less playful. This general style — with the scrollable list of setting sections on the left — started with System 4. System 3 had the last all-in-one Control Panel layout. System 7 migrated to the Control Panels folder, where each panel is its own file, and you could easily add third-party panels to the system. Anyway, this has been far too many words about a screen saver released eight months ago. If you find this interesting, I encourage you to give the Macintosh screen saver a go. I also recommend poking around at old versions of classic Mac OS. I had a lot of fun digging into this!
Today, Alec Watson posted a video titled “Algorithms are breaking how we think” on his YouTube channel, Technology Connections. The whole thing is excellent and very well argued. The main thrust is: people seem increasingly less mindful about the stuff they engage with. Watson argues that this is bad, and I agree. A little while ago I watched a video by Hank Green called “$4.5M to Spray Alcoholic Rats with Bobcat Urine”. Green has been banging this drum for a while. He hits some of the same notes as Watson, but from a different angle. This last month has been a lot, and I’ve withdrawn from news and social media quite a bit because of it. Part of this is because I’ve been very busy with work, but it’s also because I’ve felt overwhelmed. There are now a lot of bad-faith actors in positions of power. Part of their game plan is to spray a mass of obviously false, intellectually shallow, enraging nonsense into the world as quickly as possible. At a certain point the bullshit seeps in if you’re soaking in it. The ability to control over what you see next is powerful. I think it would be great if more people started being a bit more choosy about who they give that control to.
More in technology
Okay, I have to be doing something astronomically stupid, right? This should be working? I’m playing around with an App Clip and want to just run it on the device as a test, but no matter how I set things up nothing ever works. If you see what I’m doing wrong let me know and I’ll update this, and hopefully we can save someone else in the future a few hours of banging their head! Xcode App Clips require some setup in App Store Connect, so Apple provides a way when you’re just testing things to side step all that: App Clip Local Experiences I create a new sample project called IceCreamStore, which has the bundle ID com.christianselig.IceCreamStore. I then go to File > New > Target… > App Clip. I choose the Product Name “IceCreamClip”, and it automatically gets the bundle ID com.christianselig.IceCreamStore.Clip. I run both the main target and the app clip target on my iOS 18.6 phone and everything shows up perfectly, so let’s go onto actually configuring the Local Experience. Local Experience setup I go to Settings.app > Developer > App Clips Testing > Local Experiences > Register Local Experience, and then input the following details: URL Prefix: https://boop.com/beep/ Bundle ID: com.christianselig.IceCreamStore.Clip (note thne Apple guide above says to use the Clip’s bundle ID, but I have tried both) Title: Test1 Subtitle: Test2 Action: Open Upon saving, I then send myself a link to https://boop.com/beep/123 in iMessage, and upon tapping on it… nothing, it just tries to open that URL in Safari rather than in an App Clip (as it presumably should?). Same thing if I paste the URL into Safari’s address bar directly. Help What’s the deal here, what am I doing wrong? Is my App Store Connect account conspiring against me? I’ve tried on multiple iPhones on both iOS 18 and 26, and the incredible Matt Heaney (wrangler of App Clips) even kindly spent a bunch of time also pulling his hair out over this. We even tried to see if my devices were somehow banned from using App Clips, but nope, production apps using App Clips work fine! If you figure this out you would be my favorite person. 😛
Halloween is creeping up on us like some kind of impatient ghoul, which means that half the maker community is currently scrambling to throw together some spooky projects. Those projects become a lot more approachable when you start with something the already exists—anything, really. For example, Appalachian Forge Works began this Halloween vending machine project […] The post An old PC case becomes a Halloween vending machine appeared first on Arduino Blog.
Being chronically late to meetings sucks. Not only is it very rude, but you’re signalling that you don’t value your coworkers’ time. However, I’ve picked up a technique that works unreasonably well within a team.1 If you are late to the first meeting of the day three times within a quarter, then you will have to make pancakes for the whole team. Let’s say that you have a daily stand-up taking place at 10:00. Arriving at 10:00:59: completely OK. Arriving at 10:01:00: You’re one step closer to making pancakes! Keep in mind that you may hit some obstacles when implementing this rule, so feel free to adjust it. When proposing this idea in my current team, I learned that the office does not offer pancake-making facilities. The pancakes can be substituted for other types of cake or bringing in something else, as long as the team gives prior approval of that modification. The pancake strikes can also be pooled together and spent with your teammates if they wish to do so. If you’re struggling with your team being late to your daily meeting(s), then go ahead and add this rule to the working agreement. You do have a working agreement set up, right? Right? And a free security tech tip to close out: if you see an unlocked work laptop at the office, open your internal chat application of choice on it and try posting to a public channel that you’ll be bringing cake/beers/candy to the office. Works wonders for enforcing the habit of locking your laptop up when leaving the desk! to be fair, the sample size is two, but it has worked out really well in both! ↩︎
In the worlds of programming and robotics, turtles are entities — either virtual or physical robots— that follow commands to move around a 2D plane. Those are usually very simple commands, such as “move forward 10 units” or “rotate 90 degrees clockwise,” and they help people learn some programming fundamentals (like Logo in the ’80s!) […] The post Turtle bots, Gestalt principles, and emergent art appeared first on Arduino Blog.
It was probably going to happen sooner or later, but Microsoft has officially released the source code for 6502 BASIC. The specific revision is very Commodore-centric: it's the 1977 "8K" BASIC variant "1.1," which Commodore users know better as BASIC V2.0, the same BASIC used in the early PET and with later spot changes from Commodore (including removing Bill Gates' famous Easter egg) in the VIC-20 and Commodore 64. I put "8K" in quotes because the 40-bit Microsoft Binary Format version, which is most familiar as the native floating point format for most 8-bit BASICs derived from Microsoft's and all Commodore BASICs from the PET on up, actually starts at 9K in size. In the C64, because there is RAM and I/O between the BASIC ROM and the Kernal ROM, there is an extra JMP at the end of the BASIC ROM to continue to the routine in the lowest portions of the Kernal ROM. The jump doesn't exist in the VIC-20 where the ROM is contiguous and as a result everything past that point is shifted by three bytes on the C64, the length of the instruction. This is, of course, the same BASIC that Gates wanted a percentage of but Jack Tramiel famously refused to budge on the $25,000 one-time fee, claiming "I'm already married." Gates yielded to Tramiel, as most people did then, but I suspect the slight was never forgotten. Not until the 128 did Microsoft officially appear in the credits for Commodore BASIC, and then likely only as a way to push its bona fides as a low-end business computer. Microsoft's source release also includes changes from Commodore's own John Feagans, who rewrote the garbage collection routine, and was the original developer of the Commodore Kernal and later Magic Desk. The source code is all in one big file (typical for the time) and supports six machine models, the first most likely a vapourware 6502 system never finished by Canadian company Semi-Tech Microelectronics (STM) better known for the CP/M-based Pied Piper, then the Apple II, the Commodore (in this case PET 2001), the Ohio Scientific (OSI) Challenger, the Commodore/MOS KIM-1, and most intriguingly a PDP-10-based simulator written by Paul Allen. The source code, in fact, was cross-assembled on a PDP-10 using MACRO-10, and when assembled for the PDP-10 emulator it actually emits a PDP-10 executable that traps on every instruction into the simulator linked with it — an interesting way of effectively accomplishing threaded code. A similar setup was used for their 8080 emulator. Unfortunately, I don't believe Allen's code has been released anywhere, though I'd love to be proven wrong if people know otherwise. Note that they presently don't even mention the STM port in the Github README, possibly because no one was sure what it did. While MACRO-10 source for 6502 BASIC has circulated before and been analysed in detail, most notably by Michael Steil, this is nevertheless the first official release where it is truly open-source under the MIT license and Microsoft should be commended for doing so. This also makes it much easier to pull a BASIC up for your own 6502 homebrew system — there's nothing like the original.