bitwyze's recent activity

  1. Comment on Does anyone use self-hosted recipe server/software like Mealie? in ~food

    bitwyze
    Link Parent
    It is self-hostable, though it looks like they took that off the home page. I host it on my local Proxmox machine. https://docs.tandoor.dev/install/docker/

    It is self-hostable, though it looks like they took that off the home page. I host it on my local Proxmox machine.

    https://docs.tandoor.dev/install/docker/

    1 vote
  2. Comment on Does anyone use self-hosted recipe server/software like Mealie? in ~food

    bitwyze
    Link
    I use tandoor as my back-end and kitshn as my front-end for both my wife and myself. I don't think it does the "make a meal from these ingredients," but it does allow you to generate a shopping...

    I use tandoor as my back-end and kitshn as my front-end for both my wife and myself. I don't think it does the "make a meal from these ingredients," but it does allow you to generate a shopping list from your recipes. I can't speak to how well it works because we use a different shopping list app (for now).

    The kitshn dev is very responsive and has fixed a bug I found and added in a feature I requested in pretty short order!

    3 votes
  3. Comment on Lost in a sea of HVAC in ~life.home_improvement

    bitwyze
    Link
    Hello fellow new homeowner in New England! My (now) wife and I purchased our first home in MA last year and we've been dealing with similar issues, especially this past week with the heat wave....

    Hello fellow new homeowner in New England! My (now) wife and I purchased our first home in MA last year and we've been dealing with similar issues, especially this past week with the heat wave. Like you and most people in New England, we have an oil furnace and no AC (we do have window units). I plan to put a heat pump in, hopefully within the next few years, but we first tackled our own sub-par insulation issues (that was just finished a couple of weeks ago), and we're having our ancient single-pane windows replaced with ones that are more energy efficient.

    While we'll probably go with mini-splits in our house (we have steam baseboard heating, no ducts), there are ducted heat pump systems that hook into your existing ductwork - this seems to be what you want? There's a section here that explains them: https://www.thisoldhouse.com/heating-cooling/how-to-upgrade-to-a-heat-pump-system
    They're generally less efficient than mini-splits, but probably still more efficient than your furnace if you choose to use it as your primary heating source, plus it gives you the cooling in the warmer months.

    You certainly don't have to remove your existing furnace to install heat pumps, but depending on where in NE you live, there might be incentives to doing it. AFAIK, here in MA there's a rebate you can qualify for if you do. Our furnace is also our hot water heater, so no-can-do for us, but my sister and brother-in-law just added a mini-split heat pump system and their contactor conveniently "uninstalled" their furnace by unplugging the electrical cord, and they qualified for the rebate. The contractor made sure to tell them that their furnace was disconnected and that they qualified and showed them how to reconnect it. You know, in case of an emergency ;-) for us, we plan to keep the furnace as an emergency backup, which is highly recommended.

    Also, take a look and see if your state offers discounts on making your home more energy efficient! The MassSave program is pretty great - we had the insulation in our attic and knee-walls redone for just under $1k and we're definitely feeling the difference. They also offer 0% interest loans on heat pump installs. We're also taking advantage of a rebate for our new windows. I think the rebate is $75/window, so not a lot, but it'll be a couple grand for us.

    4 votes
  4. Comment on Why so many people are going "no contact" with their parents in ~life

  5. Comment on What is your favorite dinosaur? in ~talk

    bitwyze
    Link
    I was always partial to Parasaurolophus as a kid! I liked the idea of having a trumpet-like instrument attached to the back of your head

    I was always partial to Parasaurolophus as a kid! I liked the idea of having a trumpet-like instrument attached to the back of your head

    7 votes
  6. Comment on open_slate: private and powerful 2-in-1 tablet in ~tech

    bitwyze
    Link Parent
    Happy to help! I'm sure a networking stack will be included, and they'll have to hook the stack into their NIC (the wifi adapter in the tablet). They'll probably use an off-the-shelf wifi module...

    Happy to help! I'm sure a networking stack will be included, and they'll have to hook the stack into their NIC (the wifi adapter in the tablet). They'll probably use an off-the-shelf wifi module that has support in the kernel already (so no custom kernel code for that) and simply configure the adapter with something like systemd-networkd configurations. The Arch wiki had a good writeup on how that works. Section 3.4 shows how to set up a wifi adapter.

    They might not include the package manager (Yocto ships with rpm) in their distro, but if you were to build your own OS image and flash the tablet with it, you could add it back in.

    I'm guessing a product like this would be super lean on resources as well right, seeing as you customized it just for the hardware, so should be slightly more performant than a typical x86 tablet/computer equivalent or something like that?

    It kind of depends. Apple silicon chips are technically ARM processors (it was a huge deal when they came out with them - none of the existing software that runs on x86 works on the different architecture without a translation layer), but the performance is great now because Apple has tuned the hardware specifically for their software needs. However, when building a product like this tablet, you generally don't design your own processor, you pick an off-the-shelf product from companies like Qualcomm. Those processors are generally less performant than an Intel or AMD x86 processor. However, the lesser performance there is generally acceptable because it helps your battery life, and you don't really need a top-of-the-line processor on a tablet that's just going to be web browsing.

    You do generally cheap out on stuff like RAM for these embedded products. It helps with margins, but you also just don't need 64GB of RAM for a product like this.

    You're better off comparing the performance of this tablet running stock aarch64 Ubuntu vs a custom Yocto OS - in that case, it's very likely that the Yocto-based OS will be more performant because there's less stuff (bloat) running on the OS.


    ... how different is working embedded systems on a day to day basis compared to traditional hardware? I'm guessing you have more knowledge of low level code such as assembly? Is it something you can transition into, or something you mostly learn through schooling?

    For background, I have a BS in Electrical and Computer Engineering (2016). Much of my curriculum was in embedded systems and we exclusively learned C and Assembly and worked a lot on STM32 dev kits. I did do some perl in my unix administration class.

    In my first job out of college, I worked on building application-level code - Qt-based GUI apps for Windows and Linux. I taught myself OOP on the job. From there, I found myself living in that application level and excelling, so that's really where I've stayed. I learned about Yocto in my last job and dove into it, but 90% of my work was still in the application layer, hooking libraries together to build end-user, customer-facing products. I even worked on some web front-end code, so I guess you could say I'm a full-stack developer for embedded products? I'm in a very similar role in my new job, which I started a year and a half ago. So, to directly answer your question - you absolutely can learn this stuff on the job.

    I don't do much down at the kernel level, I'm just aware of it and review the mods that my co-workers make at that layer.

    Edit: hit post too soon!

    1 vote
  7. Comment on open_slate: private and powerful 2-in-1 tablet in ~tech

    bitwyze
    Link Parent
    Let me try to clarify! When you go and install a Linux operating system (OS) onto your PC (what's known as an "x86 architecture" processor), you can generally just go and download some ISO image...
    • Exemplary

    Let me try to clarify!


    custom Linux firmware images

    When you go and install a Linux operating system (OS) onto your PC (what's known as an "x86 architecture" processor), you can generally just go and download some ISO image from the distribution's website (a distribution, or distro, is just a flavor of Linux. Examples are Ubuntu, Fedora, Arch, etc.), boot into that image off of a USB, and install the OS onto your hard drive. Embedded processors are very different - they use an entirely different "instruction set" (referred to as assembly, byte-code, etc.) than an x86 machine, and therefore the OS is fundamentally not compatible. Some distros provide OS images that are compatible with embedded processors, but not all of them do. And not all embedded processors use the same instruction set, so the more exotic processors usually don't have out-of-the-box support for the standard OS flavors.

    More importantly, for the distros that do provide an embedded flavor ISO, the hardware support isn't guaranteed. In embedded applications, such as this tablet, there's a lot of custom hardware going on, like the keyboard attachment, camera, kill switches, power button, etc. The Linux kernel (you can think of "the kernel" as the hardware-software interface code) does a great job of supporting a wide variety of relatively common and even some niche hardware. But for custom built, in-house hardware, there's no way the Linux kernel could support it because the kernel developers have no visibility into it. So, your engineering team has to write their own kernel drivers for this custom hardware. That's fine, and installing a kernel driver isn't necessarily hard, but if your production process is to flash your final product with some off-the-shelf embedded Linux OS, then install your kernel driver onto the hardware, that's going to be cumbersome and error-prone at-scale.

    Enter the Yocto project. It's a platform that allows you to build your own custom distro - no more trying to find some Linux OS on the internet that supports your processor. You say what processor you're targeting, and they'll build you a barebones OS that will run on that processor. From there, you can expand on that base OS and add exactly the elements you want and skip the stuff you don't (package managers, networking stacks, etc. that come baked in to the standard flavors like Ubuntu). For example, take the keyboard interface for this tablet - the development team will probably write a USB interface for that hardware that can be used to interpret keyboard inputs. They will write that hardware-software interface code, and that gets installed into their bespoke OS through a "recipe" in their Yocto codebase. Build the image and flash it onto the device, et voilĂ  - a custom operating system that supports your hardware. Now, when producing at scale, you take the final version of your operating system, flash it onto the hardware, and it's guaranteed to work straight out of the box.


    docker/podman containers

    Containerization is a methodology to run programs in a virtual environment. If you've heard of virtual machines (VMs), they're similar, but more "lightweight" due to the fact that a container does not have to spin up its own kernel, whereas a VM does. Docker is the de facto standard for containerization software, but Podman is a competitor that's gaining momentum.

    meta-virtualization layer and add the docker recipe to your image

    The way the Yocto project works is by having developers build "layers" and define software packages within these layers. There are lots of open-source layers, such as the meta-virtualization layer. That layer provides the information needed to build the docker executable (and all its dependencies) to run on the custom hardware. You can just grab it from GitHub and hook it into your custom Yocto-based distro, and now you've got containerization in your custom OS.


    Got secrets in your password manager that you want to grab at compile time and inject into your system?

    Say you write a bot to post on Reddit/Discord/etc. You need credentials to log in to the site and make the posts. If you hard-code the credentials (API keys, passwords, etc.) into your code-base, that's a massive security problem. Anybody could go find your code base and grab that password out and log in as your bot. We've got a concept called "secrets management" where you save your "secrets" (API keys, passwords) into some vault and then grab the data out only when needed.

    When one of our customers wants to do a version update on our product, we don't want them to be able to open our operating system image and reverse engineer our IP. Therefore, we encrypt our OS images before handing them out to customers. At my job, I wrote a hook into our Yocto distro that, when we compile our OS, grabs the encryption/decryption keys out of our 1Password vaults, and encrypts the final payload, rather than making that a manual process.


    Provision your system with custom A/B partitioning.

    Mistakes happen when updating software. In the event that a customer were to update the OS on our product and something fails during the update process, we don't want our hardware to become a useless brick that they then have to ship back to us. So, we use what's called an "A/B partitioning scheme", where you hold two copies of the operating system. One of them is the "active" partition (the one you're currently booted into), and the other is the "inactive" partition. When you perform an update, you write the new operating system into the "inactive" partition. Then, at the next boot, you swap the flags and boot into the previously inactive one.

    For example, if I'm currently booted into partition A and I perform an update, I will write the new OS image into partition B. When I reboot, I'll go into the new software in partition B. If it's good, I'll keep booting into partition B. Then, when I want to update again, I'll write the new new OS back into partition A and boot into that one. If the update into partition B was bad, I'll fall back to the known good state in partition A.


    Hope that helps :-) I hand-waved a few concepts, but can go into more detail as needed.

    8 votes
  8. Comment on Boston/Stow, MA with young kids in ~travel

    bitwyze
    Link
    If you're looking to spend some time outdoors, the Assabet River Rail Trail is great if the weather cooperates. There's a trail head in East Hudson with a nice parking lot. The trails haven't been...

    If you're looking to spend some time outdoors, the Assabet River Rail Trail is great if the weather cooperates. There's a trail head in East Hudson with a nice parking lot. The trails haven't been maintained through the winter, but all the snow should be melted by now.

    If you want to go into Boston, I highly recommend not driving (it's absolutely chaos), but instead take the commuter rail. It looks like the closest stop is in South Acton. You're beholden to the train schedule which can be a bit stressful, but the train ride itself isn't too bad and it's way cheaper than getting a ride share or driving in yourself and trying to find parking. There's lots of great stuff to do in the city, but the Boston Aquarium is the first thing that comes to mind!

    1 vote
  9. Comment on open_slate: private and powerful 2-in-1 tablet in ~tech

    bitwyze
    Link Parent
    As @bme said, it's the standard for building custom Linux firmware images. It's a massive open source project that allows you to very finely customize exactly what runs on your hardware, including...

    As @bme said, it's the standard for building custom Linux firmware images. It's a massive open source project that allows you to very finely customize exactly what runs on your hardware, including open- and closed-source software from an upstream source, as well as your own software. It's written in Python and recipes use the bitbake language. It can be extended with both python and bash. As long as you can compile/package it for embedded, you can run it on your hardware.

    You want to run docker/podman containers on your hardware? Pull in the meta-virtualization layer and add the docker recipe to your image.

    Got secrets in your password manager that you want to grab at compile time and inject into your system? You can write some python/bash code to pluck it out and use it (assuming the password manager has a CLI you can use).

    You can build your own bootloader. Provision your system with custom A/B partitioning. Pull in the software you want and drop what you don't. It's hard for me to not nerd out about how cool it is!

    6 votes
  10. Comment on open_slate: private and powerful 2-in-1 tablet in ~tech

    bitwyze
    Link
    I've been burned too many times kick-starting things, but a tablet that supports Yocto Linux is pretty sweet. I've worked on building Yocto-based operating systems for embedded products in my last...

    I've been burned too many times kick-starting things, but a tablet that supports Yocto Linux is pretty sweet. I've worked on building Yocto-based operating systems for embedded products in my last two jobs and that's an incredibly powerful amount of flexibility.

    15 votes
  11. Comment on What are you reading these days? in ~books

    bitwyze
    Link Parent
    It's a Kobo Libra Color. I had my eye on the Libra 2, but didn't pull the trigger before it got discontinued. My main goals were to have buttons for page turning and not Kindle since I've heard...

    It's a Kobo Libra Color. I had my eye on the Libra 2, but didn't pull the trigger before it got discontinued. My main goals were to have buttons for page turning and not Kindle since I've heard Amazon's ecosystem is very locked down (I want to own the ebooks I don't get from the library and I have now started organizing my limited collection of them with a self-hosted Booklore instance).

    I probably won't use the color screen for much - I'm not really a manga consumer.

    2 votes
  12. Comment on What are you reading these days? in ~books

    bitwyze
    Link
    I tried getting into The Way Of Kings, but after ~400 pages in I still wasn't hooked. I'm about a third of the way through The Will of the Many and am enjoying that significantly more. Patiently...

    I tried getting into The Way Of Kings, but after ~400 pages in I still wasn't hooked. I'm about a third of the way through The Will of the Many and am enjoying that significantly more.

    Patiently waiting in my library queue for Operation: Bounce House and for DCC Book 8 to come out.

    My wife got me an e-reader for my birthday last week and I've been loving it. I tend to gravitate toward physically large fiction books and it makes the physical act of reading much easier!

    3 votes
  13. Comment on Here are your choices for a self-hosted ebook server in ~books

    bitwyze
    Link
    I just got a Kobo ereader and have been (unsuccessfully) doing research on how to host an ebook library in my homelab - thank you for posting!

    I just got a Kobo ereader and have been (unsuccessfully) doing research on how to host an ebook library in my homelab - thank you for posting!

    3 votes
  14. Comment on Looking for a particular kind of computer speaker in ~tech

  15. Comment on What are you reading these days? in ~books

    bitwyze
    Link Parent
    I finished up Hail Mary a couple of days ago - it was solid and had me hooked, but the ending I felt was a bit of a letdown compared to the rest of the book. I guess it just wasn't as exciting as...

    I finished up Hail Mary a couple of days ago - it was solid and had me hooked, but the ending I felt was a bit of a letdown compared to the rest of the book. I guess it just wasn't as exciting as I was expecting.

    Yeah, I'm a couple of chapters into The Way of Kings and I'm super in over my head - very confusing, lots of world mechanics right off the top. Hopefully it gets clarified more in the coming chapters.

    1 vote
  16. Comment on Minimal image self-hosting in ~comp

    bitwyze
    Link Parent
    I self-host immich as a replacement for Google photos and absolutely love it. I'd highly recommend it for anyone looking for that style of photo manager.

    I self-host immich as a replacement for Google photos and absolutely love it. I'd highly recommend it for anyone looking for that style of photo manager.

    2 votes
  17. Comment on What are you reading these days? in ~books

    bitwyze
    Link
    I finished the seventh dungeon crawler Carl book a few weeks ago and am waiting for the eighth to come out this spring. In the meantime, I'm about a quarter of the way through Project Hail Mary by...

    I finished the seventh dungeon crawler Carl book a few weeks ago and am waiting for the eighth to come out this spring. In the meantime, I'm about a quarter of the way through Project Hail Mary by Andy Weir. Next up in my queue is The Way of Kings by Brandon Sanderson - it'll be my first Sanderson book.

    I've also got The Will of the Many by James Islington on hold with my library, but there's about 20 people in line ahead of me so it'll be a while before I get that one.

    4 votes
  18. Comment on What private companies are you happy doing business with? in ~talk

    bitwyze
    Link
    My favorite grocery store of all time, Wegmans. It's been in the top of Fortune's "Best 100 Companies to Work For" list a few times. The employees are always super helpful and their quality and...

    My favorite grocery store of all time, Wegmans. It's been in the top of Fortune's "Best 100 Companies to Work For" list a few times. The employees are always super helpful and their quality and range of products are great. They also have superb gluten-free options (and clear labeling!), which is great because my wife is gluten intolerant.

    It's honestly the only place we shop. If we're getting good meat for a special occasion, we'll run to whole foods because their butcher is better. I'd be lying if I said that we didn't take proximity to Wegmans into consideration when we were buying our house... We're 7 minutes away from the closest one.

    12 votes
  19. Comment on What are you reading these days? in ~books

    bitwyze
    Link Parent
    I just finished book 7 of DCC! Fantastic series and I can't wait for book 8 to come out in May. I hear the audiobooks are phenomenal as well.

    I just finished book 7 of DCC! Fantastic series and I can't wait for book 8 to come out in May. I hear the audiobooks are phenomenal as well.

    3 votes
  20. Comment on Winter boot recommendations for women in ~life.style

    bitwyze
    Link Parent
    Crazy to see another black bear here on tildes! Go blue!

    Crazy to see another black bear here on tildes! Go blue!

    1 vote