• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Static analysis, dynamic analysis, and stochastic analysis

      For a long time programmers have had two types of program verification tools, static analysis (like a compiler's checks) and dynamic analysis (running a test suite). I find myself using LLMs to...

      For a long time programmers have had two types of program verification tools, static analysis (like a compiler's checks) and dynamic analysis (running a test suite). I find myself using LLMs to analyze newly written code more and more. Even when they spit out a lot of false positives, I still find them to be a massive help. My workflow is something like this:

      1. Commit my changes
      2. Ask Claude Opus "Find problems with my latest commit"
      3. Look though its list and skip over false positives.
      4. Fix the true positives.
      5. git add -A && git commit --amend --no-edit
      6. Clear Claude's context
      7. Back to step 2.

      I repeat this loop until all of the issues Claude raises are dismissable. I know there are a lot of startups building a SaaS for things like this (CodeRabbit is one I've seen before, I didn't like it too much) but I feel just doing the above procedure is plenty good enough and catches a lot of issues that could take more time to uncover if raised by manual testing.

      It's also been productive to ask for any problems in an entire repo. It will of course never be able to perform a completely thorough review of even a modestly sized application, but highlighting any problem at all is still useful.

      Someone recently mentioned to me that they use vision-capable LLMs to perform "aesthetic tests" in their CI. The model takes screenshots of each page before and after a code change and throws an error if it thinks something is wrong.

      10 votes
    2. Predicting the NBA MVP with Machine Learning

      Predicting the NBA MVP with Machine Learning Thesis Every season, basketball fans debate who deserves the MVP award. We built 3 machine learning models that attempt to answer that question using...

      Predicting the NBA MVP with Machine Learning

      Thesis

      Every season, basketball fans debate who deserves the MVP award. We built 3 machine learning models that attempt to answer that question using box score statistics. At the end of each season, this award is determined by a panel of voters.

      Methodology

      Each model is trained on every NBA season from 1974 to 2017. For each player season, it looks at nine statistics:

      • Points, assists, blocks, defensive rebounds, and field goals per game the core production numbers
      • Win Shares (WS): an estimate of how many wins a player contributed to their team
      • Value Over Replacement Player (VORP): how much better a player is than a league average replacement
      • Box Plus/Minus (BPM): a player's net impact per 100 possessions
      • Usage Rate (USG%): what share of team plays run through that player

      From those nine numbers, the model learns what a typical MVP season looks like versus a non MVP season, then applies that knowledge to current players. Each model outputs an independent probability that a given player wins MVP, not a share of a single pool, so the values do not sum to 1. Think of it as each player's individual odds.

      Three Models, One Question

      Rather than relying on a single approach, the system runs three different models and lets you compare:

      Logistic Regression

      The simplest of the three. It draws a straight line through the data, each statistic gets a weight, and a player's score is the weighted sum of their stats. It's easy to interpret (a higher coefficient means that stat matters more).

      Win Shares (WS) is by far the most influential feature, with an absolute coefficient of ~1.85, nearly double the next most important feature. Box Plus/Minus (BPM) ranks second at ~1.0, followed by Defensive Rebounds per Game (DRBPG, ~0.85) and Assists per Game (ASTPG, ~0.70). VORP and Field Goals per Game (FGPG) contribute moderately at ~0.50. Blocks per Game (BLKPG), Points per Game (PTSPG), and Usage Rate (USG%) have minimal weight, all under 0.15.

      Random Forest

      Builds hundreds of decision trees, each one asking a series of "is this stat above or below X?" questions and averages their answers. It handles complex relationships between stats well and is less sensitive to any one unusual data point. Think of it as a large committee of simple rules voting together.

      WS again dominates at ~0.31, accounting for roughly twice the importance of the next feature. VORP (~0.15) and BPM (~0.125) rank second and third. DRBPG (~0.10), PTSPG (~0.08), BLKPG (~0.07), FGPG (~0.065), and ASTPG (~0.06) contribute in a fairly tight mid-range band. USG% is the least important at ~0.05. Compared to logistic regression, the Random Forest spreads importance more evenly across features.

      Gradient Boosting

      Also uses decision trees, but builds them sequentially: each new tree focuses on correcting the mistakes the previous ones made.

      This model is heavily concentrated on just two features: BPM (~0.47) and WS (~0.41) together account for roughly 88% of total feature importance. All remaining features, PTSPG, VORP, ASTPG, DRBPG, contribute ~0.02–0.03 each, and BLKPG, USG%, and FGPG are effectively unused (near zero). This suggests the gradient boosting model learned that BPM and WS alone are nearly sufficient to separate MVP candidates.

      Historical Results

      The models were trained on data through 2017, so every season from 2018 onward is a genuine out of sample test, the models have never seen these players or seasons before.

      Season Actual MVP LR RF GB
      2018 James Harden #2 #2 #1 ✓
      2019 Giannis Antetokounmpo #1 ✓ #1 ✓ #1 ✓
      2020 Giannis Antetokounmpo #1 ✓ #1 ✓ #1 ✓
      2021 Nikola Jokić #1 ✓ #1 ✓ #1 ✓
      2022 Nikola Jokić #1 ✓ #1 ✓ #1 ✓
      2023 Joel Embiid #2 #4 #2
      2024 Nikola Jokić #1 ✓ #1 ✓ #1 ✓
      2025 Shai Gilgeous-Alexander #3 #2 #569

      Top-1 accuracy: LR 5/8 · RF 5/8 · GB 6/8

      Top-3 accuracy: LR 8/8 · RF 7/8 · GB 7/8

      Top-3 accuracy: LR 8/8 · RF 7/8 · GB 7/8

      For five straight seasons (2019–2022 + 2024), all three models agreed on the same #1 pick, and were right every time.

      In 2023, every model ranked Nikola Jokić #1, and by the numbers, he arguably had the better season. Joel Embiid won the award anyway, the kind of outcome that may reflect voter narrative/fatigue and team performance rather than pure statistics. In 2025, Gradient Boosting ranked Shai Gilgeous-Alexander outside the top 500, while Logistic Regression and Random Forest had him at #3 and #2 respectively. I have no idea why GB did this. Likely a bug.

      Future Direction

      No model is perfect, and these have known blind spots. Team record is not included, MVP voters have historically punished players on losing teams regardless of individual stats. Injuries and narrative don't appear in a box score. And the training data skews toward an older era; the three point revolution and the rise of players like SGA have introduced statistical profiles the 1970s–1990s data doesn't fully capture.

      Current Season Predictions (2025–26)

      LR RF GB
      #1 Nikola Jokić Shai Gilgeous-Alexander Nikola Jokić
      #2 Shai Gilgeous-Alexander Nikola Jokić Victor Wembanyama
      #3 Victor Wembanyama Victor Wembanyama Giannis Antetokounmpo
      #4 Luka Dončić Giannis Antetokounmpo Kawhi Leonard
      #5 Jalen Johnson Luka Dončić Luka Dončić

      Two of the three models have Nikola Jokić as the frontrunner. Random Forest is the dissenter, putting Shai Gilgeous-Alexander ahead. Victor Wembanyama appears in all three top 3s in just his second season, which is notable. Before running the models, I expected him to be #1 for all of them considering the way the models use advanced stats.

      Conclusion

      Thank you for reading. I hope you found this interesting. Basketball reference also has their own model if you would like to see a different result. Please do not gamble on my models!

      13 votes
    3. AI Coding agents are the opposite of what I want

      I've been thinking a lot about LLM assisted development, and in particular why I keep dropping the available tools after a few attempts at using them. I realized recently that it's taking away the...

      I've been thinking a lot about LLM assisted development, and in particular why I keep dropping the available tools after a few attempts at using them.

      I realized recently that it's taking away the part of software development I enjoy: the creative problem solving that comes with writing code. What's left is code review tasks, testing, security checks, etc. Important tasks, but they all primarily involve heavy concentration, and much less creativity.

      Why aren't agents focused on handling the mundane tasks instead? Tell me if I've just introduced a security vulnerability or a runtime bug. Generate realistic test data and give me info on what the likely output would be. Tell me that the algorithm I just wrote is O(n^2).

      Those tasks are so much more applicable to matching against existing data, something LLMs should be extremely good at, rather than trying to get them to write something novel, which so far they've been mostly bad at, at least in my experience.

      46 votes
    4. CGA-2026-04 🕹️🚀🧑‍🚀 INSERT CARTRIDGE 🟢 Space Rogue

      But First, These Brief Messages If you were a hip gamer back in 1989, your first point of contact with our game of the month, Space Rogue, might have been this video ad (timestamped) that explains...

      But First, These Brief Messages

      If you were a hip gamer back in 1989, your first point of contact with our game of the month, Space Rogue, might have been this video ad (timestamped) that explains exactly why Origin's new space adventure is the hottest thing in gaming right now. Or you might have marvelled at this magazine ad.

      I'm starting with these ads because the game is currently on sale on GOG! The sale ends in just two days, so get it while the getting is good! And while there, consider also grabbing Sid Meier's Pirates! Gold Plus (the 1993 remake) and/or Sid Meier's Pirates! (the 2004 remake) for our next month's gaming, as both are also heavily discounted. Thanks to /u/J-Chiptunator for the heads-up!

      All of these do exist on Steam as well, of course, and don't cost much even when not discounted. I will write more about platforms and general availability later. But now, back to our regular programming.


      Introduction

      So, this is what it's come to. You in the pilot's seat, surrounded by the vast emptiness of cold, dead space. A row of cryptic console buttons. A user interface that seems to come from an entirely different era, if not species. One wrong move, one mistaken button press, and you are probably dead. Great. Just great.

      It's not even your seat, or technically your spaceship, just something that you stumbled into when the aliens blew your crewmates into smithereens. You are the sole survivor, alone on board the Jolly Roger (who the hell named this ship?) and now seriously evaluating your life choices.

      Go to space, they had said. Space is exciting, it's fun, it's different, they had insinuated. You specifically remember the poster screaming that it had "everything for everyone".

      Bullshit.

      Instead, you find yourself hunched over the console with a thick manual in one hand and a glass of the galaxy's worst gin in another, trying to figure out how this piece of crap Jolly Roger functions. You don't feel jolly at all. Or roger.

      Just as you are about to give up and slip into cryogenic sleep for the next thirty days until that vacation in the Caribbean, you notice something buzzing on a side table. It's the quiet, gentle buzz of a smallish electronic device. Friendly, inviting. You pick it up and the screen lights up. It's a warm, welcoming glow of an e-reader. It is here to help. The page it opens simply reads:


      Welcome to Space Rogue

      In my CGA lobbying post, I wrote that although Space Rogue was a fairly major release at its time, for modern tastes, it can feel a little clunky, perhaps difficult to get into. It is not only the oldest game that we have played so far, but also the first one on our list that was designed with a personal computer and its keyboard in mind, rather than something that would be controlled purely with a controller, joystick or mouse. If you are not familiar with this era or style of gaming, it may take a bit of a mindset adjustment to get going.

      I will try my best to help you get started without too much headache. Just trust me that there really is a very good game in there, in fact one that has been voted as one of the best Commodore 64 games of all time. It is a galaxy spanning scifi RPG that mixes the space sim combat of Elite and Wing Commander with the adventuring of Ultima and Mass Effect. A game that combines some of the best of late 80s design while paving the way for what was to come.

      📚 Reading materials

      Although the game starts with a cutscene that sets up the story, it still very much expects you to take a look at the documents that originally came in the game box. As so often with games of this era, these are not "supplementary" materials but an actual part of the game. Both Steam and GOG releases should contain the following:

      • Quick Reference Card
      • Novella (Stars of Opportunity)
      • Manual
      • Map
      • Ship Models

      With GOG, you should be able to download the files directly from the website. With Steam, the Manual shows up in the "Additional Content" section of the game page, while the rest can be found in the game's installation directory under the directory "Bonus Content".

      The original game box also included an advertisement for the game-within-a-game arcade hit Hive!, but the GOG and Steam releases seem to not have it. You can find a copy here. And you can also find all of these documents in one package on scribd.com, although the manual there lacks colour and the reference card is for the Amiga version.

      That's a lot of materials, I know. But you don't need to study them all at once. Here's what I suggest you do:

      🕹️ Start by figuring out how to control the ship

      Once you are through the opening cinematic, begin with the Quick Reference Card and its section titled "Commands Used in Space Flight". This will teach you how to move your ship in the cockpit view. Don't worry about the dashboard information right now, just concentrate on controlling the Jolly Roger. You should be safe to experiment at this point as you are in empty space and no one is going to be bothering you. I personally use the WASDZXC keys, but I know some prefer mouse controls.

      When in the Cruise Flight mode (the default mode), the STOP key (S or 5) is very handy. It stops all of your turning and rotation immediately. Learn to use it.

      💾 Saving and loading the game

      Note also the Quick Reference Card's section titled "Saving the Game". In addition to remembering the keyboard command Ctrl+S, it is important to keep in mind that you can only save when you are in space. It's a good idea to save before docking at bases.

      You need to give your save game a name. Remember that name because you need to type it again when you want to load it. You can only load games when starting the game. Loading a game asks a copy protection question that requires the manual.

      If you forget your save file name, you can find it in the game's installation folder as a SAV file.

      🧑‍🚀 Suggested first actions

      Next, take a look at the section called "Quick-Start Instructions", still in the Quick Reference Card. It is like a tutorial, telling you what to do first so that you get used to the game's UI. For you convenience, below is what is says, together with my additional notes:

      What to do first

      You start the game deep in the Karonus star system, [which is the site of the magnificent Hiathra Starbase and the historic MiCon I mining station. Piracy has been virtually wiped out in this sector.] To get to the nearest starbase, follow these steps:

      1. Plot a course. Press N for navigation mode, then use the joystick, mouse or keyboard cluster [i.e. arrow keys] to select the CHART command. Press Return. Move the cursor across the map of the Karonus star system until you find Hiathra Starbase: the green square symbol at coordinates 13,19. Press the space bar.

      2. Select the HELM command. Autopilot will guide your ship to the new coordinates. [As you move, you may notice the interface telling you about messages or space ships. You should be able to ignore these and just let the autopilot move you to your destination without interruptions.]

      3. If a ship attacks you on the way, the journey stops. Select COCKPIT to fight the battle. Press T to target the enemy, and the space bar, joystick button or mouse buttons to fire a weapon. Consult the next section for other commands. [But I think the chance of being attacked here is very low.]

      4. After your ship arrives at its destination, select COCKPIT to return to the space view. Press T to activate your targeting computer. It tells how far you must travel to the starbase and in which direction. Move your ship so that the arrows on the edge of your viewscreen are centered and point inward. The starbase should appear onscreen as two pyramids connected by a light-colored axle. To dock at the base, manoeuvre your ship to touch the axle [which is the bright part inside of the station, or the top tips of the two pyramids. Don't fly too fast, as you need to be traveling at 20 m/s or less (the number next to the letters CF or NF in the bottom left of your dashboard) for docking to succeed. Also don't fire at stations as they will deny docking -- if you do it by mistake, pop out and return the next day.]

      5. At the base, walk around [using arrow keys or WASD or mouse], talk to everyone [pressing ENTER and selecting TALK when facing them] you meet, and buy some cargo [and inspect signs, items, closed doors and other things by pressing ENTER and selecting INSPECT while facing them]. You're on your way....

      🪐 Learn more about the game world

      After you have explored the Hiathra Starbase a little bit, it's a good time to learn more about the world in which the game takes place.

      The novella gives you background information about your character and the world. Unlike the intro cutscene, the novella also gives you a goal. It's worth reading not just for the flavour but also for the information and guidance that it provides.

      The manual also gives you background information about the universe. Take a look at these three sections to better understand the world that you inhabit:

      • Information about the setting (41-46)
      • Descriptions of location types available to you and hazards to avoid (36-38)
      • Information about game mechanics (47-48)

      Additionally, take a look at the map provided and figure out where you are.

      🚀 Master your ship

      After you have an idea of the world that you inhabit, start to learn everything you can about your spaceship. While this is an RPG, you will actually not be levelling your character; instead, you will be upgrading your ship. So, sooner or later you should know the Jolly Roger inside out. At the very beginning, avoid combat and hazards and instead get accustomed to:

      • Your cockpit view (pages 3-7)
      • The two flight models (page 8)
      • How to dock at bases (pages 10-11). Keep in mind that you cannot land on planets.
      • Navigating within a solar system (pages 21-23)
      • Wormhole travel between systems (pages 24-25)
      • Space hazards to avoid (38-39)

      It is also a good idea to leaf through the rest of the manual, and to check out the hand-written notes that the previous owner of Jolly Roger jotted down. Once you get the hang of flying and docking and encounter some enemies, pause and read the remaining sections about combat and ship types.

      👍 Early game tips

      In case you feel a little aimless and/or overwhelmed, here are some further tips for the early game:

      I can't buy weapons or shields for my ship!

      Before you can purchase those, you need a pilot's licence. You can get it from the Imperium Representative at Hiathra, the station you docked at first if you followed the quickstart instructions.

      Where do I find the answers to the pilot's test?

      The game just assumes that you know these things. It's not a copy protection measure or anything. The answers are:

      3.26, O, F=ma, Imperium

      How can I get more information from the people I meet?

      In addition to the dialogue options that are given, you can sometimes (if the option "Other" is given) ask people about topics using keywords that you type in. Try to ask about places and people you have heard of. Sometimes people can have interesting things to say.

      What to do after Hiathra Starbase?

      In addition to the Hiathra Starbase, the system you are in at the beginning also has the MiCon I mining station. It might be a good idea to visit it. Maybe you can even make some money ferrying cargo between the two?

      How can I afford anything?

      There are various ways to make credits:

      • Trading: identify places where certain goods are cheap, buy those goods and take them to other places where the same goods are more valuable. Ka-ching.
      • Piracy: You can raid merchants and other ships and steal their stuff (but see below).
      • Bounty hunting: Instead of or in addition to bothering merchants, you can hunt down pirates for bounties (but also see below).
      • Professional gaming: In theory, you can make quite a bit of money playing the game-within-game Hive. However, it takes a long time, so I wouldn't bother.
      My name's Guybrush Threepwood, and I want to be a pirate!

      Yikes! Don't sneak up on me like that!

      Now, Thriftweed, keep in mind that your actions have consequences. There are factions in the game (Imperium, Merchant Guild, Pirates) and those factions react to what you do their members. Attack a merchant ship, and merchants won't be happy about it. Same with the others. This affects how other ships interact with you and what NPCs are willing to say to you.

      At the same time, the more battles you win, the higher your reputation will be. People will know about you. Admire you. But also perhaps hunt you down to increase their own reputation.

      Where the hell is the main story?

      You won't really stumble into the main story until a little later in the game, so feel free to explore the world at first on your own. But if you want to get to the main plot quicker, the novella offers a hint.

      You might remember that your character is slightly fixated about Duchess Avenstar. You also happen to know what system she is in. Perhaps go and find her?

      However, you need to be "a seasoned warrior" before she takes you seriously. You need to have some reputation. So do also read those combat pages in your ship's manual and practice your space fighting skills.

      Nebulae and other space hazards keep destroying me!

      Well... Space Rogue sort of exists in a universe that conforms to Berkeley's ontological theory of subjective idealism. By which I mean, things only exist if you perceive them. And you only perceive them in front of you. Which means, hazards only get generated in front of your ship. Therefore, if you fly backwards, you can't really bump into hazards. Just keep in mind that this is clearly a philosophical statement and not a tech limitation or a bug.


      🎶 Music

      Space Rogue has little sound and no soundtrack, apart from the Japanese versions which are no longer available. In case you would like to listen to some music while adventuring, I have put together a Spotify playlist of tunes that might work. You can find it here. I hope you like it. You might be able to convert it to your preferred streaming service somehow.


      Historical Context

      Developed by Origin Systems towards end of the golden age of the Commodore 64 and Apple II, Space Rogue was something of a pioneering hybrid that bridged the gap between the space flight simulator genre, led by titles like Elite, and the deep narrative-driven RPG systems found in Origin's own Ultima series. The game was marketed as the first of Origin's "cinematic experiences" and while I don't think Origin ever used that marketing term again, their wildly successful and quite cinematic Wing Commander series launched a year later and in many ways stood on the shoulders of Space Rogue.

      Space Rogue was created by Paul Neurath, who later went on to found his own company that developed a number of influential titles such as Ultima Underworld I & II, Thief I & II and System Shock 1 & 2. Meanwhile, a young Origin Systems designer by the name of Chris Roberts was quite influenced by Neurath's work and took its combination of 3D space flight and cinematic storytelling to create the Wing Commander series. These days, Roberts is perhaps even better known from his crowdfunded in-progress magnum opus Star Citizen, which in many ways seems to continue the Space Rogue legacy.


      Game Information

      Platforms & Versions: The game was originally released for Commodore 64 and Apple II. It was later ported to Amiga, Atari ST, DOS, FM Towns, Macintosh, PC-9801 and X68000. The versions are largely the same, with minor graphical differences, apart from the Japanese releases, which feature some music and improved cutscene visuals.

      Genre(s): Space combat simulator, RPG

      Links: Mobygames, Wikipedia

      Stores: GOG and Steam. Note that the game is sold as "Space Rogue Classic". Don't confuse with the unrelated game from 2016 called "Space Rogue".


      Game Setup

      The main purpose of this topic is to get people up and running with the game.

      On Windows and Linux, the game should run directly from Steam and GOG without problems.

      On a modern Mac, you likely need to extract the DOS files and run them in a DOSBox emulator.

      For other versions and platforms, I'm afraid you are on your own. But do tell us if you decide to do something funky like run it on a C64 or hunt down and emulate an FM Towns or a PC-9801 version!

      It's recommended that you:

      • Share which version of the game you're playing
      • Share what hardware you're playing it on
      • Share if there are any tools/mods that you recommend
      • Share anything you think is important for people to know before they start the game
      • Ask questions if you need help

      Another purpose of this topic is to revisit the game and its time period:

      • Do you have any memories or associations with this game itself?
      • What about its system or era?
      • What aspects of retro gaming were common at the time?
      • What other games from the same time period are you familiar with?
      • What are you expecting from this game in particular?

      Finally, this topic is the beginning discussion for people starting to play it:

      • Post updates sharing your thoughts as you play.
      • Ask for help if you get stuck.
      • Offer help to others.

      It is recommended that you reply to your own posts if you are making consecutive updates so that they are in the same thread.


      Important

      • Any links to the game should be legal distributions of the game only. Please do NOT link to any unauthorized copies.

      • Put any spoilers in a dropdown block. Copy/paste the block below if needed.

      
      <details>
      
      <summary>Spoilers</summary>
      
      Spoiler text goes here.
      
      </details>
      
      

      FAQ

      What is CGA?

      Colossal Game Adventure (CGA) is Tildes' retro video game club.

      Each month we will play a different retro game/games, discuss our thoughts, and bask in the glorious digital experiences of yesteryear!

      Colossal Game Adventure is a reference to Colossal Cave Adventure. It's one of the most influential games of all time, one of the first text-based interactive games, and one of the first games to be shared online.

      What do we want to do with this group? Play influential games; interact with each other through text; and share the love for retro games online!

      It also abbreviates to CGA (because we love chunky pixel art), and its name communicates the Colossal amount of fun and excitement that we have with retro video Games in our shared Adventure of playing them together.

      Do I have to sign up?

      No. Participation is open to all.

      There is a Notification List that will get pinged each time a new topic goes up. If you would like to join that list, please PM u/kfwyre.

      Are there restrictions on what/how to play?

      Each month will have a focus game or games that will guide our discussions. Beyond that, there are no restrictions. The philosophy of CGA is to play in a way that works for you!

      This means:

      • Choose whichever version of the game you want.

      • You can use cheats, save states, mods, etc.

      • You can watch a streamer or longplay instead of playing it.

      If you have already played a game and want a different experience:

      • Try a randomizer or challenge run.

      • Play a different version of it.

      • Play a related game (sequel, spiritual successor, something inspired by it, etc.)

      There is no wrong way to participate in CGA, and every different way someone participates will make for more interesting discussions.

      What is the schedule?

      Each month the Insert Cartidge topic will be posted on the 1st, while the Remove Cartridge topic will be posted on the 28th.

      Nomination and voting topics will happen in March and September (every 6 months).

      Schedules are also posted then.

      All CGA topics are available using the colossal game adventure tag.

      What do Insert and Remove Cartridge mean?

      Inserting and removing cartridges are our retro metaphor for starting and stopping a given game or games.

      The Insert Cartridge topic happens at the beginning of the month and is primarily about getting the game up and running.

      The Remove Cartridge topic happens toward the end of the month and is primarily about people reflecting on the game now that they've played it.

      There are no hard restrictions on what has to go in either topic, and each can be used to discuss the game, post updates, ask questions, etc.

      12 votes
    5. Three Cheers for Tildes: App updates and feedback (March 2026) — Version 1.5 can search for posts

      This topic is for the Three Cheers for Tildes mobile app. I'll summarize the major updates at the start of each similar topic, so people can read the updates and then hit Ignore if they don't care...

      This topic is for the Three Cheers for Tildes mobile app.

      I'll summarize the major updates at the start of each similar topic, so people can read the updates and then hit Ignore if they don't care about more frequent updates and user feedback.


      Recently:

      [Android] Version 1.5.2 (Apr 8, 2026): Fixed username display bugs in inbox, fixed "Tildes" user display bug in topic OP such as in the April Fools megathread

      [iOS] Version 1.5.1 (Apr 8, 2026): Fixed pagination in main feed, fixed "Tildes" user display bug in topic OP

      Version 1.5.0 (Mar 21, 2026):

      • Search for posts
      • [Android] Fixed touch ripple on inbox conversation rows
      • [Android] Fixed support for high-RAM devices
      • [Android] (1.5.1) Fixed comment reply sheet on Android 11-14
      • [iOS] Fixed blur on Sort button on iOS 26
      • [iOS] Fixed ugly shadow between panes on iPadOS 26
      • [iOS] Fixed overly large vote label on own comments

      Edit: Currently on TestFlight only on iOS for the next week or so.

       

      [iOS] Version 1.4.5 (Jan 2026): Fixed UI bugs on iOS 26

      [Android] Version 1.4.5 (Apr 2025): Fixed YouTube bugs, voting bugs on Android 11 and earlier

       

      Search has been near the top of my to-do list for a long time, so it feels good to finally release this feature.

      I did some custom UI this time and I'm pretty happy with how it came out. Despite its basic appearance, it required a decent amount of detailed UI programming on both Android and iOS, to avoid breaking the adjacent Sort feature. I also had to redo the search results screen a few times, due to navigation quirks on each platform.

      There are a couple related features that didn't make it this time: Searching for posts and comments within your own profile is not possible yet. Also "find in page" for comment text is not here yet either. These are both pretty high priority to me, and as usual it's a matter of making time and finding motivation to work on it.

      Also on Android, expect a hotfix v1.5.1 coming out soon, to fix the comment reply sheet on Android 11-14. Big thanks to the user who reported this bug! The hotfix is already available to sideload, and under review on Google Play, as of this writing.

       

      Previous topic: April 2025

       


      Where to get it

      Android version on Google Play Store: https://play.google.com/store/apps/details?id=com.talklittle.android.tildes

      Or sideloadable APK at https://www.talklittle.com/three-cheers/

      iOS version on the App Store: https://apps.apple.com/app/three-cheers-for-tildes/id6470950557

      Join TestFlight for iOS beta testing: https://testflight.apple.com/join/mpVk1qIy

      85 votes
    6. Game testers wanted for science fiction game

      I have a bare bones prototype of a game made in twine and I will be honest it needs a lot of work. The story and main architecture of the game is already planned and I am happy with it. It is the...

      I have a bare bones prototype of a game made in twine and I will be honest it needs a lot of work.

      The story and main architecture of the game is already planned and I am happy with it. It is the story hooks and pathing that I am looking to improve and for that I would like to give out a early Alpha build for volunteers to critique and provide any dead ends, errors and story beats they find engaging.

      Please feel free to send a message if you would like to participate. Thank you for your time.

      Edit: Thank you for your interest in the game the final build should be ready for volunteers in one week. I will send links to you directly at that time. Thank you again for your interest this is much better than I hoped for.

      42 votes
    7. CGA-2026-03 🕹️🐸🕌🔔 INSERT CARTRIDGE 🟢 Kaeru no Tame ni Kane wa Naru (The Frog for Whom the Bell Tolls)

      Introduction switches to a dramatic music Once upon a time, aboard a humble and perpetually cursed train, you unraveled its hidden mysteries and stumbled upon a battered yet magnificent vessel,...

      Introduction

      switches to a dramatic music

      Once upon a time, aboard a humble and perpetually cursed train, you unraveled its hidden mysteries and stumbled upon a battered yet magnificent vessel, the fabled Epoch, known to drift through the rivers of time.

      With courage and a bit of chaos, you wrestled with its failing gears, tumbling through one strange era after another, from glittering ages of kings and heroes to worlds of shaky shapes and flickering lights. When at last the poor machine gave out, it left you stranded upon a world that shimmered with hope, one where humans could live once more.

      But strength alone could not carry you through. Words held the power to wound anyone, and with a talking boat as your guide, you braved vast and endless seas. Along your travels, you witnessed wonders beyond counting: dazzling sunsets, curious creatures, and riddles that twisted like waves upon the ocean breeze.

      One day, your voyage brought you to an island grander than imagination, crowned with towers of steel and roads that roared with life. Here, you discovered a new kind of magic: a gleaming machine called a car, and a city that pulsed with speed, shining light and the ability to snatch vehicle parts. Against all odds, you mastered the art of racing, earning cheers from strangers and respect from rivals.

      And how did such triumph end? With celebration, of course! A raucous party full of laughter, music, and friends who toasted your name. Yet among the clinking cups and glowing lamps, one curious drink caught your eye; warm, green, and gleaming like liquid emerald. "Nothing to worry about!" you said with a grin, before the world began to swirl and fade...

      When next you opened your eyes, you awoke in a quiet hospital filled with echoes of distant wars. Your reflection showed smooth, unblemished hands, your face untouched by time. Days passed before truth finally dawned, the doctor's wild tale was no fantasy.

      "WHAAT?!"

      You had been reborn as the Prince of Sablé, bound for the Millefeuille Kingdom in search of the boastful Prince Richard and the princess who vanished by his side. Ahead lay a land of talking frogs, slithering foes, glittering treasures, and tests of both heart and wit. So begins your tale, of friendship, rivalry, and a destiny spun from courage and wealth.

      Welcome, noble traveler, to the world of wonder and whimsy of...


      Kaeru no Tame ni Kane wa Naru (The Frog for Whom the Bell Tolls)

      IN GAME BOYS 2026.03.01


      switches to a much, much less dramatic music

      Aaaaaand that's enough wacky storytelling for now. Time to jump into my personal experiences!

      My first brush with Kaeru no Tame ni Kane wa Naru came back in 2008, when I randomly pulled a Sabure Prince sticker in Super Smash Bros. Brawl. As years went by (and thanks to our good old broadband Internet), I started connecting the dots, especially after noticing all the interesting nods to this mysterious game hidden in Link's Awakening.

      Remember that suave guy surrounded by frogs in a villa in the middle of nowhere? Yep, that's Prince Richard, and his appearance in Link's Awakening isn't just some random cameo.

      In fact, Link's Awakening actually runs on a modified version of Kaeru no Tame ni Kane wa Naru's game engine. You can even see the connection in the way both games handle screen transitions between areas.

      Fast-forward to October 2012: I imported a Japanese 3DS to get around the region lock and play Japan-only titles. The first thing I did? Jump onto the eShop and grab the original Kaeru no Tame ni Kane wa Naru.

      I fumbled my way through the story with almost zero Japanese knowledge, relying on a GameFAQs guide to make sense of what was happening. It was charming and funny even then, though the language barrier definitely made me appreciate the idea of a second playthrough with a fan translation someday.

      Around that time, I was also forcing myself to learn hiragana and katakana, mainly to understand what Gulliver (aka Johnny) was rambling about in the Japanese version of Animal Crossing: New Leaf. Reading the low-res Japanese text on a tiny screen was another story, though, it made telling certain characters apart a real challenge.

      Jumping ahead to 2025, one of my two CGA suggestions for the voting thread surprisingly made it through in a three-way tie! Naturally, I fired up the English patch using the bgb emulator and revisited the game, doing some extra reading online along the way.

      I even gave Hemingway's For Whom the Bell Tolls a try to see what inspired the title. Honestly, though, I couldn't stick with it; the dense descriptions and grim themes of war stories just drained me. Two hours of reading for ten pages and remembering nothing? Not the best time. Still, it helped me appreciate how The Frog for Whom the Bell Tolls borrows the title, then hops off in a totally different, more lighthearted direction.

      This month, I'm planning another playthrough, this time the old-school way. A genuine DMG-CPU-07 Game Boy, pea-green screen, four fresh AA batteries, and a good light source. A full run only takes about six hours, so battery life won't be an issue.

      With that, it's time to ribbit our way into Millefeuille Kingdom!


      Game Information

      Year of the release: 1992

      Platforms: Game Boy

      Genre(s): Action role-playing

      Links: Mobygames, Wikipedia

      Where to find the game:

      • eBay (Original Release): Prices fluctuate due to the game's uncommon status. A loose cartridge is usually much cheaper than a Complete-in-Box copy (which includes the game, manual, and box).
      • Nintendo Switch - Nintendo Classics: Game Boy App: The Japanese version of the app currently includes this title. You can access it by setting your Nintendo account region to Japan and having an active Nintendo Switch Online membership.
      • Nintendo 3DS - Virtual Console: The game used to be available here, but since the 3DS eShop shut down in March 2023, it’s no longer accessible. Still worth mentioning for the sake of completeness.
      • Sailing the Seven Seas: If you're comfortable navigating the more questionable parts of the internet (and the legal risks that come with it), this is another way people have found the game, though obviously not the recommended route.

      Patching the Game in English

      If you manage to acquire the game's ROM file, make sure its CRC32 checksum matches with C18CD57A before applying any translation patch. Then, apply them in that order:

      1. ryanbgstl's English translation patch for the ROM
      2. Hamikon's Addendum if you want a more faithful title logo

      Can't get any ROM-patching program running? Feel free to use Marc Robledo's Rom Patcher JS website!


      Game Setup

      The main purpose of this topic is to get people up and running with the game. As such, it's recommended that you:

      • Share what hardware you're playing it on
      • Share if there are any tools/mods that you recommend
      • Share anything you think is important for people to know before they start the game
      • Ask questions if you need help

      Another purpose of this topic is to revisit the game and its time period:

      • Do you have any memories or associations with this game itself?
      • What about its system or era?
      • What aspects of retro gaming were common at the time?
      • What other games from the same time period are you familiar with?
      • What are you expecting from this game in particular?

      Finally, this topic is the beginning discussion for people starting to play it:

      • Post updates sharing your thoughts as you play.
      • Ask for help if you get stuck.
      • Offer help to others.

      It is recommended that you reply to your own posts if you are making consecutive updates so that they are in the same thread.

      IMPORTANT: Any links to the game should be legal distributions of the game only. Please do NOT link to any unauthorized copies.

      IMPORTANT: Put any spoilers in a dropdown block. Copy/paste the block below if needed.

      <details>
      <summary>Spoilers</summary>
      
      Spoiler text goes here.
      </details>
      

      FAQ

      What is CGA?

      Colossal Game Adventure (CGA) is Tildes' retro video game club.

      Each month we will play a different retro game/games, discuss our thoughts, and bask in the glorious digital experiences of yesteryear!

      Colossal Game Adventure is a reference to Colossal Cave Adventure. It's one of the most influential games of all time, one of the first text-based interactive games, and one of the first games to be shared online.

      What do we want to do with this group? Play influential games; interact with each other through text; and share the love for retro games online!

      It also abbreviates to CGA (because we love chunky pixel art), and its name communicates the Colossal amount of fun and excitement that we have with retro video Games in our shared Adventure of playing them together.

      Do I have to sign up?

      No. Participation is open to all.

      There is a Notification List that will get pinged each time a new topic goes up. If you would like to join that list, please PM u/kfwyre.

      Are there restrictions on what/how to play?

      Each month will have a focus game or games that will guide our discussions. Beyond that, there are no restrictions. The philosophy of CGA is to play in a way that works for you!

      This means:

      • Choose whichever version of the game you want.
      • You can use cheats, save states, mods, etc.
      • You can watch a streamer or longplay instead of playing it.

      If you have already played a game and want a different experience:

      • Play a different version of it.
      • Play a related game (sequel, spiritual successor, something inspired by it, etc.)

      There is no wrong way to participate in CGA, and every different way someone participates will make for more interesting discussions.

      What is the schedule?

      Each month the Insert Cartidge topic will be posted on the 1st, while the Remove Cartridge topic will be posted on the 20th.

      Nomination and voting topics will happen in March and September (every 6 months).

      Schedules are also posted then.

      All CGA topics are available using the colossal game adventure tag.

      What do Insert and Remove Cartridge mean?

      Inserting and removing cartridges are our retro metaphor for starting and stopping a given game or games.

      The Insert Cartridge topic happens at the beginning of the month and is primarily about getting the game up and running.

      The Remove Cartridge topic happens toward the end of the month and is primarily about people reflecting on the game now that they've played it.

      There are no hard restrictions on what has to go in either topic, and each can be used to discuss the game, post updates, ask questions, etc.


      Without further ado, let's all pop the cartridge in, and power that chunky brick on!

      > CONTINUE

      (Credit to @Boojum for the splash screen. Can't dive deep into pixelated adventures without this masterpiece!)

      18 votes
    8. IT helpdesk request?

      I'm frankly all out of ideas on how to solve an issue, so I'm hoping that the Tildes community might have a suggestion for solving this issue. I have an 8tb HDD that spins up and is recognized by...

      I'm frankly all out of ideas on how to solve an issue, so I'm hoping that the Tildes community might have a suggestion for solving this issue.

      I have an 8tb HDD that spins up and is recognized by windows when plugged into a USB HDD dock, but in another machine (also running windows 10) the drive can't be seen (**this is using data connections directly to the motherboard).

      There is:

      • Nothing mechanically wrong with the drive as it reads/writes on the HDD dock.
      • I've tested the drive as an NTFS formatted drive and as unallocated.
      • Neither Disk Manager nor the bios sees the drive.
      • Multiple SATA cables and Power jacks tested on working drives and the non working drive.

      Open to thoughts, prayers or possible solutions.

      Thank you!

      21 votes
    9. Joy of sharing a creation replaced by a longing sadness

      So I recently put out a custom map for Beat Saber that I had started work on when the internet was cut for 14 days 20 days in Iran to pass the time. Gameplay video of the map, Odysseus from Epic...

      So I recently put out a custom map for Beat Saber that I had started work on when the internet was cut for 14 days 20 days in Iran to pass the time.

      Gameplay video of the map, Odysseus from Epic The Musical

      Everyone I sent it to enjoyed it a lot and I got the happiness that I needed.
      One of them recommended to send it over to some twitch streamers as well because some of them have a bot that lets you recommend maps.

      I've never used twitch, I found a steamer, made an account, sent it in the chat and had my chat at messages tts'd in the stream. It was absolutely lovely seeing their reaction and it had made my night.

      Then I noticed that my 'thank you!' messages didn't tts, huh weird. After watching them for a bit longer I thought maybe I'll send some other stuff I've made their way too. Aaand it didn't send, the chat message sent but the bot response didn't come, a bunch of testing later I found i was shadow banned.

      A bit more searching and I found that VPNs are the cause. So changed from TOR to Express and tried again, no dice.
      Made a new account with Express and tried and success! But only for 4 messages total, then shadow banned again.

      I got a friend's dedicated v2ray server and tried with a new account and my messages were sent again. So I went to a bigger streamer who was also doing the map requests and sent my map... Only to see I'm shadow banned again.

      At this point the joy I had felt from seeing others enjoy what I made was gone, replaced by a familiar sadness, the same type of sadness I had gotten when the internet was cut and essentially a one way communication not too long ago.

      It's a pain. these sites don't load without VPNs, I had already spent a whole hour trying different VPNs to get the 7mb map to upload to the site (and experienced like 30 errors in the process), then had to try out a bunch more to get the file to upload in Discord (with a bunch of VPNs I can only send messages, files don't upload), and then I experienced the happiness that came from seeing a live reaction and wanting to experience it more, only to have it wiped away.

      I want to start work on the next project, i have so much in my mind that i want to put out into the world, but it takes time to switch back to the mentality of "I'm making this for myself and others may never see it" that I had to adopt to get back to creating.

      Edit: seems a whole week has been removed from my memory, the outage wasn't two weeks

      49 votes
    10. 50mm bike tire recommendations

      Hey everyone, I’m currently running Schwalbe G-One Bite 40mm and I’m thinking about moving up to 50mm for a bit more confidence off-road. Where I ride it’s not groomed gravel or proper official...

      Hey everyone,

      I’m currently running Schwalbe G-One Bite 40mm and I’m thinking about moving up to 50mm for a bit more confidence off-road. Where I ride it’s not groomed gravel or proper official well-kept MTB trails, just typical unmaintained forest trails: holes, roots, loose rocks everywhere, some of them golf-ball sized. On descents, it feels pretty sketchy with the 40s.

      The problem is, I don’t have long stretches of continuous/unbroken nature. It’s more like short nature pockets in between civilization so, I still need to transverse a few roads (tarmac and cobbles). So I’m trying to find something that’s still reasonably fast rolling on road. I was hoping to find something up to 20 watts of rolling resistance. I think I saw somewhere that my tires are around 25 watts, so some improvement in this area would also be nice.

      I started investigating tires on bicyclerollingresistance.com website and started looking at measured knob height (center and edge), trying to pick something with more bite than what I have now. But the more I read, the more I see people saying knob height alone doesn’t mean much and tread pattern matters more. At this point I’m not even sure what I should be looking for.

      These are the ones I’ve selected for the moment:

      Alternatives slightly above 20 watts:

      Maybe other brands or models I should be considering that aren’t on BRR?

      But honestly… I don’t really know what I’m doing. I started by filtering by wattage and knob height, but it seems the tread design or compounds are even more important.

      So, in conclusion, what I’m after is:

      • More confidence on rough, loose forest descents (I'm not doing jumps. Let's say, more like XC)
      • 50mm volume
      • Still decent on road sections
      • Not feeling like I’m dragging an anchor on pavement

      If anyone has experience with these in real, messy forest conditions (not nice smooth gravel), I’d appreciate some advice and recommendations. What should I actually be looking at when choosing?

      Thanks in advance!

      13 votes
    11. We are witnessing the self-immolation of a superpower

      This interesting article provoked a lot of thought... We Are Witnessing the Self-Immolation of a Superpower .... archive.is link You want to destroy the Western rules-based order that has...

      This interesting article provoked a lot of thought...

      We Are Witnessing the Self-Immolation of a Superpower .... archive.is link

      You want to destroy the Western rules-based order that has preserved peace and security for 80 years, which allowed the US to triumph as an economic superpower and beacon of hope and innovation for the world. What exactly would you do differently with your marionette other than enact the ever more reckless agenda that Donald Trump has pursued since he became president last year?

      Nothing.

      For the 80 years since the end of World War II, the US model of innovation, trade, and economic hegemony has been built on a foundation of six seemingly inviolable traditions and policies held steady across both Republican and Democratic administrations:

      (1) easy access of immigrants to the US, particularly its unparalleled world-class schools and universities;

      (2) rich and steady government support of higher education, medical research, and laboratories;

      (3) broad and ever-more-frictionless trade access to US markets and, reciprocally, a flow of US products to the rest of the world;

      (4) a firm, unyielding, and unquestionable adherence to the rule of law at home that made the US a predictable and safe place to create, build, and do business at home; and

      (5) a similarly firm, unyielding, and unquestionable network of geopolitical alliances abroad that knitted together a security blanket that stretched around the entire globe, backed up by the most powerful and widest-ranging military ever seen in human history.

      All five of those pillars helped firm up and underpin another equally critical pillar:

      (6) a politically independent and fiscally prudent monetary policy that established the US dollar as the world’s safest reserve currency.

      This made US Treasury bonds the savings bank for the entire world—for democracies and authoritarian regimes alike!—and made US banking networks and capital markets the place to be for any company looking for access to investors.

      This last point is particularly interesting. Janet Yellen warns the $38 trillion national debt is testing a red line economists have feared for decades

      I can't imagine a better way to create a sovereign debt crisis than Trumps policy of politicizing the Fed Reserve, sudden tariff flip flops, coercing partners, making then breaking agreements, pushing deficits to new highs, committing to unfunded tax cuts, weakening anti-inflation institutions, reducing transparency by pushing crypto, weaponizing sanctions and creating policy chaos.

      Sovereign debt crises aren't a problem until they suddenly are, then all of a sudden you are in a world of hurt.

      Yet most of Donald Trump supporters don't seem to care about any of this, the tea party protestors now only seem to care about hating anyone who doesn't look, act or think like them.

      Once trust in institutions, alliances, and monetary independence is lost, rebuilding them takes decades and often requires crisis to force alignment. If history is any guide, that crisis wont be pretty, and might cause America to dive deeper into Authoritarianism.

      63 votes
    12. I no longer trust the stats that companies publish on the gender equality in their tech roles

      I am really not sure if this topic belongs in ~tech or ~society or ~talk but I trust the moderators to re-assign accordingly. So, this is the layout of the "development" team of my companies....

      I am really not sure if this topic belongs in ~tech or ~society or ~talk but I trust the moderators to re-assign accordingly.

      So, this is the layout of the "development" team of my companies.

      there are 4 "development" teams which reports to the development manager who also occasionally codes.
      There is one team, that's the one I am on. 7 people, 6 males.
      there is another team, 4 people, 3 males.
      there is another team, 5 people, 4 males.
      The last team, I don't really consider "development" team. its a team of 4 females. What they are best suited for is QA in the sense of manually testing the product to ensure the experience is sufficient for push to PROD, But because of budget restrictions, they are being forced to learn code and testing suites so they can be the people to develop our testing structure. They are great people and excellent Manual QAers but they really are not developers.

      All our tech managers and team leads are men with the exception of the team lead for QA (obviously).

      And just to be clear, the culture is friendly and respectful and no complaints. It's just the gender ratio is pathetic.

      So our tech gender ratio is really 17 people and 3 women which is 17%.
      If you want to consider the QA team a dev team to bump up the numbers, you get 21 with 7, that's still only 33%.

      At a recent company meeting, they were talking about how diverse our workforce is and blah blah blah (I tune out most of that stuff as we are fully remote and I spend most of my time coding), but then they showed a slide that claimed our gender ratio for tech roles was like 50% or something.....

      I message a colleague at work, being like "where on earth did they get that number??", he was like ":shrug: maybe they are counting the people who use the product we are making?"

      To clarify that, the product we work on is rarely used by external customers. Instead we have employees who know how to use our product and correspond on our behalf with external customers. So all these employees are doing is using a webapp the real tech employees develop.

      So long story short, my company pulled a number out of nowhere to claim we have gender equity in the tech roles and now I dont know how to trust any stats a company puts out about how equal the gender roles are in their "tech" departments.

      31 votes
    13. Histories of the Nintendo Entertainment System and a lost communist game console

      Here's a a double feature about game console history: two YouTube videos that were released in the past few days. While the videos are unconnected, both are great quality little documentaries and...

      Here's a a double feature about game console history: two YouTube videos that were released in the past few days. While the videos are unconnected, both are great quality little documentaries and I think when watched together offer an interesting contrast between the two worlds that existed at the time.

      The Untold History of the Nintendo Entertainment System (45 min) by The Video Game History Foundation documents how the NES was launched in the US 40 years ago. While I was familiar with the main story, many of the details were totally new to me, including the prototypes and the initial ideas of what the NES might have been, and could well have been had the market and initial test audiences reacted differently.

      The Hunt for the Lost Communist Console (18 min) by fern looks at the BSS-01, a video game console manufactured in East Germany in 1979. It was the only game console released in the country and I think somewhat similar to the Soviet console Turnir, as both used the same AY-3-8500 chipset imported from the West and offered a collection of Pong clones.

      11 votes
    14. What are your Windows 10 post-install and crap removal procedures and recommendations?

      I have an AMD processor that is not supported by Windows 11. I don't wanna deal with the consequences of workarounds. I have an old NVIDIA graphics card that was never even close to being a...
      • I have an AMD processor that is not supported by Windows 11.
        • I don't wanna deal with the consequences of workarounds.
      • I have an old NVIDIA graphics card that was never even close to being a flagship. It is essentially unsupported on Linux (I’ve tested it).
      • I intend to keep running Windows 10 for as long as possible, using either official or unofficial means.
      • My current Windows installation is becoming unmanageable, as Windows often does.
      • I am a competent Linux user, and I run Linux on my laptop.
        • I have WSL2 on Windows 10 and it is great. Especially because I am a heavy Emacs user. I cannot live in an OS that does not allow me the full power of Emacs over a Linux base. This greatly reduces the need for bare-metal Linux.
        • One reason to keep running Windows (at least in a dual-boot setup) is that WoW runs at around 30 FPS on Linux for me. Other games have different issues.
          • I often run games from shady origins that are not obtained from Steam and tools such as Lutris and Bottles are just not there yet in terms of ease of use. I don't enjoy doing a lot of work just to play a game.
        • I understand that there are ways around almost any issue on Linux; I just don’t have the energy right now.

      Any suggestions for post-installation cleanup and removing crap from Windows 10?

      Thanks!

      34 votes
    15. Fitness tracker smart watches that work well without a smartphone app?

      A family member of mine recently got a cheap smart watch online. They weren't planning to use it with a phone app for privacy/security reasons. They thought using it without a phone would be fine,...

      A family member of mine recently got a cheap smart watch online. They weren't planning to use it with a phone app for privacy/security reasons. They thought using it without a phone would be fine, since they just wanted it for the time and for the health features like steps, blood pressure, blood oxygen, sleep tracking, etc. and didn't need to see their texts or other notifications on the watch.

      Unfortunately, when we tested the watch, we found that basically all of the features required connecting to a shady no-name company's app. You couldn't even set the time! You can't set the time on a watch without an app!

      Also, the watch was a bit bulky for their wrist, and they would prefer a slimmer one.

      People of Tildes, do you know of any smart watches that allow you to use the health tracking features without ever connecting to a smartphone? If so, are there any that are slimmer instead of being bulky?

      14 votes
    16. Todays cricket scores

      Australia vs England, 4th Test at Melbourne Cricket Ground: Day 1: Stumps - Australia lead by 46 runs Innings - Runs/Wickets Overs --------------------------------------------------------------...

      Australia vs England, 4th Test at Melbourne Cricket Ground: Day 1: Stumps - Australia lead by 46 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Australia Inning 1                    - 152/10           45.2
      Australia Inning 2                    - 4/0           0.6
      England Inning 1                      - 110/10           29.5
      

      50 Over Matches

      Bengal vs Baroda, Group B at Niranjan Shah Stadium C: Baroda won by 4 wkts

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Bengal Inning 1                       - 205/10           38.3
      Baroda Inning 1                       - 209/6           38.5
      

      Mumbai vs Uttarakhand, Group C at Sawai Mansingh Stadium: Mumbai won by 51 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Mumbai Inning 1                       - 331/7           49.6
      Uttarakhand Inning 1                  - 280/9           49.6
      

      Saurashtra vs Haryana, Group D at KSCA Cricket (2) Ground: Haryana won by 6 wkts

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Saurashtra Inning 1                   - 253/10           48.1
      Haryana Inning 1                      - 256/4           38.6
      

      Delhi vs Gujarat, Group D at BCCI Centre of Excellence Ground 1: Delhi won by 7 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Delhi Inning 1                        - 254/9           49.6
      Gujarat Inning 1                      - 247/10           47.4
      

      Uttar Pradesh vs Chandigarh, Group B at Sanosara Cricket Ground A: Uttar Pradesh won by 227 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Uttar Pradesh Inning 1                - 367/4           49.6
      Chandigarh Inning 1                   - 140/10           29.3
      

      Bihar vs Manipur, Plate at JSCA International Stadium Complex: Bihar won by 15 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Bihar Inning 1                        - 284/10           49.6
      Manipur Inning 1                      - 269/9           49.6
      

      Arunachal Pradesh vs Mizoram, Plate at JSCA Oval Ground: Arunachal Pradesh won by 35 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Arunachal Pradesh Inning 1            - 254/10           49.4
      Mizoram Inning 1                      - 219/10           44.4
      

      T20 Matches

      Durban Super Giants vs MI Cape Town, 1st Match at Newlands: Durban Super Giants won by 15 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Durban Super Giants Inning 1          - 232/5           19.6
      MI Cape Town Inning 1                 - 217/7           19.6
      

      Sharjah Warriorz vs Desert Vipers, 28th Match at Sharjah Cricket Stadium: Desert Vipers won by 5 wkts

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Sharjah Warriorz Inning 1             - 140/7           19.6
      Desert Vipers Inning 1                - 144/5           19.3
      

      Sri Lanka Women vs India Women, 3rd T20I at Greenfield International Stadium: India Women won by 8 wkts

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Sri Lanka Women Inning 1              - 112/7           19.6
      India Women Inning 1                  - 115/2           13.2
      

      Bhutan vs Myanmar, 3rd T20I at Gelephu International Cricket Ground: Bhutan won by 82 runs

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Bhutan Inning 1                       - 127/9           19.6
      Myanmar Inning 1                      - 45/10           9.2
      

      Cambodia vs Indonesia, 5th T20I at Udayana Cricket Ground: No result due to rain

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Cambodia Inning 1                     - 157/5           19.6
      Indonesia Inning 1                    - 14/0           0.6
      

      Perth Scorchers vs Hobart Hurricanes, 12th Match at Perth Stadium: Hobart Hurricanes won by 4 wkts

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Perth Scorchers Inning 1              - 150/8           19.6
      Hobart Hurricanes Inning 1            - 153/6           19.3
      

      Auckland vs Northern Knights, 1st Match at Seddon Park: No result due to rain

      Innings                               - Runs/Wickets    Overs
      --------------------------------------------------------------
      Auckland Inning 1                     - 201/8           19.6
      
      8 votes
    17. The truth about AI (specifically LLM powered AI)

      The last couple of years have been a wild ride. The biggest parts of the conversation around AI for most of that time have been dominated by absurd levels of hype. To go along with the cringe...

      The last couple of years have been a wild ride. The biggest parts of the conversation around AI for most of that time have been dominated by absurd levels of hype. To go along with the cringe levels of hype, a lot of people have felt the pain of dealing with the results of rushed and forced AI implementation.

      As a result the pushback against AI is loud and passionate. A lot of people are pissed, for good reasons.

      Because of that it would be understandable for people casually watching from a distance to get the impression that AI is mostly an investor fueled shitshow with very little real value.

      The first part of the sentiment is true, it's definitely a shitshow. Big companies are FOMOing hard, everyone is shoehorning AI into everything they can in hopes of capturing some of that hype money. It feels like crypto, or Web 3.0. The result is a mess and we're nowhere near peak mess yet.

      Meanwhile in software engineering the conversation is extremely polarized. There is a large, but shrinking, contingent of people who are absolutely sure that AI is something like a scam. It only looks like a valid tool and in reality it creates more problems than it solves. And until recently that was largely true. The reason that contingent is shrinking, though, is that the latest generation of SOTA models are an undeniable step change. Every day countless developers try using AI for something that it's actually good at and they have the, as yet nameless but novel, realization that "holy shit this changes everything". It's just like every other revolutionary tech tool, you have to know how to use it, and when not to use it.

      The reason I bring up software engineering is that code is deterministic. You can objectively measure the results. The incredible language fluency of LLMs can't gloss over code issues. It either identified the bug or it didn't. It either wrote a thorough, valid test or it didn't. It's either good code or it isn't. And here's the thing: It is. Not automatically, or in all cases, and definitely not without careful management and scaffolding. But used well it is undeniably a game changing tool.

      But it's not just game changing in software. As in software if it's used badly, or for the wrong things, it's more trouble than it's worth. But used well it's remarkable. I'll give you an example:

      A friend was recently using AI to help create the necessary documents for a state government certification process for his business. If you've ever worked with government you've already imagined the mountain of forms, policies and other documentation that were required. I got involved because he ran into some issues getting the AI to deliver.

      Going through his session the thing that blew my mind was how little prompting it took to get most of the way there. He essentially said "I need help with X application process for X certification" and then he pasted in a block of relevant requirements from the state. The LLM agent then immediately knew what to do, which documents would be required and which regulations were relevant. It then proceeded to run him through a short Q and A to get the necessary specifics for his business and then it just did it. The entire stack of required documentation was done in under an hour versus the days it would have taken him to do it himself. It didn't require detailed instructions or .md files or MCP servers or artifacts, it just did it.

      And he's familiar with this process, he has the expertise to look at the resulting documents and say "yeah this is exactly what the state is looking for". It's not surprising that the model had a lot of government documentation in its training data, it shouldn't even really be mind blowing at this point how effective it was, but it blew my mind anyway. Probably because not having to deal with boring, repetitive paperwork is a miraculous thing from my perspective.

      This kind of win is now available in a lot of areas of work and business. It's not hype, it's objectively verifiable utility.

      This is not to say that it's not still a mess. I could write an overly long essay on the dangers of AI in software, business and to society at large. We thought social media was bad, that the digital revolution happened too fast for society to adapt... AI is a whole new category of problematic. One that's happening far faster than anything else has. There's no precedent.

      But my public service message is this: Don't let the passionate hatred of AI give you the wrong idea: There is real value there. I don't mean this is a FOMO way, you don't have to "use AI or get left behind". The truth is that 6 months from now the combination of new generations of models and improved tooling, scaffolding and workflows will likely make the current iteration of AI look quaint by comparison. There's no rush to figure out a technology that's advancing and changing this quickly because most of what you learn right now will be about solving problems that will be solved by default in the near future.

      That being said, AI is the biggest technological leap since the beginning of the public, consumer facing, internet. And I was there for that. Like the internet it will prove to be both good and bad, corporate consolidation will make the bad worse. And, like the internet, the people who are saying it's not revolutionary are going to look silly in the context of history.

      I say this from the perspective of someone who has spent the past year casually (and in recent months intensively) learning how to use AI in practical ways, with quantifiable results, both in my own projects and to help other people solve problems in various domains. If I were to distill my career into one concept, it would be: solving problems. So I feel like I'm in a position to speak about problem solving technology with expertise. If you have a use for LLM powered AI, you'll be surprised how useful it is.

      58 votes
    18. Formula 1 Abu Dhabi Grand Prix 2025 - Race Weekend Discussion

      Warning: this post may contain spoilers

      Abu Dhabi Grand Prix
      Yas Marina Circuit
      December 5-7, 2025


      Qualifying Results -- SPOILER
      Pos. No. Driver Team Q1 Q2 Q3 Laps
      1 1 Max Verstappen Red Bull Racing 1:22.877 1:22.752 1:22.207 18
      2 4 Lando Norris McLaren 1:23.178 1:22.804 1:22.408 17
      3 81 Oscar Piastri McLaren 1:22.605 1:23.021 1:22.437 17
      4 63 George Russell Mercedes 1:23.247 1:22.730 1:22.645 18
      5 16 Charles Leclerc Ferrari 1:23.163 1:22.948 1:22.730 18
      6 14 Fernando Alonso Aston Martin 1:23.071 1:22.861 1:22.902 18
      7 5 Gabriel Bortoleto Kick Sauber 1:23.374 1:22.874 1:22.904 21
      8 31 Esteban Ocon Haas F1 Team 1:23.334 1:23.023 1:22.913 18
      9 6 Isack Hadjar Racing Bulls 1:23.373 1:22.997 1:23.072 18
      10 22 Yuki Tsunoda Red Bull Racing 1:23.386 1:23.034 DNF 17
      11 87 Oliver Bearman Haas F1 Team 1:23.254 1:23.041 11
      12 55 Carlos Sainz Williams 1:23.187 1:23.042 12
      13 30 Liam Lawson Racing Bulls 1:23.265 1:23.077 14
      14 12 Kimi Antonelli Mercedes 1:22.894 1:23.080 12
      15 18 Lance Stroll Aston Martin 1:23.316 1:23.097 15
      16 44 Lewis Hamilton Ferrari 1:23.394 9
      17 23 Alexander Albon Williams 1:23.416 6
      18 27 Nico Hulkenberg Kick Sauber 1:23.450 9
      19 10 Pierre Gasly Alpine 1:23.468 9
      20 43 Franco Colapinto Alpine 1:23.890 9

      Source: F1.com

      Grand Prix Results -- SPOILER
      Pos. No. Driver Team Laps Time / Retired Pts.
      1 1 Max Verstappen Red Bull Racing 58 1:26:07.469 25
      2 81 Oscar Piastri McLaren 58 +12.594s 18
      3 4 Lando Norris McLaren 58 +16.572s 15
      4 16 Charles Leclerc Ferrari 58 +23.279s 12
      5 63 George Russell Mercedes 58 +48.563s 10
      6 14 Fernando Alonso Aston Martin 58 +67.562s 8
      7 31 Esteban Ocon Haas F1 Team 58 +69.876s 6
      8 44 Lewis Hamilton Ferrari 58 +72.670s 4
      9 27 Nico Hulkenberg Kick Sauber 58 +79.014s 2
      10 18 Lance Stroll Aston Martin 58 +79.523s 1
      11 5 Gabriel Bortoleto Kick Sauber 58 +81.043s 0
      12 87 Oliver Bearman Haas F1 Team 58 +81.166s 0
      13 55 Carlos Sainz Williams 58 +82.158s 0
      14 22 Yuki Tsunoda Red Bull Racing 58 +83.794s 0
      15 12 Kimi Antonelli Mercedes 58 +84.399s 0
      16 23 Alexander Albon Williams 58 +90.327s 0
      17 6 Isack Hadjar Racing Bulls 57 +1 lap 0
      18 30 Liam Lawson Racing Bulls 57 +1 lap 0
      19 10 Pierre Gasly Alpine 57 +1 lap 0
      20 43 Franco Colapinto Alpine 57 +1 lap 0

      Fastest Lap: Charles Leclerc // 1:26.725 on lap 45
      DOTD: Max Verstappen

      Source: F1.com


      2025 Final Drivers Standings -- SPOILER
      Pos. Driver Nationality Team Pts.
      1 Lando Norris GBR McLaren 423
      2 Max Verstappen NED Red Bull Racing 421
      3 Oscar Piastri AUS McLaren 410
      4 George Russell GBR Mercedes 319
      5 Charles Leclerc MON Ferrari 242
      6 Lewis Hamilton GBR Ferrari 156
      7 Kimi Antonelli ITA Mercedes 150
      8 Alexander Albon THA Williams 73
      9 Carlos Sainz ESP Williams 64
      10 Fernando Alonso ESP Aston Martin 56
      11 Isack Hadjar FRA Racing Bulls 51
      12 Nico Hulkenberg GER Kick Sauber 49
      13 Oliver Bearman GBR Haas F1 Team 42
      14 Liam Lawson NZL Racing Bulls 38
      15 Esteban Ocon FRA Haas F1 Team 38
      16 Lance Stroll CAN Aston Martin 34
      17 Yuki Tsunoda JPN Red Bull Racing 33
      18 Pierre Gasly FRA Alpine 22
      19 Gabriel Bortoleto BRA Kick Sauber 19
      20 Franco Colapinto ARG Alpine 0
      21 Jack Doohan AUS Alpine 0

      Source: F1.com

      2025 Final Constructors Standings -- SPOILER
      Pos. Team Pts.
      1 McLaren 833
      2 Mercedes 469
      3 Red Bull Racing 451
      4 Ferrari 398
      5 Williams 137
      6 Racing Bulls 92
      7 Aston Martin 89
      8 Haas F1 Team 79
      9 Kick Sauber 70
      10 Alpine 22

      Source: F1.com


      Next race:

      Pre-Season Testing 2026 - Sakhir
      Bahrain International Circuit
      February 11-13 & 18-20, 2026

      Australian Grand Prix
      Albert Park Circuit
      March 5-7, 2026

      See you all next year -- Enjoy the break!

      17 votes
    19. I created my own audio player, here is my experiences with the process

      Overview If you want to see just the final result, check out my TiMaSoMo showcase post. This post does minimal amount of showcase of the final project, although it does include some pictures. If...

      Overview

      If you want to see just the final result, check out my TiMaSoMo showcase post. This post does minimal amount of showcase of the final project, although it does include some pictures. If you want to see a showcase of the software, the original author has made a great video showcasing it that is worth checking out: YouTube videoBlogpost for those who prefer reading. Instead, this post is more a discussion of my experience developing a device.

      Initial Planning

      The goal of this project was to create a dedicated audio player, to separate that capability from my phone. The main source of audio will be streaming Spotify, not local files. Although unfamiliar with them, I felt that a Raspberry Pi was a good baseline device. For audio, I had an old USB DAC/amp that I wanted to repurpose. Using this DAC/amp would allow for some of my harder to drive headphones to work, as well as just getting cleaner audio. Then, I was planning on just using an eInk touchscreen. The rationale for eInk was so that it would feel different than my phone, and just feel like it was intended for music instead of scrolling. The logic was if I put a regular LCD screen on, it would not differ from a smartphone, and therefore I might as well just connect my DAC to my phone and use that. For software, the plan was to just use either Android or some lightweight linux distro. The initial plan for batteries was to just use rechargeable AA batteries, so that I can easily swap them out. One major reason I wanted to go with the DIY route was for repairability, especially with batteries. If I got an existing Digital Audio Player (DAP) on the market, I knew that the Li-Ion battery would eventually go bad, and existing devices on the market may not be easily repairable.

      Hardware Sourcing

      My hardware approach was to buy one component at a time. That way, if I ran into an issue with the feasibility of the approach, I could pivot without having wasted money on all the components ahead of time. This approach did slow down development as I was frequently waiting on hardware, but was more fiscally responsible. In January I got a Raspberry Pi 3a+, and played around briefly with some different operating systems. The next part that was needed was to source the screen.

      Initial Plan for eInk

      The original goal was to try and get a touch eInk screen, roughly 5” for a reasonable price. I spent a few weeks trying different places to try and find one, but could not find one. Since I could not find one I started thinking about pivoting to an LCD screen. With this pivot, I started defining goals of the project more. If I were to just use an LCD touchscreen potentially running Android, what makes it different from using my phone? I spent a few weeks trying to define the goals of the project, and was not able to come up with satisfactory answers if I went with an LCD screen.

      Clickwheel design pivot

      In the process of trying to figure out my approach, I stumbled across this YouTube video. I felt like this would be a good starting point. It seemed to solve the issue of it not being another Android device, which was my main problem I was trying to solve. However there were a few parts of the implementation that I did not like:

      • It relied on using old used Apple hardware. This works for now, but over time it would become harder to source replacement parts.
      • I did not already have the hardware, so I would have to buy an old used iPod and strip it for parts
      • It was a bluetooth implementation, so I would have to figure out how to fit my DAC into an old iPod, which seemed unrealistic
      • The battery while replaceable, was a non-descript battery so getting a new replacement with the same form factor would be harder.

      Luckily, for the clickwheel, someone on the weekly programming project on Tildes pointed out this new clickwheel. Since that seemed to be a reasonable approach I ordered one and also got a small LCD screen from Amazon. Unfortunately, the screen used up all the GPIO pins and had non-existent documentation or drivers. I was unable to get the screen to work, so I returned it and ordered a Waveshare 2” LCD. I was intentional on finding one that could be a regular display without using too many GPIO pins. The Waveshare screen had significantly better documentation, and with a bit of work I was able to get it working. With that solved, I started wiring in the clickwheel, and creating basic code to detect basic inputs, which I then used to modify the original code for the Spotify player to handle my clickwheel (see below for comments on code modification). Once I had the screen and clickwheel, I could also develop the software while waiting for parts. Image showing the early iteration of the device

      The last main part I had to solve was batteries. Another helpful comment on the weekly programming thread on Tildes told me about 14500 and 18650 batteries. I sourced a 14500 charger and some 14500 cells from Amazon. I had some issues with the first charger I got, and since they were shipping directly from China, it meant the second one would take another few weeks. Picture of using the 14500 battery. The cells I sourced said they were 2500 mAh. I tried one out, and had playtime of about 30mins, not enough to even listen to a full album on a single charge, which is inadequate. I used a portable battery bank rated at 10000 mAh to set a benchmark, and that lasted significantly longer (I was probably around 50% after about five hours or so of playback). This indicated that the 14500 cell was falsely claiming capacity, which is apparently a common issue on Amazon. It also seemed like 14500s rarely have capacity above 700mAh, so I realized that a 14500 would not work. So I decided to upgrade to an 18650 cell, which I could source the actual battery locally from a reputable vendor, with a capacity of 3400mAh. Since I realized that small hobbyist electronics like this on Amazon were shipping directly from China, I started ordering from AliExpress for the charger, which saved me some money for the same part (and even picked up a spare just in case). Picture of me using the 18650 to listen to music on my balcony during the summer. Since I did not need the extra power of the RPi 3a+, and the battery was taking more space, I ordered a RPi Zero 2w+. I also ordered some micro USB ends to solder to to make internal cabling, as well as a USB-C port to use for charging. By May I had all the hardware parts I needed, and all that was left for hardware was to design a case to 3D print, which is detailed below.

      Software Development

      The first thing I tested was installing Raspotify which this project used, and set it up with my DAC. Since that worked, I started to program the clickwheel using GPIO pins. I had never used a RPi before, but found some easy tutorials on programming the buttons of my clickwheel in Python. Once the buttons were programmed, I had to figure out the rotary encoder, but was able to find a Github repo that had a working Python code to process the inputs. I was able to add that, and created a Python class that would handle all the inputs of my clickwheel. Once that was coded, I just had to incorporate that into the code for the Spotify player frontend. I forked the repo, and was greeted with at the top of the main file this comment:

      # This code is a mess.
      # This is me learning Python as I go.
      # This is not how I write code for my day job.”
      

      This was not an encouraging comment to read, as at the start my Python skills were relatively low. I was able to quickly find where the inputs from the clickwheel were being handled. The original code had clickwheel inputs being handled in a separate C program and then communicating to the Spotify frontend via sockets. Since my clickwheel code was handled via a Python class I was able to simplify it, and not require sockets to be used. With that working, I just had to set up all the required steps to get the project working. Unfortunately, the documentation for deployment was extremely lacking. I was able to find a Github issues post that provided instructions so was able to get it all set up. I was able to get to this phase by the end of March.

      Once I had it all working, I could start on expanding the software to fit my use case as well as start working on any bugs I encounter. I felt a good starting point in handling this was to start addressing the issue of “this code is a mess.” Cleaning up the code would be a good way to gain familiarity with the code as well as make it easier for me to address any bugs or future enhancements. I started work on creating a class diagram, but it was really tedious to do it from scratch with such a large codebase, so I deserted that plan quickly. I am thinking of creating some sequence diagrams from some features I implemented recently, which would help in general documentation to refer back to in the future. I did find some classes that would make more sense in separate files, so did do that. I also started adding in new features as well. The first was to implement a “hold switch” which turns off the screen and disables the clickwheel input. Before, the screen would be on a 60sec timer to turn off, but I felt that sometimes I would want to have the screen stay on (like if I am just sitting in a chair listening to music). This was a relatively easy feature to implement. One bug that kept on appearing is that the screen would frequently freeze on me, normally about 60sec into a song, but would update once the next song started playing. I spent several weeks tracking down this issue, thinking it was software related, as the screen used to timeout after 60sec. I also thought it might be a configuration of my OS, so did some debugging there as well. Finally, I plugged in my main desktop monitor, and realized when the small 2” screen would freeze, my desktop monitor would not. This lead me down to investigating the driver for my screen. I found an issue with someone having similar issues with the original driver that Waveshare forked. I then realized that there was a setting that the screen would stop updating if less than 5% of the pixels were changing. Once I changed that in the config file, the screen freezing issue stopped. I was able to solve this major issue by late July.

      The last major feature I have implemented is to create the ability to add new WiFi networks from the app itself. This was a needed feature if I wanted to bring it anywhere outside of my home, since 3rd Party Spotify apps cannot download music. Luckily, there was a search feature, which gave me a baseline for text input using the clickwheel. I was able to create a basic page that prompts for the input of a SSID and the password, and then adds that to /etc/wpa_supplicant/wpa_supplicant.conf and then restarts the wireless interface. I added this feature into the overall settings page I added, which also included other useful dev options, like doing a git pull for me to avoid having to SSH into the Rpi to do it. The settings page features were a part of my project for TiMaSoMo.

      Case Design

      I started work on the case in late May roughly. The plan was that I was going to design the case and have my friend who owns a 3D printer print out my design for me. To continue with the project goal of repairability, I wanted to avoid using glue for the case. Instead, I wanted to use heated inserts to hold all the components. I had not used any 3D modeling or CAD software before, so it was a learning experience. I settled on using FreeCAD, which I was able to learn the basics of what I needed relatively quickly. I started with a basic case design for a prototype, to help plan out how I would lay things out. On my computer screen, having the device be 40mm thick sounded fine, but after receiving the prototype I realized I would need to be aggressive in thinning out the design. However, this protoype in early June was very helpful in getting a better understanding of how I needed to design it. Case prototype pictures.

      The first iteration I was able to get down to 27mm, which was a significant improvement. I received this iteration in mid July. However, there were parts that did not fit properly. Most of the mounting holes were not aligned properly. However, the bigger issue was that at 27mm the device would not be thick enough to hold the DAC and screen stacked on top of each other. This iteration still had the DAC keep the original metal housing, so that I could easily remove it and use it as originally intended if I did not want to continue using my audio player. First case iteration pictures.

      The second iteration I decided to remove the metal housing of the DAC, which freed up a lot of internal space, with the main limiting factor of thickness being the 18650 battery. So I kept the thickness around 27mm, but had more internal space. Removing the metal case of the DAC was relatively straightforward, except figuring out how to secure it to the print. Luckily, there were two roughly 2.5mm holes in the PCB, that I was able to use to secure it. I also started to do a more complex design, since I was getting more experienced with FreeCAD. I also moved the RPi to the top of the case, so that the two parts of the case could easily separate, with only micro USB connectors being used between the parts in the top and bottom part of the case(Picture of third iteration showing this feature). For anyone who has had to repair electronics that did not fully separate due to ribbon cables (laptops are the worst for this it seems), you understand the quality of life improvement of having the two parts easily separate. I got this iteration of the case in early September, and found a few issues of parts conflicting. However, with the use of a dremel, I was able to modify it to get it to roughly fit (although janky in some parts).In this picture you can see the power switch, which I had to modify to sit outside the case. I wanted to fully assemble it, so that I could start using it and figure out where it needs to improve. The biggest issue aside from conflicting parts was that the top of the case was bulging, so I wanted to add another point of connection to prevent it. This bulge was partly caused by the screen cutout causing a weak point in the top of the case. Second case iteration pictures.

      The third iteration was part of my TiMaSoMo project. This was a relatively simple minor tweaks, as well as fix some minor pain points of the previous iteration. I reinforced the top significantly to prevent bending, as well as add a fifth point to secure it. I also added a recess to make accessing the switches for power and hold easier to use (although I think I messed up the hold switch one). Overall, this print worked well, and there is currently no plans for a fourth iteration. Fourth iteration pictures.

      Here is all four cases compared side by side

      What I learned

      The first lesson I had to learn was how to define project goals. Not being able to source an eInk screen had caused me to pivot, and in doing so I had to reflect on what truly mattered for my project. I knew that DAPs existed, so why build my own rather than buy one? Most DAPs on the market seem to be Android devices where they removed the phone functionality and added in quality audio components. Part of a dedicated audio device was to not have my phone be the everything device that they are, but a second Android device with an LCD screen and better audio components is not the solution. Luckily, I encountered the clickwheel based approach, which did solve that issue (and probably better than an eInk would have). Also, I wanted the device to be easily repairable. Li-Ion batteries go bad, which was another major concern for me with the current options of DAPs. Repairability was something that mattered to me, but I had to embrace what that meant for the form factor. If I went with a non-descript Li-Ion pillow battery, I could probably significantly reduce the size. Understanding that I wanted to avoid just being another Android device and have repairability and replaceable parts as the defining features were useful to keep in mind. That approach did result in compromise though, primarily in physical size at the end.

      The second big thing I learned was just the process of sourcing parts for a project like this. The closest project to this that I have done in the past is create a DIY cable tester. That simply just involved some switches, resistors, LEDs, and some AA batteries that I could all source locally. So having to buy more complex electronics where the documentation mattered was a learning curve for me. Luckily, early on I was ordering from Amazon, where returns were relatively easy. The problem with Amazon though was false advertising for batteries and some components were shipping directly from China. So, switching to AliExpress saved me money without adding any additional in shipping.

      Learning 3D modelling and getting stuff 3D printed was also a huge learning curve for me. I am glad that I got a very rough prototype printed early on in the process. In designing the prototype, I just was not concerned about saving space. However, once the prototype was printed and off my screen and into my hand, I realized how aggressive I needed to be in compacting things. The other thing with using FreeCAD is I learned too late in the process about part hierarchies, and I still do not fully understand them. Not using part hierarchies properly led me to have to do a redesign on each iteration, as moving mounting holes over a few mm would shift every part added after it. Luckily, my designs were relatively simple, but having hierarchies handled properly would have helped me iterate quicker. On top of getting prototypes in hand quickly, using imperfect prints and just adjusting the parts that didn’t work with with a dremel was useful. If I didn’t do that with the second iteration, I would not have dealt with the issue that the top of the case would bend out over time. Spending time using the imperfect device helped me figure out the issues to make the next iteration better.

      Future Goals

      The first goal I will add in future expansion is to add better documentation and create a better development workflow. Right now, my process includes pushing any changes I do (luckily I am using Github branches now), then pulling the updated repo and starting it on my Pi. However, I never test if it compiles properly before pushing, so I end up sometimes doing five pushes in ten minutes, playing whackamole with compilation errors. Being able to run a dev version on my desktop with keyboard emulation for inputs would be beneficial.

      Another big issue that I want to solve is that I need to clean up the audio on lower resistance headphones like my IEMs. There appears to be some electrical noise, that only sensitive devices like IEMs detect. The solution I am currently considering is to add in a capacitor on the voltage rail between the Pi and the DAC to hopefully get cleaner power.

      Another issue is that I currently have no indicator of battery life. Since it is an 18650 Li-Ion battery, I should be able to just detect the gradual decrease in voltage, and calculate battery percentage. However, GPIO pins appear to be unable to do that natively, so I may have to add in a small controller board to do it. I have not looked too much into this.

      There are a few UI/UX decisions that do not match my preferred way of listening to music. So over time I plan on gradually tweaking the UI/UX to match what I want it to be. A prime example of this would be that when I select an artist, I want it to present a list of their albums, instead of playing their most popular songs.

      I want to be able to use Spotify Lossless, since that has rolled out near the end of this project. Unfortunately, it seems that currently it will not be supported. Seems like Librespot (which is the basis for Raspotify) does not currently have a solution that does not involve working around Spotify’s DRM.

      Conclusion

      Overall, I am really glad I took on this project. It took a long time for me to get it to a finished state. However, the experience has been really fun, and I have learned some new skills. Also, having a dedicated device that all it does is stream Spotify is really nice. I always found myself whenever I was listening to music ending up scrolling on my phone for a bit more stimulation, and then realized I have not been paying attention for the past couple of songs. Having a device where all I do is just listen to music and leave my phone behind has been nice. Also, modifying the code to fit my preferred use case has been nice. There are points where I realize I do not like how something is laid out, but then I have agency to change the layout. Here are some pictures of the final device.

      If you want to build the device yourself, I will warn you that it has some rough edges. Also, the DAC/amp is discontinued, so sourcing that to fit inside the case would be tricky. However, my Github repo has all hardware listed, the code needed, and easy to follow software deployment instructions.

      30 votes
    20. Part of me wishes it wasn't true but: AI coding is legit

      I stay current on tech for both personal and professional reasons but I also really hate hype. As a result I've been skeptical of AI claims throughout the historic hype cycle we're currently in....

      I stay current on tech for both personal and professional reasons but I also really hate hype. As a result I've been skeptical of AI claims throughout the historic hype cycle we're currently in. Note that I'm using AI here as shorthand for frontier LLMs.

      So I'm sort of a late adopter when it comes to LLMs. At each new generation of models I've spent enough time playing with them to feel like I understand where the technology is and can speak about its viability for different applications. But I haven't really incorporated it into my own work/life in any serious way.

      That changed recently when I decided to lean all the way in to agent assisted coding for a project after getting some impressive boilerplate out of one of the leading models (I don't remember which one). That AI can do a competent job on basic coding tasks like writing boilerplate code is nothing new, and that wasn't the part that impressed me. What impressed me was the process, especially the degree to which it modified its behavior in practical ways based on feedback. In previous tests it was a lot harder to get the model to go against patterns that featured heavily in the training data, and then get it to stay true to the new patterns for the rest of the session. That's not true anymore.

      Long story short, add me to the long list of people whose minds have been blown by coding agents. You can find plenty of articles and posts about what that process looks like so I won't rehash all the details. I'll only say that the comparisons to having your own dedicated junior or intern who is at once highly educated and dumb are apt. Maybe an even better comparison would be to having a team of tireless, emotionless, junior developers willing to respond to your requests at warp speed 24/7 for the price of 1/100th of one developer. You need the team comparison to capture the speed.

      You've probably read, or experienced, that AI is good at basic tasks, boilerplate, writing tests, finding bugs and so on. And that it gets progressively worse as things get more complicated and the LoCs start to stack up. That's all true but one part that has changed, in more recent models, is the definition of "basic".

      The bit that's difficult to articulate, and I think leads to the "having a nearly free assistant" comparisons, is what it feels like to have AI as a coding companion. I'm not going to try to capture it here, I'll just say it's remarkable.

      The usual caveats apply, if you rely on agents to do extensive coding, or handle complex problems, you'll end up regretting it unless you go over every line with a magnifying glass. They will cheerfully introduce subtle bugs that are hard to catch and harder to fix when you finally do stumble across them. And that's assuming they can do the thing you're asking then to do at all. Beyond the basics they still abjectly fail a lot of the time. They'll write humorously bad code, they'll break unrelated code for no apparent reason, they'll freak out and get stuck in loops (that one suprised me in 2025). We're still a long way from agents that can actually write software on their own, despite the hype.

      But wow, it's liberating to have an assistant that can do 100's of basic tasks you'd rather not be distracted by, answer questions accurately and knowledgeably, scan and report clearly about code, find bugs you might have missed and otherwise soften the edges of countless engineering pain points. And brainstorming! A pseudo-intelligent partner with an incomprehensibly wide knowledge base and unparalled pattern matching abilities is guaranteed to surface things you wouldn't have considered.

      AI coding agents are no joke.

      I still agree with the perspectives of many skeptics. Execs and middle managers are still out of their minds when they convince themselves that they can fire 90% of their teams and just have a few seniors do all the work with AI. I will read gleefully about the failures of that strategy over the coming months and years. The failure of their short sightedness and the cost to their organizations won't make up for the human cost of their decisions, but at least there will be consequences.

      When it comes to AI in general I have all the mixed feelings. As an artist, I feel the weight of what AI is doing, and will do, to creative work. As a human I'm concerned about AI becoming another tool to funnel ever more wealth to the top. I'm concerned about it ruining the livelihoods of huge swaths of people living in places where there aren't systems that can handle the load of taking care of them. Or aren't even really designed to try. There are a lot of legitimate dystopian outcomes to be worried about.

      Despite all that, actually using the technology is pretty exciting, which is the ultimate point of this post: What's your experience? Are you using agents for coding in practical ways? What works and what doesn't? What's your setup? What does it feel like? What do you love/hate about it?

      50 votes
    21. How long do homemade olives stay safe?

      Hey Tildes food crew! I made some olives 3 years ago and kind of a "set it and forget it" situation. And well, I forgot them for too long. It's been 3 years now and I've only found them because I...

      Hey Tildes food crew!

      I made some olives 3 years ago and kind of a "set it and forget it" situation. And well, I forgot them for too long. It's been 3 years now and I've only found them because I was looking for jars for a new batch. I opened them up and didn't hear any "hiss", they smell good, there is no sign of mold (on the 2 good ones I'm keeping, we did lose one jar to mold), and I did a small taste test and they tasted olive-y and good. They have been in a cupboard for the entire time and I'm happy to share the recipes if that is helpful. The olives in each were slit to facilitate faster edibility. They both have a 5% brine, one with red wine vinegar and the other with balsamic vinegar.

      I know we have quite a few crafty, homesteady, foody folks here and would appreciate any advice you can provide! Just making sure they are still safe to eat! Thanks!

      16 votes
    22. Valve announces new hardware: Steam Frame, Steam Controller, and Steam Machine

      Product Links: Steam Frame (standalone VR headset) Steam Controller (gen 2 design) Steam Machine (first-party mini PC) Video Links: Official announcement Tested hands-on with additional details...

      Product Links:

      Video Links:

      Shipping in early 2026. Prices haven't been announced yet.

      178 votes
    23. Need pixel art software recommendations (it can be free or paid)

      I've been learning Godot for the past few months and I'm happy to report that it's been going well. Little by little, things are clicking into place. (I hugely, highly, undoubtedly, recommend...

      I've been learning Godot for the past few months and I'm happy to report that it's been going well. Little by little, things are clicking into place. (I hugely, highly, undoubtedly, recommend GDQuest courses)

      I'm ready to start working on a small project to test out my skills, and it's going to be a top down pixel art game.

      But to be completely honest, I suck at drawing. I suck at drawing as in, I can make stick figures at best. So forget any fancy software for drawing in general like gimp or photoshop.

      What I'm looking for is a software meant for pixel art and that makes my life easy, in both drawing and animating. Bonus points if it allows me to trace (I'm not planning to copy/steal art, but I do need reference points, at least for now)

      Do you guys have any recommendations? It can be free or paid. I don't mind paying as long the software is worth it.

      15 votes
    24. Looking for feedback on a homelab design

      I wanted some help with a homelab server I am in the beginning stages of designing. I am looking for a flexible and scalable media and cloud system for home use, and I thought this community would...

      I wanted some help with a homelab server I am in the beginning stages of designing. I am looking for a flexible and scalable media and cloud system for home use, and I thought this community would be a good place to source feedback and recommendations before taking any real next steps! I really want to check that I am approaching the architecture correctly and not making any bad assumptions. I am open to all feedback, so please let me know what you think!
      I already run a simple home server and I have typical homelab FOSS apps, such as jellyfin, navidrome and audiobookshelf, but I am also interested in migrating away from cloud storage using nextcloud, immich, etc. In an ideal world, this setup would also allow me to leave windows on my main machine and use a windows vm for business related work that can’t be done on Linux. I will likely be the one primarily using the services, however I could expect up to 10 - 20 users eventually.

      High level setup is with two machines:

      • Proxmox Server
      • TrueNAS Scale server
        • JBOD with either 90 bay or 45 bay storage
      • 10G switch

      This might be a stupid setup right off the bat, which is why I wanted to discuss it with you all! I have read a ton about using TrueNAS as a WM within Proxmox, but I just like the idea of different machines handling different tasks. The idea here would be to set up the TrueNAS server so it can be optimized for managing the storage pool to allow for easy growth. While the Proxmox server can handle all the VMs and connecting users, with higher IO, etc.

      TrueNAS System Specs:

      • AMD ryzen CPU and motherboard
      • 64 or 128GB ram
      • Mirror 500GB M.2 NVMe OS Drives
      • GPU if necessary, but hopefully not needed
      • Dual 10gb pcie card if the motherboard doesnt already come with them
      • An hba for the JBOD something like the LSI SAS 9305-16e
      • SLOG and L2ARC as necessary?

      JBOD enclosure

      • While I am interested in a 90-bay enclosure, I would only realistically be starting with two vdevs which is why I think a 45 bay enclosure wouldn’t be an issue.
      • Im tentatively planning for an 11 wide Raidz2 vdev configuration. This would hopefully scale to 8 vdevs with 2 hot spares or 4 vdevs with 1 hot spare.
      • All drives would be HDDs

      Proxmox Server Specs:

      I am less familiar with the specs I will need for a good Proxmox server, but here is what I am thinking.

      • AMD epyc and motherboard if I can get my hands on a less expensive one. Otherwise I was thinking a higher end AMD ryzen cpu
      • 128 or 256GB ram
      • Mirror 500GB M.2 NVMe OS Drives
      • Somewhere between 2 and 8 TBs of SSD storage. Depending on the number of drives, I think this would be a single drive, mirror or raidz1.
        • This storage will be used for all the vm configuration and storage, except for something like Nextcloud where the main storage will go onto the TrueNAS mount.
        • I would also use this for temporal storage such as downloading a file before transferring it to the TrueNAS mount.
      • A dedicated GPU primarily for transcoding media streams, but also for testing and experimenting with different AI models.
      • Dual 10gb pcie card

      Questions:

      • I know Proxmox can do zfs right out of the box so I know I don’t need the TrueNAS server, but splitting it this way just seems more flexible. Is this a realistic setup or would it just be better to let Proxmox do everything?
        • Does anyone have experience creating NFS shares in TrueNAS for mounting in Proxmox? I would be interested in thoughts on performance, and stability among any other insights.
      • Do any of the system specs I listed seem out of line? Where and how do you think things should be scaled up or down?
      • If I ever did expand to a second JBOD shelf, assuming the first one was full first, is it be possible to create new vdevs that spanned across the shelfs without losing data?
      • Is SLOG and/or L2ARC necessary for this setup? What capacity and configuration would be best?
      • What else have I missed?

      Lastly, a quick blurb:

      I have been building PCs for a while and undertook building a home server a few years ago. I loved the experience of learning Linux (the server is running Ubuntu), picking up docker, and learning more about the FOSS community has been a joy! Part of this project is to learn along the way but also have a setup that I can build towards over time! Proxmox, TrueNAS and zfs would all be new to me so I really see it as an opportunity to explore. I want a solid media and cloud server setup, while also giving myself the freedom to explore new operating systems and general hypervisor functionality.

      22 votes