toString considered harmful, part 3

This is part 3 of a series of articles, “toString considered harmful”.

Read On →

toString considered harmful, part 2

This is part 2 of a series of articles, “toString considered harmful”. [Part 1] introduced the problem in the context of a common design flaw present in object-oriented languages, and proposed a simple workaround.

In part 2, we look at advanced ways to organize “stringable” data, using either an object-oriented or functional style. Examples are in Scala because it equally supports either style.

Read On →

toString considered harmful, part 1

It is easy to rant about the problems or unexpected subtleties involving the use of strings in programming languages. This post, however, is not so much a rant about strings as about design and meaning, with toString only as an obvious example.

I’ll describe a pitfall that came up in my code, and a solution, and make observations about how different programming languages address or avoid this problem.

This is part one of a series.

Read On →

Pittsburgh Scala Meetup: code walk through tic-tac-toe with Play

The Pittsburgh Scala Meetup met again with Josh walking through his code for an interactive Web tic-tac-toe program implemented with Play. It was a good session. I’m finding that studying code (with the code’s author present) is a great way to learn, to discuss design decisions and alternate possible choices that could have been made. For example, when it comes to actors, there are decisions to be made about how many actors, what state they should contain, and how to transition. Read On →

MongoDB free online course: a review

MongoDB logo

I finally finished a two-month free online course on MongoDB, given by MongoDB, Inc.

This is a review of the specific course numbered M101J, “MongoDB for Java Developers”, but it should apply to all thee introductory developer courses on MongoDB in any language, because actually, I had originally signed up months earlier for their original course (in JavaScript), and the content is largely the same (I had gotten busy and dropped that course).

Read On →

Surprised by the Go programming language's treatment of nil


So I happened to see an announcement of Go version 1.2. I saw something that disturbed me, having to do with nil, a “favorite” topic of mine.

Read On →

Pittsburgh Scala Meetup: learning by reading Josh's code!

The Pittsburgh Scala Meetup met to learn by hacking. There was a change of plan because Josh couldn’t make it to the meeting, so instead of a presentation by him, we got a link to his GitHub repository for an implementation of an interactive Web-based tic-tac-toe game using Play.

Sometimes interesting things happen when plans are changed.

Read On →

OpenHack Pittsburgh: learning Elixir test-driven and package-publishing

It’s been a long time since I went to an OpenHack Pittsburgh meeting. The last time was five months ago. On June 24, there was an OpenHack Pittsburgh held at 4moms, but I really needed to stay home and take it easy that evening, because of my busy schedule later in the week, including attending a PittJUG meeting and preparing a Pittsburgh Python talk.

This August meeting of OpenHack Pittsburgh was held at ModCloth, which I had never been to. It’s in Crafton, which is a place I’ve never been before, nearly half an hour drive from Pittsburgh. Because of worries about driving there near rush hour after work, I probably would not have signed up to attend had it not been for Justin, the organizer of OpenHack Pittsburgh.

What happened was that he asked for feedback about who was planning to work on what, and said he planned to learn some Elixir, a fairly new programming language built on top of the Erlang runtime. Since this language had been on my list of things to look into, I decided that learning loves company, so I proposed to learn some Elixir in a test-driven way!

What does that mean?

Read On →

Pittsburgh Data Visualization: D3 and only D3

Patrick gave a presentation for the Pittsburgh Data Visualization Meetup on only D3, because there was interest after the previous meetup for more on D3.

Read On →

My lightning talk at Steel City Ruby 2013: "Reflections"

Below is video for, and a transcript of, my five-minute lightning talk I gave at Steel City Ruby 2013, which I reported on here.

Read On →