RSSAmplifier

Blog

My turf on the internet on Dr. Óscar Nájera

Recent content in My turf on the internet on Dr. Óscar Nájera

oscarnajera.comRSS feed ↗74 posts

Latest posts

E-ballot for Toastmasters speech contests

I spent the last few months building and field-testing a digital ballot system for Toastmasters speech contests, and I’m ready to talk about it in public. The problem Paper judging doesn’t scale. A judge fills out a ranking, a ballot counter collects it — breaking the judge’s anonymity in the process — and the counting team retreats to a private room to tally by hand. At small…

New Toastmasters Tech: E-Ballot & Transparent Contest Judging

I joined Brendan O’Sullivan on the Toastmasters World Tour podcast to talk about the e-ballot system, the year of getting it approved and tested, and where I want to take it next — including the harder fight I haven’t started yet: making judging transparent instead of anonymous, the way Olympic judging works.

E-Ballot System for Toastmasters Speech Contests

A mobile-first digital ballot system that replaces paper judging at Toastmasters speech contests. Judges score and rank contestants from their own phone; the chief judge watches ballots arrive in real time and adjourns the contest the moment the last one is in.

Beyond obsolesce: Working for robots

In a future where artificial intelligence plays an increasingly dominant role in our lives, the traditionally feared narrative of humans being replaced by machines might not be the end scenario. Instead of becoming obsolete, we find ourselves in a new role as caregivers to AI, working for it instead.

What motivated the recent publishing spree?

I admire people that write blog posts. Taking the time to put something out there. I want to be like them and share too. This website receives occasional attention, when I really want to say something. Many times, I really want and still fail to do it. It piles on the backlog. This time I had a challenge: 8 posts within a month! About twice a week: challenging but feasible. But as reality would…

Working for robots

I self-host some of my git repositories to keep sovereignty and independence from large Internet corporations. Public facing repositories are for everybody, and today that means for robots. Robots are the main consumers of my work. With the AI-hype , I wanted to have a look at what are those AI companies collecting from my work. It is worse than everything, it is idiotically everything. They…

A minimalist Re-frame for ParenScript

After giving ParenScript another chance I became hopeful of the possibilities for front-end development in Common Lisp . It is not the language it is the tooling, but Lisp is a language that lets you develop your tooling faster. Could I close the gap to the ClojureScript+Reagent+Re-frame ecosystem? Well, optimization is my favorite procrastination, so I might as well give it a try.

AI in Europe - regulated to irrelevance

Europe is regulating itself into irrelevance in the digital space. Lead by good intentions to protect consumers safety and privacy as well as promoting fair play between companies, it created a playground nobody wants to play in. Motivated by the frustrating burden of regulation I went to explore what alternatives we could enjoy, and how we as a society have regulated incoming technologies.

Giving ParenScript another chance

I like programming in Common Lisp . The interactive development style is a nice experience. No matter how painful it is to have moving pieces all the time, the programming loop is much nicer. I know that programming is getting old-fashioned with all the AI assisting tools, so I try to enjoy it while it lasts.

Render checkmk's views on Emacs

As demonstrated in a previous post , you can query checkmk from Emacs 1 . Which turns it into an interface for your data. The next step is to create some basic views of checkmk to skip using its Web UI. Most of checkmk ’s data is tabular, most of its Web UI shows tables. With Emacs-29 the traditional and limited tabulated-list-mode gained an alternative: the vtable (variable pitch tables).…

Query checkmk's livestatus with Emacs

Checkmk 1 is an IT monitoring software. I used to work for them some time ago and I still use it in my personal live. It provides a Web User Interface(UI) with dashboards to see the status of your monitored system. The way that UI queries they monitoring software is via the livestatus .

Tracking your packages with org-mode

Emacs is more than my favorite text editor, it is building material. As such, I use it for everything I can, it’s amazing how it always steps up to the challenge! The internet revived the postal service instead of killing it. Today, I receive more packages than ever before. Tracking where they are doesn’t however fit my workflow. It requires me to open websites, input the tracking id,…

Shavian: The better English script

English has the worst spelling I know of. It is inconsistent all the way. When someone mispronounces a word, you might think they are avid readers, because it might be the case they learned about the word while reading. If you listen to a word in English there is no guarantee you’ll be able to spell it. That is certainly why English speaking countries have spelling contests, it is not easy.…

Killing the Bitcoin Lightning experiment

A while ago, I got all excited around the idea of Bitcoin as art . It was such a satisfying perspective that I decided to embrace it and implement a tipping service on the Bitcoin Testnet for this website. A fun experiment, a way to learn something and tinker around with the technology. The best part was: it somehow didn’t require any maintenance. It would work without further tinkering.

Regulating Technology

A technology survives as long as it serves a solution in a better way than the problems it adds. Digitization has evolved from interesting to crucial in only a few decades. Artificial Intelligence shall experience an even faster adoption and challenges us to form opinions about things we didn’t grow up with and don’t always understand so well. That accompanies our move towards new…

Sleeper agents: training deceptive LLMs that persist through safety training

From political candidates to job-seekers, humans under selection pressure often try to gain opportunities by hiding their true motivations. They present themselves as more aligned with the expectations of their audience than they actually are. If an AI system learned such a deceptive strategy, could we detect it and remove it using current safety training techniques?

The Law by Frédéric Bastiat

There is nothing like the filter of time. When a book from 1850 receives praise, you know its insight is timeless and its quality undeniable. This essay discusses what the law should be and shows the tragedy of what it has become. The content still relevant today, reminds us of how the more things change, the more they stay the same.

Ars magna

Various projects in the blockchain space, particularly around the Cardano ecosystem. It includes the Emacs extension cardano.el , a web service to edit transactions with your web wallet and some documentation efforts.

Org-cv

Org-mode backend exporters for generating a Curriculum Vita using some \(\LaTeX\) templates, or exporting to markdown for your hugo blog.

Upgrading this blog again

Web development is the skill that irritates me the most. It has improved over the years. The tools available today are far superior. But, I only glimpse at better web design skills. I often times struggle to understand why some websites look the way they do. Even with full access to their source code, replicating them isn’t always evident. There are HTML & CSS tricks I refuse to practice in…

Preventing the collapse of civilization again

This is NOT a talk about how AI could take over the world and enslave humans, enough dramatic news, policies, and sci-fi novels tell that story. But there are still many ramifications from our use of technology. From the very way we record and distribute knowledge into society to how we actively use and maintain available technologies.

Preventing the collapse of civilization

This is NOT a talk about how AI could take over the world and enslave humans, enough dramatic news, policies, and sci-fi novels tell that story. But there are still many ramifications from our use of technology. From the very way we record and distribute knowledge into society to how we actively use and maintain available technologies.

Setup up a Bitcoin Lightning point of sale in Common Lisp

Because I can, I recently added support for testnet Bitcoin Lightning payments into this website. The beauty of Freedom and privacy respecting software is that you can do anything you want with it. There are many ways to do it. You can always use a service, provider for that, but the beauty of Bitcoin, the reason it is valuable, is that you can do it yourself.

Bitcoin is art

Bitcoin is this strange thing I don’t fully understand. Going down the rabbit hole, as it is commonly known, I generally feel disappointed. Every bitcoiner I meet is a fanatic insisting that I buy bitcoin instead of a supportive mentor. The best buys of my life took place under guidance not pressure, thus I’m always reluctant to listen. Why are they constantly trying to sell it to you?

Why colorize terminal output when you can colorize on the reader?

Colorful text is a must, because we are visual creatures. We process shapes and colors way better than symbols. Confronted to a screen full of text, it is hard to make sense of it, without meaningful coloring. I even find pure text repulsive, I don’t want to look. Command like tools like ls , grep , git offer colorized output, in fact I’m only able to find them useful, when their…

Preventing the collapse of civilization

I stumbled upon this talk by Jonathan Blow on YouTube and I must share it. Civilizations flourish thanks to the technologies they invent. Yet those same technological achievements get lost because the same civilizations that created them fail or at least they fail to propagate them to the future. We open ourselves to those same vulnerabilities over and over again.

Elliptic Curve Digital Signature Algorithm - Bitcoin & Haskell

The previous posts covered mathematical curiosities. Now we can leave that realm, find an application and turn them into tools to work with elliptic curve cryptography. That means finding and choosing which particular values of the parameters bring us into a curve we can use for cryptography.

Elliptic Curves on Finite Fields - Bitcoin & Haskell

When merging the last two posts, I immediately run into serious difficulties. Haskell’s type system just made my work harder(well my ignorance did). Until I could come up with a solution, I could not appreciate how the strictness of the type system actually gives flexibility.

Elliptic Curves - Bitcoin & Haskell

In this series of posts I’m solving the exercises of Programming Bitcoin 1 in Haskell, I’m learning Bitcoin and Haskell in one go. To describe a point in the elliptic curve, we need four data points. \((x, y)\) are the coordinates themselves, additionally we need the constants \((a, b)\) that define the elliptic curve given by the equation \(y^2 = x^3 + ax +b\). Finally, there is the…

Finite Fields - Bitcoin & Haskell

Bitcoin’s price has gone crazy up, and now I’m really responsible for learning it. I found the book Programming Bitcoin 1 by Jimmy Song, it looks good enough to give it a try. It uses Python to teach, which is uninteresting and I end up only skimming over it, which leads to low retention. Learning necessitates inefficiencies, trial and error, solving problems and sharing. Thus to learn…

Why swim in a river at 0°C?

There are plenty of reasons: Get out of your comfort zone, build character, discover your limits. There are plenty of justifications: Simply crazy, settling a bet, religious penitence/purification. All those might apply, however for me it is a CELEBRATION. A celebration of how well I’m doing nowadays. I was born in a big city, I grew up surrounded by the grayness of concrete. The river in my…

Getting started with bitcoin

Bitcoin is all over the news, this time with big investors pouring money into it, a global pandemic that put the economy on hold, and governments printing money like crazy. Price raises, it is a bubble again. Maybe it is responsible this time to at least try to learn about Bitcoin without rushing to get it like everybody else seems to be doing again. The only way to learn about it, benefit from it…

Guile macros - avoiding code duplication when interfacing to notmuch

When working on the interface to notmuch I stumbled upon the case where iterating over messages and iterating over filenames produced the same code structure only changing the functions being used. I hate to see code duplication and thus I went out exploring for solutions available in Guile to solve this issue.

Managing my email with Guile - interfacing to notmuch's C library

Manually creating the bindings for a sizable C program is a lot of work, also it is not very rewarding. I’m lazy and don’t want to do that. I looked around for what other options I have and I was surprised about the solution.

Guile's Foreign Function Interface - linking to notmuch

On the previous post I covered how I can call external programs as new processes and interact with their inputs or outputs. Here I will use directly the foreign libraries written in C using Guile’s foreign function interface . In this series of posts I record how to use Guile as a scripting language and solve various tasks related to email work.

Managing my email with Guile - A shell script alternative

Most of the pre-processing work of my emails was already solved with a combination of a bash script, which uses the notmuch cli and the python package afew . However, I’m learning Guile and I need a real task to solve to practice the language.

Attachment files in plain text accounting

I have been using ledger to keep track of my expenses. It is simple, it doesn’t interfere with my workflow, and I can edit data with my favorite text editor Emacs, because ledger only deals with plain text files. I love this workflow.

Fun with Rofi and Guile - A minimal habit tracker

In my personal project to learn LISP, I decided to try GNU Guile . It is a Scheme implementation and it is the official extension language of the GNU project . To learn, my first step is to actually use it, and my first minimal toy project, will be a Habit tracker. There are plenty habit trackers around, to make another one, yet this is just mine, done for my personal joy of implementing it in a…

My cloud, I rule my data and I rule how I communicate

In this workshop I teach how to use the sovereign project. A set of Ansible playbooks that you use to build and maintain you own personal cloud entirely based on open source projects. It covers the basics, Email, online storage sync, calendars, web hosting, git hosting, VPN.

Capacity Management based on Monitoring data

This article is in German. In checkmk 1.6 I implemented the possibility to calculate forecasts over monitored IT-resources in order to predict future utilization. This feature was developed to allow on-premise service providers to independently evaluate their resource utilization and plan their resource allocation.

How To Escape Poverty? - Is Your Thinking Keeping You Poor?

I stumbled upon this talk by Douglas Kruger on YouTube. I decided to take notes and write my own summary to deepen the learning experience. It provides me with a reference for later times. Douglas Kruger mentions 8 points, I reorganized them into 5 themes.

Nerd Humor: English - The torture of the conqueror

On November 16 th 2019, I held a short humorous speech at the Wordstock festival in Nuremberg-Germany. I never imagined getting this far, and now I only see it as the beginning. In humor and comedy, I have always been on the spectator side. However, this year I chose to develop myself in public speaking and it indeed has been a long way. It all started as a personal challenge. I began by signing…

English - The torture of the conqueror

This is a short humorous speech for the Wordstock Festival. I go over the hurdles of learning English as a foreign language and all those language quirks.

Me as of today

Hello everyone, I’m starting a new section of my life and I want to engage on new projects. But before jumping into anything new, I want to review where I stand and what I can tell you about myself.

My talk at the 18. Augsburger Linux-Infotag 2019

I have always been a Free Software fan and I’m always happy to participate in events where I meet like minded people. Linux days are a great opportunity for this. They are super fun and still hold the free software spirit about sharing your knowledge and learning from others. They are also organized by volunteers, which deepens the nice feeling of community. I found one of these events. The…

Monitoring bees and more

Held in German, this talk shows how to use Checkmk and about an interesting use case about it flexibility when it is configured to monitory bee colonies and their honey production.

Imaging the nanoscale phase separation in vanadium dioxide thin films at terahertz frequencies

Vanadium dioxide (VO\(_2\)) is a material that undergoes an insulator–metal transition upon heating above 340 K. It remains debated as to whether this electronic transition is driven by a corresponding structural transition or by strong electron–electron correlations. Here, we use apertureless scattering near-field optical microscopy to compare nanoscale images of the transition in VO\(_2\) thin…

Bornhack 2018

How do you take your summer holidays? Some seek rest by laying down the sun like an iguana warming up their blood. Just doing nothing to compensate for the hard work over the year. I’m not against that, I do it too. But I found a new alternative, you can go out and learn something new. Only a year ago I discovered hacker camps, an outdoor tent camp event for hackers and makers.

Forgetting - Our filter for the irrelevant

I just stumbled upon this article: To Remember, the Brain Must Actively Forget | Quanta Magazine , and it served me as quite a confirmation bias. I always reflected why it is so hard to learn something, or remember something. Consider, what a great super power it would be to remember it all. The true new point of view for me here is the merit of forgetting.

It's not about having a backup, but being sure the backup works

Since I discovered BorgBackup (short: Borg) I have felt way more confident about my backups. Borg gives you a space efficient storage of backups, data is saved encrypted, and you get good versioning of backups. I solved all my previous inconveniences when just using rsync. I lacked the way to keep track and order different versions. Compression and encryption as a great plus even when I just keep…