Skip to main content

TomAlcala

FIsh-like Autosuggestion in Poweshell

For a year, working on Windows laptops has been nonoptional for me. I’ve been desperately trying to make my environment as close as it is on Mac OS, with the added challenge to do it without the Windows Subsystem for Linux (WSL). So this relies heavily on Powershell. One thing I like from the fish shell (and was reproduced in zsh by the zsh-autosuggestion plugin) is the autosuggestion feature. It’s that thing where when you start typing something and there is something that starts with the same letters in your history, it’ll write it after the cursor in grayed colors.

Translating my Resume (with Rust)

tl; dr: this is about creating a CLI that uses Google Translate to translate a text file to a supported language. The code can be found here Something that sucks about moving to a country that doesn’t care too much about the English language and look for a job there is that you have to translate your resume. So here I am with my well-written and tested resume in English, and have to spend hours (a couple, at least) translating it to French.

Vim Configuration from Minimal to Complete

From a configuration that works on low-resource, restricted permissions environments, to a complete configuration… And from almost scratch. Because I like to know what’s in my .vimrc. TL;DR the final vimrc and at the different steps is in this repository, with tags for each step. Vim rocks 🤘! And recent plugins can make it really great for coding, most notably using Conquer of Completion with NodeJS, that has a bunch of extensions for a lot of languages using the Language Server Protocol.

Convert an Express NodeJS App From JavaScript to TypeScript

Hi! 🖖 Today, I’ll walk us through moving an Express NodeJS app from JavaScript to TypeScript. Why? TypeScript offers type safety “on demand”, most of the code won’t break if you move your app from one to the other, and then, you can add the safety where it is important. How We are going to start from a fork of Kent C. Dodds' Express example for mid-large apps. I made a branch called javascript as a starter.

Deno Version Management

Logo © Samip Poudel Deno is really nice! Version managers are nice too, they offer a way to have several versions of a runtime, dependencies installed at a user level, without breaking system runtime if any. Here we will use one version manager to install the Deno runtime 😀. Lexicon Deno Deno is a JavaScript/TypeScript runtime that can replace NodeJS, with the aim to be more secure. Deno Runtime Installation Standard Installation There are a bunch of scripts to install the Deno runtime in the official documentation, depending on your operating system.

vim and ocaml (workaround for Dark)

Vim has always been hard to set up, and more so with OCaml. Here, I’ll show you a workaround on how to configure vim for it, and as a bonus, how to prepare it to contribute to Dark. Lexicon A New Beginning For some reason, I had it working on my old laptop, but getting the exact same OCaml version and vimrc on my new one gets me a bunch of errors, hence the workaround: I am confident that I’ll make it work someday, but for now we’ll do a new vimrc and put back stuff from the old one.

OCaml Development on Windows

Some statements We all have our own constraints when it comes to development tooling, so we compromise. In my case, I like Linux and Mac OS, but I often have to work on Windows. It’s no secret that Windows sucks for development, specially for modern web development. Windows Subsystem for Linux (WSL) helps a lot, but it has its limits. OCaml is no exception on Windows sucking for development, the installation build breaks even on WSL, that’s what we’ll fix today.

Simple Microblogging: Dark API

A simple intro to Dark and Svelte, building a simplified Twitter-like microblog. Lexicon Dark Also known as Darklang (the SEO term), it’s a deployless backend with its own functional programming language and editor. Svelte A Server-Side Generated (SSG) JavaScript framework that is fast and elegant. 🐇 Into the Rabbit Hole Here’s what we are doing: Design a simplified version of Twitter, where users can post tweets, follow/unfollow others, and is able to see the 10 most recent tweets in the user’s news feed.

Authoring with Vim

The REAL writing, not code writing 😆. This post reflects only the thoughts of its author, Thomas Alcala. If you don’t know vim, I recommend trying Vim Adventures, a game-like vim tutorial. Introduction It was already the case before with tools like WordPress, but with the surge of headless CMS, serverless platforms, JAMstack, Wix, writing and publishing your own blog is easier than ever. There’s a lot of value in browser editors too (the famous WYSIWYG, What You See Is What You Get) that let users click text formatting buttons, and the HTML code is generated for them.

Tutorial: writing a Microsoft Teams Bot (an introduction to Dark)

This tutorial is relevant to write bots with functions and other backends beside Dark. Lexicon Dark Also known as Darklang (the SEO term), it’s a deployless backend with its own functional programming language and editor. Introduction In the US, Slack reigns supreme, but in Europe, Teams and other Microsoft products are used a lot among development teams. And unlike Slack for which integrations are pretty easy and well documented, it is hard to code something for Teams, even more so if you don’t want to use their overly abstracted Botframework library.