• 0 Posts
  • 15 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle
  • You don’t. In C everything gets referenced by a symbol during the link stage of compilation. Libraries ultimately get treated like your source code during compilation and all items land in a symbol table. Two items with the same name result in a link failure and compilation aborts. So a library and a program with main is no bueno.

    When Linux loads an executable they basically look at the program’s symbol table and search for “main” then start executing at that point

    Windows behaves mostly the same way, as does MacOS. Most RTOS’s have their own special way of doing things, bare metal you’re at the mercy of your CPU vendor. The C standard specifies that “main” is the special symbol we all just happen to use


  • I’d argue the two aren’t as different as you make them out to be. Both types of projects want a functional codebase, both have limited developer resources (communities need volunteers, business have a budget limit), and both can benefit greatly from the development process being sped up. Many development practices that are industry standard today started in the open source world (style guides and version control strategy to name two heavy hitters) and there’s been some bleed through from the other direction as well (tool juggernauts like Atlassian having new open source alternatives made directly in response)

    No project is immune to bad code, there’s even a lot of bad code out there that was believed to be good at the time, it mostly worked, in retrospect we learn how bad it is, but no one wanted to fix it.

    The end goals and proposes are for sure different between community passion projects and corporate financial driven projects. But the way you get there is more or less the same, and that’s the crux of the articles argument: Historically open source and closed source have done the same thing, so why is this one tool usage so wildly different?



  • Every time I mentor a dev on using git they insist so much on using some GUI. Even ones who are “proficient” take way longer to do any action than I can with cli. I had one dev who came from SVN land try and convince me that TortoiseGit was the only way to go

    I died a little that day, and I never won her over to command line despite her coming to me kinda regularly to un-fuck her repository (still one of the best engineers I ever worked with and I honestly miss her… Just not her source control antics)


  • For me, I view Apollo as the highschool quarterback winning the homecoming game.

    In the context, its a great achievement. A lot of time, effort, and luck all came together at just the right moment to create an entertaining spectacle. The school is all happy and celebrating, students will remember that moment for years to come. But in the grand scheme of things, it’s not that big of an achievement since everyone there will move on to bigger and greater things, except they won’t have a student body cheering them on.

    I think saying the Apollo program is one of the greatest achievements of mankind falsely puts it on a pedestal and forever sets up all other achievements as being lesser. Makes us all feel like anything that isn’t chasing that glory isn’t worth it. It’s an achievement for sure, but not the biggest. If I had to give the greatest achievement in space technology to anything, I’d give it to either GPS or GOES.


  • Short answer: it’s not that we don’t have the technology, its that we don’t have a reason to. With very few exceptions, if you can do it on the moon you can do it on earth or in Earth orbit

    Long answer: in the space industry/field the moon is incredibly boring, relatively expensive to get to, and adds an extra step of logistics to an already complicated mission profile. Most space related technology advancement efforts have gone into doing things in orbit and there is more to do there than on the moon, it’s logistically simpler, and cost is orders of magnitude less. Stuff is still advancing there, think Hubble vs James Web, GPS 1 vs GPS 3, the entire GOES system. In terms of technical challenges, they’re far more interesting than anything on the moon, but it’s not as flashy/headline grabbing so it’s not talked about much.

    The US going to the moon in the 60/70s was a rare combination of a win for scientists, politicians, and the people. The political incentive went away since as the USSR space program collapsed so too did political pressure to continue to put men on the moon and “prove 'Murica is better than those damn commies”.

    In modern times the political incentive is returning with the continued efforts by China to do more stuff in space so we get the Artemis program, but the incentives aren’t that strong which is why the program has moved so slowly.


  • To me 16 is long haha.

    I usually end up running with 16 characters since a lot of services reject longer than 20 and as a programmer I just like it when things are a power of two. Back in the Dark Times of remembering passwords my longest was 13 characters so when I started using a password manager setting them that long felt wild to me.

    I do have my bank accounts under a 64 character password purely because monkey brain like seeing big security rating in keepass. Entropy go brrrrrrrrrrrr


  • I’ve used cloud based services for password managers for work and “self host” my personal stuff. I barely consider it self hosting since I use Keepass and on every machine it’s configured to keep a local cached copy of the database but primarily to pull from the database file on my in-home NAS.

    Two issues I’ve had:

    Logging into an account on a device currently not on my home network is brutal. I often resort to simply viewing the needed password and painstakingly type it in (and I run with loooooong passwords)

    If I add or change a password on a desktop and don’t sync my phone before I leave, I get locked out of accounts. Two years rocking this setup it’s happened three times, twice I just said meh I don’t really need to do this now, a third time I went through account recovery and set a new password from my phone.

    Minor complaint:

    Sometimes Keepass2Android gets stuck trying to open the remote database and I have to let it sit and timeout (5 minutes!!!) which gets really annoying but happens very infrequently which is why I say just minor complaint

    All in all, I find the inconvenience of doing the personal setup so low that to me even a $10 annual subscription is not worth it



  • For graphics, the problem to be solved is that the N64 compiled code is expecting that if it puts value X at memory address Y it will draw a particular pixel in a particular way.

    Emulators solve this problem by having a virtual CPU execute the game code (kinda difficult), and then emulator code reads the virtual memory space the game code is interacting with (easy), interprets those values (stupid crazy hard), and replicates the graphical effects using custom code/modern graphics API (kinda difficult).

    This program is decompiling the N64 code (easy), searches for known function calls that interact with the N64 GPU (easy), swaps them with known valid modern graphics API calls (easy), then compiles for local machine (easy). Knowing what function signatures to look for and what to replace them with in the general case is basically downright impossible, but because a lot of N64 games used common code, if you go through the laborious process for one game, you get a bunch extra for free or way less effort.

    As one of my favorite engineering phrases goes: the devil is in the details


  • Having grown up and still have the majority of my family live in rural areas, you’re correct in that there’s a mentality that animals are tools, a means to an end. But I don’t think many with that mentality will be forgiving of her for this.

    With that mentality there is also a general understanding that these are “dumb animals” who can and will fuck up and especially hunting dogs need a lot of training. A dog who fails the training isn’t usually put down, just either given some less strict job, kept as a pet or put up for adoption. Taking her at her word, it sounds like the dog had killed some chickens and had turned towards her and tried biting. But being the dog was only 14 months old, sounds like it had an excited temperament and hadn’t learned just how much bigger than other animals it truly is. Hardly a reason to kill an animal, even if it was just raised as a tool.


  • I think part of the “what do I do with this” factor for the iPad was that Apple (and other companies still to this day) were so hell bent on making everything smaller and more compact that releasing a larger product was marketing whiplash. Not to mention that smartphones were being pitched as this “do everything device” so why would you need anything else?

    After you get over that marketing sugarcoating, it becomes pretty obvious what you’d use an iPad for. Internet and media consumption at a larger scale than your phone, easier on your eyes than a phone, but retains at least some of the lightweight smaller form factor that separates it from a regular laptop. Sure you didn’t have the stick it in your pocket advantage of a phone or the full keyboard and computational power of a laptop, but there was this in-between that for a modest fee, you could have the conveniences if you can live with/ignore the sacrifices.


  • I don’t think the MacBook Airs launch is a good comparison.

    Sure there was an early adopter tax on being one of the first “thin and light” laptops, but people already know what you can use a MacBook for, there was already a large value proposition in having a MacBook, the extra cost was entirely being more portable than it’s full size counterparts. Everything you can do on a Mac, just way easier to take on the go.

    I’ve read a few reviews on it, watched MKBHD’s initial review, and outside of a few demo apps they point to the vision pro having no real point to it. Which if true, then it falls in line with existing VR headsets that are a fraction of it’s cost and in a niche market, being three times the cost of your competitors is not a good position to be



  • I feel like Win 10 default apps just waste so much screen real estate. I’ve been using Thunderbird for years and while 5 years ago I would agree the user interface is obtuse the refresh that happened a few years back really improved things. I’ve also never had stability problems and I have thunderbird tracking 7 email accounts with hundreds of thousands of emails total (I’m a data hoarder)

    Evolution on the other hand, hoo boy, I have to use it at work and despise it lol. That program gives me stability problems and frequently fails to interact with Exchange. Gives me a great excuse for missing meetings haha

    All said, Outlook desktop I think is superior to both Thunderbird and Evolution, I just don’t wanna pay for it