this is fine - home

Picks of Feb 8th

From time to time, I’ll post under picks things that I find cool on that week. Mostly for me to remember this later 😅, but you might find them useful.

time function

Inspired by Clojure’s time function:

def time
  start = Time.now.to_f
  yield
  puts "Execution time: #{Time.now.to_f - start}s"
end

time { sleep 1 }
# => Execution time: 1.0030732154846191s

Talk

Chad Fowler once again gave an excellent and entertaining keynote whose title is “McDonalds, Six Sigma, and Offshore Outsourcing: Unexpected Sources of Insight”. Watch it here. Particularly I kept thinking about these:

[26:00] “Can you make a better burger than McDonalds? Can you sell a burger better than McDonalds? Can you make software better than McDonalds makes burgers? Probably not.”

And then:

[34:00] “…when you create a system something, you can do it consistently.”

Blog

randsinrepose.com I believe this blog has been around for quite a while, but for me it was quite a finding. One of my favourite posts so far is Stimulus Driven Creatures.

Tool

CSVfix! To preview CSV files on the console. Install via brew install csvfix.

$> printf "header1,header2\n0,1\n2,3" | csvfix ascii_table -h @
+---------+---------+
| header1 | header2 |
+---------+---------+
| 0       | 1       |
| 2       | 3       |
+---------+---------+

# generate sql inserts from the CSV
$> printf "0,1\n2,3" | csvfix sql_insert -f "1:column_a,2:column_b" -t test
INSERT INTO test ( column_a, column_b ) VALUES( '0', '1');
INSERT INTO test ( column_a, column_b ) VALUES( '2', '3');

Long Read

Michael Feathers posted on his twitter his thoughts about the relationship between software and organizations. You can read the paper here. One piece of it that made me think is:

People in your organization are making decisions today that impact what you will be able to do in the next five years and at what cost. Software is a great enabler but it also imposes constraints, and often they are silent. You don’t know about them until you change course and ask your technologists how long it will take to react or how long it will take to get an unexpected feature to market.

Isn’t it the definition of technical debt?