lqdev

It's been a year since I created this feed and started posting mainly on my website. Since then, I've:

  • Used a shorter domain to redirect to my website domain.
  • Created VS Code snippets to simplify metadata tagging.
  • Used github.dev as the main interface for authoring and editing posts. For longer posts, I use VS Code locally but for these smaller microblog-style posts, github.dev makes it really easy.
  • Syndicated posts to Twitter and Mastodon.
  • Created a response feed for interactions like replies, reshares (repost), and likes (favorites) with support for sending Webmentions.
  • Created RSS feeds for each of my feeds.

It hasn't happened overnight. Instead, it's been the result of small incremental efforts over time.

Overall, I don't think I've posted any more or less than I do on other platforms.

What I have enjoyed the most though has been:

  • Learning.
  • Building the tools and processes to author and share content.
  • Owning my content. My website acts as the single source of truth.
  • Not requiring others to have or create accounts on individual platforms to access content.
  • Choosing how I author content. I'm sure this post is way over the 280 character limit and if there's a typo, I can just edit the post and republish the website πŸ™‚

Going forward, I plan to:

  • Update RSS feeds to include post content, not just link to the post.
  • Accept Webmentions. I'm about halfway done with the main parts of my implementation.
  • Implement tags for easier discoverability / search.
  • Consolidate metadata for posts (articles, microblogs, responses).
lqdev

Success! I just partially implemented Webmentions for my website. Although I haven't figured out a good way to receive Webmentions yet, I'm able to send them. Fortunately most of the work was done, as detailed in the post Sending Webmentions with F#. The rest was mainly a matter of adapting it to my static site generator.

Below is an example of a post on my website being displayed in the Webmention test suite website.

Source

Webmention on lqdev.me

Target

Webmention displayed in webmention test suite

What does this mean? It means I can comment on any website I want, regardless of whether they allow comments or not. As if that weren't enough, I have full ownership of my content as my website is the single source of truth. As a bonus, if the website I comment on supports receiving Webmentions, my post will be displayed on their website / articles as a comment. The next step is to handle deleted comments, but so far I'm happy with the progress.

lqdev

Same... πŸ™

Praying on Ohio State's downfall

β€” Barstool Penn State (@PSUBarstool) September 3, 2022

Source: https://twitter.com/PSUBarstool/status/1566230451378950144

lqdev

Today I Learned about the VS Code Live Preview extension. While reading the release notes for the latest version of VS Code, I noticed a note on the Live Preview extension. Usually to preview static content, I use Python's HTTP server with the python -m http.server command. This extension simplifies the process because it's built into Visual Studio Code. If you do any kind of web development, it's definitely worth a look.

lqdev

College football is definitely back. I don't miss those 4th quarter heart attacks, but a win is a win.

lqdev

Very cool! QRZ just announced the New Ham Jumpstart Program, a new program to make it easier for new ham radio operators to quickly get on the air.

lqdev

Things are heating up in the AI generative model space. OpenAI just announced Outpainting. A few days ago, Stability.ai released Stable Diffusion and recently a painting generated using Midjourney won first place in the digital category of the Colorado State Fair fine art competition.

lqdev

I know what I'm doing October 6th.

Terrifier 2

lqdev

Can't believe I hadn't heard about these podcasts before:

Love the horror anthology vibes like Tales From The Crypt and Freakshow for Radio Rental. For Dark Air, I really like the Space Ghost Coast to Coast and actual Coast to Coast feel. Best of all, the host Terry Carnation is Rainn Wilson. Even Terry's website has a great 90's web feel to it. Looks like Dark Air has been off the air for some time, but hopefully Radio Rental keeps publishing content.

lqdev

Apple just announced they're discontinuing the iPod Touch. I'm surprised it hadn't happened earlier! Still, it's sad to see the end of an era for these devices which are effectively smartphones without the phone / cellular data connectivity. I still have my iPod Touch from 2014 that I use occasionally for FaceTime which aside from poor battery life and being stuck on an older version of iOS, it still works smoothly.

For the past two years, my audio solution has been a dedicated MP3 device. Since most of the content I consume I download and listen to offline, a dedicated MP3 device doesn't drain my phone's battery or take up storage space.

I started with the FiiO M5, which is like an iPod Shuffle. The device was great, but all it took was one drop for the screen to crack at which point I upgraded to the FiiO M6. The nice thing about the M6 is that the OS is a stripped down version of Android meaning you can side-load applications such as Spotify. The bad thing, the hardware can't handle (even heavily optimized versions) of these applications making the user experience frustrating. The touchscreen interface is great for navigation especially when you have large collections. However, since I only use the device for podcasts and audiobooks and don't get the benefits of installing streaming music apps, I'd be better off with a more affordable device like those from SanDisk.

lqdev

It's been a little over a year since I started hosting my website on Azure. The resources I use include:

  • Azure Storage: Where all my site assets are stored.
  • Azure CDN: Content delivery
  • Azure Logic Apps: Event-based jobs to syndicate new posts on Twitter and Mastodon.

I haven't tracked traffic for the entire year but since October of last year the site has gotten roughly 5,000 visitors.

Taking all that into account, I've only had to pay $2.06 most of it being the storage I use for the site. In comparison, I was previously hosting my website through my domain provider in a shared server where it cost about $60!

Azure portal billing cost

If you're interested in how this site is built, check out the colophon.

lqdev

Twitter is testing a new feature called Twitter Circles where you can restrict the reach of your tweets to up to 150 people. I remember the days of MySpace where many relationships were made / broken as a result of being in someone's Top 8 Friends list πŸ˜†

lqdev

Hello Mastodon from lqdev.me. Got POSSE (Publish (on your) Own Site, Syndicate Elsewhere) working for Mastodon! I already had an Azure Logic App which took the latest post from my RSS feed and published to Twitter. Now it's also enabled for Mastodon. Might do a writeup later in the blog on how to do it.

lqdev

Yesterday I ran into more feed goodness. When going to a website to get the weather forecast, weather alerts are displayed (if there are any).

I thought, wouldn't it be great to be able to subscribe to those alerts without having to go to the website?

A quick search revealed the National Weather Service provides these alerts in ATOM format for each of the states in the U.S. You have the option of tracking updates at the national, state, zone, and county level.

Subscribing is as easy as adding the link for the respective feed to your favorite feed reader. If you're interested, you can find the list of feeds at https://alerts.weather.gov/

lqdev

In light of recent developments on Twitter, I see more people looking for alternative platforms. Personally, I don't think anything beats the level of customization and control you get from using your own website and RSS for sharing ideas and publishing content. However, it's great to see so many new friends in the Fediverse on platforms like Mastodon. I won't go into what the Fediverse is but you can check out the Fediverse wiki for more info. In many ways the Fediverse will feel familiar, yet foreign. Many people have shared tips on getting started, but I'll share some of the ones I've personally used to organically curate my feed.

  • Use hashtags. Similar to Twitter, hashtags are a good way of finding people and content related to the topic of interest.
  • Follow feditips and FediFollows. As the names suggest, they provide good tips and suggest interesting accounts to follow in the Fediverse.

As an alternative if you're not ready to create an account, you can use RSS. I'm a big fan of RSS. Appending .rss to any account on platforms like Mastodon (for example https://mastodon.online/@FediFollows.rss) provides you with the RSS feed of an account's posts letting you subscribe to their content through your favorite RSS feed reader.

Feel free to say hi at toot.lqdev.tech/@lqdev. See you in the Fediverse!

lqdev

Here's a few links I found in the interwebs today that I thought were worth sharing.

Ubuntu 22.04 LTS Released

For my personal computing needs, Manjaro has been my default Linux distro. However, for hosting and cloud VMs I go back and forth between Debian and Ubuntu depending on which better supports the software I'm running. Canonical announced the release of the latest Ubuntu LTS version 22.04. Check out their blog post for more details on what's new.

Self-hosting Bitwarden on DigitalOcean

When it comes to password managers, other than KeePass, my favorite it Bitwarden. It's open-source, built on .NET, has excellent features that get even better with the low-cost paid version, but most importantly provides you the option of self-hosting. If you're looking to self-host Bitwarden on DigitalOcean, make sure to check out the guide they just published.

How DALLE-2 Actually Works

A few weeks ago, OpenAI announced the release of DALLE-2. Open AI describes DALLE-2 as, "...a new AI system that can create realistic images and art from a description in natural language." If you want to understand the details of how it works, you could read the 27 page research paper Hierarchical Text-Conditional Image Generation with CLIP Latents. AssemblyAI just published an approachable guide into the inner workings of DALLE-2. If you're interested in that, check out their blog post on the topic.

Emacs Configuration Generator

In my early days of using Emacs, I often found it difficult to customize it to my needs. Not only did I not know what was possible, but it also caused some anxiety because I didn't feel confident enough making major tweaks. If you're getting started with Emacs and aren't sure how to configure it, this neat utility helps you generate a config file for Emacs.

PostgresML

If you're building machine learning applications, one of the main things you'll need is data. This data can reside in databases such as MySQL, SQL Server, and Postgres. Algorithms are applied to this data downstream using libraries written in languages like Python, R, and .NET. This not only means potentially moving the data from the database to another process but also using another library to train models. According to the project description on GitHub, "PostgresML is an end-to-end machine learning system. It enables you to train models and make online predictions using only SQL, without your data ever leaving your favorite database." If that's something you're interested in, check out the project on GitHub.

lqdev

About 2 episodes into the show Archive 81 on Netflix and so far so good. I listened to a few episodes of the podcast (by the same name) it's based on a few years ago. Now it makes me want to go back and listen to it again. It also makes me think about what the Black Tapes could've been had it gotten a TV or movie adaptation. If you're into the found footage, cult horror type of stories (think Blair Witch + Midsommar + Rosemary's Baby), definitely check it out.

lqdev

Vertigo is one of my all time favorite movies, so I was excited to learn about Vertigo AI. Vertigo AI is an experiment that trained a model on footage from the film Vertigo to produce its own original short film. There aren't many details on the AI aspects of it, but I suspect there's a Generative Adversarial Network (GAN) similar to Norman behind it. Check out the generated movie.

Vertigo AI

lqdev

That was easy. Site's been updated to .NET 6 and all it took was a one-line change.

GitHub PR diff .NET 6 update

lqdev

I got a reminder on the importance of backups last night. New Jami username is lqdev1. Fortunately I wasn't as active on there so not a big deal to lose my original username.

lqdev

I recently came accross the Terms of Service, Didn't Read (TOSDR) website. Like most people, I'm guilty of clicking "I have read and agree to the terms of service" without actually doing so. TOSDR simplifies terms of service documents by highlighting the main points for many popular services. I'm not sure how maintenance and the frequency of that maintenance work. There's a rating systems which I also am not sure how it works. However, you are provided with the documents that were used to come up with the ratings and summaries, so you can look into it yourself. Overall, I think it's an incredibly useful tool to make sense of how your data is managed across these platforms.

Duck Duck Go and YouTube TOSDR service comparisons

lqdev

Found these while cleaning out some drawers 😒. Good times.

Two Nokia Lumia Windows Phones

lqdev

I've written before about how versatile the RSS protocol is for publishing and consuming content. Podcasts are one of the many media types that largely rely on RSS, making it easy to subscribe and manage using an RSS client of your choice. Like RSS, VLC is versatile in the type of media it can play. When you combine the two, you're able to stay updated on the latest episodes from your favorite podcasts using the RSS reader of your choice and use the episode's URL to stream the audio in VLC.

.NET Rocks podcast RSS feed and VLC playing

lqdev

Lately I've been using github.dev to author posts and make light edits on this site. One use case where it's come extremely handy has been authoring content, specifically these microblog-like posts from my Surface Duo. Instead of opening the laptop, I can open up my Surface Duo and visit my site's repo through github.dev. When I orient the device in landscape mode I have one screen display the VS Code-like web environment while the other screen displays the keyboard. Snippets, version control, extensions, and themes all carry over making the experience consistent. Committing changes through the version control utilities immediately kicks off the GitHub Action to build and publish the site with the latest changes. Pairing the GitHub online editor environment with the Duo's dual-screen form factor showcases the productivity and convenience both of these products provide.

Microblogging on Surface Duo in github.dev

lqdev

I've been looking at different alternatives to Google Analytics for website stats. I don't need anything fancy, just basic page counts. Eventually I settled on GoatCounter because it's lightweight, open-source, and privacy-friendly. You can either use their managed service or self-host. Deployment with Docker felt a bit much so I did a standalone deployment to a VM. The Linode StackScript is probably the easiest way to do it.

lqdev

While browsing the interwebs, I ran into the site United States Early Radio History which contains events spanning different time periods. As an operator it's fascinating to learn about the history and see how radio continues to play a large role in our day-to-day.

lqdev

While browsing the interwebs I came across the Web Neural Network API spec from the W3C Web Machine Learning Working Group. The abstract defines it as "a dedicated low-level API for neural network inference hardware acceleration.". Although there are already a few frameworks like ONNX & TensorFlow.js that allow you to inference in the browser, this spec looks interesting because it provides an abstraction that allows you to take advantage of hardware acceleration using the framework of your choice. As the explainer document mentions, "this architecture allows JavaScript frameworks to tap into cutting-edge machine learning innovations in the operating system and the hardware platform underneath it without being tied to platform-specific capabilities, bridging the gap between software and hardware through a hardware-agnostic abstraction layer.". It's just a working draft for now but I'm looking forward to how this develops.

lqdev

The other day I was going down a Wikipedia rabbit hole and learned those click-baity "Top 10 ..." or "Worst 10 ..." articles apparently have a name, listicles. The more you know...

lqdev

That was easier than I thought. Visiting lqdev.me now redirects to this site. Redirect isn't limited to the main page though. You can also access any other resources as well. For example, visiting lqdev.me/feed would redirect you to the main feed on this site.

lqdev

Today I learned about canonical URLs. While looking into how I can syndicate content from this site, specifically longer form blog posts on other sites like dev.to, I came across canonical tags.

Basically they're a way of telling the internet, specifically search engines, what version of your content is the main copy or single-source of truth.

Currently I've configured my site so it's not indexed or crawled. However, for sites I don't own I don't have the same level of control. Check out the canonicalization and SEO best practices for canonical URLs articles from Moz if you're interested in learning more.

lqdev

I have almost zero artistic skills, so when I came across NVIDIA Canvas I was extremely excited!

Essentially it's an application that takes simple brushstrokes as input and uses a Generative Adversarial Network (GAN) to turn them into realistic landscape photos.

I had known about GANs being used to generate faces (see This Person Does Not Exist) but it's one of the first times I've seen them used to enhance drawings.

Time to take my stick figures to the next level!

lqdev

Came accross this event series via Chris Aldrich's microblog.

Here's Chris' original post

Every Monday, I sit down with a cup of coffee and learn something interesting about history through old manuscripts. Join our friends Dot Porter (@leoba) and the Schoenberg Institute for Manuscript Studies (@sims_mss) at Coffee with a Codex.

Basically it's a virtual meeting where experts go over manuscripts on a variety of topics. I'll probably check out next week's event.

lqdev

It only took 6 hours but I was able to get it done with a little help.

Bender from Futurama happy dance

lqdev

No Windows 11 upgrade for me. πŸ˜₯

PC doesn't meet windows 11 upgrade requirements message

Just because I can't doesn't mean you can't though. Go and check if you're eligible at Windows Update

Start > Settings > Update & Security > Windows Update.

See Manage updates in Windows for more details.

For alternative install options, check out the Download Windows 11 page.

lqdev

Just jumping on the bandwagon. A few online services are down at the moment 😬

Web service outages on downdetector.com

Not to worry...the personal site is still chugging along 😌

lqdev

Just read an interesting article publised in Technology Review called Digital gardens let you cultivate your own little bit of the internet.

In a sense, some of the updates to this site like the addition of the different feeds can be thought of as "cultivating" my own digital garden.

lqdev

I would've been okay with The Many Saints of Newark being a 4 hour movie. I didn't want it to end. Now I have to rewatch The Sopranos.

lqdev

For personal use, I tend to default to Skype for my video / audio call needs.

Great to see there are some long-term plans for the app and it'll be around for a while more.

The future of Skype: Fast, playful, delightful and buttery smooth​

lqdev

Found this interesting video by Chackram & Riley Thompson. My favorite part starts around the 7:15 mark.

When Planets Mate Video by Chakram & Riley Thompson

lqdev

Hello World! First post in the personal feed.