background preloader

Sysdev

Facebook Twitter

Scratchapixel. Probably Done Before. Tomek on Software. Writing a Linux Kernel Module — Part 1: Introduction. After Docker: Unikernels and Immutable Infrastructure. FlatBuffers: Main Page. FlatBuffers is an efficient cross platform serialization library for C++, with support for Java and Go.

FlatBuffers: Main Page

It was created at Google specifically for game development and other performance-critical applications. Nitrous-io/tug · GitHub. Eight Docker Development Patterns. VimSwitch: Use Your Vim Settings Everwhere. Use your vim settings everywhere.

VimSwitch: Use Your Vim Settings Everwhere

Overview. Building a Development Environment with Docker - Terse Systems. I’ve written a cheat sheet for Docker, and I have a github project for it.

Building a Development Environment with Docker - Terse Systems

Here’s the thinking that went into why Docker, and how best to use it. The problem You want to build your own development environment from scratch, and you want it to be as close to a production environment as possible. Solutions Development environments usually just… evolve. But even when it gets to that point, it’s not over, because modern environments can involve dozens of different components, all with their own configuration, often times communicating with each other through TCP/IP or even worse, talking to a third party API like S3. Solution #1: Shared dev environment. Raft. Use Cases - Terraform. Before understanding use cases, it's useful to know what Terraform is.

Use Cases - Terraform

This page lists some concrete use cases for Terraform, but the possible use cases are much broader than what we cover. Due to its extensible nature, providers and provisioners can be added to further extend Terraform's ability to manipulate resources. Heroku App Setup. Signalfuse/maestro-ng · GitHub. Built-in / intrinsic / primitive data types, C++ FAQ. How to make an Operating System. Online book about how to write a computer operating system in C/C++ from scratch.

How to make an Operating System

Caution: This repository is a remake of my old course. It was written several years ago as one of my first projects when I was in High School, I'm still refactoring some parts. The original course was in French and I'm not an English native. I'm going to continue and improve this course in my free-time. Book: An online version is available at (PDF, Mobi and ePub). Source Code: All the system source code will be stored in the src directory. An Enterprise-Class Open Source Distributed Monitoring Solution. Zabbix is the ultimate enterprise-level software designed for monitoring availability and performance of IT infrastructure components.

An Enterprise-Class Open Source Distributed Monitoring Solution

Zabbix is open source and comes at no cost. With Zabbix it is possible to gather virtually limitless types of data from the network. High performance real-time monitoring means that tens of thousands of servers, virtual machines and network devices can be monitored simultaneously. Along with storing the data, visualization features are available (overviews, maps, graphs, screens, etc), as well as very flexible ways of analyzing the data for the purpose of alerting.

Container data management. CloudMunch. My first unikernel - Thomas Leonard's blog. I wanted to make a simple REST service for queuing file uploads, deployable as a virtual machine.

My first unikernel - Thomas Leonard's blog

The traditional way to do this is to download a Linux cloud image, install the software inside it, and deploy that. Instead I decided to try a unikernel. Unikernels promise some interesting benefits. The Ubuntu 14.04 amd64-disk1.img cloud image is 243 MB unconfigured, while the unikernel ended up at just 5.2 MB (running the queue service). Ubuntu runs a large amount of C code in security-critical places, while the unikernel is almost entirely type-safe OCaml. . ( this post also appeared on Reddit and Hacker News ) Table of Contents Regular readers will know that a few months ago I began a new job at Cambridge University.

But no. Introduction Linux, like many popular operating systems, is a multi-user system. Consul. Table of Contents. Introducing Irmin: Git-like distributed, branchable storage. Introducing Irmin: Git-like distributed, branchable storage.

Introducing Irmin: Git-like distributed, branchable storage

Fastpass: A Centralized "Zero-Queue" Datacenter Network. Kernel development. Brief items Kernel release status The current development kernel is 3.16-rc4, which was released on July 6.

Kernel development

Pricing · drone.io. Mesosphere · Scale Your Datacenter with Apache Mesos. Airbnb/chronos. Smtechnocrat/go-hostpool. Docs 0.2.28 - Internals. A Page of Personl Deification (and Other Self-Deprecating Incongruities) Flynn/flynn. Array Library (Common routines that are useful for arrays) Class "Array" provides common routines to work with integral and floating-point arrays.

Array Library (Common routines that are useful for arrays)

It uses SIMD extension of modern x86-64 processors to accelerate data manipulations. Arrays which are marked as const, are not modified by functions, except they intersect with another arrays. To prevent this unexpected behavior you should check ranges of source arrays using appropriate function provided by the library. Contents Key compare function is used by searching and sorting algorithms.

Each user defined key compare function should conform to the prototype specified below. sint64_t Cmp (const void *key1, const void *key2); Parameters: Computer Architecture -FAUmachine. Description FAUmachine is a virtual machine, similar in many respects to VMWare[tm], QEMU or Virtual PC[tm]. What distinguishes FAUmachine from these other virtual machines, are the following features: The FAUmachine virtual machine runs as a normal user process (no root privileges or kernel modules needed) on top of (currently) Linux on i386 and AMD64 hardware.

The port of FAUmachine to OpenBSD and Mac OS X (intel) is in progress. Guardian/alerta. Setup New Relic - New Relic. A guide to protocol buffers (protobuf) in google Go (golang) The following article targets an audience with interest in software design, protocol buffers or computer programming in general, the article is fairly technical and assumes some knowledge in programming concepts. Protocol buffers and Golang are two very recent fascinations of mine ever since I saw them in action. Bootstrapping a Java project with Gradle, TestNG, Mockito and Cobertura for Eclipse and Jenkins. When starting out with a fresh Java project one of the nuisances you have to deal with is setting up your build and test environment. It’s even more troublesome if you are trying to switch from Maven to Gradle for your builds. Vagrant with Docker: How to set up Postgres, Elasticsearch and Redis on Mac OS X.

After some time spent looking at Docker from afar, hearing everyone talk about how awesome it is and how all the cool kids are already using it. I decided to test drive Docker out by using it in my development environment. In this post I will describe how to set up Postgres, Elasticsearch, and Redis as Docker containers with Vagrant on Mac OS X. Docker uses lightweight containers to separate an application from the operating system it is running in. It puts the application in an isolated box that only exposes selected folders or ports required for that application to be used. This makes each container is a reusable, shareable, knowledge base of how to setup and use an application. Docker does not run in OS X natively, it requires a Linux kernel with LXC (LinuX Containers). While trying to get docker working I found the "easy" install described here. I soon discovered this tool has some significant problems, like this, which halted any progress towards getting Docker in a stable state.

Rosetta Stone for Unix. Structural and Behavioral Patterns for Software Diagnostics, Forensics and Prognostics. Software Diagnostics Library. Perspectives. Changing vim colorschemes.