# Side Projects

I’ve been trying to figure out good side projects. Here’s what I have in mind:

## Gitting my site up to date (done).

- Migrated my website from A Small Orange to Linode. I might go into my reasoning in another post.
- Reread the first few chapters of Pro Git, which is required by Tech Elevator before I start on Monday.
- Pushed my local version of the site to GitHub for the first time in a while.
- My “migration” was a simple drag-and-drop of the files, I wanted it to actually, ya know, work… so after quite a bit of trial and error, I set up Jekyll on my new server.
- I added an alias in my
`.bashrc`

to pull from GitHub and build with Jekyll:

```
alias gitjekyll="git pull origin master && jekyll build"
```

## Learn algorithms

I struggled in school with learning how algorithms work because algebra and calculus have *never* come easy to me.

So, in addition to Tech Elevator, I’m going to do some Kahn Academy courses:

Then try to apply that knowledge with few different resources:

- Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- Everything you need to know to get the job
- Videos of technical mock interviews
- 100 Days of Algorithms and the accompanying blog post (all posts ranked oldest to newest)

### The questions I’m starting with:

- How do you determine the
*correct*algorithm to use? - How do you know if an algorithm is inefficient and should be replaced?
- How do you identify an algorithm that you’ve already seen?
- What the heck is big-O notation?

### Documenting my work

While I’ll never be a math-whiz, maybe I can better understand logarithms and linear algebra. Although I’ve been told that “If you do database stuff, you’re already inherently dealing with linear algebra and matrix operations” – maybe it’s just a matter of understanding what I already know!

Throughout the process, I’ll try to document my progress here, sharing what I’m learning. I learn best by teaching others, so maybe it’ll help.