Skip to content

Instantly share code, notes, and snippets.

View sevein's full-sized avatar

Jesús García Crespo sevein

View GitHub Profile
@cudevmaxwell
cudevmaxwell / Striking Out.md
Last active July 31, 2020 05:11
Striking Out with Islandora 2.x, Fedora 4.x, and Apache Camel

Striking Out with Islandora 2.x, Fedora 4.x, and Apache Camel

Kevin Bowrin, 2015-02-27

A few days ago, Nick Ruest and the Islandora Foundation made available the technical documentation for the upcoming version of Islandora. The Islandora Foundation should be commended for their transparency and community building efforts. Even in this early stage of Islandora 2.x, the documentation has a great introduction to Islandora, the goals of the project, the planned architecture, and installation instructions for their Vagrant development box.

The Technical Design for the next version of Islandora reminds me of something Mike Giarlo said, when I was waxing on about my dream Digital Library / R

@josephspurrier
josephspurrier / httprouterwrapper.go
Last active April 13, 2017 16:08
Golang - Making julienschmidt/httprouter compatible using gorilla/context
// Source: http://nicolasmerouze.com/guide-routers-golang/
// Package httprouterwrapper allows the use of http.HandlerFunc compatible funcs with julienschmidt/httprouter
package httprouterwrapper
import (
"net/http"
"github.com/gorilla/context"
"github.com/julienschmidt/httprouter"
# Hello, and welcome to makefile basics.
#
# You will learn why `make` is so great, and why, despite its "weird" syntax,
# it is actually a highly expressive, efficient, and powerful way to build
# programs.
#
# Once you're done here, go to
# http://www.gnu.org/software/make/manual/make.html
# to learn SOOOO much more.
@nrc
nrc / tools.md
Last active February 24, 2026 02:11
Rust tooling

Rust developer tools - status and strategy

Availability and quality of developer tools are an important factor in the success of a programming language. C/C++ has remained dominant in the systems space in part because of the huge number of tools tailored to these lanaguages. Succesful modern languages have had excellent tool support (Java in particular, Scala, Javascript, etc.). Finally, LLVM has been successful in part because it is much easier to extend than GCC. So far, Rust has done pretty well with developer tools, we have a compiler which produces good quality code in reasonable time, good support for debug symbols which lets us leverage C++/lanaguge agnostic tools such as debuggers, profilers, etc., there are also syntax highlighting, cross-reference, code completion, and documentation tools.

In this document I want to layout what Rust tools exist and where to find them, highlight opportunities for tool developement in the short and long term, and start a discussion about where to focus our time an

@qubot
qubot / sphinxdoc-inventory.json
Last active July 11, 2021 07:00
Sphinx documentation inventory
{
"atom": ["https://www.accesstomemory.org/docs/latest/", null],
"archivematica": ["https://www.archivematica.org/docs/archivematica-latest/", null],
"storageservice": ["https://www.archivematica.org/docs/storage-service-latest/", null]
}
@kachayev
kachayev / concurrency-in-go.md
Last active September 23, 2025 16:12
Channels Are Not Enough or Why Pipelining Is Not That Easy
@andyshinn
andyshinn / README.md
Last active June 19, 2026 17:27
CoreOS on Digital Ocean using Terraform

Terraform, CoreOS, and Digital Ocean

Let's use Terraform to easily get a CoreOS cluster up on Digital Ocean. In this example we will get a 5 node CoreOS cluster up and running on the Digital Ocean 8GB size.

Install Terraform

Grab a copy of Terraform for your platform from http://www.terraform.io/downloads.html. Follow the instructions at http://www.terraform.io/intro/getting-started/install.html by getting Terraform in your PATH and testing that it works.

Digital Ocean API Key

@tsenart
tsenart / gist:5fc18c659814c078378d
Last active February 25, 2026 11:21
HTTP Closures
package main
import (
"net/http"
"database/sql"
"fmt"
"log"
"os"
)
@eulerfx
eulerfx / EventMachines.md
Last active March 3, 2026 13:39
The relationship between state machines and event sourcing

A state machine is defined as follows:

  • Input - a set of inputs
  • Output - a set of outputs
  • State - a set of states
  • S0 ∈ S - an initial state
  • T : Input * State -> Output * State - a transition function

If you model your services (aggregates, projections, process managers, sagas, whatever) as state machines, one issue to address is management of State. There must be a mechanism to provide State to the state machine, and to persist resulting State for subsequent retrieval. One way to address this is by storing State is a key-value store. Another way is to use a SQL database. Yet another way is event sourcing. The benefit of even sourcing is that you never need to store State itself. Instead, you rely on the Output of a service to reconstitute state. In order to do that, the state machine transition function needs to be factored into two functions as follows:

@Nagyman
Nagyman / workflows-in-django.md
Last active November 20, 2024 01:08
Workflows in Django

Workflows (States) in Django

I'm going to cover a simple, but effective, utility for managing state and transitions (aka workflow). We often need to store the state (status) of a model and it should only be in one state at a time.

Common Software Uses

  • Publishing (Draft->Approved->Published->Expired->Deleted)