Football: Catch the Fever but Not the Rash!

A couple days until Superbowl time, and given that I’m from Seattle, obviously this is very important to me.  First, I’d like to thank Richard Sherman for deflecting attention off of his teammates who are far more shy and for really rocking the crazy eyes this year.  Next, I’d like to thank Russel Wilson.  You seem genuinely like a good guy, and also you’re very easy on the eyes, which is odd given that you’re a football player.  And finally, Patriots, thank you for chronically cheating so that it’s super easy to hate you – even easier than hating the 49ers, whom I secretly like in very specific situations but will never admit verbally.  That’s right, Patriots, I always want you to lose.  Always.  Even if it would be advantageous for my team if you won, I hope for nothing more than your complete and utter defeat at the hands of men who are marginally more ethical than you.

Alright, nerd rage aside, let’s get to the point.  As per usual I’m going to go into some awkwardly revealing detail about my youth and then make some overarching connection to the impact it has had on my adulthood, since apparently that’s my M.O.  Let’s do this.

So every time I watched a beer commercial as a kid, either it was frogs croaking “Budweiser”, half-naked women and happy ugly white dudes, or a bunch of dudes watching football and cheering while drinking.  Fortunately, in my youth I was incredibly aware that frogs croaking a brand name was fun to mimic, and that women didn’t get undressed anywhere but in the minds of happy ugly white drunk dudes when alcohol was involved on their end.  The last motif just baffled me.  Men watched football?

Let me clarify.  I knew some men watched football.  My grandfather, for example, liked to lay in his bed and watch it every Sunday, and when I visited I would sit on his bedroom floor for a few hours to watch one game with him, shouting and cheering for everything because I didn’t really have any other outlet to get out all my noisy yelling child urges.  My grandmother never joined to watch football, and my sister didn’t, so I suppose this may have been a good indicator about why that gender stereotype existed, but that wasn’t my home.

At home, on Sundays, my oldest sister – 8 years older – would watch football avidly with my mom.  I found the games slow paced, so if I was eating I wouldn’t get distracted, so my mom often had a bag of chips and this amazing four-layer dip I dedicated all my attention to anytime a play wasn’t happening.  Nowadays, I have my cellphone, which is probably exceptionally better for my diet, but every time I watch football I still crave a little bean, sour cream, salsa, and cheese dip to go with my chips.

That was it.  My sister, my mom, and sometimes me depending on how focused my 8-year-old brain was.  My dad never watched football at the time, so clearly every time my brain saw the commercials for booze involving dudes and football, I figured they were trying to attract more men to the sport.  I made it my duty to help their cause, since it might be cool if my dad watched football with us.  And so, I set out to discuss football with men everywhere, telling them how great it was and why they should consider trying it out to enjoy it.

Every time we came across an adult male friend of my parents, I asked them if they liked football.  My uncle was my first recruit.

“Yes, of course,” he replied.

“What about the Seahawks?” I asked, staring at him with the eagerness of an Evangelist.

“Obviously.”

“Will you watch this Sunday?”

“I will be watching every Sunday so long as it’s on!”

SUCCESS!  Now, had I been maybe a year older, I would have realized this conversation clearly indicated he had been watching football all along, but instead I took this to mean that I was amazing and the perfect advocate of the cause.  I continued this same pattern of conversation with male teachers at my elementary school, boys on the playground, and after I had grown enough confidence, I figured it was time to try this talk on the most challenging of targets: my father.

“Do you like football?” I asked, staring at him like a tiger (which I had formerly believed to have eaten my father) about to pounce on its prey.

“Yeah, I love being at the games.”

Lies!  Complete and utter lies!  He had never been to a game that I was aware of, and I had lived with this man for 8 years!  Why would he lie?!  No, I knew this going in, he would be the hardest sell.  I had to continue attracting men to watching football so those beer commercials would go back to showing the reality of football – women with bean dip shouting and hollering, and maybe after all my hard work a couple men as well.

“What about watching games?” I asked, this time raising an eyebrow as I stared at his face, gauging whether or not he’d be willing to be persuaded to join the cause.

“Well, yeah, that’s what I do when I’m at games.”

“Great!  So you’ll watch it this weekend with us?  Perfect!”

Rather than waiting for him to clarify that the answer was actually no, I happily meandered off to go play on the tree in the backyard.  I’m assuming my dad later had a conversation with my mom about whether or not he actually had to watch football now, and the agreement was that due to how adorable I was in my youth and how happy I seemed about it, he clearly had to go along with it.  Fortunately for everyone, that cuteness wore off as I got older, so my blind enthusiasm was slightly less contagious.

That Sunday, there I was, successful in my mission, sitting with my oldest sister, mom and dad, watching football.

Glowing in my success, it was short lived as soon as I heard my dad shout, “I don’t understand why they aren’t kicking a field goal.  Kick the ball!”  I looked at the screen.  It was first down.  Fifty-yard line on the dot.  I looked back at my father.  Oh.  Maybe this is why he didn’t watch football.  He knew nothing about it, and for the next few years my mom spent most of the games explaining why it’s probably not a great idea to kick a field goal at the fifty-yard-line on a first down, and my dad kept joining us, and the frequency I decided game time was play outside time increased.

Learning is fun.

Advertisements
Football: Catch the Fever but Not the Rash!

Where to Learn Web Coding: Udemy, Codecademy or Udacity

Congratulations, everyone, you’re spared my MSPaint art!  For now…

Since apparently learning to code is some major fad right now (which I perpetuated in my classroom before my shoulder was busted), my greatest challenge with learning to code is how many options there are out there to learn  Too many is the answer.  Too many.  The very basics of good teaching are to teach both the “how” and the “why”, modeling, providing time for support practice, and providing independent practice so I can retain and generalize the skills learned.  The options I’ve found online all vary significantly in quality in these respects, and the quality seems to change and drop off at regular intervals.  For example, my Udemy.com class in C++ was a great place to start.  Initially, the e-instructor explained everything very clearly with his amazing thick accent.  Most importantly, he started with teaching “why” you do certain things before teaching “how”, which as a teacher I know is essential to ensuring someone can use the skills in the future to solve unique problems they never came across.  They’d have the tools to attack a problem that seemed foreign because they knew how their tools worked and consequently where they would be effective to use and the impact they could have.  Unfortunately, about half-way through the lesson, (as I mentioned with my issue involving fatty fingers and validity checks), the quality sort of dropped off and instead of teaching he just started to show how to do things without anything resembling why.  Thankfully, I’m pretty good at deduction and producing cases that can ensure whether or not something is working the way I suspect it is, and I can look information up pretty well, but what’s the point in paying for a class that I need to supplement with hours of trial & error + research to learn a basic functions actual functionality?  I want to spend those hours of trial & error + research learning how to solve my own problems instead!  Way more fun.

The other issue I had with the Udemy.com class I took was the lack of independent activities or homework to ensure I had learned what I was expected to learn.  There were two incredibly easy quizzes total, but that’s all.  Again, this wouldn’t have been a big deal if I had known the “why” behind what I was doing, because I could easily make up my own activities, but when you lack the “why”, independently structuring a problem you can solve gets a little trickier – which is how I knew I knew less than I had expected to by the time I finished.

Despite some major educational flaws involving my inability to generalize the skills I learned without hours of independent study and raking through the internet, I still believe C++ was a good place to start since it tied to a language I had some background in – even if it was nearly a decade ago.  I had taken C in high school when I first loved coding, but ultimately decided to go to college for something else because while I loved it, I wanted it to continue to be more of a hobby so that my love didn’t fall away.  In college, I continued to work in some scripting languages to make mods and additions to games I loved (Ragnarok Online, oh yeah!), but by senior year I was so busy being old that it dropped off.

In hind sight, this might have been a silly line of reasoning.  Why not pursue something that I love as a career?  The passion should have gotten me through all the normal ups and downs no problem, but for whatever reason I had a fear that something I loved to do for recreation would become tainted once it was a career.  Fortunately, years of tech support helping pay for my undergraduate school also made me realize I love teaching and going to Carnegie Mellon made me more than aware of the fact I’m totally cool with people who have disabilities.  Somewhat joking, but also CMU has an abnormally high rate of students with Autism Spectrum Disorder.  Which is awesome.

Anyway, on a less personal note, once I finished with my Udemy course, I felt sort of disillusioned and uncertain of what to do with myself.  I knew my next step was going to be learning languages that I can use on my old web domain after the fundamentals of coding were out of the way, but I felt like they hadn’t really been fully taught and my independent deductions left me hesitant to say I was correct in said deductions and standing on solid ground.  I looked at a few different sources as where to go next.

I tried Codecademy.com.  I had two major complaints.  While the format of the website was amazing and something I hope to be able to make one day with the instructions, code, then seeing what you build in real time all lined up in a way where it didn’t feel crowded, it was far too much like rote memorization and once again didn’t include the “why”.  I could figure out how by looking at source code and messing around with it.  My second issue was the pacing of the lessons was so slow that after I got a bit into CSS I decided to try something else. Also, I learn very well with audio, so videos would have been nice too, but this is more a personal learning style issue than actually a critique on the material.

I checked another Udemy course, but they all looked to lack independent tasks and explaining “why” as well.  There were a few Ruby online programs out there that were either free or charged very little, the online courses from Stanford and the like, and a couple things like TheOdinProject.com, which has a great information for reading and connects to a wide breadth of different resources (including Codecademy, TreeHouse, etc…) as well as laying what to learn out in a specific order, but a lot of it linked back to Codecademy for basic information.  Which, as I stated earlier, not a huge fan even if I want to cuddle their website at night.  Then finally, I found the one for me.  Udacity.com.  For now, this is the path I’ll be on until I likely wander over to TheOdinProject or FreeCodeCamp looking for more.

Udacity explains things clearly, including why you use different parts of code or how functions work, and then offers quizzes and homework immediately requiring you to independently apply what was learned.  Also, there are videos, so that’s a plus for me, and you code things without them explicitly telling you exactly what to code to the point where you can probably copy and paste unlike Codecademy.  Some people may not like that it gives information not directly tied to the immediate skill you’re trying to acquire, for example a few minutes spent talking about Ada Lovelace, but I genuinely enjoyed the random tidbits of information.

The how, the why, modeling (lectures showing how to do something) and guided practice (quizzes that then walk you through the steps – I’m assuming this would be closer to typical guided practice if you paid, but I’m good with my freebies), and independent application (homework & since you have enough of the why you can set your own assignments easily such as working on that old domain!).  Udacity is the closest thing I have found to best practices in teaching online so far.

Udacity is perfect for me – at least for the time being where I’m still just getting off the ground and trying to solidify my learning from C++ into other languages.  I plan on starting with Python since it’s the closest to C++ (though so much simpler and more elegant), while I continue with HTML/CSS through independent study since they both so far have seemed incredibly direct while I was doing Codecademy.

I have, of course, also considered a bootcamp, but that’s a post for another day.

Thank you, mushiwulf, for introducing me to FreeCodeCamp.com and your blog always serves as good motivation (or is that a work distraction?!)

EDIT 1/30/15: I just finished Udacity’s HTML/CSS section, and I felt the need to update to say that while there are some portions where they explain how/why quite well, there are others where they return to the old school way of teaching code which is “look at this block of text – copy it onto yours – see what it does!”  At this point I can only really recommend their introduction to CS course, though I may recommend others as I continue or stop recommending that one if it gets progressively worse which seems to be the trend in MOOCs.

Which, again, I’m totally up for that, but don’t really need a video about the basics to send me on that path of using view source.  So I’ve resorted back to dinking around with things independently.  My husband has started using Treehouse, and I’m considering doing so as well, but it looks like it just goes so slowly.  Painfully slowly.  I love python so much more than HTML, though…

Where to Learn Web Coding: Udemy, Codecademy or Udacity

Pain: It Builds Character! (Or: Why I’m a Horrible Patient)

I would like to start this off with an apology.  Mom, if you ever happen to read this, I’m sorry.  I truly am.

First, I’m sorry that I doubted you would figure out how to find that I wrote a blog.  Another further apology for suspecting that even if you knew I wrote a blog, you surely would never actually find it.  I’m pretty sure you use the internet to play variations on solitaire and the occasional update to the space simulator I downloaded on your iPad (shout out to FTL!  My mom and I  both love you, so make an android version so I can play mobile too, please!) and nothing else.  So if it turns out I was wrong, and at some point you were doing a search about poodles and somehow you landed on my Ninja Poodle post and then you suddenly realized, “Wait, I know that little bastard who lies on clean laundry piles with his filthy, smelly, old dog poodle body…” you decided to start clicking around on my page and found this post, I’m sorry I ever doubted you.  I know you’re capable of many things, Mom, and at long last your web browser is one of them.

Second, I know if you read this you would take it as me insulting your statement, “It builds character!” every time I experienced pain and implying it was detrimental to my development.  I want to make it clear that I don’t feel that way at all.  I have just noticed that while it certainly did cut down on the amount of moaning and groaning I do in comparison to everyone I have met in my life, it has lead to some consequences whenever I do happen to need to visit a doctor multiple times and a physical therapist over a duration as part of my healing process following an injury – like say, for example, a student rammed me into a wall injuring my shoulder and kept swinging.  Not that that’s ever happened.  That sure would be weird.

Moving on, then.  When I was a kid, I had the most tangled, rebellious hair a blond kid could have when the hair otherwise appeared straight.  For the most part, this wasn’t a huge issue.  Why?  I personally didn’t feel hair brushing was all that essential as a kid, so it rarely was a problem.  My mom, however, felt differently.  Every time she did my hair, either because she happened to be around after a bath or was doing my hair for us to go somewhere fancy she figured my matted mess wouldn’t look so appropriate, she would brush it.  This sounds simple enough, but you have never had a tangle of interwoven, matted hair with a brush yanking down on your scalp if you think it’s silly to make any exclamation of pain.  I already was a pretty tough kid thanks to bigger sisters being less than gentle with me and getting into fights with the neighbor boys, so it was typically limited to a grunt, and on a particularly bad day, an “Ow, Mom, that hurts!”

To this, my mom always had one response.  “It builds character!” and then would continue on the current course.  (This may be why my response the first time a student for whatever reason decided not to follow a direction I gave was to wait for a moment then repeat the direction until it was followed.  This once lead to me saying, “Sit down,” in a monotone for 5 minutes while a kiddo with EBD ran around the room trying to find a way to get my attention.  Fortunately, he grew bored and eventually sat down, though that probably wouldn’t be how I’d handle the same behavior today now that I have a bit more experience and a lot more reading in on best practices in teaching students with EBD.)  My mom, every time I made any noise, would yet again repeat, “It builds character!” and keep going.  Bellyaching didn’t change the outcome, so I eventually just stopped bellyaching.

Overall, this was fine during my youth, except any time I was ill enough or long enough to warrant a doctor’s visit.  For some reason after you’d been vomiting for 2 weeks straight multiple times and then get to awkwardly tell a doctor you’re pretty sure you’re not pregnant because there’s a certain activity required to cause that to happen that you, as a minor generally traumatized by the “Miracle of Life” video’s birthing scene, had not been partaking in and had no intention of partaking in ever because that was not about to happen to your precious body, they aren’t really inclined to check into it further if your response to various motions that cause pain is to say, “It’s fine.”  Fortunately, the solution to my vomiting problem was to get about 5 years older, and then it worked itself out.

I take that back, there was one other time a more verbal response to pain would have been beneficial when I was a kid.  My neighbor boys and sisters sometimes liked to pull my hair.  Thanks to it building character to have my hair pulled by a brush, I assumed it also did when hands were involved in pulling.  I usually just sat there motionless, unresponsive to the tugs, impressed by my own toughness.  Except one time the neighbor boy was particularly mad at me in our game of LEGOs for taking the last steering wheel to make my mobile toilet car (I made many of these, don’t know why, but it was sort of my thing).  He wanted the last steering wheel, and when I refused to engage in that high-quality sharing I learned in kindergarten because sometimes get to have the last of something too and sharing also means the other person should share back occasionally instead of take-take-take, he yanked my hair.

Another example of the fact I'm not actually invincible.
Another example of the fact I’m not actually invincible.

Fine enough, my scalp was made of titanium for all I knew.  But when I didn’t make a peep, his eyebrows simply furrowed in rage as he glared down at me, holding the last steering wheel just out of reach.  He grasped, he hoped, he failed to get it out of my hand, and so he did what a little boy does to a little girl who isn’t sharing.  He pulled my hair harder, hoping pain would cause a reaction.  Nope.  Again, not a big deal, but he continued trying to pull harder and harder in hopes that I’d do something, and instead I just stared back at him blankly until finally he managed to tug a chunk of hair off my head.  When I still didn’t respond, he finally resorted to what little boys do when violence doesn’t work.  “MOM!  SHE’S NOT SHARING!”  Shortly after, I was yelled out of my neighbor’s house, LEGO-less.  The toilet car went incomplete, and I lost of chunk of my hair to show for it.  I imagine had I made some sort of reaction he likely would have stopped since he wasn’t typically malicious in nature, but it built character to be silent.

So, that leads me to my present issue.  Every time I go into the doctor, he tells me to “do as much as I can” while assessing the limitations of my injury.  Now, I have an injured right shoulder.  Typically, I use my left hand for writing, but nearly everything else is my right hand thanks to my elementary school not believing in left-handed scissors, left-handed baseball mitts, and yelling at me when I tried to move the mouse to my left hand.  So when I’m told to do as much as I can, my reaction is to much as hard as possible, even if I use compensatory muscle groups to do so and loose all sensation in my right arm due to nerves getting pinched.  When I lose sensation and can’t do the next activity, my doctor typically sighs and has to wait it out.

During physical therapy, I’m told to indicate when I lose feeling in my hand, but given that it’s a sign of having character not to vocalize any complaints, my poor physical therapist has to check in with me every few seconds to see if I’m going numb and stare at all my compensatory muscle groups to babysit my shoulder since I’m certainly not going to.  My poor PT has repeatedly asked me to speak up before it goes numb, and I really am trying to remember to, but after going years and years of not vocalizing a complaint about pain unless I’m asked about it, it’s fairly hard to do.

Actually, I suppose I have issues even when I am cued to indicate if I’m in pain directly,  but in the direction of underplaying it.  For example, my poor husband loves to hug all the time because our apartment goes from being a furnace to being a freezer in the period of 30 minutes on a regular basis, and hugs are a means of survival – not emotional connection.  However,  he is a very strong man, and I have a fairly impaired shoulder.  If he hugs me just a little too high or a little to tight it hurts until the next morning, and if he hugs me a lot too high and a lot too tight, it can hurt for the next week.

Now, common sense would say that if someone you love is accidentally hurting you, you should probably tell them immediately.  However, due to my slightly dysfunctional pain response system, my response is to continue on until they somehow manage to pick up on body language indicating I might be uncomfortable and then ask about it.  I then go into my next lesson from growing up: there’s no reason to make people feel bad about things that cannot be changed if they have already learned their lesson from them.  My husband already knows he’s hurt me, so it does no good to go on and on about it, so I usually respond with what I tell doctors, “I’m fine.”  Now, my poor husband then fixates on whether or not I’m actually fine, trying to gauge the impact.  He’ll subtly watch my behaviors the rest of the day, then ask me why I’m not doing something I normally do the way I normally do it.  That inevitably leads to me being in a conflicted situation where my value for honesty is pressed up against my value for not making people feel guilty for no reason.  The outcome is some long-winded, overly detailed response about exactly why in this particular moment I’m behaving differently with the hope that deciphering the long trail of words will distract him from guilt.

Hopefully I’ll just heal up soon so I don’t have to keep having awkward conversations with the people I love about how moderate physical contact causes pain!

Pain: It Builds Character! (Or: Why I’m a Horrible Patient)

Validity Check: Fatty Fingers and stringstreams

Remember how I said I’m studying coding?  Yeah, that’s still been completely true, I’ve just been puttering along without any real issue following my course on Udemy.com.  The e-instructor described things quite well through a nice, thick accent, and anything he didn’t describe I was capable of using the twin powers of my logical brain testing things independently and StackOverflow.com to resolve.

That is, until I ran into a data validation exercise.

The instructor hadn’t gone too far into detail about the actual functions behind a lot of the directions he was giving including the use of cin.rdstate() and cin.clear();.  I, and apparently a large portion of the inexperienced internet, believed that the latter function would clear the stream of console input.  We were wrong.  We were all horribly wrong.  All it does is clear the error tag on cin and allow the stream to continue being used.

What I was told to do - logically this was the equivalent of "did fatty fingers happen? Alright, let's forgive the fatty fingers, ignore half of what they did, wipe the screen to remove evidence of the fatty fingers, go back to listing our menu again, and let the fatty fingers know they were fatty if they didn't even enter a number!  Silly fatty fingers."
What I was told to do: logically this wasn’t a bad idea in isolation and was the equivalent of “Did fatty fingers happen? Alright, let’s ignore that and keep going!”

So, for example, if I had a line of code getting an input for an integer involved in my lovely while loop and instead of an integer my dog crawled on my keyboard and entered COWSARESKINNY, my program would pee itself and then pee some more as it kept trying to convince itself it was using a valid data type per my instructions.

The other thing my e-instructor had suggested doing is using cin.ignore(numeric_limits<streamsize>::max(), ‘/n’);.  This essentially told my data input to ignore everything after any valid data or until a new line.  This could have worked just fine, because if I entered 2ynuhdoaf4reay, I’d have an input of 2 instead, and everyone would be happy fatty fingers didn’t destroy the day.  Option two in my menu said to compute the area of a square.  Fantastic!

Well, this time, anyway.
Fatty fingers will NOT ruin my day!

HOWEVER, my particular program then needed another integer and finally a character that’s a y/n to know whether or not to continue running, so since my stream was still full of the rest of the input that was simply ignored earlier, here is what my computer would do in response to my rabid key mashing:

Take 2 to select to use my square function, then start looking for another numeric value in the stream to use that as the length of a side.  It came across a weird string of characters, which it was told to ignore and give an error message, which in my case said, “You and your silly characters!  I said an integer!”.  It kept pushing through this error message, clearing the screen so it’d look pretty and hide the evidence of previous errors, until finally it found what I had told it to look for.  A number.  The number 4.  My code did a happy dance and giggled excitedly, finally computing the area of a square.  16!  Hooray!  Then I sent it back to my main function where it asked whether or not we wanted to calculate the area of another shape, so it then looked in the input stream for a character.  r, e, a where all invalid being that they weren’t a y or an n, and so the computer spat repeatedly to enter the area of another shape until it decided to.  ALL this without a human being needing to add anything else in!

I had a problem.  A problem my instructor over the internet hadn’t even looked at because he hadn’t produced this case during the lesson, and while I was sure there would be a later point where data validation would be looked at further with a solution that didn’t cause my program to just auto-run itself into failure, I didn’t learn it yet.  Was I particularly attached to perfecting a program that calculated the area of a shape?  No.  But it worked incorrectly for what I had just been supposed to learn, and darn it, I wasn’t going to fail at acquiring the expected knowledge!  So I set to my problem-solving regime: a healthy mix of independent research and soliciting the aid of those I perceive as being better at what I’m trying to do than I am.

My first step was to test a few different cases to determine if my hypothesis about my error was correct.  It was.  Hooray!  My next step was to try to figure out a way I could clear the input stream after getting the data I wanted.  After trying many, many things, I finally enlisted my husband’s assistance in case he happened to know the information I was looking for.

While talking to him did further my understanding of my code produced with the aid of an online instructor, I unfortunately did realize that he didn’t know a command that would solve this problem either.  The next step was to hit up the internet again, and while the internet had a variety of suggestions, none of them met the program’s outlined perimeters – that is, accepting the valid input if they typed correctly the first time but just got fatty fingers afterward.  Not to say I’m against typically forcing people to enter their input correctly in order to get what they want.

My next step was to check in with my friend Michie who is a professional programmer who would like to ride off into the sunset with C++.  She, also, said she typically just refused any data input that wasn’t perfect.  So back to the internet I went.  I finally found a post at cplusplus.com‘s forums that addressed my issue.  It all seemed so simple now, but it required the use of a library I had never used before: sstream.

string input, stringstream iStream, and int choice lived together happily ever after.
string input, stringstream iStream, and int choice lived together happily ever after.

Here’s how it worked to the best of my knowledge.  I’d get an input from cin and dump it all into a string named input.  I’d then make a stringstream, which to my understanding is essentially a stream that can handle both input and output instead of just one or the other.  Since I get the input initially as a string, I dump everything in my cin stream directly to my input without having to worry about some extra stuff floating around, and since stringstream can input and output, I input the stream into my integer data until it can no longer input.  If it can’t add any of the stream to my integer at all, it breaks out, clears the screen, and lets me know I have another chance to try again.  If I can enter a number but then have some insanity afterward, it takes the valid input and then moves on.  this removed my issue of invalid information still being stored in the string afterward, because with a new input, the content of my stream is changed to the new input.  Unlike just cin, I can use the stream for input and output, so I can convert the data safely from my string input to the stream to my data type.  I no longer had to ignore the rest of my stream, only for my cin stream to vomit them up later when I least expected.

Thank you, stranger on the internet at the C++ forums, for helping me solve this problem!  My code, while still not completely elegant, is much more functional now and forgiving to fatty fingers everywhere.

Validity Check: Fatty Fingers and stringstreams

Poodles: The Underestimated Pocket Ninjas

Yesterday morning, I realized my dog is a ninja.  This was a startling realization for me because I’ve known him all his life aside from the first 7 weeks he was in the care of his mother and an old man in West Mifflin, PA, but I realized how long he was hiding in the shadows, gathering intelligence, all while his deeds going unnoticed because he weighs 8 pounds.  It was the perfect plan.  Sit around, eat lots of food, be stealthy.  I should have seen this coming the first time I’d taken him home with me from college and had him sit in my lap on top of a black coat without anyone on the plane noticing.  I should have, but I didn’t.

How was my years of trust and loyalty broken, you ask?  My darling doggy hadn’t come when called, which is highly unusual considering he may have a wee bit of separation anxiety I have still yet to successfully address, ending with me digging around the couch, cushions, bedding, crawling under the bed and getting caught in the bed skirt.  When he continued not to respond, I feared the worse.  I did get him my freshman year of college thanks to an overly permissive roommate, so he isn’t exactly young and sprightly anymore.  The highlights of his day involve waking up when I get up, going for a walk outside, peeing, pooping, smelling where others have peed and pooped, sniffing any creatures that approach, prancing back into our comfortable apartment, sleeping on any pile of clothes my husband may have left out, snacking, drinking, sleeping some more on this cushion of floor next to a bunch of computer cables and speaker wires he believes is a pillow, crawling up to a chair, napping there.  All the exciting things a dog can hope for followed by more bathroom breaks as time permits and some training.  So given he mostly sleeps and then sleeps some more at this point of his life, death doesn’t seem too terribly far off.

So after 15 minutes of crawling around my not-large-enough-to-take-15-minutes-to-find-a-living-creature apartment, I had nearly given up all hope.  It would be the day I had to figure out how you bury dogs if you don’t have a backyard, the day I had to carry my poor buddy’s corpse in my car to my parents house sobbing and singing Landslide performed by Smashing Pumpkins because it’s the closest thing to a breakup song I know the lyrics to shortly followed by Dirty Paws.  My face would get red and splotchy.  My snot would drip.  I wouldn’t care.  My dog would be dead, and dammit, who the hell gives a damn if I look like a train wreck?!

Walking into the office, ready to call my husband and let him know his first pet experience was to end after only a few short years, I called my dog’s name one last time.

“Mumu!”

Then, out of the corner of my eye, I saw it.  It was fast – a blink.  It wasn’t the motion of my dog getting up and running around, no, faster.  Too fast.  The kind of movement only those expert in stealth and speed could master.

Looking over to the pile of laundry in the office that had fallen over at some point, I realized the truth.  My dog was a ninja.  Mumu had based our entire relationship on lies.  I thought he was a slow, aging, lazy cuddle monster with no real skills other than producing minute amounts of heat and turning expensive dog food into fecal matter to be picked up by expensive doggy poop bags and functioned to wake me up at 3 AM when he had enough napping for the day and decided it was time to play.  No, all of this was just a facade.  My dog was actually a ninja master.  A ninja master taking a nap in a pile of clothes he had undoubtedly knocked over because there is no way my husband would have accidentally knocked it over earlier then failed to clean it up.  No way.  Nope.

Do you see the ninja dog?
Look at him – menacing and sneaky.  Conspiring to nap.

I had trained him for this, and it all started that first plane trip home for Thanksgiving in November, 2005.

Mystery solved.
No napping for you, ninja dog!  We have laundry to fold!
Poodles: The Underestimated Pocket Ninjas

The End of My Self Delusion: the Too-Big Bike Incident

I want to begin this story with a couple of truths that those closest to me and now strangers on the internet are well aware of.  When I say I was 8 years old when something happened, most likely it was within 3 years of that.  That’s right, the reality is I was somewhere between 5 and 11, and as the years have passed unimportant things such as my actual age at the time have faded away.  This statement has also protected me from some possible embarrassment when it comes to delayed developmental milestones or seeming arrogant for rapidly reached ones.

So, here’s another truth that those closest to me and now strangers on the internet are well aware of.  If it involves spelling, gross or fine motor skills, and anything remotely involving being coordinated, assume it occurred in the latter half of the age range.  If it involves anything I can do without having to move from a stationary position, assume it happened in the first half of the age range.  So if I told you I was in a special spelling group in class for horri-bad spellers when I was 8, how old was I really?  Ding-ding-ding, 10!  If I tell you I was doing my older sister’s math homework and she did my daily oral language homework when I was 8, how old was I really?  Ding-ding-ding, 7!  Wait, I wonder if those two statements have any correlation…

Ahem, onto the point.  When I was 8, I felt hesitantly invincible.  I occasionally got a scuffed knee and would bleed, but it’d go away within a few days and any evidence I was a mere mortal was no longer observable.  I, though far more timid than my middle sister, would still jump off decks after watching her do it a few times, crawl onto the rooftop with her, and climb until the tree branches wobbled too much.  Know this, the reason I hesitated wasn’t due to a fear of death or permanent damage, but more I didn’t enjoy certain sensations.  Once I got too high in a tree, the branches shook, and I’d get dizzy.  Jumping off a deck gave me slivers unless I went to specific spots she had already worn down, and I hated slivers.  I was pretty sure I could do anything without any real harm coming to me, and at a time where your growth finally paused so your brain could catch up for a few years before sprouting again, that was a pretty great experience.

That is, until I rode an adult’s bike for the first time.

My bike had training wheels.  It was a pretty large bike to still have training wheels, but my parents never really got around to teaching me how to ride without.  I assume with my mom it was because she was too busy working, and my dad likely couldn’t find the tool in his garage to take the training wheels off.  But my super creepy neighbor found the time, and boy oh boy was I going to take him up on the offer to teach me how to ride a bike without training wheels.  Everyone would be so impressed that I, the uncoordinated Lady, could finally ride a big girl bike instead of that infantile mess that couldn’t make it over the jumps made of plywood and logs that my neighbor boys made.

So, my neighbor took out his wife’s no-training-wheels bike, one sunny afternoon.  Now, growing up I was always unusually short (25 percentile or below) until I hit puberty and finally crawled to the other side the average range with my mildly superior height.  My mom blames my dad exposing me to coffee, my dad blames my mom’s height, my sisters blame my friends all being abnormally tall.  Whatever the case, I, an 8 year old, was definitely not tall enough to ride a grown woman’s bike, especially when I had been raised on training wheels.

AND ADORABLE TOO! :D
Clearly this was a great idea that would have no undesirable consequences.

You may be thinking, clearly she bled within seconds!  No, pessimist, I did not.  I think that was the greatest downfall of this experience.  I spent 15 minutes with my neighbor holding the bike steady, pushing me back and forth as I gradually figured out how to pedal while standing up and attempting to steer the bike.  I felt the wind in my hair uninhibited by the extra friction caused by training wheels.  I was a big girl bike rider.  I was a big girl bike peddler.  I was the queen of the big girls.

Only not really.  I thought it a good idea after my neighbor had gone inside but left me unattended with his wife’s bike to try some more on my own.  I couldn’t get enough momentum by peddling on my own, so I mostly just tried to balance for a few seconds until I would inevitably land to the side and stop the fall with one of my feet.  It was ineffective.  The bike was too big, and I was too unskilled to move it on my own.  So I did what had to be done.  I pushed that bike to the top of the hill that was my childhood driveway, stood on it with the tips of my toes touching the pedals as I had done so far to balance a few seconds, and then, before I realized it, the wheels went whirling down the slope of the hill, hurdling me down fast.  I couldn’t figure out the hand breaks, having always stopped bikes beforehand by peddling backwards.  I couldn’t maintain balance.  I couldn’t handle speed.  I couldn’t steer.  In seconds, I had crashed into the mailboxes beside our fence and landed knuckles and face into the concrete road.

I sobbed; I bled, and I had snot running down my nose as I realized the most horrific truth of my 8th year: I was destructible.  Now I didn’t realize this in the way the elderly do where they greet death as an old friend who slowly all their friends go to live with in a crazy hippy resort that they neglect to visit until death, too, becomes their reality.  I realized this in the way my older sister finally realized she could truly change the shape of the world around her by knocking over her uncoordinated little sister’s domino house her beloved little sister spent hours creating, only for me this realization happened with my body and the change was bodily harm.  There were truly things out there that could hurt me, change me, make me bleed far more than just a little scraped knee.  I could have my face, hands, elbows, everything ache all at one time.  I could be scarred.  Seconds was all it took, and so much of my understanding of the world had changed, even as my mother held my hands under the sink to clean out my bleeding knuckles as i sobbed.

And I never had any other delusions since! :D Except this one.
And I never had any other delusions since! 😀 Except this one.

Nearly 20 years later, I still have the scars from falling off my bike that day.  They’re just little circles around my knuckles to remind me that sometimes we overestimate the progress we’ve made and can hurt ourselves as a result.  It’s important to grow gradually and push yourself as you reach those milestones, but jumping way ahead of what you’re ready for will just hurt you in the end.

Riding a bike down a hill when I was still using training wheels made me bloody, overwhelmed and confused.  Peeking at the end of my programming book when I’m in the beginning just makes me feel overwhelmed and confused.  Trying to teach a student about logarithms when they don’t understand exponents let alone multiplication makes them feel overwhelmed and confused.

Though I realized this years ago, recalling it again in the same context of bodily harm made me just feel sort of strange about myself.  Realizing you have limitations in areas you didn’t previously is humbling but also puts you in a position where you start questioning your other assumptions – assumptions essential to your day to day functioning.  I thought I was the Queen of the EBD Teachers.  For the first few years, I was calm, collected, talked kids out of assaultive incidents on a regular basis by coaching them with a few failures, had my students make more than a year’s growth in academic areas while still teaching them social/emotional/behavioral regulation skills and stress management.  I had students exit my behavior classroom multiple times a year to rejoin the general education population.  I thought I was invincible, sitting at the top of the hill all alone on a too-big bike.  Then a kid rammed me into a wall.  He kept swinging, and I realized just how destructible I was.

Today I had my doctor’s appointment for my shoulder, was diagnosed with more bad shoulder muscle and tendon labels to further explain more bad shoulder pain, mobility limitations, numbness, and symptoms.  I was told in about 8 weeks my restrictions would be reduced most likely depending on my continued progress in physical therapy.  Which is great news, but I still can’t help but feel a bit strange about the fact a few seconds had such a significant impact on 6 months on my life.  It’ll be interesting to see if I still have the big bump on my shoulder 20 years from now like I have the scars on my knuckles from falling over the handlebars on a too-big bike.

The End of My Self Delusion: the Too-Big Bike Incident