alicht's musings

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

Jan 04

IFTTT = The Glue of the Internet

image

Every so often there are companies that emerge on the scene at the perfect time. When Twitter rose to prominence, it was the perfect time due to the rapid emergence of smartphones. Dropbox was also perfectly positioned for its time since as devices multiplied, people needed to access their files from anywhere and on anything. Another new product which has come on the scene at a perfect time is IFTTT.

What is IFTTT? IFTTT (rhymes with “Rift”) is a service which allows you to put the internet to work for you by creating “recipes.” Simply put, IFTTT allows the user to control the flow of information and automate tasks. What that means is that anyone can customize their own personal internet. Want a text message anytime a stock you’re following hits a certain number? An email anytime the weather hits a certain degree? Use IFTTT! IFTTT has thousands of different channels and one can create as many as they like. It’s brilliant. 

For example; through IFTTT, this tumblr post was tweeted, posted to Facebook, and emailed to some friends. All I had to do was direct where the data should go and IFTTT did the rest.

Much like Siri, IFTTT is ushering in a new era of the internet; where you put the internet at work for you. The internet has grown so robust and there are so many facets of our lives that rely on it that there is a definite need for a service like IFTTT. IFTTT can serve as the glue to connect everything and can ultimately revolutionize how we interact with the internet.

But the thing that impresses me most about IFTTT is that it’s not “the next _____” or “Facebook for houses” type of company. Rather it’s such a unique idea without precedence that sometimes people don’t know exactly how to describe it [1]. I think those types of companies are the ones that end up being the most revolutionary. For example, Twitter used to be described the exact same way. Now, however, people use Twitter in hundreds of ways. In fact Jack Dorsey recently stated [2]; “ask 100 different people what Twitter is, and you’ll get 100 different answers.” What this means is that instead of filling 1 or 2 needs, Twitter fills 100. IFTTT is positioned similarly and I’m betting if you ask 100 IFTTT users how they use IFTTT you’ll probably get 100 different answers. This versatility is why I think IFTTT is such a remarkable company and excited to see what they have in store for 2013.

—————————————-

[1] This same type of analogy can be applied to the 2007 NBA draft. In that draft the 2 top prospects were Kevin Durant and Greg Oden. Oden was a powerful center who was most similarly compared to Shaq and Patrick Ewing. Nobody, however, could compare Durant to any previous player. The NBA simply had never seen a player of his kind before. The same goes for LeBron James when he entered the league; there was no previous player to compare him to. It’s no wonder that these 2 best players are the best in the NBA and have completely revolutionized how their positions are played

[2]  http://venturebeat.com/2012/09/17/jack-dorsey-future-of-twitter-anything-everything/

Dec 31

I'm at Madison Square Garden!