Thoughts about Ruby, iOS, the Internet of Things, and business growth.

pgcli - Command Line Interface for PostgreSQL

Debugging is a fact of life when building apps with Rails or any other set of tools. All troubleshooting is easier when we can see what’s going on inside.

pgcli is a command line tool that lets devs examine PostgreSQL databases from the command line. pgcli offers more powerful features than psql (the default terminal front-end for PostgreSQL) such as:

  • Autocompletion. In fact, pgcli autocompletion is smart enough to only show table names after FROM in a SQL statement.
  • Syntax highlighting. Find gotchas quicker, just like you would in a text editor.

Debugging is easier when you can look inside the black box.

ChicagoRuby Expands to BLUE1647 and 1871

When smart people
challenge each other to grow,
great things happen.
~The ChicagoRuby Motto

If you’re a developer itchin’ to ramp up your Ruby skills, Chicago is a great place to be. The local Ruby user group, ChicagoRuby, continues to expand in time, space, expertise, and numbers. The group is over 3,200 strong, with six events each month plus the annual WindyCityRails conference.

The newest locations on ChicagoRuby’s monthly list are BLUE1647 and 1871.

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.