NaPerProMo

GPL for Portfolio Pieces

On my Atalasoft blog I wrote that I thought programming job applications should become more portfolio oriented, and

that means working code that I can run, and access to all of it. Probably the best thing is a running website and a github repository. If the software is hard to run, then a video walkthrough or screenshots are acceptable substitutes.

To learn more about what I want this to be like, I am starting to prepare a portfolio for myself.

One issue is that it's important to decide what license to apply to it. If you don't decide, then the default license is
all rights are reserved, and the code isn't very usable by anyone else. Since this code is meant just to show others what I've written, I guess it could be ok, but I actually don't mind others using the code.

Another issue is that I intend to post code for projects that will be for sale (iPhone apps). If I put a permissive license, like BSD or MIT on it, then I run the risk of anyone being able to compete with me with my code and my permission.  But, not open sourcing real code would be against the whole point of making a portfolio. Fake code doesn’t represent programmers well.

I think Zed Shaw has the right idea about using GPL, not so much the why, but in what ways GPL helps authors.

Using GPL, I get these benefits

  1. Use of the code requires attribution
  2. You can't put GPL code in the App Store
  3. I can still grant BSD licenses on a case by case basis, and perhaps only on portions. To do so requires the developer to get in touch with me
  4. Likewise, I can still choose to sell or give away commercial licenses, if I am contacted.

To me, github and the entire idea of a portfolio is to make code more social. GPL helps maximize that.
Comments

Take a Picture of What You Eat

I recently discovered Time Management Ninja, and love the tips on it. A post from last month was about how taking photos can improve productivity:

Photos capture information that you cannot get via written notes. Taking pictures of an object or a document can provide more insight that simple notes.

The important thing is the ease of capture. Taking a photo is so easy that you’ll actually do it.

I just started keeping a fairly detailed food journal on paper. I have tried to do this on phones before, but they are just way too slow -- even though the apps have access to tons of nutritional data, I really didn’t care about that -- I just want to know a few things, like what it was, how much I had, and basically how healthy was it. A picture pretty much gives me the first two instantly, then I want to just tap a rating.

And, it’s effective. In 4-Hour Body, Tim Ferriss [1] cites a study that looked at photo food diaries:

Dr. Lydia Zepeda and David Deal of the University of Wisconsin–Madison enlisted 43 subjects to photograph all of their meals or snacks prior to eating. Unlike food diaries, which require time-consuming entries often written long after eating, the photographs acted as an instantaneous intervention and forced people to consider their choices before the damage was done. In the words of one participant: “I was less likely to have a jumbo bag of M&Ms. It curbed my choices. It didn’t alter them completely, but who wants to take a photo of a jumbo bag of M&Ms?”

The researchers concluded that photographs are more effective than written food diaries. This is saying something, as prior studies had confirmed that subjects who use food diaries lose three times as much weight as those who don’t.

I’ve been working on a way to do this (mostly to scratch my own itch), and will have more to say on that soon.

[1] Ferriss, Timothy (2010-12-14). The 4-Hour Body (p. 60). Crown Archetype. Kindle Edition.
Comments

Job seeking advice from a 16 year old

A couple of weeks ago I called my “little brother” Josh for his birthday (we’re in BB/BS). “Guess what I got,” he said, “a job at Big-Y”

His sixteenth birthday was the first day that he was eligible to work, so it’s pretty amazing that he (1) got his working papers already and then (2) actually got a job. It’s tough out there for young job seekers (not to mention everyone else), so Josh must have been lucky or connected.

Not exactly.

Josh has been really determined to get a job. So much so, that he went to Big-Y a few months ago and filled out an application even though he wasn’t qualified yet. He has an awesome resume, so the manager told him to come back when he turned sixteen.

“What?” you must be thinking, “How does he have an awesome resume? I thought you said that he couldn’t work”

Sure, he couldn’t work, but he could volunteer. Josh has been volunteering hundreds of hours a year since he was 11. He has served food at the community center, worked parades as a junior Lion cub, helped out at the local Food Pantry, was a member of his high school’s Key Club, and we have done a few BB/BS volunteer activities together -- last month we helped artisans move in their wares for the BB/BS Annual Winter Craft Fair.

I asked him why he volunteers so much, and he said that he had a blast, met great people, and wanted to get used to working several hours a week for when he was able to get a job.

If you know any teenagers who aren’t old enough to work, but will want to when they can, you might want to share Josh’s advice. I told him he should teach a class.
Comments

Can a content site be better with Ads?

I noticed that Horace Dediu, the founder and main author of asymco, recently started adding sponsored content to his site. Typically, his articles are data-backed analysis of the mobile market. To get a quick idea if you don’t know it, see this recent entry titled Revolutionary User Interfaces. In it, Horace uses data visualizations to show how Apple disrupted the phone market with multi-touch.

It happened despite having a clear, front row view of the transition of the industry from mobile voice to mobile computing. The shift in the basis of competition from “connecting people” to “connecting people to data” ended up being a classic disruptive trap. Many will argue that it was the failing of individual managers. Perhaps, but how did they conspire to fail simultaneously?

When you see disruption happening, it’s natural to seek out a cause, a pivotal magical “force” or event that enabled the weak to humble the strong–the proverbial sling that enabled David to defeat Goliath.

The article is worth reading, but what I wanted to point out was how his sponsored content is as interesting as a typical article. This one for Textastic reads almost as a follow-up.

With the new touch-based devices of today, we are seeing similar migrations of utilization to new jobs to be done. The simpler creative tasks migrate first and the advanced (or emergent) uses follow. Like with the microcomputer, the first common creative task for tablets happens to be text-based editing.

I have been giving a lot of thought to this kind of advertising, where it is as useful as the content to the reader. This is more than just relevance and unobtrusiveness, as I think advertising from The Deck accomplishes on sites like Daring Fireball. Instead, it turns advertising into something that I would read eagerly and perhaps miss if it were gone.
Comments

2012 Personal Goals

I was inspired by Heidi Grant Halvorson in the Harvard Business Review blog today to work on my 2012 goals:

Get specific. When you set yourself a goal, try to be as specific as possible. "Lose 5 pounds" is a better goal than "lose some weight," because it gives you a clear idea of what success looks like. Knowing exactly what you want to achieve keeps you motivated until you get there. Also, think about the specific actions that need to be taken to reach your goal. Just promising you'll "eat less" or "sleep more" is too vague — be clear and precise. "I'll be in bed by 10pm on weeknights" leaves no room for doubt about what you need to do, and whether or not you've actually done it.

This is similar to the SMART philosophy of goal making (good goals are Specific, Measurable, Attainable, Realistic, and Timely), which I try to follow.

Another influence on goal setting for me is Covey’s
Seven Habits. The last one, Sharpen the Saw, suggests we work to increase our Mental, Physical, Emotional/Social, and Spiritual/Renewal capacity.

To that end, I developed these personal goals for 2012:

Mental
  • Publish 75 blog posts
  • Work 3 hours per week on personal coding projects
  • Publish 3 apps

Physical: work out 5 days/week, and
  • Be able to do 10 dead hang pull-ups
  • Be able to do 10 ring dips
  • Be able to bench press 155 pounds
  • Rx 30 workouts at CrossFit
  • Eat paleo food on 275 days

Social/Emotional
  • Do 100 hours of community service
  • Eat meals with 25 different groups of people

Spiritual/Renewal
  • On last weekend of each month, spend at least two hours alone somewhere outside and unpopulated. Look over goals and plan the next month.
Comments

Gift a story for Christmas

I have a friend that is very hard to shop for. One day, for his birthday, I tried to make a list of everything he likes. After an hour, I had this:

He likes to tell stories

He’s one of the more prolific and interesting story tellers I know. So, from then on, it was a lot easier to think of ideas -- I just tried to find a way for us to spend a few hours doing something weird. Fencing lesson, new restaurant (with food he hasn’t tried), kayak to an eagle’s nest -- every one of these things has made it into his story repertoire (enhanced for the listener’s pleasure, of course).

Probably, there’s a story-teller in your life to help with a new experience. Really, though, couldn’t we all use that?
Comments

SOPA Solution: Block Congress

A few weeks ago, I tweeted:

tweet-sopa

Today, I was wondering how easy that would be, and spent about 10 seconds in google to find that Congressional staffer IPs have been outed by Wikipedia for editing their boss’s pages:

Wikinews contributors have discovered that members of the United States Congress or members of their staff have recently been making questionable edits to Wikipedia.

[…] In one instance, Wikinews found that someone with one of the IP addresses, 143.231.249.141, began to edit the Wikipedia article for Steve Austria, the Republican representative for Ohio's 7th congressional district.

[…] Another individual, with the IP address 75.187.63.132, also removed the allegations of plagiarism from Austria's article in February. The individual removed what they called "Politically Motivated BS" from the article of Deborah Pryce.

To confirm, I put the first IP in an IP Locator tool and got this:

congress-ip

From here you can figure out an IP range to target, and then it’s trivial to serve them different content (perhaps giving them a taste of what SOPA IP blocking would be like). I leave that as an exercise to the reader.

To be effective it needs to be done by sites that Congressional staffers actually depend on or on enough smaller sites to get media attention.
Comments

What is the Jobs to Be Done Framework

I recently have become interested in the Jobs-to-be-done framework outlined in The Innovator’s Solution by Clayton Christensen. To start to apply it at Atalasoft, I wrote this blog about how an SDK’s job might be understood and described the framework this way:

Briefly, you look at a product as the job it was hired to do, rather than its category, features, benefits, who bought it, etc. Christensen makes the argument that jobs are enduring over time (as products and customer segments change).

and concluded:

Applying this insight gives SDK makers a way to target features, not at just the job the SDK does for their developer customer, and not just at what their application does, but also at the job that the end-user is trying to do.

Today, I was sent a quora link where the JTBD framework is being discussed. I’m looking for JTBD tactics, so I loved this part from Chris Spiek:

If we were doing jobs research around the Starbucks offering, it would start with something like: "tell me about the moment when you first considered going to Starbucks. Where were you? What were you doing? Who were you with? What time of day was it?" The interview would move through the decision making process (what else did they consider?), the consuming process (being at Starbucks), and the end with "looking back" and understanding their concept of value (what it did for them) upon reflection.

By conducting a number of these interviews, you can begin to see "jobs" emerge.

To see an example of jobs being discovered and filled with Social Media sites, read Whitney Johnson’s What Job Does Social Media Do?

If you hire social media, especially to promote your business, you will likely have your own reasons, but ask yourself the question, "What problem am I trying to solve?" This will likely get you to the functional element. To peer into your emotional and social why, also ask "what progress am I trying to make?”

These are all great starting points to getting to know JTBD -- I will be posting much more on this to help myself learn more about it.
Comments

Sunday is Pushday

I believe that making a commitment public helps you stick to it. So, because I want to make more of my private code public on github, I am treating each Sunday as “Pushday”.

On every Sunday, I am going to push something, no matter how small, into github. If I have nothing useful, I will write something new. My only restriction, is that the push must be useful (a bug fix, new feature, a minimal project).

Today, I am taking one of the JavaScript files from my pet project
ASCIIMatic, and making it available under BSD. ASCIIMatic takes simple descriptions of diagrams, translates them into dot, runs it through the dot interpreter to get a set of drawing instructions, and then draws the result in ASCII art. The vision is to make it easy to include UML diagrams in your source code comments, but it has a long way to go to do UML. Right now, it can do a some simple box and arrow diagramming.

Today, I pushed ascii-drawing.js, which implements a simple ASCII drawing surface with draw line, rect, and text commands.

It is available under the
asciimatic-scripts project on github.
Comments

Planning out a Blog

As I mentioned last week, I am participating in National Personal Project Month (NaPerProMo) along with Plan B Nation and others.

My plan is to write every day, but publish on a once or twice a week schedule. This will help me build up a backlog of posts, so I have something to post even if I don’t have time to write. I also post about once per week on my
work blog at Atalasoft, and I’ll probably use those posts as jumping off points.

To help me get started, I spent the last two weeks planning out what I want this blog to be about. In the past, I have had a hard time coming up with anything to write about. I had focused on programming (specifically iPhone programming), but I do most of my writing about that in StackOverflow answers, and my posts were just elaborations on common questions.

I came up with this plan:
  1. Pick five categories that I can write about.
  2. Brainstorm 10-20 topics in each category. If I can’t think of that many, throw out or alter the category.
  3. For categories that don’t pan out, try to find a spin on the topics I generated for it, so that they fit in one of the better categories.
  4. Pick a week’s worth of topics and put them in a queue.
  5. Each day write the next one, and put another in the bottom of the queue.

The topics that I ended up with are:
  • Software Business: This is obvious, since this is what I spend the bulk of every day thinking about
  • Programming: I have been programming for a long time, I have some personal projects that I want to open-source, and it also naturally fits into what I know and think about. I intend to get away from the more technical posts that I typically write, and focus on high-level ideas and follow my projects’ progress.
  • Programmer’s Job Market: Ever since I became a member of my local Regional Employment Board, I’ve been thinking more about the labor market and how it’s changing for programmers.
  • Reviews (books, apps, etc): I read a lot about marketing, business, and other non-fiction topics. I don’t read nearly enough for book reviews to be a category, so I expanded it to apps and other things that I use.
  • Riffs: Tweets, Hacker News, other blogs, my own past blogs -- these are all fertile ground for topic ideas. It gives me an opportunity to link to others, and make this blog part of a larger conversation.

Some categories didn’t work out. For example, I am a CrossFitter, and recently joined
my gym’s Paleo club. I feel like I have interesting things to say about that, but they are neither my expertise, nor are they similar to other topics I will blog about. I will still be able to fit it in somewhat, because one of my programming projects is related to this.

I recently switched over to
Trello for managing personal information, here’s what my plan looks like in it:

blogs-trello

The first column is the queue of upcoming posts, and the next five are the five categories I identified with a list of topics. I color-coded each category, so that the queue would show that I was mixing between the categories. The final column is a list of finished posts.

I am obscuring the topics because I don’t want to commit to these just yet, and since I generated more than 50 ideas, I know that some of them will never be done. I saved a full snapshot to possibly discuss later.

I also decided to turn on comments as an experiment. I’ve been using
Disqus elsewhere on this site, and the latest RapidWeaver supports it for blogs, so I turned it on for now.
Comments

December is Plan B Nation NaPerProMo

A few years ago, to get myself ready for Rich Hickey’s Northampton Clojure talk, I decided to do an intense 20 Days of Clojure series, where I learned one new thing and blogged about it each day in March 2008, leading up to the talk. It was a great experience and probably the most popular content on my site.

Today, Amy Gutman, on her new Plan B Nation blog, is suggesting working every day in December on moving a personal project forward, or NaPerProMo (National Personal Project Month -- a take on National Novel Writing Month).

I’m in.

My personal project will be to write 31 entries in this blog, although, like Amy, I will probably only publish a couple per week and save up the others.

In a comment on her blog, I offered participants a free copy of
Habits, my iPhone app for forming habits, to all participants (until I run out of promo codes). If you want a copy, make some kind of public commitment to NaPerProMo (tweet, blog, comment on Amy’s site), and then let me know about it by using my contact page.
Comments
Powered by Olark