Learning Challenge for September: JavaScript - Day Ugh to Done

Craig Maloney - Wed, 09/12/2018 - 19:52

Ugh.

I've hit a wall with this challenge. Part of it is my expectations that I would be further along. I thought that I would be further in the book where the challenges start to get more interesting. Unfortunately I'm still near the beginning pieces of the book so I'm part way between being challenged and between bored. The other part is I've been down this road before and have a lot of baggage that I'm bringing with me. I'm remembering the past failures and how I keep struggling to learn this language. It's evaded me more than any other language, and that's partly because it also encompasses a lot of the front-end development that I haven't had a lot of experience in. So learning JavaScript is only one small piece of a whole larger ecosystem that can be very frustrating to crack (at least it has been for me).

So what now? Do I just give up?

I'm giving up just learning JavaScript this month. If I keep on this path I'm going to become even more frustrated with this. But I'm still going to schedule myself 30 minutes a day where I move a project forward. I'm still going to work through Eloquent JavaScript but I'm going to do it with the idea that I'm going to learn enough where I can start a project. I learn best when I have a project. I learned Python when I did several PyWeek projects. I learned Perl when I had projects at work. I learn best when I have a project to hang this on. Unfortunately I don't know enough JavaScript to get to the point where I can start up a project so that's what I'm going to spend the rest of the month working toward: figuring out a project to work on in October.

We'll see where this leads. Right now I need to focus my habits on making time to learn.

Categories: LugNut Blogs

Learning Challenge for September: JavaScript - Day 6-9

Craig Maloney - Sun, 09/09/2018 - 20:32

I've been making a pretty good clip through Eloquent JavaScript but this weekend I didn't make any progress in the book outside of a little bit of reading here and there. I was hoping that Saturday would have been just one day but it looks like I extended that to Sunday as well (today).

Hoping to get back on track and get back into the habit of learning. I think part of the problem is I'm not a fan of the WereSquirrel problem that he presents in the book so I've been dreading getting to this point. Perhaps I'll just go through it as best I can and keep going.

Categories: LugNut Blogs

Learning Challenge for September: JavaScript - Day 4-5

Craig Maloney - Wed, 09/05/2018 - 19:47

The past few days I've been trying to take advantage of weird windows of time to work on my JavaScript. I'm working through chapter 3 of Eloquent JavaScript. I'm finding it a little quicker than most books about programming languages because it goes over a lot of concepts rather quickly. I kinda like that because it's part refresher and part "we'll get to that later". Also it lays out some of the blueprint of what we'll cover in later chapters.

Trying hard not to break the chain of learning containers as well. Getting a full half-hour can be tough, but I'm finding it worth it.

Categories: LugNut Blogs

Learning Challenge for September: JavaScript - Day 3

Craig Maloney - Mon, 09/03/2018 - 16:38

I'm working through the book Eloquent JavaScript from cover-to-cover. Part of this is baking in the discipline to actually read though the book and not let my experience with other languages overshadow the JavaScript experience. I made it through Chapter 2: Program Structure and did the exercises near the back. What's nice about Eloquent JavaScript is there's worked solutions for the exercises in each chapter. What's interesting is how different our solutions were for each of the questions. For the "FizzBuzz" solution I decided to use a switch / case statement, which showed me just how screwball JavaScript's switch / case statements are:

for (let i = 1; i <= 100; i++) { switch (true){ case (i % 3 === 0) && (i % 5 === 0): console.log("FizzBuzz"); break; case (i % 3 === 0): console.log("Fizz"); break; case (i % 5 === 0): console.log("Buzz"); break; default: console.log(i); break; } }

Initially I had it as switch(i) but that didn't work at all. I had to look on StackOverflow to find the right answer.

This is also about carving out learning time. I'm working on trying to get at least 30 minutes per day doing some form of learning exercise. That might not seem like a lot, but keeping it consistent will be key for my learning challenge (especially as I decide to tackle more difficult projects).

Categories: LugNut Blogs

Learning Challenge for September: JavaScript

Craig Maloney - Sat, 09/01/2018 - 17:54

My white-whale of programming languages is JavaScript. It's the one that I've put the most effort into learning and the one that has consistently frustrated every attempt of mine to learn it. But I think the main reason I've had trouble learning it is because I've been looking at it from the wrong angle. Every time I learn JavaScript I think of all of the work-related things that I can do with it. I see it as a requirement to being hired, and feel inadequate for not having picked it up sooner.

I've never come at it from the angle that it can be fun. It always feels like some other bullshit that I have to learn in order to be marketable. So whenever I fail in learning it I feel like I'm somehow making myself less attractive to future employers.

So for this challenge I'm going to have fun with JavaScript. I'm going to see how strange it can be, and explore making games with JavaScript. I'm going to go full-on mad scientist with this. Whatever shows up is what I'm going to be OK with. I'm tired of bashing my head against what other people want.

We'll see where this leads.

Categories: LugNut Blogs

Designing a Well Lived Life: Checking In (August)

Craig Maloney - Sat, 09/01/2018 - 17:44

Checking in for August for my "Designing a Well-Lived Life" blogging. This is about making small changes during the year to make larger changes.

  • Writing more / designing more: I've been working on editing my "Mediocre Programmer" book, but it's going slower than I would like. Our schedule changed so I haven't been able to take advantage of getting up early like I used to. That bugs me a bit. But at least I've been doing some writing. The Designing has taken a back-seat at the moment, though I'm hoping to get back to it later this month.

  • Programming more: Again my programming has been at work. This month I am committing myself to continuing to learn JavaScript so I can say that I have it at an intermediate level.

  • Engage more with people, not things: Haven't been able to do this much since things are now getting busy and we're seeing people less and less.

  • Blogging more: At least I'm getting one post out a month with this challenge. :) But I'm also going to be using the blog for my monthly challenge.

  • Getting out of debt: Slowly plugging away at this. If anyone wants to help please let me know. :)

  • Supporting creators in sustainable ways: Liberapay lost their primary payment processor (Mangopay) so I've been working on moving my contributions around.

  • Physical health: I've not given this as much focus as it needs.

  • Kindness: As the year wears on I'm finding my kindness to myself starting to wane. Starting to feel pressure to get things done and not see yet-another-year go by. But that's also putting undue strain on me so am focusing more on doing things in the moment rather than being unkind to myself.

  • Mindfulness: I've picked up a habit of reading each morning, which is helpful. Also finding myself taking a breather whenever I start to feel frustrated or overwhelmed. That has been helping out with being kind to myself (see above).

Categories: LugNut Blogs

Getting older? Buy a laser printer

Craig Maloney - Sat, 08/11/2018 - 23:36

(This first appeared on Mastodon but it bears repeating)

As you get older you will need to print more things in your life.

Buy yourself a good laser printer.

Not an ink-jet printer; an honest, hard-working, toner-driven black-and-white laser printer.

Toner doesn't dry out and you'll be able to get about 5,000 pages before your first major repair (usually the drum).

Bonus points for getting one with duplex, FAX, and a scanner / copier w/ auto sheet feeder.

Now, you may say "but Craig, I live in the 21st century and have no need of this thing you call 'paper'. I am from the future."

Yes, yes you are, but everyone else is still stuck in the 20th century. Worse, they'll email you a PDF and expect you to mail it back to them because we live in the perverse timeline where bits becoming paper is the only way people interact.

Get a laser printer and a toner cartridge and tell me how many documents you print in 5 years.

Worst case you'll never have to use past the 1,000 sheet starter-cartridge they give you.

Best case is you'll thank me right after the machine is telling you to replace the laser assembly (like the one behind me).

Trust me, you don't want to have to go rent a printer at Kinkos / Staples / Office whatever when you need to print out a document in a hurry.

And inkjet printers do not cut it. They will fail you.

Black and White, duplex, multi-function laser printer. Accept no substitutes.

Categories: LugNut Blogs

Week-long challenge

Craig Maloney - Sat, 08/11/2018 - 11:10

I'm making a challenge for myself for this week to get as many things off of my list as I can.

Each week I do my weekly review and I notice that certain things just sit there and don't move. They're kind of like the bottom of the soup kettle at an awful buffet. (I'm sure some of my project still think Prince is alive, RIP). So my challenge this week is to get as many of these things stirred up as possible and into the "done" category.

Things I'm hoping to have done:

  • Major progress on one of my server migrations that is in the embarrassing category of not-being-done
  • Progress on setting up a machine that has been sitting in a box for 6 months
  • Progress on getting our bikes in riding shape that has been sitting for mumble mumble years.
  • Sweeping out the garage and moving the stuff that is in there that hasn't moved since we moved in.
  • Decluttering the areas in my house that have significant levels of clutter (read: basement).

I will check back in next week to show how much progress I've made. And if the mood strikes I will report each day to say what my progress is.

Time to stir the pot.

Categories: LugNut Blogs

Designing a Well Lived Life: Checking In (July)

Craig Maloney - Wed, 08/01/2018 - 01:37

Checking in for July for my "Designing a Well-Lived Life" blogging. This is about making small changes during the year to make larger changes.

(I still haven't made this a template at some point, but I am using the old post as a template. blush)

  • Writing more / designing more: This has been going well on the writing front. I've been getting up early and spending at least 10 minutes each morning writing. I've been able to do this consistently and it has been remarkable seeing the words pour out. I think I need to do something similar for my design goals.

  • Programming more: Work has been the only place I've really done any development. I'm looking to play more with other programming learning tasks but so far I haven't given them the time they deserve.

  • Engage more with people, not things: Same as last check-in. I'm still primarily interacting with folks online, and a small circle of friends when I'm not online.

  • Blogging more: Well, I blogged a few posts more than last month but not as much as I would like.

  • Getting out of debt: Still making some headway, still taking longer than I would like.

  • Supporting creators in sustainable ways: Outside of Patreon and Liberapay I haven't figured much to help this front. I've also taken to donating to a few organizations that are responsible for the tools I like, but I feel there is more I can do. Also with Liberapay in a holding pattern now that Mangopay (boo) is no longer processing payments this is making me shift everything to Patreon.

  • Physical health: The walk at PyOhio wasn't nearly as bad as other years but I'm still not spending the time I should with exercise.

  • Kindness: Still a bit of a struggle being kind to myself.

  • Mindfulness: Still meditating each morning. Have also noticed myself seeing myself getting stressed and what-not and have paused to let those moments pass.

Categories: LugNut Blogs

identi.ca: farewell, for now

Craig Maloney - Tue, 07/17/2018 - 19:04

I've decided that I'm shutting down the system that I use for posting to identi.ca. Right now I'm using a combination of spigot and pypump to push content to identi.ca. Unfortunately these systems appear to be unmaintained (I still have pull requests open on both projects for bug that occurred when I upgraded to Python 3). That and the engagement that I'm getting over on Mastodon is much higher than the engagement that I'm getting on identi.ca. So I'm going to let my identi.ca account sit for a while.

identi.ca is the longest-running social network that I've been on. I started around 2008 (There's a post about it called spleen venting here). I've enjoyed all of the conversations that I've had on identi.ca but I think it's time to move my attention elsewhere.

I know identi.ca is working on ActivityPub so this isn't the end of the journey. But we must part for now. I bid you farewell until we meet again, in the bold ActivityPub world of tomorrow.

Craig, in front of an identi.ca screen, circa 2008

Categories: LugNut Blogs

Writing every morning

Craig Maloney - Mon, 07/09/2018 - 23:18

I've been working on the habit of writing every morning after I get up / get cleaned up. I've found that making sure I write for 10 minutes each morning has been very good for me. It's given me a sense of confidence that I can keep writing, no matter what. It's also helped me with one of my largest problems; namely "resistance" where I don't feel like writing. All I have to do is just agree to do 10 minutes of writing and then I'm OK to do whatever else I wish. I've also taken to writing in vim on a machine that boots directly into the console (a Raspberry Pi Zero with wireless). I ssh into my main machine and then bring up vim to write. So far I'm on the 6th chapter of my book and still going strong with my shitty-first-draft. I'm looking forward to releasing this book as it's a bit of a motivational memoir of programming. And with the constant flow of writing a bit each day I can keep up at least some pace to finish it. Hoping to apply this to other projects as well.

Categories: LugNut Blogs

Designing a Well Lived Life: Checking In (June)

Craig Maloney - Sun, 07/01/2018 - 11:37

Checking in for June for my "Designing a Well-Lived Life" blogging. This is about making small changes during the year to make larger changes.

(I should probably make this a template at some point. blush)

  • Writing more / designing more: I've instituted a writing requirement every morning where I write for 10 minutes on a book that I'm working on. So far it's been going well: I'm starting to see progress on the book and can see that I'll have a working draft soon. Of course there will be the phase of editing and second-guessing what I wrote but that I have something at all to edit is a testimony to how this is working. I think I need to do the same for designing but haven't done that yet.

  • Programming more: Work has been the only place I've really done any development. I did do a release of tootstream 0.3.4 but I need to get back to it so I can add Mastodon.py 1.3 support for tootstream 0.3.5. That and eventually I want to clean up the code for tootstream so it adding things can be a little easier.

  • Engage more with people, not things: Same as last check-in. I'm still primarily interacting with folks online, and a small circle of friends when I'm not online.

  • Blogging more: I'm hoping to do more blogging as I have things that I want to talk about, but I'm also finding that I'm getting more engagement for what I post on Mastodon than I do here. That might be in part because I turned off comments. I might go back to Disqus at some point but they're acting weird lately.

  • Getting out of debt: Still making some headway here, but it takes way longer than I would like.

  • Supporting creators in sustainable ways: Outside of Patreon and Liberapay I haven't figured much to help this front. I've also taken to donating to a few organizations that are responsible for the tools I like, but I feel there is more I can do.

  • Physical health: I managed to wind myself while using the reel mower in the front yard, so that's not great. I've been using the exercise bike in the basement on and off, but haven't really made much progress on this front. I do need to check out our bikes, but I've literally been meaning to do this for over 5 years now. Ugh.

  • Kindness: It's been a bit of a struggle but I'm finding myself being more kind when I'm not under stress. But when stress comes to the fore there too come my sarcastic and angry habits.

  • Mindfulness: I'm meditating and taking time to pause and see myself doing what I'm doing. This has been the area where I'm seeing silent progress as it's something that I'm reminded of each day.

Categories: LugNut Blogs