Tech

Deploying Common Lisp to heroku

2 minute read Published:

Ok this is going to be a short post, but maybe someone finds it useful so here it goes.

For testing purpose I really like the heroku platform, you can deploy your application, test it, share it with others to test etc. Heroku has some “official” languages it supports but through the use of buildpacks you can deploy any application.

Visualizing temperature anomalies with Clojure and Oz

3 minute read Published:

Clojure is an oddball for a lisp. It is quite powerful and opinionated, it works well in the Java and Javascript ecosystem and has good tooling in emacs aka CIDER. For me I prefer other lisps for their more non-opinionated style but still Clojure is a wonderful tool and it seems to have a blossoming community that is really responsive to the modern computing environment. This is especially important since it offers a way for lispers to get their hands on things going on in the world of Java and Javascript without losing the developing expressiveness and experience of a lisp.

So, today I took part in a meeting organized by SciCloj, a group of people conspiring to make Clojure a powerful language for the scientific and data analysis fields. Christopher Small presented his work on Oz, a clojure wrapper around the powerful Vega/Vega Lite libraries.

Prototyping hashtags with Common Lisp

3 minute read Published:

Common Lisp is really fun to work with. In fact emacs & slime is the best development environment that I’ve ever worked with and everytime I work on something I want to try and create it with CL.

Here I’ll try to share my experiences with how I prototyped my first working example of a simple web application.

Recently I participated in a Youth Exchange where we created some image based propaganda around gender issues. There was then the proposition to create a web application where we could share our pictures and vote between us for what should become public. Plain and simple, right?

Rediscovering vanilla Emacs' text editing

3 minute read Published:

Being a full-time Emacs user for some years now I’ve gotten accustomed to many packages offered by the community that greatly enhance Emacs’ text editing capabilities. The thing is that Emacs’ only lacks a good editor, or is that so? Here are some packages I’ve stopped using in favor of built-in functionality that I’ve discovered recently.

Getting my hands dirty with GuixSD

4 minute read Published:

So last week, being bored with Fedora I tried to spice up my computing life with trying the GuixSD. It is a GNU/Linux distro that is built along the lines proposed by NixOS, that is it’s a declarative distro (meaning you declare how you want your system to be and it builds itself this way). The idea behind these systems is quite novel and a good start to understand the principles can be found in the original paper that defined the concept and led to the creation of NixOS.

Executables in Common Lisp

2 minute read Published:

So after completing (?) the Pleroma bot, I talked about in a previous post I wanted to create a simple executable that would be self-contained and run on any machine. If you have a Common Lisp implementation on a computer it’s trivial to run any program that is bundled in a package, just load the package and then run the appropriate entry function from the repl.

What happens if you don’t have a Lisp installed?

A Mastodon/Pleroma bot in Common Lisp

2 minute read Published:

I’ve been trying for long to get more involved with Common Lisp as I’ve felt for quite some time that it’s a language with a very nice balance of expressiveness and practicality. Together with the great experience of developing interactively with slime and the huge collection of libraries that exist I think that delving in Common Lisp will be pretty exciting.

After having read Practical Common Lisp (although not yet fully digested the knowledge) and having solved some Advent of Code challenges I thought about writing a bot for announcing my blog-posts in fediverse and specifically in https://pleroma.soykaf.com/. After some research I found this blog-spot that gave a lot of info on achieving almost the same goal I had.

Using emacs-lisp in emacs keyboard macros

2 minute read Published:

Powerful text editors, like vim, emacs, atom or even microsoft’s vs code, offer ways to automate boring stuff at hand. Repetitive work isn’t really something a human enjoys but it is exactly the kind of work that computers excel in.

Retain keybindings in non-latin layouts in emacs

1 minute read Published:

Using emacs is always a journey of finding new tricks and ways to improve your work flow. You keep on customizing and customizing till you declare your emacs init file bankruptcy.

One of the things that really irritated me is emacs’ keybindings in a bilingual setting. I’m using both greek and english for quite a lot of my writings using gnome’s input system to change the layout. This made emacs keybindings unavailable if I didn’t change the layout back in english and it was quite cumbersome.

“C-σ is undefined”

was a quite common occurrence in my work flow.

How this blog works

4 minute read Published:

Hello World! After the trivialities let me share some info of how this blog is run. You can study the source in gitlab that is also used for hosting the blog.

The main infrastructure here is the hugo static site generator, org-mode for editing the posts, ox-hugo for exporting the org file in hugo-compatible markdown files and the after-dark theme for basic design on which I intend to build a more personal style.