Recent submissions

Comment · 6 years ago
1. Retired. Mostly I read and surf the web. Take care of my health.

2. I left because I got old. Twelve hours of concentration just isn't worth it any more.

Comment · 6 years ago
Attachment to a leader and/or parent seems to be a deep part of human personality. Especially in the first decade or two of life. I suppose a teacher-at-the-front could be replaced by a soft robot. But that's not a really large change in the method of education.

I do remember when learning calculus that I didn't really know integration and differentiation until I'd worked through a dozen or two of the homework problems. I could understand in class and nod my head, but would not be able to use that knowledge until I'd ground through enough example problems. That paradigm seems to be true for a lot of technical subjects and must be a result of the nature of human cognition.

And the world is getting even more scientific, more technological and more mathematical.

And those who teach writing emphasize that it is necessary to write a lot. A whole lot.

Recently popular has been the idea that to master any subject whatever requires 10,000 hours of practice. That idea has been attacked and taken down a peg, but not defeated; practice alone is never enough.

Comment · 6 years ago
Attachment to a leader and/or parent seems to be a deep part of human personality. Especially in the first decade or two of life. I suppose a teacher-at-the-front could be replaced by a soft robot. But that's not a really large change in the method of education.

I do remember when learning calculus that I didn't really know integration and differentiation until I'd worked through a dozen or two of the homework problems. I could understand in class and nod my head, but would not be able to use that knowledge until I'd ground through enough example problems. That paradigm seems to be true for a lot of technical subjects and must be a result of the nature of human cognition.

And the world is getting even more scientific, more technological and more mathematical.

And those who teach writing emphasize that it is necessary to write a lot. A whole lot.

Recently popular has been the idea that to master any subject whatever requires 10,000 hours of practice. That idea has been attacked and taken down a peg, but not defeated; practice <i>alone</i> is never enough.

Comment · 6 years ago
Writing code in a commercial IT shop in the late seventies, the manager though he was progressive since he guaranteed that we could get as many as one compilation per day. We'd submit punched cards and get back the card deck and a compile listing when it was done.

Hardware was less reliable, occasionally coming up with the wrong results. One time the result was wrong because the printer had printed the wrong digit! I'd spent hours desk checking the code only to find the code was right. So I ran it again.

It was much more normal for managers to really not know what a computer really is. This included programming and IT managers. One very accomplished boss asked me, in a meeting, how long it took to write a program. What kind of program? I asked. Oh, a general program. That put me in a no-win situation. If I said a year, he'd pop a cork and get all red-faced. If I said two weeks, he'd hold me to it no matter what the program was supposed to do.

Comment · 6 years ago
I got old and retired.
Comment · 6 years ago
I've written many tens of thousands of lines of C, but retired 15 years ago. The two best books I know are:

1. C: A Reference Manual, by Harbison and Steele. https://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp...

2. The C Puzzle Book, by Alan Fueur. https://www.amazon.com/Puzzle-Book-Alan-R-Feuer/dp/020160461...

Harbison and Steele has much better explanations than K&R. The Fueur book taught me a lot about C declarations. Declarations are that part of C language that is them most unnecessarily difficult.

You asked about a slightly different question, best practices. But in the real world you'll run into a lot of code that practices below that level.

Comment · 6 years ago
One trick that works well for a limited set of situations: When reading a math or science textbook chapter, read the questions before the text of the chapter. The keywords in the questions will clue you in to the keywords of the chapter.
Comment · 7 years ago
I'm pretty sure those M3's are around-the-ear. Unless you have gigantic ears. I'm wearing the M1 right now and it's around-the-ear.
Comment · 7 years ago
If the company goes belly up that can be a good point for you. You left "Because it was becoming clear the company could not survive." Don't put all the blame on the managers, put a lot of blame on their competitors and customers. If the company is alive but on the ropes, the same tactic can be used.
Comment · 7 years ago
I've been using Lastpass for years now. It's good but not perfect. Occasionally I have to fiddle with it. There are a few web sites that Lastpass can't deal with. I opt for big passwords so I'm sure it's more secure than trying to use my memory and/or some ad hoc scheme.

I haven't done an organized comparison of password managers.

Comment · 7 years ago
Programming languages are like culture. If you're embedded in one then moving to another sometimes seems like a maze of funhouse mirrors.

I once had the misfortune of changing from an Algol environment to a Cobol environment. After a year I'd gotten over my revulsion and became fluent and productive in Cobol.

It's like saying English has lots of irrationalities to it, which is true. But if it's your mother tongue and you're fluent that doesn't matter.

Go is not impaired. Go involves a set of sophisticated choices for software engineering, not for computer science research. If you're going to have many millions of lines of code and some shifting around in your staff, you don't want tricky code that takes a long time to figure out, or that obscures functionality, or that obscures bugs.

Comment · 7 years ago
The most fundamental things in learning to make software:

1. Alternate writing programs with classwork or book-learning. Back and forth.

2. Learn a programming language that a friend knows, so you have a place to get on-the-spot help. Ideally, somebody sitting next to you.

3. Have a computer available. Almost any home computer will do, no need for something expensive. There's plenty of free software you can download, free tutorials, free books...

4. There are cheap classes at some nearby community college or something like that. Finding the time is harder than paying for them.

5. The most important first courses are about a particular programming language, like "Python Programming 101".

6. The most important second courses are probably "Algorithms and Data Structures" and "Computer Architecture".

Comment · 7 years ago
Google Keep for notes, recipes, shopping lists on my Ubuntu desktop and my Android phone.
Comment · 8 years ago
The one thing you probably haven't been doing is having friendly work-oriented talks with your boss. A couple of times a week you should have been raising some easy issue just as a "heads-up" so the boss is up to date.

The idea is to break down the social barrier between you two and make sure he knows you, feels relaxed around you, and knows you're competent. A related important goal is to make sure the boss knows that you two can work together as near-equals as part of a team. That's what being promoted really means, from the boss's point of view.

You've run into a colleague more of a predator than an engineer. I've also been pushed out this way and was foolishly resting on my technical laurels.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton