JavaScript Card Game: The Great Dalmuti (or look Ma, I used JavaScript to make a card game my friends won’t play with me!)

Hi, my name is Stephanie, and I’m a recovering board and card game addict.  My addiction has manifested itself in some very concerning ways over the years including a stint of playing DnD with nerds online over IRC chat in college, but the most recent iteration is by writing myself a small JavaScript app version of The Great Dalmuti/Daihinmin/President.

When I am able to coerce my friends to play this game, we all wear different hats to indicate our position in society, because unlike public schools you are allowed to wear hats in my home, and at times it is required like a construction site.  Only, instead of building apartment complexes, we’re building camaraderie?  Clearly, my preference is to give the dudes in our group the pinkest, prettiest hats I can knowing that society typically doesn’t approve of them embracing their love of lightish red and wanting to give them an opportunity where they can excuse their pink-embrace as the whims of a game addict while their hearts palpitate in an elation they had never previously knew possible from headwear.

Consequently, when I threw together cards based on a stick person I was able to create using arial font, they all had different hats to help simulate this very important part of the Dalmuti experience.  My only regret is that the 12 and 11 needed far more different hats than I provided due to a lack of inspiration in the last 5 minutes of my 30 minute hat making adventure.  Which is why those will not be cards I show you intentionally.  Instead, have an apple merchant:

Or, you know, a red blob saleswoman.
Here we have an apple merchant. 

She has large feathers in her luxurious purple cap and has done well in an apple-deprived market. Apple pies, apple crisps, and apple cider are the mainstays in the realm, and she is rolling in apple dough so much her feathers are bigger than her arms. Life is good for the apple merchant.

Totally did not make her an apple merchant because apples are easily distinguishable at small sizes.  It was definitely a lore thing.  Definitely.  Same with this carrot guy.  Lore.

Or, the amazing orange stick salesman.
The carrot merchant. 

A man with small feathers to signify his small wealth in comparison to the other merchants, especially that darn apple merchant. There was a time in his life where he spent day in and day out trying to convince the members of the realm that orange is the new red, but after being threatened with incarceration by the Great Dalmuti himself, he resigned to his fewer boxes of unwanted carrots and accepted his lot in life. After all, he could be a peon.

Look at that well-developed story line.  It makes you want to play a card game with robots because your friends won’t play with you, doesn’t it?

On a more technical note, this was fun to practice for some of the different things I’ve learned and a nice break from my behavior tracker app I’m working on.  I added some changes from my original based on suggestions from friends and spouse (ex. delayed listing of what the script in the browser has played rather than it showing as it loads which is instantaneously from a person’s perspective).  There are still some aspects of the game I need to implement (wild cards, revolution, greater revolution, taxes after the 1st play through), I want to make a much better UI, and I need to refractor my code a bit more since in some places I’m pretty sure it’s a bit awkwardly put together.  I’m also likely going to put together a multiplayer version using me some node and socketIO, but that’s for later because if I could get friends to play with me in the first place I wouldn’t have needed to make a computer version.

In the mean time – hats.  Hats are the answer.

Advertisements
JavaScript Card Game: The Great Dalmuti (or look Ma, I used JavaScript to make a card game my friends won’t play with me!)

Getting MEAN: Building My First Web App for Realsies (and also fries are the worst food gift)

You heard me, for realsies.  I even got to self-create security violations, but thankfully as the app works now it doesn’t include usernames.  Unless you’re capable of inferring.  Then, yeah, definitely an issue.

Not THE Batman.
I AM Batman.

I love you, internet, you’re a great outlet for all of my weird.

But first?  Fries.  Three nights in a row, my husband has eaten out for dinner due to working crazy hours recently (poor, handsome bastard).  Since he knows the secret to a happy marriage is food, he brought me home left over fries.  Now, I love fries.  When I was a kid and I got fries from McDonald’s, I would happily eat those hot, salty, death sticks as soon as I could get my fingers on them.

I ate them before my cheeseburger.  Not because I didn’t love the hot, cheesy, non-compostable burger as much as the death sticks, but because the death sticks would gradually develop a weird texture and consistency as they grew cold.  This is especially true with fries that will actually decompose over time such as those that you get from a sit down restaurant.  That crispy, crunchy, delicious starchy stick just turns into a cold, lumpy, limp, soft wad.  It’s like coal in your stocking on Christmas.  Complete disappointment unless you happen to live in a town running on coal power that is running low, and for Christmas you want to give everyone around you warmth again.

So I tried a few solutions.  One: microwave.  BAD idea.  Ten times as soggy.  Two: oven.  Took way too long.  Still quite soggy.  Three: Toaster oven.  Still soggy, but warm fast.  This may have been improved if I could cook directly on the toaster rack without complete and utter fear of causing a small fire.  This may have been a fear exacerbated by the quantity of “in case of fire!” signs all over my toaster oven, I admit, but also fries slide through thin cracks quite easily so it may also just be a common sense thing that I wish didn’t exist.

I tried to think of other food gifts that came home as bad as fries.  Don’t get me wrong, anything that is a starch to which you add sauce isn’t great (burgers, sandwiches, etc), but a quick run in the toaster oven can fix all of those.  Fries though, too thin to be toaster ovened without aluminum foil.  Tis truly a shame.  If anyone has a leftover fry solution, let me know, cause I have quite a bit left.

(Side note: Dear Husband, if you happen to read this, please don’t take this to mean that I do not appreciate the lumpy food gift, but rather that I am desperately seeking a way to improve my enjoyment of the lumpy food gift as google has not provided an answer that works with the cookware we currently own.  This was a pretty close answer though.)

Now onto the programming portion of our lecture.  A couple months ago I followed a django tutorial that told me I made a web app, and once I finished the site I had loaded congratulated me for my amazing endurance for all of the 5 minutes it took, but I knew the truth.  I knew I had accomplished nothing.  When I attempted to make my own web app at that point, my brain laughed at me and called me names, so I knew I had more work ahead of me.

I landed on learning the MEAN stack because it could all be done in JavaScript.  At that point, I’d finished a majority of the Headfirst Javascript book (2 chapters away from the end, I believe?), so I really wanted to learn something that I could use to help solidify what I had learned about JavaScript.

I have an idea for a program I want to make for some of my old teacher buddies to make life a bit easier, and while I have an idea of the kinds of data I need and some of the objects, I decided it’d probably be better to start with something a little simpler.  There were a good dozen plus websites going through MEAN stack tutorials creating a to-do list (the “Hello World” of web dev), and a few making chat programs.  I decided to be awkward and make a chat program where you talk to yourself and no one else.  Why?  It felt right and had the kind of functionality I knew would be a good stepping stone into the future.  It also allowed some really awkward test cycles where I posed as Batman and used the classic trilogy throat-tearing voice every time I posted a test.  It made the whole experience feel way more epic.

Using a combination of resources including the documentation for node.js, angular.js, MongoDB and express.js, multiple websites, blogs, and video lectures from strangers, it took me about a week of working on it after work to get it together.  I learned that express.js is a beautiful blackbox where I don’t know anything about what goes inside, but I should probably learn what happens in that blackbox.  Finally, the best learning tool of all was learnyounode.  The reason for this is because it is called learnyounode, which automatically makes it amazing.  Plus it just gave you problems to solve using the JavaScript you hopefully know to start creating a web server.  Pretty good times.

Here’s a link to the outcome.  More importantly, here’s a link to all my testing posts.  It gets weird in all the right ways with Batman, Joker, and Robin being the stars of my tester accounts.  This page would look a lot less awkward if I tagged the users who post, but since, again, my intent is to only see MY posts alone when I sign in, I don’t see this as an issue.

I think my next step will be to start working a bit more on the app I’d like to build for my teacher friends.  I’ll need to plan out what it needs to do and how it will work a bit more first so I can get my MVC on.

Getting MEAN: Building My First Web App for Realsies (and also fries are the worst food gift)

I Earned A Badge For Walking! (OR it turns out gamification DOES work on me and Fitbit made me walk in the rain OR benefits of interviewing)

So as I’m sure anyone who reads on a regular basis is aware, I’ve often complained about the fact gamification doesn’t work on me.  For those lucky enough to be out of the know, gamification is the habit of sites to give you badges, points, and other silly, meaningless measures of artificial success for meeting mild milestones.  Think of it as participation trophies on steroids and then delivered with high enough frequency that anyone with a gambling addition would be lost in the abyss.  It’s employed by Treehouse, Khan Academy (for anyone who works with kiddos or IS a kiddo), Codecademy, and was popular on a number other sites as well.  In the academic arena, I was never really motivated by them because typically my drive to learn surpassed that.  So when Treehouse used to send me daily goals, I had already blown them out of the water by doing 10xs as much as what was asked of me.

This wasn’t quite the case with exercise sites.  Now, I exercise a lot typically.  In the summer, I’m outdoor constantly swimming, paddleboarding, running, hiking, and doing yard work at my parents’ house.  Before my shoulder got busted, I used to spend my winters rock climbing indoors since I’m a coward who is super anti-injury.  After my shoulder got busted, however, I’d been experiencing a few issues.  1) I was told to not go rock climbing (boo!) even if it was indoors for obvious reasons.  2) I still didn’t want to go outside in the rain.

I set a goal about a week before I had my interview with Ada Developers Academy to go exercise outside even if it was rainy in the form of walks since the indoor gym and treadmill made me not want to move anymore.  That same week, however, the weather was absolutely gorgeous, so I had no problem meeting my goal. During the interview, one of the questions was about what was something you felt you should be doing or were already doing and wanted to continue doing, and how you would plan to do so.  I felt a lot of the questions were aimed at asking if I was responsible repeatedly and trying to clarify, just in case, am I responsible?  I am!  I really, and truly am!  Even if I did unintentionally insinuated that all East coasters are blunt/rude – but that was just an example of 17-year-old me being super unfamiliar with someone saying anything playfully derogatory that wasn’t sarcasm!  27-year-old me is totally cool with that, married an Easter, and has a best friend who is pretty oblivious to sarcasm.

My “continue doing” example was to learn programming, which I have been doing.  I’m automatically reinforced for studying it, because I absolutely love it, so it’s not particularly challenging for me to continue doing.  It’s like telling me to eat dinner.  No arguments from me there!  My “should be doing” example was of going outside to exercise even in the winter.  I know I should be doing it, and when weather permits, I love it, but even when it’s a bit gross outside I need to get my mercurial butt outside and embrace the drizzle.  My plan was to put it on my calendar (done), and then obey my calendar (always do).  While I could get myself out for 30 minute walks during lunch, I still struggled to motivate myself to do much beyond that, though I’m sure if I put it on my calendar to do more I would.  It’d probably help if I got waterproof shoes that aren’t winter hiking boots.

But you know what’s better than waterproof shoes?  Electronics!  The best kind of technology.  My friend had a Fitbit that wasn’t tracking her stairs properly, and when she was sent a new one they told her to dispose of the old at the “nearest electronics recycling center”.  That would be me!

Now, gamification for other exercise sites has never really worked for me.  Here’s why: it wasn’t attached to my wrist.  A Fitbit for me is essentially an adult version of the tomogatchi pets I had as a kid because my mom told me that two dogs, lizards, 2 hermit crabs, 4 birds, and a koi pond with a fish unfortunately named Jelly Boy (he was squishy!) was enough pets, especially after the bull frogs ate our entire goldfish pond.  It satisfies all my same button pressing, staring at progress urges, with the added bonus that there’s no fake poo to clean up or the risk of fake pets dying by the use of the fitbit (that I’m aware of).  So competing with my friend, earning badges, it’s all amazing.  And I can track my sleep patterns! Mind?  Blown. Did I mention I also have access to a bunch of graphs with all this data that I can export into an excel or csv file?  All my geeky data collection urges are satisfied too.

In conclusion, I can no longer convince myself I’m above addictive psychology tricks like gamification, but I already knew I could succumb to them based on Steam Summer Sales alone.  Despite not having waterproof shoes, I walked 4.5 miles today, over 10,000 steps, and multiple flights of stairs.  All because when I checked my phone it told me I hadn’t completed those things successfully yet, and glancing at the time on my Fitbit when I walked to the restroom confirmed this as well.  If all those websites trying to get me to exercise years ago were connected to my wrist, I would have been in such better shape. Now to track my sleeping for another night and wonder if there’s a correlation between “restless sleep”, and the fact I read books about coding before bed.  Me thinks perhaps.

I Earned A Badge For Walking! (OR it turns out gamification DOES work on me and Fitbit made me walk in the rain OR benefits of interviewing)

Change: IT’S COMING FOR YOU! (AKA puberty, husbands, and JavaScript)

I’m going to make a bold statement that you should just accept as fact: I handle massive change quite well.  Now, hear me out, I legitimately handle it really well.  For you naysayers, what I don’t handle well is the uncertainty of knowing whether or not massive change will happen.  (As a warning, the next few paragraphs go into moderate detail about my realization that puberty was a thing and a thing I would be experiencing eventually.  Please feel free to skip this if your stomach isn’t up for armpit hair.  I won’t judge you.  Actually, I won’t even know about it, which is even better!  Thank you anonymity of the internet which I’ve violated by using my real name on my blog and linking to it from my personal website.)

For example, when I was in 3rd grade and I had the misfortune of being exposed to my first sex ed video about your body changing in strange and mysterious ways thanks to being in a multi-age classroom where no one else in the building was exposed to it until 5th grade.  I was distraught.  Fat balls bouncing around on my chest until the end of time that would inflate and shrink based on weight, age, and baby-making status?  That sounded horrible.  And why more hair?  I kept seeing all these razor commercials, and so I was pretty sure growing more hair was really just a ploy to make them more money and there had to be a way to stop it.  My armpits were completely comfortable without anything stinky coming out of them, and no, I don’t want to rub something inside them every day to keep from offending other people’s nostrils, but thank you for the soap.

The kicker?  I was going to bleed for about a week once a month until sometime in my 50s or 60s?  Why?  No, seriously, why?  That seemed more like a ploy to slowly kill me than an inevitable fact, and I immediately complained to my teacher about these potential changes.  She told me it was something all young women go through, it was miraculous, so on and so forth, to which I was horrified.  I needed to know when.  If I knew when these horrendous things would happen to my body, warping it into a grotesque vessel for this torment supposedly known as “womanhood” topped off with this thing called cramps that until then I had only heard of as a reason to not go swimming after eating (false, by the way), then I knew I could prepare for it.

I took the only reasonable action.  I demanded my teacher tell me exactly when this horror would be unleashed upon my body, to which she responded, “Everyone has it happen eventually, it’s just whenever is the right time for you, dear!”  Dear?!  Ms. C, I was going to bleed most of my life and experience something that kills you when you go swimming with hair all over the place and strange, awful smells dripping off my body, and I was now “dear”?  Absolutely not.  Completely inaccurate!

I immediately set to waiting, uncertain when to prepare for the change, but knowing it would come.  I prematurely started doing things my older sisters were doing, knowing it would inevitably be my fate.  I shaved my nearly hairless legs and armpits.  I wore a sports bra.  I waited with the madness once encompassed by Waiting for Godot, and this was in the days before smart phones, so waiting didn’t involve reading the internet for entertainment either.  It was silent patience embodied by pre-adolescent madness.  I had encountered limbo.  Waiting for Armpit Hair.

That’s the kind of change I don’t handle the best – the kind that is maybe going to happen but hasn’t happened yet and you have no real way of knowing when so sort of make plans for it but also sort of don’t because you need to continue existing as you are now or else you’ll be a useless lump of lady meat.  So I’ve made an effort to address that, since after all the root source of my issues with the unknown is anxiety about when it will be unleashed upon me, which is simply silly.  After all, the most miraculous thing about life is that it happens while you’re making plans, and most iterations of those plans become wasted.  Fortunately, being the nerd that I am, I create multiple iterations of most plans, so while the vast majority are wasted, there’s always one lucky guy that gets to be executed, and he prances forth before all my wasted energy that’s discarded to the side as irrelevant, bragging and boasting about his momentary utilitarianism.

Now, for you naysayers, let me give you some examples of change I handled quite well.  I, a former commitment-phobic lady who hadn’t really dated anyone for more than 3 dates aside from one abnormal instance prior that was still within a month’s span, very easily accepted when I met my husband I would be an idiot not to spend the rest of my life with him, so married his handsome self.  Once I realized I was going to most likely marry him, the when of it all caused some stress, but thanks to constant exposure to that uncertainty (including my husband moving up the wedding date so we had 3 weeks to throw it together in the middle of the school year, which was amazing though very tiring), I got over it, which has been pretty helpful for rolling along with a fairly impulsive man.

I transitioned into an independent adult pretty well too.  Talking to a lot of my friends in undergrad and some recent graduates at the time, a number of people apparently had absolutely no money sense when they were first independent, and though credit cards were free money.  I, fortunately, never had that mindset, so I never built a substantial amount of debt I’d need to claw my way out of.  There’s definitely some weird stuff about being an independent adult, such as retirement and insurance, but researching it hasn’t been too rough, and I feel I’ve generally made fairly good decisions in those areas.  I’m pretty grateful to my mom for my money sense, since when I was a teenager I thought it was weird she talked to me about money, but I was later grateful she did.  There were some lessons that I’d rather hear from her than learn elsewhere, including the infamous, “Your father wants to buy a tractor and we live on a 3000 sqft lot”.

Finally, the decision to program.  I won’t go into too much detail about what prompted the decision, but I have set solidly that this is what I want to do.  Programming and I have been 10 steps apart most of my life as I have previously mentioned, and now that I’ve accepted the fact that I love it, I feel like kicking myself for not jumping in head first sooner.  This isn’t to say I have any regrets about decisions I’ve made in the past as far as my education and career go, and I certainly think every experience I’ve had has helped shape who I am today.  I’ve learned so much patience, empathy, compassion, working with little resources, and how to positively influence someone’s life to help them make more proactive and productive decisions.  There are leadership skills you learn in teaching that if you can apply in other areas of your life lead to a great deal of positive change for those around you in general.  I know how to have tough conversations with people about anything from substance abuse, body odor, or the injury their decisions are causing their relationships with others and themselves.  I know how to tell someone they’re wrong, but do so in a way that they know I still care about them, and that their wrongness doesn’t impact their goodness.  Teaching has genuinely made me a better human being.

Coding takes a lot of aspects that I love about teaching but applies them in a very different way.  To name a few, you constantly learn new information to better implement practices (though for me currently this may be extremely more so since I’m such a novice).  You also get to solve problems and puzzles, which I absolutely love.  It’s great tackling a puzzle without clearly knowing the solution then reaching that, “Aha!” moment later.  Then there’s the collaboration.  Talking to someone else about code and reading their code helps solidify my understanding of concepts, just like watching someone else interact with a student with challenging behavior in the classroom to learn their approach.  I also love that once you learn something new that can make your code more elegant or efficient, being able to go back and revise it, test it immediately, and see the results.  Testing it and trying to break it is great, since it’s like finding holes in your logic constantly then attempting to improve it.

Alright, new goal, make less posts where I inevitably start talking about how much I like coding and learning.

I’m currently learning JavaScript, and after jumping through many sources of information trying to find what works well for me, I have set on Head First’s JavaScript book.  I’m really enjoying it.  I’m on day 3 using it, and already I’ve covered more and more in depth than through months of using other modules to learn.  Part of why it’s working for me is the fact you can quickly read sections you’ve got down, but also because of how many different ways it shows different vocabulary and concepts.  Retaining it all is so much easier than having someone pass over a term briefly but never revisit it.  I really wish they had a recent book on Python too.

My current project is a game of Battleship.  I’m not too far on at at the moment, mostly working on data structures, but I’m pretty excited to get it all working.  In fact, I better hit the books and keep learning so I can get it down.

On shoulder related news, I had a doctor’s visit today.  I’m on the same restrictions for 6 more weeks, but he gave me a steroid injection in my joint, and I have got to tell you, so much less pain afterward.  It was amazing.  The reason for it is so we can push it in PT a bit harder since currently he believes pain is inhibiting my progress.  More pushing is amazing news.  I feel like it has been forever at this point, likely because it has been, but I’m truly grateful for the progress I’ve made.  Each day I feel like I’m getting a bit more of my strength back, and each day the pain decreases a bit more.

Change: IT’S COMING FOR YOU! (AKA puberty, husbands, and JavaScript)

Another New Year! (sort of) and Other Sources of Reflection

Happy Year of the Goat!  For the first time, I was part of hosting the Chinese New Year celebration rather than mooching food and butchering my knowledge of Mandarin to say thank you.  Much food happened, we made the best spring rolls of all time, then we ate them all with friends and family.  Everyone was happy.

This allowed me an experience I typically have twice a year.  Once during New Years Eve and again on my birthday in August, I typically have this moment where I reflect on where I was this time last year and realize what an idiot I was.  Without fail, I think about myself a year ago and always know that I’ve grown a lot and that if I met myself in the past and had a conversation, I would stand in disbelief staring at myself and my actions, regarding myself as ignorant, naive, and childish in comparison to the present iteration.  This is one of the many reasons I’m incredibly against any attempts at time travel and time travel movies just make me uncomfortable while I suffer through their infinite plot holes.

If I had to meet my past self, we’d inevitably get into a fight.  My present self would be frustrated that my past self didn’t know what my present self does even though they’re technically the same person, and my past self would feel my present self was awfully sure of herself and borderline arrogant.  This most likely would stem from the fact not enough time had passed that I feel like there should be a significant difference in our awareness, and given that it is essentially me who isn’t living up to my standards, I’d get irritated, where as with anyone else who doesn’t live up to my standards I’m generally pretty supportive and encouraging to help them improve.

If, however, I was able to meet up with a past self that was a significant amount younger, say a decade or so, I imagine we’d get along quite well and spend the time figuring out what age I actually was when something happened rather than assuming I was 8.  My present self would admire how dorky and awkward my past self was, feeling accomplished that as an adult I had managed to cover it enough that when I announce it to people who know me at a professional level they don’t believe it is true, but as soon as that boundary crosses into friendship they can’t help but be awestruck at how long I managed to cover and compensate for my social flaws thanks to a large amount of confidence making it appear as though everything I did was normal.  My past self would look up to my present self, proud of the fact I had a dog and finally started studying coding rather than hesitantly colliding with it before running away over and over again.  They’d be a bit perplexed about how the husband happened, but probably accept it if they happened to meet present husband as well.

So, yeah, time travel should never be a thing.

On Chinese New Year, I briefly thought back to where I was last year, and I, as always, just ended up feeling sort of weird about myself.  This time last year my husband and I had been engaged for a couple months and felt sort of weird about it (as a former commitment-phobic who didn’t like spending more than a week with someone), had a sinus infection thanks to one of my dear students snotting all over me in the most epic sneeze in the history of mankind during a math lesson, and I couldn’t imagine doing anything in my career that wasn’t teaching.  This year, I’m married to my dear husband and feel amazing about it, have a shoulder injury I spend hours each week at PT to resolve due to a very angry student, and really want to become a programmer.

Those are all some pretty big changes.  I’m especially grateful that my husband has been as supportive as he is about my desire to change careers, though I know the news has been very shocking to a few of my colleagues since I am very good at my job.  The reasons for it are pretty strong too.  With my injury, I’ve no longer been able to look away from the severe problems in the education system that when you’re working with students on a day to day basis you come across and bump heads with trying to get resources or assistance needed to work with severely impacted students with emotional and behavioral disorders from district administrators who do not respond to phone calls or emails.  I was pretty much shoved directly into it, both figuratively and literally, staring at it and observing it for hours on end every day with no way to ignore it, and those issues are ultimately what lead to the injury in the first place when I received no response.  I could write a novel about these challenges and their implications for the safety of children and teachers let alone the education of students, but I’ll save that for another time.

Since I was eventually placed on actual light work duty, the work I was asked to do was mostly paperwork and on the lucky days helping teachers improve their paperwork to make a positive impact for students.  This meant I was doing a job I no longer took home with me, and the hours extra beyond the typical day were nearly nonexistent aside from attempting to compensate for hours missed due to physical therapy.  I had a lot of time to think about and explore interests, particularly ones I could do without intense use of the right side of my body.  I tried something I had spent most of my life avoiding fully exploring: programming.

I was hesitant at first when I realized I loved it as I gained very basic knowledge of C++ and made silly little programs that did very basic things such as a calculator that no one but me would ever use.  I knew myself well enough to know what when I learned anything new my instant gut reaction was blind love and adoration but that this was caused largely by the novelty of the knowledge and when you first start learning something you see great improvement without much effort.  As I kept going though, even tuckered through scripting in HTML and CSS which were very less mentally stimulating, I still found I enjoyed applying what I learned to actual projects I could improve, make more efficient, and see the changes almost immediately.  Don’t get me wrong – I’m all for delayed gratification.  I love teaching where I wouldn’t see a student’s behavioral growth for at least a month after the initial intervention had been implemented, but that month was hard and often involved multiple instances of unsafe behavior in the mean time.  But the quick way of being able to test and  compile your code, find test cases that would potentially break it and making sure you’ve worked around it, it’s almost like the whole game-ification movement in educational websites.  You get little rewards for your success, but rather than being entirely superficial like the badges on those sites, your reward is simple, functional code.

I love it.  I love everything you can do with programming, the possibilities that can be unlocked, the way computers can do so much that as a human being would take me exponentially longer to process and compute.  I love thinking about a problem then making a simple solution and writing a program to implement that solution then addressing cases that break it.  I love the constant improvement, and adore talking to other people about solutions to problems to learn from what they have to share and how they explain their approach.  My poor mentors have no shortage of me staring at them with love and adoration as I show them my horrible scraps of code and searching the internet for other ways people have solved similar problems with their explanations to the approach.  The constant learning and problem solving is something I loved about teaching, and I similarly love it about programming.

Ultimately, one of the aspects I love most about coding is the fact you get to have that “New Years” feeling of looking back and thinking, “I KNEW NOTHING!  I WAS SO FOOLISH!” on nearly a daily basis – sometimes even multiple times an hour.  In a world without time travel, who doesn’t love a feeling of constant growth every time they figure out a problem they were stuck on?

Some very good news: my physical therapist last estimated that we were just a few more weeks away from me never needing to see her again.  I like the lady, but I really would love not seeing her more than I see most of my friends and family.  On my last progress report day, I scored a “4 to 4-” on a 5 point scale, with 5 points being normal and no need for any interventions.  When I first went in back in December I was at a 2, meaning I had limited range of motion and couldn’t move my arm against gravity very well.  A 4 to 4- means I have most of my range of motion back and can handle some resistance, but still not quite the normal range.

Also the application for ADA closes tomorrow at 5PM.  It’s a web development bootcamp for ladies that would start up in May.  Their programs used to be 6 months in class and 6 months at an internship, but now it’s 7 months in class and 5 months at an internship through one of their sponsoring companies.  I think the extended class time in comparison to other boot camps would be beneficial since typically short term cramming doesn’t lead to long term retention for anyone.  On top of that, I like the fact they have an internship tied directly to it in order to get some experience in a work environment where it’s pretty well accepted that you’re there to work but also very much to learn.  After all, that’s why programs like University of Waterloo’s are so effective.  They place their students in internships constantly so they can apply what they know to real-world scenarios, or in my case work with legacy code.

I submitted my application last week after accepting that talking to a web cam was not my strong point and something I gradually grew worse at doing the more I practiced.  This was disconcertingly similar to my attempts of learning how to dance in middle school prior to our first school dance.  I hope ADA will find it in their heart of hearts to find out I’m actually marginally articulate in person.  If not, I’ll resign myself to continuing to explore other options.

Complete self-study is supposedly a reasonable option, but I would rather have more experience coding with people instead of in isolation since that’s more what the work environment is like in my experience, and I know you learn more from others than you will ever learn alone.  Other boot camps are on the table as well, but the Seattle-local ones typically advertise that in the same time frame it would have been to attend ADA’s classroom only portion but without support or colleagues for half of that time, you will be work ready.  In the mean time, I intend to continue independently studying as I have been in my free time after work and hope I will be contacted for an interview.

There isn’t a doubt in my mind that I will become a programmer; it’s really just a matter of how I’m going to get there rather than if I will.

Another New Year! (sort of) and Other Sources of Reflection