I get that folks love a good Linus rant. But as someone who's been at the end of that style of "feedback", nothing can be more humiliating or demotivating. Certainly there are contributors that are making "rookie mistakes". There are folks that aren't willing to ingest the entire context of what was tried back in 2.0.36, 2.2, 2.4... etc. And perhaps it's wise to simply stay away until you're completely certain you've got the chops to contribute. More than half the folks that enjoy that sort of abuse don't have those chops.
I can defend someone who is unwilling to yield on quality. Afterall, this truly is his baby. Issuing scathing rebukes to well-intentioned contributors is like slapping my kid when he brings me the wrong type of screwdriver.
That wasn't my experience at all. I had a recruiter screen where she asked me some technical questions. I then had a longer discussion, then a code screen, then an arch-deep-dive. The entire process was very professional and EVERY person came off like they really wanted me to succeed. (Sure it's an act but it's a very helpful act when you're in the hot seat)
My intervews were in 20202/2021. Perhaps things have changed?
Yeah, that's really the hard part of contracting. I was in my 20s and was certain I HAD to win every bid to keep feeding myself. I took longer than I should to realize that 3 worthwhile jobs is far better than 10 hassles. All clients required changes, most thought they were overpaying, and many gave me a hard time when the bill was sent. Meanwhile, when I'd toss out $20,000 as a price tag, those folks were far more serious, and they paid on time! It caused me to learn a valuable lesson. You want to quote high enough to offend the folks that aren't serious. They were gonna be such a pain.
"My nephew makes websites, and he's 14... I could just have him do it"
- Every client of mine during my contracting days. It took me way too long to reply with, "Oh that's great news! I wasn't sure of my availability, and was certain I was going to be way too expensive. Glad you got it figured out."
Alright, you and your sibling reply have me wanting to look at it. I wrote Scheme/Racket when I was going through The Little Schemer and SICP. I'll buy a common lisp book. Any recommendations?
I'd settle for the Result/Option containers. Kotlin does have ArrowKt to attempt to achieve all the functional goodness of Scala. I think for my needs though, I'd appreciate Rust's "Result".
I still install it and play with it for a bit every other year. I really appreciate that it's held true to its own core. Yes it works with Wayland now, but it's still using its e-foundation libraries. I still wish I had screenshots of my desktop from 1998/1999. Downloading cool software from Freshmeat, hitting up Slashdot (news for nerds... stuff that matters) to see what was going on. Kinda wish I was into IRC back then but I was more of an ICQ->AIM chatter. It's an era I wish we could have back.
No, I realize that. It doesn't stop me from having my "perfect language wishlist". The author calling out "perfectable" is what got me thinking. What language would I choose if I were able to "perfect" it just a bit more?
- The compile speed of Go
- The performance of Go
- The single binary compilation of Go
- The type system of Kotlin
- The ecosystem of JVM (packages for anything I could dream of)
- The document sytem/tests of Elixir
- The ability to go "unsafe" and opt for ARC instead of GC
- The result monad/option monad and match statements from OCaml/Gleam
- A REPL like Kotlin or even better, OCaml
- A GREAT LSP for NeoVim
- A package/module system that minimizes transient dependencies
- No reliance on a VM like BEAM or JVM
I still dream about this "one size fits all" language.
Yup, in the 2005ish era, I found that I was downloading albums just because I could. Some I never even listened to! I got rid of my EasyNews subscription because it all seemed so silly to me.
It's always fun to realize that USENET is still out there humming along. I still remember the thrill of working on my ancient Delphi/Object Pascal projects, and posting questions... waiting a few hours and checking back for responses. There was no "instant gratification" in those days. (I wasn't really using IRC).
Opening this, and just searching "Delphi" I see that USENET never did get that "censorship" that I always assumed would eventually happen. The group names alone are truly unhinged. The Wild West is still.... wild!
80 miles for me! I was a Space Shuttle era kid though. Saw the Challenger disaster during my lunchtime. And then on perpetual replay for the rest of the week on WESH/WCPX/WFTV most likely. Even still, just knowing we were launching all those people into space was awe-inspiring.
Yeah, I was all about recording music/running the first iteration of software synths. I was a Graphic Design major at that time so Photoshop/Illustrator/QuarkXpress were my jam. Those suprisingly didn't run that bad - in real Graphic Design, no one used Eyecandy (the reason everything on the web in 1998 had drop shadows, outter glows, lens flares) so rendering "3D" rarely came into play.
I was a poor kid building computers in the mid to late 90's. I tried everything I could NOT to use a true Pentium. My first build (coming from an upgraded Compaq 386DX) was an AMD 486 "DX4". I had a Diamond Stealth PCI VGA card and 16mb of DRAM. After that I tried a 233Mhz Cyrix 6x86. That chip was garbage. I had to run some software pentium emulation to get Cubase to run. I went 300Mhz Celeron after that. That was my first time trying the new SDRAM! After that I FINALLY got a legit Pentium III 400Mhz! I could go on and on as this is a lovely walk down memory lane and there's been some fun dips back into AMD Athlon/Ryzen/etc.
As a VERY long-time Linux user, I agree. Multi-monitor setups, where you can unplug the monitor and have your windows gather back onto your laptop screen requires WAY too much configuration. Having your audio switch back to internal laptop speakers requires homebrewing a script. On my 2020 Dell XPS, I still haven't figured out how to enable the subwoofers - so I'm stuck with ThinkPad quality audio. I have 3 ThinkPads (one with straight ArchLinux, 2 with CachyOS) and there's always some little piece I'm annoyed with. The X1C has good battery life, the T480 and P14s are meh. I JUST bought my first HiDPI Lenovo laptop this weekend. Getting that to be a decent tradeoff between readable text and mongo-duplo-massive UI has been "fun". (Yoga 15.3" Aura edition - I really like it) But running apps in Wine is darn near impossible - the text is for ants!
All of these issues go away with Mac and Windows. I'm not giving up on Linux, I'm just a realist.
Have you ever watched someone USE those COBOL TUIs? Everyone from airline ticket agents, to local governments, to folks at Home Depot while looking up inventory. They could fly through menus and accomplish things. I remember when Best Buy switched to a Windows-based experience. It was terrible. Simply adding a mouse+windowing experience slowed everything way down. I saw it first hand at Target too. They went from an OS/2-based TUI to Windows NT. I know there'll always be those folks that think we're all just trying to play "leet Haxorz", but there's just something about those systems that people deeply connected with.
While Astro does indeed have its own type of components, it also supports React, Solid and a host of others. So transplanting your current tree of components in, adding the React plugin and saying "GO" is likely a fairly straight-forward project. I moved a previous static site into an older verison of Astro with very little trouble.
What would you call a person who, when presented with new information, refuses to change their mind? Dogmatic? Religious? An Idiot? I'm sure there's some self-serving reason the guy wants to go to the moon. What we don't know is if he's had that in mind the entire time.
I convinced one boss to let me spike out a project with it. I was in love with OCaml at the time. OCaml's docs are... I'm just going to say it, they're terrible. F# on the other hand, has fantastic docs. In the end, the only real gripe I had was the significant whitespace. I'm just not a fan.
Way back when I was in IT Admin, I used to have this problem all the time. Some non-tech person emails a spreadsheet, another non-tech person edits it, and saves it. The original person complains that they can't see the changes. Yeah, because it's saved in some MS Windows Profile location that no sane human would ever visit. My solution was to ONLY email links to shared files on a shared resource. The LAST thing I'd ever think of is writing software to solve this problem!
These days if I were interviewing someone and they said, "I'd use the simple solution that is fairly ubiquitous", I'd say, "yes! you've now saved yourself tons of engineering hours - and you've saved the company eng money".
8GB of "unified" memory. That means it's also shared by the GPU. I realize these things aren't meant to be gaming rigs, or CAD workstations, but I do agree that this isn't very forward thinking.
But Go culture promulgates this practice of repeating boilerplate. In fact this is one of the biggest confusion points of new gophers. "I want to do a thing that seems common enough, what library are you all using to do X?". Everyone scoffs, pushes up their glasses and says, "well actually, you should just use the standard library, it's always worked just fine for me". And the new gopher is confused because they really believe that reinventing the wheel is an acceptable practice. This is what leads to using LLMs to write all that code (admittedly, it's a fine use of an LLM).
I've used this as a chance to turn things back around on the recruiters. "That's a great question and I noticed you didn't mention a salary range on the posting". Allow for an uncomfortable silence as now they're either forced to give a range, or try to say something like, "it's flexible for the right candidate". The latter is my opportunity to agree, "Of course, let's concentrate on that question then, I'd sure like if we could get to the bottom of this 'right candidate' question".
We can see this effect from Mitchell's own release of his terminal emulator (Ghostty). It was invite-only. The in-crowd on YouTube/Twitter lorded it over others as a status symbol. None of it was based on actual engineering prowess. It was more like, "hey, you speak at conferences and people follow you on social media... you must be amazing".
I think I can get on board with this view. In the earlier LLM days, I was working on a project that had me building models of different CSV's we'd receive from clients. I needed to build classes that represented all the fields. I asked AI to do it for me and I was very pleased with the results. It saved me an hour-long slog of copying the header rows, pasting into a class, ensuring that everything was camel-cased, etc. But the key thing here is that that work was never going to be the "hard part". That was the slog. The real dopamine hit was from solving the actual problem at hand - parsing many different variants of a file, and unifying the output in a homogenous way.
Now, if I had just said, "Dear Claude, make it so I can read files from any client and figure out how to represent the results in the same way, no matter what the input is". I can agree, I _might_ be stepping into "you're not gonna understand the software"-land. That's where responsibility comes into play. Reading the code that's produced is vital. I however, am still not at the point where I'm giivng feature work to LLMs. I make a plan for what I want to do, and give the mundane stuff to the AI.
Yup, agents LOVE Tailwind+ShadCN. Even when I've explicitly told them not to use it, it still creeps in. There's a lot of prior art out on GitHub and LLMs can't help themselves. FWIW, the result does tend to look nice enough. For a POC I can't complain. If I'm really going to roll up my sleeves and get into the code though? I don't think I'd enjoy all of it.