Hello! We're an Australian developer
collective that builds open source code and
beautiful websites for brilliant technology startups.

Recent Articles

  1. 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 better part of year now, and while Wordpress was the duck's nuts back then, today's static website generators just have so... read →

  2. 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 our native and browser based apps. Most of our work with Symple until this point has been with WebRTC native to browser... read →

  3. The Art of the Internet AKA. Attack of the Clones

    Many of the programmers and designers I know consider themselves to be artists, but as in the art world, there are good artists, and well … not so good artists. It's important to realise that artists are not just people who build stuff, they are... read →

  4. Conquering the Internet

    Everyone with an entrepreneurial spark is trying to claim their piece of Internet glory, yet only a select few will have any measure of success. When a warlord conquers a country, he not only does so with supreme force of will, he does so with... read →

  5. 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 sources, such as a microphone and a webcam. It didn't take too long before I realised that the encoder was not multiplexing... read →

  6. 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 news is that you don't need to look any further. because it's all contained within this open source header file: //... read →

  7. 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? We has need of this the other day when adding Flash video streaming to Symple, so we came up with a simple solution... read →

  8. 5 Tips To Optimize 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 web sites. In late 2004 the term was popularized by Tim O'Reilly at the O'Reilly Media Web 2.0 conference. Today... read →

  9. Add Grunt To Your JavaScript Projects

    If you write JavaScript libraries and you don't use Grunt yet, you probably should! Grunt automates tasks like minifying CSS and JavaScript, and it is one of those wonderful simple pieces of software that makes a developers life so much easier and... read →

  10. 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, as it allows you to intelligently link multiple OAuth identities with a single user entity. If you use 90% of the code examples on the internet you will wind up... read →

  11. 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 is useful for creating scraper and news sites which aggregate news from outside sources. Ausca uses nokogiri... read →

  12. 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 root and let the fun begin! There are a few ways to install Trac, by Python's easy_install package makes the actual installation... read →

  13. 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 how do we verify that a user has completed a Pinit action? The solution is a little trickier than the other buttons... read →

  14. 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 the course of my next few posts I will offering some up Pinterest hacking tips for developers. The first is how to... read →

  15. 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 add the below code to your functions.php to save you from a hair-pulling experience. You can also escape code in "pre... read →

  16. 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 http://gardn.net… Actually I lied, it wasn't that fun, in fact it was a real pain in the ass - but you know how it is being a developer... read →

  17. WebRTC Port Forwarding Pseudo TURN Proxy

    One of the tricky things about releasing native WebRTC applications build with the current spec and code base, is it's just not designed for installing behind corporate firewalls. Basically, the current WebRTC implementation just binds on port 0... read →

  18. Libuv C++ Wrappers

    LibSourcey uses libuv for it's networking layer as well as for abstracting cross platform capabilities such as shared library loading, filesystem, timers and other various helper methods. For anyone looking for libuv C++ wrappers, LibSourcey is a... read →

  19. LibSourcey Using Libuv Networking Layer

    Node.js does a brilliant job of enabling developers to quickly and easily deploy high performance server stacks in the cloud using good old JavaScript. Most developers who use Joyent's Node.js, also know about libuv, the underlying cross platform... read →

  20. YouTube HTML5 Embed from URL with PHP

    Just a quick reference post for how to embed a YouTube video from a URL with PHP. The following code includes some extra options to make the player more minimal (less youtube-y). <?php $url = 'https://www.youtube.com/watch?v=u9-kU7gfuFA' ... read →

  21. LibSourcey PacketStream API

    Every C++ programmer understands that taming and writing elegant code for complex C++ applications is no easy task. Herb Sutter himself said that C++ gives you just enough rope to hang yourself, which is a great insight into the power and nuances... read →

  22. 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 Anionu. State of the Industry During our early research phase we worked some of the top, and most widely used surveillance... read →

  23. WebRTC Custom OpenCV Video Capture

    WebRTC comes with an video device capture implementations for most platforms including Linux, Mac, Windows, iOS and Android, but what if we want to use our own video capture source such as a frame-grabber, or OpenCV or FFmpeg? The good news is that... read →

  24. 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 best advice do we? The other day I was playing with the Twitter API for a new project and I decided to write a bot as an anti-social experiment... read →

  25. 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 on how to stream video from a native application to the browser. Hopefully this example will be of some use to those of... read →

  26. Initial commit!

    Since 2005, the Sourcey collective has been developing code and design for private and freelance contracts, as well as our own projects. The intense workload has left little time for writing and other "social" online activities, so we are extremely... read →