Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This simple script will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.
The script is here:
#!/bin/bash
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"
#!/bin/bash | |
convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2 | |
#!/bin/bash | |
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2" | |
#!/bin/bash | |
convert in.jpg \( +clone -blur 0x20 \) -compose Divide_Src -composite -normalize -level 10%,90% -deskew 40% -unsharp 0x5+2+0 out.jpg |
for f in "$@" | |
do | |
TMP=$(mktemp) | |
SIZE_OLD=$(wc -c < "$f") | |
echo "Optimizing '$f' of size $SIZE_OLD" | |
/usr/bin/gs \ | |
-sDEVICE=pdfwrite \ | |
-dCompatibilityLevel=1.4 \ | |
-dPDFSETTINGS=/ebook \ | |
-dNOPAUSE \ |
man time
is a good start - on Linux you get the GNU time version.
Note: some shells (e.g.,bash(1)
) have a built-in time command that provides less functionality than the command described here. To access the real command, you may need to specify its pathname (something like /usr/bin/time
).
A call of /usr/bin/time
gives a lot of information:
/usr/bin/time ls > /dev/null
#!/bin/sh | |
# | |
# For each ref, validate the commit. | |
# | |
# - It disallows deleting branches without a /. | |
# - It disallows non fast-forward on branches without a /. | |
# - It disallows deleting tags without a /. | |
# - It disallows unannotated tags to be pushed. |
#!/usr/bin/env python | |
#http://faq.pygtk.org/index.py?req=show&file=faq23.039.htp | |
try : | |
import gtk.gdk | |
except ImportError : | |
print 'You need to install pygtk' | |
exit(1) |
# Geany's snippets configuration file | |
# | |
# use \n or %newline% for a new line (it will be replaced by the used EOL char(s) - LF, CR/LF, CR). | |
# use \t or %ws% for an indentation step, it will be replaced according to the current document's indent mode. | |
# use \s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\svalue'). | |
# use %key% for all keys defined in the [Special] section. | |
# use %cursor% to define where the cursor should be placed after completion. You can define multiple | |
# %cursor% wildcards and use the "Move cursor in snippet" to jump to the next defined cursor | |
# position in the completed snippet. | |
# You can define a section for each supported filetype to overwrite default settings, the section |
from buildbot.plugins import worker | |
WILY_WORKER_NAMES = ['wily-worker-{}'.format(i) for i in range(3)] | |
XENIAL_WORKER_NAMES = ['xenial-worker-{}'.format(i) for i in range(3)] | |
YAKKETY_WORKER_NAMES = ['yakkety-worker-{}'.format(i) for i in range(3)] | |
WORKERS = [ | |
worker.DockerLatentWorker( | |
worker_name, | |
'SECRET', |
Each existing unread and subsequent new emails after the script is started are | |
passed as Mail objects to "process_email" function.Function header is provided | |
but processing implementation is left to the user. Error logs are currently sent | |
to a rotating log file (in the same directory as the script) and to STDOUT. | |
Instead of polling or checking the server for new emails every now and then, | |
IMAP IDLE check is utilized. Ensure that the IMAP server supports IDLE command | |
and allows at least 5 minutes of idling*** and uses the default ports for this | |
script to work. Tested to work with Gmail and default installations of MS | |
Exchange Server. |