Saturday, April 30, 2016

Learning F# with Xamarin

I've been interested in F# for a while now, but at the end of last year, I decided to at least learn the basics.

I'm on a Mac, and didn't even have Mono installed. I fiddled a bit in getting started with either Atom or Visual Studio Code, but always had some small problems. Shortly after, I found out about FSharpTV's Start Programming With F# Today. It was using Xamarin, which had a free edition at the time and that is now not only free, but open-sourced!

I installed Xamarin and the today from the class titled turned out to be true! I didn't have to fiddle with anything and I could learn with the class instructions without having to make mental translations to another coding environment.

There are so many learning platforms now, but I really liked the choice of Udemy. The UI is straight forward and intuitive. I also do a lot of learning on my daily commute, and the Udemy app with offline capabilities for the videos is absolutely essential to me.

I'm just gonna say right here that the class turned out to be a perfect fit for me. The basic format of having short lessons peppered with coding exercises is great for actual learning. It's my biggest problem when learning a language to just read and read and not do actual coding. With this class, I just had to, and it didn't feel like a chore, it was a pleasure! The gist of the class is to get us to generate spirographs. The combination of incrementally adding features while learning the language and experimentations with the interactive shell made the experience very dynamic and rewarding. F# is statically typed, but the development environment is very much dynamic!

The class is in Beta, and some videos were being remade while I was taking it. As such, it could happen that a later video was not perfectly in sync with what had been done in a previous video. Nothing that threw me off, though.

The class didn't try to cram us with everything. It is a really enjoyable introduction to the F# language and just enough of the ecosystem to get us started (specially for me who didn't already a .NET environment in place.)

All the while I was following the class, I was wondering how the parsing and dealing with a Domain Specific Language for the spirographs was going to be dealt with in an introductory course. It turned out to be made simply, elegantly and unexpectedly. It blew my mind, but I won't tell you how; you'll just have to go through the class!

In short, Start Programming With F# Today is a great on-boarding experience for learning the rudiments of F#!

Monday, April 25, 2016

Programming language/framework as a secret weapon

I recently tweeted:
Now, I do not mean that your team isn't more productive or better with the PL/framework of their choice.

What I mean is there's a lot to (human) execution. For somewhat similar tools, I bet your team can rock it irregardless.

But that's not what I'm getting at.

Some companies strive to keep their PL/framework a secret, fearing competitors would use it gain the upper hand. In my experience, it's already hard enough to convince colleagues to try a radically different language/framework, I find it unlikely. And even if the competitors suddenly adopt your PL/framework, it doesn't mean it's a good fit for their team. Or if their team is already rocking it with their own tools, would it really make a significant difference for them to adopt yours? It doesn't mean it's never the case either. I'm making general observations.

What I'm really getting at.

Keeping closed knowledge about your usage of a public PL/framework hurt your company and hurt the community. Your team won't get as much benefit from the community if they don't actively participate in online forums and local user groups. You're also losing the opportunity to sow knowledge that would benefit the community, grow, and get back to you!

Friday, September 20, 2013

See James. See James rocking it.

Don't miss James Ladd presenting the innards of Redline Smalltalk on the JVM at JavaOne in a few days!

Tweet announcement

Thursday, March 14, 2013

Clojure: from zero to grok

What's often missing when trying to learn a programming language is something between the 10 thousand feet overview and the medium to high tutorial assuming you've bootstrap yourself.
Eric Normand is offering insanely affordable Clojure learning videos. It's a Kickstarter campaign with only 6 hours left!
You can donate in all confidence, the main goal has been reached, but we need your help to reach the first stretch goal.
If you've ever wondered what all the hoopla about Clojure is, you can find out for a few bucks.
You'll learn enough to put it aside if you don't like it, or if you're lucky, you'll ignite a passion!
Click on the link. Do it now 8)

Update July 25th 2013
The videos are now available on

Monday, February 25, 2013

Redline Smalltalk: so long and thanks for all the fish

This is the last push for the Redline Smalltalk indiegogo campaign.

I give my heartfelt thanks to everybody who lent a hand, be it a donation or getting the word out.

We got an amazing spectrum of persons helping, from friends who donated so I would stop pestering them about Redline to pillars of our field like Grady Booch.

From the Redliners emerge these qualities: kindness, excellent programming chops, and a non-negligible amount of geekness 8)

To those who already donated: Please push out our campaign far and wide with your communication canals. Challenge your friends and coworkers to match or exceed your donation. Make a friendly competition out of it. Get your company to make a corporate donation.

To those who have yet to donate:  be kind, be excellent, be a really hoopy frood who knows where his or her towel is. Be a Redliner!

Monday, February 4, 2013

Why Smalltalk?

Why would anybody be interested in an old language like Smalltalk?

I know quite a few of my readers are, among other languages I am sure, Scala programmers. I quite like Scala and its balance of OO and functional programming on a serving of static typing with inference. Scala has been the perfect vehicle for me to grok functional programming.

I am fond of learning different languages who makes different trade-offs and are suited for different architectures or goals.

What I find in Smalltalk, is a message-passing approach to OO mixed with functional-like features like blocks on a serving of dynamic typing. This is definitively a different beast that what we have been accustomed to consider as OO languages. Ironically, that old-school language feels like a breeze of fresh air!

Smalltalk has a wonderful variety of implementations, Pharo and Squeak being the dominant open-source options, along with the notable Amber who targets JavaScript.

There is yet another implementation that deserves attention, for it makes the same decision as Scala to target the JVM. It is called Redline Smalltalk, is definitively a real Smalltalk, and I believe is poised to reinvigorate Smalltalk.

I urge you to take on Redline as your "new" language to learn for 2013, or if only to help foster a healthy, varied ecosystem on the JVM, to make a small donation on Redline's indiegogo campaign. Read the article and watch the video on the campaign site to learn more about the rationale and the dedicated, passionate and friendly human beings behind Redline Smalltalk!

Help Redline, and you help all the JVM languages by having one more compelling reason for the JVM infrastructure.

Monday, November 26, 2012

Are you a Redliner?

Redline Smalltalk is a real Smalltalk for the JVM.

Redline Smalltalk is nearly done, but needs a little push to get out polished and in a timely manner.

Don't miss out on getting Redline passed the tipping point!

Click here to donate to the indiegogo campaign 8)

The above link also contains additional information about the goals of Redline and why you should donate.

If you've contributed before to a language you liked that got successful, here's your chance to be part of the revolution... again!

If not, now is the time to be part of something great from the start!

I'm a Redliner. Are you?