Main Page
From PaskvilWiki
Welcome to the PaskvilWiki!
The future shape of this wiki is unknown for now, let's hope it'll be something good...
This is partially a private wiki - viewing is allowed to all, but editing is allowed only to registered users.
This is more of a prevention than denial - I don't have time to monitor and moderate edits; - you're more than welcome to request registration, all contributors are very much welcome!
Just write me at josef.at.paskvil.dot.com.
Contents
- 1 References and Tutorials
- 2 Short Notes - Tips and Tricks
- 2.1 4store
- 2.2 Apache
- 2.3 Bash
- 2.4 C/C++
- 2.5 ElasticSearch
- 2.6 ffmpeg
- 2.7 Kyoto Cabinet and Kyoto Tycoon
- 2.8 Linux Administration
- 2.9 MAC OSX
- 2.10 MongoDB
- 2.11 MySQL
- 2.12 PDF
- 2.13 PHP
- 2.14 Python
- 2.15 Security
- 2.16 Subversion/SVN
- 2.17 ViM
- 2.18 Web - HTML, CSS, JS, jQuery, etc.
- 2.19 Other Short Notes
References and Tutorials
Emacs and Slime Reference
Small jQuery Reference
Small jQuery Cheat Sheet
Small SPARQL, RDQL, etc. Cheat Sheet
Short Notes - Tips and Tricks
4store
- setup and installation
- running 4store
- data import
- data import and querying from Python
- Turtle file printer (in Python)
Apache
- Note on serving of local files
- Self-Signed SSL Certificate
- Enable SSL/HTTPS in Apache
- .htaccess and mod_rewrite Tricks
Bash
- Extensions and File Name
- File Test Operators
- Commands and Shortcuts
$ sudo !! - run last command as root
$ !!:gs/foo/bar - run last command, replacing 'foo' with 'bar'
$ ^foo^bar - run last command, replacing 'foo' with 'bar'
$ cp filename{,.bak} - create a .bak copy of file
<Ctrl-x> <Ctrl-e> - open $EDITOR to edit current command line; upon exit, content will be run
$ <space>command - run the command without saving it in history
$ > file.txt - empty a file
<Alt+.> - put last argument on cursor place; repeat to cycle through
$ (cd /tmp && ls) - jump to /tmp, execute ls, and jump back here
$ pushd /tmp .... $ popd - goes to /tmp, remembering current location; at later time, popd will bring you back
$ \command - run command without using aliases
$ rm !(pattern|pattern) - delete files that do not match given patterns
$ find . -mtime +5 -exec rm {} \; - delete all files in this folder that are older than 5 days
<Ctrl-u> ... <Ctrl-y> - Ctrl+u will cut current command, then you can do whatever you need, and Ctrl+y will paste it back
$ date -d @1234567890 - convert unix timestamp to human-readable
- Informations
$ mount | column -t - pretty-print mount table $ cat /etc/issue - display distro name
- Small Tricks
$ mount -t tmpfs tmpfs /mnt -o size=1024m - mount temporary RAM partition (fast access, non-persistent!)
$ disown -a && exit - exit the shell while keeping all running processes alive
$ ssh -t remote_host screen -r - directly connect to a remote screen process
$ for I in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $I | gzip > "$I.sql.gz"; done
- backup all databases into individual files
$ fuser -k filename - kill process that is locking given file
$ readom dev=/dev/scd0 f=/path/to/image.iso - create CD/DVD ISO image
$ mkdir -p a/deep/dir/tree - create nested directories fast
$ mount file.iso /mnt/iso -o loop - mount ISO file as drive /mnt/iso (dir has to preexist)
$ sudo touch /forcefsck - force a file system check on the next reboot
- lsof
$ lsof -nPi - list network connections
$ netstat -tlnp - print all listening ports with PID's (run as root to see all process names)
$ lsof -c gnome-terminal - list files opened by given command
$ lsof +D [folder] - discover all open files in the [folder]
$ lsof -p [pid] - list files opened by given PID
$ lsof -i :8080 - list programs that have port 8080 open ("who to kill" if you get "port already in use")
C/C++
- How to clean up after child thread
- Non-blocking IO using sockets
- Shared Libraries on Linux+GCC
- Singleton
- std::move Semantics
ElasticSearch
- Installation
- What You Get
- Indexing, Routing, etc.
- Deleting
- Getting and Multi-Getting
- Updating
- Search
ffmpeg
- Rip DVD into FLV (or anything else)
- Video File with Still Image and Audio
Kyoto Cabinet and Kyoto Tycoon
- Setup and Install Kyoto Cabinet
- Setup and Install Kyoto Tycoon
- KT's RPC API Reference
Linux Administration
- Reset Compiz to Default Settings
- Enable and Start sendmail
- Installing sendmail
- Sending Emails using sendmail
MAC OSX
- Asynchronous Execution
- NSThread
- performSelectorInBackground
- dispatch_async
- MacPorts
$ sudo port selfupdate $ sudo port upgrade outdated $ sudo port uninstall inactive $ (just once) sudo port install port_cutleaves $ sudo port_cutleaves
MongoDB
Esp. using the PHP PECL driver.
MySQL
- Error 1045: Access denied
- The insert ... on duplicate key update Pitfall
- Merging PDF Files using GhostScript
- Cutting PDF Files using GhostScript
- Converting to PDF using GhostScript
PHP
- Convert Accented Characters to Non-Accented
- Upload a File using cURL
- HTTP Post in Pure PHP (without cURL)
- Prevent Client Disconnect from Killing PHP
- Disconnect Client and Continue Processing
Python
- Timing, and memory, on Linux
Security
- Password Generators
- SSH Access using pubkey's Authentication
- Using RSync together with SSH
Subversion/SVN
- Simple Guide to SVN Client
- Creating a SVN Repository|Creating SVN Repository
- Moving a SVN Repository
- Change Repository URL (Subversion 1.7+)
- Setup a SVN Server on a Shared Hosting with no root Access
- creating and applying patch (the --diff-cmd is necessary in case you set some graphical diff-viewer in ~/.subversion/config):
cd root_of_project svn di --diff-cmd diff > ~/patch.diff cd root_of_other_project patch -p0 -i ~/patch.diff
ViM
- Delete all lines matching a pattern
- Directly type HTML entities
- Reformat a plain text paragraph
$ vim -x filename - open filename for editing, and save it encrypted (will prompt for a key)
:X - set encryption for current file; use ':set key=' to disable encryption
- put "set cm=blowfish" in your .vimrc to enable safer encryption by default
$ vim +10 [file] ; vim +/hello [file] - open [file] at line 10, or at first occurrence of pattern 'hello' in file
:w !sudo tee % - save file via `sudo` (as root)
Web - HTML, CSS, JS, jQuery, etc.
- Multiple Submit Buttons and/or Multiple Forms on Page
- Make 'float' Elements Appear One under Another
- Upload a File via Form
- Override the IE's Problem with width
- Make an Element Fill In All the Remaining Space