Link Blog: May 15, 2019

Trashserver.net is an XMPP server that’s 100% powered by renewable energy.

Offices Can Be Hell for People Whose Brains Work Differently: “Work spaces today come with strong smells, harsh light, lots of chatter, and constant messages on email or Slack. For neurodivergent people, this can be a big ask.”

The AI Supply Chain Runs on Ignorance: Even if you could decipher the legalese in apps’ terms and conditions, the fact of the matter is that not only are developers opaque about how users’ data will be used, developers themselves often don’t know how that data will end up being used.

I’ve Been Committed To A Psych Ward Three Times — And It Never Helped: A personal account with plenty of research data about how psych hospitals aren’t actually helping people when they involuntarily imprison patients.

If You Care About Health Justice, Stop Clicking on “Florida Man” Stories: the so-called “Florida man” is actually code for “Man Likely Suffering From Mental Illness or Drug Addiction.” Stop laughing at other people’s suffering, and stop clicking those links.

The rise of fear-based social media like Nextdoor, Citizen, and now Amazon’s Neighbors: Crime is going down, but you wouldn’t know it when you join a neighborhood social networking site.

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.

Links: Amazon’s bizarre world of returns, sick-shaming at the office, more accessibility fail

Where Amazon Returns Go to Be Resold by Hustlers: “Every box is a core sample drilled through the digital crust of platform capitalism. On Amazon’s website, sophisticated sorting algorithms relentlessly rank and organize these products before they go out into the world, but once the goods return to the warehouse, they shake free of the database and become random objects thrown together into a box by fate. Most likely, never will this precise box of shit ever exist again in the world.”

You sneezed, go home: talking about “sick shamers,” who push people to go/stay home from work if they’re displaying cold symptoms. Sadly, the article doesn’t stress the lack of adequate sick time offered to most workers. Nor does it highlight how many chronically ill and immune-compromised people are in the workplace: staying home might literally save your coworkers’ lives.

Learn to do it yourself: a valid critique of the (lack of) concern for accessibility in open source.

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.

a quick update: wordpress, plugins, css

  • The Whisker Shop has grown a bit… and then I realized the Responsive Lightbox plugin I’m using for the catalogue has stripped all my alt-text from the thumbnails. I think of “responsive” as more than just screen size: it’s about how the screens are being used. So that was disappointing.
  • So I’m working on getting my favorite Lightbox, from Lokesh Dhakar running manually. It’s been tricky, but a test page is semi-functional, although it needs work. (The images don’t cycle through, even when tied to a common gallery name.)
  • CanITowThis.com got a mini-makeover to simplify some text styling and to get fancy with a wide-screen view, where the definitions are side-by-side to the form. Thank you to everyone for the feedback about not seeing the definitions when they’re so far down on the page below the form.

#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.