HackerTrans
TopNewTrendsCommentsPastAskShowJobs

drbawb

no profile record

comments

drbawb
·hace 13 días·discuss
The Apple Platform Security[1] white paper describes the secure boot process for Apple silicon. The Mac boot process is significantly more configurable than the iOS boot process, and it allows operating in reduced security modes. (Including running locally signed operating systems.)

Apple knows how to build an iPhone: if they wanted to lock down a Mac they would have simply done that. There's something like nine pages detailing the differences. What word describes that other than "intentional" design? The fact that you can sign and boot a third party OS isn't an "accident" if it's documented, and there's no "exploit" because this is functionality the platform supports; anyone can do it with tools already present on the (Apple-signed) recovery OS.

They certainly don't provide great support for people wanting to develop [drivers for] these operating systems, but the platform was very clearly engineered to support booting them.

[1]: https://help.apple.com/pdf/security/en_US/apple-platform-sec...
drbawb
·el año pasado·discuss
>They think the process is “senior make ticket, anyone implement ticket, unga bunga”.

The fact that you just summarized about an hour worth of argumentation from my last annual planning meeting with that one sentence has just destroyed me. I kneel.

At this precise moment in time, if anybody seriously thought the above was the way the process works or should work, they should be advocating for firing all the juniors and replacing them with LLMs.
drbawb
·el año pasado·discuss
Somewhat agree and disagree. I bucket people's style into two camps, stressing over the former is largely unproductive, but stressing over the latter is crucial to writing high-quality, maintainable software.

Someone's style can be "different" without being "bad", and you have two basic options to deal with it. One is to authoritatively remove the soul via process (auto-formatters, code review, and to a lesser degree linters, etc. are all designed to create uniformity at the cost of individuality.) The other is to suck it up and deal with it, as this is just an inevitability of creating a team size larger than one: people have different tastes and those have to be reconciled. I somewhat prefer allowing for individuality, and individuals should endeavor to match the style of whatever module they're working in, out of courtesy to its owners/stakeholders if nothing else. However I have only worked independently or on small teams. Most large teams (/ open source projects) have gone the former route of automating all the fun/craftsmanship out of their systems, and even I think that makes sense at a certain scale.

Someone's style can just be objectively "bad", however, and I usually find it's evidence they just don't care about the source artifact that much, and they're focused on the results. (It can also be a sign of an under-performer that spends so much mental capacity just getting the code to work that they have no spare cycles to spend thinking about matters of taste.) If it compiles / works / passes the test-suite that's "good enough" and "their job is done" and they move on to the next task. These people tend to be hyper-literal thinkers that are very micro-task oriented: they see implementing a new feature as a checklist to be conquered, rather than being systems-level thinkers on a journey of discovery & understanding.

If the author is talking about the latter, I have to agree with you that the latter are quite difficult for me to work with; particularly since I know that the source has to be maintained & supported over a much larger time-scale. The source-code is like your house, you live in it, being comfortable to work with/in/on it is the key to success. The deployed artifact may live for only a few weeks, days, or even hours before it gets replaced. The source has evolved over decades. You (the organization) are practically married to it. To further the analogy: I don't mind if somebody wants to hang posters in their room for a band I don't like. (Hell I can even handle if a group of those posters are tastefully hung out-of-level to make some kind of statement.) I do mind if their furniture is blocking a vent, the outlet covers are hanging off, there's a hole in one of the walls, a light has been burnt out for months, and the window-blinds over there are clearly broken but they insist it's fine because daylight still gets through.
drbawb
·hace 2 años·discuss
> In my case: I am near physically incapable of doing things that I "need" to do, with the more I "need" to do something, the harder by brain and body will rebel against doing it.

This is interesting to me. I find my own behavior is the exact opposite; I have no internal concept of need. I will do everything in my power to avoid starting a task until someone says it "needs" to be done. So in my experience the need is always externally motivated: it's usually just a deadline, or some other authority micro-managing me. ("I'm meeting with [customer] tomorrow and would like to show them [x] from project [y] is that ready?" => I will move hell and earth to do [x], and not a minute sooner. There's some activation threshold there. It is definitely not calibrated where it needs to be, but my ability to "thrive under pressure" has allowed me to cope, as long as someone/something holds my feet to the fire.)

Also I find deadlines are a lot more effective for adult-me than they were for child-me. I think that's mostly because I've got project managers to lean on who are creating those schedules, tracking them, and keeping them visible. Whereas in school child-me was expected to be my own project manager. (Yeah, that was never gonna happen. Many tried to get me to jot dates down in my little day planner. Many failed.)

Disclosure: I'm not clinically diagnosed with ADHD, but from all I've heard/read about it I would not be terribly surprised to find out I have it. (Although I would be surprised to find myself having sufficient motivation to go out and get proper help. ;-P)
drbawb
·hace 2 años·discuss
I remember e-mailing a guy for some iPad app and having a similar moment.

The important context is the app had its own custom keyboard. I used the app personally, and recommended it to a customer to solve a problem they were having. It turned out that the newest version would not work because it had removed some of the Fn-keys.

I e-mailed the developer to ask for some guidance. At the time I figured it maybe had something to do with the viewport size, and was just trying to diagnose the issue. (I had an iPad mini, while the customer had purchased I think a 9th gen iPad. I wanted to know if a different device would solve the problem.)

The guy e-mailed me back and was like "Oh, yeah, I changed that last week while making the new keyboard layout. I'll revert it and push out a new build." - I had a similar epiphany at that point where it was like "this guy is a dev just trying to navigate tradeoffs and ship the best app he can." - Also the tradeoffs are never as straightforward as one would think.[1]

[1]: https://xkcd.com/1172/
drbawb
·hace 2 años·discuss
I wouldn't be so sure about that. If you had said this before my most recent hire I would have agreed - but my junior writes stuff that looks like this or worse. I'm always reviewing stuff with weird capitalization, punctuation, spelling, grammar, etc. that makes me raise an eyebrow on a regular basis. Their code looks just as weird despite having the help of a heavy-weight IDE in their corner. We're constantly cleaning up hanging indents, unnecessary newlines, mismatched indents, commented out code, etc. (That's with a college education, a Grammarly license, and no small amount of coaching on my part!)

I have a sample size of 1, so I can't ascribe too much to "these damn kids," but it seriously strikes me as having learned written language primarily from texting & instant messaging. Whereas I grew up roughly by transitioning from: reading books -> writing mails to pen pals-> writing e-mails -> web chats -> T9 texting -> modern IMEs. In other words I initially learned to write with long-form content and learned to condense it down later. These days I think people are just learning straight from the condensed version.

The other reason I don't think it's an LLM is simpler: most commercial LLMs wouldn't be "aligned" to be that rude, and the smaller LLMs I've seen wouldn't be able to inject relevant code snippets from a relatively unpopular library into the output.

I would not be surprised if this person misused the library, got called out for it in code-review (calling the iterator multiple times is a huge code-smell), and now they are soothing their ego by shifting blame onto the library author for making "such a bad API."
drbawb
·hace 2 años·discuss
I'm curious what makes you think the MBA is a more "full experience?"

The MBA is permanently affixed to its keyboard: so it can't easily be used for consumption (in bed, on the couch, etc.) The MBA also has no touch screen, and no stylus. The iPad can also ship with a built-in cellular radio. Now I'm carrying an extra tablet, plus an extra hotspot.

That sure sounds like a lot of compromises to me. If I needed more performance I'd be stepping up to a MBP for the active cooling, which pushes us into a different price bracket anyways. If I needed more disk/memory bandwidth I wouldn't even be considering a portable in the first place. (More realistically: I would be using my portable to shell into a more powerful box, and an iPad Pro or even an iPad Air would do that just as well as any MacBook.)

If you need more external I/O, well, I'm not sure I buy that the iPad Pro is a serious compromise over the MBA. It has 40Gb/s of bandwidth and that's _a lot_ for the vast majority of use-cases. My main MBP already sits docked all day via a single thunderbolt cable.

The only reason I would actually choose an MBA over an iPad is that I'm a developer. I place strangely disproportionate value on things like an untrusted boot-chain, kernel extensions, and freedom.[1] I like having the flexibility to be able to bless and enroll my own bootable volumes. I want to be able to tinker with the system partition. I want to introspect the system when things go wrong. The iPad challenges these things by design.

I cannot emphasize this enough: _all of my friends would be lost trying to follow along with the preceding paragraph._ They would look at me like I had two heads. _The above desiderata are not at all representative of the average computer user today._ For most of what I do (media consumption and some content creation) the iPad Pro would do an excellent job, I'd argue better than the MBA. For everything else I do: "iPad Pro vs. MBA" is a false dichotomy, I would not be choosing either of those machines. I would buy a workstation-class device at a minimum.

[1]: https://www.gnu.org/philosophy/free-sw.html
drbawb
·hace 2 años·discuss
I was able to get up to 35-37 Gbps between my host-guest with a virtio NIC with the outdated iperf3.exe, which I did indeed acquire from the site mentioned in the article. That seems like plenty of perf, to me, considering the fattest link I could possibly have in my house would be ~35Gbps if I aggregated all the ports on my switch. (... and filled my Threadripper system with nothing but NICs, I guess?)

I actually get ~7 Gbps, not 10Gbps, out to my real network. I haven't dug into what the issue is but when hitting my real network the guest clearly becomes bottlenecked by CPU, so I doubt iperf3 is to blame. (The host does not have this problem despite being on the same bridge, so I'm guessing there is some host-guest optimization I'm hitting in the virtio driver in the former case.)

Now that's a low-latency, high-bandwidth link. If you're testing "high latency, high-bandwidth" as purported in the article, and that link is apparently ~40Gbps or fatter, you're probably running on a "real server" in a "real datacenter" somewhere. I can tell you I wouldn't be burning a Windows Server license just to verify my L2/L3 connectivity is configured correctly.

I am sure MS would love if I bought two licenses of their proprietary operating system just to use this proprietary network testing client, but my pockets are not infinitely deep. (As I already spent all that money on the Cisco-branded optics. /s)
drbawb
·hace 2 años·discuss
Wonder if there's been a quite hardware-rev and they can't/don't want to update the firmware on the old units. I ran into that once on Spectrum - I bought the "same" modem to replace one, and suddenly my IPv6 config was borked.

Turns out Spectrum (in my region) actually pushes in their config file to disable IPv6, even though their dual-stack network works great, and has been working for at least 8-years now. Some modems apparently "override" that directive (e.g. ignore it and try to configure the IPv6 stack anyways) and you get fully functional IPv6 service. Other modems play goody-two-shoes and you're stuck with only IPv4. The new modem I bought was sold/marketed as the same model but was internally a totally different radio chipset. It was pulling a different firmware rev which had evidently been patched to actually obey the IP provisioning mode.

Spectrum support told me, basically, that if I have working IPv4 connectivity then my service is considered functional and there is nothing they can do. I gave up playing the support game and ended up exchanging until I landed on a Motorola modem that gleefully ignores that config parameter.

I wish I knew how to actually state my case to someone at Spectrum with the authority to actually fix their busted provisioning profiles, because it's kind of crazy to me that they've basically bifurcated IPv6 in this market based on whether or not your modem feels like reading the whole config file ;-P. (What's even funnier is the modems they install must be spec non-compliant, because IPv6 at the office works fine and that's their leased equipment.)
drbawb
·hace 2 años·discuss
>I disagree. You can mess with odometer as much as you like. Trying to sell it off with a different amount of miles than have actually been put on it is called fraud.

For a long time this was just a fact of buying any car that lived long enough. I have bought several cars where the transaction went something like: "so the odometer has rolled over twice; so there's actually 376,000 miles on the frame... but only 118,000 of those are on this motor and I swapped the transmission with a reman 76,000 miles ago."

Of course we've added a few significant figures to odometers since then, and in the era of digital odometers I imagine "rolling over" behaves very differently. (Will the chassis survive 4 billion miles? Seems unlikely. Do the display and storage have different bit resolutions? Is it a saturating counter internally? Externally?)
drbawb
·hace 2 años·discuss
>Pretty much every single company I've worked for with AD has broken this rule.

It's a lot better now. Ever since companies started moving from on-prem Exchange to O365 in droves I've noticed that most orgs I work with (painfully) updated their domain so their user principals align w/ their O365 mailbox.

There's only one customer I have that still uses a ".local" domain for AD, and they got bought out last year. (By an org that uses a real FQDN.)
drbawb
·hace 3 años·discuss
Not sure I share this opinion, I game on a combination of Linux w/ a Windows 11 VM every day. I'm only really aware of two titles that are actively user-hostile with anti-cheat: Rainbow Six Siege and Valorant. Thankfully I'm not interested in playing either of those. I definitely will not run them, out of principle, unless they reverse their stance on considering a VM to be cheating.

The hoyoverse titles used to detect VMs, but it seems to have calmed down. (I was able to try Honkai Star Rail with no obfuscation effort on my part.) NVIDIA stopped caring about VMs in their GPU drivers a few years ago. FatShark almost made the anti-VM mistake with the new Warhammer 40K Darktide anti-cheat; I refunded the title during early-access and told them why. They reversed course before launch and that also works in a VM. - I've played many Blizzard properties (but not WoW) in a VM as well, though they tend to hate networked storage, for reasons I don't yet understand. (Had to setup iSCSI because my CIFS share over 10Gbit/s paravirtualized NIC was "not good enough", I guess.)

Windows runs in a Hyper-V VM by default now, anyways, so "running in a VM" as a heuristic is of questionable utility to me. (It's how the "Core Isolation" feature is provided.) The real irony is I can't even use the VM to cheat, anyways. The guest's memory is encrypted by default. Modifying it, or even reading it, from the host-side would be prohibitively painful. I guess a VM would perhaps obfuscate emulated/scripted inputs, but I use real devices, and a real USB hub on the guest anyways, because the latency and functionality of the emulated HIDs is awful.

Thankfully Steam is very pro-consumer: if a title I purchase does not run in the VM, or on Linux via Proton, it gets instantly refunded. The nice thing is it is actually in Valve's interest financially to push back on these devs: both to prop up the value of the SteamDeck, and to stop people like me from getting refunds.
drbawb
·hace 3 años·discuss
>After too many years of Windows, I finally bit the bullet and installed Linux on my desktop.

Use Linux at home since 2020, and have recently switched to a Mac for work. Windows is gone from my life, relegated to doing maintenance-work from a VM for the poor saps still stuck on it.

There's no separation of concerns at Microsoft: the allure of recurring revenue from ad-tech and online-services is polluting Windows and Office in a really bad way. I need my operating system and productivity software to (a) work, (b) function reliably offline (Office doesn't), and (c) work in perpetuity for as long as the hardware lives. (Windows hasn't since 10, arguably 8.)

Apple seems to understand that the core stuff needs to be free, and the free stuff can't compromise on their privacy & security core-values to be free. They also come with apps that are reasonably worth using, and they use iCloud to sync and integrate that stuff seamlessly across their device-family.

What Apple charges money for is actual value-added service. You want Music? They've got that, streaming or purchased. You want TV? Same deal. You like books? Yep, got that too. Want some curated news? They'll sell you that. - Signed up for all this stuff and have run out of storage? Predictably they'll sell you more of that, too.

What's more is Apple understands _the meaning of no._ - I can turn that stuff off easily, and permanently, right when & where the nag occurred. No resorting to things like registry edits, group policy hacks, hacking the installer, etc. No gamification of the fucking Settings screen. No ads in my fucking Start menu. I can hide or remove their apps just like any other app. (As a concrete example: for ages I have had to hack Explorer to get rid of personal-OneDrive, which I don't/can't use since I am not even logged into a MSFT account. The equivalent to disable iCloud is a very clearly visible setting in Finder's settings.)

I won't lie, it hasn't been perfect, but the amount of UI polish, the ease of cross-device integrations, and the feeling of Apple actually valuing the customer-relationship, are miles ahead of whatever the fuck Microsoft is doing. Modern Microsoft feels like a Facebook or a Google, and that's really not meant as a compliment.

If Microsoft wants recurring revenue, they need to start providing real services. Windows isn't a service. Office isn't a service. I highly suggest they start emulating Apple, or they're going to get left behind.

Redmond, start your photocopiers.
drbawb
·hace 3 años·discuss
I agree with your definition, and I also believe it's an important distinction and a _better definition_ than the article author's. However I'm not sure I agree with your self-assessment of htmx being a library.

HTML is not the host programming language: that'd be JavaScript. Arguably, in this case, it's also whatever is on the other side of the HTTP requests htmx is making; which is almost certainly _not_ HTML.

htmx is maintaining its own event-loop (to react to DOM changes, read attributes, auto-wire itself, etc.), it's _calling into_ the user's code, either via the _declaratively configured_ HTTP endpoints when reacting to DOM events, or via callbacks provided by your event subscribers. These reactions were not explicitly programmed by a library-user in JavaScript, the host language. They were configured in markup and your framework altered its internal state and event-processing accordingly based on that configuration.

It is very much magic, and very much behaves like a framework. (I say this with the utmost respect, I don't think "framework" is a dirty word or anything. htmx is great conceptually, you've done a fantastic job implementing it, and it's a blast to use. I don't think it being a "framework", per this definition, detracts from what it is. I think it can also compete with other frameworks _just fine_ without needing to twist semantics.)

htmx's model is no different to me, conceptually, than Phoenix, Rails, et al. "magically" knowing which controller & action to invoke because I declared a route somewhere in a DSL, which they in-turn invoke to respond to an event. (I definitely don't consider either of those to be libraries.) What sets htmx apart is that it's a small, focused, _easily understood_ framework.

I do understand the need to differentiate htmx from the contemporary burdensomely-complex JS frameworks, but I don't think framework v. library is the right way to frame it.
drbawb
·hace 3 años·discuss
>If anyone has an idea for how to monetize yet another database client library, I'm all ears. I just need to eat, pay rent, and buy dog kibble

FWIW jOOQ's model worked great from a consumer/end-user point of view. I got to learn the whole library with no real strings attached, and then pay to adapt it/support it on Big Fucking Databases(TM) as projects required it. Their site and documentation is also quite pleasant.

In a way it feels like double-piggybacking: Microsoft, Oracle, et al. spend a lot on mindshare to make sure technical leads choose those respective stacks. Then the army of developers/consultants, required to get the promised ROI out of those stacks, inevitably have to go looking for tools. Be there to sell them the shovels. It helps if they are already familiar with it. (Free OSS adapters / "community" editions, etc., or even just very generous "evaluation" versions with no real effort to police use in a lab environment.)

Not sure how successful jOOQ has been financially, but considering they've been around for many years at this point, I have to imagine it's worked out well enough to pay for the lights and kibble?

The only other "dev tool" company I've enjoyed working with _more_ has been JetBrains. (The recent AI plugin not-withstanding.)
drbawb
·hace 3 años·discuss
>Moderation will be extremely important to prevent low-effort memes and content regurgitation and the like from saturating your main channels

This idea more or less surfaces in the book "Fall; or, Dodge in Hell", where in the not-too-distant future the internet is so polluted that you are pretty much expected to hire a full-time "editor" to curate your social media feed. This doesn't scale particularly well, of course, so in reality particularly wealthy families hire an editor to present a cohesive stream of social media to their whole family-tree. Meanwhile the masses typically subscribe to an "off the shelf" stream (or several?) that most closely matches their tastes.