Monthly Archives: August 2013

HS Day n, n+1: Craziness

I’d fallen out of my blogging habit, sadly, but that was kind of silly and I really should get back on that, especially since things are coming to a close here and I should write all this down so that I can remember it.

It’s five in the morning right now, and not the good kind of five in the morning where I’ve just woken up after a good night’s sleep and I have some green tea and I get to watch the sun rise knowing that it’s going to be a good and wholesome day. No, this is a better five in the morning where I’ve just been to see Anamanaguchi and finally walked in the door to my apartment about ten minutes ago.

Starting on Thursday: I was supposed to move back across the hall in with Nathaniel, but I found a guest of his asleep on the floor – wearing nothing. Nope. I went to Luscious Food for lunch, and ate my sandwich on the bench out front of our apartment to give the guest some time to wake up and put clothes on. As far as I can tell, he just liked sleeping in the buff? Anyway, Levi and Broghanne arrived and sat on the bench next to me. I explained the situation, and they explained that Levi, Nathaniel, and this guest had all been working 15-hour days for a film/tv internship, and that they were probably on very few hours of sleep.

Chelsea – a good friend from college – texted me and asked if I was interested in a position in Milwaukee, WI. I said yes, since I wasn’t sure at this time that the house in Boulder with Eric, Matt, and Sam D. was going to work out. So why not? 20 minutes later I had a Skype interview with them.

I ended up moving all my stuff into the living room since they were still asleep in the room I was supposed to move into. Then I went to Hacker School, where I programmed for a bit, did a presentation on my galaxy generation function for Space Adventure, and then walked with Martin and Matt over to Ebay for the jobs fair. Oh – I bought a business card holder on the way in at a custom belt store since I made business cards the other day.

The jobs fair is the “big event” for Hacker School – they make their money by getting companies to hire Hacker Schoolers, and although they don’t push us toward a job though them, it’s a great opportunity for the companies as well as anyone looking for a job. I got a green sticker on my nametag: looking for a job now. Others had: yellow for a job in the future; red for already employed or not currently job hunting; blue for facilitators and hiring company people. The companies each gave a 2.5 minute presentation, and then we schmoozed and boozed. I talked with representatives from Twitter, Etsy, Next Big Sound, The Ladders, and Custora.  Took an UberX home and crashed.

The next morning I got a job offer from the Milwaukee Company, H2OScore, which I haven’t given them an answer yet so I won’t say anything here. They’re a really cool and environmental company, though, and if you live in WI, you should check them out.

Fridays there is no Hacker School so I walked up to 7th ave and got lunch at a Vietnamese place, then hung out at Barnes and Nobles a bit. Ended up buying a book on Typography. Walked back, got a ginger ale from a corner store, and played a really long game of FTL. Dinner at Zito’s sandwich shop, then off to NYC for Anamanaguchi.

Forgot to mention: I wore my Pikachu/Mario shirt today. By this point, four people had already commented on it. (“cool shirt, dude!”).

I start chatting in line with another guy with a pikachu shirt (#5) who seemed pretty drunk already but he was chill, and another guy named Ryan who was definitely under 5′, super cool, played drums, and seemed to be there on his own so we kinda became friends. I got inside (patdown by security), and waited for friends. Alisa, two of her friends from home, Ian, James P, David, and a friend of David’s showed up. We explored the location a bit – the opening acts ranged from terrible to mediocre – there was some pretty standard house music, and we eventually ended up in the basement, where the DJ seemed to know what she was doing. The tickets had listed Anamanaguchi as starting at 10, but apparently they were going to start at 12:30, upstairs, and we weren’t even allowed upstairs until midnight. At this point I was at 10 comments on my shirt.

So at 12 we made our way upstairs. Cool enough venue – terribly expensive soda/water. I got a Coca-Cola without realizing it was going to cost $5. Blargh.

There was an opener for Anamanaguchi who was good enough and got the crowd moving. I was pretty close to the front – usually right on the edge of the mosh pit, pushing people back in, and helping people up when they fell. The floor got covered in drink pretty quickly (I was totally sober), and was alternatively slippery and sticky.

Anamanaguchi finally started at 1:30, 3.5 hours after they were listed. But oh man, were they awesome. I’m glad I brought earplugs – the bass was really loud. There was incredible energy in the crowd, and the whole thing went by like a blur. Large bouncy balls were released into the crowd, the lead guitarist put one of their lamps into the crowd, and we carried it out to the middle of the room, then went ramming speed toward the stage. It was a giant mosh of nerds, so everyone was super friendly. The show ended kind of abruptly, but it was still very enjoyable.

Anamanaguchi

Anamanaguchi

Afterward: IHOP. Subway. Home. Blog. Sleep.

From Brooklyn,

–Erty

 

HS Day 69: Party at Wall Street

Wednesday night I wandered around after Hacker School looking for somewhere to eat. I found myself in Little Italy, and promptly seated myself at a restaurant that seemed the proper balance of cheap and classy. $12 for a bowl of pasta and a glass of wine? Yes please; it was delicious. I think I ordered off the wrong menu, because my bill came to quite a bit more than the promised $12, but it was well worth it. I did a bit of doodling in my sketchbook, then headed home on the N train: the won’t run from Manhattan to Brooklyn for a year or so, due to repairs from Hurricane Sandy.

Yum!

Yum!

Hacker School went normally Thursday- that is, a day full of learning and coding. I worked quite a bit on my Space Adventure game (check out the StarMap!), with help from Matt.

I’m also trying to build my Budgeted app using Angular, but I’m having a heck of a time getting people to help me with it for some reason. Kevin gave a great talk on Angular at my request on Wednesday, but I’m at the point where I need help with the actual code, and Kevin’s last day was Thursday.

A while ago, the Hacker School facilitators announced that we would be attending a party at the NYSE on the 8th. Exciting! People not associated with the exchange are usually not allowed into the building.  There was quite a hubbub about dress code: the NYSE has one, and a significant portion of Hacker Schoolers didn’t own the proper attire – one didn’t own closed-toed shoes. Apparently there was a mass shopping trip on Wednesday.

We arrived about 30 minutes early, so Matt, Nabil, and I walked down in the light rain to the tip of Manhattan, where the Hudson meets the Atlantic. We admired it for a bit, and then walked back to the NYSE building. They checked our IDs and we walked in. (There was a lot of security)

Lining up to go through another security checkpoint.

Lining up to go through another security checkpoint.

There were some small displays of historical stuff on our way in.

There were some small displays of historical stuff on our way in.

We went up to a big ballroom area where there was food and (non-alcoholic) drink. There were two little stations where servers would prepare tiny sandwiches or pasta to order. An entire table of fancy desserts.

The main room.

The main room.

Fancy food stuff

Fancy food stuff

Some people from Juniper Networks (the party hosts) gave a bit of a talk, and then directed us to a historical presentation of the NYSE.

History of the NYSE

History of the NYSE

We (the Hacker Schoolers) wandered there for a bit, then returned to the main room to mingle with Juniper folk. For those of  us not interested in a job through Juniper, it was a fun enough event but the socializing wasn’t particularly exciting.

I mostly hung out with Matt, Joe, and Willson, talking about past jobs, pay scales, and other programmer stuff. I’m under the impression that I have one of the highest experience/age ratios here thanks to my internships and early entrance into coding.

Took the with Matt to catch the N at Canal St., and fell asleep around midnight.

Friday (Today), I woke up around 5:30, cleaned my room, walked to Staples to pick up a new book I bought (Videogame Character Design!) and packed my bags for Minneapolis, where I’m attending my grandmother’s memorial service tomorrow. Currently at the airport, waiting on my flight which has changed gates twice.

From LaGuardia Airport,

–Erty

P.S. I totally forgot – Peter Norvig was at the NYSE party! I chatted with him, Kevin, and Julie about various electronic education stuff, although I left after a Juniper guy entered the conversation and started the “I don’t trust Gmail because you guys read my emails” argument with Peter, which was kinda awkward.

 

HS Day 67: Getting back on track

It’s been a week since my last blog post, which is the first time I’ve missed posting here since day 3. I’d been feeling somewhat out of it since last week, though, and I’ve been having a hard time fighting off distraction and sleepiness – signs that I’m feeling a bit depressed.  With only two weeks and two days left of Hacker School, I really can’t afford to be spending time not cramming in the last bits of learning that I can. Last Thursday, I decided to abandon my own projects and work more on pair programming in an attempt to widen my horizons and stretch myself as a programmer, and the results so far have been excellent.

My first pair was with Aki, on his 3D Tetris program, helping with JavaScript refactoring and learning a lot about 3d programming in the process. I audited (“sat in on”) the graphics class at Lawrence, which went very fast but was excellent for at least getting a first look at the fundamentals for graphics programming. That’s my idea with the pair programming – even if I don’t end up learning everything there is to know about 3D Tetris like Aki will, I’ll have seen the fundamentals and can think on them and integrate them into my future work.

So, funny story – I paired on Monday morning with James on a Angular.js project. Angular is a web frontend framework which uses data binding to keep all three parts of its MVC in sync. At noon, I had a tech interview with a company in Colorado, and one of the first questions they ask me is, “have you worked with any web frameworks?”

I answered truthfully, “I’ve just started learning Angular.js, but I’m looking to expand that”

“What do you know about data binding?”

Good thing I’d learned about that 15 minutes prior!

One thing that always gets me during interviews is knowing the acronyms and names of stuff. If I can, I keep a Google window open so that I can look things up really fast when people ask me about them. I don’t think it’s dishonest in my case, since I actually do know the things that they’re talking about  – like data binding – I just don’t know that it’s actually called “data binding”. I remember that happened to me three or so times in a row when I was interviewing for an internship at Renewable Choice.

Them: “What’s CRUD?”

Me: “Um… I don’t know”

They look at me as though, what is this guy doing as a web dev if he doesn’t know what CRUD stands for. “Ah, it’s Create, Read…”

“Oh, Update and Delete, yeah. It’s used for…” etc etc. Acronyms are hard for me to memorize I guess? I always end up learning things from interviews, which isn’t how it’s supposed to be, I think.

Monday and Tuesday I ended up taking a 3 hour nap in the afternoon, which was pretty bad. I basically screwed up my sleep schedule Sunday night and got into a vicious cycle of not being able to fall asleep at night, because I slept during the day, because I couldn’t fall asleep at night. Greta suggested on Tuesday (today) that I go for a run in the afternoon, and I did – I ran about 2 miles at Prospect park, which was peaceful and relaxing. I stopped a bit early mainly because I haven’t gone running in  a long time and I didn’t want to hurt myself.

I’m still unable to fall asleep (It’s midnight right now) but I think I’ll be on a much better track than I have been, since I’m tired and I’ll probably fall asleep in an hour or so. Until then I’m keeping up to date on WCS Korea 🙂

From Brooklyn,

–Erty

HS Day 52 .. 56: Greta’s Visit

HS Day 52: Empire State Building

Greta and I took the subway to Hacker School together. There’s a strict no-guests policy, so she spent the day wandering around Manhattan while I programmed.

I’ve started in to the Project Euler problems.  I’m (as of day 55) on problem number 24, at a rate of two or three a day. I did start on number 11 or so.

Greta and I met up and went to Getting Hungry for lunch. We invited Matt, but he slept in and wasn’t in by lunchtime. Greta and I chatted about our wedding, and hung out for a bit in the restaurant. It started to rain, hard. We left the restaurant and split up – I back to Hacker School, and Greta back home for a nap.

I attended the Monday night talk at ebay – a talk about networking by Jessica, who knows her stuff about networks. I’d actually given almost the same talk near the beginning of Hacker School, but it was a good refresher and the food was good – pasta instead of the usual pizza.

The whole time, though, I just wanted to get back to hanging out with Greta. We met at Union Square park (she actually got off at the wrong stop there, but it happened to be where I was walking to – serendipitous). We wandered north, discovering the Museum of Math, and various other shops and boutiques. We eventually found ourselves at the Empire State Building. We were going to go up to the observation deck, but were informed by the red-jacketed security guard that there was 0 visibility due to fog – so we went home to Brooklyn.

Stopped in to Pizza Town – a local pizzeria, for a calzone, then returned home. It was raining lightly, but we didn’t use our umbrellas.

HS Day 53: The Met

I went in to Hacker School a bit early, since Greta and I made plans to visit the Met over lunch. She met me around 11am, and with Matt, we ate lunch at Pret. Matt is freshly married, as of about 2 months ago, so he was interested in our wedding plans and was excellent company either way.

After lunch, we bade goodbye to Matt and took the train up to Central Park, which we walked across to get to the Metropolitan Museum of Art. Central Park was nice, although we were accosted by men “giving away” their rap CD, which they signed, then asked for a donation. I gave them far too much since I was caught off guard, but one of them was quite persistent about getting a donation from Greta, so we gave him back his (already signed) CD, which he wan’t happy about. We weren’t in any danger, but it was just a strange (and very NYC) experience.

Central Park

Central Park

Greta in Central Park

Greta in Central Park

Some musicians in Central Park

Some musicians in Central Park

Erty in Central Park

Erty in Central Park

The Met was fantastic – what people had been telling me was true – you could spend an entire day there and only see a small portion of the exhibits. We saw:

– A photographic history of the Civil War, which was very personal – lots of pictures of people (since portraiture was big then) – and quite gruesome. Fascinating and revolting.

– A collection of Grecian statues, only some of which were replicas, yet you could get right up to them (no velvet ropes). It was very cool to stand in awe of Perseus holding Medusa’s head, larger than life, on a pedestal.

– Some 17th century furniture, very glitzy and ornate.

– A special exhibit on Punk Couture. Lots of plastic dresses. Everything was very creatively made. My favorite was a dress held together with massive brass staples.

– A large selection of modern art, of which I’m a fan. A couple of Jackson Pollocks, a few by Georgia O’Keefe, Rothko, etc. Very neat to see the paintings in person. I knew a lot more of the names than I should have. (Thanks Liberal Arts Education :D)

Greta by a Pollock painting.

Greta by a Pollock painting.

One of my favorite pieces from the modern art area of the Met.

One of my favorite pieces from the modern art area of the Met.

– Kenneth Price’s statues, which were amazing. Very simple shapes with holes cut into them, painted brightly and interestingly. Playful forms. A set of two enormous matte black kidney-bean shapes, which seemed the embodiment of softness. Probably my favorite exhibit.

I returned to Hacker School for the rest of the afternoon, and Greta hung out in a nearby Starbucks and continued to read The Hobbit.

We took the subway to Union Square and browsed various shops and museums there – eventually having dinner at a little american place right on the square. We sat outside – the weather was perfect – and chatted about our wedding. There’s a lot to plan and think about.

It took us a long time to get home because the N and R couldn’t make up their minds about being local or express.

HS Day 54: MoMath, Newsies

I went in to Hacker School on my own, and Greta stayed home for a while before heading in and meeting me at Union Square. From there, we went to the Museum of Math. The museum is awesome – if you’re at all mathematically inclined, or even if you’re not, you should consider checking it out. There are two floors of exhibits, all focusing on some neat aspect of math. My favorite exhibit was a large screen of LEDs on the floor, which displayed the Voronoi Regions of everyone standing on the screen. The museum is in somewhat of a beta state – a lot of the exhibits are under construction or don’t work quite perfectly, but the place is still very fun and educational. I’m heading back with my dad this Saturday to show him the place.

Gravity cars machine.

Gravity cars machine.

Erty is a fractal.

Erty is a fractal.

Greta on the square-wheeled tricycle.

Greta on the square-wheeled tricycle.

Greta made a pretty wallpaper thing!

Greta made a pretty wallpaper thing!

Afterward, Greta and I visited a gaming shop which we had discovered in our earlier wanderings near Union Square. The place was huge and packed with games. We had a great time wandering around. I bought some small gifts for my D&D group, which I’ll give them the next time we play.

Afterward, I returned to Hacker School and Greta went to Starbucks again for Tea and Hobbit. I worked on Project Euler problems, as well as my javascript game. There’s not much progress being made on that right now, and it’s kind of losing steam, but I’ve learned a LOT from working on it.

Greta and I grabbed dinner at Chipotle, then dropped our stuff off at Hacker School and caught the subway to Times Square, where we saw the show Newsies, on Broadway. Yay impulse buys? I’d never seen Newsies, the movie, so it was a first-time experience for me. Greta kept singing along with the songs, which was cute – she was very excited, since Newsies is one of her favorite Disney movies. The audience was super small – I don’t think there was a bad seat in the house – we sat about 10 rows back, on the ground level.

Afterward, we wandered Times Square for a bit, buying some clothes – a new green jersey dress for Greta, and a pair of shorts and a jacket for me. We hopped on the train to get home and realized that my keys – to home and to Hacker School – were at Hacker School. We went to the location and  – luckily for us, Simon and Alyssa were just hanging out super late at the place, so we were able to get in and retrieve our stuff and keys. Otherwise we would have had a really hard time getting in to the apartment.

HS Day 55: Grand Central Station

Greta and I slept in a bit, since we were exhausted from all the walking yesterday. Our next order of business was a visit to Grand Central Station – just to see the place. I was quite hungry when we arrived, so we checked out the main terminal for just a bit before heading downstairs to the food court – I got some Chinese food, and Greta had a savory crepe. The food was good and the terminal was beautiful.

Celebrating 100 years of Grand Central.

Celebrating 100 years of Grand Central.

Greta at Grand Central Station.

Greta at Grand Central Station.

Erty at Grand Central Station with his new Newsies hat.

Erty at Grand Central Station with his new Newsies hat.

We took the  to the 1 to Hacker School. Greta went back to Brooklyn and got a manicure, and I worked with Mary on the engine for my Javascript game. I learned about Python generators from Pedro, and attended the Thursday presentations. Since I haven’t finished anything in the last two weeks, I didn’t have anything to share.

Immediately after, we met up with some other Hacker Schoolers and went to Hudson River Park to see “Foxygen and Thao & The Get Down Stay Down” with Ian, Alisa, Bella, Amandine, Mike, Alex, James, and a few others (apologies if I missed anyone / got the names wrong). The opener (???) and Thao & The Get Down Stay Down were good, but I wasn’t particularly into Foxygen – too weird for me. Greta and I ate from the Rickshaw Dumpling Co. Food Truck, which was delicious. I’d seen them around town a few times so I was excited to try them out. We left after Foxygen’s second song.

We walked all the way in to Times Square, since that’s where the best subway route to get home was, and visited a cake shop which Greta had seen on TV. Then we took the 2 home and went to sleep.

HS Day 56: Greta Gone

Not much to say today – We woke up, Greta Packed while I got us sandwiches from Zito’s – a favorite of mine. I dropped Greta off at the airport and she left. 🙁

My dad visits tomorrow, which will be fun.

I’ve been playing SC2 and working on various things all day, but in a kind of post-awesomeness sadness. Mono no aware.

Finally caught up on blogging, though. Should be back to daily now.

From Brooklyn,

–Erty

What are Javascript, AJAX, jQuery, AngularJS, and Node.js?

This post is addressed toward people who have little to no experience with JavaScript, Node.js, or their associated libraries, but are interested in learning what they are and aren’t.

Another student at Hacker School asked me to explain the difference between Javascript, AJAX, jQuery, AngularJS, and Node.js.

Let’s start with the basics:

JavaScript

JavaScript is a programming language designed for use in a web browser. (It’s no longer a “scripting” language, nor does it have anything to do with Oracle’s “Java”, so the name is a bit misleading.)

You can code in JavaScript – it’s a full-featured language which (with one notable exception) runs in a web browser like Chrome, Firefox, or Internet Explorer. It’s usual use is to manipulate a thing called the “Document Object Model”, essentially elements on a webpage.

JavaScript executes on the client side: A website server sends the javascript to a user’s browser, and that browser interprets and runs the code. This happens inside a “sandbox”, which keeps the javascript from touching the internals of the system, which most of the time keeps malicious code from messing up the user’s computer.

A simple JavaScript program is alert("hello world!");, which on an HTML page would probably be put inside a <script> tag to tell the user’s web browser to interpret the following as JavaScript, like: <script> alert("hello world!"); </script>. This code makes a small alert box pop up on the user’s browser. To see this code execute, click here.

So, to recap: JavaScript is a programming language that operates in the browser, inside a security “sandbox”. It allows manipulation of elements on a webpage.

AJAX

AJAX stands for “Asynchronous JavaScript and XML“, and is a way that a webpage can use JavaScript to send and receive data from a server without refreshing a webpage. XML is a kind of markup language – like HTML, which people sometimes use for sending data across the internet. Recently, JSON (“JavaScript Object Notation”) is more popular and can be natively read by JavaScript. I know that’s a lot of 4-letter acronyms, so let’s recap:

AJAX: Asynchronous JavaScript and XML. A system for sending and receiving data from a server without a page refresh. (example below)
XML: eXtensible Markup Language. A language for organizing arbitrary data. Uses lots of angle brackets “<>”. (example)
HTML: HyperText Markup Language. A subset of XML specifically for describing and organizing web pages. (example)
JSON: JavaScript Object Notation. A more modern way of packaging data that’s often used with AJAX. Can be natively read by JavaScript. (example)

A sample AJAX call might work like this:

  1. Client requests page from server
  2. Server responds to request and sends page
  3. Client makes AJAX call to the server and requests more data
  4. Server sends that data.
  5. Client updates the page using that data without refreshing.

Facebook, Gmail, and Pinterest are examples of sites that use a lot of AJAX.

The “Asynchronous” part refers to the fact that when the JavaScript makes the AJAX call to the webserver, it continues to work until the response – it doesn’t “block” and stop while the data is being processed server-side.

jQuery

jQuery is a library built in JavaScript to automate and simplify common tasks. There are many libraries like it, but jQuery really took off because of its power and ability to make things work in older browsers. jQuery is used in the browser, alongside “normal” JavaScript. It is mainly used for animation and AJAX, which are difficult to do with vanilla JavaScript, but are just a few lines in jQuery.

jQuery is included in a web page using the <script> tag; for example: <script src="./path/to/jquery.js"></script>. There are also myriad jQuery plugins, which extend the functionality of jQuery in various ways.

A sample jQuery call, which hides a small box when clicked:

Live Example:

Click!


<script src="path/to/jquery.js">
<script>
    $("#box").click(function(){$("#box").slideUp()});
</script>

AngularJS

AngularJS is a full frontend MVC framework for JavaScript web applications. It was built at Google and provides a way to quickly build large, single-page web applications. Like jQuery, it is included into a page using the <script> tag, and is itself written in JavaScript. Unlike jQuery, it is meant to be a framework upon which an entire web application is built. It actually includes a minimal version of jQuery by default.

If you’re looking to learn AngularJS, I recommend EggHead’s video tutorials. You’ll need to have a very solid understanding of JavaScript first, since writing any Angular requires a deep understanding of prototyping, scope, and various other JavaScript aspects.

The AngularJS website has a page of example projects built with AngularJS, if you’re so inclined.

Node.js

Remember how I told you that JavaScript ran in the browser, but I mentioned that there was one big exception to that? Node.js is that exception. It’s a command-line tool that runs JavaScript on a machine without needing to run in a browser. It does this by using a version of Chrome’s V8 Engine, which is the JavaScript engine that runs inside Google Chrome.

Before Node.js, developers would have to use different languages for the backend and frontend of their application. For example, PHP, Java, ASP.Net would run on the server, and JavaScript would run in the client browser. Now with Node.js, developers can use JavaScript on the server as well as the client, meaning that developers can focus on learning one language. Whether this is a good thing is still up for debate (nsfw language).

Conclusion

JavaScript is a language written for websites to run in the client’s browser.

AJAX is a way for JavaScript to request data from a server without refreshing the page or blocking the application.

jQuery is a JavaScript library built to automate and simplify common web tasks like AJAX or animation.

Angular is a hip JavaScript framework which is made for building large, single-page web applications.

Node.js allows JavaScript to be run without a browser, and is commonly used to run web servers.

Please leave any questions or ideas for improving this article in the comments below!

From Manhattan,

–Erty