• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. 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.

      8 votes
    2. 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
    3. Any tips for learning a new language at my age? (50s) via Babbel?

      I learned French to schoolboy level as a, well, schoolboy. I've remembered quite the remarkable amount I think. Learned The Klingon Language must be 20 years ago, to a point where I could converse...

      I learned French to schoolboy level as a, well, schoolboy. I've remembered quite the remarkable amount I think. Learned The Klingon Language must be 20 years ago, to a point where I could converse with other speakers to some extent, but never the best.

      More recently I've become quite interested in historical linguistics, from watching Simon Roper with Old English, and Jackson Crawford. Old English fascinates me as we were never considered clever enough at school to study English properly - that was only for the clever kids.

      Because I couldn't find a good Frisian online learning resource, I decided to try my hand at modern German.

      Been following Babbel for about 2 months now so super early. I "completed" the first set of lessons and have been doing the vocabulary tests to try and make sure these sink in before progressing, but I find that I regularly only get 2/10, 3/10 on the flashcards.

      I've started doing whole first lesson set again, and I find them really easy. I'm basically intuiting a lot of the questions from knowledge of English, French and "common sense" I suppose. Is it odd that I can 100% the lessons easily and quickly, but the vocabulary tests just aren't there for me? My listening and speaking seems quite good according to the app.

      Is it too early to tell (I think it might be), should I supplement Babbel with something else, like live learning (perhaps eventually, not right now - I think it'd be pointless at such a low level).

      Anything else? Interested in anyone's thoughts.

      13 votes
    4. 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
    5. 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
    6. 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
    7. 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
    8. 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
    9. 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
    10. Session report: 496-Rose-18, in which an elf is cursed, then charmed

      Party Lee, Grey Elven Fighter 5, Magic-User 5, Thief 5 (~70k XP) Moya, Halfling Thief 7 (~47k XP) Oryn, High Elven Magic-User 5, Thief 6 (~73k XP) Henchman Takeshi, Human Ranger 4 (~16k XP) Varda,...

      Party

      • Lee, Grey Elven Fighter 5, Magic-User 5, Thief 5 (~70k XP)
      • Moya, Halfling Thief 7 (~47k XP)
      • Oryn, High Elven Magic-User 5, Thief 6 (~73k XP)
        • Henchman Takeshi, Human Ranger 4 (~16k XP)
      • Varda, Human Cleric 6 dual-classed into Magic-User 6 (~75k XP)
        • Henchman Rudy, Halfling Druid 3, Thief 4 (~12k XP)
      • Vordt, Half-Ogre Cleric 4, Fighter 5 (~56k XP)

      Looking over their map of the dungeon of the Temple, they realize there's a couple of rooms in the Water Cult's area that they never investigated, so they start by prioritizing those rooms. The first appears to be some kind of salon, for there are themed carpets, draperies, couches, serving dishes, and a... fishy-smelling incense burning. As they turn the room over, they find an embroidered cloak depicting a decapod sewn in with gold thread, among other things.

      They entered from the east, and see a door heading south. Entering, they see a bedroom of sorts, with a writing desk, bronze chest, and an ornate trident hanging from the wall with a massive aquamarine set in it. Upon the desk is a tome that appears to be some rituals the Water Temple would engage in. Rudy notices and accidentally triggers a needle trap within the lock of the bronze chest, but is deftly able to avoid it (between being a druid, a halfling, having a ring of protection, and a high Dexterity, Rudy tends to pass poison saves on anything other than a 1). Well worth the risk, however, as in the chest was a coral box containing many small pearls.

      Lee lifts the trident from the wall and then believes it to be a good idea to go for a swim. As a matter of fact, he must go submerge himself right now and begins to walk off. The party exchange quick glances and spring into action; Vordt blocks the door with his robust frame as Moya pulls out her rope of entanglement and commands it to hogtie Lee. After some discussion, the party resolves to finish exploring the last couple rooms and then leave to deal with Lee's presumed curse.

      Back in the hall outside the first room, they move to the other door across from it, and it's locked. Moya is unable to pick it, but then Rudy comes along and gets it open. Within is a lounge furnished similarly to the salon, though (thankfully, some said) without the incense and with a desk covered in writing materials. They found a hidden compartment in the back of the desk's drawers containing a scroll with three cleric spells on it: resist fire, neutralize poison, and true seeing.

      Similar to the salon, there is a door on the southern wall that they enter through, containing another bedroom. Flanking the bed are a couple of chests, which Moya and Rudy work on picking. Moya fails to pick her chest, while Rudy gets through theirs. Within Rudy's chest was a handful of platinum and a vial with liquid labeled as a potion of water breathing with two doses. Oryn attempted the chest Moya failed at, also failing. Rudy, confident in his ability to come in under the other two and succeed in their stead... also failed. Vordt approaches with a crowbar and pries the hinges off. Within are some books and miscellaneous treasure items.

      Done exploring the second floor, they leave the Temple and drag Lee back to town to try and fix his curse. Most of the time he's spent tied up he's been begging the party to just let him take a quick swim, and he even suggested a few times they allow him to use the potion of water breathing. They tried a remove curse and dispel magic on him, but neither freed Lee from his compulsion to submerge himself in water, nor were they able to pry the trident from his hands. They try letting him enter a nearby pond and waiting a few moments before levitating him out, but this did not cure him either. Intending to enlist the help of more powerful clerics, the party packs up and gets ready to travel a couple of days to a nearby city; Vordt sits next to a hogtied Lee and begins to read the ritual tome they found in the Temple. By the end of the day, Vordt learned what the trident is, how the curse works, and how to remove it. It is a trident of yearning, and the curse is removed either via wish or by having some effect of water breathing put upon the affected while they are submerged.

      The party reverses course back to town and, at about 2200, are standing near the pond, illuminated by many active continual lights. Varda enters the pond with Lee and allows him to submerge himself while supported. Varda quickly administers the potion of water breathing to Lee and then pulls him back above water as Lee roughly tosses the trident away from himself. They retrieve the trident with a grapnel and Rudy spends about a half hour carefully picking and prying at the gem with their tools, avoiding touching the trident itself, until they've pried the gem free. Oryn then tests whether the trident is still cursed. It is. Another dose later, Oryn is also fine. Unsure of how to dispose of the trident safely, they take it to the local temple of Rook (LG deity) and leave it with them.

      All of that handled, the party returns to the Temple dungeon, intending to breach the third floor. They work their way down and enter into a room whose entire floor is coated in fertilizer and mushrooms of varying shapes, sizes, and colors. An armor-clad woman immediately calls out that they should stay still and check on their companions, as some of these fungal growths can cause insanity, and she begins making her way through a winding path towards Lee and Vordt, the ones who opened the door. Unbeknownst to them, Lee failed his resistance to charm, as well as the saving throw, against a charm person she wove into her words, though Vordt succeeded against a suggestion. The woman, glowing short sword drawn, attacks Lee from behind and lands a touch across his head, draining a point of Wisdom, breaking the charm on Lee. She then turns to Vordt and does the same, but between Vordt's retaliation and Moya's timely backstab, the true form of the lamia appears dead before them.

      This is where we ended the session, with the date now being Rose 24; we'll pick back up there next week. Notable treasure: trident of yearning, potion of water breathing, a cleric scroll, and some miscellaneous high-value items. Gold shares were about 2.5k each.

      6 votes
    11. At the end of our ropes

      I’m here to ask the community for help. I know we’re a neurodiverse bunch, so I’ve got good hopes somebody can relate to this. My son is currently 16 and has always struggled with basic tasks....

      I’m here to ask the community for help. I know we’re a neurodiverse bunch, so I’ve got good hopes somebody can relate to this.

      My son is currently 16 and has always struggled with basic tasks. He’s gone through many tests and trainings when he was elementary school, but executive functions remain a challenge. From previous tests, we know he has an IQ of over 145. Back when he was tested, the psychologist advised to change his school curriculum to get him more engaged. This has partially worked: he’s been having more fun at school and has had some really cool academical achievements. But his struggle with basic day to day tasks and school work remains the same, and keeping focus is by far the most problematic part of it.

      With going to middle school came owning a phone and iPad. From day one, these do get his full attention. Me and my son are much alike when it comes to obsessive behavior, so I sometimes feel like I’m looking in the mirror when I see him with his phone. I too can lose myself in a game and binge it in a weekend. But for me, it isn’t 24/7. I can turn it off when it needs to be off. So I’ve always been strict with rules about screen time for him, but these rules have gone out the window in the last 2 years. There has been lying, sneaking and hiding to increase screen time. It has had a negative effect on our family and it’s draining to have to deal with this daily. I think that’s why we’ve somewhat given up on it, it was impossible to keep in check.

      In the past 3 years, he has started to really experience the negative impact of his challenges. We’ve attempted to help him plan his days, to plan his school work, to do chores in the house. But nothing seems to stick and he gets frustrated with himself and it is affecting his mood. In an attempt to find out more about what is causing his difficulties with basic tasks, we’ve asked a psychologist to look into AD(H)D. After an assessment, they’ve now come back with their findings. According to them, it cannot be AD(H)D because he can focus on things he likes (a board game was their example). Their rationale is that people with ADHD cannot focus on any task, even if they like them. They are saying it is his IQ, that he’s too bored to focus on basic tasks. According to them, he should force himself to do menial tasks and that we should be there to enforce this with rules and praise. Like we haven’t tried this already without any results. To say that I’m disappointed and furious about this outcome, is an understatement. It leaves us dead in the water and this makes me feel hopeless.

      I’m hoping to gain some insights by reading your comments. This attempt might point us in a new direction, because I’m fine if it is something entirely different than ADHD. I just really want him to feel better.

      44 votes
    12. Considering the RAV4 hybrid

      I am looking to replace our current vehicle (17 expedition) because of some issues (1st gen Ecoboost... eats plugs every 30k miles, runs rich, poorer than expected milage, plus the looming threat...

      I am looking to replace our current vehicle (17 expedition) because of some issues (1st gen Ecoboost... eats plugs every 30k miles, runs rich, poorer than expected milage, plus the looming threat of cam phaser and timing issues common to this motor) and the fact we don't really need the space anymore now that my kids are out of the full size baby seats and our dog doesn't travel with us much anymore (because we don't travel much anymore..).

      I have always bought used. The expedition I bought with 70k miles on it and now it has around 135k. I'm growing tired of swapping cars every 3-4 years, so I started doing research a few months back and the name that keeps coming up again and again is the RAV4.

      I test drove one to make sure I fit (6'3" and certainly no stranger to cheesecake) and the fit was nice. I used to drive a 13 Ford focus so I figured it would be fine, and it was. I think I'm most interested in the hybrid drivetrain as the allure of the e-cvt (chunky planetary gear system, no clutches, seems incredibly bulletproof) is quite tempting. Not to mention we mostly drive city and the better mpg is a nice bonus, but the cost difference between the 2 make that a bit of a moot point. I realize the long term cost of batteries and "cable gate" but I'm not too concerned.

      My reservation is that based on the used sales figures for these newer (23+) rav4s, it just doesn't make sense to buy used. If I buy the one we want new, it's around 41k out the door. This would be the most expensive vehicle I've ever purchased by an 8k margin.

      Our payment versus our current car would go up about 200 per month, but our gas costs will go down about 130 per month so the delta isn't huge. Since the resale value on these vehicles is so high, I'd be "right side up" on the value within 18 or so months. However, the ultimate goal for this car is to have it for 15+ years.

      I've never not had a car payment because I had transmission issues or engine issues with them all. I had a Pontiac g6 with transmission issues, a GMC sierra with transmission issues, the focus had the dreaded DCT, I had a ram truck for a little bit which was falling apart almost as soon as I bought it (snapped 3 manifold bolts within 500 miles of owning it just to start), and now we have this expedition.

      I'm kind of tired of American car brands at this point, I seem to be eternally let down and churning through vehicles. I want something safe, reliable and that will drive for decades. With that, the RAV4 seems to hit the mark. It's not a sexy option but I don't really care about that. I've heard it described as a dishwasher on wheels - an appliance, not an exciting driver. That sounds appealing for what I want this vehicle to be.

      I guess the reason I'm making this post is to consider whether this is a good idea. I'm not really worried about whether I can afford it (I can), I just don't like spending money and this would be a lot of it. Having said that, it's value seems to be projected to hold up extremely well, just as most Toyotas do, and as you can see from my previous vehicles, I'm not used to that. I want a very long term vehicle but I also want to know that if something in my life changes and I need to get rid of it, it will have decent resale value.

      I considered the crv hybrid and the cx-50 hybrid (which has the Toyota drivetrain) but with the crv I felt less happy about extreme long term reliability (newer hybrid system so hasn't been battle tested as much yet) versus the RAV4, and the cx50 is a mazda which doesn't inspire tons of confidence. Maybe they've gotten better but my brothers 2012ish (can't recall exactly) mazda3 was riddled with electrical issues and the center console broke (we think the dealer knew about it and tried a jank repair due to some tape we found) and Mazda wouldn't do anything to fix it (the dealer nor nearby dealers and Mazda customer service themselves).

      Anyway, every time I start researching I always come back to the RAV4.

      I don't want a 2026 model because I don't buy new models on their first years, plus they look worse than the previous models.

      What are your thoughts on the cSUV market?

      Edit: I'm in TX so cold isn't an issue 95% of the time as far as hybrid battery issues go

      19 votes
    13. So I'm autistic after all

      Hey all, some of you may remember me from several months back saying that my psychiatrist put me down as "Asperger's coded" and how I was unsure what that meant. Well I had another appointment...

      Hey all, some of you may remember me from several months back saying that my psychiatrist put me down as "Asperger's coded" and how I was unsure what that meant.

      Well I had another appointment since then where she did say I was autistic but it was left open ended as to whether or not I was diagnosed. At least that's how I interpreted it.

      So at today's appointment I just asked point blank if I was diagnosed. And she said not with autism spectrum disorder but with Asperger's syndrome via the ICD 10. Which is weird because I'm in America but whatever. I asked if that was a type of autism and she said according to the DSM V Asperger's was turned into ASD 1 (if I remember correctly) but I was diagnosed via the ICD 10.

      So yeah all that to say is that I think it's finally fair to say I'm autistic. I'm not a fan of the word Asperger's so autistic is what I'm going with. Please correct me if I'm being offensive.

      It only took 30 years. Though I didn't have to go through any major testing which makes me feel like an imposter. I just answered a few questions.

      39 votes
    14. Cosmos Cloud Writeup

      I'm just copy pasting my reddit writeup since that's where the creator is active. For those curious the basic idea of cosmos (https://cosmos-cloud.io/) is home server with a push towards default...

      I'm just copy pasting my reddit writeup since that's where the creator is active. For those curious the basic idea of cosmos (https://cosmos-cloud.io/) is home server with a push towards default safety stuff. Reverse proxy over your docker containers configured to not see beyond their world sort of thing so you can safely control access. I believe it's a one person project and still very much in development, but given that so many people just drop "roll your own, you just need to learn...." as the solution I find this to be vastly preferable, and maybe better than things like CasaOS

      Post:
      I've had less time than I hoped to really poke at this, so it's a bit rambly/stream of consciousness. Figured I'd put this up as a data point for anyone either considering cosmos, or maybe as some feedback. If anyone wants more detail on a specific part I'll gladly dive in, but for now if I don't put this up I never will. A very large thanks to the various people who guided me on the discord.

      Techstack/layout/hardware:

      1. Cloudflare domain with proxy active
      2. Ubiquiti UDM Pro router
      3. MS01 on Unbuntu, in default DMZ vlan
      4. Client devices on other vlans(a secure VLAN, technically not the default but similar) or external to network

      Personal skill level: I code for a living, but that's probably overstating my skill. Mostly light CRUD apps. Network is a MASSIVE blindspot that I know very little about. This project was in part to help fix that by getting me some practical experience. It's also GROSSLY overspecc'd for my skill level with some hope I can eventually do some more ambitious stuff.

      Setup: I had installed Cosmos before and run it locally unsecured/self signed (as provided by just clicking on the button in cosmos), just to make sure I understood "intended" behavior.

      My initial hiccups mostly revolved around me setting up port forwarding incorrectly in the router, so i'll skip most of that. Short version is misread something, went down the out of date documentation rabbit hole and then doubled down with some AI hallucinations. In the end it's MUCH easier than I was making it.

      All i needed to do was setup a 443 port forward to the static IP of my Cosmos box. It's even limited to cloudflare IPs only, which was just taking the list provided by cloud flare and copy pasting it in. There's a section in ubiquitis network interface for this and it's very straight forward.

      From there it was configuring the right tokens so I could do the cloudflare DNS Challenge, which is well documented (went the double token route rather than full key.) Once I found the right pages for that it was simple.

      Made my tokens, but was confused as hell because in Comsos it says "you don't need to fill everything out" for cloudflare, and there's CLEARLY duplicate entries, so I wasn't sure if I needed to fill out both.

      From what I can tell, you need to fill out the duplicates (so you will double enter your email and your key/tokens). You can leave blank things like timeouts or whatever you're not using (key if using tokens, token if using key). Some clarity on the dupe thing might help.

      I do think a small guide on bare minimum DNS config would also help. I was using a root A record and a CNAME wildcard record, and I never got it to working with cosmos. Unsure if that's my fault or not, but when I changed the wildcard to another A record (so A record for root and A record for *), it started working. For someone like me who knows fuck all about any of this, there was a lot of stumbling around with DNS.

      Of note I did select allow wildcard domains and .local domains on all attempts. No insecure http local access.

      From there it, mostly, started working. Https enabled and everyone can connect....exceeeept .local domains.

      This is the part i'm still struggling with. There's not a lot of documentation on .local, just "it will work if you check the box". I'm not sure if it clashes with https, or if i need to self sign, or if it really should be that easy.

      My understanding is I just make new url for an app, call it whatever.local, and boom I should be able to connect so long as i'm one the same network.

      In practice, I see no traffic hitting the server when I try this(unless on the server itself), and get timeouts from local clients (server does work). I got it to work once from a client on another vlan after trying to curl the https://whatever.local, but the next morning with nothing changed (went to bed right after and just left the machines running), it no longer worked.

      I did 100% confirm this worked because I used filebrowser to transfer some large data at speeds that NEVER would have been possible if it wasn't over my local network(everything is wired, no wifi, hence the desire for .local access). Also worth noting that I CAN ping the server locally and ssh to it from my other network, so i'm confident the firewall/vlans are configured correctly for that.

      Even for that brief moment when it was working, I STILL couldn't hit domain.local. It clearly exists, but if I can hit it (again from the server box or for that one moment from my other machine) I get the "you should use your domain address" text and cannot continue.

      I suspect router shenanigans (i do have mdns enabled on all VLANS), but I'm having a hard time finding logs and what not for this. I'm also unsure if I don't know enough and am doing some config that obviously shouldn't work. I have toggled the "allow insecure local access" option in testing once or twice, but it doesn't seem to change anything. Not sure how long the delay should be.

      Small things I noticed that might need fixing/expanding: 1. The initial admin account creation "your passwords do not match" help text is not in English. 2. Small thing but while browsing the market it seems there's a few configs that no longer work or aren't supported. EmulatorJS was the main one that seemed clearly done. 3. Hitting the domain, after logging in but not having touched it since forever, just gives you a "user unauthorized" warning but still lets you putter around the setup. 4. Related to that, it does sorta suck that right now even normal users see so much. I would like to hide a LOT of the interface for some of my users(just show them installed visible apps?), and while I can hide something like a new URL, I can't hide the URL screen, or the market, or whatever. It's "fine" but several test members had to be told "yes i know you can see that, no its fine, no you can't delete or edit, yes i know it looks like you can, yes i've tested, etc, etc" 5. In my testing, I did manage to get my domain IP banned by smart shield due to all the logging in and out. Was easy enough to bounce the box and get back in, but maybe a "heavy testing" mode an admin can enable that has smart shield chill for 30 minutes? Dunno how sane that is given the security first focus and I'm sure I could've whitelisted the IP briefly/neutered smart shield somewhere. 6. When entering your license key, you instantly see a "manage your license" button pop up. I emailed about it because I was confused and thought my license was busted, but just needed to scroll to the bottom and hit save. Just a flow thing that might wan to change. 7. Maybe an early "what is your goal" question? Local only vs using a domain vs using a domain and local access with adjusted config process to skip/auto handle things that could go wrong?
      8. The "make admin only" checkbox on every app i've installed, that has it, doesn't appear to work. I have to go into the URL config and manually make it admin only from there. Maybe i'm misunderstanding where/how it's doing this, but some light testing seems to confirm that non admin accounts can access until I do that.

      Side issues:

      At some point in all this my Ubuntu took a spirited attempt at destroying itself and would let me login and then just show me a cursor and nothing else. Couldn't get to the terminal through the recommended ways, but after sshing to the box locally and changing uhh...the display driver I think?, it's mostly been working, but I cannot restart the machine without issues until I hard shutdown (hold the power button). I doubt this is related to cosmos (either caused by, or affecting behavior), but figure I should mention it just in case. Planning a full reinstall later.

      Overall:

      I do love it. Cosmos is trying to be something that I think should exist and yet for some reason does not. There's so many ways to screw something like this up and the "well just roll your own" approach is hellishly easy to screw up with extreme consequences. I have a few more upgrades/tweaks to do (get .local working, maybe reinstall the OS and the thus resetup from scratch, NAS for storage of some family videos/photos we want backed up in more than one spot), and I have mostly enjoyed how clear Cosmos has been.

      7 votes
    15. Open-source robotics simulations on Godot and Unreal Engine, and ROS2

      I'm info dumping some links about open-source robotics. The rabbit hole runs deep and this barely scratches the surface. Disclaimer: I haven't tried any of these yet. Based on a cursory search and...

      I'm info dumping some links about open-source robotics. The rabbit hole runs deep and this barely scratches the surface.

      Disclaimer: I haven't tried any of these yet. Based on a cursory search and following links from the great Open-source robotics Wikipedia page.

      Robotics simulation on Godot

      Robotic car simulation on Unreal Engine and Unity

      • https://github.com/carla-simulator/carla - "CARLA is an open-source simulator for autonomous driving research." They mostly target Unreal Engine. Regularly updated and popular with 13k stars on GitHub.

      • https://github.com/microsoft/AirSim - Microsoft and IAMAI collaborated (plus DARPA funding?) to create an open source simulation platform for both flying drones and autonomous cars. Targets Unreal Engine and experimentally Unity also. Soon being sunset and replaced with a new project confusingly named "Project AirSim."

      • https://github.com/iamaisim/ProjectAirSim - The successor to AirSim. The GitHub shows it's only at version 0.1.1 though.

      Robot Operating System (ROS2)

      How to get started?

      That's a lot of links. I'd first figure out what I want to do. Humanoid robots seem popular lately—like the Berkeley 3d printed robot—so it'd be interesting to start there, although it doesn't map cleanly onto the projects I linked. So maybe if I imagined a robot with a human torso and arms, but with wheels and car-like locomotion. Then I could use a combination of the car simulators and probably ROS2 to deal with the upper body components? Or maybe there is another solution for the torso and arms that is a more direct fit than ROS2? Maybe iRobot/Roomba has a better solution for the car-like locomotion at this small scale?

      Anyone used these before and have a story to share? Anyone curious to try one out and report back? I plan to, but no idea on my schedule.

      11 votes
    16. Musings on "Developer Mode"

      Peruse this relevant meme. It depicts the magical transformation that occurs at the moment one taps the Android build number for the seventh and final time, as the arcane ritual transforms one...

      Peruse this relevant meme. It depicts the magical transformation that occurs at the moment one taps the Android build number for the seventh and final time, as the arcane ritual transforms one from a chill dude in a business suit into that powerful, shadowy figure known only as "a developer".

      It's a joke, obviously, but only half a joke. The "You are now a developer!" message that the developers at Google programmed your phone to display, when it grants you this set of powers that Google permitted them to program it to grant you, is doing something in the model of the world that its authors live in.

      "Developer mode" isn't just for Android. The browser you are reading this in has a little panel you can open to inspect or adjust the content of the page. It's useful for things like composing humorous screenshots, deleting annoying ads, and downloading images and videos, but it's called the "Developer Tools", a set of tools defined not by what they do but by who they are intended or imagined to be doing it for. Discord has not only a "developer mode" that lets you get the permanent identifiers for messages, but also additional developer-exclusive functions that are activated by enabling the Electron developer tools and injecting code to set the isDeveloper flag. Windows has a Developer Mode. ChatGPT ~got one for some reason~ has a popular jailbreak based around convincing it that it has one. This notion that a special class of people called "developers" exist, and that they must or should be afforded extra power in our society's digital spaces, is woven into the structure of the digital environment.

      Why is it like this? Big Tech doesn't give any power for free. Is it something their labor force of developers demands to be able to grant to their counterparts outside the company? Is it a Ballmer-Doctorow gambit of courting programmers as potential business customers by temporarily empowering them, before they start putting up the prices on the code signing certificates? Is it to distract and mollify hackers, to keep them from seizing similar powers in a more destabilizing way?

      Is there any truth to the notion that "developers", independent of whether or not they are currently testing or programming something, are a class with different needs and rights from normal humans?

      17 votes
    17. 2025 NFL Season 🏈 Weekly Discussion Thread – Week 1️

      Doing a quick test for a weekly nfl thread. disregard :) Welcome to the 2025 NFL Season Weekly Discussion Thread! 🏈 Share your thoughts on Week 1 — wins, losses, fantasy fumbles, predictions, or...
      Doing a quick test for a weekly nfl thread. disregard :)
      

      Welcome to the 2025 NFL Season Weekly Discussion Thread! 🏈

      Share your thoughts on Week 1 — wins, losses, fantasy fumbles, predictions, or anything else football-related.

      I’ll post these each Tuesday after the games wrap up to keep discussion going. Feel free to start your own threads if something deserves more focus!

      The Scores

      Score
      Eagles 24 – Cowboys 20
      Chargers 27 – Chiefs 21
      Colts 33 – Dolphins 8
      Steelers 34 – Jets 32
      Buccaneers 23 – Falcons 20
      Bengals 17 – Browns 16
      Raiders 20 – Patriots 13
      Saints 20 – Cardinals 13
      Commanders 21 – Giants 6
      Jaguars 26 – Panthers 10
      Broncos 20 – Titans 12
      49ers 17 – Seahawks 13
      Packers 27 – Lions 13
      Rams 14 – Texans 9
      Bills 41 – Ravens 40
      Bears vs. Vikings — (Score not yet available)
      5 votes
    18. Home network help part 2, SSH and Server

      Edit: I've made some progress if you want to read the edits at the end. Last year I started slowly planning out a home server setup with help from Tildes. I've gotten a few things up and running,...

      Edit: I've made some progress if you want to read the edits at the end.

      Last year I started slowly planning out a home server setup with help from Tildes. I've gotten a few things up and running, but have been bouncing off a variety of walls trying to get to the next step.

      The first goal was-
      "Ok i've got Cosmos up and running for local access using self signed certs. I'd like to get it up and running using lets encrypt and a domain so I can eventually start giving a few family and friends proper logins and external access". Of note, ideally,

      This led to a second goal of-
      "Gosh it sure would be nice if I didn't have to be sitting at the physical server to do testing and could instead be at another computer in my house. I should probably configure ssh locally (working) and get it to forward windows so I can work in other rooms (not working...)"

      "The stack":

      Server - MS01 running LTS Ubuntu with Cosmos Cloud installed (well it was, but is currently not)

      Router - Ubiquiti Dream Machine Pro (of note i've done some minimal guided config of this to try and harden it at a basic level so my cameras and IoT devices are better isolated. Not fully default, but the server is, for now, in the same network/vlan as the rest of my main computers so don't think this should matter.)

      Clients - All local windows 10/11 machines for now, although in the off off chance it matters, i'm running nushell in the terminal

      Domain Provider - Cloudflare

      The SSH Problems:

      I have a friend who's set SSH up for themselves with their home server, however they haven't had time to come over and troubleshoot. My rough understanding is "setup VcXsrv, change some configs, then it just works.". Windows these days has ssh built in, and I can SSH to the machine just fine with my key.

      ssh -X...less so. I've read some docs, followed some guides, tried copilot, and it all leads to "yeah should work" and it just doesn't. I have configured a ssh config on both machines to allow X11 forwarding, i've started the XLaunch making sure I disable access control, made sure my unbuntu login isn't on wayland and so on. So far, no dice.

      If someone has an end to end guide they trust to link, i'll gladly read and start from scratch. I've been cobbling together so many sources at this point i'm very lost. Lots of things jump quickly to "well just use WSL", which yeah ok i probably should test that next, but I was hoping I wouldn't need to (and am unclear if that'll even help).

      The HTTPS/Domain Problems:

      So..cosmos cloud.

      I like the theory behind this software in that it helps enforce best practices so you don't blow your own head off when you screw something up. Maybe it's not the absolute best starting place, but getting it running without a domain was trivial, and more importantly, shockingly well documented. Not perfect, but for what I understand is mostly a one man show it's better than a lot of professional grade stuff i've dealt with.

      And so I figured it'd be easy to just do the setup from scratch but choose https and point to my domain. There's been two attempts here, no DNS challenge and DNS challenge

      No DNS Challenge Method

      Per their docs it seemed easy enough. I'd never touched a DNS screen before but I configured an A record pointing at my WAN IP (eventually...) and disabled the cloudflare proxy.

      Well going to that domain took me to my router login. Hmm. After screwing around with port forwarding and router DNS records I never got it to work and felt like I was playing with fire, so undid everything I'd done and decided I'd try the DNS challenge. Of note I could still access the cosmos cloud page from http directly to the IP, where it confirmed it failed to get the TLS cert, but https to the domain wasn't having it.

      DNS Challenge Method

      This seemed like I was close, and then nothing. I have no idea if i need to do internal routing on the router for this, it just sorta says "Do the DNS challenge, here's a form, you don't need to fill out all of it" which uh...ok.

      I filled out what I think I needed to after setting up a token(not an API key) in cloudflare. I'm pretty certain I got that correct as I saw text files with keys created on cloudflare's DNS page and had I screwed that I'm guessing it couldn't have.

      However from what I can tell, that's as far as it got. The files nuked themselves 2 minutes later when the TTL expired, and going to the domain locally gave me the cloudflare "our shit's fine, the server is timing out" page. From what I could tell diving into logs, cosmos had the same error, and I couldn't hit cosmos at all, even using the IP and http.

      I do however wonder if maybe it did work BUT since I undid the router DNS record before trying this maybe that killed it? dunno.

      Any ideas?

      That's basically my situation. Figured i'd throw it here and see if anyone has some guidance or troubleshooting they'd recommend. Aforementioned friend who's done some of this before should be free one of these weekends and can probably help, and I haven't tried again since the second attempt. I've thrown some of the questions i've had on the discord and gotten minimal response(although I'm kinda using the thread as a rubber ducking spot as well). Next attempt is probably just DNS challenge again after more research on it and seeing if that works if I put back on the router DNS record, but i feel like logically that shouldn't work.

      Oh also if anyone has some general recommended reading so that I can really understand what the hell it is I'm doing I'd love that. There's a ton of networking books/articles/etc, and in general I'd like to learn more about the subject, but I'm curious if there's a go to for people who are techy and trying to dip their toe in all of it the same way I am and setting up a proper home network and server.

      Edit:
      So after lots of testing, doc reading, and help from the cosmos discord I:

      1. Got the DNS challenge to work according to the cosmos logs.
      2. narrowed down that the main issue was my UDM pro router policies. Needed a firewall rule and a port forward, and had only done one of those at a time in my various attempts and not realized they were really different.

      Now once that was all working and I could hit the site i was getting "likely a false cert" errors, but since i've got all the pieces I'm probably going to try another clean install later and see what we get. Hurrah for troubleshooting, good docs, rubber ducking, and helpful humans.

      Edit 2:

      Eventually required:

      1. Port forward rule in UDM pro
      2. Firewall rule in UDM pro
      3. Static IP and DNS entry in UDM pro.

      One I’d done those things started working. Killed it after that as now I need to think about architecture

      14 votes
    19. Android emulators to actually use mobile apps in day-to-day life?

      My understanding is that Android emulators primarily exist for mobile development and app testing and such-like, and maybe secondarily, to play mobile games. I want to explore the possibility of...

      My understanding is that Android emulators primarily exist for mobile development and app testing and such-like, and maybe secondarily, to play mobile games.

      I want to explore the possibility of using them as a, basically, full-time replacement for installing apps on my phone. More and more apps and services have no "desktop/laptop" version, and no website version. Installing the app on your phone is starting to become a non-negotiable requirement ... one that I'd like to find a work-around to.

      So, yeah ... I guess that's the question. Is this a 'thing'? Has anyone experimented with--or flat-out used--an emulator on a desktop/laptop to run their banking app and the like? Is this even possible? Can you connect an emulator to an app-store and just start downloading/installing stuff?

      Thanks.

      23 votes
    20. Presenting... PrizeForge: a novel crowdfunding model for sustainable open-source and fighting enshittification

      I need you to do me a favor: please keep an open mind and reserve judgement until after you've thoroughly digested the ideas I'm presenting here. These are not my ideas, and I have no connection...

      I need you to do me a favor: please keep an open mind and reserve judgement until after you've thoroughly digested the ideas I'm presenting here. These are not my ideas, and I have no connection to this project. I hope to do them justice in representing them accurately and as clearly as I understand it all.

      Please don't be dismissive. Please don't jump to conclusions. I would not be posting about this if I did not believe it has tremendous potential to reshape the digital economy, and therefore everything that governs how civilization progresses in the next century. Dramatic, much? Yes, but I hope I have your attention.

      I'm not posting this as a plain link, because the website looks incredibly sus. Just trust me for a few minutes. Links are at the end.

      (No generative AI was used to write this post.)


      What is PrizeForge?

      PrizeForge is a financial service that can be best thought of as "Representative Crowdfunding" (my term, not theirs). Like direct crowdfunding (e.g. Kickstarter), it lets people pool their money to support expensive projects that would otherwise be impossible to fund. Similar to Patreon, it can also be an effective tip jar for much smaller things that would otherwise go unrewarded.

      The innovation is two-fold: first, contributors never move alone. As a contributor, you set a ceiling on your weekly payment. This is the "enrollment" amount. However, the actual amount of money disbursed each weekly cycle is the amount that is successfully "matched" with other contributors. In the simplest example, if I wanted to enroll for Tildes at $20/week, and one other user enrolled at $5/week, the disbursement would be the sum of the matched funds: $5 + $5. In this way, nobody ever pays an unfair proportion of the total, and small donations become an integral part of funding allocation. Additionally, like how philanthrophists often match charitable donations to meet a fundraising objective, matching provides a powerful incentive for individuals to contribute by making individual contributions feel more significant, since any money you part with can be doubled by another contributor. The more you put in, the more others will too. (PrizeForge calls this algorithm "Elastic Fund Matching". The full algorithm gets considerably more complex, but they have a neat visualization on their site and videos.)

      Second, unlike existing crowdfunding and patronage systems, creators and companies do not receive fund disbursements directly. Rather, representatives ("Delegates") send the money to the people and organizations that should receive funds to deliver value to the stream's contributors.

      "Won't delegates just siphon funds to themselves?" you ask. Well, yes, that will 100% happen at some point. Corruption is a human problem that can't be solved with technology alone. PrizeForge aims to provide mechanisms to allow the community to be very dynamic, so contributors can easily switch to a new representative—for any reason. Additionally, tools for transparency in how the money moves would go a long way in keeping delegates accountable.

      In the context of open-source software, delegates should be experienced power users who are well equipped to evaluate features and bugfixes, and then can award the prizes to developers according to their best judgement.

      The use of a representative has many advantages over direct crowdfunding. Someone highly invested in a software product has valuable experience and would be more effective at setting priorities for features and bugfixes. An experienced and trusted delegate would save developers time having to parse the requests (...demands?) of individual users who may not be able to articulate what they really want. Also, if a developer or company stops doing what people want (providing value to the people who care), then funds can flow to competing alternatives in a very granular and dynamic way, as the delegates shift funding and/or new delegates arise.

      If we could pick a delegate here for Tildes, would anybody really object to @cfabbro?

      These trusted delegates already exist, everywhere! We just haven't been able to cooperate in the right ways to delegate our individual power, so they can truly move the needle on funding the projects we care about. PrizeForge is, I believe, the first truly sustainable funding model for community-owned and directed open-source.


      Addendum

      Watch this video first! Before you get scared away by the terrible scammy-looking website: https://www.youtube.com/watch?v=SO46oEdlkY8

      The FAQ: https://prizeforge.com/faq

      The company's github page: https://github.com/positron-solutions

      Looks like just two people, with Psionikus doing all the promotion and running accounts. The company is incorporated in South Korea. They've got a bunch of emacs tooling, and I believe the PrizeForge concept originated out of a desire to improve the funding/development process of emacs, then the lem editor. They also apparently have a bit of beef with the FSF due to emacs politcs. Check out the last FAQ for a fun easter egg.

      The sub-reddit: https://old.reddit.com/r/PrizeForge/

      The Hacker News comment that took me down the rabbithole: https://news.ycombinator.com/item?id=45036360

      Bonus thoughts:

      • What's really crazy is that this is not a crypto or blockchain project. You can do a simplified version of the elastic fund matching with just money, pen & paper.
      • This financing scheme is basically an idealized utopian voluntary tax system. I can imagine a granular delegate system being extremely effective at making politics incredibly boring. Imagine electing a local representative only to have potholes fixed in your area, using only the funds earmarked for fixing potholes. It would be so much simpler to keep them accountable. Either the roads are crap or they aren't! Where's the money, bub?! Why've you got a fancy new lawnmower?! I want my $2 back!
      • If this reaches critical mass, it ends surveillance capitalism and digital feudalism. I don't want to live in Black Mirror, and this seems like the way out of that future.
      • I would really love it if we can establish a funding stream for Tildes. I know I can donate to Tildes directly, but it would be a great test run to help PrizeForge get operational and build credibility. I only need one other crazy person. Isn't the internet great? (My credit card has not been stolen btw)
      • The password login is still in development, so you have to login via Google SSO. I absolutely hate using Google SSO but I get it from a developer perspective. Proper auth is hard and companies like Tailscale took the same path and still don't support password login. (My google hasn't been hacked either fwiw)
      30 votes
    21. On being attractive

      This is going to sound conceited, and it is. But I thought I would share my experiences regarding this. For context, I'm in year two of being considered conventionally attractive. I used to be...

      This is going to sound conceited, and it is. But I thought I would share my experiences regarding this. For context, I'm in year two of being considered conventionally attractive. I used to be morbidly obese, and I spent the years 17 to 23 being really big. In high school, I was only briefly considered attractive, but considering how short that was, I generally say I wasn't attractive in high school. Which is to say that the idea that I am attractive is still relatively new, and I'm still learning the ropes of my different life. I won't be sharing any photos, but I'm often told that I look like a young Mark Ruffalo.

      I'm going to split this into parts.

      Everyone is nicer

      As soon as I lost the weight, I was treated a lot better. To be clear, I wasn't treated that terribly when I was overweight. In my experience, people were generally nice. But there were some times when people would just ignore me or try not to look like me. I recall one moment, in college, while I was walking across campus, this one girl was in front of me. She kept giving me the over-the-shoulder look and then ran off since she detected danger.

      Those moments existed, but they weren't my overwhelming experience. What shifted was that people became overly nice towards me. People go out of their way to talk to me, to help me, or to make sure I'm okay. I haven't encountered an incident where a girl thinks I'm a creep or anything like that since.

      Women approach men

      I think there's this idea in the dating world that women never approach men. I've seen a lot of TikTok videos and Reddit posts where the gist is "no matter how handsome you are, women DO NOT approach men." And they will give anecdotes of "good-looking" friends who have also not been approached by women.

      That's not true at all. I have been approached quite a bit, especially in the nightclub and bar setting. There are women who are not shy at all, or they are shy but they're trying something different. The one thing I've noticed, and this is going to sound mean, the women most likely to approach a guy tend to not be very attractive. The most attractive woman who approached me (and she was very pretty) approached me with the help of a friend.

      Even if women don't outright approach you, they give signals as their way of making the first move. Often at the bar or club, it's a lot of staring. They stare, look away, look back again to make sure you're staring.

      I work in a predominantly female workplace. So the signals in this are a little different. A lot of my co-workers go out of their way to chat with me. They often look for excuses to touch me or to get closer to me. They'll look at me when they don't think I'm looking. Recently, I had a higher-up worker start messaging me through the work chat we use and inviting me to her office for treats that she makes. They don't say anything out loud, it's just sort of obvious that they find me attractive.

      Rejection stings, especially when they're not used to it

      Going back to the workplace. We have cops at my work as security. It's kind of well-known that the male cops sleep with the staff. But none of the female cops really do that. I would chat with this one cop, she's quite a bit older than me (actually, she has a daughter that's exactly my age). But she is gorgeous. It started off slow; we just looked at each other for a while before I started talking to her. But we built up enough of a rapport that one day she gave me a big opening for me to ask her out. I didn't. Someone that pretty is not used to not being pursued, so she became more guarded and avoidant of me.

      That was kind of a somber example. A more aggressive example was at a dance club. This woman gave me the eye contact signal, but I did not approach her. Flash forward a bit, I'm on the dance floor, and she pushes me. It wasn't an accident; it was very aggressive, and she was obviously drunk.

      There are more examples that I can give, but the reaction is never that great. And I've learned that I hate making people feel that way. It's what I imagine a woman feels like when they rejects men, it's so much pressure. Especially when the woman is attractive herself, there's a sadder response from them because they're not used to that.

      I was not prepared to be in a situation where I could hurt someone's feelings. Not just that, but I can hurt someone's feelings by not doing anything. It used to be simple. I didn't really have options or anything like that, so when the opposite came true, where I had to pick and choose between people, it was daunting. Almost paralyzing. At one point, I had three women interested in me at the same time, and I could not figure out how to pick one to escalate things with. At the time, I was not in the mental space to be in that situation anyway, and I think I made the overall best decision I could have (which was to not do anything with any of them) since I think things wouldn't have ended well for any of them. Even if all three of them felt a sting from that sort of soft rejection.

      People assume the best in you

      I don't know how many times I've been told that I seem like a nice guy. And that goes even after I've done something bad, or say some off-color stuff. I don't think I would be given that grace if I were maybe a little bit uglier.

      People just assume the best of me now; they assume good intentions. One time when I was out, I had danced with a woman who was part of a group. I sat at their table, and they asked me to look after their drinks as they went to the bathroom. In my head, I thought, "Okay, they're leaving, they're not coming back, because what woman is going to trust their drink with a stranger?" They came back.

      Not that I was going to do anything, nor do I intentionally try to make people feel bad (barring one time where I was testing the waters).

      At the same time, people think you're sleeping around

      I was a virgin until last year; it seemed like a shock whenever I would say that. When I did manage to finally lose it, the person I lost it to always thought I was sleeping with a lot of people. I've had many people think that I'm sleeping around, that I've had multiple sex partners, and somehow don't seem convinced when I try to tell them I'm not, and I don't.

      I've tried different styles. When I keep to myself and when I'm overly chatty. People think the same either way.

      I've been on dates where the other person assumes I'm "talking" to someone else. Like, if I use my phone for a bit, the assumption is I'm texting someone.

      Conclusion

      I seem to have more eyes on me now. The invisibility cloak I once had is gone and now everything I do or say carries more weight. I'm more at risk of hurting someone's feelings just by not being attracted to them. And having someone that you find attractive finding you attractive is a scary thing.

      I've spoken to a very attractive woman who told me about her experiences, and while there are some similarities it's basically tenfold for women. Attractive women get gifts, people offering to buy stuff for her, just a lot more intensity. Especially since it's more socially acceptable for men to do that for women. It's not something I envy, and it fills her with anxiety and rage with how often she has to reject men.

      I would say overall it's a much more positive life I'm living now, but there are times when I miss being the one nobody looked at and nobody had expectations for. I'd just eat and watch movies all day. There was a comfort to that over the healthy eating and workout regimen I do now.

      63 votes
    22. If you're a programmer, are you ever going to believe an AGI is actually 'I'?

      First, I am emphatically not talking about LLMs. Just a shower thought kinda question. For most people, the primary issue is anthropomorphizing too much. But I think programmers see it...

      First, I am emphatically not talking about LLMs.

      Just a shower thought kinda question. For most people, the primary issue is anthropomorphizing too much. But I think programmers see it differently.

      Let's say someone comes up with something that seems to walk and talk like a self-aware, sentient, AGI duck. It has a "memories" db, it learns and adapts, it seems to understand cause and effect, actions and consequences, truth v falsehood, it passes Turing tests like they're tic-tac-toe, it recognizes itself in the mirror, yada.

      But as a developer, you can "look behind the curtain" and see exactly how it works. (For argument's sake, let's say it's a FOSS duck, so you can actually look at the source code.)

      Does it ever "feel" like a real, sentient being? Does it ever pass your litmus test?

      For me, I think the answer is, "yes, eventually" ... but only looong after other people are having relationships with them, getting married, voting for them, etc.

      31 votes
    23. North Korean Career Coaches

      I keep getting messages in my email inbox or LinkedIn like: Alexander > Hi, > I’m seeking a genuine partnership where only a USA software engineer can truly collaborate with me. > I value...

      I keep getting messages in my email inbox or LinkedIn like:

      Alexander
      > Hi, 
      > I’m seeking a genuine partnership where only a USA software engineer can truly collaborate with me. 
      > I value transparency and real results. 
      > Things to do are very simple and I guarantee 3K~10K/month income for you.
      > I’m ready to prove my credibility and discuss a win-win business. 
      > Thank you!
      
      Hello $their_name,
      
      Why do you need a USA engineer and what do I need to do?
      
      - $my_name
      
      > Thanks for reaching me out.
      > 
      > I run a software development team with five talented developers who specialize in frontend, backend, full stack, AI/ML and blockchain technologies. Although we have a strong team, we are struggling to find enough jobs right now. As you may know, the economy in Europe is tough and low salary as well, so we are trying to find more opportunities in the US and Canada. However, this is challenging for us because of time zone differences, language barriers, and many US clients preferring to hire local people like you.
      > 
      > To solve these issues, I'm actively looking for someone who can help us in getting more jobs in the US. Since you are a US citizen, you can create accounts on job platforms like Indeed, Dice, Upwork and Wellfound. I think you may have already heard about Upwork. It's a world famous freelancing platform. After setting up your accounts, if you allow me to use them, I will apply for jobs by myself. When I receive interview requests from clients, I will notify you so you can attend the meetings. During the interviews, I will support you by quickly sending you the right answers to any technical questions that come up.
      > 
      > Once we secure a job, our team will handle all the development work, including any test projects. We will share the profits from the work we do, with a split of 30% for you and 70% for our team.
      > In short, your role would be to connect with clients and help us secure jobs, while our team takes care of the technical work. This is a great opportunity for collaboration and growth.
      > 
      > And there is one thing I need to tell you about using your account. Several platforms have very strict policies with ip addresses. If i use your account on my own machine, your account will be risky because ip addresses are different. And also they detect VPN, VPS, and some cloud services as well. To address this, we need to use your spare laptop. I will use your account on your spare one using a remote desktop application like Anydesk. Anydesk is a secure and safe remote desktop application.
      
      Cuong
      > Greeting,
      > 
      > I hope this message finds you well. My name is Cuong, and I came across your information on your website ( WE need it ). I am excited to share that I have a potential long-term collaboration opportunity that I believe could be mutually beneficial.
      > 
      > We’re a fast-growing IT consulting company based in Malaysia, with a talented team experienced in web2, web3, mobile development, and AI. As we expand into the U.S. market, we’re actively seeking a reliable business partner—someone like you—to grow together.
      > 
      > Here’s how we can support you:
      > - Proactively apply and schedule interviews on job platforms on your behalf
      > - Optimize and refine your resume and LinkedIn profile to stand out
      > - Provide technical guidance to help you succeed in interviews
      > - Take care of the actual development work once new projects are secured
      > 
      > If this sounds interesting to you, feel free to reach out. We’d love to hear your thoughts and explore how we can collaborate!
      > 
      > Looking forward to connecting with you.
      > 
      > Best Regards
      > Cuong
      

      Some of these messages are even from people who are well-connected to former bosses and managers and other talented people that I personally know. They aren't coming out of my spam folder.

      I know I'm not special in this. I'm not the only one. They are throwing spaghetti on the wall until the meatballs stick, etc.

      But I thought... what if I could use this to my advantage? I would still need to do the interviews but they could do the legwork applying for jobs and reaching out to companies, connections that they already have, and then when they deliver the job contract I cut off contact with these nebulous associates? And I join the company like normal.

      Thoughts?

      15 votes
    24. How do you keep track of detailed work activities?

      Throughout my workday, I'm making changes to several components of various applications. I'm also testing different configurations in a large number of areas. How do you keep track of the details...

      Throughout my workday, I'm making changes to several components of various applications. I'm also testing different configurations in a large number of areas.

      How do you keep track of the details of your day-to-day tasks? Especially if you potentially need to roll back changes.

      I feel like it is way too much overhead to notate every little step. I could, but it would make my work take 2-3x as long. I also don't think recording my screen would have much benefit, as it's not easy to pinpoint when a breaking change could have been made.

      Personal context: while this is software development related, I'm generally stuck in the box of no-code platforms. That means I can't simply keep a git repository with frequent commits. Additionally, this platform does not support viewing prior versions of the different components, so there's really no way to compare.

      And for the pieces I am able to keep in a git repository (HTML and JavaScript snippets), that still isn't perfect because the place they are actually executed from is outside of my git repo and occasionally modified by others. But I don't expect guidance on how to predict when others change things.

      19 votes
    25. USB Wi-Fi adapter suggestions

      My (older, now) computer has started having issues with the WiFi cutting out. I looked at the connection strength and saw it was sometimes dropping to 0, so I picked up a WiFi extender, and now...

      My (older, now) computer has started having issues with the WiFi cutting out.

      I looked at the connection strength and saw it was sometimes dropping to 0, so I picked up a WiFi extender, and now it’s signal strength is usually around 70% (Windows only shows a percentage). However, even while monitoring the strength via a PowerShell script to watch the connection strength, it still drops out while the connection strength is > 70%. When it “drops out” I’ll run a speed test and see that it is basically uploading/downloading with kbps speeds instead of Mbps.

      My other devices in the same room don’t seem to have any issues, so I’m wondering if my antenna or WiFi card (built in to the motherboard) are just failing.

      I know PCIe WiFi cards are better, but unfortunately, as it’s an older computer (can’t even support Windows 11), the motherboard only has one PCIe slot that is in-use by the GPU.

      So, any suggestions for a USB WiFi card that actually works? (Or additional ways of troubleshooting a failing wifi connection…)

      10 votes
    26. Fridge at 41°F - safe or not?

      Heya! So I've got a new fridge, a GE GTS22KGNRWW 21.9ft³. Skipping over the fridge water line bursting and causing thousands of dollars of damage followed by the fridge crapping out, we're just...

      Heya! So I've got a new fridge, a GE GTS22KGNRWW 21.9ft³. Skipping over the fridge water line bursting and causing thousands of dollars of damage followed by the fridge crapping out, we're just trying to make sure the fridge is OK before the warranty expires and because we have a baby in the house.

      The ambient air was still above 41°F a few hours after we got it, so I cranked it to full blast and put a glass of water in to have a better testing point. The ambient air has been fluctuating between like 39-44° F and the water glass measured between like 39.0°-41.0° F after about 24 hours with occasional use. I know I'm worrying because the last fridge just crapped out and spoiled a ton of food, and I know opening the door always causes it to drop (which I'm obviously doing to test it), but it seems kind of high to me for a brand new fridge if 41 is really the upper limit. Is this an acceptable range, or should we ask for someone to come out and look at it?

      16 votes
    27. How is Linux these days?

      How is Linux these days for everyday desktop use? I'm looking to reformat soon and I'm kind of sick of all the junk the comes alone with Windows. I've used Linux briefly, back in the early 2000's...

      How is Linux these days for everyday desktop use? I'm looking to reformat soon and I'm kind of sick of all the junk the comes alone with Windows.

      I've used Linux briefly, back in the early 2000's but..not at all since really. I'm also learning web dev so I thought it could be fun to use to get used to it.

      Do you use it for everyday use?

      If your unfamiliar with Linux, how difficult is it to get things "done" on it?

      Do most modern apps work these days?

      As someone that's been using Windows for most of their life, do you think it's difficult to pick up and get running?

      Do games work?

      Edit I'm going to test out mint tonight on a thumb drive, thanks everyone!

      52 votes
    28. When/Why/How did Cloudflare become such a critical/integral part of the Internet?

      Presumably, my understanding of Cloudflare is too simple, too rudimentary, or even entirely lacking in some aspects. As far as I understand it, the main feature is just faster and more reliable...

      Presumably, my understanding of Cloudflare is too simple, too rudimentary, or even entirely lacking in some aspects.

      As far as I understand it, the main feature is just faster and more reliable access to sites, right?

      If I host a website on a server in New York, and someone tries to look at it in Tokyo ... that's a long distance and a lot of potential hops to retrieve the file(s) directly from the NY machine. Cloudflare provides closer-location mirrors of websites so there is less lag time, plus having multiple copies makes my website more readily/reliably available.

      That's good, I get that, especially for big, professional business-critical-type sites/services.

      But it's not actually essential, is it? Anyone, anywhere on Earth could still visit my NY website w/o the existence of Cloudflare.

      Is there more to Cloudflare than this? I realize they are getting into a variety of 2ndary "value-added"-type features, like their own "are you a robot" tests and probably a bunch of other stuff I don't know about ... but fundamentally, are they actually necessary for the Internet?

      Why is Cloudflare such a big deal?

      38 votes
    29. Paying for AI: Have you found it to be worth it?

      I'm starting to use AI increasingly, and am getting some value out of it. I'm curious if paying for paid tiers of the big players (in particular, ChatGPT and Claude) provides significantly better...

      I'm starting to use AI increasingly, and am getting some value out of it. I'm curious if paying for paid tiers of the big players (in particular, ChatGPT and Claude) provides significantly better responses.

      I'm aware that the paid tiers offer more features and benefits than just higher response quality. For me, those are just nice-to-haves, and not my primary concern.

      My main uses of AI are software development and foreign language learning. So far, I've used the free versions of ChatGPT and Claude, as well as "proxies," including Github Copilot and Duck.ai. For both my use cases, I've found the responses usually good and helpful. I just maintain a healthy skepticism about the correctness of the answers, and challenge, test, and double check where needed (especially testing suggested code when developing software).

      Have you found response quality to be noticeably and significantly better with paid tiers? I was just randomly thinking, and it occurred to me that the cost of an AI subscription is in the same ballpark as a subscription to a language learning service like Duolingo. So, if I can get value from AI that approaches what I'd get from a dedicated language learning service (even if it doesn't quite match or exceed it), then also getting the value of general AI in the same subscription should make things quite valuable and worth it. Not to mention possibly getting better software development assistance in the same package.

      32 votes
    30. My hands-on experience with the Gun4IR

      Note: This is NOT a sponsored post. I'm just a happy customer. Background When the G'AIM'E Kickstarter was announced, I got the itch to play light gun games again. I grew up playing Time Crisis on...

      Note: This is NOT a sponsored post. I'm just a happy customer.


      Background

      When the G'AIM'E Kickstarter was announced, I got the itch to play light gun games again. I grew up playing Time Crisis on my PSX, stepping on a controller plugged into port 2 which acted as a makeshift pedal so I could mimic the arcade experience. A local pizza place near me had an Area 51 machine that I could play for a quarter, and over time I memorized the enemy layouts for that game so that I could play further and further on one coin.

      There are a variety of modern light gun models available now, though all of them are at the hobbyist/tinkerer level. There isn't one that "just works" smoothly and easily.

      The most well known is the Sinden, which achieves calibration on games by setting up a white border around the game on the screen. This allows the gun to establish its position within that border and "know" where it's shooting.

      Unfortunately, when I looked into the Sinden, it seemed like reviews were very mixed, with many mentioning that the border can be kind of a mess to get working. Apparently it can require a lot of legwork and messing around with settings and external programs and whatnot.

      After searching around for alternatives, I landed upon a different line of modern light gun and decided to, well, pull the trigger.


      Gun4IR Intro

      Gun4IR on its own isn't a standalone product so much as it is a framework for making a modern light gun. You can buy the individual components and put them all together in a gun casing, making a functional light gun of your choosing. For example, see the User Guide which goes into detail about which boards you'll need, pin guides, etc. People have made them in Nerf cases and 3D printed ones.

      Now, if I'm going to ding the Sinden for requiring too much tinkering, surely soldering wires onto PCBs is a step in the wrong direction?

      That's absolutely correct! The good news is that you can sidestep all of this. Gun4IR has some official pre-build sellers, meaning you can buy an already made gun -- no soldering needed! Their site sells builds for the UK, while, RPEG Electronics is their official pre-build seller for the US.

      From RPEG, I picked up a pre-built Gun4IR setup in a Guncon 2 housing.


      Gun4IR Basics

      As is implied by the name, Gun4IR uses 4 different IR clusters for calibration. You can buy a pack of LED sensors that plug into the USB port of your TV. You stick these, facing out, to the midpoint of the top, bottom, left, and right of your TV. The LEDs are black and their light can't be seen with the naked eye but can with a camera (you can check to make sure they're working with your phone).

      The gun comes with calibration software that gives you lines on your TV to show the mount points for the LEDs, check how the gun is seeing the sensors, line up shots, etc.

      I'm happy to report that, once calibrated, my gun is VERY accurate. I was honestly expecting a bit of jank, but it's genuinely spot on. There's a small bit of jitter that's noticeable when you have a crosshair on (some of that also might be coming from my unstable hands), but when you're playing a game without a crosshair, it's not enough to make you miss shots. The shots I've missed have been because I'm, well, bad at videogames.


      Games

      Because I wasn't wanting to tinker, I found a big download pack that promised me a pre-configured set of ROMs and emulators that were turnkey and compatible with Gun4IR. I spent days downloading all the individual parts from one of those sketchy download sites, getting all the parts of a multi-part RAR file.

      And when I started extracting it, wouldn't you know, it was INFESTED with viruses. I uploaded one of the .exes to VirusTotal and I've never seen so much red.

      Shame on me, though. I'm not an internet newbie, and I should know better than to trust random executable files, especially on Windows.

      So, I went seeking an alternate solution.


      Batocera

      Batocera is a Linux distribution focused on retro-gaming. You wouldn't use it as your daily driver, but you would use it if you want to just boot into something so you can play games. Additionally, Batocera has built-in light gun support! Perfect!

      I did my usual "setup emulation" dance that I've done so many times before: looking up worthwhile games to play, locating ripping ROMs, getting the right extracting BIOSes, etc. I also bought an external hard drive and attached it to my Windows TVPC. I can now boot off the hard drive to go into Batocera directly (because I didn't want to try to figure out dual booting with Windows).

      Batocera is like booting into an arcade cabinet, loading right into ES-DE. It doesn't really expose its file system to you by default, but it's got a killer feature that makes setup easy: Batocera automatically sets up a network share for you. This lets you access all of its folders from another device, meaning I could set everything up on my laptop and transfer it over easily to Batocera.

      Furthermore, Batocera automatically knows when you've got a light gun attached and will show a gun icon on games that are compatible. In theory, I'm able to navigate the interface just using my light gun, but in practice I also paired a bluetooth controller. (See Caveats section below for more on this.)

      You don't HAVE to use Batocera of course, but it ended up being so easy that it became my preferred setup.


      Gaming

      So, I got the gun calibrated, and I got my games set up in Batocera. It's time to shoot!

      I'm happy to report that the gun works fantastically. Like, seriously good.

      For most games and emulators, it "just works" which is exactly what I wanted. I tested out several different games on several different platforms, and it worked on stuff ranging from the Atari 2600 to Naomi arcade cabinets.

      I played through the first 10 rounds of Duck Hunt on the NES without missing a shot before getting bored and moving to something else. Time Crisis on the PlayStation (my original light gun love) plays wonderfully.

      I had a friend over this weekend who also loves light gun games and has nostalgia for TC (though his is for TC2 and TC3). We traded off rounds playing Time Crisis 2 (which ended up being a good way to do it, as I forgot how my arms and eyes need a rest after 15 minutes of light gun gaming). We beat the full campaign in 2 and almost beat 3.

      I also tried the gun out in some Windows games off of Steam, just to make sure that my Batocera success wasn't a fluke. Sure enough, it worked just fine!

      I now have an accurate, easy-to-use light gun setup that works on my large, modern LCD TV. I have hours of light gun gameplay ahead of me, and I'm thrilled.


      Caveats

      Wow, kfwyre, this sounds great! I can't wait to get one for myself!

      Easy there, cowboy/cowgirl/cowthem! Let me surface some of the rough edges, lest you think that this is too good to be true.

      Price

      The buy-in price was $300 for me: $250 for the gun and $50 for the IR sensors. This is NOT cheap. You have to REALLY like light gun games to make this worthwhile.

      Games

      Most light gun games have short campaigns and can be somewhat player-antagonistic. A lot of them are/were arcade cabinets designed to eat your quarters, so they have a lot of cheap deaths built in.

      You get longevity out of them by playing them over and over and memorizing enemy patterns and levels, but this type of gaming doesn't speak to everyone, so be aware that if you're not ready for that kind of gaming, your very expensive light gun might become a very expensive paperweight sooner rather than later.

      Sensors

      The sensors aren't designed to come on and off of your TV, as you would have to recalibrate each time you moved them. As such, you have to be comfortable with the sensors being on your TV/monitor permanently.

      If I'm being honest though, I thought permanent sensors would bother me more than they actually do. They are noticeable, especially when the TV is off, but they quickly become "invisible" in the same way that you don't notice your TV legs or the company logo. And when the TV is on you're so focused on the content you don't see them at all unless you're looking for them.

      Lack of Portability

      Because of the hardware sensors, you can't really have a portable setup in the way that you could with a Sinden or as promised by the G'AIM'E. I'd love to take a light gun setup with me to friends' houses or when we have our nerd weekend meetups, but this simply isn't built for that sort of thing.

      Stray LEDs

      The gun is susceptible to catching stray LEDs, which can throw off your inputs. It features sensitivity settings you can change in hopes of having it ignore them, but in practice I had to cover up some lights from other sources with electrical tape.

      The most egregious one is that my bottom sensor sits right below the IR input for my TV, which I learned features a blinking LED that was messing up my accuracy. If I cover it up with electrical tape, I lose the ability to use a remote, so I have to take that piece of tape on and off depending on whether I'm shooting or using the TV for something else.

      Windows-only Configuration

      In order to calibrate the Gun4IR hardware, you have to use the included software that comes with the gun. This only runs on Windows (note: you could possibly get it running through WINE or something, but I didn't try this).

      Once you calibrate the gun, you save the configuration to the gun itself, and it'll work in other environments (like Batocera), but at present there's a Windows dependency for this kind of setup.

      Prebuilt Gun Quality

      The US prebuilts use actual Guncon and Guncon 2 casings. These, of course, haven't been produced in a long time, so you're getting an old, used controller.

      My Guncon2 has a spongy d-pad in which inputs sink in and don't return to neutral, making the d-pad unusable. This is likely an issue with my specific build rather than the Gun4IR platform as a whole, but it's worth noting that, if you're getting a pre-built, you might have some inevitable QC issues because they're being built in guns from 20 years ago.

      That said, the actual Gun4IR components are rock solid so far.

      Controller "Requirement"

      I had dreams of controlling Batocera using only my gun, but I ended up connecting a controller as well. In part this is because it's simply easier to do things with the controller, but it's also because Gun4IR can't be configured to allow chorded inputs for its buttons, which are necessary for tasks like exiting a game. This makes the setup a little clunkier, but it's not a dealbreaker by any means.

      Recoil

      The gun technically has "recoil" (which, from what I can gather, is just a powerful rumble). It requires an external power supply. I don't have a plug near where I connect my gun to the computer, so I haven't tested this. It's entirely optional though, and I don't feel like I'm losing out on anything by not having it.

      Accuracy

      While I'm impressed with the gun's accuracy, I do lose a little bit of accuracy when I'm deep in the corners of my screen.

      I haven't figured out a way around this, but it's mostly a non-issue. For one, many light gun games don't tend to put targets in the corners anyway, and, even better, most of the games I'm playing are in 4:3 anyway, so they don't even come close to the corners of my 16:9 screen in the first place

      Lenses

      The corner inaccuracy mentioned above might be because I'm using a fisheye lens for the gun. It came with it, though it's optional. The fisheye gives the gun a wider viewing angle, which lets it see the sensors well even when moving around and lets you get closer to the screen without losing accuracy.

      I tried calibrating the gun without using the lens but I would have had to stand so far away from my TV that it would have been comical. The fisheye lens lets me stand at what I would consider the "right" distance for playing.

      Finding Solutions

      Being a niche product, it can be hard to find solutions online when something isn't working. The Sinden, for all the setup it requires, has a LOT of online documentation and discussions about it.

      When looking for Gun4IR help, I inevitably ended up reading through stuff about the Sinden to see if it would help. There isn't a lot out there about Gun4IR specifically, so you're kind of on your own. There is a Gun4IR Discord though that might be helpful. From what I saw, the support on there is less about getting specific things running and more about people needing help with the DIY build processes.

      PCSX2

      While most systems "just worked", PCSX2 didn't. I have no idea if this is because of the gun, the emulator itself, Batocera, or something else entirely. Time Crisis 2 and 3 open with their own Guncon calibration screens, and I would get stuck on them. I could shoot, and the screen would flash and give me the gun sound, but it wouldn't ever calibrate and move forward.

      I initially got around this by disconnecting the gun and loading the game so that it didn't pull up the calibration screen. Then I made a save state past that screen that I could load with the gun already connected. However, when I did this, the accuracy was consistently off.

      I finally learned that you can map a button called "Calibration Shot" in the settings for the emulator. This is, for some reason, different from a regular shot? This now lets me pass the calibration screen and have accurate shooting.

      Also, one time during Time Crisis 3 the gun seemed to get stuck in the upper right quadrant of the screen. It would still shoot, but the shots didn't line up with where we were aiming. We restarted the emulator, and the issue went away and hasn't cropped up again.


      Conclusion

      I am quite fond of my Gun4IR so far. It works better than I hoped it would, and it's unlocked a type of gaming that I thought was extinct. (For some reason, light gun games have a different feel to me than VR shooting gallery games. Maybe it's just nostalgia, but I like them a lot more?)

      I would recommend it ONLY if you're someone who knows they're going to get their money's worth out of it and are also willing to put up with the mostly minimal tinkering required to get it working. I say mostly minimal because, no matter what gun you're using, you're still going to have to set up emulators and ROMs and whatnot. The configuration that is specific to Gun4IR is really just installing the sensors, using the calibration app, and making sure your gun isn't catching other LEDs.

      Compared to the G'AIM'E (which is a bit of a fool's errand at this point because that one's still theoretical while this one's here to kiss you in real life), Gun4IR doesn't offer the "plug and play" promise, but it also is compatible with far more games. If you're in the market for the G'AIM'E, however, it's probably worth waiting out that release to see how it fares (and whether people can get it working with more games besides the included ones).

      On the other hand, if you're like me and need some light gun fun NOW then I give the Gun4IR a pretty strong recommendation, with a secondary recommendation for Batocera. The two of them together are really great, and I'm delighted that I have hours upon hours of shooting games ahead of me.

      If anyone has any additional questions or wants me to test specific games/systems, let me know. I'm happy to report back and help in whatever way I can.

      27 votes
    31. What is your opinion whenever you see news/opinion that tech companies are relying more on chatbots rather than junior developers/interns?

      I see that in the headline from time to time. Not really sure how prevalent it is and it's pretty disappointing news. but I also can't help but think: the news articles are probably overblowing it...

      I see that in the headline from time to time. Not really sure how prevalent it is and it's pretty disappointing news.

      but I also can't help but think:

      1. the news articles are probably overblowing it and it's not probably not as prevalent as it's being portrayed
      2. that any tech company doing that is shooting themselves in the foot. in total, I was an intern at various companies for a little under 3 years. I don't doubt that the work I did for the majority of the my co-ops were all things that could have been done by a chatBot. writing unit tests and small scripts and etc. but they were invaluable to me (1) understanding what is expected of me in a professional environment and (2) gave me a basic idea of how to code in a professional environment (2) gave me alot of perspective on what technologies and tools I should spend spare time learning cause my university very much focused on dinosaur-era languages, for the classes that did teach any coding related skills. same for the friends I went to uni with. So all I think is maybe in the short term, they are saving money on not hiring interns/co-ops/junior devs to do work that can be done by a bot but I feel like in the long terms that will reduce the number of intermediate/senior devs on the market which means they'll be in higher demand and cost more money.
      26 votes