Look, I love programming. I also believe programming is important … in the right context, for some people. But so are a lot of skills. I would no more urge everyone to learn programming than I would urge everyone to learn plumbing.

Jeff Atwood, “Please Don’t Learn To Code

Ben Says:

This is one of the dumbest things I have ever read. 

The article is conflating “coding” with “professional software development”. Learning to code teaches you, among lots of other things:

  • Divide and conquer
  • Boolean logic
  • Debugging
  • Analytical thinking
  • Logic flow
  • Details!

When a programmer gets requirements from a product manager or business analyst, they are ALWAYS incomplete. The edge cases are NEVER identified and none of the “what if” scenarios are played out. 9 times out of 10 it is up to the programmer to understand the nuances, to take things to their logical conclusions, to consider what happens in the case of N=0 or as N approaches infinity. 

These are all skills I use EVERY SINGLE DAY, not just when I code, but in solving problems in life. Broken toilet? How do I figure out where the problem is? You bet I’m going to divide and conquer that shit (pun intended)!

This kind of thinking helps me in everything that I do in life and it wasn’t until I learned to code (in college, mind you) that I started thinking this way.

Do I want my son to become a computer programmer? I don’t care. Up to him. Do I want him to understand how to think critically and logically and in a structured & methodical way when approaching problems? Absolutely. And computer programming teaches these skills better than anything else I’ve ever done.

(Source: evan)

Introducing BK Tech Talks

Half of New York City’s best and brightest technologists live or work in Brooklyn, yet we travel to Manhattan every week for the best tech talks.

Not anymore! BK Tech Talks are presentations about the most interesting problems and solutions that New Yorkers are working on.

Presentations should be 30-45 minutes long and are for a technical audience. Don’t be afraid to show source code. And if you’re afraid to read code, this Meetup isn’t for you. If you would like to present or there’s something you’d like to hear about, please let us know.

The first few presentations: “MTA BusTime: Real Time GPS Tracking of New York City Buses” and “Bitcoin is Not a Currency” look awesome.

So? What are you waiting for? Come join the Meetup and we’ll see you in Brooklyn!

Hackathons are how marketing guys wish software were made.

I missed it all, I was too busy building a product.

Ted Dziuba, on the recent tech journalist kerfuffle between Arrington, Siegler & Lyons.

Why are software development task estimations regularly off by a factor of 2-3?

Michael Wolfe’s amazing answer (via @marcoarment)

Pac-Man Proved NP-Hard By Computational Complexity Theory - Technology Review

Stop SOAP!

The great thing about the web is linking. I don’t care how ugly it looks and how pretty your app is, if I can’t link in and out of your world, it’s not even close to a replacement for the web. It would be as silly as saying that you don’t need oceans because you have a bathtub.

Rails gets automatic EXPLAIN logging for slow SQL queries

thechangelog:

In a fresh commit, Rails edge now has the ability to automatically add query plan info to the standard Rails logger:

# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
config.active_record.auto_explain_threshold_in_seconds = 0.5

… which will yield something like:

+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
| id | select_type | table | type  | possible_keys | key     | key_len | ref   | rows | Extra       |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
|  1 | SIMPLE      | users | const | PRIMARY       | PRIMARY | 4       | const |    1 |             |
|  1 | SIMPLE      | posts | ALL   | NULL          | NULL    | NULL    | NULL  |    1 | Using where |
+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------------+
2 rows in set (0.00 sec)

Hot.

spark

prettyhuge:

onethingwell:

A little shell script that lets you generate sparklines at the command line:

spark 0 30 55 80 33 150
▁▂▃▅▂▇

You can also pipe stuff to spark—see this wiki page for some clever examples.

This is pretty cute.  I like the idea of putting inside your prompt, think there’s some interesting information you pull to put there.

Maybe a graph of how many times you had to run `sed` to actually get your prompt to render?

Goodbye Web Workflow

Four years I abandoned all native desktop apps except an ssh client and a text editor.

I completely migrated my work life 100% to site-specific browsers with Google apps and 1Password.

We were living in the future and I loved it.

Fast forward to today: 1Password doesn’t work with Fluid anymore and Google’s new borderless-contrastless-whitespace interface is rolling out everywhere.

Now we’ve actually reached the future and it’s miserable. What’s a guy to do? I’m thinking about going back to all native desktop apps. Mail, iCal and Pages, I guess.

I hate to sound like a curmudgeon, but I really want to roll-back everything to 2010.

How are you dealing with this?

Tuesday, November 1, 2011 — 8 notes

iTerm2 - Mac OS Terminal Replacement

trigger is an action that is performed when text matching some regular expression is received in a terminal session.

What can Triggers Do?

Various actions may be assigned to triggers. These include:
  • Bounce Dock Icon: Makes the dock icon bounce until the iTerm2 window becomes key.
  • Ring Bell: Plays the standard system bell sound once.
  • Run Command: Runs a user-defined command.
  • Run Coprocess: Runs a Coprocess.
  • Send Growl Alert: If Growl is enabled, a Growl alert is sent.
  • Send Text: Sends user-defined text back to the terminal as though the user had typed it.
  • Show Alert: Shows an alert box with user-defined text.

iTerm2 is so frackin’ cool

-#define RUBY_VERSION “1.9.4”
+#define RUBY_VERSION “2.0.0

Dennis MacAlistair Ritchie (Username: dmr, September 8, 1941 - October 9, 2011)

RIP Dennis Ritchie.

I think having your username inscribed in your epitaph before your birth date is something all nerds should aspire to.