Learning how to learn … again

I have learned many things. I have also forgotten many things. To avoid the latter, I pay attention to how I do the former.

One of the hardest things to learn how to learn is programming. German? Study. Flip those 1990 3×5 flash cards. Flip through that Duden. Do a junior year abroad in Germany and Austria. Read texts in German. Write to German-speaking friends. Workbooks. Texts. You know. Writing, editing, and proofreading skills? A little study and a lot of doing. Read. Know your style guides. Write a lot. Go over and improve your writing. So much rinse-lather-repeating. There was a lot of learning about < insert topic here > before engaging in < insert aforementioned topic here >, and even then I am learning as I do. I get feedback from those I’m writing to or talking with. I have decades of texts and journals to refer to and learn from. I’m in classes. I have several professors at once. All that worked for me with what I’ve studied before. It does not work for me as I learn programming and coding.

I’ve done two coding boot camps: one focused on front-end development, the other on the MERN stack in a full-stacky sort of way. Please. I hate the term “full-stack” as much as I hate “Renaissance men”. Look. Listen. Look and listen. You can’t be awesome at everything. No. You can’t. No matter what your online dating profile says. If I could, I would another. Why? It’s like cheap uni without the essays. I think of boot camps as flights. Do one. Figure out what you love. Focus. Do another. Isn’t that what we did at university? Go in with one major, take some classes, learn that you love this other topic or get more specific with your major, keep studying. I am not dumping a truck-load of coin at returning to university. Been there; done that. Boot camps were perfect. But like university, they do not last forever. Also, the living conditions are dreadful.

How do I keep learning on my own? I can’t just read my German texts, play Der Die Das games on my iPhone, and watch German language YouTube channels as I knit. It also doesn’t work to take handwritten notes while I watch tutorials. I don’t print out Medium articles to highlight and make notes in the margins. I tried that out of habit. I do think that writing notes by hand while I watch tutorials was incredibly helpful. Writing code by hand? Changing colors to focus my attention to what I need to remember. Or to see how one code block affects another? And just the slower pace of writing all of that down was incredibly helpful. It was also, however, so … stink … ing … sloooooow. Screw that. It helped me a lot, but at a pace that is not sustainable.

Now what? I think I’ve got it. One of my instructors told me that he learned by watching a tutorial three times: Just watch, follow and code along, do solo and refer back when stuck. Yes! Almost. But that works for me. And it helps me to do other things I feel that I miss out on while learning. I’ve put my spin on it. I’ll listen to the tutorial while I knit, fold laundry, chill with my eyes closed. Anything that keeps me listening but not watching. Focus on what is being said. Listen to the new terms. If I am knitting, I’ll just set a timer for 30-40 minutes. Listen to as many sections that fit into that time. Put the yarn away. Do some casual home squats, crack my knuckles, and go back to where started and code along. Do my own version after I’m done or in parallel. I sometimes listen to many sections. Other times I just repeat one until I know it by heart. It depends. Do I need a refresher and a dusting off of brain matter or do I need a deep dive (hello, JWT and PassportJS)? Either way, since I do not have a live human to go to for advice or have call on me when I raise my hand, I just like to listen and listen.

One bonus (or major problem?) is that I talk to them, imitate their voices, or say those -isms they have. Wes Bos has a few. My favourite is “That’s no way to live your life.” Andrew Mead has “How’d you do?” and “And that’s faaantastic!”. I don’t know. I think this repetition also leads to familiarity with the tutor, so they become someone I know and less of a 2D talking head.

I should add that there are some tutors I cannot listen to when I am tired. It is not that they are boring. Not at all. But some voices and talking styles put me to sleep. Lulling, not boring, me to sleep. For them, I have learned to listen while I get ready for bed. Repeat as I fall asleep. Do the work the next day while I have my coffee. I’m not naming that person. I make him sound boring. It’s not. He’s not at all boring; he has taught me a lot. His voice is just mellowing.

Now. Time to get cracking!




Pure CSS Images: Now what

Here I am so far. (I am using screenshots because my version is not responsive.)

mid-century modern prints
Original by Kerry Beary and my wip. (I believe she spells it -mellows and not -mallows because she’s punny.)

In terms of what is left to do that is furniture or furnishings, I have the lamp and interior of the pod. I can do those and stay pretty true to the original; however, when it’s time to do the cats …

What do I do? Do I make CSS cats that are not much like the original? There are limits with CSS. Do I make them in SVGs? I think if I do that, it feels too much like plagiarising. SVSs are a last resort. Or maybe just put a cat in the back and a person on the bench? Change it enough? I have no idea. Thankfully, I still have that lamp to do. I might animate that.

I’m exhausted.

Checkers did my head in

My current Pure CSS Image attempt is this gem from Kerry Beary.

I cannot tab in my code snippet, so just deal with it. (It even hurts my own eyes.)

@for $i from 1 through 7{
margin-left: 0px;
@if $i % 2 == 0 {
@for $i from 0 through 3{
margin-left: $i*60px;
@if $i % 2 == 1 {
background: $evenband;
@if $i % 2 == 1 {
@for $i from 0 through 3{
margin-left: $i*60px;
@if $i % 2 == 0 {
background: $evenband;

Iterating in Pug. Iterating in Sass. Nesting them. Checking for odd or even. ERMAGERD! But I did it.

Screen Shot 2018-05-07 at 1.38.12 PM

For now. But looking at it above, I see that the chair is too big. No. I’m not going to fuss. There are times to let it go. This is one of those times.

I have to get circles or semi-circles in there. That’ll be a new set of curse words. Let me just admire this for a second!

Ok. Done. Now I have to dry heave.

So I made a thing

So I made this thing:


See the Pen Charley Harper Calculator (no fcn) by Katy Cassidy (@ihatetoast) on CodePen. Charley Harper’s style is very CSS-friendly. Hellur, geometry! These ladybugs were taken from the “Last Aphid” print.

Since it had been a while since finishing the pure CSS challenge, remembering what I learned was tough. I use Text Expander for Pug and Sass for-loops. That helped. I was hoping to use the for loops for the dots and buttons, but some needed specific help. I could loop through all 9 dots or just the odd ones, but eventually I had to pick and choose which dots appeared to satisfy the look.

There’s no functionality here. Nothing to add or subtract. I would love create a calculator with this as a design, but I’d use SVGs for the bugs. I thought it would also be fun if instead of their twitching, they’d skittle off in all directions on hover, but with the various levels and z-indices, it made for a lot of decapitation.

I am not disappointed in learning those limitations. It’s learning. I love making a purty thang, but I love even more that I learned something while doing it. So. What is next? I am thinking mid-century gravel art.



Almost nine months ago, I completed a (week) daily coding challenge called Daily CSS Images. I am about to embark on round 2. I say “about to” because I do not know if I am going to redo the challenge and stick to the old prompts or find others. If I decide to do my own prompts, I need to have 50 ready. I don’t want to spend half of the day deciding.

It is no surprise that I learned a lot about Pug/Jade and Sass in this challenge, but what I learned (or realised) the most was how daily practice improves a skill. I knew that, but that knowledge had become dusty. What I love is seeing the change.

Day 1: Bear Cub

Screen Shot 2018-04-27 at 12.43.00 PM

See the Pen DailyCSSimages Day 1: bear cub by Katy Cassidy (@ihatetoast) on CodePen.

Day 49: Dance Dance Revolution pad

Screen Shot 2018-04-27 at 12.45.23 PM

See the Pen Daily CSS Images Day 49: Dance Dance Revolution pad by Katy Cassidy (@ihatetoast) on CodePen.

Day 50 was Party City. It was ok. I’m not ashamed of it, but I think day 49 shows more of what I learned:  Daily CSS Images Day 50 – Party City by Katy Cassidy (@ihatetoast) on CodePen.

I code every day. That is not hard to do. Harder is not coding, getting up, stepping back, going outside. Oh, I love the outside. I’d code there if I could and if mosquitos left me alone. I’d moto to the hill country if I could trust reception or remembering to pack up and return home before sundown. Coding every day is not a problem. Harder is keeping a track going. Using my tenacity and my ADHD (which I call KatyHD) hyperfocus to stick to one or two themes. Depth over breadth. Do the thing, not do all the things. Do the thing and do it every day. Hard when one has a breadth of interests. Sigh. Sadly, this requires the S-word.


I know! Sent shivers down my back, too. Following a schedule is not the hard part. I can do that. Making it. Ugh. Making one will require me to let some interests come before others. How can I choose? It’s like choosing sad critter over all the others in the shelter. Alas, my tenacity requires such discipline.


Egads, woman. Stop.

I have not written a word (here) since January? I can say that I haven’t blogged since I was 49. No excuse. Not for a chatty Kathy like myself. I know that blogging my problems, processes, solutions has been helpful in the past, but I still won’t do it because I won’t stop coding. I need to remember that it’s okay—good, even—to stop coding.

Here is what happens when I do not stop coding:

  • I do not run.
  • I do not knit.
  • I do not put my Raspberry Pi together.
  • I do not go to movies or watch movies.
  • I do not read for fun.
  • I do not walk the dogs.

Basically, I become a boring cow. (No offense to cows with awesome personalities.) I’m full of do-nots instead of do-nuts. (Mmmm. Donuts.)

There really is no benefit to doing nothing but coding. We convince ourselves as newbies to code every day (cool, do that), but that doesn’t mean every hour of every day. It’s not good to deny ourselves our other passions. I can love JavaScript as I love reading, running, and rknitting. When I want to practice what I have learned with React, Vue, Node, etc., I’ll probably want to make something that supports another passion, but if I let those passions fizzle or think they cannot be nurtured alongside coding, I find myself doing nothing more than making another fkn to-do list.

Egads, woman. Stop. It’s not forever. Just stop coding to let yourself do some other things.

Things that happen when I do these so-called “other things”:

  • I think of solutions to the problems I encountered.
  • I come up with ideas for new projects.
  • I feel good about myself physically.
  • I have other things to talk about other than passing state down as props or mapping.
  • I attend Meetups.
  • I see movies.
  • I ride my motorcycle.
  • I start Couch-to-5k.
  • I start 750 Words.
  • I rest one part of my brain.
  • I exercise other parts of my brain.

I become more interesting. I return to being the person who, when asked “What do you do?”, returns with “What don’t I do?”

Today? I’ve prepared for teaching Python to a youngster, but I’m also starting my Couch-to-5K plan … again. A plan I keep quitting because I wouldn’t quit coding. Today I start with day 1 and will come home after that 30 minutes to work on my MERN HomeChecker app and a smaller React project. I can give up that time. Yes, I want to be a paid developer, but I do not want to become a boring blob.


Copying vs. Studying

Just swap “Node” for “you” below, and you have my life:

“Now you’re the reason that I can’t sleep at night and I can’t go home
I know it ain’t right, gotta leave you alone
But I can’t, whoa no
But I can’t, whoa no”

— Gary Glark, Jr. Can’t Sleep

I do not know if this is a good thing that I need to be proud of or a bad thing that needs to be fixed (and definitely not admitted to publicly), but I can’t go to sleep when I’m stuck on a problem in my code. I cannot just say “Tomorrow!”. I try. I shut off the laptop and go to bed, but then I grab the phone and hone my Google-fu skills.

Honestly, I used to think Gary Clark, Jr. was singing about a woman, but I don’t think he is. What is the point, really? Relationships end, and by the time any song is published, the man or woman who was so desirable at the time the song was written has long since been relegated to ex. Now code. Code is forever. Even Fortran is still out there. It won’t matter what language you use, the logic will be the same. If you need to iterate over an array, you’ll do so in Java, C++, or Next New Language. If you don’t use code, you’ll use your own mind. Grocery shopping with an app or in person, you’re scrolling or strolling. LOGIC IS FOREVER, MAN!

So right now NodeJS and Hangman are the reasons that I can’t sleep at night. I feel that this last homework has less time to plan, sketch the decision tree, pseudocode, find fault in my plan or missing bits, code than the previous homework did. I feel the crunch and therefore I my head does not feel the pillow. The beauty of code is that there are many ways to set up a game; the frustrating thing about code is that there are many ways to set up a game. Other ideas interfere as I plan. I feel like I’m shopping hungry and without a shopping list. “Oh, I’ll try that. Ooooh, and that. Or that. And that.”

The nature of homework is that I do this by myself for myself. This means I have no one to discuss this. Ok. I do, but since I am not working with my classmates, we rely on who is on Slack at the time you need help. The other option is Google-fu, but how much of that is too much. Hangman, trivia games, RPGs, tic tac toe (naughts and crosses) are all out there many times by those new or old to coding. When does research become a crutch? Right now my attitude is that if I find anything that is too similar to my homework, that I cover the keyboard with a notebook and use pen to write out what the person has done. Take their code and turn it into a decision tree. No cutting and pasting. No putting it on a screen next to my laptop and typing what they have written. I feel that this is ok. Like having the odd numbered problems answered in the back of the book. Check to see if you’re on target. If you see an answer you didn’t get, then work back. You’re given an answer, so on your own, try to get there.

I used to be a teacher. I have issues with copying or plagiarising. I hope anyone would. But isn’t some type of copying part of learning? Aren’t the notes we take a form of it? I know my students copied my examples. I know that they also copy Davinci in art to learn. I think as long as there’s no copying and pasting or writing in parallel, it’s not too slippery of a slope. Study. Learn from someone know knows something you do not, but we should try to make sure we are learning from someone and not copying. Ask ourselves questions as we study other people’s code. What is she doing here? Why did she do it this way and not this other way? How did he validate if it’s a letter? We don’t have textbooks. If we want the point of view from someone other than our instructor, we have only what appears on StackOverlord, YouTube, and other magical Google-fu results.

Since all of the code I could think of is already out there, I have to have my own form of honour code. It’s my loss if I copy and paste. It’s also my loss if I just look, say “Oh, I see”, and code while switching back and forth between screens. It is not my loss if I study, analyse, compare, and then try it on my own and return back to my coaches.

AMPM: am AND pm