https://aaronparecki.com/2023/03/09/15/bluesky by Aaron PareckiAaron Parecki (aaronparecki.com)

I wrote up some thoughts about how Bluesky can/should support OAuth, both for applications to access users’ accounts, as well as allowing users to log in to their bsky.social account using their own website!


Oh yeah definitely. BlueSky should both accept IndieAuth as a signin method and work as an IndieAuth provider – especially since usernames are domain names anyways. And of course hopefully eventually they’ll interoperate with ActivityPub, Micropub, etc…

Central Park Pavillion, Santa Clara, CA

Web3 is broken.

So how do we fix it?

For starters, we need to redefine it.

To recap, what’s actually wrong with Web3? Web3 as a term was coined in 2014 by one of the co-creators of the Ethereum blockchain, Gavin Wood, imagining a decentralized web powered by blockchain, “combining the decentralization of Web 1.0 with the ease of Web 2.0”. This is Web3’s biggest issue – it has an extreme fixation on blockchain. Yes, blockchain is a good piece of tech. But it’s not a catch-all solution for every Web 2.0 problem that Web3 wants to fix.

This view of Web3 as a “blockchain-based web” is incredibly short-sighted. Besides, it seems as though the recent crypto-blockchain-web3 movement has completely forgotten about the *other* time somebody coined the term Web 3.0, that time referring to something else entirely.

Let’s go back to 2009 for a second, to a slideshow created by Tim Berners-Lee, who is widely known for being the inventor of the World Wide Web. In this slideshow, he explains another, entirely separate concept for a user-controlled open-standards based decentralized version of the modern web where Big Tech’s walled gardens would be absent. And what does he call it? Web 3.0.


His version of Web 3.0 isn’t based on blockchain. Instead, it relies on a concept known as the Semantic Web — an extension of the World Wide Web in which information is given well-defined meaning, making it easier for computers to understand and process. It’s based on the idea of using a common language (such as RDF and OWL) to describe and link data, so that it can be easily understood and used by machines as well as humans. The goal of the Semantic Web is to create a more intelligent and interconnected web, where data can be easily shared and reused across different applications and systems. For further understanding of what linked data is all about, go to both links above and watch/click through all of it.

Now, hearing a presentation about it and seeing a slideshow all feels really abstract. More recently, Tim Berners-Lee has been working to create an actual implementation of such an idea. Even he shies away from using the term Web 3.0 now, since blockchain folks have so thoroughly appropriated it.

The Solid project, which is a short form for “Social Linked Data”, aims to do exactly this. It’s a web decentralization project formed around this concept of the Semantic Web and linked data. I’m not going to spend too much time explaining Solid when somebody else, namely this article, has already done it far better than I can.

Instead, I’m going to take the rest of this article to focus on some good examples of what web decentralization can look like independently of and alongside ideas like Solid. Let’s go back to Web3’s supposed original goal of “combining the decentralization of Web 1.0 with the ease of Web 2.0”. There are existing technologies out there which are attempting to do this, and the future is bright if we all adopt them instead.

One is the W3C’s own ActivityPub, an open standard for interconnected, federated social networks. The most famous use of the ActivityPub protocol is Mastodon, the microblogging-based social network that recently grew in popularity after Elon Musk’s takeover of Twitter. But part of the power of ActivityPub is that even non-Mastodon users can interact with Mastodon over the protocol. Examples include PixelFed — an Instagram alternative for a decentralized web, and PeerTube — YouTube but BitTorrent-based and federated through ActivityPub.

The network of interconnected servers running various ActivityPub-based software is known as the fediverse, and it’s a perfect example of what a good “Web 3.0” project should look like.

Another such protocol is Matrix, a chat protocol for the open web (although while on the subject of open-source chat protocols, I should mention that XMPP/Jabber is still supreme and companies should adopt it again).

This is what a decentralized web should look like. Unfortunately, it’s highly unlikely that given the world’s perception of Web3 at this point, the term can be redefined more generically as a decentralized web.


Web3 is Broken

Ever heard the phrase “a solution in search of a problem”?


That should sum up Web3 in seven words. 


What is Web3, really?


Before I start explaining why Web3 is broken, it helps to understand what Web3 even is. Something that makes this a bit difficult is that even Web3 enthusiasts often don’t seem clear on the definition. 


The most common definition, though, seems to be “combining the decentralization of Web 1.0 with the ease of Web 2.0”. And that’s a noble goal, but currently, Web3 is nowhere close to doing this. 


Slowing down — what do we mean when we say Web 1.0 and Web 2.0? 


Web 1.0 refers to the first version of the internet that was publicly available in the early 90s. In the view of Web3 enthusiasts, Web 1.0 was characterized by interconnected, decentralized open standards: XMPP for messaging, RSS for subscribing to blogs and receiving updates, E-mail for longer communication, and HTTP, allowing users to navigate to different web pages interconnected by hyperlinks. 


 Web 2.0 is the era of internet as a platform, characterized by the rise of e-commerce and social media sites, allowing users to interact and publish content. Instead of self-hosting blogs and subscribing to them via RSS or Atom, people create accounts on, say, Facebook and post there instead.


Users coalesced around a few different centralized services, giving up the control they had with Web 1.0 in favor of handing it over to “Big Tech”. 


That’s the problem Web3 wants to solve.


So, where does blockchain become involved? Because in general, whenever you hear about a Web3 project, it’s always something blockchain related, and often doesn’t even relate to “combining the decentralization of Web 1.0 with the ease of Web 2.0”. Heck, by that definition, even Mastodon is a Web3 app. 


What even is a blockchain? 


Let’s see what ChatGPT thinks: 


“Blockchain is a distributed ledger technology that allows multiple parties to record transactions on a secure and transparent database without the need for a central authority. It uses complex algorithms to ensure the integrity of the data and to prevent any single entity from modifying the ledger without the consensus of the network. Each block in a blockchain contains a set of transactions, and once a block is added to the chain, the data in it is considered to be immutable. Transactions are recorded in a linear, chronological order, and are grouped together in blocks, which are then added to the chain. Each block contains a unique code, called a “hash,” that links it to the previous block in the chain, creating an unbroken chain of blocks, hence the name “blockchain.” This creates a tamper-proof record of all transactions that is accessible to anyone on the network.”


That’s a pretty accurate description of what a blockchain is.


What’s the most famous use of blockchain technologies? If you guessed cryptocurrency, you’d be right.


How did Web3 become so closely intertwined with blockchain and cryptocurrencies? Well, the term “Web3” was created by Gavin Wood. If you don’t know who that is, well, he’s one of the co-founders of Ethereum. 


What’s Ethereum? Ethereum is a decentralized, open-source blockchain platform that enables the creation of smart contracts and decentralized applications (DApps). It has its own cryptocurrency, Ether (ETH), but the real innovation of Ethereum is its ability to execute code on the blockchain, known as smart contracts. This allows for the creation of decentralized, trust-less systems and the potential for a wide range of applications beyond just digital currency (in theory. In practice, it’s almost always just digital currency). Additionally, Ethereum allows for the creation of custom tokens, which has led to the development of various decentralized finance (DeFi) applications and the issuance of non-fungible tokens (NFTs). 


That’s pretty much the state of Web3 right now. Almost every app is built on the Ethereum blockchain and is usually either related to DeFi or NFTs. 


Now, this isn’t a blanket rejection of blockchain. An example of a good blockchain success story is Walmart: The retail giant has been using blockchain technology to track the movement of goods through its supply chain. By using blockchain, Walmart can quickly trace the origin of a product, which can be useful for identifying the source of a food-borne illness outbreak, for example. This is possible because blockchain can be used to create an immutable record of transactions, making it useful for tracking the movement of goods through a supply chain.


And by themselves, Ethereum and other cryptocurrencies like BitCoin aren’t bad. They solve a problem — they create digital currencies that are completely user-controlled, where you can actually own tokens. Blockchain solves that problem well.


But does blockchain tackle the problem of “combining the decentralization of Web 1.0 with the ease of Web 2.0”? No. There have been few attempts to create good, blockchain-based alternatives to the Web 2.0 apps most people use daily. (Ever heard of blockchain YouTube? Reddit? Etsy? I haven’t either.) Sure, there’s DeSo, which is trying to create a blockchain Twitter, but that’s not even truly decentralized! What issue does it even solve? 


The truth is that Web3 can be really, really, good. The core ideals are strong. But Web3 enthusiasts need to stop throwing a blockchain at every issue they encounter with the current web. Sometimes, there really is a better way to do it. Did I say sometimes? Sorry, I meant usually. 


If you want a good example of an actual solution to this problem, look at ActivityPub and Mastodon! They’ve created a very usable Twitter equivalent for a decentralized web. That’s what “combining the decentralization of Web 1.0 with the ease of Web 2.0” actually looks like — ActivityPub, an open web-native standard that allows various users from different servers to communicate with each other through short form messages. 


So, yeah. Web3 is broken. The problem it claims to solve is real. But blockchain isn’t the solution. 



A search engine for retrocomputing and those forced to use ancient software

Are you into retrocomputing? Are you stuck in a situation where you have to use ancient computers, with equally ancient browsers? If so, well, you need a search engine, don’t you? Hmm… most search engines these days are quite heavy on JavaScript and CSS which breaks in these old browsers. Google lets you access its mobile versions in these browsers, but the user experience is significantly compromised, not to mention just plain ugly.

So I (with some help) cobbled together a search engine which is good at one thing, and one thing only. It works where these others do not. It’s essentially a proxy to Bing’s API using a clean, simple, and uncluttered UI. It has one job – to display search results. It doesn’t track you or show you ads.  And it’s currently located at https://tenbluelinks.net.




Does anyone actually read this blog?


SailfishOS: a look at an independent mobile OS free from Google and Apple

As of now, if you’re going out to buy a phone, it may feel like there is suffocatingly little choice: you can either trade in your money for an Android or commit yourself to an iPhone. But many of us have always wanted a third option in the mobile device market: a third OS that you can install and use on a smartphone. Well, it exists; but unfortunately you’ve probably never heard of it.

Until now.

Introducing Sailfish OS.

Born from the ashes of the once-great Nokia, a small company known as Jolla is responsible for producing Sailfish OS. I tested it on a Sony Xperia 10 III, which is a nice device with no notch, a headphone jack, and a tool-free SIM tray that also lets you expand the storage with a microSD card. A decent device, to say the least. But the reason I chose this device in particular was because it’s one of the very few devices which runs Sailfish OS. Afterwards, I purchased a license for Sailfish X – the name for the user-installable version of Sailfish OS – and flashed the zip files to the phone’s storage. The process is similar to installing an Android ROM like LineageOS, if you’ve ever done that.

Sailfish OS has a user interface which is definitely very unique. It’s satisfying enough to be a daily driver for somebody like me, due to its ability to install and run Android apps in addition to native apps. Of course, the native apps are much nicer than the Android ones when available, due to one major feature of Sailfish OS which is quite novel when compared to other OSes.

This feature is called the Pulley Menu by the Sailfish developers. It’s quite useful for using the phone one-handed, which Sailfish OS excels at in general. When in an app, if you over-scroll the top or bottom, you will get a menu of options, and you can pull and hold until you reach the one you want. Then you let go once you’ve highlighted the option you want. This is much more efficient than unnaturally reaching your hand up to find a button.

Unlike on a traditional mobile OS, the Home Screen, rather than showing shortcuts to apps and widgets, show a relevant “card” for every app you have open. These cards contain relevant information, such as the number of unread messages for the default SMS app. In addition, to get to the the Home Screen, rather than swiping from the bottom, you swipe from the sides.

Various parts of the Sailfish OS UI

This is the user interface of Sailfish OS.

On either side of the Home Screen resides the Events View, a feed containing the weather, your calendar events, your notifications, and – wait for it – your Twitter timeline.

Overall, it’s a very solid alternative to Android and iOS. While I would only recommend it to those extremely enthusiastic about alternative mobile OSes, personally, I find it makes for a good daily driver.

That’s all 🙂



How to Flash Ubuntu Touch to your Android Phone

So, you’ve decided that you want to try out an alternative OS on your mobile phone. Maybe you use Ubuntu on your computer and like the idea of having it on your phone. Or maybe you’re just bored of the monotony of Android and want to venture into the world of alternative mobile operating systems. Just be warned: you won’t have any major apps like WhatsApp, Facebook, Netflix, or YouTube on your Ubuntu Touch phone, and hardware feature support is also limited. In addition, MAKE SURE YOUR PHONE IS ON THE SUPPORTED DEVICES LIST before attempting the process, or you will brick your phone. So don’t say I didn’t warn you, and let’s get into how to do it.

To download the installer, go to https://devices.ubuntu-touch.io/installer/ and select the right download for your computer. In this guide, I used a Mac.

For Windows, you should download the fastboot USB drivers for your phone. Depending on your phone, the process will differ. If you have a Google Pixel device, download it from https://developer.android.com/studio/run/win-usb. For most other manufacturers, you can find the drivers at https://developer.android.com/studio/run/oem-usb#Drivers.

Now, use a USB cable to connect your phone to your computer. Use the charging port on your phone to do so.

The UBPorts installer should automatically detect your device, but if it doesn’t, just select your device manually.

The wizard from here on is pretty self-explanatory, and it varies so much from device to device that it is not worth covering. But, if you follow everything the installer says exactly right, then you will soon in your hands have a working Ubuntu Touch smartphone!



Pre-2022 content, Uncategorized

Get a Windows-Style Trash icon on your Mac’s desktop

 Are you a Mac user? Of course you are, you’re reading this. Did you come over from Windows and are having trouble adjusting to macOS? Or do you just like the idea of a Trash icon on your desktop? It doesn’t matter. Whatever your reason, there’s a way to get Trash on your desktop. And it’s not even that hard. 

Notice that there is one bug with this implementation. That bug is that whenever you drag anything onto the icon, while it will be deleted, this will also automatically open the Trash folder in Finder. However, I find that just a minor annoyance, and if you would like, you can add a confirmation dialog here. Anyhow, without further ado, here’s what you do!

  1. Start by opening the Automator app on your Mac 💻 . If you don’t know where this is, just hit ⌘+Space to search for it. 
  2. In the New Document confirmation, select “Application” and hit create. 
  3. Now find the item “Move Finder Items to Trash” and drag it into the workspace. If you only want the item to delete items, skip to step 10. If you want double-clicking the icon to open the Trash 🗑 folder 📁 as well, continue.
  4. Now drag both “Get specified Finder Items” and “Open Finder Items” into the workspace. 
  5. In “Get specified Finder Items”, if any defaults were inserted, remove them. 
  6. Now open a Finder window anywhere on the desktop and hit ⌘+Shift+G. 
  7. Here, type ~/.Trash and hit enter.
  8. Now grab the Folder proxy icon from the top of the Finder window and drag it into the “Get specified Finder items” area. Now your workspace will look like this:  
     *Blurry screenshot, apologies 🙁

  9. Also, if you want to display a confirmation dialog before opening the Trash folder 📂 , find and insert the Ask for Confirmation box into the workspace before the “Open Finder Items” action. Add whatever text you want.
  10. Now, in the menubar, click “File” and then “Export”. In the “Export as” box, you will probably want to type “Trash”, although you can name it whatever you want. Location should be “Desktop”. Once you’ve confirmed these settings, hit Save. 
  11. Now, if you want the icon to look like a Trash can 🗑 , find any icon you like online and use it. Use this tutorial to change the icon. 
  12. You’re done!

Pre-2022 content, Uncategorized

Open files in Quick Look instead of full applications in macOS

    Are you a Mac user? Do you LOVE the Quick Look feature because it’s a lightweight way to open a file without a full application? But maybe you wish that when you double-click a file, it opens in Quick Look instead of in Preview or Microsoft Word or whatever. It’s actually a lot easier to do this than you might think. Then again, it’s not super easy, either.

Set up the App

    You ARE installing an app when you do this. But don’t worry – you don’t need to download a single file for this. Just follow these simple directions to quickly build the app yourself! 

    First, hit ⌘+Space. Now type “Script Editor” into Spotlight and hit Return on your keyboard. You’ve now opened Script Editor, where you’ll be creating this script. 

    Type (or Copy and Paste) the following into the window: 

on run

set this_application_file to the path to me

tell application “System Events”

set this_version to (the short version of this_application_file) as string

end tell

set the dialog_title to application_name & space & “v” & this_version


display dialog “Open a file with this app or drop it onto this Dock icon to show it in Quick Look” buttons {“Cool”} default button 1 with icon 1 with title dialog_title

end run

on open these_items

set these_paths to “”

repeat with i from 1 to the count of these_items

set these_paths to these_paths & space & (the quoted form of the POSIX path of (item i of these_items))

end repeat

do shell script “qlmanage -p ” & these_paths & ” >& /dev/null”

end open

    Now, hit ⌘+S. In the following dialog, make sure everything looks EXACTLY like this: 

    Now click Save to continue. Do you want files to open in Quick Look instead of their default application? Or do you just want a way to show a file in Quick Look as if it’s an app?

    Before continuing, I assume you’ll want to give this app a better looking icon. That’s up to you. If you want to, I’m sure you can figure out how. However, if you can’t, here’s a tutorial on how to change a Mac App’s icon. 

Pin to Dock 

    To pin your app to the Mac’s Dock, open your Mac’s Applications folder. Hit ⌘+F, select “Applications”, and search for “Quick Look”. Find the one you think is right. Drag it onto the Dock. Whenever you want to view a file in Quick Look, you now have the option to drag it onto an icon in your Dock to view it in Quick Look. 

Set default app to Quick Look

    If you want a particular file type to always open in a lightweight Quick Look viewer instead of, say, the full-fledged and unnecessarily weighty Preview application, here’s how. 

    First, find the file type that you’re looking for, in this case JPG Images. Highlight it using your cursor, and then hit ⌘+I. Then, in the Open with section, open the dropdown, the click “Other”. Hit ⌘+F again. Search for “Quick Look”. Click the little applet we made earlier and click “Add”. 

    To set all files of this type to open in Quick Look, just hit the Change All button. And that’s all there is to it! 


Pre-2022 content, Uncategorized

How to Install Microsoft Office on a Chromebook

In this post, we’ll be covering how to install Microsoft Office on a Chromebook as a Progressive Web App. Before you get started, we should mention that it’ll feel like a Microsoft Office desktop experience… right up to the moment you actually open a file. Then it’ll just open it in a new Chrome tab. Microsoft very recently disabled the Microsoft Office Android Apps from working on Chromebooks. Microsoft really wants you using Office for the Web on Chromebooks. But, without further ado, let’s dive into it! 

Just watch the video below to see me install Microsoft Office on a Chromebook. The video will also show me using the app a little, and displaying some things you can do with it. Alternatively, I’ve provided written instructions beneath the video. 

First, open a new Chrome tab, and navigate to the URL “https://office.com“. 

Now, click “sign in” and sign in to your Microsoft Account. If you don’t already have an account, click “Sign up for the free version of Office” and create your Microsoft Account. Once you’ve logged in, you should see the Office Portal. Now, wait for about 20 seconds, then look for this icon in your URL Bar: 

If it shows up, click it, and in the following dialog, click install.  

If it does not, click the three dots button, and select the following option from the list: 

In the following Dialog box, select the following options:


And then you are done, and Office should be installed on your Chromebook!