Snippets go here.
The Monado OpenXR implementation provides a "QWERTY" driver for testing applications using the keyboard and mouse.
(The below content was made for NixOS, but the actual configuration should apply to any Linux distribution with Pipewire and other related packages)
Miscellaneous Nix snippets that I'm using in my configs. While I don't have sources for these, many have been found and remixed from the NixOS Discourse and other places online.
A feature I find useful in a multi-monitor environment is the ability to pin a workspace to a specific monitor, so that some windows can follow you between workspaces.
Building a simple C daemon with Nix, adding it into an existing NixOS configuration without modifying nixpkgs, and then wiring the daemon up to systemd.
Small Emacs function I used to base64 encode the icons in the CSS for demonastery.org. Requires the GNU coreutils base64
tool.
OBS Studio allows you to configure a hotkey to change the captured window for a Game Capture
source. However this ability to use a hotkey is missing from the Window Capture
source.
I'm spending some quality time with C again after a solid multi-year detour with Rust and I'm really enjoying myself.
Push to multiple remotes with git mpush origin,github master
.
Emacs has a great vim emulation mode named evil-mode
. Of course it is also trivial to extend. Here is an example of defining a custom operator for by using evil-define-operator
:
I'm once again an Emacs convert (spoken multiple times since this was first posted). I used Emacs a fair bit back in 2011 as my main editor (when vimpulse
was becoming a viable alternative to native Vim and I forced Emacs upon myself for as long as I could), I even wrote a few posts about extending it. But eventually it was starting to feel sluggish with everything I was throwing at it and I had to give it up (looking back, it was probably a bad minor-mode or two).
Literate programming, introduced by Donald Knuth, is a technique of writing programs in the natural order and style that you would use if you were to verbally describe the way a program works. Literate programming is designed to break the order of source code required by traditional compilers. It can be fun to build programs in this way by simply starting a document with a description and a list of headers for each feature.
I don't use a whole lot of Ruby in my day to day work, but it is a language that is very quickly growing on me for several reasons.
I'm back again to share a quick hook for updating a mojombo/jekyll based website or blog upon pushing to sitaramc/gitolite.
Continuing this series of posts on Gitolite hooks, this time I will be adding live project documentation to Redmine, using Doxygen.
A couple of posts back I walked through putting together a (somewhat) decoupled bot system using ZeroMQ and a bunch of scripts in various languages.
In my last post I showed how to build a simple hooking system for sitaramc/gitolite Now I just want to share a very small script used to update Redmine changesets when you push to a git repository.
sitaramc/gitolite is a wonderful tool that makes hosting git repositories pain-free. Gitolite also supports adding custom hooks but for whatever reason I found it a little hard to get my head around for what I wanted (a post-receive
hook per repository).
Welcome to part three of this series. In this post I'm going to show how easy it is to turn what is currently a completely useless bot into something genuinely useful to you and your team.
First rule of writing blog posts, don't give yourself arbitrary deadlines! :)
In todays episode of demonastery.org I'm going to build yet another IRC bot!
One of the features I miss the most from Emacs when using Vim is the ability to mask certain strings as other strings (eg. Unicode symbols). The most often used case for this is when dealing with Greek characters (such as lambda), or when writing Tex.
Here's a handy tip for those netbook users out there in dire need of more screen estate.
Here's a little bit of amateur code to enable the use of docstrings in Chicken Scheme.
One thing I love about Emacs is that it is so extensible. I was an avid Vim user for a long time and it took me several tries to switch to Emacs, but I will never look back. With the Vimpulse addon to the built-in viper-mode
, Emacs becomes a powerful Vim impersonator, capable of being extended with Emacs-Lisp.
Continuing on from my Chicken Scheme, and OpenGL tutorial, I'm going to show you how to extend it to render pretty FreeType text using the FTGL library. Follow the code below for details as always; it's really easy! :)
The aim of this code is to check your org-mode agenda for any headings with DEADLINEs and create a vcalendar for each, and then send them to your phone via an SMS gateway such as Clickatell.
As I love sharing code on my blog, and I love Chicken Scheme, I'm going to share a couple of handy and practical features that I've made use of recently.
Using some shared library injection it's possible to change the display of a GTK window while it's running.
Here's a shitty method of mimicking threads in PHP through forking of the PHP interpreter. You will also need to make sure that you have the extension=sockets.so
somewhere in your php.ini.
Today I'm posting an example of how you can quickly get started with OpenGL using Chicken Scheme.
A week ago I went searching for a small netbook. My requirements were pretty simple; it needed to be cheap, and be able to dual boot Linux and Windows 7. Because I'm in New Zealand, the first place I checked out was Dick Smith Electronics, which currently had a great special running on the Acer Aspire ONE D255E ($399 NZD, roughly $300 USD). Now the specs listed on the site were actually false, but the actual specs of the laptop are higher.
I haven't had much to write about in the last couple of weeks, but I've really wanted to do a small piece on the magic of call-with-current-continuation in Scheme, aka. call/cc.
In this post I want to go a little deeper into the macro system of Scheme (particularly Chicken), and share a couple of macros I've created.
As a follow up on yesterdays post I'm going to show how easy it is to integrate some third party functionality in to a web application to provide "automatic tagging" using libots.
Recently I've taken more of a liking to Chicken Scheme, and started trying to use it for more of my day to day development. Recently I wrote a port (ZaneA/PongClock) of a JS + HTML5 Pong Clock into Chicken Scheme using the OpenGL + GLUT libraries. I couldn't believe how smoothly it went, since it was a line by line port, the only thing I needed to write myself were the graphics drawing routines, easy enough since we're only dealing with white rectangles after all, but now it functions as a cross platform screensaver (verified on Linux, OSX, and XP!).
Hi there, Today I'm going to write a small example on connecting the Sawfish window manager to the Emacs text editor.
So I made a tiny and very hackable IRC bot/client base in PHP for rapid prototyping. Of course I threw it on GitHub. It makes heavy use of PHP >= 5.3 closure support as well as regular expressions for defining just about everything. Basic knowledge of the IRC protocol is recommended. You can find more information in the README file in the previous link.
Just created a new git repository on GitHub for my Miscellaneous Win32 utilities. Right now it just has my ExplorerGestures code, but I will be adding some more utilities as I find them on my hard drive.
Been a while since I posted anything here, and it's always good to have some fresh content, so I thought I'd post my latest creation PrepFS (Pre-process FS), a small utility FUSE filesystem, that enables preprocessing of files.
I've just been going through a couple of folders and I found a very basic PHP class I wrote to control the Music Player Daemon. Assuming the text protocol hasn't changed much it should still work fine :)
So it's 2:56 in the AM and I've just hacked up a little app to enable moving up a directory in Windows Explorer by using the Thunar middle click + drag up gesture. You can find it at ZaneA/Win32-Hacks.
This article will show you how to utilize Emacs org-mode, python, a Nokia mobile (others may work too), and an SMS gateway like Clickatell, in order to receive a daily agenda that fits nicely into the phones calendar by using the vCalendar format. Yes that's a fairly specialized combination, but hopefully will be useful to someone. I'm sure it's possible to do the same using bluetooth instead of and SMS gateway, and I may update this to reflect that at some stage..
Simple CPUID, I also experimented with a version using an extra buffer variable and printf
.
It may not be much to others but I'm learning!
Edit as necessary, requires hsetroot, mplayer, and a working xvidix on your graphics card (for video).
After some Q and A on the ArchLinux forums, I am left with this in my .zshrc, the ability to change fonts on the fly: