Making AI Coding Agents Smarter with Language Servers

If you are using VSCode or any other non-integrated editor (even vim or emacs), chances are you are already using a language server. These servers power features that are specific to the language or framework you are working with. They provide documentation, autocomplete, code navigation, warnings, and more.

When you click on a function and jump to its definition, a language server is likely behind the scenes making that possible.

[Read More]

Thinkpad doesn't reocgnize NVME drive

Fixing NVMe Drive Detection on a ThinkPad T14 Gen 1 with Ubuntu

I recently got a used ThinkPad T14 Gen 1 off eBay. It came without a storage drive, probably because it used to belong to some company and they pulled the disk before selling it.

I picked up a Samsung 980 NVMe at a good price and installed it. The BIOS saw it right away, so I figured I was good to go. But when I booted the Ubuntu installer, it couldn’t see the drive.

[Read More]

Why serviceability matters

a late-2009 iMac GPU after being backed at 200°C (392°F)

In the picture above is a late-2009 iMac GPU (graphics card) after being baked at 200°C (392°F). Baking it solves a problem that makes the computer unusable and manifests itself as vertical pink lines during boot that gets the computer stuck.

My friends’ iMac suffered from this problem and after googling it I found out that its a rather common issue afflicting a lot of iMacs. It happens when an internal solder crack or break. Baking the card fixes the bad solder.

[Read More]

Goodbye WordPress! Hello Static (Hugo) and Netlify (static hosting and more).

Hugo plus Netlify equals Love

It’s time to move my blog to version 3. This time we are going back in time and into the future at the same time.

Before we begin, here is a little history of my blog:

Version 1 - Blogger

Version 1 ran on Blogger - which was essentially a static site generation platform. It gave you an editor, you would write your posts and then it would generate your complete site in HTML and even allowed you to publish it on your own server by uploading the result via FTP.

[Read More]

Redis Snowflake UniqueID Module

Ever since Redis Modules were released into the wild, I wanted to write something nice and short and see how easy and fun it is to significantly extend Redis.

It also helps that Dvirsky, my friend, works at Redis Labs and wrote RediSearch - a kick ass full text indexing and search engine that kicks all the other search engines’ performance ass (you should definitly try it out).

For a while now, to try out new languages/frameworks/whatever I’ve been using Twitter’s Snowflake. This case was no different as everyone needs unique ids at some point.

[Read More]

EFF’s Dice Random Number Generator digitized to become DicePass.org

TL;DR – this is why (and how) I created the electronic version of EFF’s Dice.

I love the Electronic Frontier Foundation (EFF) and believe in their just cause. I support it as much as I can and try to educate as many people as I can about their rights, privileges online and how to correctly behave in this new found jungle.

A while back I got a post about their new “toy”/campaign EFF’s Random Number Generator also known as Dice.

[Read More]

Lets Encrypt Error: The server could not connect to the client to verify the domain :: Failed to connect to host for DVSNI challenge

Are you using Lets Encrypt? (If not, you should go ahead and use it to generate SSL certificates to ALL of your web servers).

If you want to run it on EC2 or GCE using the –standalone argument (./letsencrypt-auto certonly –standalone -d example.com) make sure port 443 (for SSL) is open on that server.

Otherwise you’ll get the infamous:

`Are you using Lets Encrypt? (If not, you should go ahead and use it to generate SSL certificates to ALL of your web servers).

[Read More]

Tornado’s secure cookie support in Flask

I’ve recently had the chance to write a new project on AppEngine.

It’s been a long time since I tried I was too lazy (as always) to setup servers just for that.

I’ve decided to use Python but just to be sure I won’t be vendor locked into various AppEngine services I’ve decided to use:

  • Flask (instead of webapp2)
  • Cloud SQL (instead of DataStore)

This will ensure that I can break out of AppEngine easily with minimal code changes.

[Read More]

nsq-to-gs – Streaming NSQ messages directly to Google Cloud Storage

In addition to my previously published (very early) project to stream NSQ messages directly to BigQuery, I am happy to presents a modified version of nsq-to-s3 that supports streaming NSQ messages directly Google Cloud Storage.

Grab it while its hot from the nsq-to-gs repo.

I do see a future for a merged version of these two projects that supports both S3 and Google Cloud Storage but this would have to be enough for now.

[Read More]