Skip to content

Instantly share code, notes, and snippets.

View NitroNils's full-sized avatar
💭
Getting to know the Unix environment, learning stuff like ed(1), groff, sh, etc.

NitroNils

💭
Getting to know the Unix environment, learning stuff like ed(1), groff, sh, etc.
View GitHub Profile
#!/usr/bin/env ruby
# this scripts acts as a wrapper for a little daemon that reads a fifo;
#
# If called without allready running it starts a background daemon and
# downloads the argument, then proceeds to watch the fifo for more.
#
# We esnure that the script is only running once and only one dl at a time.
FIFO = "/home/ha/.ytfifo"
@TayKangSheng
TayKangSheng / record.sh
Created January 20, 2023 14:55
PinePhone record video with rear camera
#!/bin/ash
# Credits to Kevin Kofler
# https://forum.pine64.org/showthread.php?tid=16539&pid=109333#pid109333
if [ -z "$1" ] ; then
echo "usage: ./record.sh videoname"
exit 1
fi
@huytd
huytd / wordle.md
Last active June 28, 2025 01:20
Wordle in less than 50 lines of Bash

image

How to use:

./wordle.sh

Or try the unlimit mode:

@probonopd
probonopd / Wayland.md
Last active July 6, 2025 23:07
Think twice about Wayland. It breaks everything!

Think twice before abandoning Xorg. Wayland breaks everything!

image

Source: https://x.com/LundukeJournal/status/1940441670098809093

Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.

Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating everyone else (e.g., people using just an X11 window manager or something like GNUstep) in the process.

@oleavr
oleavr / explore.js
Created January 13, 2018 20:01
Block recv() example
'use strict';
Interceptor.attach(ptr('0x103cdbf40'), {
onEnter: function (args) {
send({ type: 'need-input' });
var operation = recv(function (res) {
args[0] = ptr(res);
});
operation.wait();
@joepie91
joepie91 / vpn.md
Last active July 3, 2025 09:58
Don't use VPN services.

Don't use VPN services.

No, seriously, don't. You're probably reading this because you've asked what VPN service to use, and this is the answer.

Note: The content in this post does not apply to using VPN for their intended purpose; that is, as a virtual private (internal) network. It only applies to using it as a glorified proxy, which is what every third-party "VPN provider" does.

  • A Russian translation of this article can be found here, contributed by Timur Demin.
  • A Turkish translation can be found here, contributed by agyild.
  • There's also this article about VPN services, which is honestly better written (and has more cat pictures!) than my article.
@joepie91
joepie91 / getting-started.md
Last active July 7, 2024 02:41
Getting started with Node.js

"How do I get started with Node?" is a commonly heard question in #Node.js. This gist is an attempt to compile some of the answers to that question. It's a perpetual work-in-progress.

And if this list didn't quite answer your questions, I'm available for tutoring and code review! A donation is also welcome :)

Setting expectations

Before you get started learning about JavaScript and Node.js, there's one very important article you need to read: Teach Yourself Programming in Ten Years.

Understand that it's going to take time to learn Node.js, just like it would take time to learn any other specialized topic - and that you're not going to learn effectively just by reading things, or following tutorials or courses. _Get out there and build things!

@sathlan
sathlan / make_usb.sh
Created April 8, 2013 13:38
create a multiboot freebsd/linux usb key.
#!/bin/sh -x
START_DIR=$CWD
SHARE_DIR=/backup001/chem/home/chem/src/mfsbsd
KEYBOARD=dvorak
WANT_PHORONIX_TEST_SUITE=4.4.1 # set it to no to disable
# catch error from my own error function even in subshell.
err_handler ()
{
rc=$?
@fogus
fogus / 0 - UNIX Fifth Edition
Created July 20, 2011 00:15
UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c
main(argc, argv)
int argc;
char *argv[];
{
int i;
argc--;
for(i=1; i<=argc; i++)
printf("%s%c", argv[i], i==argc? '\n': ' ');
}
@dbb
dbb / fancy_urxvt
Created January 18, 2011 23:07
urxvt with transparency, blur, Xft font, etc
urxvt.perl-ext-common: default,tabbed,matcher,searchable-scrollback
urxvt*cutchars: "()*,<>[]{}|'
urxvt*termName: rxvt-unicode
urxvt*urlLauncher: iceweasel
urxvt*matcher.button: 1
urxvt*keysym.S-Prior: ^[[5;2~
urxvt*keysym.S-Next: ^[[6;2~
urxvt*geometry: 100x30
urxvt*highlightSelection: true