Skip to content

Instantly share code, notes, and snippets.

@dualbus
dualbus / gist:5457531
Created April 25, 2013 04:38
Montando particiones
Supón que el disco duro es un gran arreglo. Se vería de la siguiente forma:
[ ][ ][ ][ ]...[ ]
Tradicionalmente el disco duro (arreglo) se particiona. Es decir, se segmenta el arreglo en sub-arreglos
todo con la intención de organizar el uso del disco, o destinar cada parte a una aplicación diferente.
Entonces, las particiones son elementos *físicos* de tu disco duro. Dentro de cada partición se usa un
"sistema de archivos". Este sistema de archivos permite al sistema operativo hacer un uso óptimo del
arreglo de bytes, es decir, guardar bloques de datos de forma eficiente, permitir que los bloques
#!/bin/bash
trap 'rm -rf "$tempdir"' EXIT
tempdir=$(mktemp -d)
cd "$tempdir" || exit 1
printf '%s\n' \
'(return 2>/dev/null); echo $?' \
> bash_return
#!/usr/bin/awk -f
BEGIN {
state = "base";
}
{
length_of_line = length;
for (i = 1; i <= length_of_line + 1; i++) {
#!/usr/bin/env python
import sys
credit = 200
prices = [150, 24, 79, 50, 88, 345, 3]
n = len(prices)
k = 0
sort = sorted(enumerate(prices), key=lambda x:x[1])
r = n - 1
@dualbus
dualbus / README
Last active December 28, 2015 05:59
Cómo ejecutar un shell script como root de forma segura
1) Linux no permite scripts suid; y si se pudiera, hacerlo sería
*demasiado* estúpido. ¿La razón? cualquier usuario del sistema ahora
puede reiniciar tu servicio. Si te comprometen el FTP, y obtienen un
shell como ftp, boom, adios.
2) El esquema con dos usuarios, www-data y root, con www-data en
sudoers. Claro que puedes utilizar las facilidades de «sudo» para
limitar qué comandos puede ejecutar www-data. De esta forma, puedes
tener una entrada como:
#!/usr/bin/awk -f
function sqlite_escape(v) {
gsub(/'/, "''", v);
return v;
}
function process_line(_F, _NF) {
print "1:", _F[1];
print "second to last:", _F[_NF - 1];
package main
import (
"os"
"strconv"
)
func fibonacci(n int) uint64 {
if n > 0 {
return fibonacci(n - 1) * uint64(n);
$ js wat.js
2
0
11
0
11
0
1
1
1
@dualbus
dualbus / ini
Created November 20, 2013 00:48
INI file parser in bash
#!/bin/bash
shopt -s extglob
function isValidIdentifier {
typeset identifier=$1 identifierPattern='+([[:alpha:]_])+([[:alnum:]_])'
#!/usr/bin/env python
from zipfile import ZipFile
from os import walk
from os.path import isfile, isdir, join
class Zipper(object):
_class = ZipFile
def __init__(self, zip_file, recurse=False):
self._zip = self._class(zip_file, 'w')