Zed A. Shaw, Writer Profile picture
Author of the Learn Code the Hard Way series of books at https://t.co/M2PoncbFO6. Live office hours at https://t.co/dM8LPxjiFJ
Jun 4, 2023 7 tweets 4 min read
People who write in a pompous "King James" style sound pretentious. This article on teaching completely loses the message because the author is trying to sound "official" by sounding "biblical". It then slides downhill from there as expected:

intellectualmathematics.com/manifesto/ Clearly the author has never been poor, taught or studied in a poor school, never gone hungry, and has probably only taught people who would fit this model of "perfect". Slap all the "therefore" you want, the entire premise is disconnected from reality. Image
Jun 2, 2023 7 tweets 3 min read
A thread of weird Youtube searches for when you want some soothing noise to code to. Most of these either have no talking, or if there is talking it's low whispers (because some folks like that). All of these are also Safe for Work in most places.

Here's my favorites: 1. "dugout"

It's almost always a Russian man or woman building a little house in the dirt. They don't talk much, usually there's a dog they talk to but otherwise, woods, rain, fires, cooking, and digging.

youtube.com/results?search…
Dec 19, 2022 9 tweets 2 min read
Another thought I had recently was that I would _like_ to actually buy a product from many open source projects. No, I don't want to donate, I want to pay you for a real product, so I'm your customer and you try to make me happy.

But they always screw this up in weird ways: 1. No, I don't want to buy you coffee, or "donate" because that's a dodge to avoid the obligation of treating me like a customer. FLOSS projects do this so they can get money, and then force any changes they want on your without your consent crying "ENTITLED" when you complain.
Dec 19, 2022 4 tweets 2 min read
So, Gitea created some kind of corporation to try to make money on Gitea, and apparently that's caused a fork:

blog.codeberg.org/codeberg-launc…

The comments are amazingly hypocritical given that...

Gitea is written in Go, which is famously run with an iron fist by Google. The hypocrisy is simply amazing. If all of these people are so against corporate open source then why the hell are they also all using Go or anything by Google?

Because, if you're a Trillionaire then people are grateful for your table scraps and ignore their supposed "morals".
Dec 16, 2022 4 tweets 2 min read
My jsdoc replacement is at a point where I can browse my own documentation:

git.learnjsthehardway.com/learn-javascri…

with a simple viewer at:

git.learnjsthehardway.com/learn-javascri…

Now I need to process the docs comment and either I support the JSDoc format--which irritates me--or simplify it. Image My problem with the JSDoc format is it's just a copy of the JavaDoc format, and it's far too strict, which is a Java thing. I'd rather have it tone down the format's requirements and handle more looseness, which would make documentation easier.
Nov 8, 2022 6 tweets 2 min read
I found it! It was in a Svelte transitions module that comes with Svelete, but...I think Microsoft is adding this copyright to all source that's compiled with TypeScript? I'm pretty damn sure that's not how copyright works, especially for programming languages. So the exact file is this one:

github.com/sveltejs/svelt…

There's no Copyright notice in that source .ts file, but this is what's in the generated .mjs file:
Nov 7, 2022 4 tweets 1 min read
I periodically look at alternative front-end build tools to see if I should replace my homegrown thing, and I swear they die off like pigeons eating AlkaSeltzer. Snowpack died, Sapper died, SvelteKit is probably dead soon, that leaves Vite and Parcel. Vite made the stupid decision of putting the root of the app's index.html right at the top of the build directory, which means it's a pain to build multi-URL apps. I also have to roll my own Routing again, roll my own SSG, roll my own..I already did all of this.
Aug 8, 2022 10 tweets 4 min read
I'm playing with htmx.org and my first impression:

Interesting idea, could be great, but the setup time and footguns are way too high. I've currently spent 1.5 hours and I still can't make a div click for no reason caused by htmx but rather all by setup BS. First, let's start with the installing section:

htmx.org/docs/#installi…

It mentions the only way to get it is:

Unpkg
Unpkg
Unpkg
npm

No direct link right there on the site. It's "10kb compressed" and you can't host a file yourself?

Why is unpkg a problem?
Aug 8, 2022 7 tweets 2 min read
Business Idea: Ad Spend Auditor.

The other day I saw ads in Hindi, Spanish, and Dutch on Youtube. I have never played a video in any of these languages, so those companies wasted important dollars on videos I can't even understand.

An auditor would help you save that money. The idea would be to use tech and people to hunt down bad displays of ads for customers, especially if they violate terms. I imagine the cost is high, but the target customers are also huge. This would be a combination of getting refunds, negotiation leverage, and analytics.
May 29, 2022 18 tweets 6 min read
Alright design people, we need to have a conversation about Typography and how it's taught. I'll use today's attempt at teaching:

learnui.design/tools/typograp…

When you pick any font you get this totally useless admonishment that doesn't explain anything. This supposed teaching tool is being presented to us Typography idiots using the most advanced media tool ever invented: the browser. If you are using a browser and the best you can do is "use a squared-off letterform dork" then you have failed miserably at using visuals.
May 27, 2022 6 tweets 2 min read
In my Morning Star only Elden Ring play I've managed to reach the Altus Plateau, defeat the Magma Wyrm Makar, Godrick, Margit, and I'm only level 54 with a +13 morning star. I've managed to kill everything with ridiculous melee and bleed damage with a few tricks: 1. The morning star seems to do crazy high stagger damage, but combine it with Flame of the Red Manes and you're able to stun and crit everything.

eldenring.wiki.fextralife.com/Flame+of+the+R…

I hit them once with that before melee range, then one charge with the morning star takes them out.
May 21, 2022 10 tweets 4 min read
Recent discussion on HN about @leetcode had me interested in the questions, and yep, just like all questions of this type they're mostly a test you went to the same college as the author. They're also terribly specified. Let's look at one:

leetcode.com/problems/add-t… @LeetCode First off, what in the hell is this? This is so confusingly written that 50% of the problem is just figuring out WTF they're saying. You could say:

Some idiot took two numbers like 567 and 378, then converted them into linked lists with "5", "6", "7" and "3", "7", "8".
Mar 31, 2022 10 tweets 3 min read
I was so wrong about discord.js. It is the very best JavaScript code a C# programmer could write. They use Collections everywhere instead of base types, you have to *manually* access the cache and fetch it for most objects, and everything requires chains of functions. In this code I'm just trying to get one guild, then get one text channel, but because discord.js returns Map, and Map.entries() return an iterator, and iterators are not Arrays, that means you don't get map/reduce/filter. You have to use for-loops.
Mar 30, 2022 8 tweets 3 min read
Remember how I was raving about the potential of the Discord.js docs?

Yeahhhhhhh, so far not a single piece of code has worked. I can't even get it to receive a message, no idea what weirdo "Intents" to set, the example is vastly more complicated that it should be. In short: First, just between 2021 and 2021 they radically changed the API. Instead of client.on("message") it's client.on("messageCreate") ... 'cause that makes a whole lot of sense. Then there's this garbage fire of a UI. No explanation about any of this, AND you can't screw it up.
Mar 25, 2022 11 tweets 3 min read
I've been researching how to use a CA authority for ssh servers, and the best write-up so far is this one by FB/META:

engineering.fb.com/2016/09/12/sec…

But, all of these seem to miss the entire point of a CA which is *invalidating* signed keys if they get compromised. To enable a CA, you run ssh-keygen on a "CA server" and create a signing key. Then you use that to sign the ssh keys of anyone allowed access. That removes the need to put their key in every server, so that's a big win.

But then it goes off the rails after that.
Mar 23, 2022 7 tweets 3 min read
node-gyp is so bad that if you have both python3 and python2 installed it will default to python3, but then attempt to run python2 code with it. To fix it you have to manually do:

npm config set python python2.7

Just for node-gyp. No other JAVASCRIPT project is doing this. Now, you might ask, what exactly is node-gyp attempting to do that seems to require Python? Oh, just you know, getting the version of python.

Yes, you read that right. node-gyp is so terrible that it runs the wrong version of python to attempt to get the version of python. Image
Mar 10, 2022 9 tweets 3 min read
The world of video encoding is a trash fire nightmare. Let's take a walk down stupid lane as I solve the ever present problem of "my video won't play" on the web. Previously my videos had problems playing because the encoding used "high" instead of "main" or "baseline". Firefox and others had big issues with using high, and *nobody* mentions this. It's like some dark mark of shame for them, so I suspect there's a business deal at work.
Sep 25, 2021 9 tweets 4 min read
I managed to almost everything mentioned in this blog post on code reviews working on Windows *except* the git-madge project the author wrote, which is expected for a bash/perl script on windows:

blog.jez.io/cli-code-revie…

Here's some notes for using with cmder.net 1. It took me forever to realize this but cmder's default vim is broken. If you install vim for Windows using the official installer it'll work in Gvim, but fail with "pathogen#infect not a function" because cmder is looking for the files in a different spot.
Sep 24, 2021 5 tweets 2 min read
Spent the whole day installing taller monitor mounts on my desk, raising them to where the middle is at about 6' high so I sit up straight.

I also had to move a few plugs, and inadvertently created a small short that shocked me whenever I touched my headphones and laptop! I have my laptop connected on one plug and a sound device connected to a different plug in the house. I probably had this problem the entire time but never noticed because I don't typically touch the laptop at the same time I'm recording.
Sep 23, 2021 6 tweets 2 min read
I was interested in what it'd cost to get an Nvidia 3090, and the economics of GPUs is just stupid. Prices for individual cards runs $3k-$4k, like this:

newegg.com/zotac-geforce-…

But an entire PC with that card is...$3k-$4k:

newegg.com/abs-ali445/p/N…

I have a suggestion: I think NVIDIA and AMD are not approaching the bitcoin market correctly. They try to cripple their cards to get the prices to go down, but what they should do is make a mining only card that focuses on:

1. No graphics output.
2. 1U rackable.
3. Better cooling.
4. Lower power.
Sep 22, 2021 8 tweets 2 min read
Results of today's Twitch vs. Instagram stream competition:

1. Twitch finally worked but you need a companion app to really manage it.
2. Instagram failed for a few reasons related to my laptop being a wimp, but *also* the UI design trying to compete with TikTok. Instagram's live has no way to remove the chat stream or Streamer's title for the viewer. This means that text floods from the bottom covering everything there. Normally not a big deal if you're standing upright doing an Irish Jig to John Legend, but to see a 16:9 video?