Thoughts about Ruby, Rails, RubyMotion, iOS, IoT, and business growth.

Bloom’s Taxonomy for Learning

Bloom's Taxonomy

Bloom’s Taxonomy is a framework that breaks the learning process into stages. According to Bloom, learning begins with rote memorization and the process progresses upward until we can apply what we’ve learned in creative new ways.

Youthful Bias

Most of my formal education was science or engineering oriented. I regarded science and engineering as the pinnacle of learning. The extreme position of my youth: All logic fell within math and science, while history, language arts, and other non-science areas were just memorization.

Bloom’s research pushed me beyond my original thinking. Memorization and creativity are vital to all areas of knowledge. Here’s how.

Using rlwrap with MIT’s Scheme REPL

Users of the Linux or OS X command line know that they can hit the up arrow to view the previously executed command. However, this behavior is missing from the mit-scheme read-evaluate-print-loop (REPL). mit-scheme is the language used in SICP.

For example, hitting the up arrow in the Scheme REPL gives us this non-useful result: ^[[A. The previous command is not repeated.

How do we add up-arrow functionality to the mit-scheme REPL? By using rlwrap.

Apple Car? Not Likely.

You have to figure out what your own aptitudes are. If you play games where other people have the aptitudes and you don’t, you’re going to lose. And that’s as close to certain as any prediction that you can make. You have to figure out where you’ve got an edge. And you’ve got to play within your own circle of competence.
~Charlie Munger, Vice Chairman, Berkshire Hathaway

Some journalists speculate that Apple is building a car because they recently hired some automotive engineers away from Tesla. My prediction: Apple is not building a car. Apple might build a device that plays a major role in the automotive marketplace. But a fully assembled automobile is too far outside the company’s circle of competence, as Charlie Munger might say. Apple succeeds because the company maintains disciplined focus within its circle of competence.

HTML5 & CSS3: The Complete Manual

HTML5 & CSS3HTML5 & CSS3 The biggest challenge for a software developer: Absorbing the latest knowledge while simultaneously keeping clients happy. Where does the time go?

Fortunately, when it comes to HTML5 and CSS3, a UK-based publisher has released a just-the-facts guide that may help. At 127 pages, the entire publication (they call it a bookazine) can be devoured in a single day. Imagine Publishing’s HTML5 & CSS3: The Complete Manual is well worth the time investment.

Note: A version of this article also appears in the Book Reviews section of ChicagoRuby.org.

JRuby 9000 on Mac OS X

JRuby. Ruby on the JVM.JRuby. Ruby on the JVM. Moore’s Law is about to run into a wall. Therefore, anything that software developers can learn about concurrency will be critical in coming years. Enter JRuby 9000.

What is JRuby?

JRuby is an implementation of the Ruby programming language that runs on the Java virtual machine (JVM). Advantages of running on the JVM include:

  • Reaping the performance benefits that come from decades of JVM tuning.
  • The ability to call time-tested Java libraries from Ruby programs.
  • The performance benefits that come from concurrency, built into the JVM.

Raspberry Pi 2 Model B Quad Core

Raspberry Pi 2 Model BRaspberry Pi 2 Model B The Raspberry Pi Foundation has upped their entry in the single-board computer competition. Raspberry Pi 2 Model B boasts a quad core ARM CPU and 1GB of RAM. More important: Benchmarks show that the board is 6x faster than the previous model. And the performance bump has been achieved while the price remains low: Roughly $45.

Getting the board up and running is easier, too. You can buy a pre-built Linux image on micro SD. Or you can download the New Out Of the Box (NOOBS) image yourself. Depending on the speed of your internet connection, you can be up in running in less than an hour.

Keep the Fun in Computing

“I think that it’s extraordinarily important that we in computer science keep fun in computing… What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.”
  ~ Alan J. Perlis, from the Dedication page in SICP

Enrolling in the Chicago SICP study group, I expected to dive into Lisp. I expected to be challenged. What I didn’t expect: The fun, somewhat irreverent attitude of the SICP authors. And why not? Software development is one of our newest professions. Other professionals are made more effective through our work. Everybody benefits from the increase in productivity.

SICP Study Group

SICPSICP Veteran developer Dave Astels is leading a Structure and Interpretation of Computer Programs (SICP) study group for the next ten months. The Massachusetts Institute of Technology uses SICP as the text for one of its early computer science courses. Session one of Dave’s group starts today at 6pm. For any developer who wants to ramp up in skill, the SICP study group is an excellent opportunity to do so.

MIT makes the entire text of SICP available online for free. Or you can buy a paper version of the book at Amazon.

Thank you Brad’s Deals and Ken Walters for hosting the SICP group.

WindyCityRails and You

If you have ever attended WindyCityRails: Thank you for helping to make the event more exciting every year. Organizers strive to give developers actionable technical information in a conference format. So far, it’s working!