In Praise of the Humblebrag

How about that? I actually managed to put more work into that contact app in the last week than I have in the past six months. Here I thought I was just posting the programming equivalent of a gym selfie. I suppose I shouldn’t be surprised. Despite what some lazy buzzfeed article told you about facebook etiquette, there are a lot of studies backing the benefits of publicly proclaiming your commitment to your goals. It adds that little bit of accountability that’ll get you through the nights when you don’t want to go on that run or write that novel chapter. But enough platitudes, what did I accomplish last week? Well, here’s a screenshot.

Screen Shot 2014-05-19 at 10.22.44 PM

I’ve got an interface for entering a list of names behind a facebook-driven log-in system. I’m using a from-scratch permission system to hide the contacts from public users. The interface uses the AngularJS package, so the names are saved to the database as soon as you click the add button, no page refresh required.

I’ve been thinking a lot about how the interface is going to work. I want users to be entering in their interactions about once a day. It’s going to be a very quick habit, and will let the system get a sense of how the user is doing socially. I’ll start with a list of the most recent contacts like so:

Screen Shot 2014-05-19 at 9.46.06 PM

Clicking one of them will bring up a modal dialog like this.

Screen Shot 2014-05-19 at 9.51.30 PM

The user will select the method of contact and move on to the next person.

Occasionally, (or regularly, depending on the settings) the system will ask for more information about the user’s interactions with pointed questions like these.

Screen Shot 2014-05-19 at 9.57.03 PM

I haven’t decided if I’m going to analyze the answers yet, but it should get users thinking about their emotions when it comes to dealing with strangers.

It’s kind of a tall order here. I don’t think I’ll get all these features done this week. The real struggle will be to focus on the features that will turn this into a minimum viable product. That way I’ll be able to use this app in the real world and figure out if I should have attempted this at all in the first place.

Care and feeding of the Right Side of the Brain

It’s been odd to be on this plateau in life. I’m so used to worrying about my career that it really feels like something’s missing now that I don’t have to. The work I’m doing is challenging, fulfilling, and I like the people I work with. I’m even back at the gym, if you can believe that. Sure, this job is only as secure as any other programming job, and I’m really tempting fate by putting this to paper, but I’ve gotten to a point where if I lose my job tomorrow, I know exactly what to do to get to the next one. The plan would be executed with maximum efficiency and a minimum of drinking and swearing. For me, that leaves a lot spare mental energy kicking around. That means I’ve got to keep striving.

I’ve been making some headway on that contact manager I announced I was going to make at New Year’s. I was hoping to use the Facebook Graph API to track my interactions with my friends, and use that data to see where I could be more sociable online. Unfortunately, I learned that Facebook has locked down anything to do with data about your friends, so my program’s not going to be as automatic as I want it to be. Good on Facebook for growing a conscience, but did they have to step on my programming dreams in the process?

No matter. They still let you download all your data, which is all I need in the first place. I’ve got to pivot this thing so it functions without any outside data sources in the first place. I want people to be able to gamify their social interactions so that they have more friends, build better support networks and live longer, healthier lives.

I think I’ve got about 7-8 hours to focus on this one project. One hour Monday, one hour tuesday, two hours Wednesday, 3-4 hours on the weekends. By the end of that time I should have an app that allows me to enter contacts and write “notes” whenever I make contact with them. I’ll write my results hear next week, and if not I’ll just complain about what’s keeping me from programming this week. Good Luck, and Godspeed!

James Strocel 2014: Resolution

howfarwehavecome copy
This time last year, my son was barely the length of my fore-arm and couldn’t even roll over. Today he manages quick toddles in between tables, can bring me the books he wants to read from across the room, and charms the pants off the cashiers every time we go grocery shopping. Now, what have I accomplished this year?

I’ll admit 2013 didn’t start off all that great. I started the Spring unemployed from what I had thought was my last crack at a 9-5 job. Being your average technology worker born after 1970, I was no stranger to joblessness. However, I tried something different this time. I ignored some very good advice and started building my own web app, Gameplaydate.com. I had the idea that I could get adults interested in multiplayer video games again. It’s still up there if you want to sign up. It has approximately 0 regular users, but it led me to my next job, and I’m still using the code base in that very job today.

I learned something very important that Summer. I learned to not accept my limits. I would still have limits, everyone has them. But from now on I want to know them, not just accept them.

Now, if I need to learn a complex technology or design methodology, I’ll just learn it and try to sell the solution to my bosses or clients. Most of the time, I don’t even need to sell the solution since that pattern I found saved me so much time and effort that everyone is happy. If a technology is too complex for me to work with, then I find someone who knows it, and I usually get the solution that way too.

If I were just to accept the limits of my knowledge, it would have dire consequences on my work. I’d be working with an existing codebase that I would be too scared to touch coming from a developer I respect too much to contact for a client I’m too afraid to bother with so much as a status e-mail.

I’m in a very good place right now because of those ideas, and in 2014 I want to take them even further. It might be cheesey to make resolutions at this time of year, but I find when I set goals now, a few of them start coming true. We’ll start off with the career and personal development goals and follow up with all the leisure goals, i.e. the books, games, and movies I plan to get through this year, because I have to get through that backlog somehow. When I make progress on any of them, I’ll be sure to post an update. Here goes!

Goals for 2014

Primary

Save up for a House
Learn TDD for Angular JS
Build a Raspberry Pi
Build my own Contact Manager
Build at least one video game in any language
Revisit Raingeek.com
Rebuild my consulting business
Meet my MP or MLA
Learn to Sew

Leisure Goals

Books (Fiction)
Wizard and Glass by Stephen King
Fulgrim by Graham McNeill
The Adventures of Sherlock Holmes by Arthur Conan Doyle
Slayers vol. 1 by Hajime Kanzaka

Books (Non-fiction)
Antifragile by Nicholas Taleb
Lean Startup by Eric Ries
The Upside of Irrationality by Dan Ariely
Creating Magic By Lee Cockerill
The Happiest Toddler on the Block by Harvey Karp
Nurture Shock by by Po Bronson and Ashley Merryman

Books (Computer)
Hacking: The Art of Exploitation
Raspberry Pi User Guide
Programming Interviews Exposed
AngularJS Directives
Storytelling for User Experience

Games
Super Mario Galaxy 2
Halo 4
Wolf Among Us
StrongBad’s Cool Game for Attractive People
Rogue Legacy
Super Robot Wars J
Ookami
Persona 3

Movies
Pacific Rim
Elysium
The Hunger Games: Mockingjay part 1
X-men Days of Future Past

TV Series
Doctor Who
Marvel: Agents of SHIELD
Battlestar Galactica (2003)
Go-Lion
Madoka Majica
Yamato 2199
Mobile Suit Gundam (1979)

Daily Scrum 2013-10-08 The End?

For the past week or so, I’ve been employed by a small IT consultancy in Abbotsford. With that, I consider the Gameplaydate project to be a success. It succeeded in its primary function which was to get me a new job programming in rails. I must say it’s knocked it out of the park in that aspect. I’ve got a 10-minute commute, my own office and all the k-cups I could drink.

Now you might be thinking that this is the last scrumcast from myself, and that may be true. I don’t really have to show up here to prove that I’m programming rails anymore. However, that doesn’t mean that I’m leaving gameplaydate behind. Projects like these are a great form of unemployment insurance, and the problem still remains: I still can’t play online games with people I know whenever I want. I still want to go to full indie this month and I still want to create a presentation about Gameplaydate. A new video update every now and again might just complete this one-man media empire of James Strocel. I’ll only have an hour to work with each night, but if anything you read on Hackernews is true, then that’s all I will need.