Cloud9 as a Development Environment

I first encountered Cloud9 (the IDE, not the professional gamers) a couple years ago, when I was looking for a nice HTML/CSS editor for the students in my Exploring Computer Science course to use on their own laptops. I settled on it because it had good highlighting, didn’t require them to understand anything on the command line, but still focused on raw code as opposed to WYSIWYG stuff.

Since I stopped teaching high school, I hadn’t thought much about it. As a boot camp instructor, it was important to me that I teach my students how to use “real” tools, and so we focused on local tools.

At the moment though, I find myself temporarily without a dev machine, and my mind turned back to Cloud9. I’m mainly working in libraries (hurrah for free access to computers!), and while I can thankfully count on them to have Google Chrome, I can’t count on much else.

So, how can I do some real development without a real dev machine? I started up a new (free) account to find out.

Continue reading →

Markdown in WordPress

Markdown-mark.svgI’ve been writing a lot of prose over the past year – lesson plans, online content, blog posts, etc. As more of my prose has also involved code samples, I’ve gravitated toward Markdown for writing my text for a few reasons:

  • It’s dead simple to incorporate code blocks
  • It’s cleaner to look at than raw HTML
  • There are plenty of great tools that support it (for me those include Jupyter Notebook and The Iron Yard’s online learning platform)

(Yes, there are also reasons not to use Markdown)

But I never made the jump to using it on my blog. Until today!

Continue reading →

C# on a Mac

I recently was asked to teach a guest lecture for a class in C#. Only one catch: my laptop was a Mac.

Of course, this day and age, there are plenty of options for running Windows on a Mac. Some magazines have gone so far as to declare that Macs are the best Windows laptops. However, I wasn’t interested in using virtualization or dual-booting to achieve my end goal – not least of which because I’d be required to buy a Windows license (and possibly a Visual Studio license). Rather than focusing on running Windows on my machine, I decided to see if it was possible to do some stuff Mac-native.

Continue reading →

First Impressions of Swift

Ohio was hammered with snow last night, leaving me with a snow day today. After spending an hour shoveling myself out of the driveway (which I expect I’ll have to do again to get back in), I headed to Starbucks, grabbed a coffee, and decided to look into the current state of iOS app development.

I’ve dabbled in Mac/iOS development in the past, but I’ve never made the time to build anything significant/useful. This might relate to my opinion that writing code in Objective C wasn’t really fun. I get a thrill out of writing clean Python code that works well, whereas Objective C just kind of felt a little too raw and nit-picky. I frankly don’t want to have to worry about memory management, and “NS” everywhere just seemed like unnecessary typing and clutter.

I had heard of Swift, but didn’t really know what it involved or how it was different from Objective C development. All I knew was that it was an iOS 8/Yosemite-focused language, and that it was Apple’s new thing.

Continue reading →

Code Kata

I was speaking to someone the other day about test-driven development, and he used a word that was unfamiliar to me: “kata.” I had done TDD as part of my software engineering class (writing unit tests first, and then writing code to pass those tests), but had never heard of kata before.

Because kitten sounds like kata, I guess?

Because “kitten” sounds like “kata,” I guess?

After clarifying how to spell it, I googled the term and found the page I was distracted by the kittens at first, but then found a little bit of interesting discussion about deliberately practicing coding in an attempt to hone ones craftsmanship.

I do view programming as a sort of craft, somewhere between an art and a science, so I found this intriguing. I decided to try my hand at one.

Continue reading →