• 2 Posts
  • 36 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle

  • yeah, the emergency kill switch had the full power going through it. I did something similar with relays on the back with the initial esp32 control, where if the relays were powered but no signal was sent to the relays, it would close the brake pins on the cheaper ESC’s as another safety feature.

    it was kinda cool, a little kid (like, elementary school aged) came up and was asking about the project, with his dad right behind him. the kids questions were all pretty much around how he could potentially make something similar. I answered them in an age understandable way, but also walked through all the different potential failures and how it related to saftey, and how I added things like the relays, battery fuse, and cut off switch to mitigate the risks. basically saying “yeah, making something like this is dangerous, but you shouldn’t let that get in the way of making your ideas a reality - its just important to walk through those risks and mitigate them as best as you can, and think if you can reach an acceptable risk before you spend money and time”. The dad didn’t say anything, but i could tell he was beaming since the kid was realizing all the safety stuff, and realizing that thinking through that stuff is very important. about 1/2 way through, the kid was just asking more safety related questions haha








  • Yep, to add on as well as summarized this… Linux has historically had a design methodology of “everything is a file”. If your not familear with the implications of this, it means your command line tools just kind of work with most things, and everything is easy to find.

    For instance, there’s no “registry / regedit” on Linux… There’s just a folder with a config file that the application stores settings in. There’s no control panel application to modify your network settings… Just a text file on your OS. Your system logs and startup tasks were also (you guessed it) sinole filea on the system. Sure there might be GUI apps to make these things easier for users, but under the hood it reads and writes a file.

    This idea goes further than you might assume. Your hard drive is a file on the file system (a special file called a block device). You can do something like “mount /dev/sda1 /home/myuser/some_folder” to “attach” the drive to a folder on the system, but that special block device (dev/sda1 in this case) can be read and written to byte by byte if you want with low level tools like dd.

    Even an audio card output can show as a file in dev (this is less the case now with pipewire and pulse), but you used to be able to just echo a raw audio file (like a wav file) and redirect the output to your audio device “file” and it would play out your speaker.

    Systemd flipped this all around, and now instead of just changing files, you have to use applications to specify changes to your system. Want to stop something from starting? Well, it used to be that you just move it out of the init directory, but now you have to know to “systemctl disable something.service”, or to view logs " journalctl -idk something.service" I dont even remember the flags for specifying a service, so I have to look it up, where it used to just be looking at a file (and maybe use grep to search for something specific)



  • I run freeipa internally, which handles all internal https certs (as well as nice things like handling non sudo auth so I can just ssh to machines from an already authed machine without a PW prompt, and doing ldaps for internal things that support it)

    For external web, I have a single box running nginx as a reverse proxy thats web exposed. That nginx box has letsencrypt certs for the public web stuff. The nginx rp has the internal CA on it and will validate the internal https certs (no mullet SSL here!)

    I also do different domains for internal vs external, but thats not a requirement for a setup like this


  • No, not at all… Its an enclosure for an existing hard drive that makes it into a portable media device (like a flash drive), but because its an actual ssd you get much better sustained speeds.

    There’s also some cool features like drive encryption, as well as if you put an iso file on the drive, you can navigate to it on the on the iodd device using the screen and buttons, and then select it. The enclosure will emulate a DVD reader, and you can just boot the iso without having to do any etcher / Rufus / yumi / dd stuff



  • I bought counterstrike source way back in like 2008/2009 when I got a computer fast enough to play it. Steam was pushing garrysmod as a 5 dollar bundle purchase with counterstrike, and I bought that too on a whim.

    I liked garrysmod more than cs:s, and played it a bunch. Eventually I figured out how to add wiremod to the game, which also involved using svn (a source control precursor to git)

    I learned basic digital circuits and boolean logic by making bases with elevators and fancy alarm systems that would shoot intruders with turrents and stuff.

    Eventually wiremod added a programming language called expression2, which was a mashup of c and lua. I basically taught myself coding because of a video game.

    This lead me to get into computer programming, and eventually computer security, which ended up being a lucrative career path… So thanks Garry for your mod, and thanks Gabe for pushing said mod to kids that just wanted to shoot virtual terrorists. That 5 dollar game is responsible for a good chunk of my life :)


  • Can you give more context to where the phrasing is used? Coming from a computer science angle, there are different data types for different things. For instance, you would use a “float” (floating point) data type to store a number like 7.12. Likewise, you use an “int” to store a whole number (such as 7). Because computers use a certain number of bits to store information, this means there’s a max size to your data. int data types specifically have a “signed int” option as well as an “unsigned int” (the latter being a non negative integer). The benefit there is that by not storing a sign, the int can store numbers about 2x as large as a signed int.

    If I dont need to ever store a negative value, I might explicitly call out that when writing out an algorithm



  • A prion is just a misfolded protine that has some adverse behavior that your body can’t detect (there’s a mechanism that if your body identifies a malformed protine, it will terminate the cell making it). Anyway, prions live in this small region in a Venn diagram whereits can’t be detected, but can still replicate and cause harm.

    We mostly think of prion diseases (like mad cow) affecting the brain, but I dont think prions are isolated to the brain… Prion deseases happen to involve the brain a lot because a misbehaving protine in your brain will have a lot more apparent effects



  • Significantly better code gen, but not to the point where it can make an application on its own. I tried using it for an embedded esp32 based project for fun, and while it could create mqtt support, the code for setting up WiFi / a small web backend / some HTML for a front end… It struggled with the application logic. Either way, it got about 70% of the way there



  • Highly recommend a soda stream, or soda stream alternative. My go to is 4 or 5 drops of lime juice in a glass, then the carbonated water. Tastes identical to the canned stuff, but way cheaper (and maybe less preservatives? Idk if the canned water has anything besides fruit juice and water)

    I also occasionally like root beer if I’m eating something junky like a pizza slice or burger. I bought a bag in a box of syrup from the small root beer brand I enjoy, and can make my own for a few cents instead of a few bucks per bottle. Plus, I can control the concentration depending on how sweet my sweet tooth is feeling that day