software design patterns and lessons learned from nature - jaromil
TRANSCRIPT
Software Design patterns between Agile and Permaculture
Denis “Jaromil” RoioDyne.org CTO and co~founder
Agile and Software Architecture Symposium28 September 2016, Arnhem
Roots: hacker community from the BBS times (est. 1999)
Now: think &do tank (not for profit software house)
Free and open source, towards recycling of existing tech
Simplicity, minimalism, UNIX principles... GNU furrr
Resilience, long term, community based approach
Leading EU research onblockchain, currencyand p2p economies
follow: @Jaromil @Dyneorg
Permaculture: an approach to the design of human settlements and agricultural systems.
Focuses on:
obtain a yield for human needs aim to create stable and productive systems mimic the relationships found in natural ecology harmoniously integrate the land with its inhabitants
Historical colocation:
Traditional (preindustrial) agriculture was labor intensive Industrial agriculture is fossil fuel intensive Permaculture is design and information intensive
follow: @Jaromil @Dyneorg
Observation: observation of the subject during all possible occurring circumstances and transformations of its context.
Boundaries: individuation of the boundaries touched by the subject, the surface of interaction with other subjects.
Resources: inventory of resources the subject can dispose of, what comes and goes from and to outside.
Evaluation: analysis of how elements interact and define the subject, establishing the nature of the project.
Design: definition and mapping of the subject, imagining it in all its possibly different aspects.
Implementation: plan how to realise the subject, creating a plan of action for its full realisation.
Maintain: consideration of the maintenance aspects involved by the design and its sustainability.
follow: @Jaromil @Dyneorg
follow: @Jaromil @Dyneorg
Work to assuage fears, to celebrate positive results. Be patient if things get sticky. When all else fails, return to ways to create even more community. Do anything else you can to bring people closer. Celebrate every small success with food.
Peter Schuh, 2004 “Integrating agile development in the real world”
We make our software very portable and we make our software standardized so that other people can easily have portability, so we are aiding portability from every possible direction. Meanwhile, you see Microsoft deliberately introducing incompatibilities and deliberately blocking interoperability.
Richard M. Stallman, 2004
follow: @Jaromil @Dyneorg
follow: @Jaromil @Dyneorg
follow: @Jaromil @Dyneorg
Git.Devuan.org (gitlab)
251 Projects381 Forked packages698 Active Users149 SSH Keys1079 Issues
follow: @Jaromil @Dyneorg
Devuan is a base for:
Gnuinos gnuinos.org
Refracta ibiblio.org/refracta
Nelumdev1 sourceforge.net/projects/nelumdev1
Star sourceforge.net/projects/linnix
Zephyr sourceforge.net/projects/zephyrlinux
… and soon dyne:bolic, HEADS and more...
follow: @Jaromil @Dyneorg
devuan.kalos.mine.nuPowered by LinuxSpeakup.orgThe amd64 image requires only 74 MB of RAM to bootthe i386 image can boot with with as little as just 58 MB of RAM.
Base system: GNU coreutils, busybox, sysvinit, bash, dash, syslinux, zsh, locales, consoledata, utillinuxlocales
Admin/Recovery: debootstrap, gddrescue, gdisk, htop, iftop, iotop, ncdu, parted, wavemon, wirelesstools, wpa_supplicant
Editors: vimtiny, zile (Emacs clone), nanoNetworking: bittornado, curl, fetchmail, ftp, irssi, links2, mcabber, minicom,
mosh, msmtp, mutt, netcat, nrss, opensshclient, opensshserver, procmail, rsync, telnet, tin, w3m, wget
Personal productivity: abook, aspell, clex, fbi/fbgs, fbterm, ghostscript, gpg, mc, screen, tmux
Programming languages: ANSI C (tcc + libc6dev), Perl (minimal), python (minimal), awk (gawk), guile
Games: bastet, bombardier, bsdgames, cavezofphear, crawl, curseofwar, empire, freesweep, gnuchess, greed, matanza, moria, nethack, ninvaders, omegarpg, pacman4console, pente, sudoku
Accessibility: beep, brltty, espeak, espeakup, yasrMultimedia: cacautils, hasciicam, imagemagick, jhead, moc, radio, soxMiscellanea: cmatrix, cowsay, figlet, fortunemod, gpm, termsaver, toilet
follow: @Jaromil @Dyneorg
Devuan's device targets(so far)
devuan_jessie_1.0.0-beta_amd64_cloud.qcow2devuan_jessie_1.0.0-beta_amd64_opennebula.qcow2devuan_jessie_1.0.0-beta_amd64_vagrant.box
devuan_jessie_1.0.0-beta_armhf_bananapi.img.xzdevuan_jessie_1.0.0-beta_armhf_bananapro.img.xzdevuan_jessie_1.0.0-beta_armhf_beagleboneblack.img.xzdevuan_jessie_1.0.0-beta_armhf_chromeacer.img.xzdevuan_jessie_1.0.0-beta_armhf_cubieboard2.img.xzdevuan_jessie_1.0.0-beta_armhf_cubietruck.img.xzdevuan_jessie_1.0.0-beta_armhf_odroidxu.img.xzdevuan_jessie_1.0.0-beta_armhf_raspi2.img.xz
follow: @Jaromil @Dyneorg
STAGE1: bootstrapSTAGE2: blendSTAGE3: pack
- arm-sdk: ARM stream for sdk stage3- cli-sdk: commandline facilitation- blends-sdk: layered definitions- live-sdk: live system- vm-sdk: virtual machine packing- libdevuansdk: shared functions
Zsh
follow: @Jaromil @Dyneorg
A framework for remuneration
and authentication of online
and offline transactions on top
Of multiple blockchain backends,
fully integrated in the DCENT project.
DCENTproject.eu
Tools.DCENTproject.eu
Freecoin.ch
Freecoin
FOR: Participatory and democratic organisationsWHO: want to incentivise participationIS: a set of tools that lets people run a reward schemethat is transparent and auditable to other organisationsUNLIKE: centralised banking databasesIT IS: a social digital currency that is reliable,
simple and resilient
Freecoin in brief
Freecoin in brief
WHAT: web application offering a RESTful APIHOW: used standalone or integrated into systemsWHY: facilitate value circulation
and identity managementFEATURES: multisignature authentication,
offline transactions (redeemable vouchers)support for multiple blockchains as backend
WHERE: community markets,POS, ticket systems,voting tokens, etc.
follow: @Jaromil @Dyneorg
Context Awareness HUBfor the Internet of Things
Dowse.EU
Github.com/Dyne/Dowse
Dowse is supported by:
follow: @Jaromil @Dyneorg
Thanks for your interest!
Contact: Jaromil @ dyne.orgalso on IRC.dyne.org #dyne or around Freenode
Dyne.org stichting ideas? we welcome
Haparandadam 7A1 your proposals!
1013AK, Amsterdam
“ook nice, but enough… where is the code?”
Github.com/Dyne git.Dyne.org