Regardless of approach, your opening bite requires pushing your teeth down in between unharvested rows rows and clearing out a patch of cob. On the second bite however you can now chose between the base of your newly cleared patch which is literally the "low hanging fruit" (spiral approach) or move directly along and open up a new row (row approach).
The base of your open patch offers good purchase for your upper teeth, high visibility of any oddities that may be lying under the surface and a good understanding of how much you're going to be able to expect from the next bite based on what you just had. Should you find that the cob is too much for you, you can also chop the remainder off, wrap it in clingfilm and keep it for later (or feasibly offer it to another diner).
A row approach means opening up the whole cob in one go. It's hard work at the start and you're fully committed. If you give up half way through you can't really offer your corn to anyone else or bag it for later - it's basically a mess. That said, after that first push you'll never need to open up any new rows and the rest of the process is pretty formulaic - you get all of the uncertainty out of the way at the start.
From this I'd also guess at the following correlations:
- tend to start projects solo & keep going on their own
- tend to have a lot of unfinished projects that don't work
- like to tackle "big picture problems"
- tend towards optimism
- happy to break projects down and collaborate. Unfussed by solo or otherwise
- good at finishing projects
- not that fussed by starting projects
- tend towards realism / pessimism
Everything that you're currently thinking :)
I can't stop to think that everything we do can be analyzed and determine what kind of person you are. Makes me scared of what facebook and google can tell about a person if you can take this much out of simply eating corn.
Not the tastiest, but it's quick and it gets the job done.
And yes, I'm a PHP programmer.
So I guess that means I don't care about efficiency, but need things super neat and orderly. I have always liked Prolog though...
It occurs to me that these would make hilarious fortune cookies.
I do it so that the kernels come off cleanly and don't get stuck in your teeth (very similar to cutting them off). I wonder where that puts me?
This whole discussion has made me hungry for some corn on the cob with nice butter and salt, damn.
I absolutely love Perl, but "neat and orderly" is not the first thing that comes to mind. I think you'd need to have some sort of literary preference indicator (something like how you brush your teeth indicates whether you like Hemingway or Steinbeck, and Perl or Java), rather than a mathematical preference indicator, to determine one's propensity for Perl.
Yes, I am a Forth programmer.
This is one of the odder correlations that I'm aware of. I'm glad that other people find it interesting.
I am row, algebraist, functional.
What I find interesting is, if your correlation is true and given that Analysis and algebra are duals (in the category theoretic sense) to each other - what does this say about what the brain is doing?
I will also suggest that functional programmers are algebraists and OOP are more likely to be Analysts.
From day one a functional programmer is taught about disjoint unions, product types, and structural recursion on algebraic types. The more motivated (typically most via self selection) go on to learn all about initial algebras, monoids, monads and algebras in general. Functional Programmers are algebraists and not just by allusion.
Then we have OOP. I don't know how to place it since it is so broadly defined and is not as enamored with mathematics as functional programming tends to be. Hmm. Abstract Data types are very close to objects and are known to be coalgebraic - like objects from analysis. OOP also has abstract classes that are kind of like a final object.
Erlang is typically stacked with functional languages but is actually more co-algebraic and so closer to OOP. Which says something about OOP done right - I hope the OOP bashers don't throw the baby out with the bathwater.
In my home state of Georgia the two major public universities are very lopsided in their math departments. University of Georgia is very strong in algebra and Georgia Tech is very strong in analysis. I went to both but fit in much better in the former department.
I have a bunch of job interviews coming up - I'm going to ask my interviewers how they eat their corn as a wedge into discussing problem solving strategies on their teams.
While I'm not a mathematician, I was a math major. I always preferred algebra, and sure enough I eat my corn in rows - so one more data point!
I have always loved math, and I always want to dive in deeper, but can never quite figure out exactly what area to jump into...
My favorite topics that I have messed with so far are probably Number Theory and Logic. Pointers to resources or book recommendations welcome.
In OOP you spend a lot of time defining sets (classes) and coming up with operations on those sets (methods).
In FP you're not so concerned about coming up with sets and operations but rather breaking things up into ever smaller pieces. I mentioned elsewhere that analysis is about starting with big circles and making them arbitrarily small. This is pretty much what recursion is.
Comonads are used to describe context-dependent computations. In OOP, you might define a class along with some instance methods (which access private fields or somesuch in order to manipulate the state of the program).
The connection between comonads and OOP arises when you think of a comonad where the "context" is an instance of your class -- so your class methods are the context-dependent computations.
Compile me confused.
I would guess exactly the opposite way. Vi defines a sort of a composable language for editing text. Commands are combined of atoms giving a verb describing an action, number of times to repeat and movement over a range to apply the action on. It all becomes a semi-algebraic system of text editing.
I agree with MaysonL.
Great silly post to end the day with
Was a fun read!
A) I hate getting the kernel skins stuck in my teeth. This happens when eating directly from the cob. I spend dozens and dozens of minutes picking, flossing, and sucking my teeth to get them clean. I'd prefer to shave the kernels off with a knife.
If I must eat from the cob:
B) Cobs with husks attached-- you get these at festivals and fairs. Sometimes they're so frickin' delicious you have to just put up with the A) issues. I'm eating it like a dot matrix printer prints on its drum, from one end to the other, rotate a bit and do it again. Cuz it's hard to rotate more with the damn husk in the way.
C) Cobs without husks-- family gatherings with plastic utensils that couldn't shave a cob in any circumstances. Start at the left end and spin the cob until that section is clear; move slightly right, repeat.
So I'm a pragmatist. And this post had me spending far too much time analyzing and posting about my corn eating habits.
Hi, I'm delinka, and I eat corn.
> Start at the left end
I eat corn exactly as you do in (C) (more or less in columns; clear a column of all corn, then shift over to the right exactly one mouth width). The difference though is that I hold it with the pointy end to my left and the stem end to my right, but I start at the pointy end. I'm left-handed.
That said I actually have no idea which way I prefer to eat corn on the cob, and I guess now I'll never be able to make an unbiased assessment.
I'm also more of a statistician who edits in vi and emacs every day and I'm challenging myself with some category theory and abstract algebra because I find it intoxicating.
So, I don't have a clue how to fit into this divide.
Anyway, a highly entertaining article.
Analyst connect things by putting them in a "big" circle and then making the circle arbitrarily small.
Algebraist connect things by showing that you can get from one to the other with a line of operations.
I don't remember how I eat corn on the cob but I rarely finish it in either case :(
It's one of the few meals where its' socially acceptable to eat like a pig :)
I'm not had formal training in Mathematics beyond High School, though I've worked my way though introductory texts to Calculus (single variable), Linear Algebra and Discrete Mathematics (thanks in a large part to reading Yegge's rants and being inspired to learn by the exceptionally smart people on HN - really, I now wish I'd pursued Mathematics further, was in the top 5% at high school but didn't enjoy it).
Of course, _that_ you eat corn on the cob indicates that you are a hedonist. Poorer societies get the hull off the corn to get more of the nutrients. Some use mechanical means, some use chemicals like lye.
I have noticed that when each kernel is firm and can be cleanly separated from the cob, I am more likely to do rows. When I do, though, I usually take a horizontal chunk at a time.
Seriously -- don't be surprised to see an interviewer offering you a cob of corn as a snack (especially since we are having summer) and watching you eating it. While this should not be a major indication into your engineering nature, I am sure it may add up as positive/negative points into said interviewer decision making process.
* Good fresh sweet corn vs. stale starchy corn
* Butter and salt vs. no butter and salt (I'm combining "butter and salt" as a single variable for simplicity - and I mean butter and salt already on the corn, not available on the side.)
Here are my completely speculative, subjective interpretations of the four possible combinations - and so you know my prejudice up front, I'm a fresh sweet corn with no butter and salt guy:
1) Stale starchy corn, no butter or salt: Your company doesn't care about quality, and doesn't even know that it doesn't care.
2) Stale starchy corn with butter and salt: Your company produces poor quality products but tries to cover it up with a slick-looking user interface.
3) Fresh sweet corn with butter and salt: Your company doesn't know quality when it sees it. It probably has a strict coding standard that dates back many years, and no one dares question whether these are good coding practices or not.
4) Fresh sweet corn, no butter or salt: Yes! Can I work here? :-)
Now that I think about it, serving fresh sweet corn with butter and salt on the side would also give the company some interesting information:
1) Interviewee immediately butters and salts the corn before tasting it: You are set in your ways - you know that corn is a starchy vegetable that needs butter and salt to be palatable, just as you know that the one language you've always coded in is the best for every situation.
2) Interviewee tastes corn first, then butters and salts it (or just doesn't eat it) if stale and starchy, or eats it plain if sweet and fresh: You know that things which appear identical are not always the same. You investigate before coding and adapt to the situation.
(No offense intended to anyone who genuinely likes butter and salt on fresh sweet corn!)
Analysts want to try and explore depth first hopefully to get to the result while algebraists go in breadth first -- to leave no kernel un-eaten in a nice systematic way.
FWIW, I'm a physicist and used not rows or spirals but the "columns" approach mentioned by one commenter. :) And I probably couldn't tell you what type of math I prefer.
When people say "spiral" they really mean a series of circles, right? I've never known anyone to eat corn that way.
So, sociologist then? http://xkcd.com/435/
I'd say it's probably more dynamic typing versus static typing. Dynamic typing matches up very well with the sort of fuzzy proofs that occur in analysis ("well this is less than that, and that is less than the other, so this is less than the other by a little bit" seems close to "quacks like a duck"), and static typing seems very much like an algebraic idea.
But, as someone working on a math masters, I can say that I prefer analysis and really like dynamically typed languages, so this might just be my pet theory of matching the world to myself.
Now you have an entire cob coated in delicious butter.