RSSAmplifier

Blog

Alessandro Nadalin

odino.orgRSS feed ↗20 posts

Latest posts

MySQL features I can’t wait for them to happen

Having worked with MySQL for over ten years, and having had the chance to see other storage engines at work during my career, I’ve developed a list of features that I’d like to see MySQL implement. The inspiration of this post comes from the implementation of SKIP LOCKED in v8 — which was one of the items in my bucket list :) TTL I recently bumped into Google Cloud…

Dell XPS 13 9310: USB-C port not recognizing external devices

Just a quick one as I got back from my holidays and got taken aback by a glitch in my XPS. My right USB-C port stopped recognizing external devices yesterday: it would be able to charge my laptop through the regular charger but I couldn’t get it to recognize or charge neither my airpods or phone. After digging a little bit around the Dell support forums I found someone having luck by just…

Book review: Working Backwards

I just got back from a week-long restorative holiday, where I found some time to go back digging into my Kindle library. Based on Faraz ’s suggestion, this time I picked up Working Backwards , a book that revolves around Amazon’s culture, its unique approach to solving organizational challenges and its pragmatic (albeit innovative) approaches to product development. Little did I know…

fwupd is the best thing that ever happened to Linux

Honestly, I have no words: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 $ fwupd.fwupdmgr refresh WARNING: This package has not been validated, it may not work properly. Updating lvfs Downloading……

Avoid battery draining on your Linux-flavored Dell XPS

Over the past few months my 2.5yo Dell XPS 13 has started showing signs of age, and I had to worry both about my keyboard as well as the battery. I haven’t really managed to replace the keyboard yet (I’m too scared of doing it on my own, so I’ll wait to go back to the office and ask the IT folks to do it for me), though I managed to replace the battery (got it from Noon ) since…

Combining two numbers into a unique one: pairing functions

Over the past couple of years I’ve grown my interest in image and data compression — it’s a very interesting field, with a lot of interesting solutions to important and lucrative problems (think Dropbox). Over the past few days I was running some experiments and bumped into an interesting concept: pairing positive integers into a “unique” number, with the ability to…

Running CI tests in Kubernetes through Github Actions

Remember me? At the end of last decade I shared a post on a simple way to run a Kubernetes cluster for local development . Today I’d like to show the other side of the medal — running your CI environment on Kubernetes (through Github Actions ). It’s simple, mimics your production environment and it’s automated — let’s get to it! How Github Actions work If…

I've decided to make the WASEC ebook free during these trying times

Short post for the day to address an hopefully even shorter-lived situation we’re all in. I’ve decided to make the WASEC book free, on LeanPub, for the time being. During these uncertain times, folks might find themselves home from their jobs or, even worse, having to deal with the loss of their livelihood. If you, like many others, are facing uncertain times and would want to spend…

Local k8s development in 2020

This decade’s about to wrap up, so I decided to spend some time describing my development workflow as the year nears its end. What I find interesting in my setup is that it entertains working on a local k8s cluster — mainly to keep in touch with the systems that run in production. Running k8s locally isn’t what you’d want to do to begin with, but rather a natural path once…

WASEC, a book about Web Application Security, is now available for sale

I’m pleased to announce (even though you might have already heard about this on my Twitter stream ) that the ebook on web application security I’ve been working on over the past year is now officially available for sale, at the hopefully-reasonable price of $6.99 $9.99. You can now buy the book at leanpub.com/wasec , while Kindle enthusiasts will have to wait a few more days for it to…

Web application security: what to do when...

This post is part of the WASEC: Web Application SECurity series, which is a portion of the content of WASEC , an e-book on web application security I ve written. Here is a list of all the articles in this series: Web security demystified: WASEC Introduction Understanding the browser Security at the HTTP level HTTP headers to secure your application Hardening HTTP cookies Situationals If you ve…

Command line spinners: the magic tale of modern typewriters and terminal movies

In the latest release of ABS, we introduced a package manager that fetches an archive from GitHub and installs it locally: like in many other command-line interfaces, we decided to add a “loader” to accompany the process, something that looks like this: I want to take a moment to reflect on how we implemented the simple spinner you see in the video, a process that derives from…

My last day at Namshi: goodbye folks!

Today, I wave goodbye to the company I supported for the past 7 and a half years, Namshi. It’s with mixed feeling that I write this blog post, as it’s been a hell of a ride and I recognize I was privileged to get on board just at the right time. It is a truly bittersweet moment to leave behind something you’ve dedicate so much to, but I do feel my time is now : after all of these…

ABS 1.7.0: ctrl+r and other optimizations

A few days ago I released a new minor version of the ABS programming language, 1.7.0 , which adds some syntactic sugar as well as improvments to the REPL — let’s get to them! Reverse search in the REPL through ctrl+r You can type something in the REPL and, by pressing ctrl+r , ABS will try to find the last command that was executed that matches what you typed. See it in action: If you…

ABS 1.6.0: the convenience of index ranges and default return values

Here we are with a new release of ABS, the elegant programming language for all of your scripting needs! Even though small, 1.6 (with 1.6.0 and 1.6.1 ) introduces a couple interesting features, so let’s check them out! Index ranges You can now access ranges within strings and arrays by using the popular [start:end] syntax: [1,2,3,4][0:2] will return [1,2] . Start and end can be ommitted…

The ABS playground: run ABS code directly in your browser (WHOOOOP!)

Remember the last time you thought “ough, JavaScript”? Well, that’s me every other day: I love JS for its flexibility and dynamism, but I also sometimes find it painful to deal with, especially in some specific programming contexts. If you, like me, hoped to be able to write something other than JavaScript in order to get stuff done on the web, chances are you bumbed into…

Playing with QuickJS

A few days ago Fabrice Bellard released QuickJS , a small JS engine that targets embedded systems. Curious to give it a try, I downloaded and set it up on my system to try and understand this incredible piece of software. Installation Setting up QuickJS is dead simple: clone one of the Github mirrors with git clone git@github.com:ldarren/QuickJS.git cd QuickJS make …and that’s it: the…

ABS 1.5.0: file writers have landed!

A few hours ago I released a new minor version of the ABS programming language, 1.5.0 , which includes a couple of interesting features — let’s get to them! File writers Probably one of the most exciting things coming out of this release are file writers: > and >> . 1 2 3 4 5 6 7 8 9 10 11 for x in 1..3 { x >> "file.txt" } `cat file.txt` // 1\n2\n3 for x in 1..3 { x > "file.txt" } `cat…

ABS 1.4.0: welcome unicode!

A few weeks ago I released version 1.4.0 (and 1.4.1, with an additional bugfix) of the ABS programming language: in this post, I’d like to explain everything major that made it in this new minor release. ABS ❤ unicode We have implemented unicode in ABS: you can now use both unicode letters in variable names as well as any unicode character in strings. For example, you can output any code…

ABS 1.3.2: making ABS faster with a simple fix

Hi there! Just a quick post to announce a bugfix release of the ABS programming language: 1.3.2 fixes a simple yet important performance bug dealing with short-circuit evaluation. Short-circuiting is the amazing property some languages assign to boolean operators (eg. && or || ): if the first parameter in the expression is sufficient to determine the end value of the expression, the second value…