alicht's musings

Apr 24

Flatiron Fair and MySQL (week 3, day 4)

Yesterday at the end of class, 3 classmates and I decided to attend Flatiron’s School science fair. This was held on the main Flatiron campus and we were curious as to how it would be. 

We showed up and went around and met with lots of people it was very helpfulnand some of the projects were incredibly interesting. It was helpful because not only did we get to see the projects that were made, we also got to chat with the people as to how they made them and what they utilized. We were able to see their code and they explained it to us firsthand.

some of my favorite projects that I saw at the fair were

Today I spent the majority of my day learning MySQL. MySQL stands for Structured Query Language. In a nutshell, when we program the information needs to be stored in certyain places, called a database. The question arises as to how to access this information. Enter MySQL. it’s a way to speak with databases about how to move the info back and forth. We won’t actually be using MySQL this course, we’ll be using SQLite, but the general priniciples remain the same.

Also at the end of the day there was an impromptu hock with Blake about miscellaneous programming things. Namely;

- what’s so impressive about Ruby? Technically it’s just a gem (ie a stored library of code) so whys hould it be different than anything else?

- Inspired by the tweet below, why has the cost of a gigabyte fallen so dramatically over time?

image

(I also asked this over on Quora; here’s a link to the question in case anyone answers)

- how long is Ruby’s staying power?

- what is it that Bill Gates did that was so impressive (ie inventing BASIC and DOS)?

- In the 90’s, Apple was a niche product while Microsoft was the dominent platform. Why has Apple been able to transform this way?

- the wild world of APIs; how do they work why do they have such staying power and why did they have such prominent rise in web 2.0 companies.

- what is so impressive as to what Facebook has done? build at mass scale

- why would someone choose to write a website in a certain language over another?

I ask a lot of questions.

Apr 23

Finished the Ruby Assessment! (week 3, day 3)

image

Due to the Passover holiday I missed 4 out of the past 6 school days, so I was excited to get back to work!

Today I finally finished the Flatiron Ruby assessment.  True to it’s name, the assessment evaluates how well you know Ruby by putting your knowledge to use. The assessment took me 3 days took complete, was very thorough, and comprised many different Ruby elements. 

There were 38 questions over 7 sections, with most topics building off the previous ones.

These 7 sections were:

1) Arrays

2) Hashes

3) Nested Structures

4) Methods

5) Object Orientation

6)Classes

7) Self

The test was very tough. For a number of the problems, I sought help from fellow students and our instructors. While some us were nervous that we didn’t know the material cold, these fears were quickly assuaged by our instructor Blake. Blake told us that this exact assessment was given to a previous Flatiron class in week 7 of their course; here, it was being given to us in the 3rd week of pre-work, ie we were way ahead of the game. I’m happy I completed it today and will go back and review all the details and nuances.

Rails

Read More

Apr 17

Bide My Time, and Take it Slow

“Don’t cheat yourself,” plus 6 highlights from week 2 at Flatiron School

image

In January 2006, a group of friends and I returned to Yeshiva University after spending a year and a half studying in Israel. While we were all sad to be leaving Israel, we were excited to start college. YU requires all students to be in a morning program, so in addition to registering for classes we had to sign up for a “shiur” (Talmud class). Our Rabbi in Israel recommended we join a more rudimentary shiur. This would allow us to get acclimated to the college atmosphere, a dual curriculum, and would build on the skills and fundamentals we acquired the previous year. While this was an interesting option, we were apprehensive to do so because this was viewed as the “lowest shiur.” Hence, we politely declined and opted to join a more advanced shiur, reasoning that while this may be above our level, we would quickly adapt and fit in. Everything would work out, right?

Wrong.

It was an unmitigated disaster.

Much like Donny from “The Big Lebowski,” we were COMPLETELY out of our element. From the first day of shiur it was evident that we were in over our heads and had absolutely no idea what was flying. The Rabbi of the shiurwas patient and kind, but knew we didn’t belong there, going as far as to ask us; “who recommended you guys join my shiur?” Furthermore, we were too proud and stubborn to acknowledge that we had made a mistake, rationalizing “oh, we’ll just get it next week.” The tipping point was when the Rabbi announced to the entire shiur that there was a group of students who were holding everyone back, and he felt compelled to divide the class into two.

This experience wasn’t fun for me and my friends, and ultimately was a waste of our time. Worst of all, it turned some of us off. A few of my friends switched programs and others stopped learning altogether. Luckily the following year I found a shiur that suited me best, but I was still annoyed and frustrated at the fact that I wasted a year.


Cool… but what does this have to do with programming?

Everything. This experience I had in YU was a tough and uncomfortable one, but it taught me a valuable lesson: don’t skip steps. A main allure of programming is building cool things. In fact, every day I read about incredible new programs and wonder when I’ll be able to make them. I’m already dreaming of how I can utilize the Instagram and Foursquare APIs for future projects, which hackathons I’d like to attend, and when I’ll learn Objective-C. But if I focus on these things before I really understand how Methods work or what HAML and ERB are, I’m just cheating myself.

Furthermore, Avi (the Dean of Flatiron) visited us last week and emphasized this same point. Avi told us that currently, the most important thing we should be focusing on is learning the fundamentals, learning the tools, learning how to build. We shouldn’t be focusing on jobs, or even on getting things right. We should just focus on learning.

Aspirations are great and the time will come when I’ll be able to work with the aforementioned technologies, but now is the time to work on the basics and not skip any steps.

6 Highlights From Week 2

1) Avi Lichtschein, Apple Developer- Last week we had “install day” at Flatiron, where we installed different programs and created accounts for the various services that we’ll be using. One of the accounts we signed up for was an “Apple Developer” account, which gives us access to official Apple Developer tools. While I don’t want to contradict what I just wrote about above (ie taking it slow), and while we won’t be learning Objective-C during our course, it was still incredibly cool to know that we’re all technically Apple Developers now.

2) Flatiron Ruby Assessment- After going through Treehouse, Codecademy, Chris Pine’s “Learn To Program” book, and a litany of other Ruby tutorials, I decided to begin working on the Flatiron Ruby Assessment (it’s open source and can be found here). I was pretty confident going into it, but after several days spent working on it, I realized… you know what? Maybe I could use some more review. I’m happy that we have this assessment to serve as a benchmark.

3) Blogging- I enjoy blogging and figured out my blogging strategy for this course. On a macro level, I’ll try and have a weekly post on Medium going over the week in review and main takeaways. On a more micro level, I’ll be blogging daily at codingwithalicht.tumblr.com. These posts will be more technical, and more of the “what I learned today” variety. Knowing that I’ll have to write something everyday will force me to work harder, as I know I’ll be writing a blogpost at the end of the day. Things are a bit hectic now as we’re still in pre-work and it’s currently Passover, but I’ll be implementing this as soon as class officially starts, two weeks from now.

4) Things are starting to sink in… Informationthat I wasn’t entirely sure about is starting to resonate with me. For example: while I’m still a budding amateur, I feel like I can now look at any random Ruby code, recognize the structures in play, and kind of identify what’s going on. It’s awesome.

5) Milktrackr- Every week the Flatiron NYC campus holds a meetup calledNYC on Rails, where students in Flatiron’s NYC campus present projects they’ve been working on. Last week, several students and I decided to attend the meetup, and arrived just in time for the opening presentation of an app called “Milktrackr.”

We were blown away.

Milktrackr is an app which tells a person how much milk they currently have and notifies them when they’re running low. It was written in Ruby, utilizes several APIs, and uses an Arduino board. Incredibly, this application was built in only 51 days! It was so cool, that we asked the Milktrackr team to view their source code, and asked our instructors to buy Arduino boards for us to use in future projects.

6) Lock-picking

image
Lock-picking class at The Flatiron School

We were visited last week by lock-picker extraordinaire, Schuyler Towne, who taught us all about the art of lock-picking. Each of us received a lock and tools, and learned how to pick it. It was a fun experience and in case I’m ever locked out of my apartment, now I know what to do!


Now back to work…

Apr 07

10 (non-programming) things I learned from my first week at The Flatiron School

“Learning to program will change your life; you’re going to be gaining a superpower.” — Avi Flombaum, Dean of The Flatiron School

Last week was my first week at The Flatiron School. I figured that since I’ll be writing plenty about programming and other technical jargon, I wanted to make a list of 10 non-programming things that I learned in my first week.

1) We’re all in this together

The first thing I immediately noticed was my classmates. They’re awesome. Not only am I privileged to be a part of such a wonderful program, but I’m able to share it with 27 like-minded individuals. From our first day it was evident that everyone is kind and friendly, and it’s great to be a part of such an interesting and diverse group of people who all share common goals.

2) Step Into The Freezer

Goodbye, social life (semi-kidding). I wouldn’t necessarily compare these next 5 months to the “Lakewood Freezer,” but one does have to put their outside interests on ice for the foreseeable future to primarily focus on coding. Simply put, this is not the time for me to finally get started on “The Wire.”

3) The pre-work is extensive and phenomenal

We’ll be spending the majority of our first month working on Flatiron’s pre-work. http://prework.flatironschool.com/web-development/#tocAnchor-1-1

The work is a collection of material from around the web and it’s rigorous, thorough, and comprehensive. Having said that, it’s incredibly enjoyable to work through and I’m learning a tremendous amount from it.

4) The Terminal is my new Home

I thought I lived on the Upper West Side, but apparently my new home is the Terminal (Hi, Tom Hanks). What is the Terminal? The Terminal is a built-in program on a Mac that enables you to control your computer through text commands. I had barely even heard of the Terminal prior to attending The Flatiron School, but just about everything I’ve been running has been via the Terminal. It’s evident that I’ll be spending a lot of time in the Terminal over the next 5 months. Life is waiting, indeed.

5) “ Don’t Be A Jerk”

This phrase was mentioned on Day 1 of our orientation and is one of the defining traits of The Flatiron School. What this means is don’t be snide, rude, smug, callous, impatient, when dealing with your peers in the program. If you know more than someone, that’s great, now help that person get to your level of understanding. This concept is of such importance to The Flatiron School, that in Flatiron’s promotional video Avi recalls being asked; “where did you find such great developers?” His answer? “We didn’t find great developers- we found really great people and taught them how to code.” Be a mensch.

6) “Playing Golf”

In a similar vein, unlike in a sales environment or people jostling for a promotion, competition doesn’t really exist here. Learning to program can be best described as a game of golf; you’re not really competing against anyone, rather you’re constantly trying to refine your skills. Everyone’s on the same team.

7) My Phish listening has gone way up

Is this even possible? I mean, Phish already held a monopoly on my subway and exercise listening time, but now they’ve extended their reach to programming too. We spend most of the day on our computers, so I guess it was only inevitable that I would hear some legendary jams and killer Trey solos. Once we start our lessons I’m sure my Phish intake will lessen, but by that point I hope I’ll be proficient enough to play around with some open source Phish code!

8) Time Turns Elastic

Thus far, time literally flies by. For example: I’ll be in the middle of going over the concept of “Blocks” in the Treehouse Ruby track, and all of a sudden it’s 12pm. I’ve heard that when you do things you truly enjoy, time goes by fast. I’m getting that feeling here, and it’s great.

9) Learning how to code is really tough…

I mean really, really tough. We spend roughly 10 hours a day learning brand-new material, not including homework and review time. There’s a reason why the term “language” is used by programming, a phrase that doesn’t exist by doctors, lawyers, accountants etc. “Language” connotes a new way to read, speak, understand, communicate, and think. At The Flatiron School, we’re not only learning new skills, we’re learning a new way to express ourselves. As with any “language,” this requires a tremendous amount of work.

10) …but it’s absolutely awesome

I knew I enjoyed programming, but what surprises me is as my understanding deepens the more I enjoy it. It’s truly a blast! Sure when I’m stuck I feel like throwing my computer out the window, but when I understand a new concept or run a successful program, I have an tremendous feeling of accomplishment. I’m in a good place.


Excited for week 2! ☺

Apr 02

The Time Has Come For (Career) Changes, Do Something Or I Will

Why I decided to change careers and become a software engineer

When recounting turning points in one’s life, most of the time it’s via looking backwards and recalling things like; “that was the night I met my future spouse” or “that day I realized I should major in Economics.” Rare are the experiences that upon entering them you know will radically transform your life. I’m fortunate to have one of these experiences, as I’ve decided to attend The Flatiron School and become a software developer.

A little bit of background. I graduated from Yeshiva University in ‘09 with a degree in History. My plan was to go to law school but after taking the LSATs I had a change of heart and decided to go into Real Estate. It was ok… but it definitely wasn’t something that I truly enjoyed. After Real Estate, I tried out some other jobs. Again, they were ok but not anything I was really interested in.

Then I landed at Square (you can read about that story on Forbes andBusiness Insider). I absolutely loved it. My job was primarily a sales/marketing role, and the majority of my time was devoted to on-boarding new customers and helping staff events. I loved working for Square and it was truly fulfilling work. In addition to being able to see the inner workings of a startup, I was also impressed by the design and engineering ethos that Square embodied. While I moved on to a different job after Square, it was here that the engineering seeds were planted.

How it all came together

Deciding to become a software developer wasn’t an overnight decision, rather one I’ve been mulling over for roughly a year and a half. Several reasons held me back, chief among them being complacency. I was already employed and it would take a lot to uproot my life. What if I left my job and decided I didn’t like it? Was this something I truly wanted to do?

Second, was uncertainty. Was becoming a developer something that I was capable of doing? After all, I didn’t have a flashy Computer Science degree. Growing up I was never a math or science kid, and a CS major wasn’t something I’d ever even considered. None of my friends majored in Computer Science and no one in my family is in that field. Was this really for me?

The answers to both of these questions was a resounding “yes.” I spent a lot of time researching the field, attended a number of engineering meetups, and completed several online courses. All signs pointed to the same thing; this was something that I really wanted to do and could not be ignored.

Why Programming?

Looking at some of my favorite hobbies (Phish, Breaking Bad, Stephen King) helped me realize what drew me to programming. Be it Phish’s countless hours of original music, Breaking Bad’s expert attention to detail, or Stephen King’s unparalleled imagination, a unifying thread among them emerges; creativity, originality, and details. Programming by definition contains all of these traits, and like my other hobbies, time literally flies by when spending time on it.

I’m also drawn to the power to create, and am excited to learn the necessary tools to bring ideas to life. Becoming a software developer will give me the power to build really cool things, and the feeling of accomplishment and growth is also unmatched.

Furthermore, the engineering community is warm and collaborative. On all of the online resources I’ve encountered, there are tons of people who want to help, and much of programming is done in teams. I also love the fact that coding is a life-long endeavor, requiring a person to always build on their skills.

New Language, New Career, New Way to Think

Lastly and perhaps most importantly, what I really like about this decision is that it reiterates an important lesson; ultimately I have the choice and freedom to do whatever it is I choose with my life. I could’ve just as easily opted to go a different route- Migo that I’m doing this I could have just as easily done something else. Never in a million years could I have imagined this being in the cards for me, and it truly is me stepping out of my comfort zone. I have the opportunity to re-engineer (pun intended) my life, and I couldn’t be more excited!

Jan 25

Another blogpost

Insert here!

Aug 29

(also posted on Medium)

Heisenberg’s Dark Truth 

Walter White was always evil

As we near the end of Breaking Bad, much ink has been spilled on the motives and transformation of Walter White. Showrunner Vince Gilligan has stated on numerous occasions that Walt’s transformation was from “Mr. Chips to Scarface.” The implication of this statement is that Walt started off as a kind, gentle soul, yet veered into cooking meth as a way to make enough money to support his family and pay his medical bills. It was only along the way that he morphed into a monster. However, I’d like to argue that one telling scene in the first episode reveals that this is not the case.Walt was always evil.

In the pilot episode, fast forward to 10:40, where it’s Walt’s 50th birthday party. Friends and family are socializing until Hank gathers everybody around to wish Walt a toast. This is interrupted by a breaking news report on TV of Hank’s most recent meth bust, and Walt walks away. Now pay careful attention to Walt. Walt is away from the camera yet his ears immediately perk up when he hears the phrase “methamphetamine” and that’s when he walks back to the TV (exact moment is 12:35). Walt’s interest is piqued by the mention of methNOT money!

This slight nuance is incredibly revealing. Remember, this was beforeWalt received his cancer diagnosis, so there was no rationale or need to cook meth at this time.

This theory of Heisenberg always lurking is further bolstered by Walt’s stellar initial batch of meth. Irrelevant of chemistry prowess, there is absolutely no way of doing this without previous expertise. Even if you’re the New York Yankees of chemistry it’s impossible to make such a product out of the blue. Walt was a ticking time bomb waiting to explode; all the cancer diagnosis did was finally gave him a kick in the pants to get started.

Hence, Walt’s transformation from Mr. Chips to Scarface isn’t really accurate because Walter Hartwell White was never Mr. Chips; he was Scarface all along. Walt was always Heisenberg.

Jun 25

Late Night with Jimmy Fallon: Audience Got Talent -

48 days… #allbadthingsmustcometoanend (great marketing campaign)

48 days… #allbadthingsmustcometoanend (great marketing campaign)

Jun 20

Amen. #RIPTony

Amen. #RIPTony