Axion5
The official example template of creating a blog with Bootstrap.
publishedat: 10/April/2020 comments: false published: true title: Little guide to my github repos tags: github
There are basically 4 projects spread over multiple repos and a bunch of separate repos:
- adea
- bb-server stack
- roster
- aum
First three projects are from 2013/2014 built mainly with nodejs and couchdb (probably outdated somewhat now), last one (aum) is a full stack clojure library building on and extending om.next.
Adea is more of an idea, with some implementation. Relevant repos are: cape (main repo), authpages (demonstration of signup/forgotpwd/resetpwd/confirm using couchdb and cape as backend), deploy-demo (visualisation of adea deploy algorithm), node-haproxy (control haproxy from node with hot reload) and docker-rcouch. See adea blog post for more info.
The blog on this site is actually put together using the bb-server stack. See
pages, the site itself is generated by bb-blog.On the projects page there is some info on the roster app project, and see here for summary of repos . Again, grand plans, but at least there was a working roster app.
Over the years I added miscellaneous repos such as answers to TEOCS and a Make A Lisp (in javascript), see here for more repos.
Most of the above repos are from 2015 and earlier. In the beginning of 2015 I got a job at DigitaleChecklisten and most of my programming energy went into working on their mysql/rails/ember stack. There was no accompanying admin app but I got the chance to build this in clojure from 2016 onwards. This is a full stack app built from basic building blocks such as mysql, ring and om-next. A lot for it had to be built still such as database validation, backend and frontend parser, test framework, build scripts etc. I extracted the generic parts and bundled them in aum and a few accompanying repos. See here for a summary of them.
Playing around with devops a bit in demo (One line deploy of branch to branch.somedomain.com by using git push, ala dokku) and mystack, a work in progress using the hashicorp tools to set up a cloud infrastructure.
------------------
0.1Bb-server stack, my own nodejs web stack and blog engine
To learn javascript and node I put together as best as I could a complete stack, from a nodejs server, to a template engine.A summary of the relevant github repos:
0.1.0.1bootstrapjs
Tech: javascript Year:2012
"Organise javascript code in modules with automatic dependency resolution a la require.js."
This was before ES6 modules were around. I kinda liked javascript, well, the good parts, but the frontend was really missing some kind of module system. I rolled my own which was very instructional. Used in a few later projects.
0.1.0.2bb-server
Tech: javascript, nodejs Year: 2013
"Simple bare bones http server. With clothes on now though..",
Some clothes:
- Caching of all static resources, in memory (LRU) and on disk.
- Transpiling, minifying and compressing of these assets on the fly, combine this with caching and only modified assets will be transformed on a request.
- Prerendering. A phantomjs rendered version of a page will be served if page comes with a query for an escaped fragment. These are also cached then.
- Can serves a single page application
- Start a websocket and/or a https server alongside your http server
- Add message and close handlers for the websocket server
- Inject scripts into browser
- Option to inject reload script will refresh the browser on reload msg.
- Support for sessions (mostly copied from sessions npm module)
- You can plugin your own GET and POST handlers triggered by route.
- Deals with favicon.ico requests
- Customized logging of all requests to a log file
- Cache busting by automatically removing stamps
- Standard server features such as setting cache headers and giving a 304 response to a if- not- modified- since header.
- Most options can be set on the command line, all of them using a json configuration file.
- Wrapping of js files from a modules directory to denodify them.
- Implementation of server side of persona. Example angular version of client side included.
0.1.0.3cachejs
Tech: javascript year: 2013
"Implementation of async LRU and ARC cache.",
Plus some intuitions on how the ARC cache works in the readme. Used in bb-server.
0.1.0.4html-builder
Tech: javascript, logthis, bootstrapjs. Year: 2013
"Don't write html, use a layout and and populate it with partials."
Basically a static site builder, also see next few entries.
javascript, 2012
0.1.0.5recaster
Tech: javascript Year:2013
"Wrapper for miscellaneous transpilers, minifiers and compressors.",
0.1.0.6denodify
Tech: javascript Year: 2014
"Organize javascript on the browser using the nodejs module system.",
Like browserify, but a bit simpler.
0.1.0.7denodify-core
Tech: javascript Year: 2014
"Nodejs core modules adapted for denodify",
0.1.0.8vow.js
Tech: javascript Year: 203
"Douglas Crockford's vow.js wrapped up in a node module",
This module is still on npmjs together with bb-server and some other ones. They also seem to get some traffic, but not sure if that's just noise.
0.1.0.9logthis
Tech: javascript Year: 2012
"A little namespaced logging utility for node and the browser."
0.1.0.10Scaffold using previous repos
Tech: javascript, bb-server, denodify, logthis, html-builder etc Year: 2014
"Scaffold for a new node or website project using html-builder, bb-server etc",
0.1.0.11bb-blog
Tech: javascript Year: 2014
"Bare bones blog for bb-server",
0.1.0.12seo_laundry
Tech: javascript Year:2013
"Server based creator of html cleansed of js by phantomjs",
0.1.0.13url-washer
Tech: javascript Year:2013
"Pass in an url and get back the html cleansed of js..",
0.1.0.14phantom-sitemap",
Tech: javascript Year:2014
"Crawls a site, extracts the links and returns the promise of either a sitemap or just a list of links"
0.1.0.15bb-blog-example
Tech: javascript, bb-server stack Year: 2014
"Blog generated and served with bb-blog, bb-server and html-builder",
0.1.0.16http://www.axion5.net
Tech: javascript, bb-server stack Year: 2014
"Repo of my personal site. Includes all posts and pages.",
0.1.0.17Website built using bb-server stack: firstdoor
Tech: bb-server and co, angular, bootstrap. Year: 2013
"Website using angular and bootstrap",
Website built for a client with a newly started business, using my bb-server/html-builder stack. They used it in production for a couple of years.
0.1.0.18Idea for an app: personalinfo
Tech: bb-server stack Year 2013
Idea for an app: A tool for families to share detailed information about their family member with a disability:
https://github.com/Michieljoris/personalinfo/blob/master/docofpersonalinfo.pdf
Would need to be rather secure and privacy aware. Perhaps with controls to share only parts to selected accounts.
0.1.0.19Dropbox file editor: dbeditor
Tech: javascript, bb-server stack.dropbox api Year: 2013
"Edit files in dropbox with a markdown or wysiwyg editor"
This site allows you to connect to your dropbox, browse the contents and then edit text files using a markdown or wysiwyg editor.
Probably obsolete now.
0.2Roster, couchDB repos
0.2.0.1validate_doc_update
Tech: javascript, CouchDB Year: 2013
"Automated couchdb document validator. "
Has a little DSL + parser to get more flexible validation in CouchDB. Instead of pushing js to a database design doc to update the validation a standard script is loaded there. Then, by kinda abusing members.names and user roles you can set what kind of docs are allowed and who is allowed to write them when. Idea is that you encode these things in the role strings themselves and that the validate script parses and interpretes them. Used in some other CouchDB projects.
0.2.0.2vouchdb
Tech: javascript Year:2014
"Use the same promise based api for CouchDB and PouchDB, on nodejs and in the browser.",
wip
0.2.0.3quilt
Tech: javascript, CouchDB, Angular Year: 2013
"Opiniated CouchDB manager, similar to Futon."
0.2.0.4Roster app
0.2.0.4.1roster
Tech: javascript,CouchDB,PouchDB, SmartClient, bootstrapjs. Year: 2012
"Web based database management framework. Plug in custom views and editors, at the moment a roster and shift management software."
At the time I was doing some shiftwork and the system of managing time sheets was rather cumbersome. I put a spreadsheet together first which was adopted and then this app was also adopted to some degree.
0.2.0.4.2roster_help
Tech: javascript Year: 2013
"Separate site documenting the roster app.",
https://github.com/Michieljoris/roster_help/blob/master/build/markdown/security.md
Mainly a long blurb about why and how I think the set up of CouchDB for the roster app is secure.
0.2.0.4.3shift-calendar
Tech: javascript Year:2014
"Replacement calendar for the one in roster",
0.3Misc repos
0.3.0.1My answers for The Elements of Computing Systems",
Tech: Common Lisp Year: 2012
See https://www.amazon.com.au/Elements-Computing-Systems-Building-Principles/dp/0262640686
From a review of the book: "You start with (software simulations of) basic logical circuits and use them to build a CPU. Then you build an assembly language, a VM and a high level language similar to Java"
Very instructive, and was fun to implement in CL. Also my first repo on github it seems.
0.3.0.2picoscript
Tech: picolisp, javascript Year: 2012
"The beginning of a version of picolisp that translates to javascript."
Well, rather ambitious project. More of an idea. I did like picolisp.
0.3.0.3sicp
Tech: Scheme Year: 2012
"Some answers for SICP"
wip
0.3.0.4ThoughtWorks
Tech: javascript Year: 2014
"Solutions of tasks you apparently need to do when applying for a job at ThoughtWorks"
0.3.0.5improvfree
Tech: keykit Year: 2006
"An ear training tool written using keykit",
I wrote it to practice ear training. I was dissatisfied with the ear training software going around at the time and combined the features of several. But not knowing java or javascript or any other language than c/c++, basic and pascal I found it hard to hook up to the midi hardware in the soundblaster cards. But keykit made it easy.
0.3.0.6trello-export
Tech: javascript Year: 2014
0.3.0.7nonograms
Tech: clojure Year: 2014
0.3.0.8Make a lisp
Tech:javascript Year: 2015
"Implementation of a lisp in javascript.",
0.3.0.9Archeology Inspired Database wip
Tech: clojure Year: 2017
"Archeology inspired database",
0.3.0.10code-x
Tech: javascript Year: 2014
"Answers to exercises on codewars, codeeval and hackerrank"
0.3.0.11imageopti
Tech: javascript Year: 2013
"Wrapper for linux image utilities",
0.3.0.12firgilio
Tech: javascript Year: 2014
"Functional version of virgilio from icemobile",
0.3.0.13CV
Tech: bash, latex, emacs Year: 2014
"Write emacs org cover letter, export to latex, then create pdf "
0.3.0.14Angular: directive_objectEditor
Tech: javascript, Angular Year: 2013
"Visual javascript object inspector and editor as a Angularjs directive",
Played around with Angular for a bit, but in the end was not a fan.
0.4Aum, clojure
0.4.0.1tail.boot
Tech: clojure Year: 2017
"Boot task: prints, tails and filters logs on the commandline. Works best with logstash logs. "
0.4.0.2revolt-extra
Tech: clojure Year: 2019
"plugins and tasks for revolt",
0.4.0.3tools-deps-poc",
Tech: clojure, tools.deps Year: 2019
"Proof of concept of tools.deps and revolt",
Experimenting with tools.deps
0.4.0.4dj-consumer
Tech: clojure Year: 2018
"Background jobs for clojure, modelled on Rails delayed jobs"
0.4.0.5aum
Tech: clojure Year: 2020
"Set of libs to build a full stack app in clojure"
0.4.0.6aum-starter-app
Tech: clojure Year: 2020
"Minimal full stack starter app using Aum"
0.4.0.7clj-utils
Tech: clojure Year: 2020
"Set of generic clojure fns"