A Blinkenlight

DSC_0215I call it Ein Blinkenlight For 1000 Thoroughly Modern Monkeys, 448 LEDs and One Great Bard, and it is ready!

My Blinkenlight plays on the philosophical question whether 1000 monkeys using 1000 typewriters eventually produce the works of William Shakespeare, given enough time. My 1000 monkeys are thoroughly modern monkeys: they exist in form of a digital emulation, programmed into a Raspberry Pi mini-computer, and they use a predictive texting system rather than classic typewriters. Their output is shown on a display made from 448 LEDs.

The predictive texting system is trained with one or more of the works of the great bard.

The monkeys begin with a randomly selected word out of all the words in the training vocabulary. The next word is randomly chosen, but with a probability matching the word distribution in the original work. For example, king may follow my with a probability of 40%, sword may follow my with a probability of 30%, land and dog with 20% and 10%, respectively. Juliet may never appear after my, not in Hamlet. Punctuation and capitalization follow a similar principle of random selection to match the distribution in the training material.

This process is repeated over and over, producing an intriguingly Shakespearean-esque but nonsensical series of words.

This Google+ post has a little video attached, demonstrating the blinkenlight working with both Hamlet Prince of Denmark and Romeo And Juliet.

How Weird

DSCF0616I am a late starter in computer programming, at least for my generation. I didn’t have an interest in computing until the mid 80s. A good choice, in hindsight, because this is about when the first decent home computers begun to emerge.

In, other words, I’ve been most of my past quarter of a century, and a little more, cranking out source code in a variety of programming languages. Some were cool, some were annoying, some where crap. Some where mainstream, some were soon forgotten, some where invented by myself (and some of those thankfully remain unknown to the world).

Anyway, the point is that I spend all those many years typing code in a fixed width font such as Courier:

if (something happens) then
// ey! it worked!
tell anyone
try something else
end if

(Well, OK, maybe my typical code looks somewhat different, but I think you get the drift.)

As it turns out, I am currently exploring a programming environment whose principal visual novelty is to use a variable-width font by default:

if (something happens) then
// ey! it worked!
tell anyone
try something else
end if

How weird is that!?

Seriously. This is quite a step for a guy like me.


Enhanced by Zemanta

Don’t Use the Force, Luke!

DSC_0754I am happy to announce an update to the Amalgamation Project, adding basic direct printing support.

I struggled for a while with printing, and discovered that many others on the world wide web struggle with the same issue. Site after site asks the same question, screams the same outrage: How does one make Adobe Flex print in landscape mode? How do I force the FlexPrintJob class to a certain behaviour or effect? How do I get control over this process?

Funny, that. The simple answer is that you don’t.

The user choses the print preferences and page orientation, and the printer hardware may dictate a particular format or further restrictions. You, and I, and the Flex software, aren’t supposed to enforce any particulars. We are supposed to deal with it.

In terms of software architecture, this is an interesting and welcome shift of policy. Once I realized that this is what happens, the printing solution falls out just so.

One never stops learning, and one shall never stop re-thinking things once learnt.


Enhanced by Zemanta

Full Circle

DSC_0323One for the technical folk today, but maybe not without a general morale:

I can’t help wondering how software design for graphical user interfaces came about over the years. Back in the early days, you’d use a text editor to describe the graphical design in a cryptic language (hey, who remembers AES and GEM?).

Then Borland came with a barely audible Poof! and introduced true rapid application development, a click, drag and drop approach that supports the design of graphical user interfaces in a WYSIWYG way. Delphi and C++ Builder were great, I thought. In hindsight, Borland accomplished little: they coined the term RAD (or, at least, they were among the first to have one), and then lost Anders Hejlsberg to Microsoft. Borland has gone out of business (I think), and Embarcadero Software looks after the leftovers.

Then came .NET, Microsoft’s first true RAD tool. Anders Hejlsberg’s design in a different framework, and finally adopted by the mainstream, how nice.

I am now looking at declarative languages. Well, everybody is. It’s quite the hype. Adobe’s Flex with MXML, or Microsoft’s Windows Presentation Framework (WPF with XAML) and Metro. Brilliant. I love both (with an inclination towards WPF and C#).

It’s just so very nice to see that we’re now free to choose a method of describing the graphical design in a cryptic language (hey, but it’s XML! Must be cool!), just like in the good old days.

Something definitely came full circle here.

Enhanced by Zemanta

A Standing Ovation

2011-01-03 009After a brief excursion into the world of the whacky and hopeless, I return to play with the big boys. I play a lot with Microsoft during paid time, so this is one good reason to look elsewhere in my spare time, and begin learning Adobe Flex 4.6.

Boy. Man. Cheeses. They must have some sense of an uphill struggle against Microsoft, and they must have thought that developers out there need any help they can possibly get to adopt this exciting platform. What an inspired idea! I am flabbergasted. The introductory PDF alone is a mere 2574 well-written pages (free download). There’s a week’s worth of reasonably well-made video training and exercises right here, and tons after tons of good documentation, dictionaries, tutorials, you-name-it, an inexpensive but well made development tool, … I am impressed. Seriously impressed. Just go to the Adobe Developer Connection and find out for yourself.

It’s very hard to beat Microsoft’s .NET platform on any account, but I am amazed to see how far (and close) Adobe has got. In many ways, they are way ahead of .NET (like, in terms of target platform support). Looking at the documentation alone, it comes at no surprise that the fringe, including, but by no means limited to, Runtime Revolution’s LiveCode, stand no chance in real life.

I can see room at the fringes for specialised exotics such as MIT’s Scratch (programming for kids), Processing (2D and 3D animation) and many others, but it’ll take some real innovative punch to break into the market with a new general purpose language such as LiveCode.

I have always thought it is those hopeless souls that need most attention, as they harbour most novel and exciting ideas. It is sad, in a way, that the world of software engineering appears to be governed by a few big players, but as it happens, this is the rightfully earned case.



Enhanced by Zemanta

A Perfect Waste o’ Time

29-03-2012 19-16-27I told you how I shrugged off the burden of evening academia and became a free man again. Today, I’ll tell you how I spent some of the newly found spare time. Moreover, I am providing you with a way to spend your spare time:

I was exploring LiveCode, a playful programming language which caught my interest thanks to its different approach, compared to many other languages.

Unfortunately, LiveCode is not only slightly different but also vastly inferior than many other languages and tools, but it’s good fun to some level. In pretty short time, starting from not knowing about the existence of LiveCode, I produced a perfect waste of time: a little application that resembles the 1970’s puzzle where you had to slide 15 out of 16 numbered tiles into the correct positions. The LiveCode makers host an example which implements a similar game; I should point out that I disagree with this example’s approach to the problem. My little time waster contains no code from that example application, although some similarities necessarily exist.

My perfect waste of time starts with with a 3×3 grid, but the grid grows with each level. You can use numbered tiles (just turn off the Use Pictures feature), but by default, you get a picture puzzle, which we find much harder than numbers.

You’ll find a Perfect Waste o’ Time right here.

Go on! What are you wasting your time reading this article, when there are better ways of wasting your time?

Enhanced by Zemanta

More Fog and White Smoke

sunglassesI am fascinated by software that I never knew existed. Either this software provides a solution to a problem I never knew existed, or solve a known problem in a way I never new to me. The grammar and style analysers fall into the second category, potentially useful tools.

Earlier, I reported on my journey through several tools, namely White Smoke, Ginger and Grammarly, and dismissed all of them. Just when I had finished writing my report, I stumbled across more tools in the same category: the offline tools Editor Software’s StyleWriter and Serenity Software’s Editor.

As offline tools, neither StyleWriter nor Editor need an Internet connection to work. This speeds up analysis, and eliminates most security and privacy concerns (concerns the online competition seem little concerned about, judging by their half-baked statements and assurances about privacy and security).

Editor has some positive reviews. Serenity Software’s claim to fame also includes quotations from StyleWriter’s website, displaying where the competition’s marketing material fails to use good, clear English.

Frankly, I do not know how good Editor works. The tool has an archaic user interface and workflow, both unintuitive and unappealing. The general opinion gives this tool good marks on its findings, but I don’t even want to get there. It’s ugly and no fun. Dismissed.

StyleWriter has a cluttered user interface of questionable appeal, and offers half-baked integration into Microsoft Word. Their makers confirmed that they “don’t have any plans to integrate StyleWriter into other applications than Word,” and commented that “all other applications can paste text to Word for interactive editing or use the clipboard.” This fails to meet my requirements, but I am glad if this business plan works for Editor Software. Henry Ford also produced only black cars.

Unfortunately, I couldn’t get StyleWriter’s Word integration to work reliably. Sometimes it worked, but in almost half the cases, the tool didn’t show the Word document‘s content, or didn’t list the work document among those available.

No matter how you present your text to StyleWriter, by copy and paste or using the Word Add-in, you’ll face a user interface suitable only for a few paragraphs. All formatting is removed, making correlation to the original document difficult. My display jumped about on some occasions, making me think they are trying to scroll both Word and StyleWriter views in sync, but this didn’t work at all. Reviewing a whole document in this manner is not workable. I feel the only reasonable user interface includes true integration with the word processor, just like Word’s built-in red and green wiggly lines.

StyleWriter fascinates me nevertheless, because the tool identified several errors and weaknesses in my writing. The most common offence is unnecessary fill words, and overuse of the  passive voice. Most comments were unspecific, and repetitive: “Shorten this sentence,” “remove fill words,” or “try using active voice,” again and again, with practical suggestions few, and far between. Only few other comments were offered, although I am certain that my writing has room for improvement in many ways.

Experimenting with these tools heightened my awareness for grammar and style. Given the unappealing and largely impracticable user interface, I fear the software would become a disused item on my hard disc, once the novelty has worn off.

I can not recommend buying any of these tools, but I can recommend experimenting with them. If you can’t decide which tool to experiment with, try StyleWriter. This is the only reasonable contestant as far as I can see, although I struggle to understand how anyone would think this user interface good enough for the 21st century.

(Click here for the first part of this article.)

Enhanced by Zemanta

A Lot of Fog and White Smoke

fog-in-sicilyI was searching for a software solution the other day, when stumbling over Whitesmoke and Ginger. Neither was what I sought, but once intrigued, I loaded their trial versions.

Both products claim to be a better version of Microsoft Word’s spellchecker and grammar tool. These tools provide spellchecking, and claim strong validation engines for grammar and style, and producing high-quality suggestions. Various language dictionaries, translation, thesaurus, … This post is too short for the impressive list of features, so you may understand my reasons for a closer inspection.

In a nutshell: it’s a joke. Try the free trial for a good laugh, just do not spend a penny on it.

I offered the same test to both tools:

First, I gave a simple and correct sentence, which a reference to a 3.3V voltage. Incomplete sentence was the verdict when facing the decimal point.

Second, I gave a 10-page Word document. This document (none of mine ;-) sports poor grammar, many spelling and upper case errors, poor style, use of jargon, missing articles or false word choice (e.g. weather vs. whether). The analyser tools should have shone with  long lists of findings. However, notes were mostly on missing articles and words missing from the dictionary.

Third, I gave a half-page long and reasonably well-written document, with more reasonable results. One repetition was reported, and no inappropriate advise was given.

Last not least, I found Grammarly, an online tool serving the same purpose – a pure online tool, given that their Microsoft Office Add-in crashed within minutes. Grammarly’s results and suggestions were better than Whitesmoke or Ginger’s. I used Grammarly for a while in a real (technical) document. It gave plenty of advise about my use of passive voice, thank you very much, and made me conscious of my writing style. A cross-check with the poorly written document showed no overwhelming success for Grammarly though. I also found many aspects of their online tool not practical or unacceptable on various accounts.

Grammarly found more issues and provide better guidance, compared with Whitesmoke and Ginger, but is far from being useful and worth a paid subscription.

An interesting journey. The journey soon continues with the more capable contestants, StyleWriter and Editor; stay tuned.

(The second part is right here.)

Enhanced by Zemanta