Any recommended courses? I'm a SWE and never felt compelled for the CCNA but my intersection with networking-related problems seems to continuously increase and I would like to up my game before getting in over my head at work.
To be clear, the work the asahi folks are doing is incredible. I’m ashamed to say sometimes their documentation is better than the internal stuff.
I’ve heard it’s mostly because there wasn’t an m3 Mac mini which is a much easier target for CI since it isn’t a portable. Also, there have been a ton of hardware changes internally between M2 and M3. M4 is a similar leap. More coprocessors, more security features, etc.
For example, PPL was replaced by SPTM and all the exclave magic.
I also cancelled my All Products subscription a while ago. I have been an IntelliJ user since the early 2000s and gave up after in 2025, it would still forget how a Maven project with some generated files should be built, with everything turning to a sea of red until you reimported the project and redid all your settings again. Job #1.
There was always a regression like this in every new build, along with the performance issues.
Also switched to Zed + Claude Code/Codex.
> I couldn't for the life of me tell you what dd stands for.
Data(set) Definition. But that name does not make any sense whatsoever by itself in this context, neither for the tool (it hardly "defines" anything), nor for UNIX in general (there are no "datasets" in UNIX).
Instead, it's specifically a reference to the DD statement in the JCL, the job control language, of many of IBM's mainframe operating systems of yore (let's not get into the specifics of which ones, because that's a whole other can of complexity).
And even then the relation between the DD statement and the dd command in UNIX is rather tenuous. To simplify a lot, DD in JCL does something akin to "opening a file", or rather "describing to the system a file that will later be opened". The UNIX tool dd, on the other hand, was designed to be useful for exchanging files/datasets with mainframes. Of course, that's not at all what it is used for today, and possibly that was true even back then.
This also explains dd's weird syntax, which consists of specifying "key=value" or "key=flag1,flag2,..." parameters. That is entirely alien to UNIX, but is how the DD and other JCL (again, of the right kind) statements work.
I used Scribus. Top choice for replacing Publisher by open source software. Scribus is very intuitive and with enough time I could churn out a beautiful looking effective resume on my first try
If you're a bit handy, you can assemble a line filter using a part like this https://enerdoor.com/products/fin27/ for a heck of a lot cheaper than you can buy a filtered power strip.
So, I'm curious. What's the Nushell reimplementation of the 'crash-dump.awk' script at the end of the "Awk in 20 Minutes" article on ferd.ca ? Do note that "I simply won't deal with weirdly-structured data." isn't an option.
> it is simply no one wants to maintain libxslt and it is full of security issues. Given how rarely it is used, it is just not worth the time + money.
As for money: Remind me what was Google's profit last year?
As for usage: XSLT is used on about 10x more sites [1] than Chrome-only non-standards like USB, WebTransport and others that Google has no trouble shoving into the browser
If you install EMWM and the goodies from the author's page you can get a very close
system. Also, some guy at Nixers.net it's trying to recreate the whole Irix interface under EMWM.
For the X11 books, current X.org manuals are easily found under X.org docs and they will work nealy the same. Now they promote xcb instead of xlib but xlib itself still works.
You'll might (not sure) need:
- Xmu.pdf XMU, low level
- intrinsics.pdf X11 inners, useful to debug X11 stuff
- icccm.pdf Basically window manager standards
- libXaw.pdf Athena/X11, if you need something lighter than Motif
For instance, you can create some MPV frontend with XEmbed and Motif. MPV can be controlled by sending commands to a socket, and creating a GUI for it can be first prototyped with TCL/Tk and then done with MPV.
I’ve been using the crush TUI primarily. I like that I have the flexibility to switch to a smarter model on occasion - for awhile I hesitated to pick up AI coding at all, simply because I didn’t want to be locked into a model that could be immediately surpassed. It’s also customizable enough with sane defaults.
I use it directly with Claude code [1]. Honestly, it just makes sense IMO to host your own model when you have your own company. You can try something like openrouter for now and then setup your own hardware. Since most of these models are MoE, you dont have to load everything in VRAM. A mixture of a 5090 + EPYC CPU + 256GB of DDR5 RAM can go a very long way. You can unload most of the expert layers onto CPU and leave the rest on GPU. As usual Unsloth has a great page about it [2]
If you wanted to learn, I really recommend Operating Systems: Three Easy Pieces (OSTEP). I thought it was excellent and pretty easy to follow. https://pages.cs.wisc.edu/~remzi/OSTEP/
>In the After First Unlock (AFU) state, user data is decrypted
Note that this is a slight simplification because, I assume, the reality is irrelevant to understanding the topic:
There are a few different keys [0] that can be chosen at this level of the encryption pipeline. The default one makes data available after first unlock, as described. But, as the developer, you can choose a key that, for example, makes your app's data unavailable any time the device is locked. Apple uses that one for the user's health data, and maybe other extra-sensitive stuff.
Tridge also reverse engineered BitKeeper, the proprietary software that Linus foolishly used to host Linux kernel development for a while. He noticed that if you telnet to the BitKeeper address:port rather than use its proprietary client, you can type "help" and it then spits out a list of commands to try...
You can then interrogate the repository with these commands and get a complete understanding of all the internal data structures, without ever using the proprietary software, let alone having to disassemble it.
The fact that Tridge did this reverse-engineering led BitKeeper's owner, Larry McVoy, to rescind the Linux community's use of his software, so Linus wrote git.
You just have to wrap your mind around jq. It's a) functional, b) has pervasive generators and backtracking. So when you write `.a[].b`, which is a lot like `(.a | .[] | .b)` what you get is three generators strung together in an `and_then` fashion: `.a`, then `.[]`, and then `.b`. And here `.a` generates exactly one value, as does `.b`, but `.[]` generates as many values as are in the value produced by `.a`. And obviously `.b` won't run at all if `.a` has no values, and `.b` will run for _each_ value of `.a[]`. Once you begin to see the generators and the backtracking then everything begins to make sense.
This is basically what Xray [1] does. For any connection request matching a particular SNI and not presenting a secret key, it proxies the entire SSL handshake and data to a camouflage website. Otherwise it can be used as a regular proxy disguised as SSL traffic to that website (with the camouflage website being set as the SNI host, so for all purposes legit traffic to that host for an external observer).
It's meant to get around the great firewall in China, so it has to avoid the GFW's active probers that check to make sure the external website is a (legit) host. However a friend was able to get it to work American's in-flight firewall if the proxy SNI is set to Google Analytics.
Well, excuse me for refuting something you actually wrote rather than the thing you would have preferred me to focus on.
When you say something like "whose primary function is to psychologically condition children into siphoning off money from their inattentive parents", it's rhetorically effective. It paints a vivid picture. It encourages your readers to have a certain attitude towards the company you're talking about.
In other words, that bit of what you wrote was load-bearing. It served a purpose for you. That means that it isn't exempt from criticism. We should reject conversational norms according to which it's OK to throw in these little barbs but not OK to object when someone points out that what you're saying is flatly false.
"My goat-fucking opponent wants to raise your taxes and use the revenue to subsidize tobacco companies. You should vote against him." "Excuse me, I am absolutely not a goat-fucker. How dare you?" "Look how he avoids the central argument about his policies!"
As to the "actual argument": no, actually, that clearly isn't your actual argument, or at least if it is then your argument is unsound.
You can't get from "Macs are <10% of Apple's revenue"[1] to any prediction about what Apple will do with the Vision Pro. For that, you need to (1) classify it as "like an iPhone or iPad" rather than "like a Mac" -- which I agree is a reasonable classification, though you haven't bothered to argue for it at all and it is at least a bit debatable -- and then (2) look at what sort of thing Apple does with its iPhones and iPads. This bit you have done, kinda ... and this bit is exactly the bit where you said something obviously false. "whose primary function is to psychologically condition children into siphoning off money from their inattentive parents", remember? That is, or claims to be, a description of what sort of thing Apple want their devices to do. It's exactly the sort of thing that's directly relevant to supporting what you say about what features we should expect them to give the Vision Pro and its software. And, once again, it's plainly false.
[1] Perfectly true, though "an insignificant historical afterthought" is obviously false -- once again, you're festooning what you say is your "actual argument" with little untruths that make the "actual argument" feel stronger, and I wish you wouldn't -- and, also "historical afterthought" is kinda nonsensical, no? Being a historical relic and being an afterthought are opposite and incompatible varieties of insignificance.
There absolutely is an argument to be made along the lines that the VP is kinda like an iPad, and despite their impressive hardware capabilities iPads are designed for entertainment much more than for getting useful work done, and so we should also expect the VP's software to pass up opportunities to make the device useful for serious purposes in favour of making it an entertainment-consumption device. You could totally have done that. It would have been pretty similar to what you wrote. It would have been rather a persuasive argument. But it amused you to go way the hell over the top and say that Apple's non-Mac devices are mostly intended to manipulate children into wasting their parents' money and, once again, that's obviously not true and you put it right where the core of your "actual argument" should have been.
I'm aware that I'm making rather a big deal of a small lie. But this sort of thing is everywhere in online discourse at the moment, and I am getting extremely fed up of it. It's never enough to make a reasonable argument; it's always necessary to throw in all these playing-to-the-gallery jabs, which no doubt get you a bunch of likes and retweets and other forms of Meaningless Internet Points. It's yet another form of the optimizing-for-engagement that is eating our societies alive, and the HN crowd is supposed to be smarter than that, and I wish we would all collectively Do Better, damn it.
You can in fact already do this (have Mac windows show up as separate floating windows in VisionOS instead of all being on the single MacOS window) using a third party tool called Ensemble:
In almost 20 years of working in FinTech at various banks, hedge funds startup etc, a lot of this rings true.
e.g.
- Critical path/flow diagrams [0] are incredibly useful for both laying out what has to happen in serial vs what can be parallelized. That being said, I've almost NEVER seen them used and 90% of the time they are used it's b/c I made one
- SO many important processes are not documented so people can't even opine about how to fix them. I once documented a process and everyone agreed step 4 was wrong. What was amazing is no one agreed on what step 4 actually was.
- Most of the big arguments I've seen about projects are less "what should we do" but more "when do we want it" e.g. one party want's it next week but another one wants to have more features so it will take longer. [1] I've often dealt with this by using the following metaphor:
"Oh, so you want to move house every two weeks?
If you give me six months I'll build you the world's most amazing Winnebago/RV with a hot tub, satellite TV, queen size bed and A/C.
If you want it tomorrow I'm going to give you a wheelbarrow, pillow and an iPad."
It took a while to emerge but a couple years into my F50 gig we ran into a situation where we had a bus number if 3 in a domain, we all knew that solution A sounds good on paper but is a shitshow in practice, but the rest of the team was still enamored of it and our reasoned explanations just weren’t being persuasive enough.
The popular vote was going to load us up with little emergencies that were going to slow several divisions down and we ended up talking to the bosses and ignoring the vote.
In trying to smooth this over, I realized that the problem is that the people who would be dealing with the consequences of a decision wanted solution C and everyone else wanted solution A. And I think it’s something worth remembering for future indecisions, that the people with skin in the game need to be able to veto a popular vote. If you don’t want the project to lose momentum.
Generally on a large project you will have a bunch of leads all dealing with different domains, and they will reach quorum on major architectural decisions, particularly cross cutting concerns and interfaces between Conway’s Law modularizations. The boss only needs to break ties when a consensus does not emerge. And I mean NEEDS. Second worst boss I ever had refused to break ties and we had an even number of leads, so it happened half a dozen times. We wasted hours every month venting to each other about what we hated about him and one of the regular attendees just about wanted to murder him for that, and have us help him hide the body.
I struggled with it as well, and the experience was made worse by the echo chamber of people around me insisting it was the greatest secret to being successful in software architecture. Who knows if they actually read it.
What helped was to watch a youtube series run by a book club where they actively discussed and took notes together on it. It cut through a lot of the dry writing and got to the point of what the author tries to say. I didn't come out of it feeling more confident, but if I think of something relevant I vaguely remember from the book, I know I can pull it out as a reference at any time.