tmux, like other great software, is deceptive. On the one hand, it's fairly easy to get set up and start using right away. On the other hand, it's difficult to take advantage of tmux's adanced features without spending some quality alone time with the manual. But the problem with manuals is that they aren't geared toward beginners. They are geared toward helping seasoned developers and computer enthusiasts quickly obtain the
'use strict'; | |
// Setup: | |
// npm install node-rest-client | |
// Usage: | |
// node create_gitea_repos.js <repo name> <repo desc> [<gitea url>] [<user>] [<token>] | |
// You may put hardcoded values below instead of using last three arguments. | |
// Create a token in your user's settings at <gitea url>/user/settings/applications | |
var url = process.argv[4] || '', |
A modest proposal for a first-class destiny operator equivalent in Svelte components that's also valid JS.
Svelte 2 has a concept of computed properties, which are updated whenever their inputs change. They're powerful, if a little boilerplatey, but there's currently no place for them in Svelte 3.
This means that we have to use functions. Instead of this...
<!-- Svelte 2 -->
<h1>HELLO {NAME}!</h1>
function bytesToHR() | |
{ | |
local SIZE=$1 | |
local UNITS="B KiB MiB GiB TiB PiB" | |
for F in $UNITS; do | |
local UNIT=$F | |
test ${SIZE%.*} -lt 1024 && break; | |
SIZE=$(echo "$SIZE / 1024" | bc -l) | |
done |
#!/bin/sh | |
# This shell script is made by SyneArt <[email protected]> | |
####################################### | |
# BUILD WIRESHARK ON UBUNTU OR DEBIAN # | |
####################################### | |
# | THIS SCRIPT IS TESTED CORRECTLY ON | | |
# |----------------------------------------------------------| | |
# | OS | Wireshark | Test | Last test | | |
# |--------------------|----------------|------|-------------| |
# First, go get the stock firmware from the [TP-Link site](https://static.tp-link.com/2018/201803/20180316/Archer%20C9(US)_V3_171215.zip). | |
# Then unzip it and cd into the resulting directory. | |
$ ls -l | |
total 14956 | |
-rw-r--r-- 1 miket miket 14820016 Dec 15 2017 c9v4_eu-us-ca_up_1-3-1-20171215rel35219.bin | |
-rw-r--r-- 1 miket miket 112046 Sep 14 2015 'GPL License Terms.pdf' | |
-rw-r--r-- 1 miket miket 373590 Oct 14 2016 'How to upgrade TP-LINK Wireless AC Router.pdf' | |
$ binwalk c9v4_eu-us-ca_up_1-3-1-20171215rel35219.bin |
UPDATED 22.11.2022
It's been two years since the last update, so here's the updated working script as per the comments below.
Thanks to BryanHaley for this.
setInterval(function () {
video = document.getElementsByTagName('ytd-playlist-video-renderer')[0];
video.querySelector('#primary button[aria-label="Action menu"]').click();
This basic guide supports Ubuntu Xenial Xerus 16.04 and will enable several external encoding and decoding libraries: libfaac (AAC encoder), libfdk-aac (AAC encoder), libmp3lame (MP3 encoder), libopencore-amr (AMR encoder/decoder), librtmp (for additional RTMP protocols), libtheora (Theora encoder), libvorbis (Vorbis encoder), libvpx (VP8 encoder/decoder), and libx264 (H.264 encoder). These are optional and may be omitted if desired. This guide will also install many filters (see the filter list in the [Filtering Guide][1].
Note: Copy and paste the whole code box for each step.
Salvaged from Google Cache of http://www.lps-it.fr/blog/20151218-signal-handling-and-ruby.html
December 18, 2015
Linux Ruby
Since version 2.0.0, signal handling in Ruby can be tricky. I bet if you're here, it's because you've seen this error message :