Top ten Computer, app and tech classes in Toronto Computer, app and tech classes in Toronto will help you learn everything you need to rule the world wide web.

seen from Malaysia
seen from Canada
seen from United Kingdom

seen from Canada
seen from United Kingdom
seen from Canada

seen from Canada

seen from Canada

seen from India
seen from Russia
seen from Poland
seen from China
seen from United Kingdom
seen from United States
seen from United States
seen from China

seen from Singapore
seen from Canada
seen from United States
seen from Germany
Top ten Computer, app and tech classes in Toronto Computer, app and tech classes in Toronto will help you learn everything you need to rule the world wide web.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Week 4: Round-up
Wow. Ok. So Week 4 came and went, and though I did many things, blogging was not one of them. For the sake of brevity, here is a round-up of the week that was crazy, cool, and exhausting.
Deployed an app to Heroku. You can check it out here: photogur. Itâs a bare bones photo app, like â90s rip-off of imgur. All puppies.
Went to my first Meetup. From what Iâve been told, this industry runs on meetups. Ruby Lightning Talks hosted one at Bitmaker Labs, with talks on Rails 4.2.5â˛s cool new features (by Mina), a look at Processing.js and generative art (by Natalie), 500pxâs migration from Rails 3 to Rails 4 (by Kevin), and a few examples of productive Sass in Bootstrap (by Christina).
Sorry to all the coders out there for the pre-cleanup branching mess.
Started branching and havenât stopped. Before starting our first group project, Mina introduced us to branching in Git. If only all kinds of work had built-in version control, task isolation, and feature merging.
Installed the FactoryGirl gem and learned ping-pong testing. I must say, Iâm biased towards factories over fixtures, if only just because the gem is called FactoryGirl. We are all ladies! (And, yes, I understand that FactoryGirl has nothing to do with feminism.)
Made cinnamon streusel coffeecake for Thursdayâs coffee and code!
Nifty websockets diagram at the Rails Girls TO meetup
Learned more about ActionCable than I can understand at this point. And I went to my second meetup! Rails Girls TO hosted an event at Shopify, featuring a different MinaâMina Smart. She spoke about the ActionCable and websockets feature in Rails 5. See her presentation here.
Ventured into the world of Bootstrap, and ohmygoodness, you guys, it is amazing. Natalie helped me figure out how to install the Bootstrap Ruby gem, and stuff is already looking waaayyyyyyy better.
Mock-ups mocked up. Models modelled. Associations associated. Now we're (kinda) ready to plan our first group app.
Nothing lasts forever.
Mina, on the incorruptibility of bcrypt
Week Three: Days Four and Five
After a couple weeks building apps that were based on only one kind of object or model (e.g. only contacts for our CRM), we finally waded into databases and associations this week. Natalie, one of the other instructors at Bitmaker, introduced us to the Rails method for setting up different models (the tables in a database) and linking them together with associations (the relationships between the tables). See my notes on associations in the latest Today I Learned (TIL) post.
In other news, Frank and I finished the Escher puzzle!
It is finished. Hallelujah!
As we were nearing the end of the puzzle, we realised that there were definitely a few pieces missing. Frank, hero that he is, scoured the house for the missing pieces. He found two of the pieces in corners nowhere near the puzzle. Sock transfer, maybe?
On Friday, Mina, our lead instructor, introduced us to user authentication and sessions. User authentication is making sure a user is who they say they are. Sessions allow authenticated users to interact with your application, without re-authenticating themselves every time they do something new (like click on a different link). Can you imagine how annoying itâd be if you had to re-enter your username and password on Instagram every time you liked a photo, posted a comment, loaded a user profile? Sessions are saved as cookies (which youâve probably seen warnings for, or cleared out of your browser history).
User authentication is usually as simple as a username and a password. Sometimes it can even be just a username, if youâre not too concerned with a high level of user authenticity. For the most part, a certain level of authenticity matters and for that reason, passwords are used. But how do you store a password and then prevent hackers from getting into your database and stealing it? Well, you donât store the password at all.
Instead, you store something called a hash. A hashing algorithm will perform a one-way conversion of the password into a digital fingerprint, or hash. This digital fingerprint is always the same for that password. The emphasis on one-way is important, because a hacker cannot convert the hash back into the password.
Mina illustrated one-way conversion this way:Â âI add two numbers together to get 700, and then I ask you which numbers I added together. Given the number 700 alone, you donât know the two original numbers.â
Merely hashing passwords is not secure. Hackers can use rainbow tables to figure out the hashing algorithm, or hash tables to just look up the password if itâs a common one. So, before you hash your passwords, you should salt them, too.
To salt is to add a chunk of random data to your password before turning it into a hash. The salt makes a common password uncommon. Hackers then need to have a database for every unique salt + password combo. They would either need much larger databases, or have the computational power to try a list of potential passwords against every stored hashâslower than doing it the big database way. But hashing algorithms are usually pretty quick.
With bcrypt, the encryption method most commonly used with Rails, there is one more security measure. Bcrypt is designed to be slow and computationally expensive, which means that any hacker wanting to crack your site needs a lot of time and computing power. The trade-off is that the bcrypt will also run slowly and take up a lot of room in your application, too. So bcrypt allows you to decrease the computational cost to improve your applicationâs speed and space for a (slightly) lower level of security.
I love learning about encryption methods like hashing and salting. (You can also add pepper!) Though I lack the mathematical mind to develop a hashing algorithm, I appreciate the elegance and beauty of well-designed encryption.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
TIL: Associations
In an attempt to segregate purely technical posts from the personal posts, Iâm introducing a series called Today I Learned (TIL). A TIL will essentially be a summary or rehash of my Bitmaker notes on a particular topic. This first TIL is all about database associations, the relationships between the different models (tables) in the database.
Associations
belongs_to: defined in the âchildâ model. An instance of a model can âbelong_toâ only one specific instance of another model, but can also belong to specific instances of other models.
A child belongs to a mother (and has only one mother) but also belongs to a father (and has only one father).
has_many: defined in the âparentâ model. An instance of a model can "have_manyâ instances of another model.
A mother has many children.
has_one: defined in the âparentâ model. An instance of a model only âhas_oneâ instance of another model.
A family member has one room in the house.
has_many, through: defined in both models on either side of the relationship. An instance of a model âhas_manyâ instances of another model, âthroughâ a third model.
A neighbourhood has many families, through the houses those families live in. A family can live in many neighbourhoods, through the different houses they live in.
has_one, through: defined in both models on either side of the relationship. An instance of a model âhas_oneâ instance of another model, âthroughâ a third model.
A father has one son-in-law through his daughter. A man has one father-in-law through his wife.
has_and_belongs_to_many: defined in both models on either side of the relationship. An instance of a model âhas_manyâ instances of another model, and âbelongs_to_manyâ instances of that model, tooâwith no tangible link (i.e. a third model) between the two.
An athlete âhas_manyâ sports teams, and a sports team âhas_manyâ athletes. Inversely, an athlete âbelongs_to_manyâ sports teams and a sports team âbelongs_to_manyâ athletes.
Week Three: Days Two and Three
On the weekend, Frank and I started a project that seemed âfunâ and âlow-commitmentâ and a ânice way to spend time together.â
Escher, you devil. Your water looks like bricks that look like windows (or stairs).
We decided to start a 1,000-piece, black-and-white puzzle on the grey coffee table in our tv room. Maybe because we didnât have enough arbitrary frustration in our lives. We eventually moved the puzzle to the dining table, and it has consumed my life before and after school. The puzzle and I have a love-hate relationship (all the love and all the hate are are mine, as puzzles have no feelings).
Meanwhile, at Bitmaker we had an interesting tour yesterday and an insightful talk today. On Tuesday, Ella (student success coordinator) walked us over to the headquarters of Nulogy. It was my first time inside a development company. Shah, one of Nulogyâs developers, told us about the companyâs culture, structure, people, and work. He took questions and gave us a tour of the open-plan space. There are no corner offices, not even for the senior management teamâNulogyâs flat hierarchy and high esteem for personal ownership are reinforced by the physical space.
Shah patiently answering all our questions. He also gave us snacks, which is +10 points.
Then today, Bryan, a Bitmaker grad and current apprentice (but soon-to-be developer) at Nulogy, talked to us about his coding journey. As a person with little-to-no coding experience, it was encouraging to hear Bryanâs story. He has an arts education, but always had an itch to learn code and make programs. I appreciated Bryanâs honesty about the difficulty of this journey: leaving behind a career and stability for a new venture and creativity.Â
Bryan spoke candidly about how tough it can be to find a good developer job when you are a coding baby. To help us our time as a coding apprentices, Bryan also shared some wisdom from Apprenticeship Patterns by Dave Hoover. Choose to be the worst, so you can learn from others (much) better than you. As you learn, expose your ignorance! Admit what you donât know. When you get tired of sucking at coding, give yourself a break by retreating into competence. Do something youâre good at, maybe an old Ruby project (like the damn rover assignment) or making delicious cheddar-thyme scones. Recognize that programming is a long road and you are only at the start.
Say hello to Team Gort! Go ahead, admit itâweâre a good-looking bunch.