From 6f37a7e5238301f96a957cdf0af4f2d3fdd953d0 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Fri, 27 Jan 2017 13:27:27 -0200 Subject: Move stuff to suckless --- .htaccess | 3 ++ cli.mdwn | 16 -------- static.mdwn | 86 ---------------------------------------- suckless.mdwn | 2 + suckless/cli.mdwn | 16 ++++++++ suckless/sites.mdwn | 86 ++++++++++++++++++++++++++++++++++++++++ suckless/virtual.mdwn | 76 +++++++++++++++++++++++++++++++++++ suckless/virtual/screenshot.png | Bin 0 -> 74886 bytes virtual.mdwn | 76 ----------------------------------- virtual/screenshot.png | Bin 74886 -> 0 bytes 10 files changed, 183 insertions(+), 178 deletions(-) delete mode 100644 cli.mdwn delete mode 100644 static.mdwn create mode 100644 suckless/cli.mdwn create mode 100644 suckless/sites.mdwn create mode 100644 suckless/virtual.mdwn create mode 100644 suckless/virtual/screenshot.png delete mode 100644 virtual.mdwn delete mode 100644 virtual/screenshot.png diff --git a/.htaccess b/.htaccess index 365c3b1..420a258 100644 --- a/.htaccess +++ b/.htaccess @@ -6,5 +6,8 @@ RewriteRule ^campusparty$ /events/2014/campusparty/ [R] RewriteRule ^cryptorave$ /events/2014/cryptorave/ [R] RewriteRule ^fisl$ /events/2015/fisl/ [R] + RewriteRule ^static$ /suckless/sites/ [R] + RewriteRule ^cli$ /suckless/cli/ [R] + RewriteRule ^virtual$ /suckless/virtual/ [R] RewriteRule ^organizacao$ https://templates.fluxo.info/organizacao [R] diff --git a/cli.mdwn b/cli.mdwn deleted file mode 100644 index 8dd9c01..0000000 --- a/cli.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta title="The New Command Line Manifesto"]] - -Idea: let all new commands to support also machine-readable -formats as inputs and outputs. - -This, along with UNIX pipes and daemon interfacing, brings CLI -to a new era of services that are: - -* Still based on small programs that do one thing but one thing right. -* But also are capable of interacting with each other in an uniform way. - -So let them support parameters like `--json` and `--yaml` for it's I/O. - -In other words, with parsers and serializers it's possible to keep an -ecosystem of UNIX microservices interacting with each other using a -consistent API. diff --git a/static.mdwn b/static.mdwn deleted file mode 100644 index fb4469f..0000000 --- a/static.mdwn +++ /dev/null @@ -1,86 +0,0 @@ -[[!meta title="We are the static site generation!"]] - -# Current practice - -Currently [ikiwiki](http://ikiwiki.info) is adopted by the following reasons: - -1. There is a [Debian package](https://packages.debian.org/stable/ikiwiki). -2. It's flexible enough to support both local or remote side static compilation: - * Local compilation by calling the `ikiwiki` command directly. - * Remotelly by using a [git hook](http://ikiwiki.info/rcs/git/). - -When it's said **both** it means that you don't need to choose either of the two options: you can choose or both simultaneously. - -## Static site example - -Here comes the mandadoty "Hello world" example from the statically generated site realm: - - mkdir blog && cd blog - echo "Hello world..." > index.mdwn - ikiwiki --rebuild --exclude www . www - -That's it! You have a generated site sitting at your `www` subfolder which can be copied remotelly using `rsync`. - -## Version control - -It's a good pratice to keep your work under version control: - - git init - echo "/.ikiwiki" > .gitignore - echo "/recentchanges" >> .gitignore - echo "/www" >> .gitignore - git add . - git commit -m "Initial import" - -## Add a bit of sofistication - -* Use [this Makefile](/Makefile) as an starting point to refresh and publish your wiki by simply running `make web`. -* Use a [complete ikiwiki template](https://git.fluxo.info/?p=templates.git;a=tree;f=ikiwiki;h=HEAD) and change to your needs. -* If you're a automation junkie, try the [puppet-ikiwiki](https://git.fluxo.info/puppet-ikiwiki.git) module. - -## Theming - -Currently using [Ikiwiki](http://ikiwiki.info) with [Bootstrap](http://twitter.github.io/bootstrap/): - -* [Templates](https://github.com/tgpfeiffer/ikiwiki-bootstrap-template). -* [Bootswatch](http://bootswatch.com) themes. - -## Deployment - -You can create passwordless SSH keys and use [rrsync](http://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/) ([2](http://wiki.hands.com/howto/passphraseless-ssh/)) to restrict access. Then add an entry into your `~/.ssh/config`: - - Host blog.example.org blog - HostName blog.example.org - User blog - IdentityFile ~/.ssh/blog@blog.example.org - -Now simply run `make web_deploy` with the above mentioned `Makefile` do sync your static site! - -## Ikiwiki references - -* [Ikiwiki](http://ikiwiki.info). -* [Improving Ikiwiki style with Bootstrap](https://ceops.eu/posts/Improving%20Ikiwiki%20style%20with%20Bootstrap/). -* [How to have a nice design for ikiwiki](http://www2.tblein.eu/posts/How_to_have_a_nice_design_for_ikiwiki/). -* [gsliepen/ikistrap: Bootstrap 4 theme for ikiwiki](https://github.com/gsliepen/ikistrap/). - -# Alternatives - -* [The updated big list of static website generators for your site, blog or wiki](https://iwantmyname.com/blog/2014/05/the-updated-big-list-of-static-website-generators-for-your-site-blog-or-wiki). -* [Top Open-Source Static Site Generators - StaticGen](https://www.staticgen.com/). -* [Static Site Generators](https://staticsitegenerators.net/). -* [Static Site Generators at GitHub](https://github.com/skx/static-site-generators). -* [Replacing Jekyll with Pandoc and a Makefile](https://tylercipriani.com/2014/05/13/replace-jekyll-with-pandoc-makefile.html). -* [Brane Dump: Static Comments in Jekyll](http://www.hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html). -* [Hyde](https://github.com/lakshmivyas/hyde/) ([package](https://packages.debian.org/stable/hyde)). -* [Gollum](https://github.com/gollum/gollum). -* [Hugo](https://gohugo.io/). -* [Amber](https://github.com/leapcode/amber). -* [Grav](http://getgrav.org/). -* [Hakyll](http://jaspervdj.be/hakyll/) ([package](https://packages.debian.org/sid/libghc-hakyll-dev)). -* [Jekyll](http://jekyllrb.com/) ([package](https://packages.debian.org/stable/jekyll)). -* [Static site generators for building web sites](https://lwn.net/Articles/541299/). -* [Pelican Static Site Generator, Powered by Python](http://blog.getpelican.com/) ([package](https://packages.debian.org/sid/python-pelican)). -* [Middleman: Hand-crafted frontend development](https://middlemanapp.com/). -* [Juvia: a commenting server similar to Disqus and IntenseDebate](https://github.com/phusion/juvia). -* [gitit](https://github.com/jgm/gitit/tree/master/). -* [Sphinx](http://sphinx-doc.org/) ([package](https://packages.debian.org/stable/python-sphinx)). diff --git a/suckless.mdwn b/suckless.mdwn index c8faeaf..67db097 100644 --- a/suckless.mdwn +++ b/suckless.mdwn @@ -12,6 +12,8 @@ -- fortune(6) +[[!inline pages="page(suckless*)" archive="yes"]] + # Guiding principles * [Software rot - Wikipedia, the free encyclopedia](https://en.wikipedia.org/wiki/Software_rot). diff --git a/suckless/cli.mdwn b/suckless/cli.mdwn new file mode 100644 index 0000000..8dd9c01 --- /dev/null +++ b/suckless/cli.mdwn @@ -0,0 +1,16 @@ +[[!meta title="The New Command Line Manifesto"]] + +Idea: let all new commands to support also machine-readable +formats as inputs and outputs. + +This, along with UNIX pipes and daemon interfacing, brings CLI +to a new era of services that are: + +* Still based on small programs that do one thing but one thing right. +* But also are capable of interacting with each other in an uniform way. + +So let them support parameters like `--json` and `--yaml` for it's I/O. + +In other words, with parsers and serializers it's possible to keep an +ecosystem of UNIX microservices interacting with each other using a +consistent API. diff --git a/suckless/sites.mdwn b/suckless/sites.mdwn new file mode 100644 index 0000000..fb4469f --- /dev/null +++ b/suckless/sites.mdwn @@ -0,0 +1,86 @@ +[[!meta title="We are the static site generation!"]] + +# Current practice + +Currently [ikiwiki](http://ikiwiki.info) is adopted by the following reasons: + +1. There is a [Debian package](https://packages.debian.org/stable/ikiwiki). +2. It's flexible enough to support both local or remote side static compilation: + * Local compilation by calling the `ikiwiki` command directly. + * Remotelly by using a [git hook](http://ikiwiki.info/rcs/git/). + +When it's said **both** it means that you don't need to choose either of the two options: you can choose or both simultaneously. + +## Static site example + +Here comes the mandadoty "Hello world" example from the statically generated site realm: + + mkdir blog && cd blog + echo "Hello world..." > index.mdwn + ikiwiki --rebuild --exclude www . www + +That's it! You have a generated site sitting at your `www` subfolder which can be copied remotelly using `rsync`. + +## Version control + +It's a good pratice to keep your work under version control: + + git init + echo "/.ikiwiki" > .gitignore + echo "/recentchanges" >> .gitignore + echo "/www" >> .gitignore + git add . + git commit -m "Initial import" + +## Add a bit of sofistication + +* Use [this Makefile](/Makefile) as an starting point to refresh and publish your wiki by simply running `make web`. +* Use a [complete ikiwiki template](https://git.fluxo.info/?p=templates.git;a=tree;f=ikiwiki;h=HEAD) and change to your needs. +* If you're a automation junkie, try the [puppet-ikiwiki](https://git.fluxo.info/puppet-ikiwiki.git) module. + +## Theming + +Currently using [Ikiwiki](http://ikiwiki.info) with [Bootstrap](http://twitter.github.io/bootstrap/): + +* [Templates](https://github.com/tgpfeiffer/ikiwiki-bootstrap-template). +* [Bootswatch](http://bootswatch.com) themes. + +## Deployment + +You can create passwordless SSH keys and use [rrsync](http://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/) ([2](http://wiki.hands.com/howto/passphraseless-ssh/)) to restrict access. Then add an entry into your `~/.ssh/config`: + + Host blog.example.org blog + HostName blog.example.org + User blog + IdentityFile ~/.ssh/blog@blog.example.org + +Now simply run `make web_deploy` with the above mentioned `Makefile` do sync your static site! + +## Ikiwiki references + +* [Ikiwiki](http://ikiwiki.info). +* [Improving Ikiwiki style with Bootstrap](https://ceops.eu/posts/Improving%20Ikiwiki%20style%20with%20Bootstrap/). +* [How to have a nice design for ikiwiki](http://www2.tblein.eu/posts/How_to_have_a_nice_design_for_ikiwiki/). +* [gsliepen/ikistrap: Bootstrap 4 theme for ikiwiki](https://github.com/gsliepen/ikistrap/). + +# Alternatives + +* [The updated big list of static website generators for your site, blog or wiki](https://iwantmyname.com/blog/2014/05/the-updated-big-list-of-static-website-generators-for-your-site-blog-or-wiki). +* [Top Open-Source Static Site Generators - StaticGen](https://www.staticgen.com/). +* [Static Site Generators](https://staticsitegenerators.net/). +* [Static Site Generators at GitHub](https://github.com/skx/static-site-generators). +* [Replacing Jekyll with Pandoc and a Makefile](https://tylercipriani.com/2014/05/13/replace-jekyll-with-pandoc-makefile.html). +* [Brane Dump: Static Comments in Jekyll](http://www.hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html). +* [Hyde](https://github.com/lakshmivyas/hyde/) ([package](https://packages.debian.org/stable/hyde)). +* [Gollum](https://github.com/gollum/gollum). +* [Hugo](https://gohugo.io/). +* [Amber](https://github.com/leapcode/amber). +* [Grav](http://getgrav.org/). +* [Hakyll](http://jaspervdj.be/hakyll/) ([package](https://packages.debian.org/sid/libghc-hakyll-dev)). +* [Jekyll](http://jekyllrb.com/) ([package](https://packages.debian.org/stable/jekyll)). +* [Static site generators for building web sites](https://lwn.net/Articles/541299/). +* [Pelican Static Site Generator, Powered by Python](http://blog.getpelican.com/) ([package](https://packages.debian.org/sid/python-pelican)). +* [Middleman: Hand-crafted frontend development](https://middlemanapp.com/). +* [Juvia: a commenting server similar to Disqus and IntenseDebate](https://github.com/phusion/juvia). +* [gitit](https://github.com/jgm/gitit/tree/master/). +* [Sphinx](http://sphinx-doc.org/) ([package](https://packages.debian.org/stable/python-sphinx)). diff --git a/suckless/virtual.mdwn b/suckless/virtual.mdwn new file mode 100644 index 0000000..520bc79 --- /dev/null +++ b/suckless/virtual.mdwn @@ -0,0 +1,76 @@ +[[!meta title="Virtualized GUI environments"]] + +Can't or don't want to use [Qubes OS](https://www.qubes-os.org/)? Here comes a straightforward sollution +that, while not offering the same level of security, is practical enough to be implemented in the confort +of your current FOSS OS! + +A picture +--------- + +Could you spot the difference between the Tor Browser running in the host for the one inside the virtual machine? That's what we want to achieve! + +![Screenshot](screenshot.png) + +First things first +------------------ + +What you can do: + +1. Create a virtual machine image of the operating system of your choice like [this example](https://padrao.fluxo.info/boxes/). +2. Setup basic X11 environment with automatic login and startup programs. +3. Configure your hypervisor to hide icons and additional decorations around the virtual machine. +4. Setup key bindings on your window manager to start/resume and stop/suspend the virtual machine. + +Debian desktop +-------------- + +When using a debian virtual machine as a virtual desktop, consider the following: + + apt-get install lightdm ratpoison + +Make sure to configure `/etc/lightdm/lightdm.conf` with something like + + autologin-user=vagrant + autologin-user-timeout=0 + +If using VirtualBox, you might also want to try [virtualbox-guest-x11](https://packages.debian.org/stable/virtualbox-guest-x11). + +Features +-------- + +* Good security through isolation. +* Improved start/stop of your application by using virtual machine suspend/resume. +* Minor performance penalties while running the virtual machine. + +Limitations +----------- + +* Memory and disk consumption. +* Clipboard might still be available to the virtual environment, see [this discussion](http://theinvisiblethings.blogspot.com.br/2011/04/linux-security-circus-on-gui-isolation.html). + +Future +------ + +* This should be better documented! +* Automated expendable snapshots for one-time-use virtual machines. +* Automated recipes (puppet/ansible). +* Vagrant integration for fast provisioning of golden images. +* Alternatives to the VirtualBox hypervisor. + +References +---------- + +Applications: + +* [vbox and kvmx scripts](https://git.fluxo.info/vbox). +* [plymouth - Debian Wiki](https://wiki.debian.org/plymouth). +* [SPICE Project](http://www.spice-space.org/). + +Other implementations: + +* [Marco Carnut: Ambiente "Auto-Limpante" via Virtualização Ultra-Leve Descartável - Tempest Blog](http://blog.tempest.com.br/marco-carnut/ambiente-auto-limpante-via-virtualizacao-ultra-leve-descartavel.html). +* [Subgraph OS and Mail](https://subgraph.com/sgos/index.en.html). + +Tips: + +* If using Firefox, try to disable hardware graphics acceleration as it might impact performance and produce graphics artifacts. This behavior was seem on VMs running with qemu-kvm with SPICE. diff --git a/suckless/virtual/screenshot.png b/suckless/virtual/screenshot.png new file mode 100644 index 0000000..f5541c4 Binary files /dev/null and b/suckless/virtual/screenshot.png differ diff --git a/virtual.mdwn b/virtual.mdwn deleted file mode 100644 index 520bc79..0000000 --- a/virtual.mdwn +++ /dev/null @@ -1,76 +0,0 @@ -[[!meta title="Virtualized GUI environments"]] - -Can't or don't want to use [Qubes OS](https://www.qubes-os.org/)? Here comes a straightforward sollution -that, while not offering the same level of security, is practical enough to be implemented in the confort -of your current FOSS OS! - -A picture ---------- - -Could you spot the difference between the Tor Browser running in the host for the one inside the virtual machine? That's what we want to achieve! - -![Screenshot](screenshot.png) - -First things first ------------------- - -What you can do: - -1. Create a virtual machine image of the operating system of your choice like [this example](https://padrao.fluxo.info/boxes/). -2. Setup basic X11 environment with automatic login and startup programs. -3. Configure your hypervisor to hide icons and additional decorations around the virtual machine. -4. Setup key bindings on your window manager to start/resume and stop/suspend the virtual machine. - -Debian desktop --------------- - -When using a debian virtual machine as a virtual desktop, consider the following: - - apt-get install lightdm ratpoison - -Make sure to configure `/etc/lightdm/lightdm.conf` with something like - - autologin-user=vagrant - autologin-user-timeout=0 - -If using VirtualBox, you might also want to try [virtualbox-guest-x11](https://packages.debian.org/stable/virtualbox-guest-x11). - -Features --------- - -* Good security through isolation. -* Improved start/stop of your application by using virtual machine suspend/resume. -* Minor performance penalties while running the virtual machine. - -Limitations ------------ - -* Memory and disk consumption. -* Clipboard might still be available to the virtual environment, see [this discussion](http://theinvisiblethings.blogspot.com.br/2011/04/linux-security-circus-on-gui-isolation.html). - -Future ------- - -* This should be better documented! -* Automated expendable snapshots for one-time-use virtual machines. -* Automated recipes (puppet/ansible). -* Vagrant integration for fast provisioning of golden images. -* Alternatives to the VirtualBox hypervisor. - -References ----------- - -Applications: - -* [vbox and kvmx scripts](https://git.fluxo.info/vbox). -* [plymouth - Debian Wiki](https://wiki.debian.org/plymouth). -* [SPICE Project](http://www.spice-space.org/). - -Other implementations: - -* [Marco Carnut: Ambiente "Auto-Limpante" via Virtualização Ultra-Leve Descartável - Tempest Blog](http://blog.tempest.com.br/marco-carnut/ambiente-auto-limpante-via-virtualizacao-ultra-leve-descartavel.html). -* [Subgraph OS and Mail](https://subgraph.com/sgos/index.en.html). - -Tips: - -* If using Firefox, try to disable hardware graphics acceleration as it might impact performance and produce graphics artifacts. This behavior was seem on VMs running with qemu-kvm with SPICE. diff --git a/virtual/screenshot.png b/virtual/screenshot.png deleted file mode 100644 index f5541c4..0000000 Binary files a/virtual/screenshot.png and /dev/null differ -- cgit v1.2.3