Go Don Syme!! Go F#!!

According to the relevant sources, F# is to be productized as a bona-fide language, not just a 'research project'.

I worry as others do that F# will shoot over the heads of too many of us programmers... with PLinq coming to C# mainstream we'll probably avoid needing to think about it all together...

And i fear Steve Thompson has a point with his response:

"likelihood of the average .Net programmer picking up this language is vanishingly remote"

but i disagree on principle with his statement that:

"...syntax a huge obstacle to understanding the fundamental..."

I've seen too many dyed-in-the-wool programmers argue that VB.net or C# is fundamentally superior to C#/Vb.net on such shallow basis.

I'm convinced that syntax is tangential for anyone who *uses* a language in anger. The human brain is far more maleable. After you tackle a few languages we learn to think in a meta-language far richer than what we merely type. (Yeh, 'Why' - I'm throwing down the damn gauntlet to your ridiculous claim, that Ruby is 'the language of our thoughts'.. grow up Why! Get a better set of lungs you wheezing freakazoid! just kidding i love your work, even you're so damn wrong. Yet admirable and funny.. and wrong! damn you, wrong!)

(new sub theory, regarding the age-old question, which is better a terse or a verbose syntax? -- in the early days of learning to program, a verbose syntax is better, but later a terse syntax is better. Hence, more experienced programmers appreciate terse syntax even in languages that are new to them. An ideal language, meanwhile, would allow for both, without causing disadvantrage either group. This is impossible, of course, hence language wars are inexorable.

One respondent, clearly a Pythonista, said, somewhat naïvely:

"This looks like Microsoft's solution to Python."

A fairer comment would've been: 'This looks like Microsoft's response and extension to O'Caml' -- which it is.

Enough on F#... let me say:

if your application has Ugly Corners You Wish to Beautify:
Consider F#.

If you have thoughts too beautiful for your day job:
Consider F#.

If you pose parallel solutions to problems posed in serial:
Consider F#.

If you... want to...

then please...

Consider F#!!!

(ps. It doesn't stand for Fortran.net.)

 

The future of microsoft development

Where is mainline Microsoft development today? Where tomorrow?

Once, mainline Microsoft development was: MFC C++ apps and VB 5 applications. For the windows platform.

Then, for a short while it was Windows Forms applications, in .net, mostly C#, partly VB.net.

For the last several years, ASP.net has had the lion's share of attention from microsoft.

(Compare the data providers in Windows forms versus Web forms... linq support is complete on the web, but patchy on windows)

Where's it headed now? Will it return to the windows platform, with WPF? Or stay web-based with silverlight?

Is WPF "too much too late" for development on the windows platform?

Is asp.net for html now doomed, like MFC or VB 6? Will ajax for asp.net move ahead, or be dropped for silverlight?

Why do we always quit at 90%?

Are microsoft afraid that if they do anything well, it will give them nowhere to go?

Or is the last 10% harder than the first 90% put together?

Did Robert Scoble Die For Nothing?

No, hang on, honestly. Let's try that again. I say: 'Did Robert Scoble Die For Nothing?' and you say, 'But wait. Robert Scoble's still alive,' got it? Okay.

me: Did Robert Scoble Die For Nothing?

you: But wait. Robert Scoble's still alive.

(very good, now i say...)

me: Oh, I hadn't noticed.

 

TimeSnapper On Sale: 2 year anniversary special

It's now been two years since we made the first version of TimeSnapper available. In celebration of getting so far (from 1.0 to 2.5) we're offering TimeSnapper at a special price:

TimeSnapper is now on sale, from $39.95 down to just $24.95

Or, to express it in a more gratuitous web 1.0 way:

Was $39.95 Now an
INSANE
$24.95!!

More gratuitous again:

TimeSnapper currently just $24.95

Or go with the modern classic:

TimeSnapper currently just $24.95

Thanks again to everyone who's helped us with suggestions and feedback. More improvements are on the way soon, as always!

(animated led sign generated at wigflip, mirror image generated at h-master.)

 

Don't Forget The Caret^ and the $tick

stupid cartoon

When using a regular expression for validation.... don't forget the caret^ and the $tick

Let's say, you want to make sure the user types in a 3 digit number.

Simple! Can't be simpler:

\d\d\d

Let's test if this suits the following:

"500" -- Yep!
"999" -- Yep!
"123" -- Yep!

All good so far. Let's check that it fails on the following:

"5" -- Yep!
"99" -- Yep!
"ABC" -- Yep!
"" -- Yep!

That's good too. I guess we're done, right?

stupid cartoon

Uh-oh! It looks like we forget the caret^ and the $tick!

Therefore the following would return a match!

"HEY I like the film 2001 a space odyssey!" -- Oops! matches our expression!

as would

"But 2010 was just junk right?" -- Oops! another match!

What if we use a caret "^" and a dollar sign "$" to anchor the expression to the start and end...

^\d\d\d$

stupid cartoon

Now we'll get the result we want!

So when using a regular expression for validation, don't forget to anchor them to the front and the back, by using... you guessed it...

the caret^ and the $tick.

(donkey image lifted from an article about Team Building)

 

Q: What's the cleverest kind of code?

blog,

A: No code at all!

I was looking for this quote:


...and I found it on Chris Sell's blog.

But in the comments I found this even more profound point...

And that's truer than anything. Code is always noxious to human senses. It's not built for human consumption. You get used to your own. But even still -- it's noxious stuff. The less of it the better.

 

Facebook -- what every concerned user needs to know!

First up, facebook facebook facebook me me me, facebook facebook facebook, and also facebook facebook friends facebook no friends facebook facebook me me me me facebook.

Mostly, facebook crackbook facebook stalkbook facebook magic eight ball says facebook applications everyone facebook facebook can't shut up about it facebook facebook, productivity, facebook costing business millions, facebook facebook until all he could do was sit in a corner muttering facebook facebook facebook facebook.

Children as young as three years of age, meanwhile facebook facebook i'm starting a facebook group 'overcoming facebook addiction' and burma facebook facebook , facebook, because a facebook group is really gonna make that regime sit up and take notice, poke poke facebook facebook poke them poke them wake up crazy burma bad guys, cop this facebook facebook facebook facebook poke.

The story for developers is perhaps the most compelling of all, as facebook apps can facebook other facebook apps with a massive user base of facebook users and facebook apps and facebook facebook facebook facebook.

If john lennon was alive today facebook jesus facebook gandhi facebook einstein facebook darwin facebook hitler facebook elvis facebook marilyn facebook mother theresa facebook shakespeare facebook facebook i don't even know this person facebook facebook.

so, ah, get a life, yeh? then twitter it.

 

WSCG as a Batch File

sample of a cartoon from strip generator

Full respect to Raj Chaudhuri for implementing the World's Simplest Code Generator as a Batch file (this was in response to it being reimplemented in javascript).

Matt Casto tells me he is currently working on a Silverlight implementation of the WSCG. Hurry up and share it with us Matt!

In other news...

The cartoon generator tool at stripgenerator.com is pretty fun.

Here's a dodgy example I put together.

sample of a cartoon from strip generator

And finally...

Paris Hilton has now been seen nak3d by so many men that chicken is officially known as 'the other white meat.'

 

Transform Your Children Into Computer Programmers With SourceGear

Eric Sink, in another of his inspired, yet somehow dorky, marketing ploys, wants us to make fools of ourselves by posing as idiots in exchange for free t-shirts.

For example -- poor Craig Andera was tricked into posting this rather sad display:

Craig Andera prostituting himself in order to help with Erics marketing

(available from here in a larger, and therefore dorkier, image.)

The smart people don't lower themselves to this kind of behaviour. Instead, we get our kids to do it ;-)

Here's Lily before she became an evil mastermind:

Not yet a mastermind

Notice the vacant stare and the inability to concentrate on her keyboard.

Here she is after donning a sourceGear shirt and being instantly transformed into a megalomaniacal computer genius/evil mastermind.

***

(You may recognise her Commodore 64 from earlier adventures, and you may recall sourceGear vault from earlier dragon-dodging escapades).

(um... no offence meant Craig... I know you're not a dork, but rather an "Über Cool Nerd King" [pronounced: 'dörk'])

 

Password Protect Your TimeSnapper Images!

Password Protect your TimeSnapper images

We snuck out a new version of TimeSnapper last week. The release notes are online.

You may be interested in the main new feature: allowing the cautious user to safeguard their images from prying eyes, through password protection.

When turned on (via the options form) this will cause your snapshots to be encrypted using a bit of algorithmic goodness from the System.Security.Cryptography namespace.

There's also a raft of little tweaks to improve usability, mostly based on feedback received at the forums, or through support emails.

(image at right is from an early work on cryptography, Polygraphique et Vniverselle Escriture Cabalistique.here by Johannes Trithemius)