This is some test code I wrote. It shows how to read a text file in Scala.

This first program shows how to read the entire file into memory and print out the “byte values” of each byte/character in the file:

A song called Make Believe, by The Burned. I heard it last night on a tv series named The Tomorrow People.

Every time I see this photo it reminds me of the sacrifices that my dad made.

To create an HTML table in Markdown where a cell in the table has multiple lines (a multiline cell), use the HTML <br> tag to make the line into multiple lines, like this:

| Format   | Tag example |
| -------- | ----------- |
| Headings | =heading1=<br>==heading2==<br>===heading3=== |
| New paragraph | A blank line starts a new paragraph |
| Source code block |  // all on one line<br> {{{ if (foo) bar else   baz }}} |

I made the <br> tags in that Markdown text bold so they’re easy to see.

That Markdown text produces this HTML table output:

Format Tag example
Headings =heading1=
New paragraph A blank line starts a new paragraph
Source code block // all on one line
{{{ if (foo) bar else baz }}}

In summary, if you need to have a table cell span multiple lines when writing Markdown, use the HTML <br> tag, as shown. has this short article on minimalist design and typography, including the image shown. Interestingly, the Parcel website starts off with this great screen, but then gets very crowded.

From the Washington Post, a Harvard neuroscientist reports that meditation changes your brain.

I thought “agile” processes would have had a big impact on software project failure rates, but according to Gartner, as of 2012 the failure rates for reasonably large projects is still very high. Image from this Twitter page.

“I’m going to do my best. I offer you my heart, and my spirit.” ~ Carlos Santana to Faith Hill, before playing her song Breathe.

I just stumbled onto this old article about “gorilla arm.” The question that comes to mind is, “Why did Microsoft release touchscreen PCs if designers and testers were aware of these problems?” (Surely anyone who used a Touchscreen PC for any period of time would have known about this.) My guess is that the decision was driven by the sales/marketing team, not by designers and engineers.

This is a quote about “competition” from a new player drafted by the Denver Broncos.

I like this because way back when I tried out for the baseball team at Texas A&M, I was on the field with somewhere around 50-100 other guys who were trying to “walk on” to the team. On the field, standing next to all of these other guys, there was nothing special about me for the coaches to notice. But once I stepped on the pitching mound to throw batting practice, none of them could hit me. I just kept throwing fastballs for strikes against batter after batter, and nobody hit anything against me except maybe an occasional weak grounder. The pitching mound was where I competed, and I felt like I had to get these guys out to take the next step. (I also had to only throw fastballs because it was supposed to be batting practice.)

I try to transfer the same attitude to work, but I will admit, it’s different. But when a client asks me to do something, I still think of it as competition. I want to do the best work I can because (a) they pay me a lot of money, and (b) I am competing hard so they will hire me for the next gig.

(Image from the Denver Post.)

A friend always tells me I look like the Chicago Blackhawks’ Corey Crawford (or vice-versa). Yoga friends tell me I look like the Dalai Lama. Programmers say I look like Woz. Others say I look like Colin Powell. People at the Buddhist Geeks Conference always said, “You look familiar, how do I know you?” When I was bartending in college people always mixed me up with some other guy who lived in the “Rio Grande” area of Texas. What if we all look like different things to different people?

Woody was playing in the field with the other young bears when he turned to Samantha and asked, “Sam, would you like to pick some berries in the forest with me tomorrow? There’s a place by the river my dad told me about. He said that’s where he met my mom.”

Samantha looked at Woody. She seemed excited at first, but then her smile faded, and she looked down at the grass. “I don’t think that’s a good idea, Woody,” she said.

“Why not? Don’t you like me?,” Woody asked.

“Yes, Woody, I like you.”

“Well, why won’t you go with me?”

Sam looked down again. She paused a long pause, then took a deep breath and let it out. “Woody, can you keep a secret? I mean, really keep a secret?”

“Sure, Sam. Why? What’s going on?”

“Nobody but my family knows this,” Sam said, pausing again. “You know how the average bear lives about 18 years?”

“Sure, Sam, we all know that. But I want to live longer!”

“Well, Woody, that’s the problem. I’m sick, and I’m not going to live that long.”

“No, Sam, don’t say that. How do you know? How long will you live?”

“Nobody knows for sure, but I heard Doc telling mom and dad that I probably won’t see many summers. But I wanted you to know, because, yes, I’d like to go pick berries with you by the river where your dad met your mom.”

(This is a story about a woman I met when I was in the hospital. I heard somewhere it’s better to tell stories about animals.)

I don’t listen to country music too often, but when I do ... well, anyway, this is a pretty good song, “Meanwhile Back at Mama’s,” by Tim McGraw and featuring his wife, Faith Hill:

As a quick sed solution, if you get this “\1 not defined in the RE” error message when running a sed script:

$ sed -f sed.cmds > c4.out.html
sed: 2: sed.cmds: \1 not defined in the RE

the problem probably isn’t too bad. For me I usually get the error message when I forget to “escape” parentheses that I use in my search pattern. I usually write this, which is an error:


when I need to write that sed command like this:

FWIW, this is the source code for a sed script I use on my Mac OS X system to convert HTML output generated by MacDown into a format I need. MacDown generates some extra “cruft” that I don’t need, so I use these sed commands to clean up that HTML output:

As a quick note, you can do a search-and-replace operation in TextMate using regular expression patterns as follows. First, create a find pattern like this, putting the capture group in between parentheses:

<h2 id="toc_.*">(.*)</h2>

Then create a “replace” pattern like this, using $1 as the variable for the first capture group:


On the TextMate search and replace UI you also need to select the “regular expression” checkbox.

I like functional programming and what it brings to the table, but this is pretty funny.

As a quick note today, I have been converting parts of the Scala Cookbook from a plain text format to a Markdown format, and as part of that I needed to add some newline characters to add spacing to the document. This wouldn’t be bad if it was a few pages, but it’s hundreds of pages, so I decided to use the Unix sed command to do the work.

I may have written it here before, but the first few functional programmers I “met” online were real condescending a-holes. Fortunately I eventually met other FP developers who weren’t like that at all. Unfortunately some of the loudest voices and first responders were of the a-hole type, and that creates a bad image for the FP community.

If you want to think of it in terms of cause-and-effect, the Scala Cookbook has less FP in it than I would like, as a direct result of the behavior of these individuals.

Image from this Twitter page. has this video where female rugby player Georgia Page suffers a broken nose, then makes two tackles.