new link blog format/location

a note for the four or five (or maybe zero or one) people who read this blog..

since i’m mostly posting links lately, and i’d really like to be able to tag and retrieve links at a later date, i decided to do a little upgrading:

i’ve installed Shaarli, a single-user bookmark organizing app, on my site here as my new Link Blog.

it has things like…

I tweaked the color scheme and added a few things to the layout (mostly to fix some editing and to add a link back to my main site), and maybe i’ll even submit a pull request when i clean up the code.

on a personal note (and I’m writing this here because the blog link is officially removed from my portfolio, even if it still exists for those who go looking for it), i’ve given up on tech work for now and maybe forever. i have a part-time job that’s going well, although it’s not very technical (though I did get to teach myself how to script in windows powershell in order to Get Some Shit Done, because i didn’t want to do it the old fashioned way). these people appreciate the work i do, they’re flexible when i need flexibility, and this seems to be turning into a long-term opportunity. it would be nice to have benefits and a steady paycheck, but in this gig economy, i’m just grateful i have a permanent, if irregular, job.

i’ll use this site/host for play for now (Shaarli was a good experiment tbh), and i’ll probably update the portfolio/resume/cv at some point in the near future… and it sure would be nice to get some fun wordpress gigs someday, but for right now?

for right now i’m going to focus less on trying to get into an industry that doesn’t want me, and focus a lot more on survival and self-care.

Purism’s bigotry problem

Purism has created its own fork of Mastodon, but has removed the ability to report posts, and has basically taken a pro-bigotry stance by not condoning some pretty basic anti-bigotry concepts.

It turns out they’re going to be blatantly allowing hate speech on their servers, as long as they don’t harass individuals, whatever that means. See this Pleroma post with screenshots.

The author of the post, Chris, says he had a phone call with one of the execs at Purism today, so maybe things will change.

But it never should’ve gotten to the point of having to blow up on social media in order to be heard.

Taking an anti-hate-speech stance and spelling that out in obvious ways (like the Contributor Covenant) should not be so difficult. Expecting an organization to say “racism/sexism/ableism/sizeism/all forms of bigotry are not tolerated here” should NEVER be controversial.

Sadly, this is not limited to Purism, but I do think it’s a smidge bit extra hypocritical for a company to be all about liberty and that brags about creating a safe workplace.

Tech has a very long way to go.

another python specialization completed… now what?

This weekend I completed the University of Michigan’s newest python specialization on Coursera. It was a great followup to Python for Everybody, which was just perfect for new programmers. This newest specialization covered advanced topics like classes and working with large sets of data. My capstone involved learning image processing, facial recognition, and OCR libraries (Pillow, Tesseract, OpenCV, Kraken), and it was definitely hardest course I’ve taken on Coursera so far.

My capstone was the 30th Coursera course I’ve completed. Thinking back on the amount of course work involved in my two bachelor’s degrees (chemistry and forensic science), I think the 30-course-mark for computer science courses via Coursera is comparable to what’s required for a university BS degree.

That said, I’ve decided to suspend my Coursera subscription for now. I will be focusing on personal projects and the job I started at the beginning of the year (not in tech, but I love the work and I especially love my coworkers).

I started on my “learn tech skills to get a tech job” journey almost two years ago, and I’ve learned a hell of a lot. I’ve especially learned about tech’s diversity problem, and experienced those obstacles firsthand.

I’m not sure what’s next for jmf dot codes, but jmf dot person’s arms are tired from constantly trying to swim against the current.

Taking a bit of a hiatus…

I’ve been lucky enough to find a great temporary position, and I’ll be focusing on that for awhile.

I’m still working with Lollipop Cloud, as well, and am excited to announce our new Open Collective for those wishing to support the project, and follow along for status updates. Lollipop is really gaining momentum!

I’m not going anywhere… just being quiet for a bit. 🙂

Links: screen reader accessibility, lab notebooks, and brutalist WordPress

How to Design Website Layouts for Screen Readers: A great tutorial on making your web design more accessible.

Lab Notebooks and Software Development: As a former laboratory chemist, there’s a special place in my heart for a good lab notebook and thorough documentation. Sure enough, whenever I’ve tripped myself up in this process of learning to code, it’s almost always because I failed to document my work, resulting in duplicate or useless efforts. Since adopting more of a laboratory notebook style of learning and project tracking, I’ve been less stressed, and creating more useful, reliable code.

BrutalPress theme for WordPress: is finally functional enough to include in my link list.

link blog: diversity in tech

Just one link today, but I have some feelings about it:

The 10 most in-demand skills of 2019, according to LinkedIn: Saving you a click, here they are: time management, adaptability, collaboration, persuasion, creativity, UX design, people management, analytical reasoning, artificial intelligence, and cloud computing. “Instead of emphasizing the need for specific titles and experience, organizations are shifting towards a focus on the skills that a potential employee may bring.”

They irony (and forgive my pessimism here) is the number of resumes I’ve sent out with this in mind (and many matching skills)… without so much as an interview.

Here is my challenge to employers:

If you’re dedicated to improving diversity in tech, you need to lower the barriers for entry. We need more entry-level and early-mid-level positions, with the expectation that we are going to knock your socks off because of how quickly we’ll pick up the extra skills and experience you’re looking for, by just giving us a chance to prove it.

The tech industry is historically and overwhelmingly white, straight, (cis-)male, able-bodied, neurotypical, young, and middle-class. This means that the vast majority of people with the vast majority of experience are going to be all of these things– making them more competitive in the job market. Because the industry has historically excluded marginalized people, the majority of the minority cannot compete with those who’ve historically had most of the opportunities in tech.

And so, we’re passed over for job opportunities, because we lack the experience of our less marginalized colleagues, through no fault of our own.

This isn’t about lowering your standards or expectations for us when we apply to your companies. This is about recognizing the historical and systemic prejudice that permeates the tech industry.

If you want to improve diversity in tech, we need to have a frank conversation about how marginalized people remain on the margins because of systems that were put in place many generations ago.

I challenge you to look beyond the surface, and critically examine the systemic issues that lead to tech’s lack of diversity.

We marginalized people could make your company wildly successful… if you’d only give us a chance.

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.

Coursera, Hacktoberfest, and site updates

After putting it on hold for awhile because I was having too much fun with Lollipop (and still am!), I finally finished the entire Google IT Support Professional Certificate, a 5-course specialization through Coursera.

I’ve also contributed a little to Debian and mUzima, after learning about (and applying to) Outreachy, which seeks to give paid internships to marginalized people looking to work with free and open source projects. It would be pretty exciting to be awarded an internship, but I met tons of great fellow applicants through this process, so the competition is pretty stiff!

Now that I’ve been getting more comfortable with Git, I was able to complete Hacktoberfest this year. If you’re new to coding and not sure if you can or should participate, here’s Quincy Larson telling you why you should and how you can get your own Hacktoberfest tshirt.

What have I learned from all of the above? I really love documentation and improving user experiences. I still love Python and I want to keep up with that, but my job hunting is shifting towards documentation and roles where coding overlaps with documentation and support.

Site housekeeping: Originally, I set up jmf.codes with WordPress because it’s what I know, and I had fun hacking and tweaking a theme I’ve used elsewhere for years (GeneratePress). But it’s far more powerful than I need, and it’s pretty resource-intensive for a few pages of mostly text. I’d like to load faster and with a smaller resource footprint, so I’ll be switching over to something else soon. (Probably Hugo, but I keep making versions I love and can’t settle on just one!) I’ll keep you posted.

My lovely friends reading this through an RSS reader should keep an eye out for an updated link once I’ve moved everything over.

Lollipops and Hugo

I appreciated this more formal recognition of my Lollipop contributions to date. Working with Kemonine has been a real “treat” (sorry not sorry), and we are making so much progress! I’ve got myself a little Orange Pi running as a router and data-cap-saver thanks to Pi-Hole.

Note (and an opinion) about data caps and advertisements: unlimited data plans are great, but they’re not quite as unlimited as they appear on the surface: see this post about unlimited data from the experts at the Mobile Internet Resource Center. Many sites and individuals rely on ads for revenue, but ads can be hogs, and are exceptionally annoying if not downright harmful: such as when they trigger migraines, trauma flashbacks, or other health problems. It might seem extreme to sent up an entire device specifically to avoid ads, but for today’s internet, I think of it as an accessibility tool. And I hope that someday we won’t need it, because advertisers will shift towards more ethical practices.

In other interesting news, I learned how to deploy a Hugo site: Gluten-Free RV. Hugo’s really nice. (jmf.codes may be switching over someday in the near future…)