Tell me more about this photo!

So, there is this article: http://mashable.com/2014/04/30/programming-sucks/

I didn’t actually read it. I was too caught up on the photo shown in the header instead:

Whenever I see an image like this, it’s like watching a slow moving ice cream truck crash into…a train. I just can’t look away. As someone who spends a non-trivial amount of time staging screenshots and mockups for various things, I look for how well the mockup was done. In addition, I like to look at the extra details that the photographer decided to include either deliberately or accidentally.

Here are all the things that I found:

  1. It is a Linux machine based on the Ubuntu icon on the desktop. The window frame is very much a giveaway that isn’t OS X or Windows.

  2. They are editing a PHP document. It’s a Wordpress site based on the files that you see.

  3. Given there are modules, this must be a more recent version of PHP.

  4. Not sure what is causing the lines that are highlighted to be highlighted. I don’t know what search string would cause that.

  5. The foreach loop is weird. Why is there a print_r statement inside the loop that is printing the actual collection? You’d want to print_r the $queue variable instead.

  6. The programmer must be on an iPhone or iPod given the white headphone design.

  7. The programmer looks a bit like Sean Parker. Coincidence?

  8. Why echo banana? Why is exit on the same line? That seems odd.

Can you find other details from the picture?

Cheers,
Kirupa :stuck_out_tongue:

  1. The IDE is PhpStorm from JetBrains
  2. The programmer is using Chromium and Thunderbird.
  3. The class constants are immediately being used in the commented-out switch statement. Reeks of over-thinking the design, considering the quality of some of the rest of the code.
  4. This is the story behind the photo.
    [Name redacted] uses a computer to write code that would allow people living in Cuba to use email to post to blogs during the Hackathon for Cuba event on February 1, 2014 in Miami, Florida. The hackathon brought together experts and programmers to devise innovative technology solutions aimed at strengthening communications and information access in Cuba. The event is organized by Roots of Hope with support from the John S. and James L. Knight Foundation.
  5. …therefore, cu-email-to-blog is ‘Cuba email to blog’, in the folder structure. UpdateController probably controls commands sent via email.
  6. ‘banana’ because Cuba is tropical and may grow bananas?
  7. [Named redacted] lives in Miami, FL, most recently a Software Engineering Intern at Ultimate Software. Student at Florida International University.

They’re the lines with warnings. Notice how there are 9 lines with variations of greyed highlighting, and the spacing corresponds to the yellow markers left of the scrolling gutter on the right.

Looks like the guy is in the middle of either refactoring or pasting some example code… and is doing a variation of print debugging to figure out how things are working. ‘banana’ is just a nonsense word used to signify that indexAction is ever called. Given that we know the person is still in college; not super surprising. I write nonsense like this all the time.

You’re misreading PHP’s foreach construct. $message is the variable that is rebound on each loop iteration.

Not necessarily. You can use Apple headphones with most devices with an appropriately-sized audio port. (That’s what… 3.5mm?)


Honestly I feel like I blew this case wide open.

I’ve discovered that the programmer doesn’t own a razor and can’t see very well.

@ TheCanadian, :stuck_out_tongue_winking_eye:

Similarly to you not reading that article, I did not read your post here, as you lost me with the ice cream truck and train collision. I have been searching youtube endlessly ever since, then I got further distracted regarding the history of the ice cream jingle: Yikes, never knew this?


PS: Is that a bird flying in the desktop background sky?

1 Like

OH! That makes me think of that song a whole lot differently now! :frowning: