• 0 Posts
  • 17 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle

  • 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


  • 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





  • I like to create things. For me, its a nice feedback loop of positive feeling throughout the process.

    I get to learn new skills in order to complete the thing I’m trying to make. At the end of the day, I get to feel good that I learned something new.

    I get to work with my hands and throughout the process, I get to see the progress I have made. At the end of the week, I get to hold the thing as its coming along and feel good about the progress I’m making.

    At the end of the month / few months when I’m done with the build, I get to feel accomplished as I have overcome the challenges along the way, and I have a finished “thing”

    For the foreseeable time after, each time I use the thing I made, I get a little boost of positivity, because I get to think to myself “yeah! I made this!”

    It also allows me to be social by sharing the thing I have made with other makers online, or I can help them with their projects by sharing knowledge I have accumulated.




  • Yep, as others have said, valetudo. I have a z10 pro and love it. I highly recommend one with an auto empty dust bin… Having to clean it after every run defeats the purpose of an automated vac. if you forget to empty it, it will be very ineffective the next run.

    Also, I would say make sure you can assign a room for it to clean. If you have cats, automating it to clean the litter box room after they go is soooo nice


  • Old PC that can be on all the time.

    If you dont have one and want dedicated hardware, I would recommend a used server, or something you can whitebox (like using as asrock rack mobo that takes a desktop ryzen but supports ecc memory)

    Put proxmox on as the host OS, two ssd’s in raid 1 is good for a boot drive / VM storage drive. Raid 10 if you want real high performance, but probably unneeded.

    Look for a case that has a SAS backplane, and then connect the backplane to a HBA card. Pass this card through to freenas for storage shares and stuff.

    I recommend not virtualizing your router. So, if you want togoet away from Soho gear, either flash a Soho router with openWRT, or build a separate box for pfsense or opnsense. If you go that route, you will need a separate switch / access point. Unifi gear has a good balance of features and affordability, and can all be managed from a single ui (let’s say you have 3 switches and 2 access points… You dont need to go to 5 web UI’s, its all in one spot - and you can self host the web ui in proxmox)