Live data from Hacker News

Making Hard Things Easy

jvns.ca

141–150 of 202 posts

Re: Making Hard Things Easy

#141
post #14

I really disagree strongly with the take on bash. The best solution is not to add tooling on top of bash or memorize its idiosyncrasies. It is to not use bash. That is the only way to escape its pitfalls.

I have yet to find a proper replacement for bash. Especially for scripts. The two most common alternatives are 1) using some of the newer shells people have created, like Oil shell [0], or 2) using programming language like Python, JavaScript, or PHP. The problem with using a newer shell is that you'll have to install the new shell anywhere you want to use the script. Meanwhile bash is ubiquitous. Unless you're the o…

> The problem with using another programming language is that they rarely have good ergonomics for doing what bash does: stringing together commands, command input, command output, and files. If you try to do that in another programming language, things suddenly get a lot more complicate or at least more verbose.

tclsh is one way around that. Use a real first-class programming language, but in a mode where calling programs is as easy as it is in shell.

Re: Making Hard Things Easy

#143

Julia has to be one of the most likable people in tech! Every time I read one of her articles I feel that same bubbly rush of excitement I got when I was a kid, just starting to unfurl the secrets of reality through my own little experiments. Absolutely lovely.

For a second I thought you were talking about Julia the language. :)

Shhh... You'll make me miss undergrad. c:

Re: Making Hard Things Easy

#144

Earlier quoted context omitted.

For this I use shell functions in my .zshrc and I wrote a loader to source a bunch of files in a .zsh.d directory.

Rolled your own direnv?

No, this is global: I use direnv too.

It’s more like “roll your own oh-my-zsh”

Re: Making Hard Things Easy

#145

On a target, Strange Loop seems to have some of the best presentations I've seen over the years. It's really unfortunate that this will be the last one.

What?? What happened

Alex Miller (the organizer) decided to stop. Probably best to let him explain in his own words: https://www.youtube.com/watch?v=suv76aL0NrA

Re: Making Hard Things Easy

#146

The part that resonated most with me is "Show things that are normally hidden". Tools that do this make things clearer almost immediately. Consider the developer tools in a web browser. Do you remember the "dark ages" before such things existed? It was awful because you had to guess instead of seeing what was going on. Tools like Wireshark that show you every last byte of network packets that it has access to AND par…

The game development equivalent of these is renderDoc. I was stunned when I learned its existance for the first time.

Re: Making Hard Things Easy

#147
post #95

The part that resonated most with me is "Show things that are normally hidden". Tools that do this make things clearer almost immediately. Consider the developer tools in a web browser. Do you remember the "dark ages" before such things existed? It was awful because you had to guess instead of seeing what was going on. Tools like Wireshark that show you every last byte of network packets that it has access to AND par…

Wireshark is great but it does not show you every byte the network carried. For example it never shows Ethernet preambles, only sometimes shows Ethernet frame checksums, and never shows interpacket gaps (which are a required part of the Ethernet protocol). So yes it comes close but it just goes to show you, there is always more detail hiding somewhere!

Are the Ethernet frame checksums even visible to Wireshark, which hooks into the IP layer? would some of the ethernet stuff be only visible within the ethernet card itself, not to the software stack?

Re: Making Hard Things Easy

#148

On a related note, most software is over-engineered. I think it's partly because of centralization of the industry; it's pushing everyone towards a small number of tools for the benefit of a small number of people who control them and so many of these tools end up becoming 'everything tools' and cover more use cases than they should. Companies want developers to all know the same tools; that way they are easily repla…

I agree. In some ways it feels like we have gone backwards in web dev since say the early days of ASP.NET and Rails. Back then we had browser wars to keep is busy. But now browsers are broadly compatible but we have invented all this front end complexity for web apps that often don’t need it.

Stuff like DNS, IP, https can’t be helped as they are fundamental things that need backwards compatibility and are somewhat political too.

I feel that learning those things well is a better investment though than learning the frameworks.

… if I keep going I will start talking about innovation tokens!

Re: Making Hard Things Easy

#149

Earlier quoted context omitted.

This looks like https://tldr.sh in a browser.

curl cheat.sh/awk # is the intended behavior, and it frequently goes into way more detail than tldr does. Both great tools!

Thanks, didn't know about the curl behavior. Nice!
Post reply on HN