Mozilla broke Firefox

Yesterday, after an update, all my Firefox add-ons stopped working. Even the ones owned by Mozilla.

The newest update seems to have broken all plugins. This has made Firefox completely useless to me, because I rely heavily on ad-blocking and a default zoom adjuster in order to keep webpages from giving me migraines.

Nice job, Firefox.

Happy New Year!

I am still looking for a job, and one thing that both amuses and saddens me is that the more time passes without finding the right job, the more experience I’m getting to qualify for the right job. Ironic.

So here’s what’s new:

  • The University of Michigan and Coursera have created another fantastic Python 3 specialization, building on the Python for Everybody specialization. I’ve finished the first three courses and am waiting for the last two to open.
  • Lollipop Cloud Project is going well. We are working through some hardware issues with our board of choice, and deploying more cool stuff like Plume, a federated blogging platform.
  • I don’t do New Years resolutions, but I’ve decided to start talking more openly about being disabled, and specifically about being a disabled job seeker.
  • I’ve also decided to start posting links (perhaps weekly) that I find interesting. I don’t care for Reddit (too much bigotry and abuse), and I’m not so active on social media, but I like to save links I find interesting.

WordPress vs…. well, everything else

I’ve been looking for another content management system for my site, but I was hoping to find something I would feel comfortable recommending to friends and family who want to self-host but don’t want anything labor-intensive.

There’s a reason WordPress is powering a third of all websites: it’s easy to get started, it’s easy to maintain, and it’s well-documented. There’s certainly a learning curve (sometimes a steep one) if you’re looking to really dig in and customize the look of your site or add unique features or apps, but if you want to use one of the countless beautiful pre-made themes and plug-ins already available, WordPress is probably going to serve you well.

My site is powered by WordPress, using a highly-tweaked version of the GeneratePress theme, which I’ve been using in its vanilla flavor on my Faer Forensic Investigations site for about 5 years now. It’s lightweight for a theme and loads quickly. They’ve also got top-notch support.

However, I was hoping for something even lighter, faster, and free of JavaScript. I love JS– it’s powerful, fun, and you can make cool stuff with it. I’d love to get paid to play with it someday, too. But why does a site like this need JS? It’s just words. I want to return to HTML’s simple roots. Let’s stop wasting data and bandwidth, and let’s remember that not everyone is accessing your website from a top-of-the-line MacBook Pro with a Google Fiber connection. Pretty web apps are awesome. But just because we can do something, that doesn’t mean we should.

It’s about using the right tool for the job.

So I looked at Hugo, which is quite nice. You can run it locally and see changes in real time, and then if you’re looking for “just get it online right quick,” just dump the contents of the /public folder into your host’s public_html (or whatever) folder. Easy peasy, and there’s GitHub Pages integration, too. Complexity goes up from there. Sites also load super fast. But the easy version still requires you to work with a good text editor and know how to upload files somewhere. It’s no example.com/wp-admin UI.

I also looked into Grav, which is pretty great. I had a beautiful Grav version of this site running locally within a couple hours. But I still felt like I was over-complicating things, and I didn’t feel confident about the process of making a local site and taking it online. I believe this is a common theme in CMS options, and one reason WordPress has done so well– there’s a built-in UI, and its target audience is not developers who already have a ton of experience and skills under their belts.

I will continue playing with Hugo and Grav, and there are a few others I’d like to explore, too. But my quest to use something I’d feel comfortable recommending to someone who isn’t a techie continues.

In the meantime, I’m back to using this lightweight theme with pure JS (no jQuery) and remembering why I liked GeneratePress in the first place.

By the way, a lot of these CMS tools use Markdown. I’m a big fan of Markdown, and I find myself using Markdown before I use a standard word processor (like Word or Libre Office). By the way, if you’re interested in learning Markdown, this Markdown Tutorial might be up your alley.

#100DaysofCode Day 12

I fully admit I’m slacking with the documenting– I’m getting so wrapped up in whatever’s caught my eye that day, that I forget to jot it down here after I jot it down in my notebook when it’s time to walk away for the day. (as an aside: all this learnin’ has reminded me how much I love to just WRITE stuff in notebooks. I retain everything a lot better if I physically write it with a pen and paper. So far I’ve gone through half a box of pens, and countless random pens, several notebooks, and my hands are TIRED.)

I’ve been working with Django more. Current project: a CATalogue of my cats. (get it? CATalogue?) I’ve created the model and the view(s) and next on my agenda is to figure out how to get image files in on this action. Because what’s the point of cataloguing my cats, if I’m not including pictures with adorable captions and descriptions?

example: models.py
from django.db import models
class CatProfile(models.Model):
cat_name = models.CharField(max_length=200)
# should change this to approximate year of birth:
cat_age = models.IntegerField("cat's age")
cat_desc = models.CharField(max_length=200)
def __str__(self):
return self.cat_name
def elderly(self):
return self.cat_age >= 10
elderly.short_description = 'Is this cat a senior?'

#100DaysofCode Day 1

Happy new year, friends. I spent most of the holiday season working on the wd4e specialization, and finished intro to CSS3, interactivity with JavaScript, and advanced styling with responsive design. My capstone begins in March.

When I first read about 100 Days of Code, I realized I needed this kind of motivation, and I’ve been focusing on developing a code-something-everyday habit… and opted not to blog about it. I want to track my progress more linearly, so I’m going to change that today, and restart the clock to Day 1.

Day 1: Finished drafting contributing.md and editing code of conduct for the Aardwolf project (PR link). I’ve been tracking my job search in using mySQL and a CRUD UI I designed myself, and I spent some time tweaking the UI for that. For privacy reasons, I’ll just share my CSS using a representative table of cats.

This exercise is a reminder that I prefer back-end to front-end work. I am colorblind and the things I find attractive, you might find hideous. My personal style leans in a simpler direction: black, white, shades of gray, which also tend to be much more accessible to a broader audience. But there’s something relaxing about playing with color pallets– kind of like coloring with a fresh box of crayons! So for this exercise, don’t judge– I don’t feel bad about it. 🙂

web design

I confess that graphic design is not my strong suit, by any stretch of the imagination. I’m much more useful behind the scenes. But web accessibility is so important to me that I needed to learn more about the front end. I’m in the middle of this Web Design for Everybody specialization. It’s been fantastic, and it’s another University of Michigan series on Coursera– I’m so impressed with the University of Michigan! So far, I have completed the HTML course (a sample of some HTML scribbles), and nearly-completed the CSS course (a sample of some CSS scribbles), and I am halfway through the JavaScript course. I have a much healthier appreciation for how much work goes into a fully functional website– and I’ve recommitted myself to making my code the most accessible as possible. Whether it’s a blog post or a full-blown app. The internet is awesome. It should be accessible to everyone who wants to access it, with no exceptions.

I am excited to say I’ll be helping out with the Aardwolf project, a decentralized and open-source alternative to Facebook that was inspired by Mastodon, an open-source microblogging platform. I drafted Aardwolf’s Code of Conduct, and will be helping with accessibility features, as well.

winding down and ramping up

I’ve finished the Web Applications for Everyone Coursera specialization! (proof!) I have really come to like Coursera’s format for learning, but I think what really made me love it (first with Python for Everybody, and now with WA4E) was Dr. Chuck’s teaching style and course materials. It was nice to feel like I was “back in school” again, but it was even better to be able to work at my own pace. I’ve surprised myself by how quickly I went through most of the material, and really grateful to have been able to spend extra time on parts I found complex or parts I really wanted to take the time to explore and enjoy. Coursera is a pass/fail program, but you do get a numerical grade for your own records: I finished WA4E with a score of 99.7 percent.

WA4E and Py4E are all open education resources and can be used and reproduced without permission. I highly recommend them. (Start with Python if you’re new, like me! Python was a great first language.)

I have been thinking about where I’d like to go next. The web applications courses were about back-end app development, and there’s a complementary specialization for web design, which is more front-end and making things pretty– and accessible. Accessibility is near and dear to me, and will forever influence my development and engineering. That may be my next step.

I think I’ll be taking a little more time to wind down and polish up some more projects to show you here (or github), and gearing up to really ramp up my involvement in some interesting open source projects… with some serious job hunting, too. But in the meantime, I think I’ll be checking out Advent of Code.

Cheers!

prioritizing accessibility

I’m going to be attending a teach-out about the internet and society. The instructors requested questions and comments before the teach-out begins at the end of the month, but the phone number is a google voice number with a limited voicemail length and I didn’t realize they didn’t want a WHOLE me-length comment. 🙂 So I’ll just post it all here:

I’d like to discuss accessibility and the internet.

I first discovered the internet in 1995. I grew up in rural New England, in a very isolated and sheltered area. My father was from Brooklyn, so I knew that the world was much bigger than the tiny little farm town where we lived, even if I hadn’t actually visited these places myself.

When I got online for the first time, it changed my whole world.

Suddenly I could communicate and collaborate with people from places I’d only dreamed of. Suddenly my world became much larger than the tiny little town with its one general store and no traffic lights.

My new internet friends were mostly tech workers and researchers, but we were a diverse group. I had friends who spoke little English. I had friends not just outside New England, but in other countries on other continents.

This was mind blowing, after graduating from a class with 150 students. Walls came down. Borders and geographic location became nearly irrelevant.

It made the world bigger and smaller all at the same time.

I had friends who were blind, I had friends who were physically disabled and could only type using one button on a mouse. The internet, and the computers we used to access the internet, were improving, and it felt like this was becoming the great equalizer. Differences and disabilities became less of a barrier on the internet.

People with disabilities have historically been isolated in institutions or other oppressive situations where we get little access to the outside world, and now suddenly we can access the world from our bed.

But now, over 20 years later, I feel like we have regressed. The internet has simultaneously become more integral AND more exclusive than ever.

We exclude Deaf and hard of hearing people by refusing to caption videos or post transcripts.

We exclude people with vision impairments when we use images without descriptions, excessive graphics and popups, invasive advertisements, auto-playing videos with sound, low contrast styling, and just plain old bad design.

We exclude people with seizure disorders by using flashing animations without warning.

We exclude people with PTSD by posting unsolicited violence without content warnings.

Accessibility isn’t just about helping those of us with disabilities. It’s about helping those of us with limited data plans, without high speed internet, with older slower devices, with lower incomes, with language barriers.

Accessibility doesn’t just help those of us who need these accommodations right now. Prioritizing accessibility means that people who become disabled tomorrow will still have access. Prioritizing accessibility means that as today’s developers age, they’ll still be able to use their own products when they’re 100 years old and relying on their reading glasses and hearing aids.

I want accessibility to be a higher priority online. I’m often met with significant resistance when I request accessibility improvements, sometimes because the perceived demand isn’t high enough to justify the time and money required to improve it, and sometimes because the content producer simply doesn’t think it’s important enough to prioritize.

Let’s prioritize accessibility.

And let’s talk about how we can make that happen.