S3 Media
MediaAmazon S3SoftwareSwiftPhotosVideos

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

$6.99
Go profiling with pprof
GoSoftware ModulesCPUMemory

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
iPadAppsiPhoneiOSAmazon S3MacOS

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

$6.99

go-mail - email in a Go module
DatabaseSoftware ModulesGo

  • SMTP Client and Server {RFC 5321} (with {RFC 8314} and without TLS)
  • ESTMP Extensions (8BITMIME, AUTH, STARTTLS, ENHANCEDSTATUSCODE, PIPELINING, SMTPUTF8)
  • 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
Software ModulesGo

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
NodeJSSoftware Modules

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: ['127.0.0.1:9999', '127.0.0.1:10002']});

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
NodeJSSoftware ModulesGo

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

//logout
ipac.ModifyAuth(&ip_ac, 0, "127.0.0.1")

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

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

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
AppsiPhoneiPadiOSMacOS

Keep your budget in the cloud.

SDB - an in memory database module for NodeJS
DatabaseSoftware ModulesNodeJS

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
mydb.find({});

// 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
mydb.save('./my.db');
Milling Software
MillingCNC

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
BusinessWorking with XYZBots

Information about the Company.

Why XYZBots exists.