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.

COFFEE: 1
ENERGY: 6
FOCUS: 6
HAPPINESS: 8
LOCATION: Tammy’s
STRESS: 9
AMPM: am AND pm
NONFICTION: t

750 Words: The challenge of challenges

This will be interesting. I could not sleep and started stressing about getting up in time to ride to the train station for the 7a train, so I gave up the ghost at 4a and just got myself ready for the 4:54a bus. I am not sure how coding on the bus will go. It’s not as smooth a ride. Jiggly lap => jiggly laptop => rando typos.

I have no problem coding every day. I do not need the 100-days-of-code challenge to get me to do it. All I do differently when I decide on doing it is owning up to my contributions on Twitter. I also become a more active Twitter participant when I start a challenge. I also make sure that I commit every day when I am on the challenge. For some reason, once I announce to the anonymous world that I am committing to 100DoC, I feel the “pics or it didn’t happen” threat is taken care of with the little green GitHub square.

So no. My problem is not coding every day; my problem is staying focused on one or two projects. That’s the ADHD without a boss or teacher issue. When the boss looks at me in the mirror, I’m less focused. MeAsMyBoss should never have hired me:
Me: I want to do a little CSS grid in between Node tutorials.
MeAsMyBoss: Don’t forget that you need to fix your portfolio, apply for jobs, do your homework, and correct or improve past homework.
Me: And maybe even plan a bigger full-stack project since I’ll be asked to do one soon.
MeAsMyBoss: I KNOW, RIGHT!?
Me: RIGHT?! Let’s deal with our excitement and stress by eating all the things!
MeAsMyBoss: EAT ALL THE THINGS!

MeAsMyBoss also is more of a delegator. She’s not someone I could go to when I get stuck. She doesn’t ask me what I think I should do. I also don’t have this desire to do right by her. I don’t care if she’s proud of me or impressed with anything I’ve done. In fact, when she is impressed, she makes me come off as a needy narcissist. Don’t get me wrong. I love MeAsMyBoss’s twin sister MeAsMyRoommate. I can do solo living. I don’t just talk to myself; I orate. I’d rather have OtherAsMyBoss. I love a good boss—one I respect and look up to. When I have OtherAsMyBoss, I procrastinate less and stay on task more.

Alas, I do not have OtherAsMyBoss. Or I don’t for coding and web development.

Until then, I have to stick with MeAsMyBoss. Maybe we can teach each other. Maybe she’ll keep me from going with a new idea: “Katy, let that one rest in your journal. GitHub can wait.” And maybe I’ll remind her that I need different projects to satisfy the different—OH CRAP! BUS TRANSFER POINT!
~~~
(and who is the boss of “shove everything in the pannier get off the bus get the bike find the next bay load the bike get on the bus and carry on”? ME! Fueled by Spokesman coffee and a jolt of adrenalin.)
~~~
See? I have to have different projects for the different time chunks available to me. I cannot do tutorials on the bus because I can’t hear the announcement. Tutorials are better for the train when every stop is predictable. I prefer longer tasks like homework for when I can have a second monitor set up. My available times do not suit one project. What can you do? I don’t care. What can I do? That’s better. I can find a happy middle between one project that I can’t do during some of my free time and too many projects that just mean I get nothing done. I also give myself a break. There’s a difference between having unfinished projects because I dislike them and having unfinished projects because I want to learn all the things.

But I do think I am done with adding more challenges. I have 100 Days of Code (very disciplined with), 750 Words a Day (medium as it is second to 100Doc), and getting back to the gym (necessary as I’m a stress eater and am pursuing a career that puts many people in 90-degree angles for hours at a time). I think I’ve maxed out I can’t even satisfy my “get to bed before 10p” challenge even once a week.

Stats:


Screen Shot 2018-01-08 at 6.08.21 AM

Screen Shot 2018-01-08 at 6.09.02 AM

 

Meta data:

COFFEE: 1
ENERGY: 5
FOCUS: 5
HAPPINESS: 4
LOCATION: on the bus
STRESS: 7
AMPM: am
NONFICTION: t

100 Days of Code III and Codie Jodie

After going 150+ days in the second round, I put this challenge to bed.

Until this year. On the first, I started the challenge over. I will adjust some of the rules as they’re rigid (to me). They’re better rules for those not taking classes and following tutorials. I am doing both. I won’t count classwork or homework as part of the challenge, but I will count any supplemental tutorials or mini-projects. In doing so, I hope to balance my days. If I’m learning NodeJS, then support that with a tutorial, but also keep the UI and frontend fresh with a small snippet, bit of research, or a little project.

Don’t we all need to keep our backend and frontend fresh?

My first few days have been dedicated to finishing Wes Bos’s Learn Node tutorial. This makes my fourth completed WB tute: JavaScript30, What The Flexbox, React for Beginners, and Learn Node. I am always working on ES6 for everyone. I start that one over all of the time to get the practice in. When he releases his CSS grid tutorial, I’ll do that one, too.

Learn Node is a large project that jumps into Node at the late beginning stages. No play in the terminal. Just starting off index and Express, requiring, exporting … He’s taken care of the project decision (a Yelp-like app) and the styling. While at first I felt overwhelmed, by the end, I felt this was a great way to see what it is like to come into a project other people have started.

Now I’m ready to do another that is more ground up. Hello, Andrew “Fantastic” Mead. Honestly, he says “fantastic” all of the time. I like to pretend he has to force himself to say “fantastic” or else he’ll end up saying “fucking awesome”. He’s also like a hot Pee Wee Herman.

Two different styles. I like them both.

But all of this Node is leaving my fronted out to get stale. Ha ha, Code Matey! Not for long. Every workday I have to look at horrible Secretary of State websites. They’re just awful. And you know what has happened. Some manager has dumped the web and online content management to someone who was good with email. Poor sod is already overworked and now has to build and maintain the website.

I do not want to be the person who laughs at ugly sites. They are the same people who love correcting other people’s grammar. Thou shalt not be a dick. Ever. Or we shall try not to, and we shall scold ourselves when we get high and mighty.

Instead of mocking the websites, why not use them as a way to learn and practice the CSS grid system and keep up with Flexbox? (Screw you, Bootstrap. You bore me and junk up my HTML!) The content of those sites is pretty boring. Or at least the section I have to visit. I’d have to keep it ipsummy loremmy. All I care about are the colours, layout, and responsiveness. We’ll see. It’s an idea.

As is Dressy Bessy or Codie Jodie! The doll, which I never had, seemed to have all the fun things: snaps, a button, zipper, laces. She was a shocking mess for fashion, but her purpose was to teach kids to zip, tie, snap, fasten, and whatever else you can do with clothing. Taking notes about the states’ SoS sites, I got to thinking about just the states in general. 50 states. About 50 weeks in a year with two for fluff time. Why not a state a week that had facts about the state, some decoration, enough boxes and divs to fill a page, buttons that did things, etc? Wouldn’t be pretty, but if the only goal is to practice frontend play, why not? Codie Jodie. She’s got buttons, a responsive grid, some css animations, jQuery plug ins, …

Again. We’ll see. I will need to have all things outside of the class and its homework be short and sweet. Not interested in losing more time.

Planning to plan. On it!

Even boot camps have busy work

I am not going to throw anyone under the bus. What a cliché and totally irrelevant in Austin. No one here rides the bus or the one train. The most I can do here is throw someone under the car driven by someone texting or posting to social media. No matter who is behind the wheel and what those wheels are carrying, I am not throwing anyone under it.

Yes, I got my first lot of busy work from my boot camp, but I’ve given out busy work (I am sure of it) as has everyone who has ever taught or been in charge of curricula.

Busywork is mostly caused by laziness on the side of the teacher or curriculum team, but it’s sometimes caused by lack of time or even the challenge to make an exercise to practice a new skill relevant. It’s not always easy to do and instructors have to both teach the skill, make sure most of the students have a working grasp before they’re set off to be assessed. Sometimes teachers come up with a great way to enforce the new skill or show where it’s used. Other times the ideas just do not come, and they don’t get to pause time to let the ideas come. That is teaching life.

I remember coming up with the best ideas ever. So much ever that I should write everrrrrrr. Other times, I just was stuck. They need to practice this, but I am just forcing some silly situation where this new skill would be used.

I just had my first busywork homework assignment. I didn’t have time to do the more challenging “rock, paper, scissors” game. That is another blog post about defensive driving online classes interfering with coding, but LET US NOT GO THERE, PEOPLE! After trying the RPS game and writing the pseudocode, I realized that I could not complete that to my liking. (Do not speed, people. The consequences pop up everywhere.) I switched to the train scheduler, and immediately regretted it.

The idea behind the train scheduler is to practice using Firebase and also MomentJS. Perhaps the two should not have been combined. Just practice with a little in-class work for MomentJS and then come up with your own way to use it however. Let the Firebase practice be however the student wants to make it. As it is, I am turning in the most unrealistic project ever. No one who has used a departure board would believe this. We are required to use Military time (not 24-hour time, but Military). I’ve lived in cities with a thriving public transportation system in the US and overseas. None uses military time. All in the US have used 12-hour time with am/pm. I offered a screenshot of Penn Station’s departure board. The old one and the screens that replaced it use the 12-hour system (Old and new Penn Station Departure Boards). The stations I used in Europe and in Australia use the 24-hour time with colons. Military time does not use colons. So there’s that.

Another thing that bothered me was that the basic assignment was to use input forms. Who would do this? No one would build a program that would have people type in names such as Waxahachie, Poughkeepsie, or Chattanooga. Destination stations would be set and either typeahead or a drop-down would be available. Typeahead I got to work but struggled with capturing the value when I had only Pen written and wanted Pensacola. That’s ok. I am cool with that challenge, but not in a short time. So I started to disconnect. I could not stand making a train scheduler so unrealistic. The other issue I had was writing down the train line names. They’d also already be in. Three disconnects (time, destination, line names).

I did enjoy the challenge of using MomentJS, which is not intuitive to me. Not yet. In struggling with the will to do the homework at all and the desire to learn Firebase and MomentJS, I thought that the better idea would have been to admit that both skills are better learned practicing à la worksheet. Forcing them together in a short assignment was just that — forced.

I have not permanently set it aside. I’d like to return to it either after the boot camp has finished or over the winter break to deal with typeahead or a dropdown and then edit. I do not think that the average station master would be adding these lines. They’d have been added months ago. Lines do not change that often. If anything, I’d like to know how to edit the arrival time without changing the original. I’d also rather deal with the styling to warn people when there are less than 5 minutes before the next train. I’d also take out the Boo’strap. I use it to practice it, but, to me, Bootstrap is for those who don’t like to style. I lerve it.

So yeah. It was busy work and totally unrealistic, and I put the effort I saw my own students do when I did that to them. Empathy goes a long way. I get that students will get bored or disconnected, but educators also get stuck for ideas.

Now, about that online defensive driving course …

 

(This was today’s 750words challenge. today’s stats)

Commuter code: Day wun dun

I think I am onto something here. I will be taking the train 3 days a week, the commute is 40ish minutes each direction. Since there are two cycling legs in each direction, and the last leg is uphill and I’m carrying full panniers, I end up home and exhausted. If I get the laptop out on the train and work on only that project, that’s 80 minutes of work done. The train carriage has tables, and since I go against traffic, I get one to myself.

I’m having an “Ima jeenyis” moment: if I do nothing else—nothing—but come home so tired that I zone out and sleep, I got 80 minutes in. Granted, it’s not earth shattering code, but it’s required planning, problem-solving, and enough coding to make me happy. It is also a set time. No “Just one more …”. If I do that, I miss my stops. Another bonus for me is that before and after the train leg are cycling legs, when I can’t do anything but think, dream, and avoid motorized cages.

I hope as my body gets used to the new plan (What in slacker hell am I doing up at 5 and out on my bicycle at 6? And why does my bike suddenly weigh 25 tons?), I’ll be more productive at home IN ADDITION TO what I have done on the train. Right now I am spending some of my home-code time whining about my quads.

As I put 100 Days of Code to rest as I readjust my daily goals, this will keep me accountable for at least 3/7 days.

Train tanty & commuter coding

First, the tanty:

I’m earning a little coin doing some part-time work far away. Not quite in a galaxy, but damn near close to being one. To get there, I could drive. I have. It works. If I leave at 6am, I get there at 6:30 and workout, shower, and relax before I start working. The traffic is minimal and while it’s three times the distance from my house to Austin’s CBD, it takes less time to commute to this almost-galaxy at 6a than to the CBD at 8. But no matter how early I get up and how fast the commute is, it’s still driving. I’m also coming home in school traffic. I get nothing done. Who does? Who on earth gets anything done while driving? Oh yeah, the phone users. Let’s not start a rant about them.

I’ve sussed it out. I used to live in a city with a decent rail system (yo, Brisbane!), and have had to get used to Austin thinking it’s a city but having only one train. ONE! Two cars and running hourly on one route. I wouldn’t call this a rail system. I’d call it a functional amusement park. Austin, darling, you’re hardly weird by not embracing rail. Your hippies, hipsters, and pseudo “weirdos” are in cars (often solo) and clogging up your roads. It’s not Californians’ fault. We are backwards thanks to decisions made by people born and raised here. But go on blaming California. It’s more a sign that you’re bad at math.

Now the coding:

Now, to get to work, I cycle 30 minutes, take the train for another 30, then cycle 15 more. Coming home it’s slower due to the time of day and a serious uphill commute. I have 30 minutes in there to open up the laptop and tap tap tap. I could work on existing code and projects, but since my desk is my lap, and I have no space to write AND I have no give on the time I can unpack and pack, I thought the best thing for me to do is either read about coding, data science, and how-tos, blog about them, or do easy mini projects to keep my mind occupied on the train.

I initialised a repo on GitHub just for this. I have no general plan other than to commit whatever I’ve done. I may start and delete. I may copy something from one project over and take it back. I may just have little bitty things or one larger thing built in itty bitty steps. I think of this repo and 30 minutes (x2) as my version of train sudoku or crossword puzzles. It’s less about the final code than it is just to code. Anything.

I think my only rule will be to work on JavaScript (nilla or jQuery) bits that I can add Sketch App work to in order to balance the logic with the creativity.

And now I have spent this first chunk on a blog post that starts with a tanty ranty. Ah. Venting Tssssss. All good. My boat; my rules.

750Words day 18: The Iron Yard and boot camps

The Iron Yard announced that it is closing all of their campuses. The current cohort is the last cohort. These are my thoughts on boot camps and degrees. As before, since this is my entry for 750words.com, I do not edit. I’ll add links, but I’m not poring over and wrangling these words to better reflect what I meant. Stream-o-consciousness, baby! Swim up with the salmon and avoid the bears!


With the closing of The Iron Yard, I find myself reading tweets and threads on boot camps. They always end up addressing the boot camp v. computer science degree decision. I used to feel that this was my first boot camp experience, but in a thread, I remembered The Goethe Institut.

The Goethe Institut and a coding boot camp are similar beasts. One could attend the GI and get intensive and immersive language instruction in, but it is not the same as majoring in German. It is not better or worse. It’s just a part of the whole. If one majors in German, there’s the history, literature, and culture addressed. One could say that culture is addressed if immersed in a city in Germany, but it will be a culture gleaned. Narrow to that zone and the family one’s staying with. Some historical topics will come up in the reading, but for the most part, the subject matter is business-oriented. There is no discussion of how German has changed. There’s no class time dedicated to old German or Sturm und Drang. It’s all about the language. The code of German.

I did not get a CS degree. I majored in German, as I said. I don’t know what is involved in a CS degree, but I imagine there are classes on history and theory. The whys and the hows. The structure. The planning. Bigger stuff. Wider stuff. Broader stuff. Stuffy stuff. And I am sure there’s coding. One is not better than the other, really. Who is to say that I got a better deal majoring in German than the physics professor who attended a Goethe Institut ahead of a sabbatical? I certainly wouldn’t recommend that she enroll at a community college or four-year institution. I feel the same way about coding boot camps. Hell. I am done with university. I loved it. I went to Miami for 4 years, Central College of Iowa for my junior year abroad for a full year (plus The Goethe Institut), another two years for the Master’s (*cough* never wrote the thesis *cough*), one year Grad Cert in conservation biology, and two years Grad Dip in writing, editing, and publishing. I! Am! Done!! I’ve written essays upon essays. Group projects where we live all over the place with different schedules to come together several times to create something that isn’t chaotic is a thing of the past. No. I am done with university. … unless you want to sponsor me for 2-3 years, then I’m on it!

Places like The Goethe Institut and The Iron Yard, Dev Bootcamp, and other … dev boot camps serve a purpose. They’re not to replace a university degree at all, and they were never sold to me as being such. They are an option. They’re not cheap, but university education isn’t either. I would not want to be taught by instructors who don’t value what they do. Pay them well. Have a decent location, and there’ll be tuition to support that. I understand.

I now keep up my education with tutorials online. I can do that with German, too. Online tutorials are great. I am making my way (after months off) through Free Code Camp. I also “attend” tutorials by Wes Bos, Andrew Mead, Daniel Shiffman (Coding Train), and Maximilian Schwartzmüller. I also engage in challenges (Daily CSS Images and Daily SVG Images by The Coding Artist, 100 Days of Code, etc.) I have to vary these tutorials and challenges. To focus on one too much is like not having a schedule. I did that with Free Code Camp and became burned out. Variety.

I did not attend or leave The Iron Yard thinking I had all that I needed. No. I had now a network of people who would help me and understand my struggles. “Why won’t it runnnnnnuh!?” I have instructors one Slack channel away. I have an understanding, not expert knowledge, and with that, I teach myself more. I could not have done this on my own. I am a hermit enough. I would not have known whom to turn to for help when I got stuck. Meet Up? Yeah. No. Not for me when I’m super new. I attend many now, but I wouldn’t have known how to phrase my questions. I do my best to say “This is what I wanted to do; this is what I did; this is the result; and this is why I’m cracking the shits.” Listen to me. Talk to me. Tease it out of me. Send me back. Rinse, lather, repeat.

Thank you to everyone at The Iron Yard for giving me what I need to do to help teach myself. I don’t know what will happen to all the instructors and campus directors around the country. I hope they’re taken care of. The campuses in Dallas and Austin have been wonderful to me.