meso·pixel    

Mid May

On Art

I am very much a visual learner, and art has always been an interest of mine. Whether it's drawing cartoon characters, messing around in 3ds Max (since 3.1!), creating designs in Photoshop or even building a business plan for art education software in CSC454, I've found art to be both fulfilling and challenging. And despite what people say about art using primarily the right brain, computer graphics (and even traditional art to an extent) actually require a great deal of understanding of math and physics (eg. understanding lighting and materials).

I recently began an evening drawing class at Foothills Collage, and it has opened my eyes to how a little instruction (and regular practice) can help you move beyond that learning plateau that most creative people experience.

charcoal drawing watering can
Charcoal drawing of a watering can

Here are a few of the things that I’ve learned since class started:

  • Charcoal is messy, but using it is a crash course in thinking about lights and darks (values) and the composition of your drawing.
  • Using vine charcoal is as close to having Undo as you are going to get in real life (you can literally wipe it off the page).
  • It’s easier (and looks much more natural) to imply an edge by contrasting light and dark than to actual draw a line.
  • Everyone tries to draw too much on too small an area of paper. It just takes that much longer to finish a drawing and prevents you from adding all the necessary details to make it look real.
  • Adding subtle differences in value can create a real sense of depth, especially in the shadows and near creases or edges.
  • Consistent illumination throughout your drawing can be done by anchoring values against the darkest darks and the lightest lights (which you put down first).
  • I really love toned paper. It forces you to think about negative shapes and building up light instead of just laying down the darks.
  • The guys at the local art store are a little stuck up, haha, but they generally mean well and are willing to help :)
  • Community colleges are actually pretty awesome, despite what people say. Classes are affordable and classes are cool mix of people.
  • Juliette Aristides has a great book called Lessons in Classical Drawing. It is really well written and is filled with beautiful drawings.

The class is still in progress, but I’ll try to keep uploading the drawings to the gallery as I go.

 

Mid April

Post-analysis: RegexOne

overview RegexOne is a site that I wrote around this time last year designed to be just a practical, but also interactive introduction to regular expressions. By working through progressively harder lessons and examples, you build up a cumulative understanding of various regex concepts that you can use day to day.

regexone
RegexOne

technology Using the design of Mesopixel as a base template, bootstrapping RegexOne was actually fairly easy.

  • The site runs on the same Micro EC2 instance that this blog runs on, the stack being composed of Nginx (Webserver), Kohana (3.2, MVC PHP Framework), and plain Javascript (JQuery, etc.) for all the client side logic.
  • Most of the lesson and example pages share an identical template which simplified original development and is fairly static (no communication with the server beyond initial serve of the page)
  • The core of the client logic is in handling the input in the text area of each lesson or example. When a user types an answer, we try and compose a closed regular expression that we run the lesson or example “text” on. We take the matching groups and highlight them (applying specific CSS classes) according to whether we actually wanted to match or skip that particular text. The most fun part was actually making sure that we had a closed regex that would be valid even if the user wasn’t completely finished their input (it’s fairly simplistic and only affects character sequences and grouping).
  • There is also a fun, but obvious, little easter-egg on each page. :)

issues There are numerous issues in RegexOne that I have yet to address.

  • There are clear design issues related to progression between lessons and examples. Namely that there is no real sense of accomplishment or achievement. Perhaps something as simple as a popup or an interstitial would help to reinforce the idea that you are making progress through a series of progressively harder tasks.
  • The menu design is clearly un-optimal and originally implemented as a compromise of simplicity.
  • Architecturally, the lesson structure works very well but gives a very static look to each page. It would be interesting to provide more elaborate lesson pages and to be able to reinforce specific points or to break down complex lessons.
  • The funneling of people from Lesson 1 all the way to Lesson N is also something that needs to be improved, but I think that’s a much bigger question than can be addressed in this point.
  • I also need to work on a logo because cross-browser webfont support kinda sucks right now!

miscellaneous Aside from development, I thought it would also be interesting to running a few non-technical experiments on the site. One question I had was whether it would be possible to make the site self-sustaining, which meant that it would require some sort of monetization (to cover Amazon AWS costs). This led to an investigation of Google Adsense, which netted a couple dollars the first month but fell with the visitor count over time. I also tried Amazon affiliates, but with such a minimalistic design, the ads looked so out of place that I ended up removing them purely out of artistic integrity (Ha! :). Currently, the site keeps chugging along ad-free, which is Ok as long as traffic remains as it is now. The largest number of visitors to the site came from the Reddit and Hacker News posts where the responses were surprisingly positive.

Overall, while there are a number of things that can still be improved, I think that developing the site was still greatly informative. As for the concept, I strongly believe that having an environment where you can probe the world using your understanding of fundamental laws and principles is an extremely important and useful way of teaching a subject. And by constraining the input and the world (regular expressions, and lesson text respectively in RegexOne), we can apply this to any number of concepts and ideas without being as prescriptive when teaching a concept.

Waterfall

Ah, the memories of MIDI

This is almost artistic, cruise ships from an ariel view

Auto-complete Bash history using arrow keys (probably the best Bash tip I know)

Pong

Remember and Big Shiny Tunes and Much Dance? Good times.

Worst office fear: Rolling over your own toes with your computer chair.

Don't say Disney won't go to great lengths to optimize their animatronics...

Like horse racing but for nerds and biologists, Genetic Cars.

Monterey 2013 (4)
Monterey 2013 (4)