You Complete Me

HTML5 canvas drawing tutorial done. FINALLY! And a return to 100 Days of Code and better habits.

You Complete Me came about after I finished this set of video tutorials. It is by no means what I would call a final product. I’d like an undo function or to figure out how to have the image not be a background image but one loaded on the canvas so the paint won’t go over the lines. But this is plenty for right now. Know when to hold ’em. Know when to fold ’em.

I was inspired by Busy Mockingbird’s Collaboration with a 4-year-old and Heartless Machine’s Guide to Drawing.

I’m satisfied with the basic look. I think I could learn more and return to it or just do another, but for now? DONE. Done diddly yun, hon. I have other ideas for the canvas. I’d like to learn how to do a sort of Space Invaders but to change it up so that it’s dropping German nouns, and I can only shoot the feminine (or masculine, neuter) ones. Also, return to drawing to provide a workspace for a math function. We’ll see. It’s fun. I’m happy with it.

Finishing this after a week or more off with overseas visitors, a dog at the vet four days in a row, and a dad going from surgery to ICU took a lot from me. I dreaded returning to it and fearing that I’d forgotten everything, but returning to it was a relief. I got lost in the code again. It took so much concentration that I forgot bad things were happening. Some drink. I think my escape is coding. And critters. And cycles.

Hitting a wall

It’s not the wall. I’ve hit the wall on a long bike ride in the Dandenongs. Nothing a fistful of raisins couldn’t solve.

This is just a wall. One of many walls I’ll encounter along the way. This wall was made out of house guests from Australia, a greyhound that nearly crashed after a dental, a dad whose “let’s see” surgery ended up being “let’s get this lobe out”,  and all of this with a house full of hounds (mine, two fosters, and a doggie-sit) and more coming (and going) as friends travel.

I quit being able to think. I opened up a project and just stared at it. I would have been more familiar with Russian. I do not see any reason beating myself up over this. I could stare at the screen for another hour and get nothing done, or I could acknowledge that I have enough on my mind and come back another day and make something worth committing to GitHub. I chose to wait.

It’s not that easy to return from chaos, though. The good habits I was building have crumbled. It’s as though I was on a vacation and left my work behind. A real shit vacation. Think bad cruise with salmonella and no working toilets. And pirates. And flying sharks.

I spent two days working on a new plan (revamped, not really new). This time around, I’ve budgeted time for reading, needle work (embroidery and knitting, not heroin), and exercise. I’m ahead of the game with exercise. I’m cycling and/or running every day, and if I don’t have time for a long ride, I make sure I cycle when I commute and take the long way home to make up for it if the chore is too close. Today my chores were only 1.5 miles away, so I added a 9-mile loop to make up for it.

Tomorrow I’ll see if this new plan works. No. Tomorrow I’ll just do it. If it’s not perfect, I’ll see how Wednesday is. I’ll figure this out. I’ve done harder things. I’ve had bigger walls. Assess, tweak, wake up the next day and begin again. Aways, we begin again.

Personal Space: the final final frontier 

These are the potatoes of the Couchship Tooterprise. Their continuing mission: to doink new tushies, to seek out slow squirrels and new squeaky toys, to silently toot where no hound has tooted before.

My description for this blog is “critters, coding, commuting, and chaos”. I have hit three of the four Cs in this set of photos:

four greyhounds in a small room sleeping
Morning: Somewhere I’ll find a spot for a chill and a cappuccino before a day of reviewing, learning, practicing code.
img_9633
Noon to evening: We hit the living room where I code in a fart cloud. I don’t need a pomodoro. I code when they sleep, and take a break when they wake.
three greyhounds with legs entertwined
Night: All paws all the time at the side of my bed. If I’m not too worn out, I blog or tweet what I did. IFF I am not too worn out.

I have let my career change and coding interrupt my reading and crafting; however, nothing will interfere with my love of greyhound rescue. I could not code in an empty house. I do not create when my house is empty. Do they interrupt my flow? Do paws smell like corn chips? But I have feet. If I need to, I can ride to a quieter spot. There will be interruptions in coffee shops, at The Iron Yard, in the library. At least with my pack, I can use my feet to scratch and rub their bellies while I think about how to approach an algorithm, laptop on my thighs. I cannot recommend you rubbing the bellies of the loud talkers at a coffee shop. You’ll just have to trust me on this.

This is my life. I wouldn’t change a thing.

Not every failure is a bad thing

Last Saturday I took Gregory (black foster greyhound) up to Burleson for a home visit. The couple had small children and wanted to make sure that the greyhound, which they have researched, was truly the right breed for them.

Shortly after we returned to Austin, I had an email from the family. They loved Gregory but felt he was too big at this time. I could have felt heartbroken, instead I saw a family that knew that while they keep looking for the right hound, their youngest would only get bigger. They absolutely loved Gregory. It was just the size. Gregory was gentle with their children, who were in turn very calm and gentle with him. So much so that Gregory followed them around while they showed him their toys. This “failure” to match Gregory with this family was a good thing. He won them over for the breed. That was the biggest accomplishment. And they won me over for a family who would be a good match for another hound. They’re even so patient to think that they could wait a while for the youngest to get bigger. Rumor has it that children grow, so I have high hopes.

Why does a story from four days ago resonate with me today? Job interview. A biggie. A 90-minute technical interview followed by 30-45 minutes of Meet da Peeps Q&A. If I bomb this totally or even just get a few scrapes of negative shrapnel, what I get out of it is success: I got an interview! No complaints there. I have technical interview experience. No complaints there, either. And if they give me feedback along with the “Thanks, but you’re not for us”, then skipper-do and whoo-hoo! I’m worried about me, but I’m not worried about them. They did not set off my jerk-radar.

So. Here I go. Not every failure is a bad thing. There’s no place like home. You’ll shoot your eye out. Wait. No. Not that last one.

2016-08-19 06.53.32

 

Code Rage

The plan was to have fun with Google’s speech API, but that didn’t happen. No. Totes not true. I had a great time with it over in Codepen.io; however, my own local host and Chrome duked it out in the “Who can be the biggest jackhole” contest. I tried settings on my laptop. I tried Chrome settings. I Googled. I searched Slack Overlord. I asked real humans in touching distance. Nuffink. I won’t go into it other than to say that there may have been emails, slacks messages, and tweets that were in all caps. RAGE AGAINST THIS MACHINE OR SERVER!

Why this sucked glass shards was that I couldn’t test the JavaScript functionality of it. Not without adding, committing, pushing, testing, rinsing, lathering, and repeating. What a waste of time. I have three hounds at home. Two of them decided to eat that (don’t know what that is) and my weekend was spent checking the Googles for answers between cleaning up squirts and steam cleaning carpets. I’m not a prissy woman, but even I get over cleaning up Satan’s pudding multiple times a day.

Not one hour of uninterrupted code.

So this is where I settled for now: Whisper sweet nothings to Divvie.

How happy am I with it? If I were to lighten up my inner Francis, I’d say very. It was a lot of fun and there’s so much potential. My frustration with the mic was a huge stumbling block. I’ll still work on why, but if I put this project to bed, at least I won’t have that poo-flinging monkey on my back. I would return to Divvie and DRY it out. Use object-oriented programming. OR address the need to do this again but DRYer and try something new.  I KNOW I KNOW I KNOW!! I have wanted to do a German “der die das” game. That would work for OOP. OOP there it is!

Silver lining? I realize how much I love to code and learn how to better code when I do this for fun even when I’m exhausted from being the hounds’ poo bitch.

That’s win.

 

A great Dane

I’m very proud of my housemate:

I am a woman who loves her space, so accepting a housemate was hard for me, but I could not leave a young person out in the cold. Okay. It’s August in Texas, but nothing chills like heartbreak, confusion, and feeling like you have to give up.

I will respect his privacy, but I am just so proud of him. Such a good human.

Here is what I posted about him on Facebook:

I am a proud not-mom: I have a great Dane with me. He’s a 21-yo dev student from Denmark. Why is he great? He lost his housing when he and his girlfriend broke up. He has no money for rent in Austin, so I told him and the dev school that he could stay. Here’s what I love about him. He is an excellent student. He just gets it right away. Instead of doing his homework and coming home to watch TV or improve his work on his own in his room, he stays at the school and helps his classmates, often staying until after 9p. And he loves it. He loves learning out to teach others and feels proud of his classmates when they do well. He feels guilty that he cannot pay rent, but he does. He pays it forward without expectation of recognition or reward, and that is his rent. That’s what makes him a great Dane. And he lavishes attention on my dogs, so … Winner winner kibble dinner.

When I was struggling with the speech API, he looked at my code and convinced me it was my computer’s settings. I cannot test my code on my own computer and have to commit and push every stinking time. Just my laptop. What have I done? I’d have lost my mind without his help. He tells me that he did nothing, and that my code was fine, but he sat with me and read and tested it. He didn’t walk by and go to bed. Sure, my code was fine, but my frustration level was not. I still have to commit and push, refresh, rinse, lather, repeat, but at least I know the API part works. And like I said above, that’s rent enough.

Oh, and he’s promised to help me pronounce “red porridge with cream” in Danish.

Here’s to you, my Great Dane! You’re awesome inside and out.

It only took 48 years

Last night I stayed up playing on Codecademy, Khan Academy, JSFiddle, and CodePen; reading about Angular and React; and taking notes on ideas for apps for when I have more free time. Why didn’t I take Computer Science in college? No. Let me rephrase: Why didn’t I double major in German and Computer Science. While now I see coding as another family of languages, I did not in the late 80s. Doubling up with German and French confused me, but I don’t think doubling up on German and Computer Science would have. Far too different.

I just read about GenXers and their midlife crises. Maybe this is mine. Finally finding what I would love to do as a job. I still love to do a lot of things, but to discover at 48 what makes you want to get up every day? Don’t ask about returning to the classroom. Teaching, if it were really about teaching, will always be number one, but I do not think anyone believes teachers get to teach more than they get to dance the admin-parent dance.

I’m okay with this late discovery. What if I had learned that what I really wanted to do was be an Olympic gymnast or an opera singer? I am not limber, but I am still quick witted and a killer smart ass.

Now let me ride my bike to work so that Saturday I can have my cake and snarf it, too.