As some of you have noticed (and let me know), my old blog hosting provider recently moved off Community Server to WordPress. I figured that as all the links we being broken anyway, now would be a good time to move off msmvps.com anyway. The old posts are still there, but my blog’s new home … Continue reading New blog…
25 Jul 2014
Flutter Wireless is an ARM-powered wireless Arduino with 1000m+ range and 256-bit AES hardware encryption that opens the doors for IoT connectivity.
Some things are just very very very VERY very important. Such as John Cleese. The same is true for Whitespace: Yes. 1080 Reddit Karma points (so urgently needed!) in only 23 hours. That’s several orders of magnitudes better than any of our – what we wrongfully thought to be – very deep and interesting technical … Continue reading Top 10…
24 Jul 2014
In this blog post, we'll walk you through how to build simple matchmaking for multiplayer games to connect two users
NodeCraft Hosting uses PubNub for node to node communication for online game server hosting and to power their interactive control console.
I read a great blog post in college, and sadly I can't find it now, so I'll summarize. It showed a picture of Hearst Castle, and a photo of an average middle-class home, and the text of the post went something like: One of these can travel across the country in 6 hours. One of […]
Hello? is this thing on? I’m not sure if I even know how to operate this “blog” device any more. It’s been a year since my last… Read more "Trello, Inc."
The MapTiler Desktop 0.5.4 comes with several new cool features available to all our customers.
23 Jul 2014
subscribe to this newsletter here Only 8 Days Left in jOOLY Time is running so fast! The month of jOOLY is almost over – have you taken advantage of our limited-time promotional discount of 20% that we’re offering to all of your purchases in July 2014? And that’s not it, you will also get a … Continue reading jOOQ Newsletter:…
How to build a key exchange system using PubNub, enabling users to send encrypted, self destructing chat messages in real time.
22 Jul 2014
You have photos on your computer. You would probably be really sad if you lost them. Let's discuss some strategies for ensuring that doesn't happen. What you are doing now is probably not enough. Your current strategy is to have photos and critical files stored on your most current laptop and maybe some things in […]
Part One on building an open source, self destructing messages chat widget enabling you to send and receive self destructing, encrypted messages.
So you might’ve seen Destroy all Software’s talk about JavaScript: Here’s a similar talk (less funny more scary) about MySQL:
You kick off a long running job - maybe a data migration script that operates on a large data set, or you're copying a large file from one disk to another, or from the Internet to your local computer. Then a few minutes in, you realize the job is going to take longer than you […]
21 Jul 2014
A good clean application design requires discipline in keeping things DRY: Everything has to be done once. Having to do it twice is a coincidence. Having to do it three times is a pattern. — An unknown wise man Now, if you’re following the Xtreme Programming rules, you know what needs to be done, when … Continue reading Keeping things…
19 Jul 2014
Suppose we wish to estimate the mean of a sample drawn from a normal distribution. In the Bayesian approach, we know the prior distribution for the mean (it could be a non-informative prior) and then we update this with our observations to create the posterior, the latter giving us improved information about the distribution of … Continue reading Fun with…
18 Jul 2014
This blog will show you how to use PubNub and Google Dart to subscribe to a real-time bitcoin feed.
17 Jul 2014
We'll show you how to get a list of online users in an online chatroom, creating a buddy list that updates as users join and leave the chatroom.
To embed a 3D globe in a website with an open-source project is now really easy with WegGL Earth 2
16 Jul 2014
Introduction Recently I’ve been optimizing the heck out of Noda Time. Most of the time this has been a case of the normal measurement, find bottlenecks, carefully analyse them, lather, rinse, repeat. Yesterday I had a hunch about a particular cost, and decided to experiment… leading to a surprising optimization. Noda Time’s core types are … Continue reading Micro-optimization: the…
14 Jul 2014
A while back I announced a preprint of a paper on coloring graphs with certain resilience properties. I’m pleased to announce that it’s been accepted to the Mathematical Foundations of Computer Science 2014, which is being held in Budapest this year. Since we first published the preprint we’ve actually proved some additional results about resilience, and so I’ll expand some…
Imagine you want to collect detailed usage statistics to tune your Oracle database, e.g. if you want to have A-Rows and A-Time values in your execution plans (by default, Oracle only reports E-Rows and E-Time with “E” for “Estimated”. But usually, you will care more about the “A” for “Actual”). All you have to do … Continue reading Logon Triggers:…
13 Jul 2014
A few months ago I upgraded the hardware my avr11 project ran on from the atmega2560 8bit micro to the SAM3x based Arduino Due. In doing so I lost access to the excellent QuadRAM memory expansion board, and had to find another solution for accessing the micro SD card. For the moment, I’ve decided to go […]
12 Jul 2014
To learn some Nim I held a talk about it at the GPN14 (in German, Slides). Afterwards I started solving Rosetta Code tasks in Nim to get a better feel for the language and standard library. That also made me discover some rough edges in the language, but luckily the community, albeit small, is active and competent. All the small…
11 Jul 2014
In the past, we’ve been providing you with a new article every Friday about what’s new in Java 8. It has been a very exciting blog series, but we would like to focus again more on our core content, which is Java and SQL. We will still be occasionally blogging about Java 8, but no … Continue reading Java 8…
Update this post is also available in Japanese. This is a post about an experimental tool that I have been working on. gcvis is a simple way of visualising the operation of the garbage collector within a Go process. Here is a screenshot of it in operation. The rest of this article explores how gcvis […]
10 Jul 2014
How to automatically add unique users and usernames to a multiplayer game lobby chatroom
9 Jul 2014
PubNub now supports Google Cloud Messaging (GCM) for Android push notifications.
8 Jul 2014
The MQTT protocol for embedded Internet of Things devices now supported by PubNub.
I have updated my unofficial ARM tarball distributions page with prebuilt Go 1.3 tarballs. You can find them by following the link in the main header of this page.
7 Jul 2014
Table-valued functions are an awesome thing. Many databases support them in one way or another and so does PostgreSQL. In PostgreSQL, (almost) everything is a table. For instance, we can write: … and believe it or not, this is a table! We can write: And the above will return: +----+ | v2 | +----+ | … Continue reading PostgreSQL’s Table-Valued…
Greedy algorithms are among the simplest and most intuitive algorithms known to humans. Their name essentially gives their description: do the thing that looks best right now, and repeat until nothing looks good anymore or you’re forced to stop. Some of the best situations in computer science are also when greedy algorithms are optimal or near-optimal. There is a beautiful…
Recently, SoundCloud launched the new iOS application which was a complete rewrite of the existing iOS application. The Mobile engineering…
6 Jul 2014
I have been running DDraceNetwork for 1 year, which started out as a little server of a Teeworlds modification called DDRace. It has turned into the biggest project within Teeworlds, offering servers in 6 countries with thousands of players and dozens of mappers. We also offer a custom server and client (Windows, Linux, OS X, Android). Now it’s time to…
3 Jul 2014
I wanted to let folks know that I’m about to take a few months of leave. When I joined Google, my wife and I agreed that I would work for 4-5 years, and then she’d get to see more of me. I talked about this as recently as last month and as early as 2006. […]
Here at SoundCloud, in order to provide counts and a time series of counts in real time, we created something called Stitch. Stitch was…
2 Jul 2014
How to develop a multiplayer game lobby with chat functionality using PubNub
Subscribe for this newsletter here jOOLY 2014 20% Discount Offering Have you been evaluating jOOQ for a while now, still hesitating to purchase licenses? Or are you an existing customer and looking into licensing more workstations for your team? This is your chance! Get 20% off all your jOOQ purchases in the month of jOOLY … Continue reading jOOQ Newsletter:…
1 Jul 2014
How to build a server health monitoring tool with real-time reporting functionality using PubNub
Cater better to yours and your tenants' needs with Direct Debit.
30 Jun 2014
Gyms and fitness businesses of all sizes are now using Direct Debit to collect membership fees.
What makes a good programmer? It’s an interesting question to ask yourself. It makes you reflect on the craft of software development. It is also a good question to ask your colleagues. It can trigger some interesting discussions on how you work … Continue reading →
Mozilla Release Engineering provides some of the Buildbot continuous integration system, which can be useful to check how many jobs are currently running versus pending. There are graphs of the last 24 hours broken out in various ways – for example compilation separate from tests, compilation on try and everything else. This data also feeds into the pending queue on…
29 Jun 2014
By writing a Dockerfile we can containerize a simple Go echo server app. The Dockerfile installs Go, copies the server code, exposes the port, and defines the command to run the app. Building the Dockerfile produces an image that can be run as a container. The containerized Go app can then be easily distributed and run anywhere Docker is installed.
28 Jun 2014
Like all children who grew up in the 80’s, I was, and still am a huge fan of Ghostbusters. While recently re watching Ivan Reitman’s homage to New York, I spotted something which has gone unnoticed on the IMDB trivia page. Shortly after being evicted from the University, Ray Stantz (Aykroyd) and Peter Venkman (Murray) […]
27 Jun 2014
This is a post about data races. The code for this post lives on Github, github.com/davecheney/benandjerry. The example program simulates two Ice cream makers, Ben and Jerry, who greet their customers randomly. package main import "fmt" type IceCreamMaker interface { // Hello greets a customer Hello() } type Ben struct { name string } func (b *Ben) […]
Once upon a time it used to be difficult to create integration tests in Ember.js. Fortunately, the framework has come a long way and it’s now really easy to get integration testing working in your application. This screencast shows how to set it up with ember-cli: There is some boilerplate code required that you’ll need at the top of your…
26 Jun 2014
Writing tests that use an actual database is hard. Period. Now that this has been established, let’s have a look at a blog post by Marco Behler, in which he elaborates on various options when testing database code, with respect to transactionality. Testing database transactions is even harder than just testing database code. Marco lists … Continue reading Stop Unit…
Here are three ways to handle and receive messages via subscribed channels with Cocoa
25 Jun 2014
When performing database migrations, we at Data Geekery recommend using jOOQ with Flyway – Database Migrations Made Easy. In this post, we’re going to look into a simple way to get started with the two frameworks. Philosophy There are a variety of ways how jOOQ and Flyway could interact with each other in various development … Continue reading Flyway and…
24 Jun 2014
How to use PubNub multiplexing to leverage multiple Publish/Subscribe channels in an AngularJS web or mobile application
Infrequent SQL developers often get confused about when to put parentheses and/or aliases on derived tables. There has been this recent Reddit discussion about the subject, where user Elmhurstlol was wondering why they needed to provide an alias to the derived table (the subselect with the UNION) in the following query: The question really was … Continue reading Should I…
23 Jun 2014
Most databases that support default values on their column DDL, it is also possible to actually alter that default. An Oracle example: Unfortunately, this isn’t possible in SQL Server, where the DEFAULT column property is really a constraint, and probably a constraint whose name you don’t know because it was system generated. But luckily, jOOQ … Continue reading SQL Server…
Here’s a simple puzzle with a neat story. A rich old woman is drafting her will and wants to distribute her expansive estate equally amongst her five children. But her children are very greedy, and the woman knows that if he leaves her will unprotected her children will resort to nefarious measures to try to get more than their fair…
The week of June 23rd was a good week for gophers in San Francisco. Go was a big part of Google I/O on Wednesday and Thursday, and on Monday Google run a Go SummerFest, a special instance of the GoSF meetup. I gave a talk at Go SummerFest and then later on another one during I/O. For more information about…
lldb stands for Llama-DB, and is a database of llamas you can use to debug programs compiled with clang (lldb is to clang like gdb is to gcc). If you already know how to use gdb, then here’s a translation of the common commands. Disclaimer: There is a ton of tutorials and pages about all of the awesome features and…
22 Jun 2014
Three months ago I changed jobs, and in the process switched from Java to Python. Here are the differences that have stood out for me since making the switch. I have previously worked a bit in Ruby, but I had no … Continue reading →
A few days ago, after reading yet another article on the critical importance of only hiring the best people — yet being unable to offer any concrete suggestions on how to do this, save slavishly repeating the “best people” homily — I posted the following https://twitter.com/davecheney/status/479126596545036288 I find twitter to be a hopeless medium for […]
21 Jun 2014
One for the weekend: Big Data Big Data pic.twitter.com/18VPE9LGDq — Victor Agreda Jr (@superpixels) June 19, 2014
20 Jun 2014
At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, method references, default methods, the Streams … Continue reading Java 8…
18 Jun 2014
jOOQ Goes JavaOne™ We’re super excited to announce that our CEO and Head of R&D Lukas will be heading to San Francisco this fall to talk about jOOQ at JavaOne™! This is not just great for Data Geekery and jOOQ, but also for the whole Java / SQL ecosystem, as we believe that the Java / SQL … Continue reading…
At Clever we help 1 in 6 schools in the country sync data on an hourly basis from their student information systems (SISes) to the ed tech apps that their teachers and students use. These 20,000 schools sync about 50 GB of data in aggregate – that’s over a terabyte of data per day. While […] The post The Best…
17 Jun 2014
We'll walk you through the 5 challenges of Internet of Things connectivity when developing IoT applications.
15 Jun 2014
Yesterday the first Hackcamp Wolfsburg took place at the Schiller 40. Steven Schwenke did a great job to organize and prepare the event. Despite the fact that only 5 persons, including myself, attended the event it has been a great success. Beneath my coworkers Kevin and Niko from NeosIT and […] The post Review Hackcamp Wolfsburg June 2014 appeared first…
This is really intended as a draft chapter for our book. Given the diverse natures of the intended intended audiences, it is probably a bit light on explanation of the Haskell (use of monad transformers) for those with a background in numerical methods. It is hoped that the explanation of the mathematics is adequate for … Continue reading Gibbs Sampling…
14 Jun 2014
Check out Bazaarvoice IO 2014 Technical Conference keynote speaker, Theo Schlossnagle, @postwait, CEO of Circonus discussing The Rise of the Machines and Data PTSD
Check out Bazaarvoice IO 2014 Technical Conference keynote speaker Otis Gospodnetic, @otisg, Founder of Sematext, Committer on Lucene, Solr, Nutch, Mahout, OpenRelevance, and author of Lucene in Action discussing the Open Source Search Evolution
Check out Bazaarvoice IO 2014 Technical Conference Keynote speaker Bob Metcalfe, @BobMetcalfe, Professor of Innovation at the University of Texas, discussing Metcalfe’s Law After 40 Years of Ethernet
Check out Bazaarvoice IO 2014 Technical Conference keynote speaker Greg Brockman, @thegdb, CTO of Stripe and designer of the Stripe CTF contests discussing how they scaled Stripe from 4 to 94 employees
After deep consideration with our lawyers, we would like to follow suit with Oracle and provide you with the following legal disclaimer about our jOOQ-related conference talks, as presented at the awesome GeekOut conference in Tallinn. Please do read them and take them seriously.
13 Jun 2014
At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Java 8 Friday Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, extension methods, and … Continue reading Java 8…
This blog post explains how to implement email open tracking in Symfony using a transparent tracking pixel. It provides code examples for generating a tracking image response and handling the tracking logic in a controller.
In the first two parts of this series, we talked about how SoundCloud started breaking away from a monolithic Ruby on Rails application into…
12 Jun 2014
Tint is a social media aggregator that enables moderators to curate and publish social media content to a live dashboard in real time with PubNub
Research released earlier this month by MasterCard and the University of Oxford has shown that, despite believing that handling cash is as unhygienic and dirty as public transport hand rails, less than 20% of us wash our hands after holding it.
In the previous post, we talked about how we enabled our teams to build microservices in Scala, Clojure, and JRuby without coupling them…
11 Jun 2014
Getting angular’s watches right can be quite a challenge. There are several ways to watch values from a controller, be it $watch, $watchCollection or $watchGroup. Luckily there’s this amazing article of different ways to watch data that will solve most problems you might encounter. However, most doesn’t mean all: when creating the new admin screens […]
Most of SoundCloud’s products are written in Scala, Clojure, or JRuby. This wasn’t always the case. Like other start-ups, SoundCloud was…
10 Jun 2014
Wondering whether it's time to switch from Standing Order to Direct Debit? Try our quick quiz to find out whether Direct Debit could be a better choice for your business.
9 Jun 2014
I’m pretty sure you’ve gotten it wrong in numerous ways, so far. And you probably won’t get it right any time soon. So why waste your precious time on SQL tweaking, when you could be implementing business logic? Let me explain… It hasn’t been until the recent SQL:2008 standard that what MySQL users know as … Continue reading Stop Trying…
Hey everybody, I’m looking for some fun books (mostly fiction) to read this summer. What would you recommend? One book I recently enjoyed was The Martian, a novel about an astronaut stranded on Mars who needs to figure out how to survive and get home with minimal supplies. It was a little heavy on the […]
8 Jun 2014
Is software antifragile? I think so. I recently finished the book Antifragile – Things that Gain from Disorder by Nassim Nicholas Taleb. I liked it a lot, and I think the ideas in it are quite useful when examining various systems and … Continue reading →
7 Jun 2014
Anthony Starks has remixed my original Google Present based slides using his fantastic Deck presentation tool. You can check out his remix over on his blog, mindchunk.blogspot.com.au/2014/06/remixing-with-deck. I was recently invited to give a talk at Gocon, a fantastic Go conference held semi-annually in Tokyo, Japan. Gocon 2014 was an entirely community-run one day event combining […]
6 Jun 2014
At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Java 8 Friday Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, extension methods, and … Continue reading Java 8…
Find out how to setup Direct Debit without a provider like GoCardless
At Clever we’re building a way for students and teachers to start using learning applications with a click of a button. This is incredibly difficult to do in a school environment, because existing infrastructure is typically incompatible with a world where students use software on the internet. The backbone of the infrastructure at most schools […] The post Engineering at…
5 Jun 2014
How to build mobile group chat apps using 1 line of JavaScript (aka 3 libraries).
Part III – Launching Your First Ubuntu Server Machine In the first post of this series I explained the purpose of this tutorial, the type of audience it targets – Windows/.NET developers & power users, and why does a Windows The post Linux (Ubuntu) Tutorial for Windows Developers & Power Users – Part III appeared first on FullStack - Ofer…
4 Jun 2014
The Go Programming Language (Golang) SDK is now available on PubNub, the world's leadsing real-time communication platform.
For packages go build builds your package then discards the results. go install builds then installs the package in your $GOPATH/pkg directory. For commands go build builds the command and leaves the result the current working directory. go install builds the command in a temporary directory then moves it to $GOPATH/bin. If you liked this […]
Find out when & why you should consider getting your own SUN