HNHacker News
TopNewBestAskShowJobs

nnadams

229 karma · joined October 30, 2019

nick at mutablemango dot com
submissionscomments
nnadams··on Reading academic computer science papers
Any advice on doing a PhD while working? I've been considering doing that in the back of my mind.
nnadams··on Ask HN: What book changed your life?
I came here to post that same book!

When I was a kid I wanted to make an IRC chatbot. I didn't know much, but I read online you could use regular expressions to match text commands. I felt like I needed a book, saved up money, and got my mom to drive me to the next town. Our little library didn't have any computer books. I remember her paging through and asking if I really wanted this "technical manual".

Mastering Regular Expressions was the start to my programming career as well. Having references to a bunch of other languages spurred my curiosity to learn them. I eventually bought some of the O'Reilly Perl books as well.

nnadams··on Citizen developers are rapidly becoming the vanguard of corporate digitisation
The interfaces of Paradox games only get better with each release in my opinion.

Crusader Kings 3 looks polished and is easy to use. Leagues above CK2. I love the stackable tooltips that let you define terms in tooltips defining terms in menus.

nnadams··on Reasons I'm Still Blogging About CRPGs After 10 Years (2019)
Didn't think I'd see RuneScape on HN today. As someone who plays and has since I was around 10, I often think about that same question. Sometimes I think of myself as being from the early 2000s Internet, rather than my hometown. Being online was where I felt like I belonged. RuneScape was like going out to play in the woods. I grew up there.

For me most of that play time has been worth it. Games and wanting to make them are what got me interested in programming. Now I'm a software engineer. People worry about kids' screen time, but I spent most of my time as a kid in front of the computer, programming and gaming. Far beyond acceptable amounts of screen time for a kid, but without that I don't know what I would've been interested in. Certainly there were different kinds of games back then. No ads, short gameplay loops, or microtransactions. From games I learned how to find information online, not many wikis then. I got better at reading, typing, and socializing through online games and forums. I set my own goals and achieved them. I was able to gain more confidence about myself. Games gave me a safe, small microcosm of the world to be excited about.

I could ramble on, but I'd definitely be interested in reading your thoughts about games and play.

nnadams··on Best Pens for 2022: Gel, Ballpoint, Rollerball, and Fountain Pens
I saw this post and came to ask for left-handers' recommendations. I'm glad this article actually has a section for it! Certain pens perform very poorly for me, like the ink stoping and starting.

Pens are the only left-handed designed product I've ever found I really needed. Aside from scissors or computer mice maybe, but I grew up using my right hand for those activities.

nnadams··on Ask HN: Which software jobs involve time outdoors?
I spent a good amount of time outside when I worked for an automotive company. And just a lot of time being active in general. Technically I was just a software engineer, but I was in a department of mostly mechanical engineers.

My days were split up by small things to do like go pickup a vehicle from a coworker. Go to the test track to collect data. Help another engineer debug a vehicle. Review functionality of a prototype with a mechanic. Etc.

On paper all that sounds a bit annoying, and it was some days. After changing jobs and working fully remote with covid though, I do miss having a reason to get up.

nnadams··on Hacking a VW Golf Power Steering ECU
This is true, although in a previous job I was surprised to be working on systems that could receive steering commands with unencrypted CAN messages.

As others have mentioned most USA manufacturers are moving to encrypted CAN buses now though.

nnadams··on How Dwarf Fortress is built
Yes the editor's note at the top says: "we are re-publishing our top ten posts for the year. This is our number one post of 2021!"

Original discussion: https://news.ycombinator.com/item?id=27996684

nnadams··on Soar Cognitive Architecture
Cognitive architecture research is an interesting mix of AI and cognitive science. It's a different approach from the usual: get a ton of data and train a neural network.

I had the privilege of taking multiple AI classes taught by Professor Laird during my masters. He is a great person. I learned a lot from him, both intellectually and personally. Here's a recent video overview of Soar https://www.youtube.com/watch?v=BUiWk-DqLaA

nnadams··on Welcoming our first riders in San Francisco
In the automotive industry we called this "level 2.999." I've moved on from automotive now, but in my experience nearly all of the new vehicle features in development, big or small, are developed at that level.
nnadams··on Julia and the Reincarnation of Lisp (2020)
> I choose Lisp for projects that benefit from Lisp

Are there any examples you have of projects or types of problems that benefit from Lisp?

I've been "learning" Lisp on and off for a while, but I always end up going back to more familiar languages.

nnadams··on Is education no longer the ‘great equalizer’?
People like that resemble modern day "wise men" or sages to me. Our middle school janitor was a math PhD who left academia, became a farmer for decades, and eventually our janitor.

He rarely told anyone his credentials. Most people thought he was just some old man. I watched parents and teachers be rude to him, but he'd always smile and be polite. Some of us used to help him from time to time. He was very kind and would always listen to our kid-sized problems while we worked.

nnadams··on Apple’s M1 Positioning Mocks the Entire x86 Business Model
You are right that CISC processors (like x86) have more capabilities, i.e. more instructions. You as the programmer get to take advantage of the "extra" very specific instructions, so overall you write less instructions.

Less instructions sounds great, but with CISC you do not know how long those instructions will take to execute. RISC has only a handful of instructions, that all take 1 clock cycle (with pipelining). This makes the hardware simple and easy optimize. The instructions you lose can just be implemented in software. That space on chip can be used for more registers and cache, for a huge speed up. Plus nowadays, shared libraries and compilers do a lot of work for us behind the scenes as well. Having tons of instructions on chip only is a benefit for a narrow group of users today.

We've found that for hardware it's better to reduce clock cycles per instruction, rather than reduce total number of instructions.

nnadams··on Bash-LSP: A language server for Bash
Did you mean to add this comment to the nearby "tmux lets you select and copy text with you keyboard" post?
nnadams··on Google admits Kubernetes container tech is too complex
Using a client like that helped me get up to speed as well. If anyone wants a terminal based k8s client, I like https://github.com/derailed/k9s
nnadams··on Nx: Multi-dimensional tensors Elixir lib with multi-staged compilation (CPU/GPU)
I'm excited to try this out, especially after seeing the XLA support.

Where do you see Nx going in the future? I saw there's an MNIST example in the repo. Do you plan including higher-level features for neural networks, similar to Keras/PyTorch?

nnadams··on Staff Engineer: Leadership beyond the management track
Looks like some of this book's content is available online at: staffeng.com/guides
nnadams··on My 2 Year Journey to $10K MRR
I second this exact comparison.

Being able to try and customize jQuery UI components was also what sold me back then. I think simple web-based demos in your docs go a long way in explaining what your product actually feels like to use. Even a demo that's a bit contrived is useful. People will even just mindlessly play with demos. They are very worth doing in my opinion.

nnadams··on 'Rent-a-person who does nothing' in Tokyo receives endless requests, gratitude
I was thinking the same thing. A 90 minute movie where he doesn't say a single word. It could be one day in his life just being there for his different clients.
nnadams··on Ask HN: Predictions for 2021?
I don't use any PLM software. Someone in the company might, but I haven't heard of any being used. All of our requirements are maintained in a company-wide tool though. Requirements get decomposed from customer requirements all the way down to subcomponent requirements. Departments/teams get requirements assigned to them. Engineers were spending too much time manually checking and signing off those requirements. Currently the model and BOM metadata includes related requirement IDs. We are working toward having generic tests for requirements. Our goal is to implement tests for a requirement and have an automated signoff of BOMs.

At this point, our group is actively pushing back on SysML, at least for our roles. Each group's system(s) has a well defined interface to the whole, and everything else is decided within the team. We've found SysML mostly just duplicated work for us. Our software is already written in Simulink so we just build models of our system in that, too. We don't get much value from SysML, and whenever someone else tries to use SysML (like an architecture team) they don't know enough of the details our system.

I don't claim to know much about this stuff, but that's been our experience. The speed and flexibility of our engineers has vastly improved. We've started catching integration issues months in advance, when they are still easily fixable.

nnadams··on Ask HN: Predictions for 2021?
We wanted to do more simulations with Simulink models to help cut back on physical prototypes. We started tracking time spent to get the results of these simulations. Most of our engineers' time was spent finding the right models, setting them up, and configuring these simulations. They didn't have much time left to do modeling and testing work.

At first we just created some "Bill Of Models" to define systems and simulations. Slowly we've expanded the scope. Each BOM contains a system definition, components, subcomponents, interfaces, and some metadata. There's pointers to different repositories, parameter databases, and scripts to configure runtime environments. We have a small tool that reads BOMs and instantiates them as full simulations.

When someone wants to test a new system variant, they can usually just modify an existing BOM. If they have a new feature, BOMs give them an easy way to see and create every variant simulation to work with. We had to do a lot of standardization of our models, but that helped our efforts to move toward fully automated tests and CI/CD. We now have a web-based catalog of models and BOMs that are automatically generated, run, and tested. All of this has also helped get new people to use simulations for their work.

nnadams··on Ask HN: Predictions for 2021?
I hope the Bill of Materials concept spreads to more areas of software development.

A bit different from your example, but a small group of us started a "Bill of Models" project for our department. We spent too much time failing to manage complexity with fancy tools. We ended up writing our own simple tool for reading custom BOMs to create and manage simulations.

nnadams··on Ask HN: I want to start learning Lisp. Where do I begin?
This is a bit tangential but what helped me most in picking up Lisp was writing my own. Until I worked through Make A Lisp [0] I don't think I really "got" Lisp. You can work in whatever language you're familiar with. You build a Lisp similar to Clojure and learn a lot of important concepts by implementing them.

[0] https://github.com/kanaka/mal

nnadams··on How the 2021 Ford F-150's onboard generator works
Ford steering engineer here. I worked on the 2020 Super Duty line. How has the experience with your truck been so far?

Did you opt for any of the trailer assistance features? Trailer Backup Assist was something I worked a lot on, and I would be interested to hear your thoughts.

nnadams··on There’s no replacement for the thrill of browsing in a bookstore
Do you have any existing books you would recommend from your "tech and science books aimed at the scientific literate but non-specialist" category?
nnadams··on Nim: Scripting Ease in a Compiled Language
I used Nim for my implementation of Make A Lisp[1]. I use Python every day and the jump was pretty straightforward. Almost copy and paste from some things. I don't have to think about static types much, but it was a welcome change. I loved having macros to play with, too. I spent a lot of time with docs which aren't bad.

As for the "mental capacity" I felt the same about finally getting into Rust. Spending some time with Nim actually helped me bridge the gap from Python to Rust.

[1] https://github.com/kanaka/mal

← PreviousPage 2 of 2