Denna sida på svenska

Posts tagged “project”

Reminiscing this and that, on the web since 1994.

Rsass 0.28.0 released

Posted 2023-07-09 12:45. Tagged , , , , .

It is time to announce rsass, rsass-macros and rsass-cli version 0.28.0. Almost half a year has gone since the last release, and as usual, there is a bunch of breaking changes and a bunch of improvements.

A small symbolic milestone is that 2/3 of the tests in sass-spec now passes (up from 66.5 % in the previous release to 66.8 % now). Also, I have reduced the number of cases where rsass fails with the wrong output even further.

My thanks to new contributor Grey Hill.

Read whole Rsass 0.28.0 released.

Command line interface url

Posted 2023-02-05 23:25. Tagged , , .

I wrote a little command-line interface for sending a http request and getting the response. I call the package url-cli, and the command itself is url. It has sub-commands for the different http methods.

If you have a rust toolchain installed, you can get it by cargo install. I haven’t made any binary packages yet.

:; cargo install url-cli
[... building, installing ...]
:; url get https://rasmus.krats.se/2023/url-cli.en
<!doctype html>
[... and all the rest of the html for this web page ...]

Read whole Command line interface url with 2 comments.

Rsass 0.27.0 released

Posted 2023-01-17 21:06. Tagged , , , , .

Again, after almost four months since the last release, it is time to announce rsass 0.27.0. There is a bunch of breaking changes and a bunch of improvements.

This time, one change may seem drastic: The rsass crate no longer contains the command-line program rsass. Instead, that is now provided by a separate rsass-cli crate. So you no longer have to enable a “commandline” feature, instead you can install the command line interface with:

:; cargo install rsass-cli

There is also a new rsass-macros crate. Read on into the Macros section for that.

Read whole Rsass 0.27.0 released.

Rsass 0.26.0 released

Posted 2022-09-18 20:04. Tagged , , , , .

More than three months after the last release, is is now the time to announce rsass 0.26.0. There is a bunch of breaking changes and a bunch of improvements. The changelog has the whole (too long) list.

But this time, some of the changes may go a bit deeper. As usual, the breaking changes is breaking mainly to users who in some way modify the global context from rust code, maybe by providing their own builtin functions or maybe just by inserting a global variable.

Also this time, there is an improved way of calling ructe from a cargo build.rs program, see the Cargo section below.

Read whole Rsass 0.26.0 released.

A compiling template system in Rust

Posted 2016-10-07 18:32. Tagged , , , .

When developing web applications, it is often useful to have a template system. Something that lets you write generic versions of web pages, that the application can fill with the specific content for each page it should show.

There exists lots of “languages” to write such templates, such as mustache, jinja2, and play 2 scala templates (twirl). Most fits very well with a dynamic language, where you can get properties from an object, or even call a method, by its name in a plain string. In a statically compiled language, the actual names of fields and methods are not relevant, and generally not present, after compilation. This makes a “dynamic” template language a hard match for a compiling language such as rust. So why not try to create a better match?

Read whole A compiling template system in Rust with 3 comments.

Chordlab: chopro to pdf

Posted 2008-02-12 00:15. Last updated 2010-10-20 05:55. Tagged , , , , .

Chordlab is a command line program I wrote to create pdf songbooks from chopro source.

Normal usage is to give chordlab a list of chopro files (each containing one or more songs). Chordlab then produces a pdf of one page for each song. Long songs can span several pages, as needed. Since the lines of a song text is often short, chordlab supports pages with multiple columns.

Read whole Chordlab: chopro to pdf.


Posted 2002-07-02 18:56. Last updated 2007-12-18 07:50. Tagged , , , .

Some simple command-line utilities for mail management over imap.

Since imap is a nice protocol to handle email messages independent of MUA, some functionality is wanted MUA-independently. imaputil is a few simple perl programs to run in a command line context.

These utilities depend on an external program to connect to the server and take care of the Kerberos and/or SSL stuff. I use imtest from the cyrus-imap package, but it should be easily replaceable.

Update 2007-12-18 07:50: A new release: imaputil 0.6 is on the ftp server.

Read whole imaputil.


Posted 1998-12-14 12:00. Last updated 2003-12-28 12:00. Tagged , , , .

An open-source HTML / SGML printer that uses CSS2.

StyleScript reads a HTML / SGML file, local or from an URL, and writes a Postscript file. I use the sp library, so only files that names a dtd and conforms to it is supported.

If your document passes the W3C validator without errors, it should be printable.

Update 2003-12-28: StyleScript is dead, viva Passepartout

Read whole StyleScript.


Posted 2001-01-17 22:34. Last updated 2003-07-17 12:00. Tagged , , , .

A small web server serving “301 Moved Permanently” or “302 Moved Temporarily” to all requests.

Update 2003-07-17: Relase 0.3 of webredirect is out on the ftp server. The main news in this release are:

Updated the C++ language usage, so this version works with gcc 3.x (and should work with other standard-compliant C++ compilers).

Read whole webredirect.


Posted 1996-05-03 12:00. Last updated 2002-07-09 12:00. Tagged , .

XkBiff is my attempt at a biff program that understands kpop. When there is mail, it pops up another window featuring the From and Subject fields of the mails.

Update 2002-07-09: The XkBiff project is discontinued and no longer maintained, mainly because I don’t even use POP anymore. If you want to use it, you probably have to fix it as well.

Read whole XkBiff.

incu or ++Unix

Posted 2000-12-19 12:00. Tagged , .

Unix facilities for C++ programmers

The aim of ++Unix is to allow C++ programs to use Unix facilities, such as sockets, whose interface includes a lot of pointers and other low-level stuff, and might vary on different kinds of Unix, in a nice, simple and consistent way.

One of the goals: There should be no need for preprocessor conditionals (#if) other than as include guards in a C++ programs that uses ++Unix.

Read whole incu or ++Unix.

Black Box

Posted 2000-07-03 22:58. Tagged , , .

Welcome to this simple mind game.

Read whole Black Box.

Java game of fifteen tiles

Posted 1998-07-25 22:43. Tagged , , .

This is the classical game of fifteen tiles in Java. If you’ve seen a real one it shouldn’t be too hard to figure it out …

Read whole Java game of fifteen tiles.


Publicerad 1996-02-27 12:00. Taggat .

WebMail är ett litet program för att skicka brev från websidor. Det tar data från en form och skickar per epost.

Läs hela WebMail.