Ruby on Rails on Linux


We're going to do all this stuff in the terminal. Suck it up Buttercup. If terminal makes you queazy, it's time to learn. Log on to your Ubuntu VM and hit Search your computer in the top left. Type term and click Terminal.


Linux Virtual Machine

I'm going to run through creating a Linux virtual machine on my Mac using Parallels. If you've read my post about Virtual Machines you'll have a background to this article.

Which Linux?

First, which Linux to use? If you don't already have a preference let me save you the trouble. Use Ubuntu. I'm not a Linux master. But from what I've read if you want a good and popular Linux distribution, people recommend Ubuntu.


Virtual Machines

If you haven't yet had the pleasure of using virtual machines (VMs) you really need to try this stuff out. The reason I bring this up is that if, like me, you're playing with building server infrastructure for an Arduino, Raspberry Pi, iOS, Android or some other client project, you'll appreciate not having to mess up your main machine while you experiment.


New Nexus

I have so much to write. I had better just get started.

This blog is still about Arduino and stuff, but the stuff is getting big. The few hours a week I get to spend on this is not nearly enough. Mostly I struggle for motivation of any kind and this is just another thing I'm not doing. Were motivation not an issue I would have a good set of projects completed by now. This blog post is just going to be a ramble about the things I wish I was doing, and will do as energy and time permit.


I Don’t Like This Blog

No. I don’t. I do like the subject material and the escape that writing is for me. But man, I’m over how it looks and what it takes to get a blog post up. Here’s my beef:
  1. The formatting is terrible.
  2. The online editor is quirky.
  3. Linking files and code to posts is more work than it should be.
But I’m sure solutions exist to all of these so I’m going to work out the kinks, now.
It’s funny though. It’s been quite a bit of mental work to ignore these issues and just keep writing. My desire is to have pixel-level control over the output and not having that frustrates me immensely. So each time I’ve gone near my blog I’ve had to half close my eyes and try to concentrate on enjoying the writing without getting bogged down in the publishing details. But now I have time to fix it.


Building DateTime with Code::Blocks

Now that I have moved house from the Arduino IDE into Code::Blocks, I'm going to document the start of the development process in Code::Blocks. I expect to be tripped up by a number of problems and I'll write down how I muddle through.

I have my ConsoleDateTime project for Code::Blocks set up. I deliberately did not pull my DateTime.h and DateTime.cpp files over from Arduino. I'm going to run the two IDEs side-by-side and pull across chunks of code one at a time and deal with any errors that come up as I go.

Get code here: https://github.com/prawnhead/ConsoleDateTime


Developing Without an Arduino

Working on my DateTime library has slowed to a crawl. I guess because I'm out of the habit (of doing things differently) I've been developing the DateTime class in the Arduino IDE. I remember now why that's a bad idea.

The Arduino process (you probably know so well) goes:

  1. change the code
  2. upload to Arduino
  3. run
  4. find errors
  5. repeat (ad nauseam)

This is good and normal and healthy development for the "usual" Arduino applications that are hardware dependent and relatively simple. But for a library like DateTime a few factors completely change the equation.

Get code here: https://github.com/prawnhead/ConsoleDateTime