Open source tech

From low tech network
(Difference between revisions)
Jump to: navigation, search
(document viewers and ebooks)
(document and book viewers)
 
(63 intermediate revisions by one user not shown)
Line 1: Line 1:
 
===tech===
 
===tech===
 +
 +
Most of this page is about open source software.  Many of the packages listed are fast and light on system resources but can take time to learn how to use. 
  
 
====linux====
 
====linux====
Line 9: Line 11:
  
 
=====window manager stuff=====
 
=====window manager stuff=====
* [http://openbox.org/ Openbox] very basic window manager - you can install fancy features yourself
+
* [http://openbox.org/ Openbox] very basic window manager - you can install additional features yourself, making it very customisable but not working well straight out of the box.  You will probably need to install tools for power mangement, networking, managing displays, etc.
 
* [http://urukrama.wordpress.com/2008/07/22/my-openbox-keybindings/ urukrama's Openbox keybindings]
 
* [http://urukrama.wordpress.com/2008/07/22/my-openbox-keybindings/ urukrama's Openbox keybindings]
* [http://awesome.naquadah.org/ awesome] tiling window manager
+
* [http://awesome.naquadah.org/ awesome] tiling window manager - meaning windows are arranged with the keyboard into tiles.  Good for if you dont like to use the mouse and also good for making the most of display space.
 
* [https://wiki.archlinux.org/index.php/Comparison_of_Tiling_Window_Managers Comparison of Tiling Window Managers - ArchWiki]
 
* [https://wiki.archlinux.org/index.php/Comparison_of_Tiling_Window_Managers Comparison of Tiling Window Managers - ArchWiki]
  
=====tools and toys=====
+
=====shell=====
 
* [http://gnometerminator.blogspot.co.uk/ terminator] terminal emulator with many features, including tabs and split windows
 
* [http://gnometerminator.blogspot.co.uk/ terminator] terminal emulator with many features, including tabs and split windows
 
Some useful keys
 
Some useful keys
Line 21: Line 23:
 
  Ctrl+Shift+Right/Left/Up/Down Move parent dragbar.
 
  Ctrl+Shift+Right/Left/Up/Down Move parent dragbar.
 
  Alt+Right/Left/Up/Down Move to different terminals
 
  Alt+Right/Left/Up/Down Move to different terminals
* [http://tmux.sourceforge.net/ tmux] terminal multiplexer
+
* [http://tmux.sourceforge.net/ tmux] terminal multiplexer - for mouse free control of terminal windows
* [http://www.midnight-commander.org/ midnight commander] curses based file manager
+
* [http://www.commandlinefu.com commandlinefu.com]
 +
* [[File:wizard.gif]][http://zsh.sourceforge.net/ zsh] the zsh shell.  an alternative to bash with some interesting features. [http://strcat.de/zsh/ some examples of using zsh]
 +
with zsh, instead of cd you can use z with part of the name of the path you want to move to, favouring recently and frequently used paths. 
 +
another useful one is being ables to type ls **/*.txt to find all txt files deeper in the directory structure.
 +
 
 +
* [http://grml.org/zsh/zsh-lovers.html zsh-lovers man page]
 +
* [https://github.com/sorin-ionescu/prezto pretzo] a configuration framework for zsh
 +
* [http://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html 30 handy bash aliases]
 +
 
 +
=====web=====
 +
* [http://www.vimperator.org vimperator] vi style control of firefox/iceweasel web browser.  So you can control the web browser without using the mouse.
 +
* [http://surfraw.alioth.debian.org/ Surfraw] Shell Users' Revolutionary Front Rage Against the Web - open websites from the commandline
 +
You can <code>alias sr="surfraw"</code> and do <code>sr wikipedia chard</code> to jump to wikipedia article about chard.  See the [http://surfraw.alioth.debian.org/#elvilist list of elvi] (website search scripts for surfraw).
 +
 
 +
=====tools, toys, reference=====
 
* [http://conky.sourceforge.net/ conky] system monitor
 
* [http://conky.sourceforge.net/ conky] system monitor
* [http://www.vimperator.org vimperator] vi style control of firefox/iceweasel web browserSo you can control the web browser without using the mouse.  
+
* [https://github.com/skwp/dotfiles yadr] yet another dotfile repo.  a bundle of configurations for vim, zsh, ruby and gitThe idea is that rather than spending a lot of time configuring software, a collabourative effort is made to bring together sane configurations and plugins etc.
 
* [http://www.a-a-p.org/ aap] makes it easy to download, build and install software
 
* [http://www.a-a-p.org/ aap] makes it easy to download, build and install software
 
* [http://www.calmar.ws/ calmar.ws] tips and info on linux,vim, vimperator, awesome, other stuff
 
* [http://www.calmar.ws/ calmar.ws] tips and info on linux,vim, vimperator, awesome, other stuff
 
* [http://www.refcards.com/ refcards.com] free quick reference cards
 
* [http://www.refcards.com/ refcards.com] free quick reference cards
 
* [http://fcron.free.fr fcron.free.fr] apparently good for running cron jobs on a system not always switched on.
 
* [http://fcron.free.fr fcron.free.fr] apparently good for running cron jobs on a system not always switched on.
* [http://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html 30 handy bash aliases]
+
* [http://openvz.org/Main_Page OpenVZ] container based vitualisation for linux.
* [https://wiki.gnome.org/Apps/Baobab Baobab] gnome disk usage analyser - visual representation of disk usage
+
  
=====vi text editor=====
+
=====vim text editor=====
 +
Learning vi or vim takes a while.  But if you edit a lot of text files it is worth learning.  The keybindings in vim are used in a lot of other programs, and vim is installed on a lot of different systems which makes it a very useful thing to know, even if you just know the very basics.
 
* [http://www.lagmonster.org/docs/vi.html vi cheat sheet]
 
* [http://www.lagmonster.org/docs/vi.html vi cheat sheet]
 
* [http://zzapper.co.uk/vimtips.html vim tips]
 
* [http://zzapper.co.uk/vimtips.html vim tips]
 
* [http://blog.bigsmoke.us/2009/07/10/vim-mediawiki-editing vim mediawiki editing]
 
* [http://blog.bigsmoke.us/2009/07/10/vim-mediawiki-editing vim mediawiki editing]
  
 +
=====file management=====
 +
* [[File:Ranger.png]][http://ranger.nongnu.org/ ranger] terminal based file manager with vi style keybindings and many features including 'rifle' file opener, previewing, tabs, bookmarks, tagging.  ranger is not a two pane file manager like mc or vifm, but uses 'miller columns' showing the directory hierarchy (similar to mac os 'finder').  The centre column is active, the left column the higher level directory, and the right column shows either a deeper directory or file information or preview.   
 +
* [https://www.midnight-commander.org/ mc] Midnight Commander - 2 pane terminal based file manager (norton commander style)
 +
* [http://vifm.info/ vifm] vi file manager.  Two pane and with vi style keybindings
 +
* [http://roland65.free.fr/xfe/ xfe] X File Explorer - light file manager for x-windows. Can have 2 pane and directory tree.  Some norton commmander style keybindings.
 +
* [https://gcmd.github.io/ gnome commander] File manager for gnome, norton commander style. 
 +
* [http://www.obsession.se/gentoo/ gentoo] Light, fast 2 pane file manager
 +
* [http://ignorantguru.github.io/spacefm/ SpaceFM] multi-panel tabbed file and desktop manager
 +
* [[File:Baobab.jpg]][https://wiki.gnome.org/Apps/Baobab Baobab] gnome disk usage analyser - visual representation of disk usage - great for when you are trying to free up space
 +
* [http://dev.yorhel.nl/ncdu ncdu] - NCurses Disk Usage, a simple, fast program for analysing disk usage.
 +
* [http://fuse.sourceforge.net/sshfs.html sshfs] mount a remote filesystem via ssh
  
=====email software=====
+
=====email=====
 
* [http://www.mutt.org/ mutt] - email program.  Its not for everyone, it takes a lot of configuring but once you have got it right it can work well and save time.
 
* [http://www.mutt.org/ mutt] - email program.  Its not for everyone, it takes a lot of configuring but once you have got it right it can work well and save time.
 
* [http://stevelosh.com/blog/2012/10/the-homely-mutt Steve losh's mutt guide]
 
* [http://stevelosh.com/blog/2012/10/the-homely-mutt Steve losh's mutt guide]
* [http://www.djcbsoftware.nl/code/mu/ mu] (maildir-utils) program for searching email stored in maildir format
+
* [http://www.djcbsoftware.nl/code/mu/ mu] (maildir-utils) program for searching email stored in maildir format.
 +
To index your emails, <code>mu index --maildir=mymail</code>  You can do this for several mail directories, and you may want to set it up as a cron job to periodically index your new emails.  <code>mu find cabbage</code> will show emails about cabbage.  You can also bind <code>mu find</code> to a key in mutt, and have the results stored as a temporary maildir, which can accessed in mutt: (from [http://dev.mutt.org/trac/wiki/UseCases/SearchingMail mutt wiki])
 +
# Mu
 +
# first macro does the search according to user query, second macro jumps to result list
 +
macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find"             
 +
macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results"
 +
       
 
* [http://notmuchmail.org notmuch] program for searching email
 
* [http://notmuchmail.org notmuch] program for searching email
 
* [http://www.lunar-linux.org/mutt-sidebar/ mutt sidebar] patch for mutt with folders listed in a sidebar
 
* [http://www.lunar-linux.org/mutt-sidebar/ mutt sidebar] patch for mutt with folders listed in a sidebar
Line 48: Line 81:
 
* [http://www.cmdln.org/2008/11/07/how-i-tamed-my-mutt/ How I tamed my mutt – cmdln.org (a sysadmin blog)]
 
* [http://www.cmdln.org/2008/11/07/how-i-tamed-my-mutt/ How I tamed my mutt – cmdln.org (a sysadmin blog)]
 
* [http://www.fefe.de/muttfaq/faq.html fefe.da Mutt FAQ]
 
* [http://www.fefe.de/muttfaq/faq.html fefe.da Mutt FAQ]
 +
* [http://www.gnu.org/software/mailman/index.html Mailman] GNU Mailing list manager
 +
 +
======non-commercial email providers======
 +
These email providers are non-commercial groups which take security and privacy seriously.  Please add more
 +
* [https://aktivix.org/ aktivix] (uk)
 +
* [http://www.immerda.ch immerda] (ch)
 +
* [http://www.systemli.org systemli.org] (de)
 +
* [http://mail.riseup.net riseup.net] (us)
 +
* [http://mtmedia.org mtmedia.org] (de)
 +
  
 
=====graphics=====
 
=====graphics=====
Line 53: Line 96:
 
* [http://www.inkscape.org inkscape] gui vector graphics editor (like corel draw)
 
* [http://www.inkscape.org inkscape] gui vector graphics editor (like corel draw)
 
* [http://feh.finalrewind.org/ feh] a fast and light image viewer
 
* [http://feh.finalrewind.org/ feh] a fast and light image viewer
 +
---using feh---
 
  left - previous image
 
  left - previous image
 
  right - next image
 
  right - next image
Line 61: Line 105:
 
  m - menu
 
  m - menu
 
* [http://www.imagemagick.org/ imagemagick] powerfull tools for converting, editing and composing images.  Good for batch image processing.
 
* [http://www.imagemagick.org/ imagemagick] powerfull tools for converting, editing and composing images.  Good for batch image processing.
 +
* [http://www.graphicsmagick.org graphicsmagick] a fork of imagemagick - apparently more efficient.
 +
* [http://gmic.eu/ G'MIC] GREYC's Magic for Image Computing - an image processing framework.  Commandline tools, Gimp plugin and C++ library.
  
=====document viewers and ebooks=====
+
=====document and book viewers=====
 
* [http://www.mupdf.com/ MuPDF] - a fast, lightweight pdf viewer with some vi style keybindings.
 
* [http://www.mupdf.com/ MuPDF] - a fast, lightweight pdf viewer with some vi style keybindings.
 +
  f = toggle fullscreen mode
 +
  W, H = zoom page to exactly fit width or height of window
 +
  <, > = skip back or forwards 10 pages
 
* [http://naihe2010.github.io/apvlv/ apvlv] - another pdf viewer, vi style.
 
* [http://naihe2010.github.io/apvlv/ apvlv] - another pdf viewer, vi style.
 
* [http://calibre-ebook.com/ calibre] - ebook library manager
 
* [http://calibre-ebook.com/ calibre] - ebook library manager
 
* [http://fbreader.org/ FBReader] reader for epub etc
 
* [http://fbreader.org/ FBReader] reader for epub etc
  
 
+
=====electronic books=====
 +
* [http://gen.lib.rus.ec gen.lib.rus.ec] library genesis.  Huge book collection.  Particularly a lot of science type stuff.  Based in russia, with many mirror sites, it is also possible to set up your own mirror or offline repository, the SQL database dump can be downloaded.  Some ISPs are beginning to block library genesis, which means you need to find a mirror which is not blocked, or access it through TOR or a VPN. 
 +
* [https://www.gutenberg.org/ Project Gutenberg] One of the oldest free ebook collections on the net. 46,000 titles. 
 +
* [https://archive.org/ internet archive] also hosts many books.
 +
* [http://clockwise3rldkgu.onion/ http://clockwise3rldkgu.onion/] clockwise libraries - a good ebook library online available through TOR. 
 +
* [http://resrc.io/ resrc.io] list of free programming language resources
 +
* [http://www.diybookscanner.org/ DIY Book Scanning] a community devoted to DIY/low cost book scanning hardware and software
 +
* [http://en.wikipedia.org/wiki/Book_scanning Book scanning wikipedia article]
 
* [https://openlibrary.org/ openlibrary.org] ebooks
 
* [https://openlibrary.org/ openlibrary.org] ebooks
* [https://www.gutenberg.org/ Project Gutenberg] one of the oldest free ebook collections on the net. 46,000 titles. 
 
* [https://archive.org/ internet archive] also hosts many books .
 
* [http://resrc.io/ resrc.io] list of free programming language resources
 
  
 
=====backup/archiving=====
 
=====backup/archiving=====
Line 82: Line 135:
 
   -n  =dry run (dont actually do it, just a practice to see what would happen)
 
   -n  =dry run (dont actually do it, just a practice to see what would happen)
 
   --delete  =delete files in the destination that were not in the source
 
   --delete  =delete files in the destination that were not in the source
   -u  (update) skip files that are newer on the reciver.  this can be run in both directions to syncronise
+
   -u  (update) skip files that are newer on the reciever.  this can be run in both directions to syncronise
 
* [http://www.opbyte.it/grsync/ Grsync] - rsync GUI interface frontend for Linux
 
* [http://www.opbyte.it/grsync/ Grsync] - rsync GUI interface frontend for Linux
 
* [http://www.cis.upenn.edu/~bcpierce/unison/ unison] file syncroniser.  Unlike rsync, unison ensures both filesystems have the newest version of a file.  [http://www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-debian-squeeze tutorial on setting up unison]
 
* [http://www.cis.upenn.edu/~bcpierce/unison/ unison] file syncroniser.  Unlike rsync, unison ensures both filesystems have the newest version of a file.  [http://www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-debian-squeeze tutorial on setting up unison]
Line 96: Line 149:
  
 
  find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d |  xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -f3-100 -d ' ' | tr '\n.' '\t.' | sed 's/\t\t/\n/g' | cut -f2-100 | tr '\t' '\n' | perl -i -pe 's/([ (){}-])/\\$1/g' | perl -i -pe 's/'\''/\\'\''/g' | xargs -pr rm -v
 
  find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d |  xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -f3-100 -d ' ' | tr '\n.' '\t.' | sed 's/\t\t/\n/g' | cut -f2-100 | tr '\t' '\n' | perl -i -pe 's/([ (){}-])/\\$1/g' | perl -i -pe 's/'\''/\\'\''/g' | xargs -pr rm -v
 +
 +
====network attached storage (NAS)====
 +
* [[File:Nas-central.png‎|50px|link=http://www.nas-central.org]][http://www.nas-central.org nas-central.org] wiki about hacking NAS devices.
  
 
====booklet printing on linux====
 
====booklet printing on linux====
Line 121: Line 177:
 
====tools for those who have little or no connection to internet====
 
====tools for those who have little or no connection to internet====
 
* [http://www.kiwix.org kiwix] wikipedia offline reader - read wikipedia when not connected to internet.  The english wikipedia (text only, no images, user pages or discussion pages) compresses to about 8gb!  You will need to download this data in 'zim' format, available as a torrent. [http://www.kiwix.org/wiki/Wikipedia_in_all_languages list of wikipedias]
 
* [http://www.kiwix.org kiwix] wikipedia offline reader - read wikipedia when not connected to internet.  The english wikipedia (text only, no images, user pages or discussion pages) compresses to about 8gb!  You will need to download this data in 'zim' format, available as a torrent. [http://www.kiwix.org/wiki/Wikipedia_in_all_languages list of wikipedias]
* [http://www.openstreetmap.org openstreetmap] collaborative mapping project.  it is also possible to download openstreetmap (even the whole planet)  for offline viewing using a software called [http://www.navit-project.org/ navit] (which i still havent succussfully used), other software projects are Emerillon and Marble.  
+
* [http://www.openstreetmap.org openstreetmap] collaborative mapping project.  it is also possible to download openstreetmap (even the whole planet)  for offline viewing using a software called [http://www.navit-project.org/ navit] (which i still havent succussfully used), other software projects are Gosmore, Emerillon and Marble. It seems that rendering map tiles from a downloaded map takes a lot of computing and rendering software tends to be designed for servers.  I have not found downloadable pre-rendered tiles for easy, fast offline viewing.  Any ideas?  I would be great to have quickly accessible offline maps. 
 
* [http://offlineimap.org OfflineIMAP] software for syncronising imap mailboxes.  It is useful for unreliable or slow internet connections or when you want to read email offline.
 
* [http://offlineimap.org OfflineIMAP] software for syncronising imap mailboxes.  It is useful for unreliable or slow internet connections or when you want to read email offline.
 
* [http://hitchwiki.org hitchwiki.org] can also be downloaded to view offline [http://hitchwiki.org/en/Hitchwiki:While_offline hitchwiki while offline].  The database is downloaded in XML format which can be viewed with various kinds of dictionary viewing software.
 
* [http://hitchwiki.org hitchwiki.org] can also be downloaded to view offline [http://hitchwiki.org/en/Hitchwiki:While_offline hitchwiki while offline].  The database is downloaded in XML format which can be viewed with various kinds of dictionary viewing software.
Line 135: Line 191:
  
 
====filesharing====
 
====filesharing====
  * [http://www.torrent411.com torrent411] good torrent tracker (french)
+
* [http://www.torrent411.com torrent411] good torrent tracker (french) requires registration and has advertising but some good stuff on there.  'Télécharger'='Download'
  * [http://www.rutracker.org rutracker.org] good torrent tracker (russian)
+
* [http://www.rutracker.org rutracker.org] good torrent tracker (russian) also requires registration.
  * [http://www.zeropaid.com zeropaid] filesharing news and forum
+
* [http://www.zeropaid.com zeropaid] filesharing news and forum
  * [http://tracker2.postman.i2p tracker2.postman.i2p] i2p torrent tracker (you must be running i2p to access)
+
* [https://www.myanonamouse.net myananamouse.net] torrent site specialising in english ebooks and audiobooks.  it is a private site with a complicated regestration process and many rules, but there is a lot of books on there. 
  * [http://www.imule.i2p imule] p2p sharing software for i2p (also an i2p eepsite)
+
* [http://tracker2.postman.i2p tracker2.postman.i2p] i2p torrent tracker (you must be running i2p to access)
 +
* [http://www.imule.i2p imule] p2p sharing software for i2p (also an i2p eepsite)
 +
* [https://code.google.com/p/eiskaltdc/ eiskaltdc++] and [https://launchpad.net/linuxdcpp linuxDC++] are linux clients for the Direct Connect filesharing protocol. [https://www.uhub.org/ uhub] is hub software (server).
 +
* [http://soulseekqt.net soulseek qt]  music sharing network client software.  [http://nicotine-plus.sourceforge.net/ nicotine] is a soulseek client written in python
  
 
====audio software====
 
====audio software====
 
* [http://www.hydrogenaudio.org hydrogen audio] forums about audio software etc  
 
* [http://www.hydrogenaudio.org hydrogen audio] forums about audio software etc  
* [http://www.rockbox.org/ rockbox] open source firmware for music players.  Very useful if the original firmware wont play certain formats, or has restrictions on copying music off the player.  Can run on Sansa clip.  
+
* [http://www.rockbox.org/ rockbox] open source firmware for music players, eg. ipod.  Very useful if the original firmware wont play certain formats, or has restrictions on copying music off the player.  Can run on Sansa clip.  
* [http://www.musicpd.org/ mpd] music player daemon.  music playing software designed to be run over a network.  If there is a network attached computer connected to an amplifier and running mpd, other computers on the network can control the player by using mpd client software (of which there are many to choose from, i use ncmpcpp).  Can run on raspberry pi.  Client and daemon can also both be running on the same computer.  [http://www.nepherte.be/howto-use-mpd-and-ncmpc-like-a-pro/ mpd and ncmcppp guide]
+
* [[File:mpd.png|50px|frameless|link=http://www.musicpd.org/]][http://www.musicpd.org/ mpd] music player daemon.  music playing software designed to be run over a network.  If there is a network attached computer connected to an amplifier and running mpd, other computers on the network can control the player by using mpd client software (of which there are many to choose from, i use [http://ncmpcpp.rybczak.net ncmpcpp]).  Can run on raspberry pi.  Client and daemon can also both be running on the same computer.  The database is very fast to update and search.  
 
* [http://cmus.sourceforge.net cmus] curses based music player software (linux, console based).  with playlists, play queue, filtering, vi style search and command mode, dynamic keybinding.   
 
* [http://cmus.sourceforge.net cmus] curses based music player software (linux, console based).  with playlists, play queue, filtering, vi style search and command mode, dynamic keybinding.   
 
* [http://moc.daper.net/ moc] another, simpler, curses based player.  moc has two panels, with a similar look to midnight commander.  On the left panel is a file browser and the right is a playlist.   
 
* [http://moc.daper.net/ moc] another, simpler, curses based player.  moc has two panels, with a similar look to midnight commander.  On the left panel is a file browser and the right is a playlist.   
Line 150: Line 209:
 
* [http://deadbeef.sourceforge.net/ DeaDBeeF] GUI music player.  Lightweight, extendable with plugins, and has tabbed playlists and a design editor similar to [http://www.foobar2000.org/ foobar2000] (a very good windows music player).
 
* [http://deadbeef.sourceforge.net/ DeaDBeeF] GUI music player.  Lightweight, extendable with plugins, and has tabbed playlists and a design editor similar to [http://www.foobar2000.org/ foobar2000] (a very good windows music player).
 
* [http://beets.radbox.org/ beets] music collection organising tool.  useful for tagging and organising a large collection.  
 
* [http://beets.radbox.org/ beets] music collection organising tool.  useful for tagging and organising a large collection.  
 +
* [https://gmusicbrowser.org/ gmusicbrowser] jukebox software designed for a large music collection
 
* [http://lmms.sourceforge.net/ Linux multimedia studio (LMMS)] free music production software, with VST compatibility.
 
* [http://lmms.sourceforge.net/ Linux multimedia studio (LMMS)] free music production software, with VST compatibility.
 
* [http://sox.sourceforge.net sox] command line sound tool.  can be used as simple synthesiser, and to convert audio formats.
 
* [http://sox.sourceforge.net sox] command line sound tool.  can be used as simple synthesiser, and to convert audio formats.
 
* [http://mumble.sourceforge.net/ Mumble] voice chat software.  Mumble was originally developed for chat whilst gaming and is now also popular for conferencing etc.   
 
* [http://mumble.sourceforge.net/ Mumble] voice chat software.  Mumble was originally developed for chat whilst gaming and is now also popular for conferencing etc.   
* [http://www.mixxx.org/ Mixxx] Open source DJ software
+
* [http://audacity.sourceforge.net/ audacity] free audio editor and recorder.
* [http://xwax.org/ xwax: Digital vinyl on Linux] Open source software for DJing using time-coded vinyl (like Serato scratch)
+
* [http://www.mixxx.org/ Mixxx] Open source DJ software.  For monitoring (listening to the next track to be played on the headphones) it is best to have a soundcard with multiple outputs.  Many soundcards have surround sound, meaning you can use the 'front' channels for output and the 'rear' channels for monitoring.  A cheaper way to do it would be to use two soundcards, for example your computer's on-board card for main output and a cheap USB card for monitoring.  An even cheaper way might be to use the left channel for ouput and the right channel for monitoring.  Mixxx also works with various types of midi hardware, so you can control pitch, cueing, equalisers and other stuff with real twiddley knobs and sliders. 
 +
* [http://xwax.org/ xwax: Digital vinyl on Linux] Open source software for DJing using time-coded vinyl (like Serato scratch). To control the playback of a digital track using a record player.  xwax can work together with Mixxx.
 +
* [http://www.tweakheadz.com tweakheadz] has guides on making music with software and hardware
 +
 
 +
* [https://github.com/np1/mps-youtube mps-youtube] terminal based youtube player and downloader. very good for finding and downloading music fast, without the clutter of the youtube site.
 +
* [http://ccmixter.org/ ccmixter.org] online community for musicians, hosting a lot of creative commons lisenced audio.
 +
* [http://soulseekqt.net soulseek qt]  music sharing network.  [http://nicotine-plus.sourceforge.net/ nicotine] is a soulseek client written in python
 +
 
 
to take 30 random mp3s and put them in a directory (i use this to randomly choose some of my music to put onto my mp3 player):
 
to take 30 random mp3s and put them in a directory (i use this to randomly choose some of my music to put onto my mp3 player):
 
  find -name "*.mp3" | sort --random-sort | head -n 30 | xargs -n 1 -i^Cd '\n' cp {} /media/mp3player/randomtunes
 
  find -name "*.mp3" | sort --random-sort | head -n 30 | xargs -n 1 -i^Cd '\n' cp {} /media/mp3player/randomtunes
Line 160: Line 227:
 
====audio hardware====
 
====audio hardware====
 
* [http://www.diyaudio.com diyaudio.com] forums about diy audio hardware projects
 
* [http://www.diyaudio.com diyaudio.com] forums about diy audio hardware projects
 +
* [http://www.tweakheadz.com tweakheadz] has guides on making music with software and hardware
 +
* [http://www.vintagesynth.com vintagesynth.com] online resource for vintage synthesisers and other audio hardware
 
* [http://www.standuino.eu/standuino/project/ Standuino] DIY open source audio hardware  
 
* [http://www.standuino.eu/standuino/project/ Standuino] DIY open source audio hardware  
 
* [http://www.speakerplans.com/ speakerplans.com] designs for speaker enclosures
 
* [http://www.speakerplans.com/ speakerplans.com] designs for speaker enclosures
Line 168: Line 237:
 
   * [http://www.backtrack-linux.org]
 
   * [http://www.backtrack-linux.org]
 
   * [http://www.aircrack-ng.org] -->
 
   * [http://www.aircrack-ng.org] -->
 +
 +
====usenet====
 +
* [http://www.tin.org/ tin] text-based usenet newsreader software
 +
* [http://www.eternal-september.org eternal september] Free text only usenet provider (registration required)
 +
* [http://www.aioe.org aioe] free text only usenet provider (no registration required)
 +
  
 
====other====
 
====other====
Line 194: Line 269:
 
*  [https://www.johncahill.net/wiki/index.php/Skype_like_conferencing_System skype like conferencing system] software project proposal.  see also ZRTP and SRTP
 
*  [https://www.johncahill.net/wiki/index.php/Skype_like_conferencing_System skype like conferencing system] software project proposal.  see also ZRTP and SRTP
 
* [http://sdf.org sdf.org] sdf public access unix system
 
* [http://sdf.org sdf.org] sdf public access unix system
* [http://www.tin.org/ tin] text-based usenet newsreader software
 
* [http://www.eternal-september.org eternal september] Free text only usenet provider (registration required)
 
* [http://www.aioe.org aioe] free text only usenet provider (no registration required)
 
 
* [http://retroshare.sourceforge.net/ retroshare] secure, decentralised communication and filesharing platform
 
* [http://retroshare.sourceforge.net/ retroshare] secure, decentralised communication and filesharing platform
 
* [http://nmap.org/ nmap] network ping scan tool
 
* [http://nmap.org/ nmap] network ping scan tool
 
* [http://meta.wikimedia.org/wiki/Wikidata wikidata] - project to put wikipedia information into a semantic format, linking topics across languages and categories.
 
* [http://meta.wikimedia.org/wiki/Wikidata wikidata] - project to put wikipedia information into a semantic format, linking topics across languages and categories.
 
====non-commercial email providers====
 
please add more
 
* [https://aktivix.org/ aktivix] (uk)
 
* [http://www.immerda.ch immerda] (ch)
 
* [http://www.systemli.org systemli.org] (de)
 
* [http://mail.riseup.net riseup.net] (us)
 
* [http://mtmedia.org mtmedia.org] (de)
 

Latest revision as of 21:44, 11 August 2015

Contents

tech

Most of this page is about open source software. Many of the packages listed are fast and light on system resources but can take time to learn how to use.

linux

window manager stuff
  • Openbox very basic window manager - you can install additional features yourself, making it very customisable but not working well straight out of the box. You will probably need to install tools for power mangement, networking, managing displays, etc.
  • urukrama's Openbox keybindings
  • awesome tiling window manager - meaning windows are arranged with the keyboard into tiles. Good for if you dont like to use the mouse and also good for making the most of display space.
  • Comparison of Tiling Window Managers - ArchWiki
shell
  • terminator terminal emulator with many features, including tabs and split windows

Some useful keys

Ctrl+Shift+O Split terminals Horizontally.
Ctrl+Shift+E Split terminals Vertically.
Ctrl+Shift+Right/Left/Up/Down Move parent dragbar.
Alt+Right/Left/Up/Down Move to different terminals

with zsh, instead of cd you can use z with part of the name of the path you want to move to, favouring recently and frequently used paths. another useful one is being ables to type ls **/*.txt to find all txt files deeper in the directory structure.

web
  • vimperator vi style control of firefox/iceweasel web browser. So you can control the web browser without using the mouse.
  • Surfraw Shell Users' Revolutionary Front Rage Against the Web - open websites from the commandline

You can alias sr="surfraw" and do sr wikipedia chard to jump to wikipedia article about chard. See the list of elvi (website search scripts for surfraw).

tools, toys, reference
  • conky system monitor
  • yadr yet another dotfile repo. a bundle of configurations for vim, zsh, ruby and git. The idea is that rather than spending a lot of time configuring software, a collabourative effort is made to bring together sane configurations and plugins etc.
  • aap makes it easy to download, build and install software
  • calmar.ws tips and info on linux,vim, vimperator, awesome, other stuff
  • refcards.com free quick reference cards
  • fcron.free.fr apparently good for running cron jobs on a system not always switched on.
  • OpenVZ container based vitualisation for linux.
vim text editor

Learning vi or vim takes a while. But if you edit a lot of text files it is worth learning. The keybindings in vim are used in a lot of other programs, and vim is installed on a lot of different systems which makes it a very useful thing to know, even if you just know the very basics.

file management
  • Ranger.pngranger terminal based file manager with vi style keybindings and many features including 'rifle' file opener, previewing, tabs, bookmarks, tagging. ranger is not a two pane file manager like mc or vifm, but uses 'miller columns' showing the directory hierarchy (similar to mac os 'finder'). The centre column is active, the left column the higher level directory, and the right column shows either a deeper directory or file information or preview.
  • mc Midnight Commander - 2 pane terminal based file manager (norton commander style)
  • vifm vi file manager. Two pane and with vi style keybindings
  • xfe X File Explorer - light file manager for x-windows. Can have 2 pane and directory tree. Some norton commmander style keybindings.
  • gnome commander File manager for gnome, norton commander style.
  • gentoo Light, fast 2 pane file manager
  • SpaceFM multi-panel tabbed file and desktop manager
  • Baobab.jpgBaobab gnome disk usage analyser - visual representation of disk usage - great for when you are trying to free up space
  • ncdu - NCurses Disk Usage, a simple, fast program for analysing disk usage.
  • sshfs mount a remote filesystem via ssh
email
  • mutt - email program. Its not for everyone, it takes a lot of configuring but once you have got it right it can work well and save time.
  • Steve losh's mutt guide
  • mu (maildir-utils) program for searching email stored in maildir format.

To index your emails, mu index --maildir=mymail You can do this for several mail directories, and you may want to set it up as a cron job to periodically index your new emails. mu find cabbage will show emails about cabbage. You can also bind mu find to a key in mutt, and have the results stored as a temporary maildir, which can accessed in mutt: (from mutt wiki)

# Mu
# first macro does the search according to user query, second macro jumps to result list
macro index <F8> "<shell-escape>rm -rf ~/.mu/results; mu-find -o l -l ~/.mu/results " "mu-find"              
macro index <F9> "<change-folder-readonly>~/.mu/results\n" "display mu-find results"
        
non-commercial email providers

These email providers are non-commercial groups which take security and privacy seriously. Please add more


graphics
  • gimp gui graphics editor (like photoshop)
  • inkscape gui vector graphics editor (like corel draw)
  • feh a fast and light image viewer
---using feh---
left - previous image
right - next image
up/down - zoom
/ - zoom to fit window 
d - toggle display filenames
Ctrl + delete - delete file
m - menu
  • imagemagick powerfull tools for converting, editing and composing images. Good for batch image processing.
  • graphicsmagick a fork of imagemagick - apparently more efficient.
  • G'MIC GREYC's Magic for Image Computing - an image processing framework. Commandline tools, Gimp plugin and C++ library.
document and book viewers
  • MuPDF - a fast, lightweight pdf viewer with some vi style keybindings.
 f = toggle fullscreen mode
 W, H = zoom page to exactly fit width or height of window
 <, > = skip back or forwards 10 pages
  • apvlv - another pdf viewer, vi style.
  • calibre - ebook library manager
  • FBReader reader for epub etc
electronic books
  • gen.lib.rus.ec library genesis. Huge book collection. Particularly a lot of science type stuff. Based in russia, with many mirror sites, it is also possible to set up your own mirror or offline repository, the SQL database dump can be downloaded. Some ISPs are beginning to block library genesis, which means you need to find a mirror which is not blocked, or access it through TOR or a VPN.
  • Project Gutenberg One of the oldest free ebook collections on the net. 46,000 titles.
  • internet archive also hosts many books.
  • http://clockwise3rldkgu.onion/ clockwise libraries - a good ebook library online available through TOR.
  • resrc.io list of free programming language resources
  • DIY Book Scanning a community devoted to DIY/low cost book scanning hardware and software
  • Book scanning wikipedia article
  • openlibrary.org ebooks
backup/archiving
  • rsync - a powerful backup/file copying tool. rsync only copies differences in the files, to minimise the amount of data being transfered. This means it responds well to transfers which are interupted and restarted. Commonly used options:
 rsync dir1/ dir2  =note the slash to put contents of dir1 into dir2 (often what u want)
 -a  =archive mode- recursive, preserve times, permissions etc (often what u want)
 -v  =verbose
 --progress  =show progress
 -n  =dry run (dont actually do it, just a practice to see what would happen)
 --delete  =delete files in the destination that were not in the source
 -u  (update) skip files that are newer on the reciever.  this can be run in both directions to syncronise
diff -qr source destination     # q = brief r=recursive 
comm -3 <(ls ~/dir-new/) <(ls ~/dir)        # compare two directories

Find duplicate files:

find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

Find and delete duplicate files:

find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d |  xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate | cut -f3-100 -d ' ' | tr '\n.' '\t.' | sed 's/\t\t/\n/g' | cut -f2-100 | tr '\t' '\n' | perl -i -pe 's/([ (){}-])/\\$1/g' | perl -i -pe 's/'\/\\'\/g' | xargs -pr rm -v

network attached storage (NAS)

booklet printing on linux

some tools, for example, for reordering pages of an a4 documents to make an a5 booklet or zine.

pdf2ps                                              # convert a pdf document to postscript      
psbook in.ps out.ps                                 # reorder the pages to make a book,  
psnup -s1 -2 book.ps booklet.ps                     # shrink to 2 pages on each A4 side
ps2pdf in.ps out.pdf                                # convert it back to a pdf

If you dont have a duplex printer probably you want to print the even pages, put them in the paper drawer (the right way around! very confusing!) then print the odd pages

lpr -P myprinter -o page-set=even -#1 infile.pdf    # print the even pages  
lpr -P myprinter -o page-set=odd -#1 infile.pdf     # print the odd pages

encryption

Most simple usage - gpg encryption of a single file:

 gpg -c file   

This prompts for a password and gives file.gpg. To decypt:

 gpg -d file.gpg > file

tools for those who have little or no connection to internet

  • kiwix wikipedia offline reader - read wikipedia when not connected to internet. The english wikipedia (text only, no images, user pages or discussion pages) compresses to about 8gb! You will need to download this data in 'zim' format, available as a torrent. list of wikipedias
  • openstreetmap collaborative mapping project. it is also possible to download openstreetmap (even the whole planet) for offline viewing using a software called navit (which i still havent succussfully used), other software projects are Gosmore, Emerillon and Marble. It seems that rendering map tiles from a downloaded map takes a lot of computing and rendering software tends to be designed for servers. I have not found downloadable pre-rendered tiles for easy, fast offline viewing. Any ideas? I would be great to have quickly accessible offline maps.
  • OfflineIMAP software for syncronising imap mailboxes. It is useful for unreliable or slow internet connections or when you want to read email offline.
  • hitchwiki.org can also be downloaded to view offline hitchwiki while offline. The database is downloaded in XML format which can be viewed with various kinds of dictionary viewing software.
offline dictionary for linux

goldendict which can work with freedict dictionaries. To add, for example, scottish gaelic to german dictionary (on debian):

apt-get install dict-freedict-gla-deu 

for a list of all dictionaries (on debian):

apt-cache search dict-freedict 
  • Ding A very good German-English dictionary lookup program

filesharing

  • torrent411 good torrent tracker (french) requires registration and has advertising but some good stuff on there. 'Télécharger'='Download'
  • rutracker.org good torrent tracker (russian) also requires registration.
  • zeropaid filesharing news and forum
  • myananamouse.net torrent site specialising in english ebooks and audiobooks. it is a private site with a complicated regestration process and many rules, but there is a lot of books on there.
  • tracker2.postman.i2p i2p torrent tracker (you must be running i2p to access)
  • imule p2p sharing software for i2p (also an i2p eepsite)
  • eiskaltdc++ and linuxDC++ are linux clients for the Direct Connect filesharing protocol. uhub is hub software (server).
  • soulseek qt music sharing network client software. nicotine is a soulseek client written in python

audio software

  • hydrogen audio forums about audio software etc
  • rockbox open source firmware for music players, eg. ipod. Very useful if the original firmware wont play certain formats, or has restrictions on copying music off the player. Can run on Sansa clip.
  • Mpd.pngmpd music player daemon. music playing software designed to be run over a network. If there is a network attached computer connected to an amplifier and running mpd, other computers on the network can control the player by using mpd client software (of which there are many to choose from, i use ncmpcpp). Can run on raspberry pi. Client and daemon can also both be running on the same computer. The database is very fast to update and search.
  • cmus curses based music player software (linux, console based). with playlists, play queue, filtering, vi style search and command mode, dynamic keybinding.
  • moc another, simpler, curses based player. moc has two panels, with a similar look to midnight commander. On the left panel is a file browser and the right is a playlist.
  • randomplay even simpler console player. plays random tracks.
  • DeaDBeeF GUI music player. Lightweight, extendable with plugins, and has tabbed playlists and a design editor similar to foobar2000 (a very good windows music player).
  • beets music collection organising tool. useful for tagging and organising a large collection.
  • gmusicbrowser jukebox software designed for a large music collection
  • Linux multimedia studio (LMMS) free music production software, with VST compatibility.
  • sox command line sound tool. can be used as simple synthesiser, and to convert audio formats.
  • Mumble voice chat software. Mumble was originally developed for chat whilst gaming and is now also popular for conferencing etc.
  • audacity free audio editor and recorder.
  • Mixxx Open source DJ software. For monitoring (listening to the next track to be played on the headphones) it is best to have a soundcard with multiple outputs. Many soundcards have surround sound, meaning you can use the 'front' channels for output and the 'rear' channels for monitoring. A cheaper way to do it would be to use two soundcards, for example your computer's on-board card for main output and a cheap USB card for monitoring. An even cheaper way might be to use the left channel for ouput and the right channel for monitoring. Mixxx also works with various types of midi hardware, so you can control pitch, cueing, equalisers and other stuff with real twiddley knobs and sliders.
  • xwax: Digital vinyl on Linux Open source software for DJing using time-coded vinyl (like Serato scratch). To control the playback of a digital track using a record player. xwax can work together with Mixxx.
  • tweakheadz has guides on making music with software and hardware
  • mps-youtube terminal based youtube player and downloader. very good for finding and downloading music fast, without the clutter of the youtube site.
  • ccmixter.org online community for musicians, hosting a lot of creative commons lisenced audio.
  • soulseek qt music sharing network. nicotine is a soulseek client written in python

to take 30 random mp3s and put them in a directory (i use this to randomly choose some of my music to put onto my mp3 player):

find -name "*.mp3" | sort --random-sort | head -n 30 | xargs -n 1 -i^Cd '\n' cp {} /media/mp3player/randomtunes

audio hardware

  • diyaudio.com forums about diy audio hardware projects
  • tweakheadz has guides on making music with software and hardware
  • vintagesynth.com online resource for vintage synthesisers and other audio hardware
  • Standuino DIY open source audio hardware
  • speakerplans.com designs for speaker enclosures
  • horn response - speaker enclosure design software. can use with abaca? audio abacus


usenet

  • tin text-based usenet newsreader software
  • eternal september Free text only usenet provider (registration required)
  • aioe free text only usenet provider (no registration required)


other

Many of these links need to be (or already have been) put elsewhere on the wiki

Personal tools