Table Views and Datastores.
Before the day ended yesterday, Tim introduced us to table view controllers, the visual interface that powers a majority of the apps we play with. Just think about any app that scrolls through endless rows. By the time lecture wrapped up, my brain was already heading into power-save mode after spending most of the afternoon tackling navigation controllers, which allow subsequent windows to appear after a button press to more detailed information.
I don’t feel very comfortable with the material, and I’ll probably have to re-watch some of the lectures. Oh yeah— all our lectures and code samples are recorded and posted on GitHub so that we don’t have to stress with getting all the notes and code lab walkthroughs at that very instance. +1 for Flatiron Team.
I usually get to the school half an hour before class begins to get a head start on the day— checking emails, finishing remaining labs, rereading lecture notes, etc . That’s also another nice perk of Flatiron— it’s open 24/7, so you can arrive as early and leave as late as you need to work on remaining assignments and projects. Granted, the instructors are probably not there beyond 7pm, but the entire makes a good effort to be available an hour before class every morning.
Overall, this week was positive and I felt that I was hitting my stride with table views and segues, which is what allow you to go from one screen to the next. Part of the reason why I really understood table views was because I spent the coming weekend tinkering with a small personal project I’ve always wanted to accomplish. It incorporated just about everything we’ve learned to this point so it felt like good timing too; I worked on making my own version of the simple, but ubiquitous to-do list app.
Core Data, Delegates.
As always at the Flatiron School, just as I am barely getting a handle of table views, we start Week 4 with the introduction of core data, prototypes and delegates. Those are three powerful concepts.
Just 5 days ago, we were managing table view cells and how to properly display them in our view controllers. Making simple iPhone to-do list apps were still cool then. But now, it’s all about adding persistent storage, or the ability for your apps to save large amounts of information on your phone after you terminate your app. As a end user, nobody thinks about that- I sure didn’t. The idea of saving information, brought from ubiquitous computer commands like Control-Save, seems so obvious, but now that I’m the person behind the screen making it all happen, I truly see data persistence for what it’s really worth.
I’m excited to begin working on my ‘Flatiron Presents’ assignment, in which you must prepare a technical talk on something you’ve made. You also get randomly partnered with a classmate to collaborate on the app or feature you decide to present about. It’s mandatory for every Flatirons student so that we can practice our presentation skills on technical topics. On top of that, Flatiron School advertises it as a weekly meetup event, so anybody can RSVP and come watch your presentation..The pressure!
Days 19 & 20
We had a lecture on the history of the internet. At first it seemed unnecessary but I did learn several things. For one thing, the internet is literally just huge wires traveling around the world, lying deep in our ocean beds. There was also a video excerpt from a Charlie Chaplin film comparing technology and machines to the imminent future of our human race. We focused on a memorable quote in that film by Chaplin which I thought that was interesting:
Greed has poisoned men’s souls
Has barricaded the world with hate
Has goose-stepped us into misery and bloodshed
We have developed speed, but we have shut ourselves in
Machinery that gives abundance has left us in want
Our knowledge has made us cynical
Our cleverness hard and unkind
We think too much, and feel too little
More than machinery, we need humanity
More than cleverness, we need kindness and gentleness
Without these qualities life will be violent
And all will be lost.
We had this lecture in packed room because the web cohort was in on this as well, and as I watched Chaplin perform the above excerpt, it reminded me what I was really here for. I won’t speak for the other students in the room, but sometimes I forget why I am sitting in front of an operating machine all day figuring out the language it speaks.
Ultimately, it’s a means to ultimately help the world— made for humans, by humans. It’s very easy to lose sight of who you’re really doing this for. After all, you are literally staring at a computer screen, which needs to make its way to another digital screen in order to reach your true target, the people. That all sounded real cliche, but when you flip a shit about lines of code long enough, the loss in perspective happens to the best of us.
With that said, stress levels are rising. I am very tired feel flat out smoked. I went super overtime on Friday; I think I left Flatiron at 11pm. I feel like a mess and didn’t expect to reach this state of mental fatigue, but I suppose I wouldn’t have it any other way. Personally, when I’m working on a project and I think I’m nearing the answer, there is close to nothing that’ll make me leave the room. I feel so uplifted when I hit a daily milestone, that I often forget huge progress is still made when I don’t reach a code solution.
Pro-Tip For Beginners
Do not bring yourself down as a newcomer to code. In fact, there is probably never an instance where you should. Take the problem at hand and just know it’s solvable— it almost always should be if you are a beginner. For me, I’m moving at such a fast rate, I often lose sight of the micro improvements I’m make daily, but in reality, I’m driving at 80 miles per hour on a 65.
But I’ve learned that nobody cares for complaining and nobody will feel sorry for you. The answer is out there and rest assured, you can find it.
On to Week 5.