No description
Find a file
2024-07-16 11:36:46 +02:00
autotools Fix version number in autotools and PKGBUILD build scripts 2024-07-16 11:24:39 +02:00
.gitignore ignore lolcat and censor, add Debian dependency 2024-07-16 11:16:39 +02:00
.gitmodules Remove fmemopen altogether since it just doesn't work. 2018-07-22 18:39:01 +02:00
censor.c Fix variable scoping error 2020-12-25 15:54:09 +01:00
do_release.sh Add a little release script to keep the version numbers in sync 2024-07-16 11:35:08 +02:00
LICENSE Added a LICENSE 2014-10-24 11:13:57 +02:00
LOLCat-Rainbow.jpg Fixed the cat picture's filename 2014-10-25 16:57:53 +02:00
lolcat.c Bump version to v1.5 2024-07-04 11:49:59 +02:00
Makefile Add --gradient option, allow specification of custom gradients. 2022-11-19 14:24:04 +01:00
PKGBUILD Fix version number in autotools and PKGBUILD build scripts 2024-07-16 11:24:39 +02:00
README.md Make images embedded in README use relative paths 2024-07-16 11:36:46 +02:00
screenshot.png Added a screenshot 2014-10-25 16:56:32 +02:00
sl.gif Adding cool sl gif. 2015-07-12 22:56:40 +02:00
xterm256lut.h Add --gradient option, allow specification of custom gradients. 2022-11-19 14:24:04 +01:00
xterm256lut_gen.py Add --gradient option, allow specification of custom gradients. 2022-11-19 14:24:04 +01:00

What?

Screenshot

Installation

Archlinux

There's an AUR package:

$ git clone https://aur.archlinux.org/packages/c-lolcat
$ cd c-lolcat
$ makepkg -csi

Fedora

$ dnf install lolcat

Ubuntu (Snap)

See this awesome blog post by a kind person from the internet:

$ snap install lolcat-c

Mac

Build loclcat with:

$ make lolcat

...and put the resulting binary at a place of your choice.

Others

Note: Debian users may need the python-is-python3 package.

$ make && sudo make install

Why?

This lolcat clone is an attempt to reduce the world's carbon dioxide emissions by optimizing inefficient code. It's >10x as fast and <0.1% as large as the original one.

newton~/d/lolcat <3 dmesg>foo
newton~/d/lolcat <3 time upstream/bin/lolcat foo
13.51user 1.34system 0:15.99elapsed 92%CPU (0avgtext+0avgdata 10864maxresident)k
0inputs+0outputs (0major+1716minor)pagefaults 0swaps
newton~/d/lolcat <3 time ./lolcat foo
0.02user 0.00system 0:00.09elapsed 34%CPU (0avgtext+0avgdata 1936maxresident)k
0inputs+0outputs (0major+117minor)pagefaults 0swaps

Bonus comparison with python-lolcat:

newton~/d/lolcat <3 dmesg>foo
$ time python-lolcat foo
12.27user 0.00system 0:12.29elapsed 99%CPU (0avgtext+0avgdata 11484maxresident)k
0inputs+0outputs (0major+1627minor)pagefaults 0swaps
$ time c-lolcat foo
0.29user 0.00system 0:00.30elapsed 98%CPU (0avgtext+0avgdata 468maxresident)k
0inputs+0outputs (0major+21minor)pagefaults 0swaps

(Read: c-lolcat << python-lolcat << ruby-lolcat)