September 2023

Free Code Camp Responsive Web Design

I have a huge pile of online courses bookmarked that I would like to run through. This does have some pitfalls, maybe I’ll get to that another day. Today I want to discuss one I finished. The FreeCodeCamp Responsive Web Design course. You get a little certification for completing these, which mostly just bolsters the part of me that, doesn’t really find much value in certifications. I didn’t really need to take this course, but it’s part of the basic “core list” on FreeCodeCamp’s website, and my obsessive completionism mind says I should do those, in addition to anything else I might find on the site. I am not a web design expert (maybe, something something Imposter Syndrome), I don’t really need to take this course. Of all of the coding I have done, web design is what I’ve done the most. I figure this would be a breeze.

Boy was it not.

And not because it was hard.

I have been doing some other courses on this website, and there is a lot of variety in teaching styles, so this is less a criticism of FCC and more a criticism of this course. I also will add that if you were a complete beginner, it probably would be, less tedious. It touches a bit on the “maybe I’ll get to that another day” back at the top of this post, in that soooo much online learning is sooooo beginner oriented it’s a bit of a trap.

But anyway, the Responsive Web Design course. I’ll run through some of the stuff built in a bit, but I want to address some issues I had with the course, not even the content, just the structure. It’s probably just a limitation of the automated system more than anything else.

It’s incredibly hand holdey.

To the point of being a bit tedious, and possibly to some extent being bad for actually learning. One of the praises I have had for that Angela Yu Python course was how well it ramped up its projects. It presented an idea, it hand held you through a project, it guided you through a second project using that concept, then it would tell you to free-form a related project. Repeat, for each new concept. Where I felt that this FCC course missed is the part where eventually it lets you do more on your own. One easy example, early on, it covers the basic structure of an HTML page and things to put in the header, like the link to the style sheet or metadata. And then, every lesson after, it just, keeps repeating the same 3 or 4 steps to add these items.

Ideally, at some point, it would just be a step to “Add the standard boilerplate HTML and header”. With no prompts on what goes in there, so that you have to do it entirely on your own.

This sort of thing shows up a lot in later lessons too. It will do things you have done several times before, in this clunky step-by-step fashion. “Add a width of XXX to this class”, “Now set the background color to #XXXXXX”, now set the positioning. At some point, it really feels like it would be beneficial to just say, “Set up this div block with these parameters, so you are forced to do it on your own completely. instead of one step at a time, explicitly spelled out each time.

You can skip anything that isn’t part of the actual 5 main tests. Which is totally doable, because another issue I found was that the previous teaching, rarely had anything to do with the “free-form test” part. For the first one you build a survey form, and that one matched pretty well. The Tribute Page was close-ish, but starting to stray. The following two sections end with a Product Landing Page and a Technical Documentation Page. Which are basically just, slight variations of the Tribute Page. As is the final project of a Personal Portfolio page. The exercises though are these slightly painfully slow little CSS-based art projects. You kind of learn some neat techniques, but honestly, as someone who has done some front-end dev work, a lot of it is simply not practical. The CSS penguin is neat, but if I want a penguin on my webpage, I’m just going to find a PNG.

The final challenges themselves are kind of simple to cheese through as well. There is a checklist of what it’s looking for, if you meet those requirements, you pass. It doesn’t matter if the end result is even functional. For the Profile page, I took the code from my existing Github.io page and added some ID tags to it.

There is also this weird inconsistency of methodology. It’s most obvious in colors. There are several ways to assign colors in CSS. Which one is used in this course is inconsistent, though it seems to prefer RGB (R G B). Personally, I prefer just using hex, it’s simple and easy Just an easy #aaaaaa, that sort of thing. There is a lot in this course that actually kind of feels like there is an instructor trying to push some supremely anal-retentive and less-used CSS concepts on the world. using rgb instead of hex doesn’t make you a graphic designer even though it feels fancier. Also, classes are much preferred to ids. There are a lot of places using ids in this course where it should use classes.

Anyway, the projects themselves. I’ve posted the whole thing on GitHub, and I’ll point out my personal highlights.

  • CSS Colored markers – As tedious as the course was in its teaching methods, the little artsy CSS things do turn out neat like these little markers. This was probably the most interesting from the first section.
  • Flexbox Photo Gallery – I actually reused this code to build a new version of my home dashboard to replace the one I lost when my Raspberry Pi crapped out. This is probably the most valuable lesson in this whole lesson set.
  • CHVRCHES Tribute Page – Not that exciting of a design, but the final project was to build a tribute page, so I made one for CHVRCHES.
  • Balance Sheet – It’s nice looking, but there are jQuery libraries that basically just do this, with tables.
  • Picasso Painting – I have no idea WTF this is supposed to be. Apparently, others don’t either because I noticed that at some point this lesson was replaced with one where you build a cat painting.
  • Piano – I actually want to see about combining this with part of what was learned in the FCC JavaScript class to make the Piano functional at some point.
  • Magazine Layout – It’s kind of a neat layout, I may reuse some of this code at some point, but I don’t know what I would use it for.
  • Penguin – Look at him wave, isn’t he adorable?

Sunday 2023-09-10 – Link List

Blogging Intensifies Link List for Sunday 2023-09-10

My Computing Journey – Part 5 – PCs of My Own

I’m nearing the end of this little series, mainly because everything afterward is already pretty much documented here on this blog in some way. It almost feels like jumping over 25 years of computer use after baby-stepping in jumps of 4-5 years, but well, I’ve been blogging for a long long time.

Note: This picture I found seems to be an AMD model, but mine looked the same.

The next machine, or machines really, are possibly the most important in my computing journey history. In 1998, give or take, I graduated High School and went off to college. Around this time period, because I would need it for college, my parents bought me my first PC. More accurately, the first PC that was “mine alone”. At the time, I want to say it was quite the beefy piece of hardware, and I am pretty sure it cost something like $1800 dollars or so, with the monitor. The machine was an IBM Aptiva, 450mhz 486pc. I may have added it but it even had a discrete graphics card in it. Just after I graduated High School, my parents moved back to Illinois and I moved in with my aunt and uncle for around 6 months while I went to IUPUI (for Engineering). I spent a lot of time on this PC in my free time. Especially as a lot of my friends had moved away to college as well. Eventually, I moved back in with my parents and went to a local Community College there before going back to University.

Probably my primary hobby on this PC was browsing Usenet, which I was super into at the time. I also was exploring a lot of other computer hobbies that would turn into moreover time. My Uncle’s PC had a TV Tuner card in it (I eventually got my own), which I would use to take screenshots of games and TV. I started getting more complex with my web design on GeoCities and such as well.

I also started increasingly upgrading parts in my PC. This is where the “machines” part of this post comes in. At some point in the early 2000s, I had a box of parts and realized that if I bought a case, for the new parts, I could reassemble the old PC again. Fun Fact! I still use that same case today. I bought it, specifically because it was ” boring beige box” and because it “held a lot of hard drives”, because even back then, I knew I was going to be a huge data hoarder. You can see it here, in this older but newish photo.

This led to my first experience using Linux and running a web server. My first Linux distribution was Redhat Linux 5. I know this because I have a book on how to use Redhat Linux 5. I started using IRC a lot during this era and tested the waters a bit by running a server so my friends and I could upload images to share.

The PC I built to replace it, was the first PC I ever built. I forget the exact specs but I know it was an AMD Athlon and I believe at least for a while a Rage 128 Pro graphics card. I used that machine through most of college, for gaming, and CAD work. Also, a lot of Usenet and IRC, as well as some web and C/C++ coding.

I mentioned afterward things got a bit crazier. A few years after leaving college and looking for a job, I ended up starting my sort of, accidental career choice of Broadcast Engineering (my major was in Mechanical), working at a local TV station. Part of this work was also taking care of IT for the office, it was pretty much just my boss and I, and the station was independently owned and operated, for the most part. There was a larger group who owned maybe a dozen stations, but they were pretty much hands-off. One perk of this job was that I ended up with a lot of older and scrapped PC hardware to tinker with. So like I said, things got kind of funky. I also went through probably half a dozen laptops, the first of which was a dinosaur of a device that I think ran Windows 98. (This was during the Windows XP era).

Another fun side effect of this job is that I’ve installed Windows, especially Windows XP, so many times, I could literally do it with my eyes closed probably. Pretty much the go-to method for dealing with major PC issues was to back up files and blow out the machine. You would be surprised just how easily your average user at the time could completely fuck up a PC.

Eventually, after getting married, we had a pre-built Windows Vista PC for a bit, with a few upgrades. I built a fresh PC somewhere in that time period and ended up actually buying some more useful laptops. That isn’t even going into laptops my wife and kids have gone through.

These days I run this as my main Gaming PC, half a dozen Raspberry PIs doing various things, a second desktop loaded with hard drives, a NAS for storage, and I rent cloud space for a web server. It’s all just sort of, built up and exploded over time.

Weekly Wrap-Up (09.03.2023 to 09.09.2023)

This week will be a bit music-heavy, not so much about anything specific, but about what I have been doing in general. It honestly could almost be its own, separate post and topic, instead of a weekly wrap post.
Anyway.

Roughly, 4 months or so ago, Target Circle had a 3 months free offer for Apple Music and Apple TV. I have no interest in Apple TV’s content, sorry Ted Lasso. I did take the offer, so I could watch Tetris, then immediately set it to cancel. The Apple Music I did want to try out.

I don’t make it any sort of secret that I prefer buying music, but I am increasingly kind of wishing I had a paid streaming option, somewhat primarily so I can sample artists a bit easier. Also, sometimes I just want to listen to some particular song or artist and it is otherwise inconvenient to do. Amazon really fucking screwed me up with they broke Amazon Music. I will never forgive them. I owned a lot of my music through Amazon, and could just “pick up and listen” easily in their app. But the app started CONSTANTLY begging you to subscribe to the premium option, and then the last straw was that it no longer does anything but shuffle, even if you own it unless you subscribe.

Bull.

Shit.

So anyway, in the past, I have had a 6-month trial of Spotify, and I had a 3-month trial on Tidal, and I have some YouTube playlists but Vanced Player finally broke broke. The easy and obvious choice is Spotify. Everyone uses Spotify, it’s the defacto choice. I wasn’t super keen on Spotify because one, they don’t include HiFi Audio. Tidal charges extra (by a lot) so Tidal was out for this reason as well. Tidal in general is very expensive compared to everyone else. Secondly, Spotify pays artists pretty low compared to others. I like supporting artists.

I had decided Apple Music may be a good choice, this trial was a chance to try it out. And I subscribed for a month at the paid tier. What I wanted though, was to do the Family Plan. For like, $6 more, I could eliminate the headache of conflicting with my wife listening at home on the Echo while I was at work. For $6 more, I could let my kids have music as well, so they don’t have to rely on random services or YouTube.

Except it turns out, that Apple, does not have a web-based account management system for Apple Music. To manage family sharing, you MUST use an iPhone or a Mac. I don’t have either one of these. I am actually vaguely considering getting a Mac for my next laptop, but currently, I don’t have either. So that’s completely not happening.

So for now, I have canceled that Apple Music subscription, and I have decided to just go with Spotify. I probably don’t need the HiFi audio anyway, since most of this listening is done with Bluetooth to my earbuds or my car anyway, and I still pay artists directly buying music anyway.

The pain now is, Spotify gave me a 3-month discount deal, for a single plan. So my family may be slightly screwed out of that for a bit. I honestly don’t think they even care about the overall prospect of a music service anyway.

One thing though, which brings this a bit into “What I did this week”, is to consolidate all of my music across these services into Spotify. It didn’t take too long, because I have never used any of them for a super long term. I used a tool called Soundiiz, which came up as recommended for most of it. The free plan is a bit limited though, so some had to be done manually. I was going to just cough up the $3 for a month of their paid tier so it would be instant, but it’s only $3 if you “pay annually”, and it’s $4.50 otherwise. That extra $1.50 wasn’t the killer for me, it was the bull shit annoying “marketing deception”. I HATE that crap. If it had been upfront with “4.50/month” or “$36/year”, I would probably have just paid for a month.

The core transfer was mostly playlists, and only two were larger than the 200 song limit. So I just transferred them in multiple chunks and then merged them back into the Spotify App. For liked Artists, I just set up side-by-side windows and manually searched on Spotify.  This also played nicely into another music project I had started on Apple Music to build a “Huge playlist of music I like that I can just play on shuffle”.  You can find it here or below, and my profile is here.

Activity Log

I mentioned last week getting a bit of a bonus at work.  That came through so I was a bit less restricted on a few things, in one case, with Humble Bundle, where I went for the following.

  • Masterful 3D Platfomrs – Primarily because I wanted A Hat in Time, but also because I enjoy these sorts of games, especially after playing through Yooka Laylee recently.
  • Tales from Wales Interactive – It’s cheap and I’ve been kind of wanting to try some of these FMV-style games, especially as I do like playing through CYOA Interactive Fiction text-style games.
  • DinoFever – Bought almost exclusively for the Turok games, because at the moment I have been playing Quake II Remastered and I’m on a bit of an “old school FPS Kick”. Everything else looked pretty interesting as well, and it’s cheap.
  • Dungeon Crawl Classics MEGA Bundle – I have this crazy fantasy that one day I will be able to play tabletop games. Please don’t judge me.

Books

  • Max and the Multiverse: A Sci-Fi Comedy Novel by Zachry Wheeler – It was free, sounded interesting
  • An Enemy Reborn (Realms of Chaos) by Michael A. Stackpole, William F. Wu – I swear I have heard of this author before, and it sounded interesting. It looks like he has done some Star Wars books.
  • The Hedge Knight (A Game of Thrones) by George RR Martin – Game of Thrones is still cool right? WHERE IS WINDS OF WINTER GEORGE???
  • 15-Minute Spanish: Learn in Just 12 Weeks (DK 15-Minute Langauge Learning) – I am not quitting Duolingo, but I really feel like my Spanish learning is stalling a bit so I want to supplement it a bit again. I’m actually explicitly blaming Duo for this because they have changed the learning tree like 4 or 5 times now and every time it feels like they push my progress way back. I mean, the goal is to learn the language, not finish some arbitrary tree, but it’s really really discouraging.
  • Woke Up Like This: A Novel by Amy Lea, Mindy Kaling – Every month Amazon Prime includes a selection of free books. I almost never read them and half the time I don’t redeem them, but I have been trying to pick out one just because it’s there.

Friday 2023-09-08 – Link List

Blogging Intensifies Link List for Friday 2023-09-08