Wk8 Makers Academy : nutritious and delicious
In this post:
- Want to play? Cool stuff my cohort has built
- How we built this — Peek into my technical toolkit with a list of technologies used so far and where to find out more
- Lessons learnt
- Interesting stuff as a newbie — podcast, geek rave, hackathon
It’s been a heck of a ride.
If I thought I’d learned a lot after one week on site at Makers, a quick peek in my technical toolkit shows just how much has been added. The daily (mental) sweating, battering, baking and sometimes flipping has been to layer our experience with technologies to one big messy, delicious, stack.
The most exciting thing for me is, we’re beginning to build stuff — web apps — that family, friends and the internet can interact with (if they were so inclined).
1. WANT TO PLAY?
The weekend challenges are billed as a chance for us to consolidate our knowledge individually after a week of pair programming. Coincidentally, throw in some creativity, a touch of competition and a healthy dose of humour, this cohort has cooked up some impressive projects.
Play now: https://the-rps.herokuapp.com/
So simple, so addictive, so beautiful. Better than tossing a coin to resolve stalemates (who carries cash around nowadays anyway?).
May the best hand win.
Kitter by Elaine Osbourn
Inspired by a site which rhymes with kitter and begins with T… a social network for cats!
Because they don’t own enough of the internet…
Knitter by Naz Malik
For sharing knitting tips.
2. TECHNICAL TOOLKIT
How did we make this happen? Technologies wise, not quite a full stack, but pretty chunky and packed with a lot of potential.
DEPLOY — making it real
- Heroku: cloud platform for hosting, building and managing web apps (translation: so that the world can interact with our creation/code through a url).
- Sinatra: Ruby-based framework and library for building web apps (translation: a template for structuring code / files so that a platform can translate it to a browser).
- Rack: a Ruby Webserver Interface (translation: so that developers can quickly see what they’re making on a browser).
- Twilio: cloud communications platform for building / adding messaging, voice and video functionality to web and mobile apps.
- Rspec: domain specific language written in Ruby to test Ruby code.
- Capybara: automated web-based software for feature testing web apps (translation: test web apps by simulating scenarios for user stories, without a human tester. Based on behaviour-driven software development ).
- Selenium: software-testing framework for web apps (translation: combined with Capybara, acts as a translator between the software and test language)
- Coveralls: shows how much of the code are covered by tests. Based on test-driven software development.
VIEW — how it looks
- HTML (Hypertext Markup Language): for creating web pages and web apps.
- Ruby: object-orientated language
- PostgresSQL: Object-relational database management system (ORDBMS) (translation: database for storing data)
- bcrpyt: password hashing function (translate: a way to encrypt passwords so that it can be safely stored)
- Datamapper: an object relational mapper (translation: a way to link a programme / language with a database so that they can interact)
3. LESSONS LEARNT
Make it work THEN make it pretty.
For me, this lesson / principle is about focus. Being a visual person, whilst it is deeply satisfying to make something pretty, it is more important as a developer to make something work (first). In fact, make it work in the most minimal way possible and then build on it.
Which is why right now, my app is “retro” styled i.e. no styling whatsoever. The very fibres of my being cringe at the Times New Roman, however, enormously pleased with the skinny controllers and clean code after refactoring. I will share the shiny thing at some point. Watch this space.
Coding is easy. Setting up the environment is the hard part.
You’ll notice that the only languages mentioned in the toolkit are Ruby and HTML. The rest are either ruby-based libraries or frameworks, platforms and software, all of which were used in the development of the Kitter / Knitter apps.
I must admit, the Makers walkthroughs have been instrumental in my embrace of these new technologies (not all software documentation are made equal, or indeed, comprehensible). However, wading through set-up docs do get easier with practice, patience, play time and a generous helping of curiosity / motivation. Saying that, Twilio was pretty easy and pretty cool. Highly recommend trying and playing with it.
4. INTERESTING STUFF AS A NEWBIE
A podcast channel recommended to us by our coach.
Sparked from using bcypt to deal with passwords in our apps, this episode on managing payments and things to look out for when using payment systems was interesting and accessible. Bonus he was talking from a Ruby developer perspective. Love that I can understand what he means.
Algorithm and Rave….For the lovers of code and electro music — now there’s a way to enjoy both at the same time!
Live coders write computer programs live, while the programs generate their music with cool visuals.
Prompted by a fellow Makers (thanks Stephanie Crampin), I’ve just signed up for angelhack London in June!
As I’ll be graduating at the beginning of June, here’s to putting my skillz to use right away.