Hedvig Mollestad

Two words – Hedvig Mollestad. No, three words – Hedvig Mollestad Trio.

Listen to the chords in “Pity The Children”

And watch them rock out:

This is the best musicianship, from all of the trio, and some of the most creative guitar playing I’ve heard in many years. Absolutely stunning. I am inspired.

Making friends with the Command Line

Get to know your terminal.

Linux users need not read this, this is for Mac users.

Don’t use the default Basic Terminal.

Make a nice terminal, in Prefs, make it something inviting, something you want to spend time with.

Make a .bash_profile file – add PS1 for the prompt

Node

I’m looking for a new toy to play with. Something bold and new, some great new ‘THING’ to identify with. A change from the desktop world of Eclipse + Java. I guess it has to be web-based.

I put together this list of thrilling new (and not so new) trends:

  • Ruby on Rails
  • Node.js
  • Angular.js
  • Go
  • Rust
  • Julia
  • Meteor
  • Elixir

Sounds exciting, but what do all these languages and frameworks boil down to? JAFW Just Another Fucking Website. Phooey.

As I’ve spent so many years developing apps for the desktop and on mobile (C, Java, Swing, Eclipse, SWT, EMF, XML, iOS, Objective-C, Swift) I thought I better take a look at developing for this new-fangled “web” thingy.

At first I took a look at Ruby on Rails, and found a nice tutorial. I was initially attracted to Ruby because of its colour, and it’s a jewel and a girl’s name. I also like the writings of DHH, the creator of Rails. I like it that it’s “opinionated”, like me. That means that the framework imposes a certain way of working, things have to be in the right place. It uses “convention over configuration”, meaning that I make less decisions and everything is in its proper place. I like everything in its proper place. But I don’t want to learn Ruby. In fact, I really don’t want to make JAFW, either. So I thought about it and dumped it. At least the tutorial taught me how to deploy to Heroku.

So Node.js.

It means using…JavaScript. Phooey and big :stench:

An untyped language.

CoffeeScript on top of it? Nope, too far away from the metal. A meta-language on top of a scripting language? Double :stench: Looks like I’ll have to bite the bullet and hold my nose…JavaScript it is. JavaScript is useful, right?

So far the story consists of Node, NPM, WebStorm and a JS book…

…I’ll be back. Meanwhile, here’s that prince of TrendMongers, Greggery Peccary:

Greggery_Peccary__s_Invention_by_fig13

With his eyes rolled heaven-ward, and his little shiny pig-hoofs on the desk, Greggery ponders the question of ETERNITY (and fractional divisions thereof), as mysterious angelic voice sing to him from a great distance, providing the necessary clues for the construction of this thrilling new TREND…

Licensing Pedantry

Such a shame to see a website lovingly crafted only to be ruined by this nonsense plastered everywhere:

cc-by
This web site and its contents is licensed using the Creative Commons Attribution Licence: http://creativecommons.org/licenses/by/4.0/

Who cares?

cc licence

Senseless Figures in Front of a Mirror

My observations of some individuals in the world of software modelling and, previously, in the misnamed “academic” sector, remind me of a story by Carlos Castaneda in his book, “The Active Side of Infinity”. Castanada’s friend recommends that he visits a prostitute called Madame Ludmilla. Castanada relates that Madame Ludmilla’s speciality is dancing in front of a mirror, where she twirls round and round to a “haunting melody”:

She dropped her red robe, kicked off her slippers, and opened the double doors of two armoires standing side by side against the wall. Attached to the inside of each door was a full-length mirror. “And now the music, my boy” Madame Ludmilla said, then cranked a Victrola that appeared to be in mint condition, shiny, like new. She put on a record. The music was a haunting melody that reminded me of a circus march.

“And now my show” she said, and began to twirl around to the accompaniment of the haunting melody…

“And now, figures in front of a mirror!” Madame Ludmilla announced while the music continued.

“Leg, leg, leg!” she said, kicking one leg up in the air, and then the other, in time with the music. She had her right hand on top of her head, like a little girl who is not sure that she can perform the movements.

“Turn, turn, turn!” she said, turning like a top.

“Butt, butt, butt!” she said then, showing me her bare behind like a cancan dancer.

She repeated the sequence over and over until the music began to fade when the Victrola’s spring wound down. I had the feeling that Madame Ludmilla was twirling away into the distance, becoming smaller and smaller as the music faded.

Castaneda relates this story to his teacher, the shaman and sorcerer, Don Juan, who remarks that this story must be included in Castanada’s collection of stories, because “it touches every one of us human beings.” Don Juan explains:

“You see, like Madame Ludmilla, every one of us, young and old alike, is making figures in front of a mirror in one way or another. Tally what you know about people. Think of any human being on this earth, and you will know, without the shadow of a doubt, that no matter who they are, or what they think of themselves, or what they do, the result of their actions is always the same: senseless figures in front of a mirror.”

And that’s exactly what I see in both the “academic” world and the world of software modelling – senseless figures in front of a mirror.

Software Craftsmanship

I was beginning to wonder if anyone cared about quality over price in anything any more. We see it everywhere – macdonalds, supermarkets. and in software. it seems like a race to the bottom in the X factor generation.

Another term is artisan. As used by Beedocs

I like that term but was disappointed in the reaction it got here:

Don’t be a Coder, Engineer, or Developer: be a Software Artisan!

As the guitarist Robert Fripp says in one of the Guitar Craft aphorisms, “how we hold the pick is how we organise our lives”.

And then I discovered Software Craftsmanship by Sandro Mancuso.

Software Craftsmanship

…we can say that Software Craftsmanship is a better metaphor for software development than software engineering. Software Craftsmanship sees software as a craft and compares software developers to medieval blacksmiths.

Mancuso’s personal definition of “Software Craftsmanship”:

Software craftsmanship is a long journey to mastery. It’s a mindset where software developers choose to be responsible for their own careers, constantly learning new tools and techniques, and constantly bettering themselves. Software Craftsmanship is all about putting responsibility, professionalism, pragmatism, and pride back into software development.

And, for me, the key phrase:

[to] delight customers helping them achieve whatever they want to achieve

These are important qualities to have in our lives and in our code. To paraphrase Fripp – “how we write our code is how we organise our lives”.

Developers are taking the matter into their own hands and are trying to change how the industry sees software development. They are doing that not just by proposing new and revolutionary processes but also by showing their customers that they care about what they do. Developers are showing their customers they want to work together with them in order to produce great and long-lived software, helping them to achieve whatever they want to achieve.

(Emphasis mine)

Perhaps if more software “engineers” played a musical instrument, painted, or were artists they might like the term “artisan” or “craftsman”.

And I particularly loathe the term “Software Engineer”. I am not an engineer. Isambard Kingdom Brunel was an engineer. I would rather be called a “hacker” than an “engineer”. (Actually, my chosen term is “code punk”).