Tuesday, January 11, 2011

Skill Testing, Blender, and Google


Let's just get straight into what's been happening over the past week or so.

Blender Pyramid Script Upgrade
The step pyramid from my github is now upgraded to work with Blender 2.56. The big challenge was adjusting to changes to a new and better way of organizing vertices passed in via Python data. Hopefully, these API improvements will stabilize to make script development easier for me down the road.

Staffing Agency Interview
Last week's job interview with a staffing firm proved interesting. For one, the interviewer is an active Twitter user. For another, it was followed by computer-based testing on J2EE. 

The test results were odd. Despite my Java database background, my JDBC score was 0%.  On the other hand, lack of Struts experience didn't prevent me from scoring 100% in that area.

The big takeaway is my J2EE skills are rusty. Dropping PHP in favor of JSP might impact hosting and CMS options. As for my projects, little would really need to change.

Google App Engine
A tutorial on the Google App Engine introduced me to new tricks for web application development. It's pretty sweet. Java code can be compiled to Javascript. There are hosting options on Google. The near automated log on mechanism is nice. It also turns out that Khan Academy likes to use it.

Khan Academy Badge Chasing
Speaking of which, the Khan Academy star count is 74 at the time of this blog entry. 80 stars gets me the Magellan sun badge. More brush up on trig, calculus, and word problems should take me over the top.

Why do this? First off, in computer graphics programming, math skills matter. But the big bet is that earning that badge will land a job like no vendor certification can. It seems just crazy enough to work.

Plans for the Week
The rest of this week will be a final push for the Magellan badge. Plenty of job hunting to do as well. There will also be some neat experiments in Python and Java too. Never a dull moment.

Thursday, December 30, 2010

2010 in Hindsight - Teaching vs. Doing


This blog entry is an end-of-year postmortem about my web development efforts in 2010. 

My two web site projects from this past year had different learning approaches behind them. “Blender Python Tutorials” was done using a learn-and-then-teach approach. “Uncle Squirrely” was a learn-by-doing project. While neither approach was bad, I got more out of building something than I did by writing “teaching” scripts.

Lessons from Uncle Squirrely
“Uncle Squirrely” was an online video game store. I built it with a mix of Python, PHP, MySQL, CSS, JQuery, and web services. Work involved migrating platforms, copying databases, setting up light boxes, running database update scripts, and setting up streaming video.

I learned a lot and gained experience working on that project. Despite that, it failed. It made no money and got few visitors.

Lessons from Blender Python Tutorials
“Blender Python Tutorials” shares free tutorials for building 3D animation tools. I learned enough to write teachable examples in Python. After that, I wrote drafts and pieced together bits of HTML, code snippets, and images. Then I would publish and I would be off to figuring out stuff for the next tutorial.

Technically, I learned very little. But I did gain an audience. At over a thousand visitors per month, Blender Python Tutorials nearly tripled in visitors compared to last year. As for financial success, it made 23 dollars.

Lesson About Teaching and Success
I've worked under the assumption that I could teach my way into building things and being successful. This is backwards thinking. My Blender work should have focused on building stuff and spending more time building relationships within the Blender community.  I didn't do enough of that. Yes, I used Google Analytics to tune in on user wants and needs.  However, traffic statistics are no substitute to getting out there and connecting with other Blenderheads.

Interestingly enough, I learned this lesson by looking outside the Blender community by considering the examples of Salman Khan and Zed Shaw. As personalities go, they couldn't be more different. However, they both put out free learning materials online. They also both did this AFTER they had established themselves in their respective careers. Khan was already making a good living in the financial sector when he started Khan Academy. Shaw had a reputation as blogger and software developer long before he wrote “Learn Python the Hard Way”. The hard reality of it is that an unknown and unemployed person simply isn't going to have the same impact.

Conclusion
Sharing knowledge generally does not lead to success. However, success can put one in a better position to share knowledge. But in order to have the best shot at success, I need to make something people want.This is my commitment for 2011.

Tuesday, December 21, 2010

Gui Tutorial, Market Analysis, and Experimentation

 
Okay, here's what's been happening over the past week or so.

Tutorial Updates
The week went well. Blender Python Tutorials got a new tutorial on panels and operators and how they can be used to "destory" a city.  A new property sampler script is complete which means I can start a tutorial on that.  Open GL research has also progresses nicely but, chances are, there won't be any new site material on that this week.

“Blender 2.49 Scripting" arrived in the mail recently.  This book is handy for a couple of reasons.  First, it's Blender 2.49 scripts inspire Blender 2.5 tutorials.  Second, it's a good resource for translating 2.49 scripts to run on 2.5.

Market Analysis
Market research for my work comes down to two resources, Google Analytics and the Blender Artists forums.  Spending time with these helps to know and connect with users.  Knowing user needs helps in serving them.  That's a good thing.  Making money matters too of course.  However, putting profit ahead of user needs is putting the cart before the horse.

Google Analytic bounce rates and search engine statistics show where the site falls short and what kind of tutorials to prioritize.  Right now, the stats say Blender 2.5 tutorials and Open GL need attention.  So that's where the work goes.  Besides that, stats are fun in a weird way.  There's something game-like about watching numbers go up and down as a result of what I do or not do.

Direct community involvement is a big deal and the Blender Artists forum is good for that.  It has a scripting forum containing useful stuff from smart people.  Lurking, asking questions, and answering questions creates value for all parties involved.

Experiment Plans
Content management systems deserves serious consideration.  Experiments with Joomla show great promise.  Joomla comes with tools that make it easier to potentially update and add new tutorials.  Once, the learning curve is climbed, it'll probably make design changes easier too.  That learning curve is the big factor here and climbing it must be balanced with other site priorities.

Uncle Squirrely is now a low priority experimental project due to it's lack of traffic.  This isn't a bad thing since it's still a handy target for technology research.  At the very least, it deserves a better light box.

All in all, it's been a good week and the next coming one should prove just as interesting.

Saturday, December 11, 2010

Deadlines as a Motivator: An Experiment

Sahil Lavingia makes apps for the web and iphone. Adam Savage is a Mythbuster who does a lot of creative projects. What these two men have in common is that they both thrive on deadlines. This is interesting. So, I set prioritized goals with a Saturday deadline and went to town. Here's the results.

The good news is Blender Python Tutorials gained a Blender 2.5 version of the triangle tutorial. The bad news is no Open GL tutorial headway got made and there was insufficient progress on a tutorial on the new panel and operator systems. This is a problem because users come to the site looking for info on Blender 2.5 scripting in general and the site only has two tutorials for that. Furthermore, quite a few users look specifically for Open GL information and find nothing outside of one tutorial for Blender 2.49.

There is a bounce rate problem that's partly the result of bad layout. To deal with that, the site now has a page dedicated to external references for things such as Python libraries. There's also a dedicated books section that offers up relevant books for Blender Python scripting for games and tools development. These improvements should make users happier and give them a little more to explore.

The redesign also had income generation in mind. Hand selected books were removed from the end of the tutorials and replaced with donation buttons. Amazon ads were added to the right side where there once was blank white space. 

There are a couple of advantages to this new setup. First, ads reach more eyeballs compared to where they were before. Secondly, having ads instead of gaping white space balances out the layout and makes the pages more aesthetically pleasing.

So, in conclusion, the experiment was a success. Even though the failures stung a bit, deadlines are a good motivator and I plan on using them during the coming week.

Wednesday, November 24, 2010

Uncle Squirrely, Blender, and Business Strategy

I run two web sites through Google Analytics. One is Uncle Squirrely. The other is Blender Python Tutorials, a site focused on 3D animation scripting. The differences fascinate me. Uncle Squirrely pulls 2 to 5 visitors per day on average. The Blender site pulls between 35 to 55 on any given day.

Here's why this is surprising. First, the Blender site hasn't been maintained in months. The interface is relatively low tech. The target market is very niche. Uncle Squirrely has been under heavy development and has a more modern infrastructure from back end to front end. Also, it caters to gamers.

On the other hand, competition matters. Gamestop, Walmart, and BestBuy have a huge presence in gaming retail both online and off. A Google search on “cheap video games” pulls up a lot of competing game sites many of which are very good. Uncle Squirrely is new and comparatively underdeveloped in comparison. In light of that, not pulling high in search engines isn't unusual.

Blender Python Tutorials doesn't have that problem. Few sites specialize in Python for Blender. Only one recent book dedicated to the topic exists to my knowledge. Consequentially, my tutorial site shows up near the top of Google search results for “blender python” and "blender scripting". Smaller niche means less competition.

As audience reach goes, priority on the Blender site makes sense. However, the business model has to be different. Uncle Squirrely is a game store. Blender Python Tutorials is a resource for writing 3D animation tools. It's not practical to try selling tutorials the way Nintendo sells Wii games.

Even with it's relatively tiny audience, abandoning Uncle Squirrely would be premature. The site's only been up a month and it does get a lot of Amazon clicks if not actual sales. The sensible thing to do is to keep working on it through the Christmas season. Even if it fails, it's still a good tech demo for prospective employers.

That means there are two sites to maintain from now to the end of the year. The Blender site needs new tutorials and a site redesign. Uncle Squirrely also needs maintenance. There's no shortage of things to do.

Monday, November 1, 2010

About Uncle Squirrely



Uncle Squirrely is live now and it's high time for an official explanation for the site.

Uncle Squirrely fills a need I have.  I like my video games cheap.  I also like them to be fairly recent.  I built Uncle Squirrely for that reason.  It makes it easy to find games that have come down in price but are still recent.  In effect, it's a second run movie theater for games.

One of the defining features of the site is what it sells.  The rules for inclusion are simple.  The game has to be under fifty dollars if it's an X Box 360 or Playstation 3 title.  It has to be under forty if it's for the Wii. If it doesn't meet those criteria, you won't find it here.

Simplicity is another key feature.  Things like “Show Latest Price Drops” and “Show Cheapest” order the games exactly as advertised.  Browsing titles is as simple as browsing your local Gamestop.

Another defining feature of Uncle Squirrely is Chaos TV.  This link shows up with every title and pulls and plays a random game video from Youtube.  It might be informative or it might be irrelevant.  Heck, it might even Rick Roll you in some cases.  All in all, Chaos TV adds an element of fun and surprise to the game shopping experience.

But the most important feature is the fact that it really does work.  With the help of this site, I bought Bioshock 2 and Assassin's Creed 2 for just over sixty dollars.  The latter title I got new after finding out the price recently dropped to $29.99.  Even on days I'm not in the market for a new game, Chaos TV is always a fun distraction.

Now that the site is live, the main goal is to maintain it and make it even better.  It might lead to a profitable business or it might just be a showcase to a prospective employer to what I can do.  But, come what may, the journey has been absolutely worth it.

Wednesday, October 13, 2010

When Time Just Doesn't Permit


Let's be real. Committing hundred minute chunks of time to one thing is challenging. Some days, time just doesn't allow it. Other days, it takes a degree of resolve and will power that just isn't there.

It turns out that there is a better-than-nothing solution to deal with this called quarters, halfers, and tricorders.

Suppose there's only an hour to spare. If so, doing a halfer is a 50 minute chunk of time on work instead of 100. When really pinched for time, turn a quarter. Just commit to 25 minutes of work. Another alternative time slot would be a Tricorder. (tri-quarter) In that case, you dedicated 75 minutes to your work.

Regardless of whether you turn a quarter, halfer, tricorder, or the full hundred, be prepared. Write a todo list of things to tackle for that period, make sure to let people know not to interrupt, and setup a kitchen timer. That's pretty much it.

There are some side benefits to this compromise. For one, it opens up room for negotiation with other people in one's life as to how much time you need to yourself to work on something.

Another benefit is it let's you trick yourself. On low willpower days, set up to turn a quarter and plan to quit after. It often works out that during that time you've really gotten into your project and actually want to continue. In such cases, set the timer for another 25, 50, or however many more minutes, and go to town.

After all is said and done, congratulate yourself. Starting is often the hardest part of any project, even if it's something you enjoy.