The first thing you should know about me is that I don't like unstated assumptions.
The world is a complicated place, and our small minds can barely hope to fully grasp it. So, I'll pretend that I'm a good writer and you can pretend you're interested in reading about what sounds like a confused dating profile.
It's not a dating profile.
I like long walks on the gravely beaches of Alberta, pina colada flavored bubble tea, and getting caught in a try/catch exception. My pastimes include coding, making impeccable websites, making peckable websites (*insert chicken peck*), and guitar. If you'd like a website like this one, and would like to pay me for it, head over to the freelance (*link*) section. If you'd like to hear more options, please press 2. (*insert dial popup*)
In all seriousness, I wrote this website to help market myself as I move to freelancing and just really to show others what a website can be and what kinds of things that websites nowadays are capable of. Of course I don't claim to have the fanciest website around, but it loads quick, it's quirky (if I do say so), and it represents who I am. Coincidentally, that's also what kinds of things I'd like to work on for freelancing.
One day, my mother was determined to make an iPhone app. She tells me of the multitude of math-based games she made as a math prof, and I of course roll my eyes being the good son that I am. Long story short: she convinces me, I procrastinate, she convinces me again, I write an iPhone app. Available here.
I wasnt quite sure how I wanted to package this math game, but I was sure about how not to package it.
First and foremost, if you’re developping for iOS, you need both an iOS device and an OS X environment on an actual OS X machine (No Hackintoshes, VMs). Heres a thread about it.
After trying several less than legal methods, I finally went out and bought an aluminum brick. Otherwise know as
a Mac Mini. Another thing needed to code in iOS is
If you find yourself not knowing diddly-squat about iOS, Objective-C, and MVC (Most Vicious Concept?) then take a look at these links:
- Mobile Orchard: Part I, Part II, Part III, Part IV, Part V, Part VI to name a few.
- Ray Wenderlich: Crash Course, Storyboards Part I, Storyboard Part II, Setup Part I, Setup Part II.
- iOS Workshop (Video): Part I, Part II, Part III, Part IV.
Speaking of that code I just posted, that’s the header file for my game window. 4score has 3 game modes so far (Classic,
Single Line, Double Line). Classic Mode simply uses the
My full code for
- Grid buttons were in an array and could all call
openMenu, onReset, and onHitin an event based manner. This was all set programmatically.
- Rolls were stored in a C array instead of in the UIButtons.
Dictionarieswere used to store permanent data (Achievements, Game Skin).
- UIImageViews were laid on top of UIButtons to give the impression of a dice appearing in the button when pressed. These were actually regular UIViews cast as UIImageViews.
- Segues were used for switching ViewControllers (to goto Menu, Stats, etc).
One problem I did have for awhile before learning about delegates was how to control another view directly. The pre-delegate solution was to do something like this:
Which manhandled the navigation controller itself. Now, with delegates, we get this:
END OF POST
Evidently, I wasn’t very good at following through with my blog posts but I’ve brought this old article to my new site for nostalgia / personal history. I don’t think I’ll be updating this one as Objective-C isn’t in vogue anymore
things I made
In no order (TODO: add images, reformat as grid)
- Arduino Guitar Pedal
- 4Score Iphone game
- Soundcloud scraper
- Raspberry Pi Wireless Sampler
- Home-made touch screen
- Software modular audio synthesiser
- Experiments in natural language processing and machine learning
- LED control circuits withh arduino
- Arduino spatula bot controlled by twitch
- Github commit viewer
- Auditory github commit viewer
- App for geotagging landmarks and commenting (anonument)
- Redid computer engineering wordpress site
- This website
- Experiments in DSP for face/eye tracking
- Homemade unofficial calendar for the 2015 Edmonton Fringe
- GPS path viewer
- Scrolling RPG platformer for GameJam
- Experiments in genetic programming
- Experiments in GPU programming (CUDA/WebGL)
- Encoding images from phone onto reel to reel tapedeck
- Program to take screenshots of Ionic phone apps
- Tool to see how frequently JS code is run (js-hist)
- Multi-user poetry app with unique suggestion UI
- Online signal for when to go to the bar in school
- Unfinished procedurally generated space RPG
- Discover Alberta app
- Enroute Taxi Advertising System
- Forestry radio tower registry
- Timesheet management system
- Home appliance maintenance app
- U of A Rutherford house tour app
- Social restaurant marketing app (MyTab)