Live data from Hacker News

Software Development at 1 Hz

medium.com

1–10 of 121 posts

Re: Software Development at 1 Hz

#2
I've been working on/with an environment that gives me feedback on every keystroke. The effect has been amazing, and it's always painful to go back to regular environments. Even traditional Smalltalks or REPLs where I have to do something to execute the current command are jarring. Regular compile/link/debug is painful. Xcode is excruciating.

Re: Software Development at 1 Hz

#4
A 20s turnover is not even that slow. Debugging undecidable timing issues in an FPGA may have turnover counted in hours given how slow HW synthesizers are.

If the need of better tooling is clear, the OP does not mention one important point: faster machines have created some sort of fast food approach to programming, where programs are built on the go with the help of the appropriate tools (some sort of computer-aided programming).

Back in the 60s, when programs where being shipped by snail mail to some data center somewhere in the country to be entered by a random assistant and scheduled in a long pool of jobs, turnover was counted in days. Yet, we walked on the moon.

So beyond better tooling, maybe a key to maintaining that attention span is check is to simply spend more time on the design board.

Re: Software Development at 1 Hz

#5
post #2

I've been working on/with an environment that gives me feedback on every keystroke. The effect has been amazing, and it's always painful to go back to regular environments. Even traditional Smalltalks or REPLs where I have to do something to execute the current command are jarring. Regular compile/link/debug is painful. Xcode is excruciating.

What are you using now?

Re: Software Development at 1 Hz

#6
I once had

- a super-fast assembler

- a super-fast way to get the assembled code over to a target system

... and my turnaround time was on the order of five seconds: Edit, hit a button making the target ready to receive the code, assemble: Running.

It almost didn't matter that I was writing 6502 assembly; things just fell together and it was magic.

Years later I was in a place where it was common to have half-day builds (30 minutes if you arranged things well). In fact, my last three weeks on that job I never got a working build at all, despite our group having an entire source control team whose job it was to make builds work.

Current big project, it's about 30 seconds of tool churning, then another 30 of startup time. Could be better.

Re: Software Development at 1 Hz

#7
When I write code, I have this mental model of how the world (application) works. I write some lines of code based on it, and then test the code. More often than not, something happened that I hadn't thought about, and my mental model is updated.

This summer I worked on an application where it took 8 minutes to see the effect of changed code. Between each iteration, I had forgot most of the assumptions I had made. So when things didn't work, I had a hard time figuring out why my model of the world didn't work. I basically started from scratch each iteration.

Possibly very obvious, but it was interesting to learn how I attack a problem. And scary to see that I didn't just lose the 8 minutes between each run of the program, but much, much more.

Re: Software Development at 1 Hz

#8
post #4

A 20s turnover is not even that slow. Debugging undecidable timing issues in an FPGA may have turnover counted in hours given how slow HW synthesizers are. If the need of better tooling is clear, the OP does not mention one important point: faster machines have created some sort of fast food approach to programming, where programs are built on the go with the help of the appropriate tools (some sort of computer-aided…

I wouldn't say FPGA synthesizers are slow. They take a long time, but that's not the same thing.

Re: Software Development at 1 Hz

#9
I am a huge believer of In my new team I got it from 30s to 5s and the effects have been amazing. I have to thank VScode and Gulp to make this possible. With typescript vscode does fast parsing of your code on every keystroke and gives squigglys instantly. On every save, gulp does its magic and vscode runs the problem matcher and shows more squiggly on my editor.

The browser knows when a file has changed and refreshes immediately. Vscode has a chrome-debug plugin so my breakpoints hit immediately in the IDE.

It's been an amazing experience so far. We've also revved up our CI systems to run 1000's of tests in parallel.

You actually enjoy work when you don't spend forever waiting for things to compile.

Re: Software Development at 1 Hz

#10
You can get this experience in most interpreted languages fairly easily (if an interactive debugger like pry or a JS console isn't good enough), and compiled languages with sufficiently good tooling for dynamic code replacement under a debugger.

For dynamic languages, use the `watch` command combined with a host script that loads the code you're developing dynamically and executes it with some interesting parameters, and dumps the output. As you edit the source, you can see the effects immediately, character by character.

You can get the same effect in something like Java in an IDE if you can structure the interesting code like a game loop (ideally it is a game loop): it's being continuously evaluated, so every change has an immediate effect. You can see Notch use this technique in this video here:

https://youtu.be/rhN35bGvM8c?t=5757

As he edits code in the IDE, the application responds dynamically.

Post reply on HN