Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
it-tricks [2017/10/17 08:50] ufal [Editors] |
it-tricks [2019/06/07 09:25] vodrazka [IT tricks] added info about TAR archive mounting |
| |
* **vim**: Ondřej Bojar, Ruda Rosa, Milan Straka (C++ completion, Python completion, asynchronous make), ... | * **vim**: Ondřej Bojar, Ruda Rosa, Milan Straka (C++ completion, Python completion, asynchronous make), ... |
| * to start learning vim, run the ''vimtutor'' command |
* **emacs**: ? | * **emacs**: ? |
* **nano**: | * **nano**: |
* **atom**: Martin Popel | * **atom**: Martin Popel |
* **Kate**: Jonáš Vidra | * **Kate**: Jonáš Vidra |
| * **Kile** (offline TeX editing): Anša Vernerová |
* **PyCharm**: Petr Bělohlávek | * **PyCharm**: Petr Bělohlávek |
| |
} | } |
</code> | </code> |
| |
| ==== Colorful manpages ==== |
| Add this to your .bashrc (tested on .zshrc). Colors can be easily customized. |
| |
| <code> |
| man () { |
| env LESS_TERMCAP_mb=$'\E[01;31m' \ |
| LESS_TERMCAP_md=$'\E[01;38;5;74m' \ |
| LESS_TERMCAP_me=$'\E[0m' \ |
| LESS_TERMCAP_se=$'\E[0m' \ |
| LESS_TERMCAP_so=$'\E[38;5;246m' \ |
| LESS_TERMCAP_ue=$'\E[0m' \ |
| LESS_TERMCAP_us=$'\E[04;38;5;146m' \ |
| man "$@" |
| } |
| </code> |
| |
| |
===== Git ===== | ===== Git ===== |
* [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]] shows e.g. the current branch and status. Martin Popel prefers to configure it (in bashrc) with | * [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]] shows e.g. the current branch and status. Martin Popel prefers to configure it (in bashrc) with |
* read https://guides.github.com/, understand [[https://guides.github.com/introduction/flow/|GitHub flow]], check [[https://services.github.com/on-demand/resources/learning-path/|GitHub training]] | * read https://guides.github.com/, understand [[https://guides.github.com/introduction/flow/|GitHub flow]], check [[https://services.github.com/on-demand/resources/learning-path/|GitHub training]] |
* learn [[https://help.github.com/articles/using-keyboard-shortcuts/|GitHub keyboard shortcuts]], esp. "y" for permalink to a given line (line range) in source codes | * learn [[https://help.github.com/articles/using-keyboard-shortcuts/|GitHub keyboard shortcuts]], esp. "y" for permalink to a given line (line range) in source codes |
| |
| |
| ===== Plots, vector graphic ===== |
| * [[http://www.gnuplot.info/|gnuplot]] |
| * [[https://seaborn.pydata.org/|seaborn]] based on matplotlib (Python) |
| * [[https://inkscape.org/en/|inkscape]] manually draw vector graphic (or poster) |
| * [[https://en.wikibooks.org/wiki/LaTeX/PGF/TikZ|TikZ]] great for LaTeX/Beamer, offers many "plugins" |
| * [[http://pgfplots.sourceforge.net/|pgfplots]] |
| * [[http://mirrors.ctan.org/graphics/pgf/contrib/tikz-dependency/tikz-dependency-doc.pdf|tikz-dependency]] dependency trees (in one line) |
| * [[http://mirrors.ctan.org/graphics/pgf/contrib/tikz-qtree/tikz-qtree-manual.pdf|tikz-qtree]] classical trees (constituency, but with some hacks even dependency) |
| |
| ===== LaTeX, pdf ===== |
| * see also [[tex::triky]] |
| * [[http://mg.readthedocs.io/latexmk.html|latexmk]] can be used with ''-pdf -pvc'', so whenever you save a ''tex'' file, the corresponding ''pdf'' will be regenerated (and your pdf viewer will refresh). Other useful options are ''-interaction=nonstopmode -synctex=1'', see e.g. [[https://tex.stackexchange.com/questions/118489/what-exactly-is-synctex|synctex]] |
| * [[https://www.pdflabs.com/docs/pdftk-cli-examples/|pdftk]] for merging and splitting pdf files (and much more) from the command line |
| * use [[https://tex.stackexchange.com/questions/23104/using-and-interpreting-pdffonts|pdffonts]] to check if all fonts in your pdf are //embedded// (only the used subset). |
| * <code>gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=CompressedWithEmbeddedFonts.pdf Original.pdf</code> |
| * http://ufal.mff.cuni.cz/~popel/latex.pdf other hints (mostly for newbies) in Czech |
| * [[https://en.wikibooks.org/wiki/LaTeX/Presentations#The_Beamer_package|Beamer]] is a LaTeX package for creating presentations. |
| * You can use it with [[https://pdfpc.github.io/|pdfpc]] to show slides on the overhead projector while reading your notes on your laptop's screen. Create the dual-screen PDF with ''\usepackage{pgfpages} \setbeameroption{show notes} \setbeameroption{show notes on second screen=left}'' and add notes using ''\note{Hello!}''. Then display your presentation with ''pdfpc --notes=left presentation.pdf''. |
| |
| ===== TAR archive mounting ===== |
| If you work with data consisting of many small files, you **should** store them in tar archives to save inodes. There is a way to mount a tar archive to a specific directory in the simmilar way you mount ISO image. You can use the following wrapper script to //mount// ARCHIVE to DIRECTORY: |
| |
| /opt/bin/tarmount -a ARCHIVE DIRECTORY |
| |
| and //umount// when you finish your work: |
| |
| /opt/bin/tarmount DIRECTORY |
| |
| You can also use the original tool called [[https://github.com/mxmlnkn/ratarmount | ratarmount]] directly through the link: |
| |
| /opt/bin/tarmounter |
| |
===== Other ===== | ===== Other ===== |
* See [[internal:remote access]], esp. for byobu and mosh. | * See [[internal:remote access]], esp. for byobu and mosh. |
* You **should not turn off** Linux workstations at ÚFAL, unless really needed (or agreed with it@ufal). In that case, try the standard ways, and if they do not work, try Ctrl+Alt+SysRq+[R,E,I,S,U,B] rather than plug out power cable. Mnemonics: "Reboot Even If System Utterly Broken", see http://en.wikipedia.org/wiki/Magic_SysRq_key#Uses | * You **should not turn off** Linux workstations at ÚFAL, unless really needed (or agreed with it@ufal). In that case, try the standard ways, and if they do not work, try Ctrl+Alt+SysRq+[R,E,I,S,U,B] rather than plug out power cable. Mnemonics: "Reboot Even If System Utterly Broken", see http://en.wikipedia.org/wiki/Magic_SysRq_key#Uses |
| * SysRq has also other interesting uses: For example, if you manage to launch a program that exhausts all RAM, the system starts swapping and becomes unresponsive, you can recover by invoking the OOM-killer by pressing Ctrl+Alt+SysRq+F. |
* Ondřej Bojar has implemented many [[http://www1.cuni.cz/~obo/textutils/|Text utils]], which he likes to use in his scripts and advises his students to do so as well. | * Ondřej Bojar has implemented many [[http://www1.cuni.cz/~obo/textutils/|Text utils]], which he likes to use in his scripts and advises his students to do so as well. |
* The web versions of the text utils are often older than the ones in ''/home/bojar/tools/vimtext'' and ''/home/bojar/tools/shell'' | * The web versions of the text utils are often older than the ones in ''/home/bojar/tools/vimtext'' and ''/home/bojar/tools/shell'' |
* [[http://mg.readthedocs.io/latexmk.html|latexmk]] can be used with ''-pdf -pvc'', so whenever you save a ''tex'' file, the corresponding ''pdf'' will be regenerated (and your pdf viewer will refresh). Other useful options are ''-interaction=nonstopmode -synctex=1'', see e.g. [[https://tex.stackexchange.com/questions/118489/what-exactly-is-synctex|synctex]] | * [[https://en.wikipedia.org/wiki/Shuf|shuf]] shuffle lines randomly (or in a given order with ''--random-source'') |
* [[https://www.pdflabs.com/docs/pdftk-cli-examples/|pdftk]] for merging and splitting pdf files (and much more) from the command line | |
| |