Thinkyhead on the Web

I have a fairly wide web-presence, ranging all the way from here to the other side of the interest spectrum and back again. See my new "Follow" page for links to all the places where I post content from time to time. I will also add a feed here, once I can figure out all the configuration. Meaning I may have to curtail my advocacy – or do more. What else is the 'net about, if not sharing and caring?

The Thinkyhead Story

Scott Lahteine Photo Thinkyhead is a software dojo committed to the creation of fun, interesting, useful, simple apps, simulations, games, and web interfaces that push the limits of convention and extend the powers and aesthetic of their respective domains.

Thinkyhead is Scott Lahteine, the programmer behind FretPet X and the sole person behind the Thinkyhead Software moniker. This is a brief account of my so-called "career" with the milestones that led to the creation of the stuff you find now on this gaudy web site, including more recent projects. It's a resume of sorts, but really more a catalog of my geek activities since... the beginning.

1978: A Geek Is Born

1978 was the year I got hooked on programming. I was 11 years old, a boy growing up on Cape Cod in a working-class neighborhood. I loved the beaches, I loved nature, and I loved to build models, write, draw, and paint. One afternoon out with my father I observed a salesman giving a demo of a TRS-80 computer at the Radio Shack next to the arcade. One moment there was a blocky picture on the screen - the profile of a Panzer tank - and with the press of a key the image scrolled upward, replaced by a screenful of green code - the mysterious instructions that had generated the image. Right away I saw how it worked. It was an epiphany that changed my life. I begged my dad to buy me the BASIC programming book on the shelf. I didn't own a computer in 1978 (who did?) so I would go into my lair (I had a lair like Dexter in those days) and write programs on note paper, imagining how they should run.

During the summer of 1979 I took a course in BASIC using the Apple II, the best home computer around at the time. We also did some LOGO. I would ride my bike a few miles every day to attend the classes, which went over a couple of weeks. It was a very encouraging environment. I've completely forgotten all the material we covered, but BASIC at that time was a language you could master pretty fast. I was able to program a simple dot chasing dot game by the end of the course.

1980-1981: Sinclair / Apple

The first cheap take-home computer was released in 1980 at the amazing price of only $200. The Sinclair ZX80 was the size of a small book, weighing only a pound. It connected to the TV for its b/w text display and you could save programs to cassette with any tape recorder. It was programmable in BASIC and contained a whopping 1K of RAM. It was very slow and you couldn't do a whole lot with it. It had no color and no graphics other than a variety of blocks in the character set, so you could draw pictures by printing these characters in the text display. Of course one of the first things I did was use try drawing a tank as an homage.

My dad connected me with a local radio shop that had a couple of Apple II computers in the back, and I would spend afternoons typing in code from SoftSide and Compute! magazines, or messing around with my own programs. I don't know why we never got an Apple II, considering how much cheaper it was compared to a semester of college, and I was eager to progress. But on Cape Cod at the time there wasn't much of a hacker culture.

1982-1985: All for fun

In the early years I used my Atari 400 to make programs to do my long division homework and wrote games to amuse myself and the neighborhood kids. I had figured out a lot of programming tricks and had outgrown AtariBASIC. I was starting to write routines and even whole programs in 6502 Assembly Language, which was the best option at the time. I created a program called Tracer for editing, diagnosing, and repairing Atari floppy disks. The final version, which is gone forever, contained a 6502 disassembler and even had its own programming language for automating the program.

bill, ted, and friendsThe kids who liked computers tended to find each other at my High School, and we would get together at one another's houses to work on programming projects, try ideas out, and play computer games like M.U.L.E. together. Eventually a computer club formed out of a dozen or so enthusiasts, and we would get together at a sewing machine repair shop in Dennis.

My main interest was always the technical and artful challenge of programming games and simulations, and I loved having a dojo to share what we were learning. Things stayed for a little while at that level, but the computer club focus quickly shifted away from programming to the cracking and sharing of software, dues were instituted, and so I spent less and less time there.

1986-1990: Amiga Games

I tried going pro as a games developer in the 80's, working as a contractor for Odyssey Software, Digitek, Michtron, and Capstone. During this time I composed music for the games Byteman and Space War, programmed the original Amiga game Dino Wars, and wrote the Amiga version of Bill 'n' Ted's Excellent Adventure working with Off the Wall Productions.

This was a curious period of my life. I had neither financial support nor much in the way of mentors looking out for me, so I floundered around without direction, reading books, doing a little coding here and there. But there wasn't a niche for casual game developers then, publishers were stingy and developers like me had no idea of their real value. So none of the programming I did ever yielded very much money, and it took a really long time. I was frequently unable to make ends meet and occasionally homeless. Disillusionment was imminent.

1990-1995: Nowhere, man

I decided to abandon Cape Cod and the game programming scene in 1990 so that I could move to Boston to pursue a life of Bohemian splendor, as is the existential imperative of every 20-something. I took up new interests like writing, music, and philosophy. I became so involved in other pursuits that I spent 5 years without even touching a computer and completely overlooked the Mac revolution.

1996: Geek Rebirth

I returned to programming in 1996 with the aim of joining my programming experience with my interests in music, art, and psychology. After a couple of months getting my chops together on a secondhand 386 computer, I bought my first Power Macintosh and began working on a simple fretboard reference utility. The concept grew into a full-fledged music sequencer, and in 1998 I released FretPet for Mac OS 7. FretPet won an award from the Institute of Electroacoustic Music at Bourges and got some good reviews, but alas it was not the key to shareware success that I had hoped.

1998-2000: Happy Valley Prequel

In 1998 I moved to Northampton, MA where I did a contract job for Cyberlore Studios writing the Windows installer for one of their popular games. I also worked as a web developer with Tortus Tek in nearby Holyoke, MA. That was fun and interesting, and I learned a lot, but I was restless and in need of a scene change.

2001-2003: Critical Path

CPS I relocated to Portland, Oregon in 2001, taking a position as web developer for the Mac-friendly Critical Path Software. Among other things I co-developed the Native Seed Network website for the Institute for Applied Ecology of Corvallis, Oregon.

2003-2004: Close to the Metal

In mid-2003 I decided it was time to be a full-time freelancer. Around that time I began a collaboration with former Looking Glass game designer Chris Laskowski. We founded Botfly Games in 2004, and began working on our first titles: a darkly humorous outer-space strategy game called Deep Space: Outpost 0 and a pulse-pounding arcade game called Zorbles!. Our funds ran out before we could finish them, but we gained valuable experience and insights into the process of OpenGL game development.

botfly In late 2004 I took a break from the Botfly projects to work on TabletMagic and the enhanced Mac OS X port of FretPet. After many months of intensive late-night programming FretPet X was released in June of 2005.

2006: Prodigiousness Abounds

In early 2006 I moved back to Western Massachusetts. There I joined up with Vegan Radio as a co-host. Web design and programming became the focus of my freelance work, and I spent a lot of time updating the Vegan Radio and Veganica web sites during this period.

2007: Web 2.0 and Drupal

It used to be a real drag to make websites in PHP before site frameworks like Wordpress and Drupal came along. In 2007 the Web 2.0 phenomenon really started to take off with the advent of Facebook and Twitter, and I discovered that in order to make websites that meet today's standards, it would be essential to start using website frameworks. As luck would have it, I was hired to do my first Drupal website, Educational Video Center. The learning curve was slightly steep, but during a trip to Brighton, England I shut myself in with a copy of Pro Drupal Development and a bottomless cup of Earl Grey until I got the gist. In the process I fell in love with Drupal, and I've been a devotee ever since.

2008-2009: The iTouch Revolution

In 2008 I got an iPod Touch and began programming my first Cocoa Touch application, a music tool called ChordCalc. I had a good start, but circumstances were pretty unsteady during 2009, so it wasn't until late October that I was finally ready to submit ChordCalc to the iTunes App Store. ChordCalc Lite was posted a month later.

In Fall 2008 I was hired as a web developer by Gravity Switch, a web design company in Northampton, Massachusetts. There I did work for some great local clients like UMass and Veterans Housing Assistance Fund. During my tenure there I continued to evangelize Drupal and began getting more in-depth with Flash and ActionScript. Full-time work wasn't really paying me any better than freelance work, and I was unaccustomed to having go-betweens with my clients, so in mid-2009 I went back to full-time freelancing.

It turned out the be the right choice to plunge back into the freelance life, but initially it was a struggle to rebuild my client base and get some momentum. Unable to keep up with the rent I did a homeless stint for a month, couch surfing and working from my laptop. Fortunately I found Freelancer Dot Com and was hired to do some Drupal work for a curious company called 3dO Medical in Toronto.

2010-2012: Web Apps

In February of 2010 I moved to Holyoke, MA and did some work for Positronic Design, a web development and SEO company. My arrival was fortuitous, because 911 Blogger was looking to upgrade their Drupal 4 site to Drupal 6. It was a relatively simple site, but the upgrade required lots of careful planning and many trial runs. In the end the upgrade went very smoothly, thus firmly establishing my reputation as a miracle worker.

2012: New Skills, New City

I've spent a lot of years writing code for OS X and iOS and building Drupal sites. But in 2012 I became restless to learn some new skills. Writing software that runs inside a computer, and making that the total interaction, is still wide open, but there's also a huge arena where computerization, automation, and sophisticated interaction are happening with a realtime flow. Some of these might be art installations or exhibits in science museums, while at the other end we have smart buildings, smart homes, smart streets, assistive environments, wired hospitals, etc.

So I saved up and bought a car, loaded it up with belongings and Fang my trusty cat sidekick, and headed west to Seattle, Washington, where exciting things are happening in just about every interesting arena. I have friends in Seattle who are into making games and simulations, and there are cool places like Metrix: Create Space where you can learn fabrication and essential cyberpunk skills for the coming zombie apocalypse.

2013: Arduino and RepRap

It didn't take long for me to fall in love with Seattle. It is indeed a great city for creatives and geeks of all kinds, and the tech scene has really been exploding. With the help of friends in late 2012 I got a room in the Ballard district where I could set up a little workshop. Now all I needed was a good project to start learning electronics and Arduino programming. I began researching in earnest.

There were a lot of small projects to start learning Arduino, such as the ubiquitous programmable LED cube. But then I discovered the amazing RepRap Project, an open source effort to make a machine that (ideally) can make copies of itself: a "Replicating Rapid Prototyper", more commonly called a 3D printer. I spend every day on the Internet, and yet I had no idea that the RepRap Project had been going on for 6 years at that time. I had to build a 3D printer, and soon!

My comrade Thai Vo at Green Code Design and I did exhaustive research to decide whether it would be better to buy or build a 3D printer, and which models would give us the most bang for the buck. By my birthday, January 17, 2013, we had done all the research and were ready to make our choice. Of all the commercial and RepRap models we reviewed, the "Prusa i3" won hands down. It has lots of build space (685mm3) a sturdy attractive frame, a small footprint, and an open parametric design. We estimated that all the parts would cost $500.

It took us a couple of weeks to cobble together all the parts from eBay, McMaster-Carr, the local hardware store, and websites specializing in selling 3D printer parts. With the Prusa i3 so new at the time, I got the wrong plastic parts twice before I got the right ones. In the end we went a couple hundred dollars over our optimistic estimate, but ended up learning a lot and gained an amazingly-useful piece of workshop technology! We recouped some of the cost by re-selling the extra parts.

Since that time "Millie" (the i3) has received a lot of attention. The first thing we did was use it to make more and better parts for itself. Lately I'm trying to do more interesting stuff. You can find those designs at my Thingiverse page and my YouMagine page.

2014: New Obsessions

In early Spring I was too dizzy to work (owing to an inner-ear infection) so I fell out of web-development. When I recovered I began to spend more time customizing the Marlin Firmware that runs Millie and many other 3D printers. Later I became a regular contributor, and since that time I've been trying to find a way to do it full-time, at least for a while.

Meanwhile I had this little project going to help me learn Unity3D, an integrated tool for making games and simulations. I began to put more time into that stuff, hoping to roll it into some kind of Real Job™. So far (as of Oct '15) I have a mostly-finished game. I hope to get it out soon!

2015: Portland (again)

I live to change my scene every couple of years, so when my girlfriend decided to go back to school, meaning a move back to Portland, Oregon, I didn't mind at all. I still have friends in the city, there are lots of great things to do, and it's always been a great place for geeks, freethinkers, and vegetarians. It took us a few months to find a good location and settle in, but we're in a good place now.

I'm very interested in doing stuff with Unity 3D, especially, but 3D printers, and interesting Javascript projects where I have some time to learn and experiment are also attractive. Meanwhile I continue to do my own thing, making whatever apps, simulations, and games most interest me. Alas, without a patron like Bell Labs or Xerox PARC I have to do my own funding, but with any luck that game-in-progress will sell enough copies to finance the next creative project and beyond.

I'll do my best to keep you informed about my projects here in the blog. Again, check my "Follow" page (once it's built) for links to my Facebook and Twitter, the wiki, some external articles, my project pages, and everything else that brings all my output together.