Dienstag, 29. Mai 2018

Rob Pike's 5 Rules of Programming

Rule 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.

Rule 2. Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.

Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy. (Even if n does get big, use Rule 2 first.)

Rule 4. Fancy algorithms are buggier than simple ones, and they're much harder to implement. Use simple algorithms as well as simple data structures.

Rule 5. Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

Pike's rules 1 and 2 restate Tony Hoare's famous maxim "Premature optimization is the root of all evil."

Ken Thompson rephrased Pike's rules 3 and 4 as "When in doubt, use brute force.".

Rules 3 and 4 are instances of the design philosophy KISS.

Rule 5 was previously stated by Fred Brooks in The Mythical Man-Month. Rule 5 is often shortened to "write stupid code that uses smart objects".

Donnerstag, 17. Mai 2018

You were right all along!

There's a hierarchy in the adoption of new techniques and approaches, particularly in the area of cloud software:

  1. You were right all along: The thing you were waiting for is here.
  2. All of the cool kids are using it now: Take a look at the companies who are already offering solutions. That strategy you didn't care about so much -you need to care about it now.
  3. I know you said that this would never work, but it's working.

It's almost impossible to get someone to try something new today if they also have to admit that they were wrong yesterday.


Mittwoch, 25. April 2018

Amazon AWS 2018

From Jeff Bezos' Shareholder Letter, December 2017:

AWS – It’s exciting to see Amazon Web Services, a $20 billion revenue run rate business, accelerate its already healthy growth. AWS has also accelerated its pace of innovation – especially in new areas such as machine learning and artificial intelligence, Internet of Things, and serverless computing.

In 2017, AWS announced more than 1,400 significant services and features, including Amazon SageMaker, which radically changes the accessibility and ease of use for everyday developers to build sophisticated machine learning models. Tens of thousands of customers are also using a broad range of AWS machine learning services, with active users increasing more than 250 percent in the last year, spurred by the broad adoption of Amazon SageMaker.



Montag, 23. April 2018

Missing from your Job Description

If you're working in an office, here are some of the checklist items that might have been omitted from the job description:
  • Add energy to every conversation
  • Ask why
  • Find obsolete things on your task list and remove them
  • Treat customers better than they expect
  • Offer to help co-workers before they ask
  • Feed the plants
  • Leave things more organized than you found them
  • Invent a moment of silliness
  • Highlight good work from your peers
  • Find other great employees to join the team
  • Cut costs
  • Help invent a new product or service that people really want
  • Get smarter at your job through training or books
  • Encourage curiosity
  • Surface and highlight difficult decisions
  • Figure out what didn't work
  • Start a club
  • Smile a lot.

Now that it's easier than ever to outsource a job to someone cheaper (or a robot) there needs to be a really good reason for someone to be in the office. Here's to finding several.

(-Thanks again to Seth Godin.)


Mittwoch, 21. März 2018

Montag, 19. März 2018

My left foot

My left foot is much better this week. It has been causing me to limp severly and stop running since January. Went to a surgeon last week and he recommended an "MRT". 

Had that yesterday.

Now I'm waiting for the report, hopefully o surgery required. Next appointment on Thursday. Running still out of the question. Still I have managed to be able to go dog walking and to write and write code, even.

My brain is learning to cope. At all levels. And the sense of humour we develope with age is helping a lot.


Mittwoch, 14. März 2018

300 Seconds

How many decisions or commitments would end up more positively if you had a five-minute snooze button on hand?

The hasty one-liner, the rushed reaction, the action we end up regretting--all of them can be eliminated with judicious use of the snooze button. It's a shame there isn't one built in to our computers when we're communicating online...

When in doubt, go for a walk around the block.