!!con west

I had the pleasure of attending !!con west last weekend. I met a lot of incredible people and listened to talks that rekindled my joy in programming.

I took out my trusty Stabilo point 88 and started taking notes. The person sitting next to me complimented my choice of pen. I got very excited that someone recognized the pen and shared my interest in stationery. She then proceeded to show me her stationery collection from Japan (tiny scissors, a permanent marker, multicolor highlighter, and a twist top eraser). It was awesome! There is an indescribable joy in finding out that someone else shares your weird and quirky interests.

I got caught up with Thomas (author of Curtsies and a fellow lover of awesome CLIs). He gave me a demo of ObservableHQ which was very cool.

I met Aaron Wood who gave an engaging and entertaining talk about ancient Greek mathematics. I had a strange feeling that I knew him from somewhere else. Turns out he went to the University of Utah (my alma mater) and we both worked as math tutors in the same department nearly 13 years ago. What a small world.

There were a ton of interesting talks at the conference. Here's a synopsis of the ones I remember.

Wolf, Goat, and Cabbage In Two Styles!!

A brief showcase of two very different languages (!?) to solve the logic puzzle of transporting a Wolf, Goat, and Cabbage across a river.

The Ancient Greeks And Their Restless Cattle

A wonderfully hilarious talk about mathematics during the era of Archimedes and how it was solved with modern techniques before and after computers. Aaron did a great job of explaining the math behind Pell's equation and walked us through the history of various attempts at a solution and finally showed an implementation of the solution in Ruby. I would highly recommend this talk.

Plotty Bird - Making Modern Games on Retro Pen Plotters!

Pen plotters are old school printers that literally used a robotic hand to draw diagrams on paper. Wesley managed to purchase one of them and hacked it to enough to start printing delightful things. They then proceeded to implement flappy bird that could be played by the pen plotter. They had brought with them a real pen plotter for us to play with and it was quite a bit of fun. There was one statement that Wesley made during the talk that resonated with me. We used to do programming because it was fun and pointless. Now that I'm paid to write programs it doesn't seem fun anymore. We should go back to doing more programming for pointless fun.

Packages, but in 3D!

I had no idea that packaging for snacks is an art. There are books written about how to fold paper/cardboard to make a specific style of packaging. Tiffany wanted to try out some of the designs from these books. So she built an image to svg converter which then feeds the SVG to a packaging cutter (sort of like a laser cutter) to try out some of the packaging designs from the book. It is now a standalone program on the web.

All in all, I had a wonderful time at the conference and I can't wait for the next one. :)


Downloading Specific Filetypes using 'wget'

I decided to prepare myself for the Intro to AI, a free online course offered by Stanford. I found the course website: http://www.stanford.edu/class/cs221/schedule.html and wanted to download all the slides. 

It's time to pull all the ppt files from that page.

wget -r -A.ppt http://www.stanford.edu/class/cs221/notes/ 

This created a tree of empty directories with one of them that had all the ppt files. Time to clean up the empty folders:

find -depth -type d -empty -exec rmdir {} \;

Ta-da! Empty folders are gone. 

Remember if you are typing a command more than once in succession there is a way to automate it. 

How to Find Local Tech Jobs

Looking for tech jobs can be daunting. Networking is touted as the magic bullet for job seekers. But where do you start?

Here are some robust ways to build your network.

Users Group:

User groups are typically monthly meetings for geeks who get together to talk about their favorite programming language or operating system. Usually they are accompanied with a mailing list which is used to announce the meetings, ask questions and post job openings. So sign up to the mailing list and start attending the meetups. They are full of really nice people who are willing to help. 

  • Utah Python - Utah Python Users Group
  • URUG - Utah Ruby Users Group
  • SLLUG - Salt Lake Linux Users Group
    • SLLUG-JOBS - Mailing list to announce job postings
  • PLUG - Provo Linux Users Group

Local Conferences:

Most cities have some tech conferences that are a great source for networking. I found out about a lot of the user group by going to one of the following conference.

UTOSC - Utah Open Source Conference.

HackUTOS  - Utah Open Source Project Day - Geeks, snacks and open source.

LaunchUp - A local entreneurship clinic. A great way to learn about the local start-up scene. You can meet new CEOs and fresh companies looking to hire tech talent. A must for job-seekers.

I hope this helps someone.