aboutsummaryrefslogtreecommitdiff
path: root/suckless
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2017-01-27 13:27:27 -0200
committerSilvio Rhatto <rhatto@riseup.net>2017-01-27 13:27:27 -0200
commit6f37a7e5238301f96a957cdf0af4f2d3fdd953d0 (patch)
tree4c92510bed8cf11dd399d7eb308894c3fe8e4c29 /suckless
parent38d57640ed3b03e0616cd095953418eb18acf95c (diff)
downloadblog-6f37a7e5238301f96a957cdf0af4f2d3fdd953d0.tar.gz
blog-6f37a7e5238301f96a957cdf0af4f2d3fdd953d0.tar.bz2
Move stuff to suckless
Diffstat (limited to 'suckless')
-rw-r--r--suckless/cli.mdwn16
-rw-r--r--suckless/sites.mdwn86
-rw-r--r--suckless/virtual.mdwn76
-rw-r--r--suckless/virtual/screenshot.pngbin0 -> 74886 bytes
4 files changed, 178 insertions, 0 deletions
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
--- /dev/null
+++ b/suckless/virtual/screenshot.png
Binary files differ