Pairing tour day 3 led me to spend the day with craftsman Mike Ebert. I was excited about pairing with Mike because when I started as an apprentice Mike was nearing the end of his apprenticeship, but we got to pair a few times together and I always enjoyed working with him. This time around though, instead of working on a Java server, we worked on a client code base helping internationalize an existing application....
Today I paired with design craftsman Nick Meccia. I was excited to pair with Nick because I only know the basics of design, but don’t know how designers do their thing on a day to day basis. I was also curious to see how designers interface with developers, and what collaboration is like between the two. Today proved to be an interesting day of pairing, mostly because we got to start from the beginning of...
During the last four weeks of an apprenticeship at 8th Light, resident apprentices do a two week pairing tour, and two weeks working on super secret challenges. I started my pairing tour today with Eric Koslow, who is part of a team working on a large JavaScript MVC application. I took a few things from today that I feel like will be good lessons to remember in the future. I’d also like to not make...
The past couple of weeks have been wonderfully intense. I was able to complete my Java Web Server, make my Ruby Tic Tac Toe into a gem, and build a Web Interface that combined my Java Server as a jar and my Ruby Tic Tac Toe library as a gem that allows you to play Tic Tac Toe via JRuby. There was a lot of learning, late nights, and many cups of coffee – but...
JRuby is Ruby implemented in Java. This means that it is capable of accessing Java jars and classes just like a vanilla Java module or project with Ruby syntax. From Ruby land, I can instantiate a new object from a Java class. Or, included as its own jar in an existing Java project or module, the JRuby ScriptingContainer class allows you to make calls to Ruby. What this means is very nice interoperability between the...
The past two days I’ve been working on building a more complex stock analysis tool for use with the apprenticeship Rindlet stock challenge. This also involves a web front end for displaying stock activity. I’m calling the stock analyzer BiggieCode$ as a tribute to Biggie Smalls’ Mo Money Mo Problems. The idea is simple. Take all the stocks that exist in the market (for our simulation this means about 15 stocks), and track their prices....
Recently my early 2011 Mac Book Pro has become nearly unusable due to some hardware issues. It randomly freezes, shuts down, and gives me a 3 beep error signal. This supposedly has something to do with memory, but after replacing the memory with two different sets of memory, running memory test diagnostics on my memory and seeing no errors - I’m suspicious that it isn’t something else. Luckily, I have Apple Care coverage so I...
At this point in the apprenticeship, everyday feels so full of new information it is difficult to describe. I also feel like I’m able to digest the amount of new information coming at me well enough to turn around and use it the next day. Today was one of those days. Tuesday I had my IPM with Micah, which meant reviewing my Java Web Server. It was a little rough initially. My Ant build file...
Based on the title of this post, you would be correct in thinking I’m going to talk about how to mock sockets. In a way I am, but I’m not actually going to mock a Socket. Instead, I’m going to break up that Socket into the two things I care about (in terms of my Java server), and mock those. What are they? The Socket’s input stream buffer and output stream buffer. It took me...
I’ve been working on building a Java web server from scratch. All that means is I’m not using any of the Http libraries Java provides in its newer SDK’s, and instead talking with ServerSockets and Sockets directly. It’s a fun challenge with many details to consider. One such detail is how to stream Japanese character strings via a Socket? I’m kind of kooky and wanted my server to display a 404 not found error page...