startups to realise their vision by providing code
like graphene and infrastructure strong like limpet's teeth.
Recent Articles
The Art of the Internet
Many of the programmers and designers out there would consider themselves to be artists, but as in the art world, there are good...
Conquering the Internet
Everyone with an entrepreneurial spark is out to claim their piece of Internet glory, yet only a small number will have any real...
Building the Perfect Rails 5 API Only App
Thanks to the new rails-api gem that ships as part of the Rails 5 core, Rails is now an ideal candidate for building streamlined...
Android Custom Centered ActionBar with Material Design
The Android ActionBar is now easier to customise than ever, due to the fact that the old ActionBar element has been replaced with...
Flash Android Sony Xperia on Linux
So your shiny Xperia Z3 has decided to shit itself, and is now a $600 brick. Perhaps is is stuck in a reboot loop, perhaps it just...
Android Hotizontally Scrolling Pan Scan and Zoom Image Gallery
Since the depreciation of the Android Gallery module there has been no clear way to implement image galleries on Android, so I’m...
Beautiful Android Login and Signup Screens with Material Design
Everyone loves a beautiful login screen, and since it’s usually the very first impression people have about your app it’s super...
Simple Social Sharing Buttons Without JavaScript APIs
So you want to implement simple social sharing buttons on your site or application, but you don’t want the performance hit or resultant...
Middleman Automated GitHub Pages Deployments with Rake
Supposing you use GitHub pages to host your middleman site, like we do, you will probably want to speed up your deployments with...
Making the World a Better Place
Everything in nature has a half-life depending on it’s vibrational consistency, and so it is with the technology and trends that...
Building a Simple C++ Cross-platform Plugin System
This article talks about some key factors to consider when designing a plugin system in C++, and also provides some practical...
Comparing Version Strings in C++
If you’re building any kind of version management system in C++, such as a package manager or plugin system, then you’ll need to...
Agile Peer Code Reviews with Codebrag
It’s Friday afternoon and you’re sitting in the office, extinguishing the fire on the production server. You promise yourself...
Precompiling Assets for Large Rails Deployments with Capistrano
If you’ve ever had to deploy a large Rails site using Capistrano, then you’re probably aware of how time consuming it is to precompile...
Darkly Pygments CSS Theme
Sourcey has no shortage of beautiful code, so it’s about time we had some sexy syntax highlighting to match. Darkly is a pygments...
HTML5 Video Streaming from Google Drive
If you made it here, then you’re probably wondering weather or not Google Drive is a viable option for hosting streamable videos...
HTML5 Video is Finally Ready
Today I had a pleasant surprise when I was able to get a H.264/AVC encoded MP4 video to play on Chrome (34.0.1847.131), Firefox...
Password Free Signup and Authentication with OAuth
Signup and authentication is a vital part of the user experience since it is one of the very first interactions a customer will...
Guest Posting Opportunities
If you are promoting a brilliant open soruce project, or a new technology startup, then you may be interested in guest posting on...
Migrating from Wordpress to Middleman
Today I decided to take the plunge and convert Sourcey into a static website. Sourcey has been running on Wordpress for the...
Symple WebRTC Video Chat Demo
For those of you that don’t know about Symple yet, it’s a lightweight messaging and presence protocol for communication between...
FFmpeg Multiplexing Live Webcam and Microphone Streams
The other day I had a tough time trying to get multiple FFmpeg codecs to behave consistently with live variable framerate stream...
FFmpeg AVPacket to OpenCV Mat Converter
When building computer vision projects in C++, you may find yourself in need for an FFmpeg to OpenCV packet converter. The good...
JavaScript Object to Flash SWF ExternalInterface Bridge
Have you ever wanted to bind your ActionScript ExternalInterface callbacks to JavaScript object methods, rather than use free functions...
5 Tips To Optimise for SEO 2.0 in 2014
The phrase “Web 2.0” coined by Darcy DiNucci back in 1999 to describe web sites that use technology beyond the static pages of earlier...
Add Grunt To Your Projects
Grunt is a front end task automater on steroids; you just setup a Gruntfile, and watch it purrr. We’ve been using it to automate...
Rails 4 OmniAuth using Devise with Twitter, Facebook and Linkedin
There are quite a few OAuth solutions out there, but I want to share the one we use since it allows you to intelligently link...
Combining Multiple RSS Feeds
The Ausca ruby gem features an RSS joiner module that can be used to combine multiple RSS feeds into a single RSS feed. This functionality...
Installing Trac with Monit on CentOS
We just finished installing Trac for Sourcey and thought we would share the process with others. Make sure you are logged in as...
Pinterest API Pinit Button Callback Tracking
Unlike the Facebook and Twitter button APIs, the Pinterest button does not provide us with any callback tracking capabilities. So...
Dynamically Rendering AJAX Pinterest Buttons
Pinterest is a pretty hot topic in Social Marketing right now. Their APIs and documentation are still quite underdeveloped, so over...
Automatic Escaping of HTML Tags in Code Elements for Wordpress
For those of you who are using wordpress and don’t want to manually escape or mangle HTML tags inside your “code” elements, just...
Generating Website Thumbnails in Rails 4 using Dragonfly and wkhtmltoimage
I had a joyous time the other day trying to get a new rails app to take thumbnail snapshots of remote websites for Gardn.net… Actually...
WebRTC Port Forwarding Pseudo TURN Proxy
One of the tricky things about releasing native WebRTC applications build with the current spec is that it’s just not designed...
Libuv C++ Wrappers
LibSourcey uses libuv for it’s networking layer as well as for abstracting cross platform capabilities such as shared library loading...
LibSourcey Event-driven Networking with Libuv
LibSourcey began it’s life built on the brilliant Poco C++ libraries, but once we began developing mission critical server-side...
YouTube HTML5 Embed from URL with PHP
Just a quick reference post for how to embed a YouTube video from a URL string with PHP. The following code includes some extra...
LibSourcey PacketStream API
Every C++ programmer understands that taming and writing elegant code for complex C++ applications is no easy task. Herb Sutter...
Anionu Technical Challenges
The purpose of this post is to share, and sometimes rant, about the technical challenges that we faced and overcame while developing...
WebRTC Custom OpenCV Video Capture
WebRTC comes with an video device capture implementations for most platforms including Linux, Mac, Windows, iOS and Android,...
Twitter Follow Unfollow Retweeter Ruby Bot
Let me start by saying that I don’t condone the automation of social interaction… but we don’t always take our own best advice...
WebRTC Native C++ to Browser Video Streaming Example
There is a lot of information out there about browser to browser WebRTC streaming, but surprisingly there is not much coverage...
Initial commit!
Since 2005, the Sourcey collective has been developing code and design for private and freelance contracts, as well as our own projects...
