Adventures in cooking

Part of living by myself means I need to cook my own food. I’ve been able to cook decently to some extent for a long time, but I never had to cook every meal myself until living here in Chicago. I either lived with my parents, who did most of the cooking, or was in college, where I got most of my meals at the dining halls. Despite living as a single guy just out of college, I made sure to actually eat well and not just be reheating frozen meals all the time (I have had a total of one frozen meal, a Giordano’s frozen pizza, in the entire two months I’ve lived here so far). Here are some of my creations:

Waffles

Waffles
My waffle iron

Not exactly the most interesting, but I got a free waffle iron that someone in my building left in the laundry room with a sign saying “Free”. Waffles are one of the first things I ever learned how to cook, and they’re always a delicious classic. I don’t go for the cheap fake syrup either, I get real maple syrup. It’s worth the cost.

Chicago-style pizza

Yes, of course I need to make some Chicago-style pizza if I’m in Chicago. For the record, I also love New York-style pizza. But Chicago-style pizza has one key advantage: I can make it easily in a normal oven and don’t need to get it crazy hot for it to come out really good. I can cook one a Chicago-style pizza at 425 degrees and it comes out amazing. My first attempt followed the recipe in the Joy of Cooking:

My first Chicago-style pizza
My first Chicago-style pizza

Not bad for my first attempt. It came out tasting pretty good, but did leave some things to be desired. The crust was too fluffy, the cheese didn’t melt quite all the way (I used shredded mozzarella, and it still was definitely noticeable that it was shredded when I was eating it), and something just didn’t feel quite right. A few weeks later, I tried again using a recipe from King Arthur Flour:

My second Chicago-style pizza
A slice of my second Chicago-style pizza

This came out a lot better. There were a few important changes from the first time here. First, I used a different recipe for the dough specifically designed for this use, not a slightly modified version of standard pizza dough. This dough didn’t rise quite as much and was easier to stretch out, so it wasn’t as fluffy and provided the right outer edge for my pizza. Second, I used the stuffed pizza approach. I formed a bowl with the outer crust and placed sausage and cheese on as normal, but then I placed another layer of dough on top before putting the sauce on top, and topping it off with some Parmesan. Further, I used sliced mozzarella rather than shredded, and it made a big difference. in getting the right gooey texture for the cheese. Also, I topped it off with some grated Parmesan, which I didn’t do the first time. Finally, I made sure to coat the pan with butter before baking, which made a surprisingly big difference. I’m definitely going to try this again at some point, and probably keep it more or less the same as how I did it this time.

Challah

Ah, challah. A truly amazing bread. I grew up with challah every Friday night and always loved it, so I continued that tradition living independently. When I first moved here I had no yeast and yeast was not available at the grocery stores (seriously), so I was kind of out of luck. However, with some help from family and the internet, I was able to get some yeast shipped to me. Once I had that, I got to work. The first time I made challah was right when the yeast got here, which was mid-afternoon, limiting how much time the dough had to rise. The result was definitely not bad, but a little too dense and crumbly.

First challah

In subsequent weeks I would make the dough first thing in the morning and let it rise all day, giving a much fluffier result. Here are some from later weeks:

I definitely got some pretty good challahs (challot?) out of that. I’m still getting the braiding technique down, but regardless of how they looked they all tasted delicious. Also, leftover challah makes great toast, which is now my standard breakfast on Saturdays and Sundays.

Enchiladas

I also made some enchiladas using a family recipe I grew up eating. The key components are mole sauce, chicken, chicken broth, corn tortillas, and lots of cheese.

Lasagna

Chili

I don’t have any pictures of this one, but I made some good old-fashioned chili. I wasn’t all that imaginative with this one, and just put a few kinds of beans, some ground turkey, and a few spices in a pot. It was pretty good, though the flavor was kind of weak. Before I make this again I will make sure to get more spices so I can give this a stronger flavor.

Cookies

Ah, a classic, chocolate chip cookies. Easy to make, yet delicious. I made a whole batch of them, following the recipe here. In the past I’ve used the recipe on the Nestle chocolate chip package, but I wanted to see how other recipes were. I liked this one better, the cookies had a better texture and a slightly better flavor. I did make a slight tactical error though. I didn’t consider how many cookies the recipe made (about sixty) when compared to how many people would be eating them (one). Now, there are much worse problems (who doesn’t want a ton of cookies), but I did have to find a way to store them when I don’t have all that much tupperware. However, my grandparents sent me a bucket of popcorn a few weeks prior, so the bucket made a perfect cookie container:

The earlier batches were a bit undercooked and didn’t quite hold together, so I had a lot of cookie crumbles in that bucket. However, those crumbles still tasted good, and the later ones did hold together just fine.

Lemon Chicken

I made some lemon chicken as well, wanting to try something interesting. I used yet another recipe from the internet. That was delicious, but also probably the messiest meal I have ever made. I managed to get flour and cornstarch all over my kitchen, and this used a ridiculous amount of preparation dishes, and I only got two dinners out of it. Next time I make this, I will definitely make more, since for all the trouble it is I want it to last a while.

Burgers

To celebrate memorial day and then later independence day, I made burgers. Nothing particularly special about this, I just make a patty from ground beef and put it in the oven until it’s properly cooked, and add on some cheese at the end. Still, always a delicious option.

Blintzes

Cheese blintzes were surprisingly difficult. I used the recipe from the Joy of Cooking, and the first night it was kind of a disaster. The outer wrappers I made didn’t hold together, and then the filling was way too runny, getting all over the place. They tasted good, but probably half the filling didn’t actually stay in. This was a total mess in my kitchen.

With the leftover filling from the previous night, I gave it another shot. I made another batch of the wrapper batter, having already used all I made the previous night. The second night was definitely an improvement. I changed a few things up that made a big difference. First, do not be bashful in coating the pan with butter. It really does help crisp up the wrappers and hold the finished product together. Second, pour the batter directly from a pitcher instead of using a spoon. That made a big difference in how the wrappers turned out, since it was easier to pour the batter thinner and more evenly. Finally, make the filling the day before and keep it in the fridge since it will solidify somewhat. These held together much better and tasted amazing.

So I think I have been eating pretty well for a single guy in his 20s. I have a collection of recipes under my belt, and I’m always looking to learn more.

I have conquered the North Side Main!

Over the span of a year and four months (March 10, 2019 to July 5, 2020), I have taken photos of every station on the North Side Main Line, from Merchandise Mart to Howard. This all started on my spring break trip during my junior year of college, where I visited Chicago. That trip was mostly focused on downtown, but at one point on March 10, 2019 I did find myself at Sheridan station:

Platform sign at Sheridan
My first published photo on the North Side Main Line, at Sheridan

I also got some pictures of the Merchandise Mart station on that trip, since that’s a major landmark in Chicago and located near downtown:

Platforms at Merchandise Mart
My first published photo of the Merchandise Mart station

All the rest of that trip I got photos of other stations in/around downtown, including areas like the Milwaukee–Dearborn Subway, the State Street Subway, and the Loop. I went all the way out to the end of the northern leg of the Milwaukee–Dearborn Subway up at Division, but never went anywhere north of the river on the State Street Subway.

Blue Line platform at Division
Division Station on the Blue Line

As it would turn out, that would be my last time photographing Chicago with my Canon camera. The next time I was in Chicago was for my interview with BlueBolt, by which time I had my newer and more powerful Olympus camera, and managed to get a few photos along the way.

O'Hare station from the main entrance
O’Hare Station

Once I had the job and started looking for an apartment, I knew approximately where I wanted to be (Uptown/Edgewater area), so for my spring break trip my senior year I returned to Chicago to scope out apartments in that area. Unlike the previous trip, where most of it was downtown, this was mostly focused on the North Side. I stayed up in Rogers Park, and got around via the Red Line. I got plenty more photos of the North Side Main on that trip, taking photos as I traveled to visit apartments. I needed my camera to photograph the apartments, anyway.

Northbound track at Jarvis
Jarvis Station
Northbound track at Granville
Granville Station
Northbound tracks at Bryn Mawr
Bryn Mawr Station
Looking north on the southbound tracks at Thorndale
Thorndale Station
Looking northbound at Belmont
Belmont Station

I also got some pictures of various other stations along the way, some of which I was headed to anyway for various reasons, and some of which I specifically went to for the purpose of photographing. Since this was during my spring break, I couldn’t really choose the weather. Some days were good, but some were also cloudy. However, I knew I was going to be living in Chicago in a few months, so that didn’t really bother me.

Once I moved to Chicago in May, I didn’t really get out much due to the stay-at-home order. Even after it was lifted, I limited how much I went out since I didn’t particularly want to catch COVID-19 or spread it to others. Also, my primary focus for photography was on the parts I could access without going downtown (to avoid crowding), which is to say the North Side Main, Ravenswood Branch, Evanston Branch, and Skokie Branch. Progress initially started slow, but over time I got photos of more and more stations. I started with stations like Wilson, Bryn Mawr, and Howard, but also went up to Linden and down to Belmont:

Southbound Red Line track at Wilson
Wilson Station
Northbound Red Line platform at Belmont
Belmont Station
Looking south at Bryn Mawr
Bryn Mawr Station
Southbound platform at Howard
Howard Station

However, this most recent weekend, since I had a long weekend due to July 4th, I figured I could make use of a three day pass, my extra free time, and a period of good weather to get as many photos as possible. As an added bonus, due to the holiday weekend, crowding was pretty low. I made it my goal to finish with pictures of every station on the North Side Main, which I accomplished by Sunday. Here’s a picture of each station that hasn’t been included earlier in this post:

Southbound Brown/Purple Line platform at Chicago
Chicago Station
Northbound platform at Sedgwick
Sedgwick Station
Back of a northbound Red Line train bypassing Armitage
Armitage Station
Red Line tracks and end of the canopy at Fullerton
Fullerton Station
Northbound platform at Diversey
Diversey Station
Southbound Red Line train bypassing Wellington
Wellington Station
Top of the escalator at Addison
Addison Station
Northbound tracks at Lawrence
Lawrence Station
Argyle station from the street
Argyle Station
South end of Berwyn platform
Berwyn Station

Somehow when I visited Chicago to scope out apartments, I didn’t get any pictures of Morse, which is the station I was staying closest to. I guess in how busy I was with getting places from there, I never thought to get out my camera. I also only realized that as I was putting this post together on July 4 (I had just assumed I took photos of the station I was using frequently for a week), so the next day I headed out with my camera to get photos there and fill in the gap. So, to finish off the set, here’s photos of the remaining stations:

Southbound tracks at Morse
Morse Station
Center tracks at Howard
Howard Station

I also have conquered the Skokie Branch (Yellow Line), since in my quest to photograph Morse, I also went to Oakton–Skokie, having already photographed Dempster–Skokie during my apartment expedition. I will at some point go photograph Dempster–Skokie during the day though.

Looking south on the platform at Oakton-Skokie
Oakton–Skokie Station
Dempster-Skokie from the parking lot
Dempster–Skokie Station

So with that, I’ve hit a major milestone in photographing the Chicago L! I’m warily watching news reports about COVID-19, and if it flares up in Chicago again (so far it hasn’t, but could any day), that’ll put the kibosh on my transit photography for a while. Even if it stays at the level it is, I’m going to avoid going through downtown in order to avoid the highest crowding, limiting my photography to the Ravenswood and Evanston Branches.

Socially distant exercise

Since moving to Chicago, I have been able to keep up a pretty good exercise routine on my bike. This is really important during the COVID-19 pandemic since with gyms closed and all that, this helps me stay healthy. Also, since I am otherwise mostly at home (my job is from home and I’m limiting how much I leave in order to help prevent the spread of COVID-19), biking is a good (and reasonably safe) way to get outside.

I used to run cross-country and track in college, but unfortunately cannot run significant distances anymore due to an injury, requiring me to find alternate forms of exercise. I started with swimming in the fall of 2019, but it was often difficult to motivate myself to do it and just didn’t feel right for whatever reason. I avoided the exercise bike since I had done that before and the time there seems interminable and I have to go really hard for a decent workout. In January 2020, I settled on the elliptical since we had a bunch of them available at CWRU and it was reasonably similar to running, but didn’t cause me any problems. With that, I started getting back into shape. Once I got sent home due to the pandemic, I continued on the elliptical since we had one in the garage. Upon moving to Chicago, I needed to find another option since my building doesn’t have any exercise equipment. Biking seemed like a decent option, since it avoided some of the pitfalls of the exercise bike (in particular the fact that your legs are the only thing moving) but still gave me a good cardio workout. As an added bonus, I could bike outdoors and explore the city some.

I first started out biking along the North Shore Channel Trail. I wanted to go on the lakefront trail, but it was closed in order to prevent congregating. It’s a pretty decent trail that goes from Chicago up to Skokie then Evanston. It doesn’t cross a lot of streets, making biking more pleasant. However, it’s a massive pain to get to, requiring a lot of biking down city streets, in particular some that are less than bike friendly. The trail also isn’t all that scenic, offering a pretty standard suburban view the whole way.

At one point I did a bike ride downtown for some photos. I didn’t want to travel on the CTA at the time so that essential workers could have more space, but did want to go downtown to get some pictures. I managed to do so while not getting near anyone, and here are some of the pictures I got:

https://www.flickr.com/photos/jacob-x/49892305722/in/dateposted-public/
North/Clybourn Station entrance
https://www.flickr.com/photos/jacob-x/49891978991/in/dateposted-public/
Outbound Metra train
https://www.flickr.com/photos/jacob-x/49891452468/in/dateposted-public/
Northern portal to the Union Station tunnel

I also considered alternate routes. I then settled on a route that went further east, staying close to the lakeshore. That one takes me right through Northwestern’s campus, and then onwards through Wilmette, and eventually up to Kenilworth and Winnetka. I liked that route a lot more since it was much more scenic and also allowed me to go further. The northern part of the route also paralleled a Metra line, and I briefly got some pictures there with my phone.

Indian Hill station
Winnetka Station
Glencoe Station

One day I planned to bring my real camera to photograph all the Metra stations along the route, but alas that trip was not meant to be. I got a flat tire up by Howard, so I had to walk my bike over to the L and return home. I then had to spend a good chunk of the rest of the day finding a new inner tube for my bike (since the tube is very old at this point, I figured it was worth getting an entirely new tube rather than just patching it). Since it was a Sunday, I couldn’t find any open bike shops near me. I then looked to Target, and found that they had the tube in the size I needed, but nowhere near where I live. I ended up getting there on the L. However, even after that, I still didn’t have a tire lever (the location where I got the tire didn’t have one), so I still couldn’t replace the tube. I then found that another Target location had that, but still not my usual location, so I got to take a nice long walk to get that. Then, with new tire (I bought an extra one just to be safe) and tire levers, I replaced the tire and was back in business. Unfortunately, I haven’t had the right weather (a completely blue sky) on a weekend since then, so I unfortunately haven’t been able to take that trip. It will happen someday.

Then, last week, the lakefront trail reopened. That was so much easier since I only live a few blocks away. The trail also separates bikes and pedestrians for much of its length, allowing me to get some good speed going. As an added bonus, a lot of the parking lots along the trail are still closed, so I can cross them more easily and quickly. Unfortunately the trail is closed between North Avenue and Ohio Street for construction due to significant pavement deterioration between those locations, so I either have to turn around at North Avenue or bypass that area on city streets near downtown. So far the farthest south I’ve been is Museum Campus, but I will definitely continue on further south in the future.

Buildings adjacent to Museum Campus
Skyline from North Avenue

A ridiculous but maybe sort-of useful programming language?

I’ve had some free time lately, and I found a project for the past few days to keep me occupied. It all started in a group chat when someone brought up the idea of building his own programming language where as much as possible is symbols, primarily various types of brackets. Every command is in some sort of brackets (sort of like Lisp), and everything not in some sort of bracket is a comment. An example program (provided by the author) is this:

(#A)(&(A>12)*(A-=3)!(A+=2))(A>>)

To break it down, the program does the following:

  • (#A) reads A from standard in and requires A be a number
  • &(A>12) represents an if statement, where the condition is A>12
    • *(A-=3) means that if the condition (A>12) is true, then subtract 3 from A
    • !(A+=2) means that if the condition is false (i.e. A <= 12), then subtract 2 from A
  • (A>>) means print A to standard out

Arrow

This inspired me to build my own programming language. I was trying to figure out what the most ridiculous way to draw out control structures was, and after thinking for a while, I decided to require the programmer to use text to represent the control flow of the program by drawing everything with arrows. Thus, I called the language Arrow (mostly because that was the first name I could think of that I couldn’t find an existing language for). It is available on my GitHub for anyone who wants to read more about it or maybe try using it. You can look in “primesieve.arw” and “string.arw” for some examples of functions. There are two basic control structures: if and loop.

If statement

/--< false condition
| body
| more body
\-->

In that case, if the given condition is false, then the body is skipped over, indicated by the arrow. Here’s a basic example:

bool even
even = true
/--< x % 2 == 0
| even = false
\-->

In that case, if x is even, then the variable “even” will be set to true. How this works is that if x modulo 2 is zero (i.e. x is even), then the body of the if statement will be skipped and even will retain its original value of true. However, if x is odd, then the body of the if statement will not be skipped over and x will evaluate to false.

Loop

/-->
| loop body
| more loop body
\--< continue condition

The loop functions as a standard do-while. I couldn’t find a way to satisfactorily represent a standard while with arrows, so I gave up and just did do-while (you can always skip over it with an if statement if the condition is false if you want a real while loop). The arrow indicates that if the continue condition is true, go back to the top. A basic example of this:

int counter
counter = 0
int base
base = 2
/-->
| base = base * 2
| counter = counter + 1
\--< counter < 5

That code would calculate to the fifth power by looping until the counter reaches five, and at each iteration multiplying base by two.

Functions

I also couldn’t be satisfied with a programming language without adding functions. Functions also use a syntax that involves visualizing the control flow with text. An important nuance here is that functions must only have one return at the very end. Also, functions cannot be void (though I may implement that in a future update it time permits, and you can ignore the return value of a function). A basic example:

function
/--> int five()
|
^ 5

As you might imagine, that’s a function that returns five. The key idea here is how the return is specified (and code body goes above the return). The return (^) points back towards the function name. An important thing to note here is that you can only return from a function in one place (which must be the last instruction in a function body). Similar to how there are no break/continue statements, this requires the control flow to be visually obvious and have no jumping around, keeping the flow visible with the arrows.

Putting this together

With these frameworks, programs can be put together. A simple example of a loop inside a function is a function that calculates an integer square root (or the ceiling if the number is not a perfect square):

function 
/--> int squareRoot(int x)
| int candidate
| candidate = 0
| /--> //repeat the loop until the candidate squared is greater than or equal to the input
| | candidate = candidate + 1
| \--< candidate * candidate < x
^ candidate

You can get more complicated, since control structures can be nested. To make this more fun, here’s a function that detects if a number is prime:

function
/--> bool isPrime(int x)
| bool result
| result = true
| /--< x < 3
| | int factor
| | int ceiling
| | ceiling = squareRoot(x)
| | factor = 2
| | /-->
| | | /--< x % factor != 0
| | | | result = false //if the factor divides the input, then the input is not prime
| | | \-->
| | | factor = factor + 1
| | \--< factor < ceiling and result //bail out as soon as we see a factor
| \-->
^ result

That function (which uses the square root function from earlier) loops from 2 to the square root of a number and sees if any of those values divide the number. If so, it returns false, and if not, returns true.

Lexer Framework

In the process of developing this, I built a fairly powerful lexer framework that can, given a language spec built with objects, perform the lexical analysis to generate tokens automatically. It’s definitely not the most efficient tool (it uses greedy matching and a ton of string operations), but it was a good exercise in object-oriented design and writing reusable tools. The basic building blocks are as follows, and everything except “fixed string” recursively nests on other token types.

  • Fixed string
  • Fixed sequence
  • Repeated
  • Multiple options

Given rules using these elements (as well as a few other rules on how to actually get a useful result, such as what type to attach to each token and when to combine underlying tokens), the lexer can generate the tokens for a program. A few simple examples:

  • Digit is multiple options of the fixed strings “0”, “1”, … , “9”
  • Unsigned integer is repeated digit at least one time
  • Identifier is sequence of letter followed by repeated alphanumerics zero or more times

Type System

Given that I am a very strong believer in strong typing, I created a type system for Arrow. The three base types are int, char, and bool, and arrays of any dimension can be created from those types. Everything is copied/passed by value (and arrays are deep copied). Strings are just arrays of characters, with the length representing the length of the string. Every variable starts out uninitialized, and attempts to read an uninitialized variable will result in an error. Arrays also can be either initialized or uninitialized. To initialize an array, dimensions must be specified in the declaration (for example, int[] x[5] would initialize an array of length five). Once an array is initialized, each cell is an uninitialized value.

Strings are also a part of the language, with a string being an array of chars. Unlike C which uses null-terminated strings, since arrays are a well-defined type in Arrow (as opposed to C which just has a pointer to the head of the array), the length of the array determines the length of the string.

Scoping and static semantics

Using mostly what I learned in Programming Language Concepts class, I was able to implement static semantics fairly easily. I designed the call stack (and the static symbol stack) to have both a static link and a dynamic link, with the static link being used for scoping and dynamic link being used for a return location. I also was able to implement static type synthesis on the parse tree using techniques I learned in that class. Currently there are no global variables, but with how the scoping system is implemented I could add those with minimal effort.

Input/Output

Though it almost came as an afterthought, input/output were added to the language. Output is pretty simple, using the print keyword (note that it’s not a function, but instead a language construct). Multiple things can be printed by separating them with commas. Input is a bit more tricky, and currently input can only be taken to integers and strings. To receive input, use the input keyword than specify a type (for example, “input int” or “input char[]“). Input commands can be used in expressions like a regular function call, but the argument given is a type and not a variable.

Compiler Design

The overall high level design was taken from what I learned in Compiler Design class. In particular, having a separate lexer, parser, parse tree, and backend (interpreter).

I may have accidentally created something useful

I intended the Arrow language mostly to be a joke as well as maybe something to keep me occupied. However, as I was developing it I realized that it may actually have some useful value. Certainly it’s not a great tool for developing real-world applications, but the visualized control flow may be a useful tool for teaching control structures or helping visualize algorithms. The control flow graph is almost built into your source code here. The lack of any sort of GOTO statements (throw, return, break, continue) also means that the control flow has to be painfully obvious and can only be shown with the control structures that require the control flow to be directly visible.

If anyone creates something useful, I’d love to see it!

Graduated, moved, starting work soon, and a whole lot more

Wow, the past few weeks have been crazy. Quite a lot has happened. This was definitely not the scenario I imagined even a few months ago, but despite quite a whirlwind of things happening, I managed to make it work.

Graduating

Immediately after visiting Chicago to scope out apartments. I had to go back home for the remainder of the semester due to the COVID-19 pandemic. I was lucky enough to be in among the least-affected classes. For the most part, we just continued doing what we were before (mostly a combination of lectures and projects) online.

One interesting twist was the component where I was teaching. I was a teaching assistant for Software Craftsmanship, and the primary component of my job was leading code reviews every week for students’ programming assignments.

Then, the graduation ceremony was pretty much a complete non-event. Some videos were posted, and we each got a slide. I’ll get my diploma in the mail in a few weeks. I managed to graduate Summa Cum Laude (for CWRU that means top 10% of my class), so that was good to see. They unfortunately removed my submission for my slide. I’m not sure why, since it wasn’t anything inappropriate or rude or anything. It was just a picture of me sitting with a cat in my lap and the line “It’s been a crazy four years”. Oh well.

Moving

I have now moved to Chicago! When on my apartment scouting trip earlier, I found one apartment that I knew was my best option. The apartment had basically everything: a good location close to the L, lots of room, on-site laundry, the property management gave me a good impression of how they handled things, and an additional small room that would be good for an office. As an added bonus, the tenants living there at the time I toured the unit had a cat, so I immediately knew this would be a good apartment to have my own cat (coming soon, I hope!) After I finished with apartment tours, I went to the property management office to apply in person, and a few days later got a call telling me I was approved.

Fast forward to May, with some (a lot of) help from my parents, we loaded my stuff into a van and drove up to Chicago. Before actually moving in, I snapped a few quick photos of the empty apartment to document what it looked like without my stuff:

The bedroom
The bathroom
Living room
Office
Kitchen

With that, we got to work unpacking everything. Most of the furniture was fairly easy. The bookshelf just had the shelves taken out, so we had to put those back. We also had to take the drawers out of the dresser to move it up the stairs. My desk required no modification at all. The one somewhat difficult thing was the bed, which we basically completely disassembled to fit into the van. However, being an Ikea bed, we were able to put it back together following the original instructions with minimal tools. Then we also unloaded my stuff, and went to Target to buy supplies and food. We finished the day with some Giordano’s pizza (deep dish, of course), a fitting welcome to Chicago. The leftover pizza then lasted me three more days.

With that, I had a place to live! Over the next few days, I got to work making this place look more like home, putting up decorations, cleaning out boxes, etc.

My living room
My bedroom with a bed in it (and a Chicago flag on the window)
My office (it was hard to get the lighting right on my phone due to the window)
Kitchen
Network supplies and Raspberry Pi in the living room

This definitely felt more like a home. However, I was still missing some real furniture. My living room table was a card table accompanied by a folding chair, and I had no couch. My grandparents came to the rescue for that problem and got me a table, two chairs, and a couch off Wayfair. After some assembly, I had a real living room:

Living room with a real table, chair, and couch

So with that, I have a home! No doubt this place will evolve as time goes on, but I’m pretty satisfied with how it turned out. I’m also really glad I ended up going for a slightly larger apartment, given that now I’m spending a lot more time here than I expected due to the stay-at-home order in Illinois.

Stuff I’ve been doing in the meantime

I had a fairly long gap between when I moved and when work will start, so I have done a bunch of different things in the meantime with all the free time I had. It felt weird being completely done with school, but nice to have all the free time. I have done the common things like watching TV and playing video games (in particular Wii Sports), but also some other things.

For exercise, I still am avoiding running on pavement due to my Achilles, and there aren’t really any good non-paved places around here to run that I’m aware of. Also, all the gyms are closed as part of the COVID-19 prevention measures. Thus, I settled on biking outside. After spending five months on the elliptical, being outside and moving again was a great feeling. The lakefront trail is closed since the amount of people that used it posed a hazard for COVID-19, so I had to find alternate routes. My primary route so far has been the North Shore Channel Trail up to Skokie and Evanston, but I also recently found that going further east into Evanston and Wilmette (via Northwestern) is a good route. I biked downtown once too (via Broadway, which has bike lanes for much of its length) for some photos, to date the only time I’ve been downtown since I moved here.

I have not yet been on the L, which is a bummer given how much of a transit enthusiast I am. Still, I know that the public health of Chicago is more important than my hobbies, so I’m avoiding the L to give more room for the people who really need it. All my supply needs are within walking distance (Jewel-Osco for groceries and Target for most other things), and I haven’t quite started work yet, so there really isn’t much reason for me to be taking public transportation for now. Once things calm down some, I’ll continue my exploration of the city. I have no plans to leave Chicago, so I have plenty of time to do this.

One of my projects in the meantime was the Arrow programming language, available on GitHub, and I will make another post about Arrow and the story behind it soon.

In all, despite the craziness going on everywhere, I think I’m doing well as I can right now. I can’t wait to start work, and in time as things settle down I’ll get to experience more of the city.

My last photo for a while

So during this COVID-19 shutdown, my photography is going on hiatus since I am going to be a good citizen and follow the stay-at-home orders. I have no idea how long this is going to take, but I figure it’ll be a while. Looking through my Flickr, the last photo I took that got posted was this:

Platform at Belmont Blue Line station from far end
Platform at the Belmont Blue Line station from the far end

I took that as part of a free afternoon I had while doing apartment visits in Chicago, not realizing it would be my last photo expedition for a number of weeks, if not several months. Not a bad photo to end with, if I must say so myself. I aligned it about as perfectly as I can hope by hand, and the lighting looks pretty good while still being a clear shot (it helped that this station is fairly well lit and has a light colored design), so it definitely shows how my photography has improved. I also took that picture with my newer camera with everything manual except focus (I’m still getting a feel for that), while my previous Chicago trip was with my older, smaller camera and with all the settings on auto.

Once this blows over, hopefully sooner rather than later, I will finish what I started with my Chicago photos. I definitely am going to explore all over the L, since it’s a really interesting system with a very non-uniform design due to the varying owners and vintages of all its components. I also will try to get as many photos as I can on Metra and the South Shore Line, though that’s inherently limited by the train frequency and the (much) higher ticket cost. There are also a ton of buildings and landmarks I want to photograph, and unlike Cleveland, high density extends throughout the city, rather than just downtown, so that’ll be a fun project. This will take multiple years, but is something I very much look forward to.

Stuck at home

Like virtually every other college student in the United States, I got sent home as a result of the ongoing COVID-19 pandemic and will be taking part in remote classes for the remainder of the semester. After finishing my apartment search, I headed back to Cleveland on Friday and immediately got to packing my stuff. Then, on Sunday I headed back home to Durham, where I will be for the rest of the semester. I likely will not be back to Cleveland again except for visiting friends and hopefully the cross-country alumni meet. It was a bit tough saying goodbye so quickly, since I was before operating on the assumption I would remain on campus with my friends until graduation, so I would be able to hang out with them until the end and we all could say goodbye at the end, but knowing when it was. Instead, I met with some of them one last time at Mitchell’s Ice Cream (which is now also closed), and then first thing the next morning headed out. We’re all still keeping in contact, but it’s not the same. I also had a few more things I wanted to get pictures of, but I guess that was not meant to be. It so happened that my last photo was filling in a missing photo from my post about the changes to the public transportation in Cleveland:

Track 10 construction work at Tower City
Track 10 reconstruction at Tower City

The first week of remote classes is going as well as I can hope. The situation is obviously not ideal for anyone, but we’re getting by. My classes are mostly using Zoom, which seems to be standing up to the likely unprecedented load without any problems I can notice. Since my classes are mostly lecture and project based, I’m in a better situation than the people in classes that are more discussion or lab based, so I’m basically just watching lectures from home instead of in person.

Life at home meanwhile is somewhat boring. I am taking a fairly light courseload for my final semester, so I already had a fair amount of free time back at CWRU. Now that most of the other things I was doing that take my time aren’t happening anymore, I have a lot more free time. Other than schoolwork, I’m also working on other projects, exercising, and making sure to walk outside a lot since the weather is beautiful down in NC.

I somehow managed to time the apartment hunt perfectly. While I was in Chicago, there were virtually no restrictions and it was more or less businesses as usual. Almost immediately after I left, the COVID-19 countermeasures began, which would have probably made apartment hunting much more difficult if not impossible.

Moving to Chicago will be interesting. Assuming interstate travel isn’t banned, I’ll be moving in early May. I have an awesome apartment, which is especially good now that I’ll likely be spending a lot of time there, likely including working from home for some period of time. Time will tell I guess. I also had a lot of plans to explore various things around Chicago and other nearby cities starting this summer, but those will have to be put on hold. Fortunately, I have plenty of time to do all this once this pandemic is over, even if it takes a long time, since I have no plans to leave Chicago.

Apartment hunting: Day 3

So today I continued my apartment hunting adventure. As was the case with the past two days, my day started with an apartment visit. This time, it was in Edgewater. Not all that much to say on that front, so I’ll continue to the fun stuff. I had some hot bar food from Mariano’s for lunch, which was pretty good. I will likely be shopping either there or Jewel-Osco for groceries, so I figured I might as well start getting familiar with their stores. Once that was done, I got back on the L and headed towards another barrage of apartment visits. This was the first set I saw not on the Red Line, but instead on the Brown Line, making this my first time taking that line (I also have not yet ridden the Green or Pink lines). I got off at Paulina:

Outbound platform at Paulina
Outbound platform at Paulina

From there, I headed to my first apartment of this set of visits. I then traveled across that part of the city (the realtor driving me between apartments), and visited a number of units in Lakeview and Uptown, but further west than I was before. After that was done, I caught the Brown Line at Irving Park. Due to fairly large the number of people there (it was about 3:30pm at this point, so rush hour was approaching), I didn’t get any photos, and it was cloudy anyway. I headed back downtown and hung out there for a while, then headed back north to get dinner. Since I wanted something light, I took the train back to Bryn Mawr to go back to Mariano’s and get a chicken caesar salad:

Southbound tracks at Bryn Mawr
Southbound tracks at Bryn Mawr

After some dinner, I figured I would explore a more remote part of the L system, and figured I’d head to Howard and from there either go to Linden or Skokie, depending on which train arrived first. It just so happened that both were there, so I opted for Skokie for no particular reason. Thus, I boarded the Yellow Line and went out to Dempster-Skokie.

Train waiting at Dempster-Skokie
Train waiting at Dempster-Skokie
Termination platform at Dempster-Skokie
Dempster-Skokie termination platform
Dempster-Skokie entrance
Dempster-Skokie main entrance

From there, I headed back to Howard, then transferred to the Red Line and called it a night. It’s feeling a lot more real that I’m moving here now that I’m apartment hunting. With any luck, I’ll have a place to live soon. From there, I’ll have a whole new city to explore.

The apartment search continues, with some twists along the way

So first, I should mention the concept of cohesion in software engineering. It basically says that everything in one place should be dedicated to one idea. This post definitely is not cohesive. With that out of the way, the past few days have been interesting. They have been mostly dedicated to apartment searching. I have found a few that look great, as well as some that I am going to skip on. Once this search is over I’ll submit some applications and hope for the best. My search is primarily in Uptown, Edgewater, and Rogers Park, all near the Red Line. I ended up leaning towards Uptown and Edgewater since they’re denser and closer to the city, but still quieter than neighborhoods closer to downtown like Lakeview.

Along the way I’ve also been lots of interesting places. On Monday, I started the day with an apartment visit in Uptown, followed by another in Rogers Park. After that I headed downtown to Union Station to meet some friends from CWRU for lunch, where we ended up going to My Thai. It was a really good lunch and also nice to see them in a non-college setting. Along the way, I got off at Clinton on the Blue Line and that was my only set of transit photos for the day since it was raining pretty much all day.

O'Hare-bound track at Clinton
O’Hare-bound track at Clinton
Platform at Clinton
Platform and escalator at Clinton

After lunch I headed back north to Edgewater for another apartment visit. As part of the tour the property manager described the neighborhood, including the restaurants. One of the restaurants was Francesca’s, and it was apparently National Meatball Day, so that became my dinner. A very good dinner, though also a lot of food.

Tuesday saw some improved weather. It was colder, but also mostly sunny. I started the day with another apartment visit in Uptown. I then went to the Chicago History Museum and spent a while there. The museum was really interesting, containing an exhibit about a narrative of the history of Chicago, including a 1892-built L car. It also had an exhibit about Lincoln, Muslims in Chicago, modern design, and a few other things. Then from there, I headed downtown to kill some time before getting lunch. I bought my very own Chicago flag along the way, which I’ll hang up in my dorm or something for the rest of the semester. Also, I got some pictures from the LaSalle Street Bridge over the river:

Chicago River from LaSalle Street looking west
Looking west on the Chicago River from LaSalle Street
Chicago River from LaSalle Street looking east
Looking east on the Chicago River from LaSalle Street

While at lunch, I got an email from CWRU informing me that classes are cancelled next Monday and Tuesday, and will be conducted online for at least three weeks after that. As a TA, I immediately emailed my boss about what to do, and we’re going to be hosting lectures and discussion sections online via Zoom, so that should be fine. I wonder how my other classes are going to happen, and it’ll be interesting seeing campus become a quasi-ghost town since the email also encouraged students to go home if at all possible.

After lunch, I headed back north to Howard on a Purple Line Express for another apartment tour back in Rogers Park. I got there early, so I first tried to get some pictures at Howard, but too many people were there for me to get one without being disruptive. Instead, I got on the Red Line and went one stop back to Jarvis, and got a few pictures there. I also got a shot of the empty interior of a train before we left Howard. Since it was later in the day, I was limited in what I could do due to the sun.

Interior of a Red Line train at Howard
Interior of my train at Howard
Northbound track at Jarvis
Northbound track at Jarvis

I still had some more time before the tour was scheduled, so I headed over to the lakefront.

Lake Michigan from Chase Avenue
Lake Michigan from the end of Chase Avenue

Then, I went on the tour and went back to the place I’m staying. Later on, I got dinner at Asian Station, an Asian fusion place right by the Morse station. That was also a very good meal.

Tomorrow is the last major apartment hunting day, then Thursday is a bit more relaxed, and I’m going back to Cleveland Friday. It’s getting a lot more real that I’m moving to Chicago now that I’m touring apartments.

Preparing to scope out Chicago

First of all, greetings from Chicago!

Since I’m moving here soon, I need to find a place to live. My plan for this trip was to scope out neighborhoods, tour apartments, and do other things necessary to get ready to live here.

To start with, my journey was an interesting time. I had a flight from Cleveland to Chicago-Midway scheduled at 4:25pm. Since there was work being done on the Red Line between East 55th and Tower City that took that section out of service, I needed to budget extra time. Also, to avoid a train-bus-train combo, I took the HealthLine to Tower City instead. Being the paranoid person I am, I left at about 12:30 after a quick lunch from Panera (which is conveniently located right next to the East 115th Street HealthLine stop). That gave me four hours to get to the airport, which was less than 20 miles away. Anyway, from there things went without any problems. I made it to the airport and through security with over two hours to departure. Thus, I killed some time at the airport waiting for my flight. My flight then went without any trouble.

The fun began when I actually arrived in Chicago. The place I’m staying is very close to the Rogers Park Metra station, but somewhat further from the L. I normally wouldn’t mind walking, but I had a suitcase and didn’t want to be walking through a city more than I absolutely had to carrying a suitcase. Therefore, I planned my trip so that I would catch the Orange Line to Washington/Wells, then transfer to Metra at the Ogilvie Transportation Center. One catch: I was cutting it close. I had to get from the gate to Ogilvie in under an hour, and that included picking up a checked bag. The instant I got my bag off the carousel (which conveniently was one of the first ones), I made a mad dash for the L. Of course, I just missed the train, so I had to wait a while for the next one. While all this was happening, I was constantly eyeing my watch for how much time I had left to catch Metra, seeing how much time I had. Soon after another train pulled in, but it didn’t leave for several more minutes. Eventually, my train left and headed in towards Downtown Chicago. The L went pretty smoothly, but I still knew I was basically playing Tetris with train schedules. I got to Washington/Wells at 5:38, and I had to be on board the train at Ogilvie by 5:45. Thus, I got to make a mad dash across Downtown to catch Metra. I was sprinting with a backpack and suitcase across Downtown and being as opportunistic as I could with stoplights. After finally making it to Ogilvie, I had a new challenge: how on earth do I actually get in? There were a bunch of doors, but most were for adjacent shops. The actual entrance wasn’t exactly clear it was for the station, since it had a bigger sign for a restaurant. Anyway, I finally found my way in, ran as quickly as I could to the platform, and boarded the train with two minutes to spare. From there, it was a pretty uneventful journey. I got to Rogers Park right on time and quickly got to my lodging.

On Sunday, since I had a Metra weekend pass from the day before, I decided to go the Museum of Science and Industry. The Metra Electric District left Millennium Station at 10:10 and 10:40 on Sundays, followed by a very long gap. I caught the Red Line at Morse, hoping to make the 10:10 train. I ended up missing it (due in part to an unexplained delay at Loyola), so I instead caught the 10:40 train. That whisked me right to the museum, and I had a fun time. The museum remains very cool, and is absolutely giant. They have a model railroad of Downtown Chicago as well as a bunch of freight/intercity stuff across the country. They also have U-505, a captured German World War II submarine.

U-505 Conning Tower
The conning tower of U-505

Then, I grabbed some lunch at the museum cafe, having a chicken caesar salad. After that, I caught the 2:10 Metra Electric back to Millennium Station.

Looking north from northbound pltaform at 55th-56th-57th Street Station
Platforms at 55th-56th-57th Street
Northbound Metra train at 55th-56th-57th Street Station
My train back downtown

Once back downtown, I caught the Red Line and headed up to Belmont to begin checking out some of the apartments I will be touring and get a feel for the neighborhoods.

Looking northbound at Belmont
Red Line tracks at Belmont

From there, I explored the Lakeview, Uptown, and Edgewater neighborhoods. I found that Lakeview is probably a bit too happening for me, but Uptown and Edgewater looked like good matches, since both of those are within easy access of Lakeview (I still want to be able to access all the things happening in Lakeview, just not necessarily be living right there) and a bit quieter. They also have the right kind of density for me. I will be touring several apartments in that area over the next few days, so here’s hoping.

Anyway, after walking up to Thorndale, I caught the train up to Rogers Park to see what’s up there.

Looking north on the southbound tracks at Thorndale
Northbound track at Thorndale

From there, I headed up to Jarvis to look at the neighborhood there. Tonight I’m going to get dinner somewhere in Chinatown, so that’ll be nice.

Chicago definitely has the right feel for a city for me, and I think I have found where I want to live in it (that is, Edgewater or Uptown). The L makes it very easy to get around, and the Red Line runs super frequently, even on Sunday, which is very nice. Here’s hoping I can find a good apartment. My tours begin tomorrow, so stay tuned.