Peter Christensen

  • Presentations
  • Contact Me

Programming The Real World – Presentation Slides

July 6, 2013 by Peter 1 Comment

I recently presented a talk at the Spain.js conference and I spent a long time (a long, long time) making my slides.  Then I realized that while it was a good slide deck for the presentation, it was nearly useless without me accompanying it.  Since the talk was not recorded :(, I reworked the slides completely to serve as a standalone deck.

I hope this is helpful to you! Special thanks to everyone that has helped me on my Maker journey so far – Jeff McAlvay, the OpenROVs, the Upverters, Lady Ada, and more.  Super thanks to the organizers of Spain.js for inviting me to speak and to Manilla for sponsoring my travel.

Programming the Real World: Javascript for Makers from pchristensen

Download Presentation (17MB pdf)

If you’d like to have me present this or similar topic at your event, please email me

What did people think of the talk?

An amazing talk by @christensenp. Programming the real world. My fav so far! #spainjs.

— Michael Koper (@michaelkoper) July 6, 2013

 

@christensenp Thanks for such an awesome talk, plenty of entry points and resources, inspirational examples and good for thought #spainjs

— Raul Murciano (@happywebcoder) July 6, 2013

 

speaker @christensenp is re-kindling my desire to learn hardware/electronics. You’re never too old to start, right? #spainjs

— David LeMieux (@lemieuxster) July 6, 2013

 

Enjoy, and go make something!

Filed Under: Education, Presentations, Programming

Meteor Discovered

May 29, 2013 by Peter Leave a Comment

tl;dr: Discover Meteor is a great book for learning to program in Meteor.  Highly recommended.

New programming languages, tools, and paradigms come out all the time, old nuggets get rediscovered or reinvented, and old mistakes get remade. It’s dizzying and hard not to get cynical about it (ack, writing that sentence turned 13 of my facial hairs gray!), but every once in a while, persistence is rewarded. I just got very lucky and was rewarded twice.

Backstory

I heard about Meteor over a year ago when it was announced on Hacker News. It sounded cool but too immature at the time.

Then a few months ago I heard that Sacha Greif was writing a book on Meteor. [Side Note #1: how did I hear about it? I signed up for Sacha’s email list after buying his last product. Email marketing works!] A book signals tech maturity because a) there’s enough meat to fill a book with content, and b) someone is betting a bunch of time that it will become more popular.

A new project came up where Meteor would be a great fit so I bought the Full Edition of Discover Meteor.

[Read more…]

Filed Under: Programming

How To Teach Yourself Programming

May 3, 2013 by Peter Leave a Comment

This didn’t come through my new web-crush Mentii, but it is another bit of advice that I thought deserved to go farther than one email. This is a friend that lives near a tech center and wants to learn programming, but has no background or experience other than normal computer usage.  I looked at some of the university programs near him and gave my recommendations, but that’s not widely relevant.  The important part was:

tl;dr: YOU HAVE TO TEACH YOURSELF PROGRAMMING

The full version was this:

I highly, highly recommend doing a lot of programming on your own.

First, the programming requirements for college aren’t a perfect match with what you need for a job, and there are not enough intense programming courses to get you fully proficient.  You wouldn’t expect to get in shape if you only took P.E. classes, would you?

Second, some people just don’t enjoy or “get” programming – it’s a specific way of thinking that some people take to naturally, lots can learn, and some people truly do not enjoy it. Doing your own will make school easier, prepare you better for work, and let you know really quickly if programming is not for you.

There are many, many sub-fields within programming, but for beginners, I would recommend choosing one of these 2 paths:

  • Web programming – server-side languages, HTML, Javascript, CSS.  This is probably the skillset that currently has the lowest bar for getting a full-time job.  There’s an infinite amount of knowledge above those 4 components, but you can learn enough of these in 6 months to contribute to a web development team.
  • “Maker” programming – Arduino, Javascript, electronics, robotics.  Smart devices are just now hitting the early adopter phase (Pebble watch, Nest thermostat, lost of stuff on Kickstarter) but there are tens of thousands of products that need to be reinvented with network connectivity and inexpensive microprocessors, and probably thousands more products that haven’t been imagined yet (this smart fork is probably my favorite).  In 3-5 years, I think an interdisciplinary electronics+code prototyping skillset will be the next big class of technical skills, alongside web, mobile apps, and desktop software.

I know much, much less about Maker programming than web programming, so I’ll withhold my advice there. For teaching yourself web programming, I recommend the following resources:

  • Learn Python the Hard Way (free online) – Python is a simple but powerful language. It’s probably the language that looks the most like the process it describes. It’s also used heavily by Google and NASA, as well as being the most prominent language for science and math. This book assumes no previous programming knowledge and only basic computer usage. It’s 52 lessons going from printing text to a screen, all the way to storing data collected from a web page. It’s a very, very solid and broad introduction to programming.
  • Codecademy (free online) – this is a series of online lessons and exercises. This is probably narrower than LPTHW but includes interactive elements and has lessons for more technologies (LPTHW only uses Python but covers a wider range of programming topics)
  • Try Ruby (free online) – a short (~15 min) online interactive tutorial to learn the Ruby programming language (that’s what I use and lots of web companies use)
  • Rails for Zombies (free online) – a series of interactive lessons to learn Rails, a set of tools in the Ruby language that makes it fast to build web sites. These are aimed at beginners and released by the same people that make Try Ruby
  • Rails Tutorial (free online) – an intermediate set of lessons about building websites using Ruby and Rails. It assumes more programming familiarity so it’s not great to start with but if you finish RFZ you’re probably ready for it. It covers more advanced coding practices, web site principles, and more. Very, very thorough.
  • Code School (paid ~$25 courses online) – a collection of high quality courses with video and interactive lessons covering a variety of web technologies.

I have dabbled or perused most of these but I’ve been programming for 20 years and professionally for almost 10, so I’m not the target audience.  I have heard good things about them and they all come from sources I trust and respect.

The most successful programmers I know are the ones that are the most prolific – they write a lot of code, of different types, to solve different problems, because that’s the way you learn.  And the more you learn, the better equipped you are to solve the next problem you face.  So no matter what you use to learn, you should program a lot.  University CS programs have some intensive programming courses, but it’s too small a percentage of the time you spend learning.  You have to supplement it yourself.

Filed Under: Education, Programming

Mentoring Made Easy

April 30, 2013 by Peter 1 Comment

I came across a new site that has completely captivated me: Mentii.  It’s a matchmaking site for people looking for mentors and people willing to be mentors.

The signup process was simple – you can import your profile from LinkedIn, you can import your contacts (I always skip this step), and write a statement of what kind of mentoring you can provide.  The next screen is a list of people that have recently asked for advice.

I feel great about my career now, but I made some uninformed choices earlier in my career that cost me a lot of time and money.  If I had a trusted mentor when I was at those junction points in my life, I might have ended up where I am much earlier.  So giving me the opportunity to be that helpful person for others is irresistible to me.

I contacted a few people still in school who were in situations I could help with.  It felt great!!!  Thank you to the Mentii team for creating such a rewarding service.

Here are two emails I sent, with the personal bits removed.  This is similar to earlier advice I wrote to a college sophomore and someone whose resume was misrepresenting them.

[Read more…]

Filed Under: Education, Startups

Thank You Andrew Mason

March 1, 2013 by Peter Leave a Comment

Today something sad but not unexpected happened. Andrew Mason was fired as CEO of Groupon. I worked at Groupon for two years, from late 2010 to late 2012, and while the experience was a mostly positive mixed bag, Andrew was definitely one of the highlights.  Even though I knew it was a matter of time, I was still sad to hear the news.

[Read more…]

Filed Under: Business, Startups

Makers – Inspiration and Limitations

February 13, 2013 by Peter Leave a Comment

I just finished reading the book Makers: The New Industrial Revolution by Chris Anderson.makers-cover

tl;dr version: It’s a well written, entertaining read, it covers some exciting possibilities, but while it describes some society-wide changes, I think those will take 15-20 years. Most of the benefit in the short term will be to individuals and companies who enjoy making things.

Long version:

[Read more…]

Filed Under: Book Review

When We Build – Notes and Quotes

January 30, 2013 by Peter Leave a Comment

I just watched an inspiring video about what it means to be a designer today.  It’s called “When We Build” by Wilson Miner.

Wilson Miner – When We Build from Build on Vimeo.

It’s worth watching the video because the images, music, video, and his hypnotically powerful vocal pacing are outstanding.  But if you don’t have time now or you need more convincing, here are my notes.  Most of the quotes are word for word because he chose his words and ideas as carefully as he chose his media.

Wilson, thank you so much for this talk – I can’t even imagine how powerful it would be in person.

[1:00] Warning that it’s going to be a strange talk
I’ve been cynical about the potential of what we do – “It’s just a website, get over it”
This is a uniquely exciting time to be designing digital tools and products

[Read more…]

Filed Under: Education, Programming

Notes on DIYDrones/3DRobotics Talk by Chris Anderson

January 17, 2013 by Peter 1 Comment

[Last night I went to the Silicon Valley Automotive Open Source meetup where Chris Anderson of DIYDrones/3DRobotics told his story.  Here are my notes, slightly rewritten and re-ordered to make more sense if you weren’t there]

DIY Drones talk by Chris Anderson, 3D Robotics

1/16/2013, Nokia Sunnyvale

Backstory involving building a Lego Mindstorms autopilot with his kids in 2008 (this is a good story worth watching, e.g. from his Maker Faire talk)

DIYDrones Community

  • He fostered the community by “being dumb in public”, and letting interested people come and teach him
  • DIYDrones is now the biggest community of people building drones, ~30K registered members, bigger than any aerospace company
  • Ground control software written by an IT guy in City Hall in the Outback
  • Smartphone processors and sensors have revolutionized robotics sensors and components
  • Powerful, light, small sensors and processors are the “Peace divided of the smart phone wars”

[Read more…]

Filed Under: Fun

Understanding the Clojure Development Ecosystem

January 10, 2013 by Peter 4 Comments

Lots of books, talks, and blog posts help people learn Clojure the language, but leave out prosaic issues outside of the language, like development environments and using libraries. This covers the gap between dipping your toe in and confident proficiency.

This guide assumes you are aware of Clojure and want to become a Clojure programmer.

Sections

Why Clojure?
The Philosophy of Clojure
Language Tools
Rich Hickey’s Talks
Baby Steps
Leiningen
nREPL
nrepl.el
Helpful Tips
Appendix – Links

[Read more…]

Filed Under: Clojure, Programming

Master the Chrome Developer Tools

August 22, 2012 by Peter Leave a Comment

Every few months I get in the mood for intense learning and saw-sharpening. Inspired in part by Cal Newport’s Textbook Technique, I’m writing and summarizing things I learn to make them easy to reference later.

I decided to start by getting to know the Chrome Developer Tools better. I always like to find a broad overview when I study something, and I found a great video by Ben Orenstein of Thoughtbot. It’s a 22 minute video that goes over all the major features and common usage patterns of the Chrome developer tools. It’s $15 but Ben was kind enough to let me watch it for free in exchange for a review.

As far as tutorial videos go, this is exactly the style I prefer. He started with a summary of what he would cover, kept the sections to no longer than a few minutes, and each section includes a description and an example. He covered all the basic usage, and threw in some cool advance tricks too. And for things he mentions but doesn’t go into depth about, he shows where to find more documentation.

I’ll share the three favorite new things I learned. First, clicking on a color in the right-hand CSS pane of the Elements tab gives you a color picker – no more RGB hunting! Second, the right hand pane of the Elements tab includes an Event Listeners section, so you can see which Javascript events an element responds to. Matching elements to Javascript code is one pain-in-the-rear problem that I’ll be happy to avoid. And third, the Page Speed add-on gives you a score, prioritized recommendations, and links to documentation for all the parts of your page that affect speed.

At $15 for a 22 minute video, it’s more expensive per minute than other programming screencasts like WatchMeCode.net, Peepcode, Destroy All Software, and more, but it’s tight, broad, and well done, making it still a great value. Frankly, I think high quality screencasts are waaaaaay underpriced and this is a step in the right direction. If producers could sell a 1hr screencast for $50 instead of $12, there would be more competition and more, better material. So I support Ben’s price.

I’d especially recommend it if you’re new to web programming or to Chrome – more experienced developers will already know a lot of the material. It also has me interested in the other screencasts that ThoughtBot has released – maybe tmux is next. I use screen all day, every day but people are always saying how tmux is better.

Thanks Ben and please, more Thoughtbot training videos!

More links on Chrome Developer Tools:

  • Modern Web Development – Part 1 – The Webkit Inspector
  • Things I Didn’t Know About the Webkit Inspector
  • Hacker News discussion on the above article

 

Filed Under: Book Review

« Previous Page
Next Page »

Categories

  • Blog
  • Book Review
  • Business
  • Clojure
  • Education
  • Emacs
  • Fun
  • iOS
  • Lisp
  • Personal Sprints
  • Pictures
  • Polyphasic
  • Presentations
  • Programming
  • Rails
  • Startups
  • Uncategorized

Copyright © 2025 · Minimum Pro Theme on Genesis Framework · WordPress · Log in