• 1 Post
  • 81 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • RAID is more likely to fail than a single disk. You have the chance of single-disk failure, multiplied by the number of disks, plus the chance of controller failure.

    RAID 1 and RAID 5 protect against that by sharing data across multiple disks, so you can re-create a failed drive, but failure of the controller may be unrecoverable, depending on availability of new, exact-same controller. With failure of 1 disk in RAID 1, you should be able to use the array ‘degraded,’ as long as your controller still works. Depending on how the controller works, that disk may or may not be recognizable to another system without the controller.

    RAID 1 disks are not just 2 copies of normal disks. Example: I use software RAID 1, and if I take one of the drives to another system, that system recognizes it as a RAID disk and creates a single-disk, degraded RAID array with it. I can mount the array, but if I try to mount the single disk directly, I get filesystem errors.



  • University is ok if you’re starting at zero and don’t even know what’s out there. It’s for exposing students to a a breadth of topics and some rationale of why things are as they are, but not necessarily for plugging them into a production environment.

    Nothing beats having your own real world project, either for motivation or exposure to cutting edge methods. Universities have tried to replicate that with things like ‘problem based learning,’ and they probably hope that students will be inspired by one or two of the classes to start their own out-of-class project, but school and work are fundamentally different ways of learning with fundamentally different goals.



  • I came to MySQL and Apache because they were the backend for other services I wanted to start,. Later, when I wanted to build my own, I already had Apache running, so why would I add nginx? I did let other services add sqlite, but have (in most cases) figured out how to switch those to MySQL.

    All of that has been running for 20 years. I’m sure it would be good for my dementia-risk to learn how to start ngnix and migrate all those services, but it’s far more attractive not to mess with what works.


  • The CO2 sensor calibration thing is inherent in the technology. They drift, a lot, and without occasional reference to a known standard, there’s no way to know whether “1000” is really 1000, or 500, or 2000, but exactly how that gets implemented seems to vary a lot. I have an SCD30 board from Adafruit, which internally records CO2 minima and, over the course of week or so, adjusts its calibration so that minimum is 420. That means no special calibration procedure, but it does have to be somewhere that it gets periodic fresh air exposure.

    There’s a newer, photoacoustic sensor technology that doesn’t seem to require continuous recalibration, but (at least this one: https://www.sparkfun.com/products/22956 ) require an extensive initial calibration.


  • My CO2 sensor has dramatically changed my routines. My space isn’t small - maybe 1200 square feet/100 sq m - but it must be pretty well sealed, because I can easily see my own breathing add to CO2. Nevermind cooking on the gas stove. Treadmill time adds 500+ ppm.

    Now, I open windows every chance I get (which isn’t super often, because the dewpoint is 70 oF/20 oC in Atlanta), and I’ve shifted a lot of my cooking to an electric tea kettle, hot plate, and toaster oven.



  • pihole, in front of my own DNS, because it’s easier to have them to domain filtering.

    mythtv/kodi, because I’d rather buy DVDs than stream; rather stream than pirate; but still like to watch the local news.

    LAMP stack, because I like watching some local sensor data, including fitness equipment, and it’s a convenient place to keep recipes and links to things I buy regularly but rarely (like furnace filters).

    Homeassistant, because they already have interfaces to some sensors that I didn’t want to sort out, and it’s useful to have some lights on timers.

    I also host, internally, a fake version of quicken.com, because it lets me update stock quotes in Quicken2012 and has saved me having to upgrade or learn a new platform.




  • If you’re trying to avoid a whole zigbee or zwave network, Govee makes some inexpensive battery-powered bluetooth thermometer/hygrometers, and have a HA integration, but bluetooth can be tricky to get running on Pis. I feel like most of the actual wifi devices are phone-home type setups. My govee thermometers have pretty good range - one of them even reads from inside the refrigerator.


  • It’s even easier with digital broadcast. I finally had to give up my PCI tuner, because who puts PCI slots on a modern mobo? $25 will get you a USB TV tuner capable of getting all the OTA and cable channels. I used to get, like, 7 analog OTA channels - ABC, CBS, NBC, PBS, and a regional independent - but I get 30 digital. All the majors have added 3-5 channels of SD reruns or other filler. I mean, it’s mostly shit, and the only thing I actually watch is local news, but for a one-time $25 cost, it’s a great supplement to streaming.

    My biggest problem with MythTV is it doesn’t interface with streaming, so I use Kodi on the frontend to source from mythtv, netflix, hbo, or whatever.



  • This is an old post about ipv6, but it inspired me to go looking, and I wanted to share my findings.

    1. for globally routeable IPv6 addresses, probably do let it happen automatically, either direct from the ISP, through the router by prefix delegation, or your own implementation of prefix delegation.

    2. for devices you want to access, internally, create a ULA within the fd00::/8 space, and assign numbers (and names) however you like. Translate all your 192.168.x.y IPv4 addresses to fd00::x:y and go. Only limitation is you won’t be able to access those devices, using the ULA, from outside your network.

    3. you can do both of these on the same subnet, and devices pick up both addresses then use the global address for internet and the ULA for intranet.

    That means you can do dhcp, dynamic DNS, private domains, and all the stuff you know about IPv4 for IPv6, and still do all the stateless autoconfig that “they” want. Some devices, like my android phone, never played well with dhcpd6, but immediately preferred IPv6 as soon as I let them SLAAC.

    If the prefix assigned by the ISP doesn’t change, then device SLAAC address shouldn’t change, either, because they’re calculated from MAC, so if you need to access some internal devices from the internet, you have to mark that address, but (IMO) marking the full address is not that much worse than marking the prefix and remembering the device number.




  • Yeah, I think it really depends on use case. Like, I’m trying to imagine what aspect of my home lab could go so wrong, while I’m out of the house, that it would need fixed right away, and there’s nothing. I only leave my house for work or maybe a week of vacation, though, and I can imagine someone who’s occasionally away from home/house for 6-month deployments, or has a vacation home they only visit four weekends a year, might want more extensive remote maintenance. I’d still want to do that via ssh or vpn, but that’s me.



  • IPv6 does have private spaces. Any prefix beginning with fd is ‘private,’ and (IIRC) there’s a formula to generate the next 40 bits of prefix to minimize the chance of intersections. i.e., you can generate your own internal /48 functionally equivalent to 192.168/16 or 10/8

    Don’t know if you can use that with SLAAAC, but it works if you run a dhcpv6 and makes ipv6 feel a lot like ipv4. You have to NAT everything inside &c, but if you already have a functioning internal IPv4 network, IPv6 is just a matter of figuring out which config options need to be changed (eg, dhcp6.name-servers for option domain-name-servers)