My staycation concluded this weekend, and today my continued exploration into more consistent journaling follows along to document it. Two particular events stand out in my mind - the exhibit on race at the Chicago History Museum and my start of David Foster Wallace's A Supposedly Fun Thing I'll Never Do Again. The two don't really have much to link them, but this blog, in an attempt to be something more than a loose amalgam of random thoughts should at least try to cobble together a theme. That being the case, the theme for today is perception.
I've always been aware of racism, even if, as a white dude from the South, I didn't appreciate the struggles that people of other races dealt with. I always knew that "racism was bad" and that minorities were subject to issues that I didn't have to face, but much of my understanding was simply a surface one.
The exhibit at the museum turned a lot of the perception of race on its head. Rather than focusing on sympathy for other races and cultures, the exhibit demonstrated that race is a fluid concept, and, to my surprise, a relatively recent one - the word 'white' as it applies to race today didn't even appear until the 17th century.
Apparently, the construct of race was coincident with trans-oceanic travel. Prior to sailing across the sea, individuals would see gradual shifts in skin color, physical markers, and cultural differences as they traveled long distance. Once Europeans encountered America, though, they had been shoved on a boat for several weeks or months and then exposed to completely new cultures all at once. This change from gradual to sudden led to jarring disconnects between two cultures, and in order to explain the differences in terms people could accept, they invited the modern concept of race. I'd often heard the phrase "there's no such thing as race" (from a biological standpoint, not from the people who claim to be color blind) in the past and believed it - at least in a broad sense - but this exhibit did a good job of summarizing the information in such a way that the point was really driven home.
The theme of perception with David Foster Wallace is much subtler. I've only read one essay of his in total so far (and haven't read any of his previous works), but his gift for language is readily apparent. His subject matter isn't shocking or inherently interesting by itself (the essay was in turns about his tennis career in high school and tornadoes), but his ability to weave a story around seemingly mundane matter is incredible. His tone throughout reminds me of my style at its best moments, but his ability to maintain it is awe-inspiring. His words flow with such ease that his style seduces the reader into thinking the act of putting pen to paper (virtually or otherwise) is trivial. The story of his life likely points to the fact that writing didn't come to him as easily as it appears. This is both comforting and scary. On one hand, it's horrible to think that the suffering he underwent throughout his life is a prerequisite for beautiful writing. On the other hand, we all face our own struggles throughout life, and if that's indeed the necessary condition for producing art, then it's comforting to know that we all have some internal muse, however small it may be.
Sunday, June 17, 2018
Thursday, June 14, 2018
Bring on the Bunting!
Yesterday was an idyllic summer day in Chicago straight out of an early scene in The Music Man (which is appropriate because the musical is set somewhere in the Midwest and Gary, Indiana is a suburb of Chicago).
It was one of those days where Chicago shines in its own unique way. I'm on vacation this week, so I was able to take full advantage of the day.
My wife and I started out hanging out on our local beach. Where we live, the beach typically consists of a grassy park that butts up against concrete blocks that lead down into Lake Michigan.
If you're looking for motion and sand, this isn't the spot to be, but I'm always amazed at how such a large body of water can be so calm. I live less than half a mile from the lake, and barring some winter spill over onto Sheridan Road, homes that aren't immediately on the beach are at minimal risk for flooding. If I lived half a mile from the ocean, especially in hurricane territory, I'd need to evacuate for every tropical storm warning.
After hanging out at the lake, we ate at a local diner famous for its seafood. Chicago isn't known for its fresh seafood, but, given its size as a big city and its culinary reputation, the seafood available in the city is still competitive. I won't compare the lobster roll I ate to the New England version (at least until I visit New England again later this year), but it's not too controversial for me to say it was delicious (I also liked the Chicago tweak of putting the lobster on a French roll rather than a hot dog bun).
We finished the day in Andersonville, a neighborhood in Chicago that could double for one of the sets of The Music Man. Somehow, nestled between two major north-south thoroughfares, it's able to retain the cinematic quality of a stereotypical small town. We even stopped by the local ice cream shop to cap the day. The staff didn't wear soda jerk attire, but the scoops are hand-dipped and never disappointing.
Andersonville is the type of neighborhood where you'd expect to see bunting draped from every household, and, in a way that's true. Andersonville has its own Chicago twist that's not typically associated with small towns across the US - it's an extremely LGBTQ friendly neighborhood, and, this being pride month, the bunting consists of rainbow-colored decorations saturating the area. Even when pride month is over, many homes continue to display Hate has no home here signs (translated in many languages) on their front lawns.
And, to me, that's the beauty of Chicago - it somehow merges Midwest sensibility and big city cosmopolitan ideals in a seamless mix.
It was one of those days where Chicago shines in its own unique way. I'm on vacation this week, so I was able to take full advantage of the day.
My wife and I started out hanging out on our local beach. Where we live, the beach typically consists of a grassy park that butts up against concrete blocks that lead down into Lake Michigan.
If you're looking for motion and sand, this isn't the spot to be, but I'm always amazed at how such a large body of water can be so calm. I live less than half a mile from the lake, and barring some winter spill over onto Sheridan Road, homes that aren't immediately on the beach are at minimal risk for flooding. If I lived half a mile from the ocean, especially in hurricane territory, I'd need to evacuate for every tropical storm warning.
After hanging out at the lake, we ate at a local diner famous for its seafood. Chicago isn't known for its fresh seafood, but, given its size as a big city and its culinary reputation, the seafood available in the city is still competitive. I won't compare the lobster roll I ate to the New England version (at least until I visit New England again later this year), but it's not too controversial for me to say it was delicious (I also liked the Chicago tweak of putting the lobster on a French roll rather than a hot dog bun).
We finished the day in Andersonville, a neighborhood in Chicago that could double for one of the sets of The Music Man. Somehow, nestled between two major north-south thoroughfares, it's able to retain the cinematic quality of a stereotypical small town. We even stopped by the local ice cream shop to cap the day. The staff didn't wear soda jerk attire, but the scoops are hand-dipped and never disappointing.
Andersonville is the type of neighborhood where you'd expect to see bunting draped from every household, and, in a way that's true. Andersonville has its own Chicago twist that's not typically associated with small towns across the US - it's an extremely LGBTQ friendly neighborhood, and, this being pride month, the bunting consists of rainbow-colored decorations saturating the area. Even when pride month is over, many homes continue to display Hate has no home here signs (translated in many languages) on their front lawns.
And, to me, that's the beauty of Chicago - it somehow merges Midwest sensibility and big city cosmopolitan ideals in a seamless mix.
Wednesday, June 13, 2018
5 Minutes of Misery
I recently received an email advertisement for improving foreign language learning in five minutes a day. It was aimed at people who really want to start learning a new language in earnest, and swear they'll set aside one or two hours to get started, but then never have a chance to set aside the time (this was my problem with guitar - now I just set aside 10 minutes and usually, by some miracle, play longer).
I didn't click on the ad, because it was a podcast, and I typically like skimming my marketing barf via reading rather than listening or watching something. However, it did make me look up "5 minute language learning." All of the results I found were simply links back to the same advertisement I wanted to avoid. While looking up those keywords, though, Google did suggest "5 minute journal." Intrigued, I went back to look into the search today to determine if it may provide tips for bootstrapping my writing frequency.
I was less than impressed.
The 5 Minute Journal is a product. Its main purpose is to encourage you to write daily affirmations and goals in the morning and again in the evening. While I think those are some things that one can write in a journal, I'm of the belief that a journal should encompass all thoughts and quirks of the day, not just the positive ones.
I'll be honest. I've had a hard time keeping a journal consistently. While I like writing, I don't generally like writing about myself. And I find it exceptionally strange to write about myself to myself. I've heard in many cases it serves as a pocket therapist and in spurring creativity, but that's been a tough argument for me to buy over the course of my life.
Regardless, a journal is about thoughts and feelings. If in the 5 Minute Journal, I write Today I'm grateful that I have a roof over my head instead of There's a fucking leak in my ceiling after the contractor redid the roof, I got yelled out for not letting the professional contractor do his job, and the contractor isn't responding to me in a timely manner, I'm missing a lot of nuance from my day, don't you think? By writing the latter, it allows me to vent, put something down that isn't as trite as Life is a unicorn! I want to get shafted by the horn! and will probably even lead me to think that, in the scheme of things, maybe I shouldn't get so worked up about a leak. In writing this in about 100 words, I've had the chance to exercise some creativity, vent, swear, and reflect. An affirmation would simply pack all of that away below the surface until it reappears in one long string of Fuck you!s after another somewhere down the line.
So, I'll be thankful today that I had a chance to rant about my roof and affirmations.
Saturday, June 9, 2018
Toward the Dark Heart of Chicago
So, about those diagonal streets in Chicago mentioned in a previous post...
I found an article asking why they exist and confirming my primary theory. When Daniel Burnham planned the city, his primary design placed streets on a grid system. However, his plan also called for diagonal streets to accelerate ingress into the city center from the outer neighborhoods.
Prior to reading the article, the diagonal streets inspired a small blurb of poetry in my mind - "These streets, strange to the rest of the city, are the key to its heart. Rushing ever faster the closer we come." After reading the article, the blurb has lost a bit of its luster, though.
It turns out only one of the streets, Ogden Avenue, was a part of the planned vision. The source of the article, Chicagoist, added a bit of its own leftist snark in its quote that the diagonal streets "as always, [are] all about buying stuff." This opinion appears to be predicated on the impression that people only head toward a city center to shop, or simply support capitalism via working or dining or spending money or erecting statues to Adam Smith. I guess from a deconstructionist point of view, this may be true, though it's a pretty cynical and reductionist interpretation. Rather than engage in some early college-style light debate about the evils of capitalism and cities' roles in propagating that evil, I'll just be happy with my initial poetic thought about moving toward the city center.
However, the line does lose its luster again when discussing America's second favorite past time to capitalism - expelling native Americans from their homeland. As with Ridge and Rogers, the diagonal streets don't come from an architect planned expansion but rather from old Indian trails. Milwaukee Ave. was actually a buffalo transit route to the Chicago River. American settlers commandeered the routes and established their own lives along the trail (and, in a nod to capitalism, set up toll roads along trails).
A side note - Chicagoist, a blogging site where I used to consume most of my news about the city, is no longer in service. It was abruptly shutdown by its owner when its employees attempted to unionize for better working conditions. Maybe their leftist snark wasn't so misplaced after all.
Sunday, June 3, 2018
Long Day Researching the Square
Yesterday's post was a brief story about a Pinkerton detective's involvement in the Haymarket affair. Today's is about how that story came together. Even though it was a short piece (310 words), I had to do about an hour's worth of research.
The idea for the story started while watching the Travel Channel's Mysteries at the Museum vignette on the Reno Gang. In it the Pinkertons set a trap for the gang during an attempted train robbery. This stoked my curiosity about the Pinkertons and their role in US history, so I started reading the above Wikipedia link.
When I reached a section mentioning their involvement in strike breaking efforts, that led me to think about the Haymarket massacre and its place in America's labor struggles. I didn't even know if the Pinkertons were linked to that particular incident, and was ready to switch venues if their link to the incident was too tenuous.
Technically, the Pinkertons aren't officially linked to the massacre, but some theories suppose they were embedded within the crowd to foment a riot and turn the public's opinion against the labor movement. Considering that I wanted to write a story about an infiltrator in the labor movement, this fit my use case well.
Luckily, many of the other details that helped me shade the story were available - weather, timing of the events, description of the bomb used, etc. I had to spend some time researching clothing and facial hair styles for men in 1886, but didn't have to dig too deep. Still, it was fun to attach the story to a historical event and pay attention to the fine points of the day in question rather than ignore them completely.
The idea for the story started while watching the Travel Channel's Mysteries at the Museum vignette on the Reno Gang. In it the Pinkertons set a trap for the gang during an attempted train robbery. This stoked my curiosity about the Pinkertons and their role in US history, so I started reading the above Wikipedia link.
When I reached a section mentioning their involvement in strike breaking efforts, that led me to think about the Haymarket massacre and its place in America's labor struggles. I didn't even know if the Pinkertons were linked to that particular incident, and was ready to switch venues if their link to the incident was too tenuous.
Technically, the Pinkertons aren't officially linked to the massacre, but some theories suppose they were embedded within the crowd to foment a riot and turn the public's opinion against the labor movement. Considering that I wanted to write a story about an infiltrator in the labor movement, this fit my use case well.
Luckily, many of the other details that helped me shade the story were available - weather, timing of the events, description of the bomb used, etc. I had to spend some time researching clothing and facial hair styles for men in 1886, but didn't have to dig too deep. Still, it was fun to attach the story to a historical event and pay attention to the fine points of the day in question rather than ignore them completely.
Saturday, June 2, 2018
A Long Day in the Square
He'd shoved the heavy, spherical object deep in his coat pocket, and was overly conscious of the bulge it produced against his otherwise dapper silhouette. Still, he'd been excited. This was his first assignment as a Pinkerton and he'd been prepping for his role since dawn.
The evening, though, turned out not to be particularly inviting. He was pelted with a steady light drizzle and the skies continued their threat to open completely. His waxed mustache, newly cultivated on his typically clean-shaven face, drooped under the weight of the water and his new derby sat just too tight on his head, heightening the anxiety he already felt about his assignment.
"What's the sphere for?" he'd been bold enough to ask.
An annoyed eye looked up, paused and then replied, "It's a diversion. Nothing more than one of many other articles the anarchists will no doubt throw when the police moved in."
"Why would we want to incite riots among the anarchists?"
Another annoyed glance, "We don't. We're simply the fuse that will blow the lid off their known violent tendencies."
For reasons he still couldn't discern, he let the tepid explanation pass. Perhaps he was excited to be a Pinkerton now and didn't want to jeopardize his first assignment.
Still, as the police moved in, he paused. The argument he'd heard earlier about an eight hour work day made sense especially given the 15 hour day he'd already put in. But, as the rain increased and the din of the crowd amplified, he became more irritated and was happy to relieve himself of the heavy metal ball that had been steadily bruising his hip bone all afternoon. As instructed, he lit the small dummy fuse and tossed it toward the uniformed officers before merging back into the crowd.
The evening, though, turned out not to be particularly inviting. He was pelted with a steady light drizzle and the skies continued their threat to open completely. His waxed mustache, newly cultivated on his typically clean-shaven face, drooped under the weight of the water and his new derby sat just too tight on his head, heightening the anxiety he already felt about his assignment.
"What's the sphere for?" he'd been bold enough to ask.
An annoyed eye looked up, paused and then replied, "It's a diversion. Nothing more than one of many other articles the anarchists will no doubt throw when the police moved in."
"Why would we want to incite riots among the anarchists?"
Another annoyed glance, "We don't. We're simply the fuse that will blow the lid off their known violent tendencies."
For reasons he still couldn't discern, he let the tepid explanation pass. Perhaps he was excited to be a Pinkerton now and didn't want to jeopardize his first assignment.
Still, as the police moved in, he paused. The argument he'd heard earlier about an eight hour work day made sense especially given the 15 hour day he'd already put in. But, as the rain increased and the din of the crowd amplified, he became more irritated and was happy to relieve himself of the heavy metal ball that had been steadily bruising his hip bone all afternoon. As instructed, he lit the small dummy fuse and tossed it toward the uniformed officers before merging back into the crowd.
Wednesday, May 30, 2018
Random Thoughts on Rain
The rain comes in sheets now more often than it did before. Sometimes warm. Sometimes cold.
Sometimes it washes away the heaviness that's fallen on the city, and sometimes the drops are just nails holding it in place.
I've always wondered how much water the lake can hold until it begins to behave like the ocean. I always smiled smugly to think that living a quarter mile away from the lake I was safe from any fury because it's not the ocean. Now I'm not so sure. Long familiar landmarks are gone now, swallowed by the great freshwater sea.
The concept of water is so infuriating. Too much water and we're under flood warnings. Too little and it's a drought. The line is so thin too. If it rains for eight weeks and then doesn't for the next eight, that doesn't mean we've hit equilibrium. It means we've suffered through a deluge and a drought.
But, at least here, far inland, the lake will hold through such phenomena. And that's what scares me. Humans are great at taking everything for granted until they can't anymore. One quadrillion gallons of water (1 with 15 zeros) and it can probably vanish in an instant when we get too greedy. Maybe two quadrillion if nature gets angry enough at us and shows us what it's capable of.
I'll probably sleep well tonight listening to the plink, plink on the roof. But not too well.
Sometimes it washes away the heaviness that's fallen on the city, and sometimes the drops are just nails holding it in place.
I've always wondered how much water the lake can hold until it begins to behave like the ocean. I always smiled smugly to think that living a quarter mile away from the lake I was safe from any fury because it's not the ocean. Now I'm not so sure. Long familiar landmarks are gone now, swallowed by the great freshwater sea.
The concept of water is so infuriating. Too much water and we're under flood warnings. Too little and it's a drought. The line is so thin too. If it rains for eight weeks and then doesn't for the next eight, that doesn't mean we've hit equilibrium. It means we've suffered through a deluge and a drought.
But, at least here, far inland, the lake will hold through such phenomena. And that's what scares me. Humans are great at taking everything for granted until they can't anymore. One quadrillion gallons of water (1 with 15 zeros) and it can probably vanish in an instant when we get too greedy. Maybe two quadrillion if nature gets angry enough at us and shows us what it's capable of.
I'll probably sleep well tonight listening to the plink, plink on the roof. But not too well.
Saturday, May 26, 2018
Crossroads
As I continue wading through my initial Rogers Park research, some of the landmarks I've come to take for granted in 2018 - or simply as part of modern America - have a much more enduring story than I would've initially taken for granted.
The main shocker for me is the origin of Ridge Boulevard and Rogers Avenue. Chicago, when it was rebuilt after the Great Chicago Fire in 1871, was built on a very regimented grid. Every city block - meaning every marker that increases the street number by 100, not every street as hapless tourists and clueless locals come to find out - is 1/8 of a mile. There's a minor exception on the very near south side of the city, but it quickly corrects after mile two south of downtown.
So, from the city center to the farthest major street on the north side of the city - Howard, the generally accepted northern boundary of the city and a major street in Rogers Park - the distance is exactly 9.5 miles. The street number for Howard is 7600, which is, not coincidentally, 9.5 times the eight blocks required to form a mile in Chicago. Devon, the generally accepted southern boundary of Rogers Park has a street address of 6400 and is - you guessed it - eight miles north of the city center.
Ridge and Rogers don't follow this logic. Indeed, there are a few "diagonal" streets - mostly on the North side - that buck the city grid layout. Discovering their quirks may be a good side blog post, but the reasons for Ridge and Rogers are known (at least according to Wikipedia) - they're old Pottawatami Indian trails. This makes sense - Ridge heads in a predominantly north-south direction, while Rogers heads predominantly east-west, so these were likely the trails the Indians used to head in those respective directions.
Still, it's amazing to me that modern infrastructure in America (the land that often prides itself on the "newness" of its traditions) is based off markers that have been around for hundreds, if not thousands, of years. This reminds me of a story (I'm not sure if it's apocryphal) relating the space shuttle to a horse's ass. If it's true, it's a telling reminder that for as much credit humans give ourselves about our ingenuity, we're still slaves to the familiar.
The main shocker for me is the origin of Ridge Boulevard and Rogers Avenue. Chicago, when it was rebuilt after the Great Chicago Fire in 1871, was built on a very regimented grid. Every city block - meaning every marker that increases the street number by 100, not every street as hapless tourists and clueless locals come to find out - is 1/8 of a mile. There's a minor exception on the very near south side of the city, but it quickly corrects after mile two south of downtown.
So, from the city center to the farthest major street on the north side of the city - Howard, the generally accepted northern boundary of the city and a major street in Rogers Park - the distance is exactly 9.5 miles. The street number for Howard is 7600, which is, not coincidentally, 9.5 times the eight blocks required to form a mile in Chicago. Devon, the generally accepted southern boundary of Rogers Park has a street address of 6400 and is - you guessed it - eight miles north of the city center.
Ridge and Rogers don't follow this logic. Indeed, there are a few "diagonal" streets - mostly on the North side - that buck the city grid layout. Discovering their quirks may be a good side blog post, but the reasons for Ridge and Rogers are known (at least according to Wikipedia) - they're old Pottawatami Indian trails. This makes sense - Ridge heads in a predominantly north-south direction, while Rogers heads predominantly east-west, so these were likely the trails the Indians used to head in those respective directions.
Still, it's amazing to me that modern infrastructure in America (the land that often prides itself on the "newness" of its traditions) is based off markers that have been around for hundreds, if not thousands, of years. This reminds me of a story (I'm not sure if it's apocryphal) relating the space shuttle to a horse's ass. If it's true, it's a telling reminder that for as much credit humans give ourselves about our ingenuity, we're still slaves to the familiar.
Wednesday, May 23, 2018
Let's Write a Paper!
I've chosen my first topic for unfreezing my writer's block. Originally, I thought about writing something on the Old West but the topic seems a little expansive and Wyoming isn't my favorite state (just kidding, Wyoming - Stay Boring and Hyper-conservative), so I decided to table that for now. I do wanna work the history angle for now, as it doesn't require much in the way of emotional stakes.
Instead, I've decided to write about my neighborhood, Rogers Park. I'm aware of some of the history, but I can probably dig further and find some useful nuggets. Rogers Park is certainly an eccentric place. It fights fiercely for its culture of tolerance and diversity, even in situations where it doesn't necessarily meet those standards. It's a got strong aversion to gentrification, even in cases where a reasonable compromise may benefit all parties involved. Despite its flaws and its location in Chicago's far north orbit - residents of Naperville taking an express train can actually get downtown faster than I can when taking an 'L' (though there are many qualifications on both sides of that), I've called it home for 13 years. So, I'm not being too frivolous in deciding to select it for a topic.
I'll do this "high school paper" style and with that in mind, here are a few guidelines:
Instead, I've decided to write about my neighborhood, Rogers Park. I'm aware of some of the history, but I can probably dig further and find some useful nuggets. Rogers Park is certainly an eccentric place. It fights fiercely for its culture of tolerance and diversity, even in situations where it doesn't necessarily meet those standards. It's a got strong aversion to gentrification, even in cases where a reasonable compromise may benefit all parties involved. Despite its flaws and its location in Chicago's far north orbit - residents of Naperville taking an express train can actually get downtown faster than I can when taking an 'L' (though there are many qualifications on both sides of that), I've called it home for 13 years. So, I'm not being too frivolous in deciding to select it for a topic.
I'll do this "high school paper" style and with that in mind, here are a few guidelines:
- I'm shooting for a post (or series of posts) between 3000 and 5000 words. At an average reading speed of 250 wpm that will take you, dear reader, somewhere between 12 and 20 minutes to read it.
- Because it's a high school type paper, I'm not expecting to uncover original material.
- I'm going to inject my own writing style and asides into the paper, which was always discouraged in high school. But I'm not actually in high school anymore and am not receiving a grade for this, so I have some latitude.
- I'll source my material from at least three sources.
- I'm probably not going to annotate references to my sources throughout the post(s), but I will provide a bibliography.
- I'll give myself a due date of June 30th for the post(s), so I'm working toward an actual goal.
- I'll post my working notes in blog posts in the interim, so I'm not just going to go dark.
Just How Dense is Rogers Park?
I've started researching Rogers Park for my magnum opus, and as I sort of expected, I'm not really sure where I'm going to go with this. As is the case with every bad student, my initial research went straight to an encyclopedia. One of the first facts I looked up was population and population density to compare to other places in my life. The following really has no basis on any factual narrative I wanted to construct outside of my own life, but this is my blog, so why not?
- Rogers Park has 54,000 people distributed over an area that's shy of two square miles in size. The population density is about 29,000 people per square mile.
- By comparison, Chicago as a whole has a density of about 12,000 people/mi2. So Rogers Park is about 2.5 times as dense as the city on average.
- Gainesville, FL, where I grew up, has a density of about 2,000/mi2. Clearly, simply by enumerating the differences, it's likely obvious that Gainesville and Rogers Park have disparate cultures.
- Manhattan has a density of about 73,000/mi2, so it's fair to say that the RP is dense, but isn't a substitute for Times Square.
Sunday, May 20, 2018
Give Me Five Minutes and I'll Give You A Novel
When I first started creating small, time-bound goals, I had a weekly item for "Journal - 15 minutes" to force myself to write an entry in this here blog once a week. It's been hit or miss. As is common among most people who start a blog, I have a hard time maintaining it with consistency.
What's unusual in my case, though, is I'm not usually someone who has an aversion to writing. At work, I have no problems writing documentation or bantering back and forth on email about a particular topic until a requirement fits into place. The act of writing feels much like puzzle solving in my brain - I like when I hit on a particular phrase that seems to clarify my point.
This seems to be tougher to do via blogging though, for some reason. Perhaps, this is because when I have to write an email for work, I already have a topic in mind, so the words are simply the medium for expressing that topic. In the case of a blog, even when themed - which this blog struggles to be, I'm responsible for producing a topic, and finding a topic I want to write about on a given day can be challenging. I'll often have a topic in mind for days expecting to crank out two or three thousand words and realize, come the time of putting virtual pen to ethereal paper, that I can scarcely put two words together. Other times, a topic I expect to take up a paragraph's worth of space will lead to several posts.
A blog by its very nature also navigates tricky emotional ground. It's essentially a diary, but open to the public. As such, I can be opinionated, but don't want to wind up being too opinionated, in case someone who has control of my livelihood crosses it and vehemently disagrees with what I say and subsequently affects my livelihood. Because it's a public forum, I also have to determine exactly how emotionally open I want to be. I'm typically a private person and am not likely to divulge my vulnerabilities to an anonymous (or pseudo-anonymous) audience regardless of how small that audience actually is. This, by the way, is the same problem I have with writing fiction. I want to write fiction, but in order to write good fiction, one must invest a lot of one's emotional infrastructure into a story that others will be able to criticize, and that prospect is scary.
I've since changed my weekly goal to "Creative Writing - 5 minutes" four times per week. Creative writing is now a loose term - writing a blog post, writing down a recipe, writing a review, etc. However, I'm striving to be more ambitious in order to keep my writing muscles engaged. With that in mind, I have three possibilities for moving this blog forward with expediency:
What's unusual in my case, though, is I'm not usually someone who has an aversion to writing. At work, I have no problems writing documentation or bantering back and forth on email about a particular topic until a requirement fits into place. The act of writing feels much like puzzle solving in my brain - I like when I hit on a particular phrase that seems to clarify my point.
This seems to be tougher to do via blogging though, for some reason. Perhaps, this is because when I have to write an email for work, I already have a topic in mind, so the words are simply the medium for expressing that topic. In the case of a blog, even when themed - which this blog struggles to be, I'm responsible for producing a topic, and finding a topic I want to write about on a given day can be challenging. I'll often have a topic in mind for days expecting to crank out two or three thousand words and realize, come the time of putting virtual pen to ethereal paper, that I can scarcely put two words together. Other times, a topic I expect to take up a paragraph's worth of space will lead to several posts.
A blog by its very nature also navigates tricky emotional ground. It's essentially a diary, but open to the public. As such, I can be opinionated, but don't want to wind up being too opinionated, in case someone who has control of my livelihood crosses it and vehemently disagrees with what I say and subsequently affects my livelihood. Because it's a public forum, I also have to determine exactly how emotionally open I want to be. I'm typically a private person and am not likely to divulge my vulnerabilities to an anonymous (or pseudo-anonymous) audience regardless of how small that audience actually is. This, by the way, is the same problem I have with writing fiction. I want to write fiction, but in order to write good fiction, one must invest a lot of one's emotional infrastructure into a story that others will be able to criticize, and that prospect is scary.
I've since changed my weekly goal to "Creative Writing - 5 minutes" four times per week. Creative writing is now a loose term - writing a blog post, writing down a recipe, writing a review, etc. However, I'm striving to be more ambitious in order to keep my writing muscles engaged. With that in mind, I have three possibilities for moving this blog forward with expediency:
- Use my five minutes to free associate and/or write a short story in five minutes.
- Use my time to begin constructing a story and place my work here.
- Use my time to research a topic and write it in installments/drafts/notes here. This is similar to the papers I had to write on a specific topic in school when I was younger. It'd be interesting to see what pops loose when I actually want to do the research.
I may wind up doing all three or none, but I'll probably give all three a shot and see how it works. Also, in case you're curious, I expected to blot down a few words about the above bullet points here and have this post cranked out in about five minutes. It took me about 35.
Wednesday, May 9, 2018
Programming for Pennies
This post is geared toward the readers who are programmers or the readers who wish to become programmers. I don't think there'll be anything particularly difficult to understand here, but if you're not interested in becoming a programmer then this advice is useless for you (it may be useless anyway). You can always read on for my exciting prose, though.
Much of my (desired) life revolves around how I can simplify the world around me and spend as little money as possible without sacrificing the quality of life I want to have. This is predominantly a security blanket for me. The world is a chaotic place, and I tend to be a pessimist, so I always run through exercises that give me the illusion of control of my environment even if I don't achieve actual control. One exercise I run consistently, if not to the point of obsession, is creating a Panic Budget. In that scenario, I run through a (hopefully) hypothetical situation where I lose my current job and wind up taking another job at reduced pay. I then determine the amount of money needed to live my life at the relative level of comfort I've come to take for granted and then determine if I can sacrifice some of those comforts without making myself miserable.
So, what's this got to do with programming? Well, obtaining resources for programming can run from extremely cheap to massively expensive. As one example, Google has 74,000 employees and spends billions of dollars on infrastructure per year. After running through my Panic Budget I've determined that I don't have a spare billion to spend yet, so I'll have to be more creative.
To start with, in order to be a programmer, I'll need a computer. I don't really have a lot of heavy needs for my computer on a day to day basis. I generally surf the net, watch some movies, occasionally write a blog post, and...write some code. I also don't like lugging a bunch of hardware around for no particular reason. So, this leads me to my first investment as a programmer on the cheap - a Chromebook. I like Chromebooks - they boot fast, they have a lot of easy to plug in software because they're essentially glorified browsers, they're secure, and they're Linux based (though in almost all cases that's an implementation detail that only developers need to pay attention to). However, because they are essentially nothing more than glorified browsers, they don't have a lot of the same tooling availability as more traditional systems like a Windows, Mac, or Linux laptop. However, since we're living in the age of the internet, this isn't as big an obstacle as it first appears.
The rest of this post assumes that you have at least a tenuous grasp of programming tools. If you're not a programmer but are a serious autodidact, fear not, the internet will come to your rescue here as well. If you're willing to go all in and spend some serious time on a computer science education (but not some serious cash), this curriculum is free and comprehensive. Get through it, and you'll be as prepped as any fresh-faced college grad. Don't have the time to invest in a computer science education, but want to pick up on the tradecraft? You can take your pick from several coding websites that will provide you with a good practical foundation.
Once you have your computer and your plan for learning programming in place, you'll need an IDE to code. An IDE offers capabilities that make managing software projects much easier than they would be if simply left to the basic tools offered by an operating system. However, due to the fact that IDEs require the installation of supporting software and compilers of the programs we're writing, a browser-based system like Chromebook isn't initially set up to handle an IDE. Luckily, there are several options on the web that provide these capabilities. They range in cost based on storage, compute capacity, and features available, but almost all of them have a basic tool for hobbyists or lone developers that are either free or extremely cheap. I've chosen to use Codeanywhere because it's a remote virtual computer that allows me to install any necessary software for my projects, and I like the IDE capabilities they provide on top of that virtual computer. I've upgraded from their free, basic plan - which is still pretty solid - to one that gives me a few more capabilities at $84/year. As a side note, Amazon has its own version of an IDE which looks pretty slick named Cloud9. It may wind up being even cheaper in operation than Codeanywhere (at least Codeanywhere's paid plan), but I've grown comfortable with Codeanywhere, so I won't likely switch unless I'm compelled.
Once we have a computer and an IDE, we now need a place to store our code. Though GitHub is the defacto leader in this space, they don't allow for free private storage and their HR practices still seem to be a little bit suspect, so I avoid them when possible. This leaves two alternatives - Bitbucket and Gitlab. I use both because they both offer free private accounts. Gitlab offers more features where Bitbucket offers more polish and a wider user base. Depending on my project, one is likely to serve my needs better.
So, now we can write and store our code. But, if we ever want to let the outside world view it, we need to deploy it somewhere. I've narrowed myself down to a few providers here. In cases where I want to deploy static sites (HTML, CSS, and javascript code only), Gitlab and Bitbucket provide options for easy and free hosting.
If I need to do something that requires a storage backend or something more programmatically complex, Google App Engine offers an amazing set of tools and generous free quotas for users as long they follow the framework's guidelines.
If I need more flexibility or need to experiment with something that the GAE framework restricts me from doing, then I use Digital Ocean. It offers a lot of capabilities for minimal and straight-forward prices.
That'll get you up and running if you want to develop and don't want to spend a lot of money. But that's just the start. There are a lot of tools available to play around with for curious programmers (and their professional alter egos - software engineers). As mentioned previously, the internet is definitely your friend in this case. For example, if you want to experiment to continuous deployment, you can try several tools, including the one I use. For image processing and storage, you can use a free one or one with free quotas and more capability.
If you're experimenting or are on a limited budget, don't be afraid to look around and try different software as a service solutions. They give you broad exposure to the ecosystem on the internet and introduce to tools that pop up in most software engineering contexts, so they're valuable learning tools. If you're trying to go-it-alone or almost alone, they also provide a lot of leverage for functionality that you would otherwise have to write yourself.
Much of my (desired) life revolves around how I can simplify the world around me and spend as little money as possible without sacrificing the quality of life I want to have. This is predominantly a security blanket for me. The world is a chaotic place, and I tend to be a pessimist, so I always run through exercises that give me the illusion of control of my environment even if I don't achieve actual control. One exercise I run consistently, if not to the point of obsession, is creating a Panic Budget. In that scenario, I run through a (hopefully) hypothetical situation where I lose my current job and wind up taking another job at reduced pay. I then determine the amount of money needed to live my life at the relative level of comfort I've come to take for granted and then determine if I can sacrifice some of those comforts without making myself miserable.
So, what's this got to do with programming? Well, obtaining resources for programming can run from extremely cheap to massively expensive. As one example, Google has 74,000 employees and spends billions of dollars on infrastructure per year. After running through my Panic Budget I've determined that I don't have a spare billion to spend yet, so I'll have to be more creative.
To start with, in order to be a programmer, I'll need a computer. I don't really have a lot of heavy needs for my computer on a day to day basis. I generally surf the net, watch some movies, occasionally write a blog post, and...write some code. I also don't like lugging a bunch of hardware around for no particular reason. So, this leads me to my first investment as a programmer on the cheap - a Chromebook. I like Chromebooks - they boot fast, they have a lot of easy to plug in software because they're essentially glorified browsers, they're secure, and they're Linux based (though in almost all cases that's an implementation detail that only developers need to pay attention to). However, because they are essentially nothing more than glorified browsers, they don't have a lot of the same tooling availability as more traditional systems like a Windows, Mac, or Linux laptop. However, since we're living in the age of the internet, this isn't as big an obstacle as it first appears.
The rest of this post assumes that you have at least a tenuous grasp of programming tools. If you're not a programmer but are a serious autodidact, fear not, the internet will come to your rescue here as well. If you're willing to go all in and spend some serious time on a computer science education (but not some serious cash), this curriculum is free and comprehensive. Get through it, and you'll be as prepped as any fresh-faced college grad. Don't have the time to invest in a computer science education, but want to pick up on the tradecraft? You can take your pick from several coding websites that will provide you with a good practical foundation.
Once you have your computer and your plan for learning programming in place, you'll need an IDE to code. An IDE offers capabilities that make managing software projects much easier than they would be if simply left to the basic tools offered by an operating system. However, due to the fact that IDEs require the installation of supporting software and compilers of the programs we're writing, a browser-based system like Chromebook isn't initially set up to handle an IDE. Luckily, there are several options on the web that provide these capabilities. They range in cost based on storage, compute capacity, and features available, but almost all of them have a basic tool for hobbyists or lone developers that are either free or extremely cheap. I've chosen to use Codeanywhere because it's a remote virtual computer that allows me to install any necessary software for my projects, and I like the IDE capabilities they provide on top of that virtual computer. I've upgraded from their free, basic plan - which is still pretty solid - to one that gives me a few more capabilities at $84/year. As a side note, Amazon has its own version of an IDE which looks pretty slick named Cloud9. It may wind up being even cheaper in operation than Codeanywhere (at least Codeanywhere's paid plan), but I've grown comfortable with Codeanywhere, so I won't likely switch unless I'm compelled.
Once we have a computer and an IDE, we now need a place to store our code. Though GitHub is the defacto leader in this space, they don't allow for free private storage and their HR practices still seem to be a little bit suspect, so I avoid them when possible. This leaves two alternatives - Bitbucket and Gitlab. I use both because they both offer free private accounts. Gitlab offers more features where Bitbucket offers more polish and a wider user base. Depending on my project, one is likely to serve my needs better.
So, now we can write and store our code. But, if we ever want to let the outside world view it, we need to deploy it somewhere. I've narrowed myself down to a few providers here. In cases where I want to deploy static sites (HTML, CSS, and javascript code only), Gitlab and Bitbucket provide options for easy and free hosting.
If I need to do something that requires a storage backend or something more programmatically complex, Google App Engine offers an amazing set of tools and generous free quotas for users as long they follow the framework's guidelines.
If I need more flexibility or need to experiment with something that the GAE framework restricts me from doing, then I use Digital Ocean. It offers a lot of capabilities for minimal and straight-forward prices.
That'll get you up and running if you want to develop and don't want to spend a lot of money. But that's just the start. There are a lot of tools available to play around with for curious programmers (and their professional alter egos - software engineers). As mentioned previously, the internet is definitely your friend in this case. For example, if you want to experiment to continuous deployment, you can try several tools, including the one I use. For image processing and storage, you can use a free one or one with free quotas and more capability.
If you're experimenting or are on a limited budget, don't be afraid to look around and try different software as a service solutions. They give you broad exposure to the ecosystem on the internet and introduce to tools that pop up in most software engineering contexts, so they're valuable learning tools. If you're trying to go-it-alone or almost alone, they also provide a lot of leverage for functionality that you would otherwise have to write yourself.
Sunday, April 22, 2018
A Recipe for Writing a Recipe Website
So, about that first recipe website I keep bringing up...
My stint in CS grad school wound up coinciding with my greater exploration of Epicurious. Since I was working part-time at Starbucks and I didn't have classes every day, I had ample time to cook more and search for new recipes.
As I was new to programming, and it was the early 2000s, I also thought it would be a great idea to put up my own simple web page (...and that code still exists on some random hard drive in my house).
Because I was taking a class on XML transformations at the time, I decided to store all of my recipes in XML and then run them through an XSLT transformer to spit out the HTML everyone sees on a web page. For the uninitiated, XML was a data format that was expected to encode information in an easily interchangeable format that was also human readable. Today it's rarely if ever used for newer projects as it turned out to be too verbose and restrictive in its required structure.
So, yeah, XML recipes, but it worked. Because I got side-tracked by other concerns - namely software engineering in a professional setting - the original website fell by the wayside. But, it was for all intents and purposes, my first actual completed software project.
And then, much as my cooking career did, my self-directed programming career began wandering in the desert. I always planned to spend my weekend learning something new. My typical grand scheme was to use Ruby to write a personal finance site similar to the old installable Quicken application. Every once in a while, I'd make headway, but would then lose motivation for the next few weeks, at least, in part, because I couldn't convince myself to put in two solid hours on Saturday and Sunday toward my goal, so why even bother putting in any time at all?
This leads me to a brief digression. Though I'm sure it's prevalent in other professions, the expectation that developers should code in their free time is ingrained in them starting in school. I'm not sure if it's due to the fact that there are many mythical computer scientists who started programming as hobbyists in middle school or if the industry is seen as so fast-changing that we need to spend more than a typical work cycle keeping up, but it's an expectation.
It's also a dumb expectation. The word 'passion' is thrown around too much in the software engineering industry. What's wrong with just being good at your job and furthering your company's business goals as a result? Why not expand the breadth of your life experiences rather than lock yourself in a room for an additional 4-8 hours per day and slowly slide toward becoming an insufferable bore in order to satisfy some vague definition of 'passion'? I've heard about companies that turn down potential applicants because they didn't have personal GitHub repositories. That may lead to a very specific culture, but is that really the type of culture you want to foster?
I have no problems if people want to spend time outside of work on their professional development. I mean, that's what I'm doing here, but why should that be an expectation?
So, anyway, I didn't get very far on the personal website. I'd still try some sort of extra-professional learning from time to time, but I was always demotivated by learning a new language or framework simply to solve a set of contrived problems or to write yet another simple blog site. If I was going to learn a language, I needed to do so in the context of an actual problem rather.
Technically, with the creation of this recipe site, I'm still not really solving a problem that doesn't already have an existing solution, but it scratches a few itches for me -
The problem with most recipe websites is, well, they're blogs. That's not a problem in itself, but the fact that everyone wants to monetize their blog is. This means the page load times are incredibly slow as the blogs retrieve external ads for display. This also means that, in order to actually get to the recipe, I have to go through an entire blogger's backstory before arriving at the recipe, since the more text I have to scan, the more ads I have to see.
While I'm not opposed to this as a business strategy, I don't want to deal with this on every recipe site I cross. The easiest method for me to get around this is to use existing blog templates built for recipes and write my own ad-free blog for reference. Blogs, though, aren't designed to index information in the same way, say, a cookbook is expected to do so. Blogs are generally date oriented. True, we can actually get around this with some labeling and other simple steps, but this is where the programmer in me begins to bubble up.
Before proceeding, it's probably helpful to review my goals, both for your clarity and my own so I can explain why I'm writing a recipe website. These are my goals in order:
My stint in CS grad school wound up coinciding with my greater exploration of Epicurious. Since I was working part-time at Starbucks and I didn't have classes every day, I had ample time to cook more and search for new recipes.
As I was new to programming, and it was the early 2000s, I also thought it would be a great idea to put up my own simple web page (...and that code still exists on some random hard drive in my house).
Because I was taking a class on XML transformations at the time, I decided to store all of my recipes in XML and then run them through an XSLT transformer to spit out the HTML everyone sees on a web page. For the uninitiated, XML was a data format that was expected to encode information in an easily interchangeable format that was also human readable. Today it's rarely if ever used for newer projects as it turned out to be too verbose and restrictive in its required structure.
So, yeah, XML recipes, but it worked. Because I got side-tracked by other concerns - namely software engineering in a professional setting - the original website fell by the wayside. But, it was for all intents and purposes, my first actual completed software project.
And then, much as my cooking career did, my self-directed programming career began wandering in the desert. I always planned to spend my weekend learning something new. My typical grand scheme was to use Ruby to write a personal finance site similar to the old installable Quicken application. Every once in a while, I'd make headway, but would then lose motivation for the next few weeks, at least, in part, because I couldn't convince myself to put in two solid hours on Saturday and Sunday toward my goal, so why even bother putting in any time at all?
This leads me to a brief digression. Though I'm sure it's prevalent in other professions, the expectation that developers should code in their free time is ingrained in them starting in school. I'm not sure if it's due to the fact that there are many mythical computer scientists who started programming as hobbyists in middle school or if the industry is seen as so fast-changing that we need to spend more than a typical work cycle keeping up, but it's an expectation.
It's also a dumb expectation. The word 'passion' is thrown around too much in the software engineering industry. What's wrong with just being good at your job and furthering your company's business goals as a result? Why not expand the breadth of your life experiences rather than lock yourself in a room for an additional 4-8 hours per day and slowly slide toward becoming an insufferable bore in order to satisfy some vague definition of 'passion'? I've heard about companies that turn down potential applicants because they didn't have personal GitHub repositories. That may lead to a very specific culture, but is that really the type of culture you want to foster?
I have no problems if people want to spend time outside of work on their professional development. I mean, that's what I'm doing here, but why should that be an expectation?
So, anyway, I didn't get very far on the personal website. I'd still try some sort of extra-professional learning from time to time, but I was always demotivated by learning a new language or framework simply to solve a set of contrived problems or to write yet another simple blog site. If I was going to learn a language, I needed to do so in the context of an actual problem rather.
Technically, with the creation of this recipe site, I'm still not really solving a problem that doesn't already have an existing solution, but it scratches a few itches for me -
The problem with most recipe websites is, well, they're blogs. That's not a problem in itself, but the fact that everyone wants to monetize their blog is. This means the page load times are incredibly slow as the blogs retrieve external ads for display. This also means that, in order to actually get to the recipe, I have to go through an entire blogger's backstory before arriving at the recipe, since the more text I have to scan, the more ads I have to see.
While I'm not opposed to this as a business strategy, I don't want to deal with this on every recipe site I cross. The easiest method for me to get around this is to use existing blog templates built for recipes and write my own ad-free blog for reference. Blogs, though, aren't designed to index information in the same way, say, a cookbook is expected to do so. Blogs are generally date oriented. True, we can actually get around this with some labeling and other simple steps, but this is where the programmer in me begins to bubble up.
Before proceeding, it's probably helpful to review my goals, both for your clarity and my own so I can explain why I'm writing a recipe website. These are my goals in order:
- Create a website that stores my compilation of recipes for easy reference.
- Use the website as a means to maintain a small software project and keep my skills up to date.
- Use the website as a means to practice some of my other creative endeavors, like drawing.
- Create a section on the website that explains tools and techniques that may be able to assist new cooks to avoid the pain I faced in my culinary travels.
- Possibly find a way to make money off the site, in a non-intrusive fashion.
If I just concentrate on the first goal, and possibly the third, fourth, and fifth, then a blog probably gets me where I want to go. It's the second goal that throws a wrinkle in the execution.
This, though, leads to conflict with my other goals when I'm not disciplined enough to keep the focus on all of my goals. Why? Well here's my line of thinking on writing my own recipe website starting around November 2016. Keep in mind that this wasn't my first iteration either, but the thought process laid out here is indicative of previous iterations of this project as well as iterations of other side projects.
- I'm going to write a simple app and store my recipes on the site in a small database.
- I'm going to use Google AppEngine to do it.
- I'm not going to use Google AppEngine to do it, as the framework model they use is going to be too restrictive, so let me find another way.
- I'm going to research other software as a service sites that will let me write a small app for free or really cheap.
- Everything is either a pain to start up, acquire access to, or too expensive to use.
- DigitalOcean seems to be a good place to run my site on the cheap.
- I still haven't published any recipes.
- OK, I'm starting to write code on a site called Codeanywhere, and it seems to be a great alternative to the need to write all of my code on my own computer.
- However, the virtual machines it uses need to be re-initialized every once in a while and installing all of the necessary software is a pain.
- I'll learn Chef to provision machines automatically.
- I've learned Chef.
- I still haven't published any recipes.
- Why am I spending all of this time writing a program from scratch? There's probably an open source one I can fork and customize. Maintaining other software is a valuable skill to have in the industry, so it furthers my goal.
- There is an open source alternative!
- It's a bit outdated. I should upgrade the components that are there.
- I've learned a lot about code maintenance, upgrades, and Chef.
- I still haven't published any recipes.
- I should just write a static site generator so I can actually publish some recipes.
- Doing so in Javascript will make it much more extensible.
- These Javascript frameworks are more difficult than they need to be for my needs.
- I still haven't published any recipes.
- I'll just write a static site.
- I've published a recipe!
- I've learned about Jekyll.
- I've published several more recipes!
And here we are.
Thursday, April 12, 2018
The Heuristics of Computer Science
In my last post, I took a dive into my cooking history from the teen years to present. In this post, I'll visit my passionate relationship with programming and computer science. Eventually, I'll get to the motivations for why I'm writing a recipe website, but probably not here. Again this is a rehash of old content but fleshes out some of the details to make me look more human.
I wasn't always a fan of programming and its academic discipline, computer science. When I was younger I knew my way around a DOS prompt and played the occasional computer game, but never really got into programming BASIC. At the time, I don't think I was necessarily intimidated by programming, I just didn't understand what it had to offer.
By the time I got to college, I'd decided on mechanical engineering as a major and, as a result, needed to take a few rudimentary programming courses because even in ME, Software was the Wave of the Future ©. I was actually pretty excited. I'd come to understand that programming allowed me to build tools from scratch and it could be used to augment analysis I'd do as a future ME. Having these skills would make me a highly sought after recruit. While those two previous sentences are true, my introduction to computer science (CS101) didn't help close the gap between my talent and my expectations and make those sentences a reality for me.
Though I knew my way around computers, I certainly didn't know my way around programming languages. I was also thrown into a weed out class filled with a bunch of kids who'd been programming since they were 12 and a bunch who were ready to drop engineering for a different major in the next week. I was eager to learn right up until I hit my first compiler error. Though compiler message syntax is pretty straightforward once you know what you're looking at, it's not a stretch to say it comes close to looking like Greek to someone who's never met a compiler (or, if you're Greek it looks like Aramaic). I would spend hours in the lab poring over what would later become obvious to me as simple compiler errors with absolutely no context of what I was exploring. It's as though I was required to learn Chinese simply by staring at the characters. When I asked a TA for help, the TA would simply circle the compiler output on the screen with his finger and state, "it's somewhere right...there," without explaining the output to me. This is similar to asking someone what this character means and being told, "the clues are in the context of the characters you're staring at."
Another great point of confusion around CS101 was the fact that we were learning CS basics in a language called Mathematica. The language itself wasn't the problem. The problem for me was that we were constantly told, "it's not a programming language." Since at this stage I understood learning a programming language as something similar to learning a second speaking language rather than a subset of pidgin English, I freaked: "If I have to relearn everything when I learn a programming language, why am I even learning this stuff!" Turns out, Mathematica had plenty of the control mechanisms and data structures "real" programming languages have, so I was actually learning to program, I just didn't know it.
Needless to say, the rest of my CS career in undergrad didn't pan out to be as illustrious as I'd hoped. I slogged through a few more fearful moments before getting my degree and heading out to be a mechanical engineer. I followed this path for a few years until the company I was at decided it wanted to rebrand itself as an internet company (similar to how everyone now is looking to score off the blockchain fad. Or was). As such, they started offering online tutorial classes for programming, and because I was now safely separated from threatening TAs with their Fingers of Doom, I decided to look into the tutorials.
Turns out I liked them. I even had dreams of teaching myself programming and somehow sneaking into the industry as an autodidact. Then I worried that no one would hire me if I didn't have proper credentials. Then I realized I could go back to school for a CS degree. I started taking a few classes at night, and when my company told me they wouldn't reimburse my tuition because the new degree wasn't relevant to my job, I decided to quit and go back to school full time. Right at the end of the Dot-com boom. My first fulltime day at school was September 10th, 2001. Tim - OH MY GOD, WHAT THE HELL DID I JUST GET MYSELF INTO! - ing.
Well, as we all know, the software engineering market seems to have recovered (just a bit). It also turns out that my second round with CS was much better than my first. I wrote a thesis on cellular automata and graduated with honors. I even got a job before finishing school (turns out it was the worst job of my career and I was fired six months later, but that's probably a different blog post). And, it was during my computer science renaissance that I wrote my first incarnation of a recipe website. But that's definitely a different blog post. Probably even the next one.
I wasn't always a fan of programming and its academic discipline, computer science. When I was younger I knew my way around a DOS prompt and played the occasional computer game, but never really got into programming BASIC. At the time, I don't think I was necessarily intimidated by programming, I just didn't understand what it had to offer.
By the time I got to college, I'd decided on mechanical engineering as a major and, as a result, needed to take a few rudimentary programming courses because even in ME, Software was the Wave of the Future ©. I was actually pretty excited. I'd come to understand that programming allowed me to build tools from scratch and it could be used to augment analysis I'd do as a future ME. Having these skills would make me a highly sought after recruit. While those two previous sentences are true, my introduction to computer science (CS101) didn't help close the gap between my talent and my expectations and make those sentences a reality for me.
Though I knew my way around computers, I certainly didn't know my way around programming languages. I was also thrown into a weed out class filled with a bunch of kids who'd been programming since they were 12 and a bunch who were ready to drop engineering for a different major in the next week. I was eager to learn right up until I hit my first compiler error. Though compiler message syntax is pretty straightforward once you know what you're looking at, it's not a stretch to say it comes close to looking like Greek to someone who's never met a compiler (or, if you're Greek it looks like Aramaic). I would spend hours in the lab poring over what would later become obvious to me as simple compiler errors with absolutely no context of what I was exploring. It's as though I was required to learn Chinese simply by staring at the characters. When I asked a TA for help, the TA would simply circle the compiler output on the screen with his finger and state, "it's somewhere right...there," without explaining the output to me. This is similar to asking someone what this character means and being told, "the clues are in the context of the characters you're staring at."
Another great point of confusion around CS101 was the fact that we were learning CS basics in a language called Mathematica. The language itself wasn't the problem. The problem for me was that we were constantly told, "it's not a programming language." Since at this stage I understood learning a programming language as something similar to learning a second speaking language rather than a subset of pidgin English, I freaked: "If I have to relearn everything when I learn a programming language, why am I even learning this stuff!" Turns out, Mathematica had plenty of the control mechanisms and data structures "real" programming languages have, so I was actually learning to program, I just didn't know it.
Needless to say, the rest of my CS career in undergrad didn't pan out to be as illustrious as I'd hoped. I slogged through a few more fearful moments before getting my degree and heading out to be a mechanical engineer. I followed this path for a few years until the company I was at decided it wanted to rebrand itself as an internet company (similar to how everyone now is looking to score off the blockchain fad. Or was). As such, they started offering online tutorial classes for programming, and because I was now safely separated from threatening TAs with their Fingers of Doom, I decided to look into the tutorials.
Turns out I liked them. I even had dreams of teaching myself programming and somehow sneaking into the industry as an autodidact. Then I worried that no one would hire me if I didn't have proper credentials. Then I realized I could go back to school for a CS degree. I started taking a few classes at night, and when my company told me they wouldn't reimburse my tuition because the new degree wasn't relevant to my job, I decided to quit and go back to school full time. Right at the end of the Dot-com boom. My first fulltime day at school was September 10th, 2001. Tim - OH MY GOD, WHAT THE HELL DID I JUST GET MYSELF INTO! - ing.
Well, as we all know, the software engineering market seems to have recovered (just a bit). It also turns out that my second round with CS was much better than my first. I wrote a thesis on cellular automata and graduated with honors. I even got a job before finishing school (turns out it was the worst job of my career and I was fired six months later, but that's probably a different blog post). And, it was during my computer science renaissance that I wrote my first incarnation of a recipe website. But that's definitely a different blog post. Probably even the next one.
Sunday, April 8, 2018
A Brief History of Cooking
In an effort to establish a cohesive theme to my blog and motivate me to write more often, I've decided to pick one topic and write through it in a serial fashion rather than follow the stream of consciousness/writer's block flow I dealt with until now. Because I've been spending a lot of time with my recipe site, I'm focusing on this as my first topic. Some of it will be a discussion on design, some of it will simply be philosophizing, and some of it may wind up being a technical deep dive.
To that end, I'm likely to repeat some content from previous posts, but I hope the content will be more in-depth. Where it's relevant, I'll probably double post here and in the
Today's post is about my history with cooking and how it led up to my motivation to write a recipe site. I've mentioned my history a bit in passing in the past, but I'm going to back up a bit and take a more in-depth view.
I've been interested in cooking since my teenage years. Much of what I started out cooking was simple - frozen pierogi, enchiladas made from pre-cooked chicken and bottled sauce, and basic mac and cheese. Still, given the typical teenager's typical lack of motivation, I find my initial efforts from those years commendable.
My cooking skills went on hiatus for my first three years of college, as dorms and 20-year-old roommates living in dilapidated apartments aren't conducive to culinary exploration. However, I started again my senior year when I lived in a small apartment by myself. It's not too much of a stretch to say my ambition outstripped my talent at that juncture. I attempted to make relatively complex dishes like spinach and bechamel lasagna without really understanding how to boil water appropriately, and the results you'd expect followed.
Still, I forged on. After graduating from college, I regressed a bit in my experimentation. As I was living on a budget, I had my food routine down pat for the week. My principal contribution to cooking from this era was a combination of fettuccine (I finally learned how to boil water), whole canned tomatoes, dried basil, and freshly grated parmesan that my roommate graciously shared with me when his mom would drop a bag of it off at our place. It was a simple dish and my Monday night staple (along with a purchased baguette), but, unbeknownst to me, it held the keys to my cooking philosophy in later years.
Then, I started dating a girl who liked to cook with some frequency - at least when we wouldn't wind up getting too lazy and just go to Culver's for butter burgers - and discovered Epicurious. Epicurious was fabulous (and, in my opinion, still is), but it led me back into the dark ages of college cooking with its detailed instructions to make everything from scratch and 4-hour sessions of culinary immersion. Try as I might, I wasn't prepared to keep up, so my attempts at that time were very spotty.
I'd like to say that I reached my end state in the next few years rather than wandering around in a recipe wilderness and occasionally hitting on a bright spot in the forest. But, considering that I haven't quite reached the edge of the wood today, I won't say anything.
However, I did gain a lot of experience:
To that end, I'm likely to repeat some content from previous posts, but I hope the content will be more in-depth. Where it's relevant, I'll probably double post here and in the
README.md
file that's housed in my source code repository.Today's post is about my history with cooking and how it led up to my motivation to write a recipe site. I've mentioned my history a bit in passing in the past, but I'm going to back up a bit and take a more in-depth view.
I've been interested in cooking since my teenage years. Much of what I started out cooking was simple - frozen pierogi, enchiladas made from pre-cooked chicken and bottled sauce, and basic mac and cheese. Still, given the typical teenager's typical lack of motivation, I find my initial efforts from those years commendable.
My cooking skills went on hiatus for my first three years of college, as dorms and 20-year-old roommates living in dilapidated apartments aren't conducive to culinary exploration. However, I started again my senior year when I lived in a small apartment by myself. It's not too much of a stretch to say my ambition outstripped my talent at that juncture. I attempted to make relatively complex dishes like spinach and bechamel lasagna without really understanding how to boil water appropriately, and the results you'd expect followed.
Still, I forged on. After graduating from college, I regressed a bit in my experimentation. As I was living on a budget, I had my food routine down pat for the week. My principal contribution to cooking from this era was a combination of fettuccine (I finally learned how to boil water), whole canned tomatoes, dried basil, and freshly grated parmesan that my roommate graciously shared with me when his mom would drop a bag of it off at our place. It was a simple dish and my Monday night staple (along with a purchased baguette), but, unbeknownst to me, it held the keys to my cooking philosophy in later years.
Then, I started dating a girl who liked to cook with some frequency - at least when we wouldn't wind up getting too lazy and just go to Culver's for butter burgers - and discovered Epicurious. Epicurious was fabulous (and, in my opinion, still is), but it led me back into the dark ages of college cooking with its detailed instructions to make everything from scratch and 4-hour sessions of culinary immersion. Try as I might, I wasn't prepared to keep up, so my attempts at that time were very spotty.
I'd like to say that I reached my end state in the next few years rather than wandering around in a recipe wilderness and occasionally hitting on a bright spot in the forest. But, considering that I haven't quite reached the edge of the wood today, I won't say anything.
However, I did gain a lot of experience:
- I learned to trust myself more than a specific recipe. I can generally look at a recipe now and determine if it's going to work as written or if it needs adjustment. Sometimes I'm surprised that someone even bothered to write the recipe as written, as there's no way in hell it's going to work.
- I learned I'm not a foodie. Some people can really appreciate a fresh, vine-ripened tomato in the middle of summer and swear they can tell the difference between the bulk fruit shipped out in winter. I'm not one of those people. This has helped me determine where I can cheat on ingredients, and where I need to focus. I do know my taste buds couldn't care less if the cheese is actually from the Parma region.
- I'm not big on presentation. I do want the food to look pretty, but if my lasagna falls apart while plating it, but still contains all the flavor I crave - oh well!
- I'm a perfectionist when it comes to searching for recipes. I've spent years tweaking a blue cheese pasta recipe in the hopes of coming close to matching something I ate at a resort in Wisconsin 17 years ago. I keep looking for better and quicker variations on some of my old favorites.
- I'm not a fan of making cooking a marathon event. I don't mind spending an hour in the kitchen, but my sweet spot for cooking is 30 - 45 minutes. If I can leave some things around for a few hours or a day - like bread, marinated meats, or olive dressing - that's an easy and delicious trade-off. However, I'm never going to brag about making an all-day ragu sauce. There are plenty of shortcuts I can take that meet the criteria of close enough.
- I prefer using general tools with a few specialty items that make cooking significantly easier (a cast iron pizza 'stone' and a mandolin are the two big ones that come to mind).
- I prefer simple, more traditional food, but I'm not a traditionalist. I'll make a Cuban sandwich with ciabatta bread.
- If the above two bullet points offend you, please re-read the second bullet point.
- I have some irrational need to develop X number of recipes for rotation across a year. Typically, that number is 52 (for obvious reasons), but it goes up and down. I'm reaching a point where I'm getting close to that number with a lot of recipes that I've made at least a few times. It's taken a lot of experimentation and discipline to write down the recipes that I want to keep (as well as the discipline to jettison some of the dogs even if I really want to like them). I'll admit that discipline has been spotty, so that's why this journey's taken me 20+ years to get to where I'm at. I suspect when I hit my number and document my recipes (assuming I will this time. But, hey, if I can blog with relative consistency, then I'll probably be able to hit a cooking target), I'll just add to what's there, because that's the beauty of food - there are just so many delicious varieties, so why limit yourself?
Thursday, March 29, 2018
Simple, really
My new recipe website is definitely falling into the "labor of love" category. Jekyll, after a few small hiccups, has been extremely easy to navigate through and does a lot to help me minimize the code I need to rewrite. As of this writing, I've got about 400 lines of code - mostly html and css with a few Ruby directives and filters mixed in - and about 80 lines of configuration in place for a fully functioning website. I expect, that, given my current strategy of adding recipes and, eventually adding a cooking lessons section to the site, I'll have about 2000 total lines of code and configuration in place for my website. In addition, Jekyll's ease of use has even allowed me to do a full recipe page redesign and make the page responsive to different sized devices.
Of course, anyone familiar with software engineering will point out that this is just a simple static site. That's true, but getting to simple is often the most difficult people take to solve a problem. Simple solutions are often deceptive, because, in hind sight, they seem so obvious, even though the effort to get there could take a lot of effort.
In my case, it literally took years. I started with the idea of website and thought I'd need to create a CRUD (Create, Read, Update, Delete) app with a database that's so ubiquitous across the web. And of course, like a lot of developers, I didn't bother to really see if something existed before starting. This was partly by design - to keep my programming skills fresh - but partly because I didn't do any upfront investigation.
Eventually, I did look for an existing tool, because I wasn't getting anywhere close to generating a recipe site with my then current course of action. Once I had an existing tool, I spent time cutting out the cruft that I didn't need for my site and upgrading old portions of the code that was present. I was still no closer to a recipe website though.
Then I decided to create a static site, but wanted to create a recipe generator, so, as I mentioned in my last post, I wouldn't wind up with a lot of duplicated code. Eventually, through a tip of one of my friends, I finally stumbled across Jekyll. And now, in about 2 weeks, I've been able to crank out more recipes, with a much better design, than I had in the previous 2 years. It seems so obvious - why didn't I just look for a static site generator in the first place? But, it took a lot of design-based suffering to come to this conclusion. I'm grateful for all of the tools and techniques I learned about on my journey, and some are even helpful in my job. Even though I knew about the difficulty of creating a simple solution before undertaking this project, I'm happy that I was able to prove the theorem to myself by going through all of the iterations to get to where I'm at now.
Oh, and, by the way, the new site is now here.
Of course, anyone familiar with software engineering will point out that this is just a simple static site. That's true, but getting to simple is often the most difficult people take to solve a problem. Simple solutions are often deceptive, because, in hind sight, they seem so obvious, even though the effort to get there could take a lot of effort.
In my case, it literally took years. I started with the idea of website and thought I'd need to create a CRUD (Create, Read, Update, Delete) app with a database that's so ubiquitous across the web. And of course, like a lot of developers, I didn't bother to really see if something existed before starting. This was partly by design - to keep my programming skills fresh - but partly because I didn't do any upfront investigation.
Eventually, I did look for an existing tool, because I wasn't getting anywhere close to generating a recipe site with my then current course of action. Once I had an existing tool, I spent time cutting out the cruft that I didn't need for my site and upgrading old portions of the code that was present. I was still no closer to a recipe website though.
Then I decided to create a static site, but wanted to create a recipe generator, so, as I mentioned in my last post, I wouldn't wind up with a lot of duplicated code. Eventually, through a tip of one of my friends, I finally stumbled across Jekyll. And now, in about 2 weeks, I've been able to crank out more recipes, with a much better design, than I had in the previous 2 years. It seems so obvious - why didn't I just look for a static site generator in the first place? But, it took a lot of design-based suffering to come to this conclusion. I'm grateful for all of the tools and techniques I learned about on my journey, and some are even helpful in my job. Even though I knew about the difficulty of creating a simple solution before undertaking this project, I'm happy that I was able to prove the theorem to myself by going through all of the iterations to get to where I'm at now.
Oh, and, by the way, the new site is now here.
Tuesday, March 20, 2018
Static Cling
While spending time generating the basics of my recipe site (which will likely move soon - I'll update the address once the move is complete), I've been on the hunt for software engineering tools that will make its maintenance much easier. As the site stands now, it's fashioned in a 1997 type of HTML and CSS only site that requires a lot of duplication. For every recipe I create, I need to copy an old page, make the necessary updates to the page for the new recipe, proofread it to ensure I don't have any typos on the page, deploy it and view it to ensure it renders correctly to the user.
This is really error prone, especially with 52 recipes. It also makes updates to the site extremely difficult, because if I want to, for example, switch the ingredients section with the instructions section, I have to make changes to 52 pages.
As any competent software engineer knows, we don't want to do this. We want to follow the DRY principle (Don't Repeat Yourself). The layout for the recipe pages is exactly the same. The only thing that differs is the content. So, if I can create a template for the page and render the content, I give myself a lot of flexibility and freedom from maintenance nightmares. Turns out it's 2018, and this has been the core of web programming for the better part of a decade and a half.
My preferred requirement is to keep the site static. That means that once a user makes an initial call to the website, there are essentially no further updates required. There's no data storage on the backend that the user needs to interact with, no middleware to call, no philosophies for caching data for speed, since the content has already been generated and isn't going to change. By and large, a static website is not what the vast majority of the websites in the world are. If you're running a travel website, for example, you'll need to call back to other systems to log users in, search flights and hotels, remember their preferences, and process their payments.
However, with a recipe website, where the content changes infrequently, we don't need to log users in (unless I begin offering premium content or sensitive content), and we don't need to process payments, a static website is preferable. It's less maintenance, and, since it has fewer moving parts, more secure, both from my perspective and the user's.
So, then - a static website with some seemingly dynamic content. Sounds like a job for Javascript! I won't go into the details of how I selected a framework, but I eventually selected Vue.js for the job. It's got a clean interface and would be able to help me follow the DRY principle. Except that it also adds a lot of overhead to the site. I'd need to install something called vue-router to make sure that I could create recipe content on the fly. In order to use vue-router in a manner that makes it easy to read and write, I'd need to install a Javascript bundler called webpack. In order to use webpack, I need npm. In order to make sure the Node version associated with npm was up-to-date, I'd need nvm.
So, then - a static website with some seemingly dynamic content. Well, there's a much cleaner alternative that I'd only heard in passing - a static site generator. The industry standard seems to be Jekyll. It took me a little while to get into the groove, but the documentation is pretty solid and there's a ton of additional help online, which is great. Unlike Javascript, which injects content into a template when a user requests a particular recipe, the site generator uses the template before I even post the content to create a bunch of seemingly duplicate pages. From the user's standpoint, it looks like I am just creating tedious HTML and CSS pages, but from my standpoint, it's all done with a little code and is as easy, if not easier to maintain, than a Javascript based solution.
This is really error prone, especially with 52 recipes. It also makes updates to the site extremely difficult, because if I want to, for example, switch the ingredients section with the instructions section, I have to make changes to 52 pages.
As any competent software engineer knows, we don't want to do this. We want to follow the DRY principle (Don't Repeat Yourself). The layout for the recipe pages is exactly the same. The only thing that differs is the content. So, if I can create a template for the page and render the content, I give myself a lot of flexibility and freedom from maintenance nightmares. Turns out it's 2018, and this has been the core of web programming for the better part of a decade and a half.
My preferred requirement is to keep the site static. That means that once a user makes an initial call to the website, there are essentially no further updates required. There's no data storage on the backend that the user needs to interact with, no middleware to call, no philosophies for caching data for speed, since the content has already been generated and isn't going to change. By and large, a static website is not what the vast majority of the websites in the world are. If you're running a travel website, for example, you'll need to call back to other systems to log users in, search flights and hotels, remember their preferences, and process their payments.
However, with a recipe website, where the content changes infrequently, we don't need to log users in (unless I begin offering premium content or sensitive content), and we don't need to process payments, a static website is preferable. It's less maintenance, and, since it has fewer moving parts, more secure, both from my perspective and the user's.
So, then - a static website with some seemingly dynamic content. Sounds like a job for Javascript! I won't go into the details of how I selected a framework, but I eventually selected Vue.js for the job. It's got a clean interface and would be able to help me follow the DRY principle. Except that it also adds a lot of overhead to the site. I'd need to install something called vue-router to make sure that I could create recipe content on the fly. In order to use vue-router in a manner that makes it easy to read and write, I'd need to install a Javascript bundler called webpack. In order to use webpack, I need npm. In order to make sure the Node version associated with npm was up-to-date, I'd need nvm.
So, then - a static website with some seemingly dynamic content. Well, there's a much cleaner alternative that I'd only heard in passing - a static site generator. The industry standard seems to be Jekyll. It took me a little while to get into the groove, but the documentation is pretty solid and there's a ton of additional help online, which is great. Unlike Javascript, which injects content into a template when a user requests a particular recipe, the site generator uses the template before I even post the content to create a bunch of seemingly duplicate pages. From the user's standpoint, it looks like I am just creating tedious HTML and CSS pages, but from my standpoint, it's all done with a little code and is as easy, if not easier to maintain, than a Javascript based solution.
Wednesday, March 7, 2018
Random Meta Ramblings on Writing
As we're just wrapping up awards season with the Oscars, and it always seems that there's some movie (or TV series) that scores big in peeling back the layer of the entertainment industry and giving an insider's view to the masses, I thought I'd take the opportunity to write about the act of writing.
Of all my hobbies, writing in one fashion or another, is probably the one I've practiced the most. When I was younger I wrote a few stories, but abandoned the practice due to a lack of self-confidence and the realization that I was going to have write some real crap and subject myself to honest criticism if I wanted to grow in that area.
Instead, I've channeled a lot of my writing desires into other areas of my life - emails, status reports, documentation, and - off and on - blogging.
Blogging, or consistently creating anything on a fixed schedule, has proven to be difficult. Some days, the words flow easily, even when I think the topic is sparse. My series of posts on beginning guitar is a great example. I thought it was going to be one post with some general musings, and I realized that could actually be a series of about 10 posts (which I haven't completed, but that's a different discussion).
Other days, I feel like I've got a really meaty topic, like the discoveries I made while starting my recipe site, and realize I'm struggling to compose my thoughts.
Still, other days, I have no topics nor any words to describe my non-topics and am left simply staring at a blank screen trying to come up with something.
But that's why I precisely like having a deadline of 1 blog post per week. It forces me to write. I know professional writers are much more intense. I've read they often write 1,000 or 3,000 or some other arbitrarily high number of words per day, even if it's complete nonsense, in order to stave off writer's block. This is my own version of that. Of course I'm doing it on a 'public' stage. My navel gazing is out there for everyone to see if they stop by, but it's a blog, so quality is expected to be a range anyway.
However, the fact that this is a blog leads to some interesting dilemmas. If I never told anyone about this blog, chances of anyone finding it and reading it are low, even if it's public facing. In that case, this is essentially just a diary. I could write about all of my potential doubts, shortcomings, hopes, dreams, and character flaws and no one would really be none the wiser. Of course, if someone does stumble across it, then my vulnerabilities are immediately on display and open for comment.
Luckily, all commentary on the internet is thoughtful and sensitive, so I don't need to worry about some troll excoriating me for indicating that I have liberal leanings or bashing me as a know-it-all libtard for using the word 'excoriating.'
But all internet sensitivity aside, that's actually one of the beauties of the medium. I've read articles indicating that we're becoming a lot more desensitized to others' points of view because we now have a gigantic universe where we can be anonymous assholes. From my vantage point, I think people have always been this type of asshole - genocide isn't a new phenomenon, and many people are complete jerks when they're alone in their cars because they're provided with a pseudo-anonymity. The internet has just unmasked these tendencies in us.
And, as stressful as it can be, it also provides a certain liberation - any random passerby can scribble "UR Blog Sux" in the comments section here, and regardless of how flawless my writing or my logic will continue to double down on offending me. Because I know there's somebody out there willing to hate me simply because I exist, and I can do nothing to change their mind, I also have the freedom to write random, rambling posts and not have to worry about what the internet is going to think of me.
Of all my hobbies, writing in one fashion or another, is probably the one I've practiced the most. When I was younger I wrote a few stories, but abandoned the practice due to a lack of self-confidence and the realization that I was going to have write some real crap and subject myself to honest criticism if I wanted to grow in that area.
Instead, I've channeled a lot of my writing desires into other areas of my life - emails, status reports, documentation, and - off and on - blogging.
Blogging, or consistently creating anything on a fixed schedule, has proven to be difficult. Some days, the words flow easily, even when I think the topic is sparse. My series of posts on beginning guitar is a great example. I thought it was going to be one post with some general musings, and I realized that could actually be a series of about 10 posts (which I haven't completed, but that's a different discussion).
Other days, I feel like I've got a really meaty topic, like the discoveries I made while starting my recipe site, and realize I'm struggling to compose my thoughts.
Still, other days, I have no topics nor any words to describe my non-topics and am left simply staring at a blank screen trying to come up with something.
But that's why I precisely like having a deadline of 1 blog post per week. It forces me to write. I know professional writers are much more intense. I've read they often write 1,000 or 3,000 or some other arbitrarily high number of words per day, even if it's complete nonsense, in order to stave off writer's block. This is my own version of that. Of course I'm doing it on a 'public' stage. My navel gazing is out there for everyone to see if they stop by, but it's a blog, so quality is expected to be a range anyway.
However, the fact that this is a blog leads to some interesting dilemmas. If I never told anyone about this blog, chances of anyone finding it and reading it are low, even if it's public facing. In that case, this is essentially just a diary. I could write about all of my potential doubts, shortcomings, hopes, dreams, and character flaws and no one would really be none the wiser. Of course, if someone does stumble across it, then my vulnerabilities are immediately on display and open for comment.
Luckily, all commentary on the internet is thoughtful and sensitive, so I don't need to worry about some troll excoriating me for indicating that I have liberal leanings or bashing me as a know-it-all libtard for using the word 'excoriating.'
But all internet sensitivity aside, that's actually one of the beauties of the medium. I've read articles indicating that we're becoming a lot more desensitized to others' points of view because we now have a gigantic universe where we can be anonymous assholes. From my vantage point, I think people have always been this type of asshole - genocide isn't a new phenomenon, and many people are complete jerks when they're alone in their cars because they're provided with a pseudo-anonymity. The internet has just unmasked these tendencies in us.
And, as stressful as it can be, it also provides a certain liberation - any random passerby can scribble "UR Blog Sux" in the comments section here, and regardless of how flawless my writing or my logic will continue to double down on offending me. Because I know there's somebody out there willing to hate me simply because I exist, and I can do nothing to change their mind, I also have the freedom to write random, rambling posts and not have to worry about what the internet is going to think of me.
Sunday, February 25, 2018
Building a recipe for a recipe site.
I started my latest incarnation of a recipe site today by finding free css to create recipe cards. My first version of a test recipe is here. I've still got some work to do, but I'm happy with the format of my page. I've got some further ideas about how to take the existing idea and make it something that's more personal; that's more my own invention.
I've given my recipe site a fair amount of thought for some time. In one form or another I've been thinking about creating a website for as long as I've been trying to compile a list of canonical recipes for myself. I could've simply added recipes to an existing blogging site like Blogger or Wordpress, but my intention was also to keep my programming skills sharp.
As it stands now, there's not really a lot of programming involved. I'm just expecting to use html and css with a little bit of javascript (probably something like vue), but, as someone who's always been a backend programmer, it's a refreshing change. The recipe card css I copied today helped me understand the subtle art of positioning items on a web page for maximum effect as well as help me with figuring out how to create background shadows that add some richness to the page.
As for the actual content of the site, it's a given that I'll post my 52 recipes here. I've always assumed that I'd just take pictures of the dishes I make and post them alongside the recipes, but recently I've hit on a different idea. Since I'm trying to bootstrap my drawing abilities again, I realized it'd be fun to draw the dishes I make, even if they're simplistic representations, rather than follow the common path of trying to capture the perfect food photo.
This also led me to another way to expand the content on the site. In addition to creating a site where I have easy reference to my recipes, it's my intention to provide instruction to people who are interested in learning to cook with shortcuts that have worked for me over the years. When I first started cooking in earnest, I encountered a lot of well meaning authors who provided a lot of complexity to the recipes I made without adding flavor, or in some cases, because I tried to follow the expert route before I understood the technique, ruined the dish or became too frustrated to follow through. My hope is, in addition to creating illustrations for the food I'm cooking, I'll be able to do a passable job of creating some instructional material that may assist someone else in learning to cook.
I've given my recipe site a fair amount of thought for some time. In one form or another I've been thinking about creating a website for as long as I've been trying to compile a list of canonical recipes for myself. I could've simply added recipes to an existing blogging site like Blogger or Wordpress, but my intention was also to keep my programming skills sharp.
As it stands now, there's not really a lot of programming involved. I'm just expecting to use html and css with a little bit of javascript (probably something like vue), but, as someone who's always been a backend programmer, it's a refreshing change. The recipe card css I copied today helped me understand the subtle art of positioning items on a web page for maximum effect as well as help me with figuring out how to create background shadows that add some richness to the page.
As for the actual content of the site, it's a given that I'll post my 52 recipes here. I've always assumed that I'd just take pictures of the dishes I make and post them alongside the recipes, but recently I've hit on a different idea. Since I'm trying to bootstrap my drawing abilities again, I realized it'd be fun to draw the dishes I make, even if they're simplistic representations, rather than follow the common path of trying to capture the perfect food photo.
This also led me to another way to expand the content on the site. In addition to creating a site where I have easy reference to my recipes, it's my intention to provide instruction to people who are interested in learning to cook with shortcuts that have worked for me over the years. When I first started cooking in earnest, I encountered a lot of well meaning authors who provided a lot of complexity to the recipes I made without adding flavor, or in some cases, because I tried to follow the expert route before I understood the technique, ruined the dish or became too frustrated to follow through. My hope is, in addition to creating illustrations for the food I'm cooking, I'll be able to do a passable job of creating some instructional material that may assist someone else in learning to cook.
Sunday, February 18, 2018
Cooking to Suit My Tastes
I've been in the process for, well, years, of compiling a list of staple recipes that I'm happy with making over and over again. There have certainly been some go to recipes that I've revisited with high frequency, but I've never been able to compose a reusable set list that I can use with the consistency I desire.
There are a few reasons for that - first, I want to make sure I have a pretty wide list to choose from. When I think about compiling a list, I think about it in terms of recipes I can make over the course of the year without getting bored. When I first got out of school, I had a pretty set schedule. Monday was fettucine with parmesan, dried basil, and canned tomatoes along with a baguette. Tuesdays and Thursdays were some rotation of pastaroni. I don't remember what the other nights were. While I liked the predictability of the meal planning, the routine did get a bit tedious and the ingredients weren't the best I could obtain. Luckily, at 21, my taste was pretty simple, so I wasn't lost in some sort of culinary Sisyphean experiment. Now, assuming that I cook 4 times a week, which isn't unreasonable, 52 recipes seems like a nice round number. That means I'd rotate through meals on a 13 week basis. I also know that I'd likely eat certain staples - like cheeseburgers, pizza, and fried chicken sandwiches - more often than 4 times a year, so that leaves room for special dishes that may require more care or pair with special occasions.
Second, I like preparing food in 30 minutes - 1 hour. I don't mind if I'm active the entire time, but I don't really like doing a lot of prep work with a million ingredients simply to have a dish (especially if it's one I'm trying for the first time) turn out flat. There are certain things I don't mind letting sit a bit - bread, for one, or chicken in brine - as the effort is minimal, and I simply need to remember to prep one small thing ahead of time. In addition, though my taste buds have matured since 21, I don't think they have anywhere near the complexity that the taste buds of the writers for something like epicurious.com do. I'm certainly not as simple in my philosophy as "I eat to live," but I'm not going to be able to tell if you swap out parmeggiano-reggiano with domestic parmesan. I'm fine with this.
Finally, it has to be a recipe I like. As mentioned above, I hate long, complex recipes that don't yield a good payout. But I also don't want to slap mayonnaise on a bagel and call it eggs benedict. Canned tomatoes are still a big staple of my diet, but I now make my own cheese sauce for macaroni instead of relying on powdered sauce from a box. This, more than two previous points, has delayed me from compiling my desired set list. It's literally taken me 15 years to find a blue cheese pasta that reminds me of one I had at a restaurant in Wisconsin when I was in my mid-twenties. I'm sure that pasta wasn't what I remembered it, but I've finally found something that comes close to matching that memory, which makes me extremely happy.
I'm excited to say, as of this writing, I'm close to having my cherished 52. I think I have about 42 recipes that I'm willing to make consistently and have quite a few leads on rounding out the list. The benefit of cooking for the past 20 some odd years is I can pick out bad recipes or know how to modify them to suit my tastes without having to go through the hassle of having to make mediocre food several times over. I'm not sure what I'll do once I settle on 52 recipes. I'm pretty sure I'll try and expand the list to 104 for more variety, but I'll be able to feel a sense of accomplishment that I've met a goal I've been dreaming about since I added my first basil flakes to my first can of tomatoes.
There are a few reasons for that - first, I want to make sure I have a pretty wide list to choose from. When I think about compiling a list, I think about it in terms of recipes I can make over the course of the year without getting bored. When I first got out of school, I had a pretty set schedule. Monday was fettucine with parmesan, dried basil, and canned tomatoes along with a baguette. Tuesdays and Thursdays were some rotation of pastaroni. I don't remember what the other nights were. While I liked the predictability of the meal planning, the routine did get a bit tedious and the ingredients weren't the best I could obtain. Luckily, at 21, my taste was pretty simple, so I wasn't lost in some sort of culinary Sisyphean experiment. Now, assuming that I cook 4 times a week, which isn't unreasonable, 52 recipes seems like a nice round number. That means I'd rotate through meals on a 13 week basis. I also know that I'd likely eat certain staples - like cheeseburgers, pizza, and fried chicken sandwiches - more often than 4 times a year, so that leaves room for special dishes that may require more care or pair with special occasions.
Second, I like preparing food in 30 minutes - 1 hour. I don't mind if I'm active the entire time, but I don't really like doing a lot of prep work with a million ingredients simply to have a dish (especially if it's one I'm trying for the first time) turn out flat. There are certain things I don't mind letting sit a bit - bread, for one, or chicken in brine - as the effort is minimal, and I simply need to remember to prep one small thing ahead of time. In addition, though my taste buds have matured since 21, I don't think they have anywhere near the complexity that the taste buds of the writers for something like epicurious.com do. I'm certainly not as simple in my philosophy as "I eat to live," but I'm not going to be able to tell if you swap out parmeggiano-reggiano with domestic parmesan. I'm fine with this.
Finally, it has to be a recipe I like. As mentioned above, I hate long, complex recipes that don't yield a good payout. But I also don't want to slap mayonnaise on a bagel and call it eggs benedict. Canned tomatoes are still a big staple of my diet, but I now make my own cheese sauce for macaroni instead of relying on powdered sauce from a box. This, more than two previous points, has delayed me from compiling my desired set list. It's literally taken me 15 years to find a blue cheese pasta that reminds me of one I had at a restaurant in Wisconsin when I was in my mid-twenties. I'm sure that pasta wasn't what I remembered it, but I've finally found something that comes close to matching that memory, which makes me extremely happy.
I'm excited to say, as of this writing, I'm close to having my cherished 52. I think I have about 42 recipes that I'm willing to make consistently and have quite a few leads on rounding out the list. The benefit of cooking for the past 20 some odd years is I can pick out bad recipes or know how to modify them to suit my tastes without having to go through the hassle of having to make mediocre food several times over. I'm not sure what I'll do once I settle on 52 recipes. I'm pretty sure I'll try and expand the list to 104 for more variety, but I'll be able to feel a sense of accomplishment that I've met a goal I've been dreaming about since I added my first basil flakes to my first can of tomatoes.
Tuesday, February 6, 2018
A Defense of Philosophy in Under 500 Words
I was going to comment a bit on my experience with The Philosophy Book: Big Ideas Simply Explained in my last post, but got a bit carried away with my rant on expertise and the worship of it in our society instead. So, this post I actually will talk about the book.
I'm not really going to talk about the book - which is a great, concise summary of several philosophers' major works, and as a result allows me to write this post - but rather my newfound exposure to philosophy in general.
As I'd suspect is also the case with most people, I've had some formal exposure to philosophy in my education and a lot of informal exposure to it throughout life. We're still inundated with names like Socrates, Kant, Nietzsche, Sartre, and so on, often without knowing what specific contributions they made to the field. I'd also suspect that most people have made (and continue to make) jokes about the employment prospects of philosophy majors. While I'm not here to defend those prospects, I am willing to summarize my new appreciation and nascent understanding of the field of philosophy.
As someone who's historically believed heavily in the scientific method, I've been at least mildly dismissive of some of the work of philosophers when it relates to topics to why we exist and what our role is in the universe. It seemed about as useful as polling people on whether or not they believe in gravity. Even if the overwhelming number of respondents state that they're not in favor of gravity, it doesn't have any effect on the fact that gravity exists.
But, it turns out that the contributions of philosophers is much stronger than I originally allowed myself to believe. Sure, there's still some navel gazing on the nature of our existence (or existentialism), but that scientific method I believe in - Francis Bacon created a first draft of it as part of his own philosophical theories. The method of continuing to ask questions related to the outcome of an experiment? The Socratic method. In fact philosophy, rather than disconnecting itself from the questions usually associated with science, has often been a precursor for strengthening the tools we use for making scientific discoveries today.
Even if you're not into science, philosophy still has a major impact on our world. Love them or hate them, Adam Smith and Karl Marx are political/economic philosophers. It's hard to argue that capitalism and communism have had no impact on everyone in the world.
And, still, if you're so inclined to believe that all philosophy is some sort of psycho-babble, enough other people are captured by philosophers' ideas - good, bad, or misappropriated - and incorporate them in their own lives (and sometimes as global policy) to argue that philosophy as a study is either irrelevant or losing its relevance.
I'm not really going to talk about the book - which is a great, concise summary of several philosophers' major works, and as a result allows me to write this post - but rather my newfound exposure to philosophy in general.
As I'd suspect is also the case with most people, I've had some formal exposure to philosophy in my education and a lot of informal exposure to it throughout life. We're still inundated with names like Socrates, Kant, Nietzsche, Sartre, and so on, often without knowing what specific contributions they made to the field. I'd also suspect that most people have made (and continue to make) jokes about the employment prospects of philosophy majors. While I'm not here to defend those prospects, I am willing to summarize my new appreciation and nascent understanding of the field of philosophy.
As someone who's historically believed heavily in the scientific method, I've been at least mildly dismissive of some of the work of philosophers when it relates to topics to why we exist and what our role is in the universe. It seemed about as useful as polling people on whether or not they believe in gravity. Even if the overwhelming number of respondents state that they're not in favor of gravity, it doesn't have any effect on the fact that gravity exists.
But, it turns out that the contributions of philosophers is much stronger than I originally allowed myself to believe. Sure, there's still some navel gazing on the nature of our existence (or existentialism), but that scientific method I believe in - Francis Bacon created a first draft of it as part of his own philosophical theories. The method of continuing to ask questions related to the outcome of an experiment? The Socratic method. In fact philosophy, rather than disconnecting itself from the questions usually associated with science, has often been a precursor for strengthening the tools we use for making scientific discoveries today.
Even if you're not into science, philosophy still has a major impact on our world. Love them or hate them, Adam Smith and Karl Marx are political/economic philosophers. It's hard to argue that capitalism and communism have had no impact on everyone in the world.
And, still, if you're so inclined to believe that all philosophy is some sort of psycho-babble, enough other people are captured by philosophers' ideas - good, bad, or misappropriated - and incorporate them in their own lives (and sometimes as global policy) to argue that philosophy as a study is either irrelevant or losing its relevance.
Saturday, February 3, 2018
Expertise for Dummies
I'm about halfway through The Philosophy Book: Big Ideas Simply Explained. When I started, I didn't realize it was a series of books, which includes topics on Science, Criminology, Sociology, and others. I'm glad I didn't realize this, because I typically shy away from those types of titles for fear that content may not be sufficiently broad nor deep. This is all the more curious, because I also tend to like titles that sum up obscure topics in more bite sized packages - The Annotated Mona Lisa being another summary title I purchased years ago and really enjoyed.
These types of summary pieces introduce me to concepts I don't otherwise take the time to create to delve into, but usually do so in a way that doesn't leave me underwhelmed. I know by some measures, this plays into the Dunning-Kruger effect, but I guess after a month's worth of posts, that seems to be the main point of more than a few posts - is there a point to being good enough?
For a while, a lot of people in my circles seemed to be fixated on the 10,000 hours needed for expertise as referenced in Malcolm Gladwell's Outliers. I always felt a bit skeptical of the claim (or jealous, simply for the fact that I don't think I can spend 10,000 hours on anything). It also pissed me off a bit because it taps into an American ethos that comes up short under close examination - if you work hard enough, you can achieve anything. This aphoristic ideal ignores other factors like luck and talent. In doing so, it hides the pernicious corollary - if you didn't achieve your goal it's simply because you were too lazy.
This has further social ramifications that have been encoded into American society that I don't want to delve into here, but as a simple rebuttal, given my genetic composition and my (at most) 5'10" height, there was absolutely no way that I ever was going to be a pro basketball all-star. I'm sure someone will respond with the bitingly sharp "How do you know? Did you try?" But yes, I'm sure.
The real beauty to rebutting this simple, but flawed, rule lies in the fact that, if you can't devote 10,000 hours to being an expert in something, you can enjoy things that you can actually spend time on. And rather than feeling guilty for the hard work you didn't put in, you can appreciate your accomplishments and the hard work you did put in for the task at hand.
These types of summary pieces introduce me to concepts I don't otherwise take the time to create to delve into, but usually do so in a way that doesn't leave me underwhelmed. I know by some measures, this plays into the Dunning-Kruger effect, but I guess after a month's worth of posts, that seems to be the main point of more than a few posts - is there a point to being good enough?
For a while, a lot of people in my circles seemed to be fixated on the 10,000 hours needed for expertise as referenced in Malcolm Gladwell's Outliers. I always felt a bit skeptical of the claim (or jealous, simply for the fact that I don't think I can spend 10,000 hours on anything). It also pissed me off a bit because it taps into an American ethos that comes up short under close examination - if you work hard enough, you can achieve anything. This aphoristic ideal ignores other factors like luck and talent. In doing so, it hides the pernicious corollary - if you didn't achieve your goal it's simply because you were too lazy.
This has further social ramifications that have been encoded into American society that I don't want to delve into here, but as a simple rebuttal, given my genetic composition and my (at most) 5'10" height, there was absolutely no way that I ever was going to be a pro basketball all-star. I'm sure someone will respond with the bitingly sharp "How do you know? Did you try?" But yes, I'm sure.
The real beauty to rebutting this simple, but flawed, rule lies in the fact that, if you can't devote 10,000 hours to being an expert in something, you can enjoy things that you can actually spend time on. And rather than feeling guilty for the hard work you didn't put in, you can appreciate your accomplishments and the hard work you did put in for the task at hand.
Monday, January 29, 2018
Metablogging on a Monday Night
Since the reincarnation of my blog this year, I haven't quite decided what I want it to be. When I first started this blog a few years ago, it was going to be a journal of my passage from software engineering manager back to software engineer. That path lasted 4 months before I decided I'm a better manager and hired some of my old software engineers.
So, what then? I know from a click bait point of view, my blog should focus on one topic. And Lord knows, if I find a topic that I can concentrate on, I may start a sibling blog, but that's not the point.
Since my list of hobbies have expanded, so have the topics I'm likely to write about. I've considered writing my own management manual to counter the condescending "people as resources" horseshit that's been present since time immemorial. I want to write about my new musical rediscovery, my love of languages - even though I'm not fluent at all, my desire to still be a software engineer, my desire to draw again after 25 years. I want to thumb my nose at everyone I've ever met who said "you get more conservative as you get older," as though being conservative is the more intelligent choice instead of simply the safer one. I want to scoff at everyone who champions supply side economics and claims that "a liberal is just a conservative who hasn't been mugged yet" and attributes that quote to Winston Churchill (funny - between Churchill, Twain, and Wilde, there are apparently no quotes left).
I want to write short stories and serial fiction and essays. I want to publish recipes that I've made and have people respond that I didn't do a good job in imparting the instructions, so I have I chance to make amends and take revenge on every shitty recipe I ever followed in the past thinking I'd done something wrong.
Most of all, I want to write. I remember a commercial a few years ago featuring a girl who stuttered, but wrote on screen that she was at home with the written word. I connected with that commercial, even though it was probably trying to sell me some sort of purchased happiness in the form of gay missiles for confused Nazis, but the message stuck. I've always felt more comfortable writing than speaking. The words flow easier. I don't have to deal with some intellectual wit trying to one up me in a battle of extemporaneous speech. I can simply collect my thoughts.
So, again, what then? Well, I'm just going to write. Sometimes it will be the 1000th post on what I'm going to write, sometimes it will be unabashedly technical, sometimes it will rant against the conventional wisdom society offers me that I'm coming to loathe, and, sometimes, it will be a guitar lesson even though I don't have the experience to give a guitar lesson.
If you're lucky, you may even get post of mine that I've bothered to edit after writing, but don't count on it.
So, what then? I know from a click bait point of view, my blog should focus on one topic. And Lord knows, if I find a topic that I can concentrate on, I may start a sibling blog, but that's not the point.
Since my list of hobbies have expanded, so have the topics I'm likely to write about. I've considered writing my own management manual to counter the condescending "people as resources" horseshit that's been present since time immemorial. I want to write about my new musical rediscovery, my love of languages - even though I'm not fluent at all, my desire to still be a software engineer, my desire to draw again after 25 years. I want to thumb my nose at everyone I've ever met who said "you get more conservative as you get older," as though being conservative is the more intelligent choice instead of simply the safer one. I want to scoff at everyone who champions supply side economics and claims that "a liberal is just a conservative who hasn't been mugged yet" and attributes that quote to Winston Churchill (funny - between Churchill, Twain, and Wilde, there are apparently no quotes left).
I want to write short stories and serial fiction and essays. I want to publish recipes that I've made and have people respond that I didn't do a good job in imparting the instructions, so I have I chance to make amends and take revenge on every shitty recipe I ever followed in the past thinking I'd done something wrong.
Most of all, I want to write. I remember a commercial a few years ago featuring a girl who stuttered, but wrote on screen that she was at home with the written word. I connected with that commercial, even though it was probably trying to sell me some sort of purchased happiness in the form of gay missiles for confused Nazis, but the message stuck. I've always felt more comfortable writing than speaking. The words flow easier. I don't have to deal with some intellectual wit trying to one up me in a battle of extemporaneous speech. I can simply collect my thoughts.
So, again, what then? Well, I'm just going to write. Sometimes it will be the 1000th post on what I'm going to write, sometimes it will be unabashedly technical, sometimes it will rant against the conventional wisdom society offers me that I'm coming to loathe, and, sometimes, it will be a guitar lesson even though I don't have the experience to give a guitar lesson.
If you're lucky, you may even get post of mine that I've bothered to edit after writing, but don't count on it.
Wednesday, January 17, 2018
Drawn Together
After years of not indulging any of my creative arts drives, I decided to pick up drawing again. I think like most children, I did a fair amount of doodling. Most of my drawings as a child centered around either ninjas or soldiers. I continued doodling on notebooks through high school, mostly when I was bored in class, but my I recall my folders being covered in some sort of artwork. Then, when I moved on to college, I abruptly stopped. It wasn't a conscious decision, and college lectures certainly weren't more compelling than high school ones, but I simply stopped.
Fast forward to late 2017. I'm not sure why I decided to pick up drawing again - maybe it's because I was delving into guitar with some earnestness, or maybe some other compelling internal drive, but I decided to pick up some utensils and instruction materials.
At first, my expectation was to train myself to draw in realistic style - portraits, landscapes, animals, and the like. However, after picking up a few starter books, I realized (at least for now) that I'm happy drawing simple representations and moving into the cartoon genre. Even though the style lacks the realism that people generally associate with an expert artist, it can still convey a strong message. As I improve, I don't know if I'll move to more realistic formats (I doubt it - in general, I favor the practical with some aesthetic value over beauty for beauty's sake), but I'm happy to have re-acquired enough basic skill in the past few months to draw some simple representations of people, animals, vehicles, and landmarks. I'll know I've crossed an important threshold when I'm able to compose entire scenes and draw representations of existing people - either those in my life or celebrities that are recognizable, even if I don't fill in all of the shading details or include every wrinkle.
As a final note, I do plan on sharing some of my drawings here, but still haven't quite pulled together the nerve to advertise my new skill on such highly trafficked blog with such opinionated readers.
Fast forward to late 2017. I'm not sure why I decided to pick up drawing again - maybe it's because I was delving into guitar with some earnestness, or maybe some other compelling internal drive, but I decided to pick up some utensils and instruction materials.
At first, my expectation was to train myself to draw in realistic style - portraits, landscapes, animals, and the like. However, after picking up a few starter books, I realized (at least for now) that I'm happy drawing simple representations and moving into the cartoon genre. Even though the style lacks the realism that people generally associate with an expert artist, it can still convey a strong message. As I improve, I don't know if I'll move to more realistic formats (I doubt it - in general, I favor the practical with some aesthetic value over beauty for beauty's sake), but I'm happy to have re-acquired enough basic skill in the past few months to draw some simple representations of people, animals, vehicles, and landmarks. I'll know I've crossed an important threshold when I'm able to compose entire scenes and draw representations of existing people - either those in my life or celebrities that are recognizable, even if I don't fill in all of the shading details or include every wrinkle.
As a final note, I do plan on sharing some of my drawings here, but still haven't quite pulled together the nerve to advertise my new skill on such highly trafficked blog with such opinionated readers.
Saturday, January 13, 2018
On Perfectionism
My motivation for writing tonight isn't quite so hot, so you, faithful reader, may be facing a 15 minute stream of consciousness rant to help me accomplish my goal for the week (although I think I already wrote my requisite 2 posts for the week. Did I say I was only going to write 2 posts and not 3 so as not to overwhelm myself? If not, now I did).
My march toward my mini-goals or many-hobbies proceeded well this week. I missed a few nights of drawing, but still picked up a pencil for the majority of the week. I also started playing another jazz tune - Fly Me to the Moon - to give me something additional to chew on.
I'm staring at my sketch book in the background, and I'm happy with about half of what's on the page and a little unhappy with the rest. Some days when I see this, I'm surprised that the next day I usually feel better about my prior work than I did at the time of creation. Time was when I would grow so frustrated at my progress that I would either throw a tantrum or just quit for a few days (or years) in the belief that I just wouldn't be any good.
Who knows, maybe I won't be any good. But that's not the entire point. Even if I'm horrible at guitar, drawing, French, Chinese, Spanish, and blogging, I'm better than I would be if I didn't try. And, I suspect, that with practice, I'll be decent at all of these things. I certainly won't be as good as someone who practices consistently or has natural talent that I lack, but I can still derive joy (and probably even some creative value) from these ventures over time.
A long time ago, an aunt of mine described me as a perfectionist. I thought she was mistaken, because I didn't really think I was good at anything, and I always pictured a perfectionist as someone who continued to refine details past the point of necessity, but was talented at the task at hand regardless.
In retrospect, I was a perfectionist (and probably still am, but can manager it better). I would pick up hobbies and be so despondent or angry if I couldn't make the progress I desired in the appropriate time frame, which means I was subject to so many stops and starts instead of just enjoying the value of a thing. And this paralysis is specifically why I like my path for hobbies now. Everything's sectioned off in 5 - 15 minute increments, so I know I'll never have to devote time every day to become the professional I envision. I can enjoy the activity for the thing that it is, or in cases like today, I can simply sit down and bide my time, and then realize, with fascination, that the 15 minutes flew by, and I actually found my voice for the evening.
My march toward my mini-goals or many-hobbies proceeded well this week. I missed a few nights of drawing, but still picked up a pencil for the majority of the week. I also started playing another jazz tune - Fly Me to the Moon - to give me something additional to chew on.
I'm staring at my sketch book in the background, and I'm happy with about half of what's on the page and a little unhappy with the rest. Some days when I see this, I'm surprised that the next day I usually feel better about my prior work than I did at the time of creation. Time was when I would grow so frustrated at my progress that I would either throw a tantrum or just quit for a few days (or years) in the belief that I just wouldn't be any good.
Who knows, maybe I won't be any good. But that's not the entire point. Even if I'm horrible at guitar, drawing, French, Chinese, Spanish, and blogging, I'm better than I would be if I didn't try. And, I suspect, that with practice, I'll be decent at all of these things. I certainly won't be as good as someone who practices consistently or has natural talent that I lack, but I can still derive joy (and probably even some creative value) from these ventures over time.
A long time ago, an aunt of mine described me as a perfectionist. I thought she was mistaken, because I didn't really think I was good at anything, and I always pictured a perfectionist as someone who continued to refine details past the point of necessity, but was talented at the task at hand regardless.
In retrospect, I was a perfectionist (and probably still am, but can manager it better). I would pick up hobbies and be so despondent or angry if I couldn't make the progress I desired in the appropriate time frame, which means I was subject to so many stops and starts instead of just enjoying the value of a thing. And this paralysis is specifically why I like my path for hobbies now. Everything's sectioned off in 5 - 15 minute increments, so I know I'll never have to devote time every day to become the professional I envision. I can enjoy the activity for the thing that it is, or in cases like today, I can simply sit down and bide my time, and then realize, with fascination, that the 15 minutes flew by, and I actually found my voice for the evening.
Tuesday, January 9, 2018
Learning to Play the Guitar - The First Songs
So, after learning a few basic chords, as outlined in this post, it's time to select a few songs. With the Cowboy and power chords in your tool set, you'll likely be able to find a popular song you appreciate with relative ease.
Here are a few things to keep in mind regarding practice, especially when using songs from tab sites sourced from user contributions:
Here are a few things to keep in mind regarding practice, especially when using songs from tab sites sourced from user contributions:
- The songs as written are likely to have errors, including the wrong chords, or even the wrong key in some cases.
- If you're playing something that contradicts what's written or need to simplify it, and it still adheres to spirit of the song you're trying to capture, trust your ear. You'll never actually play the song as the original artists recorded it (they won't either, since they did so in a studio after multiple takes). So, take the song and make it your own, however minor the difference may be.
- Feel free to slow the song down to a ridiculously slow tempo until you feel have the rhythm worked out.
- If the song has a new chord or two, look up a fingering for the new chord that has a root note on both the 6th string and 5th string and add it to your repertoire. By finding 2 voicings of a chord, you're able to play it either low or high on the neck, which gives you a much wider range of expression later on.
- As you grow comfortable with a song, make sure to utilize a drum track to help your rhythm. Also, as you make mistakes, try not to pause or restart. Professional musicians make mistakes all the time, but find ways to gracefully recover.
- Pick 2 songs at a time, so practicing doesn't become tedious. When you begin to get bored, pick up another. This will give your brain some time to relax and refocus. Just make sure that you continue to practice the original songs as well. A little break will often give you new perspective on your routine.
Sunday, January 7, 2018
Learning to Play Guitar - The First Days and Chords
At best, I'm probably an intermediate level guitarist, but after reading some advice from more seasoned guitarists on Quora and being scared away from guitar for years because I read that "if you can't practice an hour a day, you just shouldn't practice," I thought I'd weigh in on how I'd start guitar if I were starting from scratch. So, yeah, this isn't how I actually got here, but with some hindsight, this is what I'd do now. Who knows, as I gain more experience, I may change my tune from what I write here.
1st, it's probably best to determine what your goals are. If you want to be an expert guitarist or a pro in the shortest time possible, then yes, you should practice at least an hour a day, if not more. If you just want to be a casual player, possibly play at a few gigs in the not too distant future, or have no idea what you want to do yet, then relax. Realize that you picked up the guitar for fun, not for profit or fame, so you have some options as to how you can get better. As I mentioned in my previous post, put some time aside with some consistency. I don't have kids or other massive responsibilities, so dedicating 15 minutes a day is something I can do even on days when I have to groan through it (which are few).
As far as equipment goes, it's your choice. Electric guitars require more equipment, but the action (distance between the fret board and the strings) is lower, so it's less painful for your fingertips (though, you're going to have pain regardless. Calluses for me formed in earnest in about 2 weeks, and after a couple of months I don't think I felt any lingering pain.
In either case, I'd recommend some method of recording yourself (even if just for a few bars) and a drum machine of some sort. The effects pedal I have contains the ability to loop for 30 seconds and has several drum beats built in. This is more than sufficient. Having drums and way to play against a backing player will increase your ability to keep time much faster than using a metronome and is usually a lot more fun.
Now that you've got the equipment sorted out, you've got to figure out what to play. This tab site offers a lot of popular songs and doesn't require you to learn to read music first (which I'd recommend you do sooner rather than later - you don't need to be able to sight read in time, but it is good to be able to read both tab and music. Tab's great if you know the song, but it doesn't give you any idea of rhythm). You'll need some sort of method book if you're not taking lessons. One recommendation is the Hal Leonard Guitar Method. Don't feel like you have to go page by page through any book or that you can't try more advanced techniques if the mood strikes you. There's not a linear path, and sometimes by picking up more advanced techniques (say, scales if you haven't mastered basic chords) your brain bridges the gap faster. Just make sure you don't get overwhelmed.
So, what to start with? Before starting with songs (don't worry, you'll be able to get to songs in about a day or two - you just need to get comfortable with a few chord shapes before selecting songs that match those shapes), start with power chords. These are as basic as you're going to get, can move around the fret board easily, and are actually prevalent in a lot of rock, so you can play some popular songs.
After familiarizing yourself with power chords, pick up the open (or Cowboy) chords. These are the ones people learn when they're typically first taught guitar. They'll take more finger contortion than power chords, but are also a strong foundation for a lot of popular music.
Now that you've at least looked at a few chords (and hopefully tried to play through them), it's time for song selection and practicing with real music!
However, I've rambled on too long in this post, so that's up next.
1st, it's probably best to determine what your goals are. If you want to be an expert guitarist or a pro in the shortest time possible, then yes, you should practice at least an hour a day, if not more. If you just want to be a casual player, possibly play at a few gigs in the not too distant future, or have no idea what you want to do yet, then relax. Realize that you picked up the guitar for fun, not for profit or fame, so you have some options as to how you can get better. As I mentioned in my previous post, put some time aside with some consistency. I don't have kids or other massive responsibilities, so dedicating 15 minutes a day is something I can do even on days when I have to groan through it (which are few).
As far as equipment goes, it's your choice. Electric guitars require more equipment, but the action (distance between the fret board and the strings) is lower, so it's less painful for your fingertips (though, you're going to have pain regardless. Calluses for me formed in earnest in about 2 weeks, and after a couple of months I don't think I felt any lingering pain.
In either case, I'd recommend some method of recording yourself (even if just for a few bars) and a drum machine of some sort. The effects pedal I have contains the ability to loop for 30 seconds and has several drum beats built in. This is more than sufficient. Having drums and way to play against a backing player will increase your ability to keep time much faster than using a metronome and is usually a lot more fun.
Now that you've got the equipment sorted out, you've got to figure out what to play. This tab site offers a lot of popular songs and doesn't require you to learn to read music first (which I'd recommend you do sooner rather than later - you don't need to be able to sight read in time, but it is good to be able to read both tab and music. Tab's great if you know the song, but it doesn't give you any idea of rhythm). You'll need some sort of method book if you're not taking lessons. One recommendation is the Hal Leonard Guitar Method. Don't feel like you have to go page by page through any book or that you can't try more advanced techniques if the mood strikes you. There's not a linear path, and sometimes by picking up more advanced techniques (say, scales if you haven't mastered basic chords) your brain bridges the gap faster. Just make sure you don't get overwhelmed.
So, what to start with? Before starting with songs (don't worry, you'll be able to get to songs in about a day or two - you just need to get comfortable with a few chord shapes before selecting songs that match those shapes), start with power chords. These are as basic as you're going to get, can move around the fret board easily, and are actually prevalent in a lot of rock, so you can play some popular songs.
After familiarizing yourself with power chords, pick up the open (or Cowboy) chords. These are the ones people learn when they're typically first taught guitar. They'll take more finger contortion than power chords, but are also a strong foundation for a lot of popular music.
Now that you've at least looked at a few chords (and hopefully tried to play through them), it's time for song selection and practicing with real music!
However, I've rambled on too long in this post, so that's up next.
Wednesday, January 3, 2018
Learning to Play Guitar - Motivation
A little over a year ago, after taking a decade+ hiatus, I started playing guitar again. During my initial stint, which started in college, I was diligent about taking lessons and played for about 4 years before relegating my guitar to storage.
I often heard or read that I needed to practice 1 hour a day in order to come close to being an expert within any relatively short timeframe. As a result, I'd freak out that I either didn't have that kind of time or enough motivation to play that long and simply not practice. I started dreading something that should have provided me joy, simply because I bought into the conventional wisdom over what I should be doing when learning an instrument.
Fast forward to 2016 when I picked up a guitar in earnest again. This time, I told myself that I'd carve out 15 minutes a day to play. If I wanted to play longer, then fine, I could play longer, but I should feel like I accomplished my goal for the day if I hit that 15 minute mark. I should also state that I had no further expectations of becoming an expert guitarist or making my living in music. I simply wanted to play songs, improvise a little, and, eventually, write a little music.
As expected, by keeping the goal attainable, I've actually put in more time and effort than I require of myself - not because I feel it's mandatory, but because I usually get caught up in the moment or enjoy playing enough now to go back and practice more than just once a day.
On the occasions when I don't feel like practicing, it's easy enough to psych myself up enough to say - just run scales for 15 minutes or play through a few simple chord changes to hit the daily goal. I don't need to lie to myself and say, "tonight, I'm going to block off 60 minutes to put in good hard practice time." I only need to keep myself occupied for 15 minutes. Often, when I start with that attitude, I wind up playing longer than anticipated and finding some little musical puzzle to solve that will sustain me for a few days further. And then, truthfully, some days I look at the clock constantly waiting for the 15 minutes to be over, so I can check off my practice time for the day. But, even on those days, I still get my practice time in for the day and go just that much further in making myself a better guitarist.
I often heard or read that I needed to practice 1 hour a day in order to come close to being an expert within any relatively short timeframe. As a result, I'd freak out that I either didn't have that kind of time or enough motivation to play that long and simply not practice. I started dreading something that should have provided me joy, simply because I bought into the conventional wisdom over what I should be doing when learning an instrument.
Fast forward to 2016 when I picked up a guitar in earnest again. This time, I told myself that I'd carve out 15 minutes a day to play. If I wanted to play longer, then fine, I could play longer, but I should feel like I accomplished my goal for the day if I hit that 15 minute mark. I should also state that I had no further expectations of becoming an expert guitarist or making my living in music. I simply wanted to play songs, improvise a little, and, eventually, write a little music.
As expected, by keeping the goal attainable, I've actually put in more time and effort than I require of myself - not because I feel it's mandatory, but because I usually get caught up in the moment or enjoy playing enough now to go back and practice more than just once a day.
On the occasions when I don't feel like practicing, it's easy enough to psych myself up enough to say - just run scales for 15 minutes or play through a few simple chord changes to hit the daily goal. I don't need to lie to myself and say, "tonight, I'm going to block off 60 minutes to put in good hard practice time." I only need to keep myself occupied for 15 minutes. Often, when I start with that attitude, I wind up playing longer than anticipated and finding some little musical puzzle to solve that will sustain me for a few days further. And then, truthfully, some days I look at the clock constantly waiting for the 15 minutes to be over, so I can check off my practice time for the day. But, even on those days, I still get my practice time in for the day and go just that much further in making myself a better guitarist.
Monday, January 1, 2018
Adding To My Repertoire
I suppose this is my New Year's Resolution - to start writing in some sort of long form again. Why not? I've been able to compile a pretty active schedule of hobbies, and this is just another logical extension, considering I already like to write.
So, where are we today? Well, here's my typical schedule:
The reason I'm concentrating on all of these things is simply because these are all things that I've wanted to accomplish. By freeing myself from the tyranny of needing to be an expert, I'm actually able to explore all of these hobbies without succumbing to the stress of needing to perfect any one of them. Paradoxically, because I don't set stringent expectations for myself, I tend to spend more time on at least one of these hobbies per day and gain more expertise than I would if I focused on one and then told myself that I need to do 'X' an hour a day or 3 days a week or whatever.
The nice thing too is that the 1st 3 items can be incorporated in to my daily commute, so I really only need 1 hour of free time per day to get through the latter 4 activities.
Given that I'm lucky that I have that kind of time, I can now add a new activity - blogging! I'll have it follow the same rules as the coding activity: write 3 times per week for 15 minutes. The additional stipulation is that I'm not going to require myself to edit my posts, so there may be typos, missed words, and stranded thoughts. But, I'm hoping the vast majority of by posts will be coherent.
So, where are we today? Well, here's my typical schedule:
- 15 minutes a day learning French, Spanish, and Chinese
- 15 minutes a day reading
- 15 minutes a day listening to an audio book
- 15 minutes a day playing guitar
- 5 minutes a day drawing
- 15 minutes a day for exercise
- 15 minutes to explore new software ideas or write new programs 3 times per week.
The reason I'm concentrating on all of these things is simply because these are all things that I've wanted to accomplish. By freeing myself from the tyranny of needing to be an expert, I'm actually able to explore all of these hobbies without succumbing to the stress of needing to perfect any one of them. Paradoxically, because I don't set stringent expectations for myself, I tend to spend more time on at least one of these hobbies per day and gain more expertise than I would if I focused on one and then told myself that I need to do 'X' an hour a day or 3 days a week or whatever.
The nice thing too is that the 1st 3 items can be incorporated in to my daily commute, so I really only need 1 hour of free time per day to get through the latter 4 activities.
Given that I'm lucky that I have that kind of time, I can now add a new activity - blogging! I'll have it follow the same rules as the coding activity: write 3 times per week for 15 minutes. The additional stipulation is that I'm not going to require myself to edit my posts, so there may be typos, missed words, and stranded thoughts. But, I'm hoping the vast majority of by posts will be coherent.
Subscribe to:
Posts (Atom)