< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #236 - September 17, 2023

Here are the top threads of the week, happy reading!

Top comment by RyLuke

I actually wrote a long article on this [1]—and had a chance to interview some of the team that built the original version of VB that was sold to Microsoft. (Alan Cooper and Michael Geary; Michael actually frequents HN pretty regularly!)

My opinion is that it was a confluence of a few factors:

- Microsoft was very worried about the threat of Java/Sun, and rotated hard into .NET and the common language runtime as a response.

- The most vocal, but minority of VB users wanted more advanced functionality and a more powerful/expressive language (as is often the case). Couple with the shift to .NET, Microsoft listened to them: VB got a full rewrite into an object-oriented language and the IDE moved further away from the VB6 visual building paradigm. That left the silent majority high and dry.

- The web emerged. Working with the Win32 API was suddenly less relevant, and younger devs adopted PHP en masse, rather than adopting VB. (And existing VB6 devs upset about the change also migrated over when they could build for the web instead of Windows) Unforced error on Microsoft's part, since IE had 96% browser marketshare in 2001.

[1] https://retool.com/visual-basic/

Top comment by yukinon

Hot take here, but as someone that doesn't code daily, I prefer those sites over the actual docs in most cases.

If I need to get something done quick, those sites will give me a quick 5 second refresher with clear examples.

Actually, in the doc you described as "obviously the correct hit", all I see is

> str.endswith(suffix[, start[, end]])

> Return True if the string ends with the specified suffix, otherwise return False. suffix can also be a tuple of suffixes to look for. With optional start, test beginning at that position. With optional end, stop comparing at that position.

Meanwhile, the first hit in Google for me is Programiz, which has actual real examples without any additional clicking around or trying to understand how the information is structured.

Besides, I know the docs exist, I don't need a google search for it. I'll click on the content farms every time because they've consistently been the fastest way for me to get what I need.

Top comment by kypro

The technology I always cite for something that had huge hype then died is 3D generally. I remember around the time Avatar was release everyone was convinced that 3D was the next big thing.

For several years after Avatar it was hard to watch movies that weren't showing in 3D. People rushed out to buy 3D TVs. Phones were featuring 3D displays. Cameras were boasting the ability to capture 3D pictures...

I think 3D will eventually make a come back as VR technology progresses, but I genuinely didn't get the hype for 3D during that period.

Top comment by AlexanderDhoore

In Belgium, every citizen has access to a "digital vault" provided by the government, which is accessible using their ID card. Individuals can upload up to 1GB of documents into this vault. It's a well-designed system that ensures privacy during one's lifetime, but you can choose what happens with it after your passing.

https://www.izimi.be/en/

Top comment by broodbucket

The basic infrastructure for writing drivers in Rust is upstream but there's nothing upstream using it yet. Others have mentioned stuff that may eventually make its way upstream, but from what I've seen there's pretty heavy resistance from maintainers whenever (re)writing something in Rust gets brought up.

Before Rust starts getting used "for real" in the kernel there's a lot of barriers to overcome. Most maintainers aren't hugely proficient in Rust and absolutely do not have the time to learn. Needing yet another toolchain is annoying (especially when you need bits that aren't in stable yet), anything you write in Rust probably won't get built in distro kernels for a long time, and anything you work on today is hugely uncharted territory since it's all so new.

I think one thing a lot of people don't understand from "outside" the kernel development sphere is that standards for getting stuff upstream are typically pretty high for most subsystems, a lot higher than most open source projects. There are a lot of open questions about Rust in Linux that don't have clear answers, and Linux really struggles with consensus. Yes it has a dictator, but that dictator very rarely dictates anything that hugely moves the needle.

I do think "real" kernel bits written in Rust will get upstream and will get used, but it will be a very slow burn.

Top comment by fassssst

Without more details, this is the way to get the most native Windows 11 look and feel:

https://learn.microsoft.com/en-us/windows/apps/winui/winui3/

Disclosure: I work at Microsoft on a team that works on visual look and feel for Windows.

Top comment by srhtftw

Back in the 80's a friend and I took a COBOL course at a community college in the evening when we were in high school. Most students were much older than we were.

We wrote our programs on special pads of paper, transferred them to punch cards, gave our decks to operators who would run our programs on an IBM. Around a half hour later the operators gave us back printouts with the results of our runs. Most people didn't wait around but my friend and I would stay late so we could get more runs in. If we were nice to the operator they might bump our job up in the queue.

Most of the programs we wrote were very simple. Things you could easily do now with a few lines of a modern scripting language.

Our class's teacher was a professional COBOL programmer who had a day job working at a soda company. Some kind of emergency came up at his job half way through the course and he stopped showing up so we were left on our own for a few weeks.

Just before the end of the class the department head took over and told everyone they would need to implement a binary search on the final exam. This was way too hard for most of the other students but not a big deal for my friend and I. We were done in a few minutes.

I was also fortunate to meet another guy in the class who asked me to help him with some programs he had to write at his job. He was a soil engineer who wanted to move into a finance job but found the programming work difficult, so I spent a few hours a week tutoring him and writing programs with him.

Eventually I graduated and he ran out of work for me but by then we became good friends. While I can't say I got much out of of the COBOL class I'm glad I took it because if I hadn't I would not have met him.

Top comment by thebigspacefuck

Grinding leetcode is inefficient. What you should be doing is familiarizing yourself with the common patterns you might expect to see in an interview. Look at the blind 75 and https://seanprashad.com/leetcode-patterns/.

Initially, you don’t need to solve any of the problems from scratch. Look up the problem on YouTube and someone will walk you through it. This will build your intuition of when to reach for a heap or for a DP array or when to do BFS, etc. If you don’t know these, then watch another video explaining the concepts. These videos are often 10-15 minutes so with a 30 minute time commitment a day you potentially can get through 3 a day, getting you through the complete blind 75 (more than enough) in less than a month or 1 of each of SP’s 22 patterns in a couple of weeks.

The great thing is you don’t need dedicated time for this approach, you can often start a video while tackling laundry or doing some dishes.

Then, start putting these into practice but spend no more than 10-15 minutes on the problem. If you can’t solve it, go watch the video again. There are so many times where you can have the right approach but make a stupid mistake that will cause you to flounder and you can pick up a better way of doing it. Eventually you will be solving these in 10-15 minutes and the time commitment will have remained at a minimum.

After this, find a new job that is only 40 hours a week and voila you’ve just opened up 10-20 hours for personal projects.

Top comment by danwee

In order (Western European perspective):

- base salary

- 100% remote

- flexible schedule (I can start to work at 7am/8am/9am/etc.; If I need to do some errands at 2pm, I can just do it)

- culture, product and tech stack. A standard no BS culture would suffice, but every company has its own shenanigans. A good product to work on would be nice, but I accept that the majority of products out there are just not needed at all. Also, I'm not anymore a zealot when it comes to the tech stack; and learning something new at the job is welcomed.

- standard vacation days (as dictated by the law of the country). I see the majority of unlimited PTO as a scam. There's a difference between what it's my right (my official 20-30 vacation days per year as per the law that no-one can take away from me) and what company says should be my vacation days per year (wich is highly dependant on my team/manager).

- at least in Western Europe, the health insurance is more or less the same everywhere, so it's not a perk in itself.

- free lunch/snacks/videogames is not a perk from my perspective if you are over 30. Even less now if we work remotely.

- education reimbursement could be nice, but I don't mind at all. I try to be self-substained when it comes to gathering knowledge that benefits my career

- no on-call rotation. But I accept that this is getting harder and harder to negotiate

Top comment by rozenmd

After 5 years and probably like a dozen failed attempts, I run a profitable one-person SaaS.

I initially thought "it was about the tech" and tried remaking levelsio's remoteok as a serverless app, and was surprised that no one cared what I built it in, and that traction/marketing was everything.

I wrote up an article each year about the journey:

- https://maxrozen.com/2018-review-starting-an-internet-busine...

- https://maxrozen.com/2019-further-reflections-trying-to-star...

- https://maxrozen.com/indiehacking-3-year-review

- https://maxrozen.com/2021-strangers-paid-my-macbook

- https://maxrozen.com/2022-just-keep-shipping