Fedora 31

After a few last-minute bugs delayed the release, Fedora 31 is now available for download. I've been on an Arch kick for a while now, mainly because a few packages I rely on are quite new and haven't been integrated into more stable package repos, but with Ubuntu earlier and Fedora today I'm slowly being enticed to hop around.

Notekit

This looks promising. And although it sounds like an Apple developer framework, Notekit is a neat looking note taking application. At its core, Notekit is a markdown editor and file management interface. Where it begins to claw at solutions like OneNote or Evernote is with its drawing capabilities. With the exception of xournal++ (née xournal), I don't know of many Linux supporting applications that support drawing/handwriting, though xournal++ is a handwriting application first and foremost, whereas Notekit comes from the other direction.

This project is in “late alpha” quality. So here's your chance to make your contributions to this project at its infancy and shape its development.

Describing Open Source Software

I’m usually loathe to link to Reddit topics, but this one caught my eye. How often have you landed on a project page and not been able to make heads or tails of what that software is meant to do? Like the hundreds of commenters, I feel like it happens frequently (but I’m suspicious of my own generalization, for what its worth).

Some of the commenters go on to give possible explanations for why, many pointing to this being a marketing problem—not widespread, but the assumption being that developers are willing to donate time, yet marketers (whatever that means) are not. It would be fun to debate these opinions but I’ll leave that aside for now.1

I would guess that this is probably an issue of missing small details. Some people have trouble describing the function of their work, the whats and whys, sure, but most developers are capable of including these details (or other small points like an up-to-date screenshot). What may be amplifying this problem is the changing demographics and expectations of the community.2 Simply put, we (the community) have higher expectations. We expect if we’re meeting you (the development team) on your repository or website, that there has been some consideration for how we can understand and make use of your software.

It is hard to blame the community for feeling that way. There's no real anger, just mild frustrations—paper cuts, really—that build up overtime and distort our perceptions about the entire open-source project.

To you, the developer, you’re doing incredible work that everyone appreciates. Do not be discouraged, instead push a little harder to include these minor details or be brave enough to ask for help.

To you, the user/marketer/whatever, be brave enough to ask if you can help adding a screenshot/description or brave enough to ask the questions, “What does this do? And why does it exist?” Most importantly, be humble enough to shake off whatever frustrations you have if the answer (or lack there of) does not include you, despite your best intentions.


  1. Without placing blame, I’d assume that “marketers” find it more difficult to assume a role in open-source as opportunities are not as clear for either side as the application of an additional programmer may be. More unlikely for someone without a background in software altogether. 

  2. I think the subtext to this and any “Linux marketing” problem is the same we have communication issues between people and an exacerbated commodity problem (i.e., everyone’s time). 

Open Source: From Community to Commercialization

An interesting talk laying out the path to sustainability and, dare I say, profitability for open source projects by Peter Levine and Jennifer Li.

I tend to interact most with open-source projects following the OSS 0.0 and OSS 1.0 model, where I notice a fair bit of pining about becoming more sustainable. Truthfully, most of these projects are hobbies that happened to gain some traction, so the lack of business acumen can be forgiven. But these same projects and communities also distrust commercial structures. There's a real tension between creating community and software as a “labour of love” and having commercial foresight.

Perhaps, keeping viability in mind (or firmly ruling it out) from the start of a project will be open-source's bitter medicine.1 There’s a parallel between VC funded and aimless growth companies and open-source projects when it comes to business models. As a community, making money shouldn't be a dirty concept;therefore, we ought to encourage opportunities for our favourite communities to flourish going forward.


  1. I'm using a wide brush here. The “web-based” open source communities seem to have no issue with making money where possible but the *nix communities can have visceral reactions to money. 

Project Raven – Darknet Diaries

You've heard the news but perhaps you hadn't considered the real repercussions of security flaws beyond the headlines. I know I hadn't.

It starts following an American mercenary hacking on behalf of the UAE government, under the guise of aiding the fight against terrorism. That's a pretty gnarly start but it gets wild. Particularly if you're an iPhone user. Particularly if you used a browser sometime in the last 2 years! (That's not you is it?)

I'm not sure why I listen to this show: it's tightly produced, well researched and endlessly entertaining but every episode makes my palms sweat.

The Future Is UWB

The newest iPhones 11, 11 Pro and 11 Pro Max are apparently the first mass produced computing devices to feature Ultra Wide Band receivers. Until I read this, the rumour has been that it's for more precise physical location tracking for a Tile-like competitor. To which I shrugged my shoulders, cool tech but nothing to raise too much fuss over.

That assumption was premature and naïve. I first read Jason Snell’s take after an interview with an UWB industry insider which before coming across the linked piece by Steve Cheney. Now my mind has changed. If half of what's said here comes to pass, then we're in for a wild ride over the next five years.

(H/T Benedict Evans’ awesome newsletter)

September 05, 2019

Updating BittBoy's Pocket Go Using Linux

I recently bought a Bittboy Pocket Go on a lark. For roughly $35 (on sale) it was a pretty good buy. Gaming isn't really my bag,1 but goofing around for a few minutes here and there has been fun.

Again, for the price, it's been dynamite, but there are some issues. Screen tearing has been one of them.

The community around the Pocket Go has come together and compiled an updated firmware, which is supposed to relieve the issue (as much as software can fix a hardware issue... apparently the screen is locked to 30hz) but all of the instructions require Windows.

That's clearly wrong, so I spent an hour figuring out how to get it working on Linux. It wouldn't be very becoming of me to keep that information to myself, so here we are:

Don't blindly copy things into your terminal you've taken from the Internet. For all you know, I'm a DARKNET wizard and will use your nievity to install horrible viruses on to your computer, wreck your debt, yellow your teeth and woo your significant other. You've been warned!

  1. Back up your files! Plug in your Pocket Go's microSD card and copy over your roms folder (as well as anything else you might fancy a copy of before you wipe the card). Keep it on your computer, make a copy on an external drive, back up all of your data offsite, etc., etc.
  2. Find and install fatresize from your distribution's repository. That might be using a software center, or via the command line; it's your choice, you're a big-(girl|boy).

    For example, on Ubuntu-esque distros, you might type:

    sudo apt install fatresize
  3. Download the latest firmware from the official(?) repository (a place where neckbeards like me, store code we're working on... if you weren't aware).
  4. Extract or uncompress the resulting download. It will end in a .7z extension, which is a strange choice... Perhaps it's more popular on Windows, I don't really know. (Mine was called PocketGo_CFW_v1.3_21-08-2019.img.7z in case you're scared you didn't get the correct file). You can use your desktop environment's built in tools for doing this (like file-roller or Ark) or use the commandline.
  5. "Restore" the uncompressed .img file to your Pocket Go's microSD card. If you're unsure, best reach for an application called Etcher by Balena. Here's a guide to using installing Etcher from Linux Hint.
  6. Here's the "hard" part: you can use the card as is, but you won't be getting the most out of your microSD card's available space. The partition named main needs to be resized/expanded to fill the available space on the card. (E.g., restoring the firmware only used 4GB of the 32GB of space on the card, and ~28GB was left "unallocated" or otherwise unusable by the Pocket Go.)

    Hold tight, we're almost there partner.

    With the microSD card still plugged into the computer, we need to figure out where it's mounted. So fire up a terminal and enter:

    man df

    That was a trick! I just wanted you to know which program you'll be using before you copy things blindly into your terminal. (See the note above, fool.)

    Type q to exit the manual (hot tip: typing man plus whatever command you're about to enter will provide a desription of what a command does and how you might use it).

    df

    you should see a little table that lists all of the partitions currently available to your computer. You're looking for one labelled main. Write down the "Mounted on" address, something like /dev/sda4, memorize it, keep it tattooed on your neck. Whatever you need, pal.

    Here's the fun part:

    man fatresize
    
    sudo fatresize -s SIZE LOCATION

    Replace SIZE with how much space there is left over. (E.g., I have a 32GB card, so I had roughly 28GB of unused space, so I typed in 27G to replace SIZE. I'm a scaredy cat, so I went conservative. Apparently there's a max to fill up all the remaining space... but I didn't realize that until now.)

    Replace LOCATION with your "Mounted on" address you copied earlier.

  7. Copy your backed up files from step 0, eject that microSD card and plug it directly into your Pocket Go.

Now, enjoy the rest of your day you would have wasted figuring out where to get a usable copy of Windows :)


  1. I respect the medium but it's always fallen too low on my life priority list to care about.