Working in Tech

Best practices, new technology and products, and tips to help you stay on the cutting edge.

5 Techniques to Increase Your Programming Productivity

Women working at computer
Every programmer has his or her techniques for being more productive and writing more code. Having been on a three month contract where I wrote and debugged 5,000 lines of code in two weeks, I thought I’d share some of mine. Get Into the Zone It’s not always easy to get into the zone and it often takes about an hour to get there. Research suggests that after every interruption, it takes at least 30 minutes to get back into… continue…

How One Line of Code Forced a Full OS Release

Posted In C++/C#, iOS, Working in Tech
iPhone Update
It’s not often that Apple ‘fesses up about a bug, but the release iOS 7.0.6 came about because somehow an extra line of code got added to a function and broke it. Normally a bug would probably not warrant a complete release, but unfortunately this one-liner broke SSL connection verification. This is the code that checks that the connection is talking to the correct destination and uses SSL and TLS to verify it. You can take a look at the… continue…

A Look at Microsoft’s PCL for SQLite

Posted In C++/C#, Working in Tech
Having grown up in a world where the concept was anathema to Microsoft, it seems strange to think of them now on the side of open source. In 2002, for instance, there was public debate about the GPL with Microsoft taking a stand against it. Now, there’s a part of Microsoft that’s pushing out open source, “Building bridges between Microsoft and non-Microsoft technologies.” Now it has to be said that this does not come from sheer altruism. Microsoft has come… continue…

Processing: A Visual Language, Not Just for Artists

Posted In Working in Tech
Processing Screenshot
Processing is a programming language that was developed at MIT so artists and other creatives could learn to program in a visual context. It’s built on top of Java and has a basic IDE for editing and running “sketches.” The sketches — otherwise known as code — are gathered in a “sketchbook.” This metaphorically helps the artists to organize their coding workflow into something they recognize. The latest version is 2.0.3, also known as “Processing2.” No matter who it’s designed… continue…

Is Julia the Future for Big Data Analytics?

Julia Language Logo
In many Big Data analysis blogs, at Big Data meetups and in the halls of the most recent O’Reilly Strata Conference, one of the most-discussed topics is which language is better for data analysis: Python or R. Some of the talk has even reached “religious” overtones not unlike previous discussions on Windows vs. Linux or Microsoft’s Internet Explorer vs. Mozilla Firefox. So what’s the issue here? Why are Big Data analysts so concerned with what language to use? In my… continue…

Amazon Offers Developers Better Cross-Platform Tools

Amazon Analytics
Amazon wants integration with its services to be easy for developers and consumers alike, so it’s enticing developers to create better cross-platform experiences by opening GameCircle, Whispersync, Analytics and in-app purchasing to new platforms. So now developers can take advantage of Amazon services on mobile (Android, iOS) and desktop apps (Mac, Windows). iOS is limited to GameCircle, Whispersync and Analytics. The hoped-for result: Developers have a stable back-end platform while Amazon consumers get a frictionless buying process. Extending Amazon’s application… continue…

2 Free C Compilers Worth a Look

Posted In C++/C#, Working in Tech
Debugging in Pelles
It’s surprising how important the C programming language remains, as it’s now over 40 years since it was first created. It’s a simple but useful language that gives you a very low level view of memory and how variables are stored. It doesn’t have any high-level libraries for hash maps or lists; ANSI C only gives you arrays and pointers. If you want advanced data structures you have to either write them yourself using pointers or get third party or… continue…

How Shaders Can Render Awesome 3-D Graphics

Mountains Shader
Creating 3-D graphics involves more than just creating objects — you also have to tell the GPU how to best render them. To do that, you use shaders. Shaders are computer programs that are run on graphics processor units (GPUs) when 3-D images are rendered, that rapidly calculate colors, lighting and special effects. Here’s how it works: The Graphics Pipeline Graphics processing units run a pipeline of processing stages with instructions — compiled shader software — and geometry data. The… continue…

Tournament of Sevens: Week 1 Results

Though the Tournament of Sevens coding challenge took much longer to get off the ground than expected, I’ve taken steps to sort out the bot bugginess and the contest is now roaring ahead. The first week included 16 viable competitors, out of 19 entries. One obstacle in getting this going was from Eclipse projects. The problem with them is that their source files end up in different places and the IDE is a bit fiddly building and deploying the class… continue…

Building a Simple Slider Servo Control

Posted In Linux, Working in Tech
Arduino Connected to Flashlight
In the remote control, physical computing and Internet of Things ecosystem, it’s frequently convenient to command something to move using an on-screen slider. In my case I’d like to control a pair of servos from my Linux notebook for an Internet-enabled prototype I’m working on. Sometime in the future I’ll port the sliders over to a little app on my Galaxy S3. This article covers how to hack together a rudimentary notebook user interface connected to an Arduino microcontroller using… continue…