2023

Thursday 2023-09-14 – Link List

Blogging Intensifies Link List for Thursday 2023-09-14

Tuesday 2023-09-12 – Link List

Blogging Intensifies Link List for Tuesday 2023-09-12

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.