Categories
Uncategorized

Ladies Learning Code Fundraiser Party: Wednesday, September 19th in Toronto

The Back Story

When Heather Payne wanted to learn how to make websites and web applications, she didn’t know where to turn. She didn’t know any developers to help her get started or even point the way, and the “boy’s club” image of the programming world can be quite off-putting to women. Fortunately, she found a PyLadies Python programming workshop while visiting Los Angeles in 2011, and the experience inspired her to create a similar environment back home in Toronto. With a single tweet, her idea grew into what we now know as Ladies Learning Code.

Ladies Learning Code now has a permanent atelier at the Annex branch of the Centre for Social Innovation large enough to hold workshops for dozens of eager learners who want to get a better idea of how the technology they use every day works, how to program it, and how to be creative with it. This sort of thing costs money, so they’re holding a fundraiser in the space next Wednesday, September 19th at 7:00 p.m..

Ladies Learning Code Fundraiser Party! Photos of the Ladies Learning Code space before and after it was renovated.

The Details

  • When: Wednesday, September 19th at 7:00 p.m.
  • Where: Centre for Social Innovation’s Annex Branch at 720 Bathurst Street
  • Admission: $25 — purchase your ticket online here (choose the $25 “Party Time” perk or the $50 “Party Time Dlus Donation” perk)
  • What’ll be there:
    • Bottle Service for the high-rollers: $125 gets you a bottle and your own private area
    • A free drink with your ticket
    • Inexpensive drinks – they’re $3 each, including the Caesars sponsored by Mott’s Clamato
    • DJs and a dance floor
    • Old-school videogames: a Nintendo NES and a rare Vectrex (a hard-to-find vector graphics console)
    • 3D printers and 3D-printed goods for sale
    • iPad caricatures
    • …and more!

It’s a good party for a good cause, and hey — I’ll be there. What more incentive do you need?

This article also appears in The Adventures of Accordion Guy in the 21st Century.

Categories
Uncategorized

Apple, Samsung and Nokia

I’ll admit it: this made me chuckle.

Categories
Uncategorized

Barack Obama’s AMA Makes Reddit’s Biggest Day

President Barack Obama appeared on a Reddit “Ask Me Anything” (AMA) yesterday, making it the site’s biggest day ever. As of this writing, the AMA is closing in on 23,000 comments. The deluge of site visits also bogged up access; I must’ve received a half-dozen IMs alone asking me if I was able to access the site (I’m on holiday all week with my lovely lady friend, so I wasn’t even aware he was holding an AMA). Peter Kafka explains on AllThingsD how Reddit managed to get an AMA with the president — it turns out that there are quite a few Redditors at 1600 Pennsylvania Avenue.

Given the libertarian bent of a significant number of geek-types, there may be a Ron Paul AMA sometime in the near future. As for Tea Party favourites, it’s anyone’s guess as to whether or not their favourite candidates will make an appearance — after all, this may be their attitude to computers:

 

Categories
Uncategorized

On a Short Break

Global Nerdy — which actually refers to me — is on a short vacation with a lovely young lady from now until Tuesday, September 4th, when we — which means I — will be running full bore with tech articles aplenty. See you then!

Categories
Uncategorized

TShirtOS Strikes Again in a New Video

The Video

Earlier this month, I pointed to TshirtOS, the smart t-shirt designed by CuteCircuit and sponsored by Ballantine’s (yup, the whiskey company) and included a video of the shirt in action. They’ve posted a new video which takes a little dramatic licence in order to remind us that in the right hands — or the very, very wrong ones — technology can be a gateway to adventure:

In case you don’t believe that a gadget in the right hands can turn an ordinary night out into an extraordinary one, allow me to present some proof starring Yours Truly in The Best Accordion Picture Ever:

Naturally, with either TshirtOS or an accordion, your mileage will vary.

The T-shirt’s Tech Specs

Here are TshirtOS’ tech specs, straight from the folks at CuteCircuit:

LED Screen resolution

The LED Screen has a resolution of 1024 pixels, spaced 1cm apart, in a 32 by 32 pixel grid embedded into the fabric of the t-shirt. Each pixel is RGB (Red Green Blue) to make a full colour display. The LEDs used are ultra thin (like a sheet of paper), the brightest full colour discreet LEDs in the world at this thinness and only 2 by 2 mm wide. The screen is controlled by 32 ultra thin microprocessors, managing the screen control software “Q” by CuteCircuit.

Camera

The camera is an Omnivision Camera Cube.
 The Camera Cube combines the full functionality of a single chip image sensor, embedded processor and wafer- level optics in one compact, small-profile package. Boasting the industry’s smallest footprint and z-height (2.5 x 2.9 x 2.5 mm), it is ideal for today’s ultra-slim applications, such as wearable technology. Unlike traditional camera module designs that combine image sensors and lenses in a barrel, OmniVision devices are assembled using wafer level alignment tools.
The lens can be placed directly onto chip scale packaged (CSP) image sensors, which eliminates the need for flex cables and interposers. Elimination of image contamination issues such as fixed pattern noise, smearing, and blooming produces a clean, fully stable colour image, which in the case of the tshirtOS is scaled down to 32 by 32 pixels to be displayed.

Accelerometer

This is a small, thin, low power, 3-axis accelerometer with high resolution up to ±16 g. It detects a person’s jumping motion (the momentary absence of gravity or free fall detection) and activates animations on the tshirtOS.
This accelerometer is the latest generation triple-axis, hi resolution digital, micro mechanical inertial sensor.

Headphone Jack

This is a generic 3-poles stereo jack. We have 2 on tshirtOS – one for the headphone and the second for a headset/ microphone option.
The headphone jacks fit all types of headphones.

Circuit board and processors

The Brain circuit is an ultra slim PCB that snaps into the tshirtOS hub to provide it with BlueTooth capability.
The Bluetooth is CE and FCC certified, with an integrated micro-antenna, and it supports both the HFP, SPP, and A2DP profiles for hands-free and serial port use. The Brain is chargeable via USB simply by plugging it into a computer USB port, and the tiny Li-Po battery recharges in about 1 hour. The accelerometer and the micro- controller reside in the Brain. The micro controller controls the LED screen. We have 2 versions of the Brain where at the heart of the system is either an 8-bit processor from ATMEL or a 32-bit ARM Cortex processor, the latest ultra- powerful and energy efficient ARM processor, also from ATMEL.

iPhone and iOS support

The application will only be supported on iPhone4S and iOS5+ in its initial release.

Register Your Interest

I’d love to get my hands on one of these and both hack on it and take it out on the town, and I suspect you might too. If TshirtOS sounds appealing, go ahead and register at tshirtos.com!

Categories
Uncategorized

We’re Looking for iOS, Android and ASP.NET MVC Developers

As I wrote in an earlier post, I’m now the CTO of Comprehensive Technology Solutions, a development shop that’s building mobile applications for medium to large businesses. I have three developer positions that I’d like to fill in September, and they’re listed below.

Where We’re At and What I’m Looking For

Get it? Enterprise? Blueprint?

My job is to give you some of the most awesome specs to work from, and I do mean awesome. Nobody can describe an application using words, diagrams, statecharts, wireframes, prototypes, balloon animals or whatever else is necessary quite the way I do, so you’ll have a very clear idea of what we’re trying to implement. Yes, I’m aware of the dangers of Big Design Up Front, but you’ve got to have some kind of roadmap to follow. I prefer to call what I do “Just Enough Design”.

I’ll also be doing any necessary background research, which you’ll need, as the apps we’re writing will likely be covering stuff that you haven’t dealt with before. In return, I’ll need you to turn the specs and research into living, breathing apps.

The fact that you’ll be working from thoroughly-written specs doesn’t mean that you’re absolved from having to think. I want your input on the design of the application. I don’t want assembly line workers who’ll simply take a spec and implement it, I want software builders who’ll look at “the big picture” of the application and help out with the design. Software evolves as you build it, and I’ll need you to help with that evolutionary process.

If you’re looking to build consumer apps, such as games, social networking software, or something that will let you share pictures of your cat or lunch (or if your cat is lunch, both) with your friends, these jobs won’t be for you. We build apps for corporate customers in order to help them get work done. These apps will have a lifespan beyond your typical throwaway amusement app, and there will be security and privacy requirements, because money and sensitive information will be on the line.

Speaking of “on the line”, you’d better be comfortable with putting yourself on the line. We need developers who get stuff done. Unlike a large organization, there’s no room for people who are content to merely coast.

(You’ll note that so far, I’ve avoided saying that I’m looking for a “rock star” or a “ninja”. I think it should suffice to say that I’m looking for someone who’s ambitious and competent.)

I’d really prefer it if you either lived in or spent the majority of your time in the Toronto area. If you don’t live in the Toronto area but really want this job, give me some reasons and I’ll consider — I’m a very reasonable guy.

If you think you fit the bill and would like to work for a really smart and cool boss — namely, me — drop me a line at jdevilla@ctstech.net and let’s talk!

For the Back End, an ASP.NET MVC Developer

You heard me right, I said ASP.NET MVC. You might be able to talk me into ASP.NET if you have a really convincing argument, but I’m an ex-Microsoftie, and I have my reasons for going with MVC.

As for why we’re going with Microsoft-based server technologies rather than something Unix-based, it’s simple: our customers are using Microsoft technologies such as Windows Server, IIS, SQL Server, Active Directory and so on. We need our software to play very well with theirs.

Hence our search for an ASP.NET MVC developer, whose job will be to write the back end applications for our mobile apps for business. The mobile apps will be making calls to an API, which you’ll implement. These apps will also have some kind of administrative control panel to manage all the people using our mobile apps, and you’ll have to implement that too.

You should have experience with the following:

  • ASP.NET MVC
  • The C# programming language / .NET framework
  • Entity Framework
  • SQL Server
  • HTML5 / CSS3 / JavaScript
  • jQuery / jQuery mobile
  • Test-driven development
  • Implementing APIs
  • Writing secure applications for business
  • Contributing to the design of applications
  • Researching new and rapidly-changing technologies and then implementing features to take advantage of them
  • Making judgement calls and being able to explain them
  • Venturing into unfamiliar territory and getting stuff done

For iPhones and iPads, an iOS Developer

We’re also looking for an iOS developer to build native iPhone and iPad clients for our mobile apps for business. Yes, we do mean native iOS apps and not HTML5-based ones, because some of the functionality we’re going to need will require the kind of low-level access that you can’t get with an HTML5 app.

You should have experience with the following:

  • iOS 4 and 5 development
  • The Objective-C programming language / core iOS frameworks
  • Test-driven development
  • Making calls to various APIs
  • Writing secure applications for business
  • Contributing to the design of applications
  • Researching new and rapidly-changing technologies and then implementing features to take advantage of them
  • Making judgement calls and being able to explain them
  • Venturing into unfamiliar territory and getting stuff done

For Android Phones and Tablets, an Android Developer

We’re also looking for an Android developer to build native Android phone and tablet clients for our mobile apps for business. As with the iOS developer, we do mean native Android apps and not HTML5-based ones, because some of the functionality we’re going to need will require the kind of low-level access that you can’t get with an HTML5 app.

  • Android 2 / 3 / 4 development
  • The Java programming language / core Android frameworks
  • Test-driven development
  • Making calls to various APIs
  • Writing secure applications for business
  • Contributing to the design of applications
  • Researching new and rapidly-changing technologies and then implementing features to take advantage of them
  • Making judgement calls and being able to explain them
  • Venturing into unfamiliar territory and getting stuff done

Once Again…

…if you think you’re up to one of these tasks, or if you have any questions, contact me at jdevilla@ctstech.net.

Categories
Uncategorized

The Easiest Way to Get Ubuntu Linux on Your Windows Computer (So You Can Learn C the Hard Way)

Read reviews of Top 3 Best Hosting Companies and get the best web hosting
deals!

Learn C the Hard Way is Missing Windows Setup Instructions

A couple of readers who were inspired by my previous post, C, the Programming Language: Still Popular After All These Years, decided to give Zed Shaw’s free book Learn C the Hard Way a try. They ran into this roadblock in Exercise 0, which covers setting up your machine to do C programming:

1.3 Windows

For Windows users I’ll show you how to get a basic Ubuntu Linux system up and running in a virtual machine so that you can still do all of my exercises, but avoid all the painful Windows installation problems.

… have to figure this one out.

Learn C the Hard Way is a a work in progress, so it’s not surprising that parts of it are incomplete. That being said, it’s an amazing working in progress spanning 55 chapters, 49 of which appear to be complete. It starts your C programming journey with “Hello, world!” and then takes you to all sorts of places, including pointers, rolling your own simple prototype-based object system, Zed’s handy-dandy debug macros, Duff’s device, grand tours of data structures and debugging tools and more. Given the amount of ground that the book covers, it’s very likely that Zed put a higher priority on those parts that covered C programming in general rather than dealing with platform-specific issues. Luckily, I can help.

For those of you who are Windows users who’d like to do the exercises in Learn C the Hard Way, this walkthrough is for you. In it, I’ll cover the process of using the Windows Installer for Ubuntu Desktop, also known as Wubi (short for “Windows UBuntu Installer”). With it, you can install Ubuntu Linux on your Windows Vista, Windows 7 or Windows 8 machine and easily switch between Windows and Linux, without having to fool around with disk partitioning software or doing anything more complicated than making a couple of selections in an installer program.

Using Windows Installer for Ubuntu Desktop

You can get the installer from the Windows Installer for Ubuntu Desktop page, pictured below:

When you run the installer, you’ll be presented with the window below:

All the installer really needs to proceed is for you to provide a username and password for an administrator-level account which you’ll use to log in.

The installer automatically chooses the amount of disk space to allocate to Ubuntu, but you can change this value. I decided to be generous and give Ubuntu the most space that the installer will set aside for Ubuntu, 30GB. This may seem tiny, but the resulting Ubuntu installation will be able to access not only its files, but the files in Windows’ filesystem. Unfortunately, the reverse does not apply: you won’t be able to access files in Ubuntu’s filesystem while running Windows.

You also have the choice of desktop environment. The options are:

  • Ubuntu (the default): This flavour of Ubuntu uses the Gnome desktop environment with the Unity shell interface. If you’re new to Linux (or haven’t used it in a while), start with this.
  • Kubuntu: This flavour of Ubuntu uses the KDE desktop environment.
  • Xubuntu: This flavour of Ubuntu uses the Xfce desktop environment.
  • Mythbuntu: This flavour of Ubuntu is meant for setting up a standalone MythTV-based PVR system.

Once you’ve provided a username and password and you’re satisfied with your choices (or the defaults), click the Install button. The installation process will begin and you’ll see a window showing the installer’s progress as it downloads files, as shown below:

Once the installer has downloaded all the files it needs, it will start expanding them. The installer window should look something like this:

Once the installer has finished expanding the files it downloaded, you’ll see the Completing the Ubuntu Setup message (pictured below), which notifies you that you need to reboot your computer to complete the installation process. You’ll be given the option of rebooting immediately or doing it manually later:

When you reboot your computer, the Ubuntu installer will go through its final steps. You’ll see a screen that looks like this:

Once the installation is complete, you’ll be taken to the login screen. The username you provided should be automatically selected, so all you have to do is enter the corresponding password, which you also provided on the installer’s first screen.

Once you log in, you’ll be in your new Linux environment.

You’ll have one more step before you can start the exercises in Learn C the Hard Way: installing the required development tools. You can do this by firing up a command line and installing them with apt-get.

If you’re new to Ubuntu or have been using an older version, it may not be obvious how to start an application that isn’t in the Launcher (the taskbar/dock-like collection of icons on the left side of the window). The Dash Home icon is similar to the Start menu in Windows 7 and earlier, and you can use it to open a terminal window as shown in the diagram below:

Once you open a window, enter this at the command line:

sudo apt-get install build-essential

You’ll be prompted to enter your password, after which the required developer tools will be installed. You can now start the exercises in Learn C the Hard Way.

When You Restart Your Computer

The next time you restart your computer, you’ll be presented with a menu giving you the option of booting into Windows or Linux. If your OS is Windows 7 or earlier, the menu will look like this:

If you’re running Windows 8, the look will be more like the interface formerly known as Metro:

Have fun learning C the hard way!