magnetised
PuzzleFS is a next-generation container filesystem
BlendOS v3 “Bhatura” beta is now available
Volcanic microbe eats CO2 ‘astonishingly quickly’, say scientists
Google to free G Suite users: Pay up or lose your account
The U.S. Air Force Has Tested Kubernetes on a U-2
Turns out our brains are really good at compensating for relatively large offsets
Moonlander: A next-generation ergonomic keyboard
Introducing Our High-Performance SSD Block Storage
Redis 6 RC1 is out today
Dear young people, "Don't Vote" [video]
LinuxKit, a toolkit for building minimal, immutable Linux distributions
TCP port scanner, scanning entire Internet in under 5 minutes
We can teach women to code, but that just creates another problem
It's less easy to quantify your progress than with weight lifting (whose easy conversion into numeric growth I wonder isn't one of its attractions when you're a data-driven kind of person) but has further reaching benefits beyond basic physical strength.
After 3 years of fairly regular yoga practise (3-4 sessions a week), even when combined with a fairly poor diet/lifestyle alongside it (way too much fun), left me feeling stronger, fitter, calmer, more centred, more energised* than I ever had before.
For those of you who, like me, are put off by the more 'hippy' aspects, I'd say it's a question of finding the right teacher rather than writing off the entire practice (my teacher at the time was nicknamed 'El Sargento' for her, shall we say 'strict' approach -- she taught Iyengar yoga with is a lot about details. This didn't suit everyone but suited me down to a tee).
There is an awful lot of pseudo religious bollocks that surrounds it but within that there's a really solid method for improving the quality of your life.
It aims to be decoupled, that is the system you edit with is not (necessarily) tied into the system you serve your site to the public with. It does this through a publishing mechanism. This defaults to rendering HTML pages (both static & dynamic ones) but can be extended to output anything you want, either replacing the standard HTML output or in addition to it (I personally have integrated with a pyramid based python app using a db based output, that is effectively "render my content into a db table" but you can do less esoteric things like publish JSON or XML docs if that's your need.
It works using content type 'blocks' composed of sets of many fields (of varying types). I like to think of it as a "strongly typed" CMS.
It's template engine supports two tag types: one that gets run during the publish stage & one that get's run at the request stage.
It can then take an intelligent approach to publishing by having a publish step that renders each page to a static file. It's then trivial to test for the existence of 'run at request' tags and position the generated template accordingly: pure static files get put where a reverse proxy (nginx by preference) can see them, anything with per-request tags gets put in a 'private' directory out of nginx's paths for rendering & delivery by some front-end server.
This has many advantages, including:
- static pages can be served directly by Nginx - the public facing site runs in a separate process that consumes the generated templates - the public app (if needed at all) has no admin-centric code so has a smaller (& separate) attack surface - the publish step can be seen as a form of code generation so you could, in theory, publish a dynamic PHP powered site from this Ruby CMS
I'm also gradually working towards abstracting the template 'filesystem', currently you can render to the disk, redis, memcache or any other key-value store supported by the Moneta gem[1].
For the developer it gives the power of static site generators but provides a simple & usable editing interface for content editors.
It renders to static files by default (as well as compiling+compressing assets etc) and you can define any number of separate outputs in multiple formats (e.g. HTML, JSON, Javascript, XML, RSS etc) which will also be rendered at the same time.
Plus a whole world of other features, some I consider to be relatively revolutionary. </IMHO>
It works well but lacks, (really, really seriously) lacks, documentation.