If you had to pick the top four cities that matter the most in the U.S. based on the industry that they represent, which cities would you pick? I’d argue for these four: – New York City: money/finance/Wall Street – Los Angeles: culture, such as TV and movies – Silicon Valley (taking San Jose up […]
11 Nov 2014
When writing DDL in SQL, you can specify a couple of constraints on columns, like NOT NULL or DEFAULT constraints. Some people might wonder, if the two constraints are actually redundant, i.e. is it still necessary to specify a NOT NULL constraint, if there is already a DEFAULT clause? The answer is: Yes! Yes, you … Continue reading Have You…
Googlers love to discuss and debate things within the company. As a rule of thumb, the internal discussion is civil and respectful, but can be passionate. I may take a few of my favorite internal posts that I wrote, tweak them a bit, and publish them here just so I can refer to them more […]
10 Nov 2014
satellite One of the most interesting questions posed in the last thirty years of computer science is to ask how much “information” must be communicated between two parties in order for them to jointly compute something. One can imagine these two parties living on distant planets, so that the cost of communicating any amount of information is very expensive, but…
You have many choices about where to put your data (email, docs, calendar, contacts): Apple, Microsoft, Google, Amazon, Facebook, Twitter, open source/self-hosting, etc. One big consideration for me is how hard it is to export my data. In essence, I’m looking for the exits before I even sit down in any company’s virtual room. For […]
Design for disaster: Building software that survives production chaos.
I've noticed that builds are broken and tests fail a lot more often on open source projects than on “work” projects. I wasn't sure how much of that was my perception vs. reality, so I grabbed the Travis CI data for a few popular categories on GitHub1. For reference, at every place I've worked, two 9s of reliability (99% uptime)…
9 Nov 2014
On balance, I’m already a Charlie Huston fan. My previous favorite book by Huston is Already Dead, which is a hard-boiled noir novel about vampires in the New York underground. I didn’t care for the rest of the trilogy quite as much, but Huston is high on the list of authors I enjoy. I’m not […]
A closer look at one of the reasons why designers don't participate in the open source community. (This links out to designopen.org)
8 Nov 2014
A few years ago I read some short financial advice by Scott Adams, the author and creator of the Dilbert cartoon. It’s great advice–it’s perfect for 95% of Americans’ finances and investing. Without further ado, here is Dilbert’s One Page Personal Finance List: Make a will. Pay off your credit card balance. Get term life […]
7 Nov 2014
When is a string not a string? As part of my “work” on the ECMA-334 TC49-TG2 technical group, standardizing C# 5 (which will probably be completed long after C# 6 is out… but it’s a start!) I’ve had the pleasure of being exposed to some of the interesting ways in which Vladimir Reshetnikov has tortured … Continue reading When is…
If you’re using a commercial database or PostgreSQL / Firebird / CUBRID, you will be able to take advantage of the full power of window functions. We’ve blogged about window functions’ awesomeness a couple of times, in particular about ROW_NUMBER(), RANK(), DENSE_RANK(). Today, we’re going to look into some awesome window functions that produce values … Continue reading Don’t Miss…
Before 2011, I had never run farther than eight miles. Then I found a program called USA FIT which helps runners across the country train up and run a marathon. My goal was to run one marathon and then stop, but I found some friendly folks and so I just kept running. It’s been wonderful. […]
There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase that when you get the types to line up, everything just works, to “not relying on type safety is unethical (if you have an SLA)”1, "It boils down to cost vs benefit, actual studies, and mathematical axioms, not aesthetics or feelings",…
6 Nov 2014
This post has a few purposes – it’s partly a bit of advertising, but it’s also meant to serve as a quick way of replying to speaking requests for a while… if you’ve been directed here by an email from me, I hope you’ll excuse the “form letter” approach. (You can probably skip down to … Continue reading Writing and…
Hey Active.com, I know that a lot of races rely on you for registration. And you do some things really well, like handling the spike of traffic when a race opens up for registration. But you do some stuff really badly. Here’s some feedback about things you could do better. Negative Option Billing? I always […]
For the past four weeks, I've been keeping a very public and open version of my personal goals on Github. Its definitely made me a lot more productive, and you should give it a try.
5 Nov 2014
The latest version of the Intel manual has a couple of new instructions for non-volatile storage, like SSDs. What's that about? Before we look at the instructions in detail, let's take a look at the issues that exist with super fast NVRAM. One problem is that next generation storage technologies (PCM, 3d XPoint, etc.), will be fast enough that syscall…
4 Nov 2014
Moving from Halloween to running, I wanted to blog about what it’s like to “bonk” or hit the wall while running a marathon. I’m a slow runner. Hell, I’m a slow walker. I consider it a great marathon if I finish in just under five hours. This past weekend at the Morgan Hill marathon, I […]
Check out this list of the 6 things you need to know about developing WebRTC video and voice applications. It's communication, 100% in the browser.
A procedural language combined with SQL can do miracles in terms of productiveness, performance and expressivity. In this article, we’ll see later on, how we can achieve the same with SQL (and PL/SQL) in Java, using jOOQ, which offers much more functionality than Oracle’s own now desupported JPublisher. But first, a little bit of history… … Continue reading Access PL/SQL…
Surviving the Reddit hug of death: A tech tale of triumph.
It is now possible to search by country, code, or system name directly within the app.
3 Nov 2014
Revisiting my post about error handling and exceptions, written well before Go hit 1.0, I’m pleased that it stands the test of time. Java has comprehensively demonstrated that checked exceptions (actually having both checked and unchecked exceptions) has been a disaster for the evolution of the language. Checked exceptions have placed a suffocating yoke of backward compatibility on […]
Okay, so you can project light onto a canvas to easily try out an idea. I decided to try one more Halloween costume: Edvard Munch’s The Scream. I started by finding a high-resolution version of The Scream. Next I projected the painting onto a canvas: Then I took a pencil and traced the strokes of […]
So, you’ve been working with Java since the very beginning? Remember the days when it was called “Oak”, when OO was still a hot topic, when C++ folks thought that Java had no chance, when Applets were still a thing? I bet that you didn’t know at least half of the following things. Let’s start … Continue reading 10 Things…
I already talked about using a projector to prototype a Halloween costume. One Halloween idea that worked out better than I expected was Jack Nicholson from The Shining. Remember the scene when Jack axes his way through a door, announcing “Here’s Johnny!”? It looked like this in the movie: I started by letting some stubble […]
Once upon a time, my computer architecture professor mentioned that using a random eviction policy for caches really isn't so bad. That random eviction isn't bad can be surprising — if your cache fills up and you have to get rid of something, choosing the least recently used (LRU) is an obvious choice, since you're more likely to use something…
This is an off-the-cuff comment for Hacker School's Paper of the Week Read Along series for Out of the Tar Pit. I find the idea itself, which is presented in sections 7-10, at the end of the paper, pretty interesting. However, I have some objections to the motivation for the idea, which makes up the first 60% of the paper.…
1 Nov 2014
For Halloween this year I was thinking about famous works of art like Rene Magritte’s Son of Man or more popular works like the “Hang in There, Baby!” kitten. I was also thinking about canvases. You can buy a cheap canvas at local craft stores for $10 or so. I was thinking: wouldn’t it be […]
31 Oct 2014
In the past for Halloween, I’ve often dressed up as internet memes (Rick Astley, anyone?) or topical things from the news (like Matt/Mitt Romney). This year I was running dry on ideas until a few days before Halloween. Then I started to think about famous artwork–more on that in a future Halloween post. One idea […]
The jOOQ ecosystem and community is continually growing. We’re personally always thrilled to see other Open Source projects built on top of jOOQ. Today, we’re very happy to introduce you to a very interesting approach at combining REST and RDBMS by Björn Harrtell. Björn Harrtell is a swedish programmer since childhood. He is usually busy … Continue reading A RESTful…
30 Oct 2014
For October 2014, my 30 day challenge was to write a compliment a day for my wife. I liked that challenge because it was a good chance to be thankful for my wife after 15 years of marriage. It’s all too easy to settle into a routine and take things (or people) for granted. For […]
This tutorial shows you how to convert a JavaScript web application into an iOS application with PhoneGap, as well as manually with Cordova CLI.
Direct Debit isn't only great for regular, fixed payments.
29 Oct 2014
The Direct Debit Guarantee protects customers against payments made in error or fraudulently, making Direct Debit the UK's safest payment method.
A few years ago I came across an amusing Slashdot story: ‘Australian Gov’t offers $560k Cryptographic Protocol for Free‘. The story concerned a protocol developed by Australia’s Centrelink, the equivalent of our Health and Human Services department, that was wonderfully named the Protocol for Lightweight Authentication of ID, or (I kid you not), ‘PLAID‘. Now to … Continue reading Attack…
Custom online globe for your website using WebGL Earth.
28 Oct 2014
This tutorial shows you how to build a Chrome Extension to broadcast Chrome push notifications to desktop users.
First of all ng-europe 2014 was a really great conference. Many high level talks, the core AngularJS team really accessible and awesome attendants. Many thanks to the organising team who made this event happen. We were proud to be among the sponsors! There was so much to learn and to take home from this event, […]
27 Oct 2014
The keyboard, where our hands are placed most of the time (as developers), is the fastest navigation method by default. Knowing how to navigate yours system via keyboard will really optimize your workflow.
26 Oct 2014
A topic that has weighed on my mind recently is the dichotomy of frameworks vs. libraries in the Go community. Is the prevailing stance against complex frameworks a rejection of this purported labour saving automation, or an enlightened position that has weighed the pro’s and cons and found the costs of a framework based approached outweighs the benefits ? […]
Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. —- Wikipedia
25 Oct 2014
Managing 20+ servers as a small team is no easy task, and when things go wrong (they always do) figuring out what happened quickly is essential. Of course we can't ssh into each machine, that would take ages, so instead we use Logstash to aggregate our logs. This is the second post in my 10x series, and if you missed…
24 Oct 2014
In this talk, Joseph Gentle talks about what operational transform is, what apps you can build with it, and why it's essential for collaborative apps
23 Oct 2014
For a while now, I’ve been a big fan of a pattern in C# which mimics Java enums to a certain extent. In general, it’s a lovely pattern. Only after reading a comment on a recent blog post by Eric Lippert did I find out about a horrible flaw. Dubious thanks to John Payson for … Continue reading Violating the…
I wanted to find an easy way to stream a Map in Java 8. Guess what? There isn’t! What I would’ve expected for convenience is the following method: But there’s no such method. There are probably a variety of reasons why such a method shouldn’t exist, e.g.: There’s no “clear” preference for entrySet() being chosen … Continue reading Let’s Stream…
22 Oct 2014
This tutorial shows you how to convert a JavaScript web application into an Android application with PhoneGap, as well as manually with Cordova CLI.
In his talk, Pete Hunt gives an overview of the library, and walks through ReactJS in action (talk includes stick figures, emotion, and ice cream).
As part of preparing for my dotGo talk I updated a few of my packages to use the functional options pattern. I only had time to show one of those packages on stage, pkg/term. This is a post about one that was left on the cutting room floor. Last year I wrote a simple package […]
20 Oct 2014
One of MongoDB’s arguments when evangelising MongoDB is the fact that MongoDB is a “schemaless” database: Why Schemaless? MongoDB is a JSON-style data store. The documents stored in the database can have varying sets of fields, with different types for each field. And that’s true. But it doesn’t mean that there is no schema. There … Continue reading Stop Claiming…
A few football clubs have started offering Direct Debit as a way for fans to spread their costs and make season tickets more affordable.
19 Oct 2014
Every once in a while, I hear how intrinsics have improved enough that it's safe to use them for high performance code. That would be nice. The promise of intrinsics is that you can write optimized code by calling out to functions (intrinsics) that correspond to particular assembly instructions. Since intrinsics act like normal functions, they can be cross platform.…
17 Oct 2014
A while ago, we have published this fun game we like to call Spring API Bingo. It is a tribute and flattery to Spring’s immense creativeness when forming meaningful class names like FactoryAdvisorAdapterHandlerLoader ContainerPreTranslatorInfoDisposable BeanFactoryDestinationResolver LocalPersistenceManagerFactoryBean Two of the above classes actually exist. Can you spot them? If no, play Spring API Bingo! Clearly, the … Continue reading The dreaded…
16 Oct 2014
What follows is the text of my presentation, Functional options for friendly APIs that I gave at dotGo this year. It has been edited slightly for readability. I want to thank Kelsey Hightower, Bill Kennedy, Jeremy Saenz, and Brian Ketelsen, for their assistance in preparing this talk. I want to begin my talk with a […]
Maps rendered with MapTiler or available as MBTiles file can be uploaded to Amazon S3 and viewed using libraries such as Leaflet, OpenLayers, WebGL Earth, Google Maps API, MapBox.js, etc.
The Media Queries 4 spec brings insight to technological capabilities that are coming up soon (this is based on the Editor’s Draft, October 10, 2014).
15 Oct 2014
Believe it or not, there’s a new attack on SSL. Yes, I know you’re thunderstruck. Let’s get a few things out of the way quickly. First, this is not another Heartbleed. It’s bad, but it’s not going to destroy the Internet. Also, it applies only to SSLv3, which is (in theory) an obsolete protocol that … Continue reading Attack of…
13 Oct 2014
So, after a journey of almost a year since I decided/wanted I need to learn AngularJS, here is some compilation of my experience with AngularJS learning: recommended quickstart/learning resources, main influencers (blogs, podcasts etc.), gotchas and a general roadmap. For The post Beginning AngularJS: Best Paths to Take, Recommended People & Resources to Follow appeared first on FullStack - Ofer…
12 Oct 2014
Building a scalable & reliable Android and iOS chat application with PubNub Data Streams and Storage & Playback is easy! Here's how Smacktive did it.
10 Oct 2014
Updated with second round script in Oct 26, 2014.
9 Oct 2014
In this tutorial we'll create a colorful word cloud based on a blog with D3js and the PubNub Storage & Playback history API.
8 Oct 2014
In this tutorial, we'll walk you through how to build a fully customizable real-time dashboard for metrics.
We'll show you how to build real-time visualizations with D3js and PubNub, in this case streaming JSON to create a dynamic bubble chart.
7 Oct 2014
A live video tutorial on building a real-time chat application with AngularJS and PubNub in less than 100 lines of HTML and JavaScript.
6 Oct 2014
A lot of clubs and teams are using the wrong payment method to collect their membership fees. To help you decide whether your club is using the right payment option we’ve put together a list of three quick questions for you.
5 Oct 2014
I recently wrapped up a fun paper with my coauthors Ben Fish, Adam Lelkes, Lev Reyzin, and Gyorgy Turan in which we analyzed the computational complexity of a model of the popular MapReduce framework. Check out the preprint on the arXiv. Update: this paper is now published in the proceedings of DISC2015. As usual I’ll give a less formal discussion…
4 Oct 2014
Last week I wrote about Apple’s new default encryption policy for iOS 8. Since that piece was intended for general audiences I mostly avoided technical detail. But since some folks (and apparently the Washington Post!) are still wondering about the nitty-gritty details of Apple’s design, I thought it might be helpful to sum up what we know … Continue reading…
3 Oct 2014
When initialising a variable with a composite literal, Go requires that each line of the composite literal end with a comma, even the last line of your declaration. This is the result of the semicolon rule. Although possibly an unintended consequence, this means that when proposing a one line change, it really is a one line change. The […]
I have updated my unofficial ARM tarball distributions page with prebuilt Go 1.3.3 tarballs. You can find them by following the link in the main header of this page.
2 Oct 2014
More and more people are catching up with the latest update to our platform by adopting functional programming also for their businesses. At Data Geekery, we’re using Java 8 for our jOOQ integration tests, as using the new Streams API with lambda expressions makes generating ad-hoc test data so much easier. However, we don’t feel … Continue reading Don’t Miss…
This guide provides an uncomplicated method to simulate TCP resets (RST) in a test setting. It's a step-by-step tutorial to facilitate the procedure.
1 Oct 2014
An overview on WebSockets and HTTP Long Polling for data streaming/push. Also includes tutorials for Pub/Sub with JavaScript, Ruby and Python.
Managing a club or society is a lot of work – that’s before you even get to deciding on teams, formations or tactics. Here are our four top tips on cutting down some of this unwanted admin so you can get back to the activities you really love.
This is the first post in my new series 10x, where I share my experiences and how we do things at Clay.io to develop at scale with a small team. Update: 10x: Logging at Clay.io 10x: Docker at Clay.io The Cloud CloudFlare CloudFlare handles all of our DNS, and acts as a distributed caching proxy with some additional DDOS protection…
30 Sept 2014
Note: I’ve now identified two bugs in TimeZoneInfo… details later in the post. Background Early on Friday morning (UTC), IANA released version 2014h of the time zone database. As a dutiful Noda Time maintainer, I fetched it, converted it into our native format, and ran the unit tests prior to pushing the new version. Unfortunately, … Continue reading The mysteries…
This Ember.js tutorial shows you how to build a real-time Ember.js application with PubNub in 99 lines of code (aka 60 seconds).
We’ve been in business for more than one year now with our dual-licensing strategy for jOOQ. While this strategy has worked very well for us, it has also been a bit of a challenge for some of our customers. Today, we’re going to show you what caveats of dual-licensing we’ve run into. Our dual-licensing strategy … Continue reading The Caveats…
29 Sept 2014
We brought 24 demo Tessels for the MIT students and faculty to hack on. Tessel is an IoT microcontroller that runs Lua, transpiled from JavaScript.
PubNub had applied patches to address the Bash Bug Shellshock vulnerability across our entire data stream infrastructure.
The Mona Lisa Leonardo da Vinci’s Mona Lisa is one of the most famous paintings of all time. And there has always been a discussion around her enigmatic smile. He used a trademark Renaissance technique called sfumato, which involves many thin layers of glaze mixed with subtle pigments. The striking result is that when you look directly at Mona Lisa’s…
CVE-2014-6271 and CVE-2014-7169, also known as “Shellshock”, are high impact vulnerabilities affecting the Born Again Shell (BASH). The vulnerability allows an attacker to trick Bash into running arbitrary commands which could result in unauthorized disclosure of information, unauthorized modification and disruption of service. Because this is such a big threat, and because at Clever we take security […] The post…
28 Sept 2014
It’s occasionally useful when writing map/reduce jobs to get a hold of the current filename that’s being processed. There’s a few ways to do this, depending on the version of Spark that you’re using. Spark 1.1.0 introduced a new method on HadoopRDD that makes this super easy: import org.apache.hadoop.io.LongWritable import org.apache.hadoop.io.Text import org.apache.hadoop.mapred.{FileSplit, TextInputFormat} import org.apache.spark.rdd.HadoopRDD // Create the text…
Build tags are part of the conditional compilation system provided by the go tool. This is a quick post to discuss using build tags to selectively enable debug printing in a package. This afternoon I merged a contribution to pkg/sftp which improved the packet encoding performance but introduced a bug where some packet types were incorrectly encoded. % […]
26 Sept 2014
Controversial database topics are a guaranteed success on reddit, because everyone has an opinion on those topics. More importantly, many people have a dogmatic opinion, which always triggers more debate than pragmatism. So, recently, I posted a link to an older article titled The Database As Queue Anti-Pattern by Mike Hadlow, and it got decent … Continue reading Using Your…
25 Sept 2014
Announcing PubNub Real-time Analytics dashboard with new metrics for PubNub data streams.
24 Sept 2014
A tutorial on global, multidata center MongoDB replication, part of our growing collection of persistence adapters for PubNub using Node.JS
Part IV – Where Is This Blog Post Series Heading To? Those of you who have followed this blog post series (millions. I know.) might have asked themselves what about subsequent posts, because it’s been a while. The answer is The post Linux (Ubuntu) Tutorial for Windows Developers & Power Users – Part IV appeared first on FullStack - Ofer…
23 Sept 2014
Blogging has been slow, but only because some of it has been redirected. There’s good stuff coming, including a neat post on the subject of RSA encryption and how it relates to the German army in World War II. In the meantime, please go read this (somewhat non-technical) piece I wrote for Slate on the … Continue reading Slate piece…
Reactive programming is the new buzzword, which essentially just means asynchronous programming or messaging. Fact is that functional syntax greatly helps with structuring asynchronous execution chains, and today, we’ll see how we can do this in Java 8 using jOOQ and the new CompletableFuture API. In fact, things are quite simple: What did really happen … Continue reading Asynchronous SQL…
22 Sept 2014
Power IoT in 4 lines of JavaScript with Tessel and PubNub. Tessel is a small, powerful microcontroller that runs entirely on JavaScript.
What do people do when they run out of topics? They recycle previous topics and create top 10 lists. Here is a list of the top 10 most popular articles from the jOOQ blog: Top 10 Very Very VERY Important Topics to Discuss A fun, not so serious parody on what is being discussed on reddit’s … Continue reading Top…
19 Sept 2014
Securing your home automation solution is paramount. We'll go through a couple home automation security considerations and what the future holds.
So far our discussion of learning theory has been seeing the definition of PAC-learning, tinkering with it, and seeing simple examples of learnable concept classes. We’ve said that our real interest is in proving big theorems about what big classes of problems can and can’t be learned. One major tool for doing this with PAC is the concept of VC-dimension,…