Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Monday, 9 November 2020

Force lsp-mode to update when I visit the buffer

I use lsp-mode to edit typescript project files in emacs. When I update definitions in a file, lsp flymake diagnostics are not updated in other files until I perform an edit on the other file. Having to insert a space character and then undo it to see the latest errors quickly becomes annoying. Is there a way to "trigger lsp check when I focus on the buffer"?

Sunday, 16 February 2020

Getting the compilation output of asdf:load-system into SLIME

Running (asdf:load-system "my-project") in the SLIME REPL causes warnings and/or errors to be printed to the REPL, which is difficult to go through. In this post we explore a solution that does not receive much attention in beginner tutorials.

Saturday, 23 March 2019

Saturday, 25 August 2018

Building libpq on MSYS2 MinGW 64 bit for libpqxx

For Windows, although there is a PostgreSQL installer provided, the libpq in the installation directory cannot be used to link libpqxx on MSYS2. This post shows how to build libpq from source on MSYS2.

Saturday, 19 May 2018

Sunday, 21 August 2016

Nothing's wrong with ExceptT IO

ExceptT, quoted from the mtl library: Computations which may fail or throw exceptions.

Sunday, 28 December 2014

Generate trees from materialized paths in Jade

Suppose you have the following objects retrieved from a database, in an array. How would you generate a tree in HTML?

Sunday, 14 December 2014

Using libmicrohttpd with MSVC

Windows is not POSIX compliant. Attempting to include files like sys/select.h will not work because they don't exist. Here's a step-by-step guide to get the libmicrohttpd demo working on MSVC.

Sunday, 7 December 2014

LD31 - FuFuFuel!

Finally! First entry ever! First time "finishing" a playable game from scratch in such a short time (less than 12 hours, dammit chores!!). Link

The original intention was to build a survival defense kind of game, with simple graphics but focus on strategy and macromanagement. I guess I was overambitious, though. Most of the planned features never made it into the game (complex targets, level-up weapons, etc.) It's way past bedtime and it's freaking Monday tomorrow...

Enjoy the game, post your scores in the comments! (Didn't manage to implement the high scores table, awww.) I'm sure I'll find time to build on the game post-jam. (After rating the games, of course!)

Sunday, 5 October 2014

fgets and fputs

In this article we explore the use of fgets and fputs to deal with piped input. Admittedly, it is a rather roundabout way, but it can be useful in specific situations.

Sunday, 28 September 2014

Sunday, 10 August 2014

Return value optimization

RVO is a form of copy elision compiler optimization, where unnecessary copies of objects are eliminated.

Sunday, 13 July 2014

Using std::set emplace

Emplace is a C++11 feature intended to minimize unnecessary copy or move operations for STL container elements.

Sunday, 6 July 2014

The horrors of a graphical programming tool

Recently I had the opportunity to use a graphical programming tool. The problem was to automate an industrial process, and what could be better than a flowchart-like tool? is apparently what the pioneers thought. The tool had been used on several other units, with varying "success". This means I had legacy code to start with. While this certainly does not speak for other tools, and of course the legacy code had a hand in the experience, I want to document here some of the horror-ful experience.

Sunday, 30 March 2014

Using GetOpenFileName

GetOpenFileName displays the "standard" File Open dialog box on Windows, allowing users to choose a file.

Sunday, 16 March 2014

What are smart pointers?

Pointers are extremely useful, but they are also the source of hard-to-detect memory leaks. "Smart" pointers attempt to address this problem.

Sunday, 2 March 2014

Debug Assertion Failed! this->_Has_container()

What is wrong with the following? The intention is to remove an element from a container which matches some criteria.

Sunday, 9 February 2014

What are buffer overflows?

To the uninitiated, the jargon "buffer overflow" may invoke images of hackers and bugs and exploits, but this article shows that you can easliy have your own buffer overflow too.