S3 Media
SoftwarePhotosMediaAmazon S3SwiftVideos

S3 Media is an app that allows you to have hundreds of thousands of videos and photos on your phone. Buy it on the App Store today. Learn more here

Go profiling with pprof
Software ModulesCPUGoMemory

How to profile memory, CPU, blocking, mutexes and create traces with Go.

Read the Tutorial

(pprof) top // show functions using the most memory

S3 Media, Photos on Amazon S3
iPhoneAmazon S3AppsiPadMacOSiOS

Keep hundreds of thousands of photos and videos on Amazon S3.


go-mail - email in a Go module
GoDatabaseSoftware Modules

  • SMTP Client and Server {RFC 5321} (with {RFC 8314} and without TLS)
  • DKIM {RFC 6376}
  • POP3 {RFC 1939} (with {RFC 8314} TLS)
  • IMAP4 {RFC 3501}

Easy to integrate, it uses Go closures to handle each step in the email process.

The SMTP server supports DKIM, meaning spam is already accountable to the sender's domain.

Dotblog - a file based blog engine written in Go
GoSoftware Modules

Dotblog is a blog engine that works with the .blog file format and can serve millions of requests per second.

It makes managing a website and cloning it with round robin DNS much easier.

Distributed Table - a module for encrypted, distributed objects and messages
Software ModulesNodeJS

Architecturally similar to bitcoin and chord but uses a single private encryption key for every node in the mesh. Any node can send messages to every node, receive messages from every node and master nodes can add and remove objects on every node.

var dt = require('./dt.js');

var dt_node = new dt({master: true, port: 9999, key: 'asdf_any_length', nodes: ['', '']});

dt_node.emitter.addListener('started', function() {
	console.log('distributed table "started" event');
	dt_node.add_object({test: 'test'});

dt_node.emitter.addListener('object_added', function(object) {
	console.log('dt object_added event', object)

dt_node.emitter.addListener('object_removed', function(object) {
	console.log('dt object_removed event', object)

dt_node.emitter.addListener('message_received', function(m) {
	console.log('dt message_received event', m);
IP Access Control in Authorization Code
Software ModulesNodeJSGo

Include this module in your Internet Protocol Socket Server and easily protect it from Denial of Service Attacks.

It offers IPv4, IPv6 and a notification closure (callback).

//set authorization status for an IP

ipac.ModifyAuth(&ip_ac, 0, "")

//invalid login credentials
ipac.ModifyAuth(&ip_ac, 1, "")

//authorized (valid login credentials)
ipac.ModifyAuth(&ip_ac, 2, "")
A Go Module for in memory RRD
GoDatabaseSoftware Modules

This Go Module allows you to build RRDs in memory.

Update a RRD in Go (each measurement interval)

//24 hours with 5 minute interval
rrd.Update(5*60, 24*60/5, 'GAUGE', []float64 {34, 100}, &rrdPtr);

//30 days with 1 hour interval
rrd.Update(60*60, 30*24, 'GAUGE', []float64 {34, 100}, &rrdPtr);

//365 days with 1 day interval
rrd.Update(24*60*60, 365*24, 'GAUGE', []float64 {34, 100}, &rrdPtr);
Clean Budget

Keep your budget in the cloud.

SDB - an in memory database module for NodeJS
NodeJSDatabaseSoftware Modules

SDB is a NodeJS module that offers a direct memory database with a syntax similar to MongoDB.

var sdb = require('./sdb.js');

// new database, read existing data from file
var mydb = new sdb('./my.db');

// insert
mydb.insert({a_simple_field: 'a_simple_value'});
mydb.insert({second_simple_field: 'second_simple_value'});

// update with $set and $add as upsert
mydb.update({second_simple_field: '2nd second_simple_value'}, {$set: {second_simple_field: '2nd second_simple_value'}, $add: {counter: 2}}, {upsert: true});

// find all

// index
mydb.index('a_simple_field', true, false);

// remove
mydb.remove({_id: doc[0]._id});

// $fulltext find
var data = mydb.find({title: {$fulltext: 'test is a'}});

// save to disk
Milling Software

Having a mill, a lathe and a 3d printer prevents many blocks to improvement in product development. We maintain open source tools for this reason.

About XYZBots, LLC
Working with XYZBotsBusiness

Information about the Company.

Why XYZBots exists.