𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍

       🅸 🅰🅼 🆃🅷🅴 🅻🅰🆆. 
 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍 𝖋𝖊𝖆𝖙𝖍𝖊𝖗𝖘𝖙𝖔𝖓𝖊𝖍𝖆𝖚𝖌𝖍 
  • 29 Posts
  • 2.83K Comments
Joined 2 years ago
cake
Cake day: August 26th, 2022

help-circle
  • Also: you are usually seeing pictures of their bellies. This is because their bellies have that wonderful blue, while their backs are a more boring silver-grey, so their tummies are more photogenic.

    They’re colored this way because they live along the air-water surface tension… but from underneath, so they are always belly-up. The blue belly camouflages them from the air, and makes them look like water; their gray backs camouflage them from beneath, making them look like the air.

    They live their lives upside-down, the air is their ground, and when they look “up” it’s toward the ocean depths.

    Such wonderful, fascinating creatures! Glaucus atlanticus is probably the most famous, and for a good reason: they look like beautiful little sea angels.

    Sea angels that can kill you. Cute, little, blue, murder-angels!!





  • Those pattern buffer filters aren’t getting any better over the decades, are they?

    You know, they should not even let the doors on shuttle craft open in dock, and just beam people in and out of them. That’d solve an entire other vector of infection.

    The problem with Star Trek is, and always has been, that writers keep making it harder every episode for later authors to find ways of introducing crisis like these. Every solution closes a plot device door.

    Star Trek has a serious Eagles Flying The Ring To Mt Doom problem.






  • Thanks for the input

    You’re welcome!

    I haven’t used assembly in a long while, so I know where to look to understand all the instructions, but I can’t tell right off the bat what a chunk of assembly code does.

    Oh, me neither. And that’s not what I think is necessary; what’s important is that you can generally imagine the sorts of operations which are going on under the hood for any given line of code. That there’s no magic “generate a hash for a string” CPU operation, and that, ultimately, something is going to be iterating over a series of memory locations and performing several math operations on each to produce a numeric output. I think this awareness is enormously valuable in developers, and helps them think about the code they’re writing in a certain way, and usually in a way that improves their code.

    Algorithms, I am terrible at these because I rarely use them.

    You use them all the time! Anything longer than a single operation is an algorithm.

    Nobody is going to ask you to write a search function; however, being aware of Big-O notation, and being able to reason about time and space complexity, is important. On the backbend, it’s critical. It’s important if you’re a front end developer - I blame the whole NodeJS library fiasco on not enough awareness of dependency complexity by a majority of JS developers.

    I tend to work in finite state machine which is close to algorithms, but it’s not quite it.

    I’d absolutely call FSM work “algorithms”, and it sounds as if the projects you’re working on is where these fundamentals are most important. Interfaces between hardware components? It’s the most fraught topic in CIS! So. Many. Pitfalls. Shit, you probably have to worry about clock speeds and communication sheer; there’s absolutely a huge corpus of material about algorithms for handling stuff you’re working with, like vector clocks. That’s a fabulous, interesting field. It’s also super tedious, and requires huge attention to detail which I lack, so in a way I envy you, but an also glad I’m not you.




  • To expand on this: Minnesota is very good about making sure people who are eligible to vote can.

    Judges will help you register. Basically, you need an ID and proof that you live at your current address. The latter can be a recent utility bill for your address, with your name on it; it can be someone who comes with you to vouch for you.

    If you live with someone who pays the bills and so don’t have any bills in your own name, the person who pays the bill can vouch for you if they come with you. They either need to be themselves registered to vote, or need to bring an ID and bill in their name. Any registered voter from your precinct can vouch for you. They will have to sign an oath that you do, indeed, live at your address. And, again, they have to be registered to vote in the same precinct as you, but this means your neighbor can vouch for you.

    If you live in, e.g., a retirement facility, such facilities will often both bring you to the polls and vouch that you live at the address.

    If you moved recently within the same precinct, or have changed your name, you do not have to re-register or prove that you live at your new address - you are still registered to vote within that precinct. You only need to tell the election judge your previous address or name. If you got married recently and changed your name, it’s not a problem! Go vote!

    If you are a student receiving student aid or live in student housing, all you need is your student ID. Your university is required to attest to the state the addresses of these students.

    Students, the elderly, and SO’s living with their partners - people who often don’t get utility bills directly in their names - are well protected by Minnesota’s laws. If you aren’t registered, show up, have your ID, and if you have a bill or someone eligible to vouch for you, or you get financial aid, you can register and vote at the same time.

    The election judges will do their best to help you register - that’s a big part of why they are there! It’s literally their jobs (although many are volunteers); don’t stress about it, and don’t be anxious.

    Also: Minnesota mandates an equal distribution of judges from each of the two major parties[^1] at each election place. There will be someone from each party who took an oath to ensure no voter intimidation happens at the polls. If you do see intimidation outside the poll, tell an election judge inside, and they’ll deal with it (there will be an experienced chief judge onsite who will know who to call).

    I can’t stress enough that Minnesota tries very hard to ensure that you can (legally) vote. For example:

    • If you are married and you aren’t registered, and your spouse won’t vouch for you or you are afraid to ask your spouse to vouch for you, you can bring a neighbor who’s registered to vote and if they’ll vouch that you live at your address, you can register and vote at the polling place in election day.
    • If you’re a student living at a house with other students and one of the others is paying the bills, bring that person and have them vouch for you and you can register and vote.
    • If you’re living in an assisted living facility, ask your house manager about getting to the polling place to vote. They will almost certainly not only get you there, but also have someone who will attest and sign the oath that you live there.

    There is almost no reason[^2] you can’t vote in Minnesota. Do it.

    Oh! This year, Minnesota has implemented accessability improvements! If you have difficulty getting into the polling building, you can literally vote from your car! Look for the sign in the parking lot with the telephone number, call it, and a judge will come to your car with a tablet with which you can vote; this includes registering you to vote, if necessary. For everyone who can get in, please do; don’t use the parking lot voting option unless you need it - it does add overhead, and judges will be busy this election. However, if you do need to use it, do! You’re who it’s there for.

    [^1] we’re a two party system; it’s not my fault.
    [^2] one of those reasons is if you are currently incarcerated. If you should be in jail, it’s probably not a good idea to show up at the polls; they don’t let you vote anyway.



  • I should know more about what’s happening under the hood.

    You’ve just identified the most important skill of any software developer, IMO.

    The three most valuable topics I learned in college were OS design basics, assembly language, and algorithms. They’re universal, and once you have a grasp on those, a lot off programming language specifics become fairly transparent.

    An area where those don’t help are paradigm specifics: there’s theory behind functional programming and OO programming which, if you don’t understand, won’t impeded you from writing in that language, but will almost certainly result in really bad code. And, depending on your focus, it can be necessary to have domain knowledge: financial, networking, graphics.

    But for what you’re taking about, those three topics cover most of what you need to intuit how languages do what they do - and, especially C, because it’s only slightly higher level than assembly.

    Assembly informs CPU architecture and operations. If you understand that, you mostly understand how CPUs work, as much as you need to to be a programmer.

    OS design informs how various hardware components interact, again, enough to understand what higher level languages are doing.

    Algorithms… well, you can derive algorithms from assembly, but a lot of smart people have already done a ton of work in the field, and it’s silly to try to redo that work. And, units you’re very special, you probably won’t do as good a job as they’ve done.

    Once you have those, all languages are just syntactic sugar. Sure, the JVM has peculiarities in how its garbage collection works; you tend to learn that sort of stuff from experience. But a hash table is a hash table in any language, and they all have to deal with the same fundamental issues of hash tables: hashing, conflict resolution, and space allocation. There are no short cuts.





  • On the surface, it looks as if they bored decent size holes in the ground and set the anchors in concrete. With a Bobcat, they could easily get 3 meter x 40cm holes; that’s 904kg of concrete at each anchor point, and a lot of friction.

    This isn’t the stupidest idea I’ve ever seen; given that they can’t move their house, and set unlikely to move all their possessions for just a few days, Heck, it’s not a bad idea at all, and looks well-executed.


  • There are many better systems than RCV, but if has two things going for it:

    1. Already some momentum. It’s already implemented widely (if not commonly) in the US and other countries.
    2. It’s easy for people to understand, which is critical for trust, and possible to hand count if necessary.

    With all due respect to Veritasium, perfect here is definitely the enemy of good. RCV is maybe the least good of many better-than-FPTP options, and has flaws; however, any argument for doing better than RCV based on “it has flaws” will always end up with arguing that we should use the Condorcet method, which would be impossible to approve and possibly impossible to implement.

    The next best thing to RCV is far less of an improvement over RCV than RCV is over FPTP. I’d rather have STAR, but all of these options are broadly unknown, difficult to explain, and more complex to execute by hand than RCV. I’d rather have something, than stay stuck on FPTP.


  • I use it for everything, but then, I wrote it. All of the desktop secret service tools have desktop dependencies (Gnome’s uses Gnome libraries, KDE’s pulls some KDE libraries) and run through DBUS; since I don’t use a DE, it’s a fair bit of unnecessary bloat. And I don’t like GUI apps that just hang around in the background consuming resources. I open KeePassXC when I need to make changes to the DB, and then I shut it down. Otherwise, it hangs out in my task bar, distracting me.

    Rook is for people who want to run on headless systems, or want to minimize resources usage, or don’t use a desktop environment (such as Gnome or KDE), or don’t run DBUS, or don’t run systemd. It’s for people who don’t want a bunch of applications running in the background in their task bar. KeePassXC providing a secret service is great, but it’s overkill if that’s most of what it’s providing for you, most of the time.

    I don’t think took is for everyone, or even for most people. It’s for people who like to live mostly in the command line, or even in VTs.