It's important to recognize the people that have contributed to your project, but it can be annoying to keep your project's AUTHORS file up to date, and annoying to ask everyone to add themselves in the correct format. So I did what any good engineer should do, and automated the process! I added a simple […]
4 Jun 2014
3 Jun 2014
(Note that I’m not talking about "processing collections in parallel, which is definitely not an anti-pattern…) I figured it was worth starting to blog about anti-patterns I see frequently on Stack Overflow. I realize that some or all of these patterns may be collected elsewhere, but it never hurts to express such things yourself… it’s … Continue reading Anti-pattern: parallel…
Time for another screencast! This one is shorter and shows how easy it is to wrap a jQuery plugin in an Ember.js component for reuse.
2 Jun 2014
In most cases, simply creating an Oracle SEQUENCE with all defaults is good enough: This sequence can then be used immediately in triggers when inserting new records in a table: But if your table has heavy throughput with millions of insertions per day (e.g. a log table), you better configure the sequence cache correctly. The … Continue reading Don’t Forget…
Optimization is by far one of the richest ways to apply computer science and mathematics to the real world. Everybody is looking to optimize something: companies want to maximize profits, factories want to maximize efficiency, investors want to minimize risk, the list just goes on and on. The mathematical tools for optimization are also some of the richest mathematical techniques.…
Okay, it’s been a while since I’ve blogged. Let me tell you about the 30 day challenges I’ve been doing and what I learned: – March 2014: I went back to doing no external email, and I learned this one weird, simple trick that helped. In previous “no email” challenges, I relied on sheer force […]
30 May 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…
29 May 2014
This week, Timo Westkämper from QueryDSL has announced feature completeness on the QueryDSL user group, along with his call for contributions and increased focus on bugfixes and documentation. Timo and us, we have always been in close contact, observing each other’s products. In the beginning of jOOQ in 2009, QueryDSL was ahead of us. But … Continue reading QueryDSL vs.…
Check out how easy it is to integrate PubNub and your app, in this case, a real-time chat app.
One of my more popular blog entries is on using Ember.js without Ember Data. Recently I’ve been going through my old entries and making sure they don’t have any glaring mistakes, and I realized this would be a good opportunity to convert my emberreddit project to ember-cli. This screencast shows how you can build an Ember.js application without using Ember…
28 May 2014
What if developing an application just took 1-2 days? What if I can create it myself with only 10 clicks? What if I don’t need you developers anymore? Said every manager since the beginning of history. This is what all managers dream of. Click click click, next next next, and you’re done! Easy, right? Time-to-market: … Continue reading What if…
27 May 2014
26 May 2014
Yet Another 10 Common Mistakes Java Developers Make When Writing SQL (You Won’t BELIEVE the Last One)
jOOQ(Sorry for that click-bait heading. Couldn’t resist ;-) ) We’re on a mission. To teach you SQL. But mostly, we want to teach you how to appreciate SQL. You’ll love it! Getting SQL right or wrong shouldn’t be about that You’re-Doing-It-Wrong™ attitude that can be encountered often when evangelists promote their object of evangelism. Getting … Continue reading Yet Another…
This post is intended for people with a little bit of programming experience and no prior mathematical background. So let’s talk about numbers. Numbers are curious things. On one hand, they represent one of the most natural things known to humans, which is quantity. It’s so natural to humans that even newborn babies are in tune with the difference between…
24 May 2014
Here’s an email I’ve just got from Devin Wenig, eBay marketplaces president (emphasizes are mine): IMPORTANT: PASSWORD UPDATE Dear eBay Member, To help ensure customers’ trust and security on eBay, I am asking all eBay users to change their passwords. The post eBay, You Disappointed Us Badly appeared first on FullStack - Ofer Zelig's Blog.
I have never felt entirely comfortable with Haskell’s arrows and skimming the literature for their categorical basis didn’t reveal anything as straightforward as monads or applicatives. It did however lead me to start thinking about monoidal categories and since I always want an example, I thought I would write up Hilbert spaces. Let and be … Continue reading A Monoidal…
Go has several ways to declare a variable. Possibly there are more ways than are strictly required but with the Go 1 contract in effect it’s not going to change. This short post gives examples of how I decide which variable declaration syntax to use. These are just suggestions, they make sense to me, but […]
"Unlock the power of Unix-style modular syncing and encryption."
23 May 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…
22 May 2014
Protected: Setting up a Mozilla vcs sync -> mapper development environment
Mozilla Release EngineeringThis post is password protected. You must visit the website and enter the password to continue reading.
If we want to analyse execution plans on the SQL console, we probably need to find a SQL_ID first, which we can the pass to the DBMS_XPLAN.DISPLAY_CURSOR function. One way to find this SQL_ID is by querying the v$sql table first, e.g.: Now, often, you will then get an error message like: ORA-00942: table or … Continue reading Oracle Tip:…
Go obtains much of its compilation speed from the Plan 9 compiler, of which it is a direct descendant. The Plan 9 toolchain deferred much of the work traditionally performed by a compiler to the linking stage and its performance was summarised in section 8 of this paper The new compilers compile quickly, load slowly, […]
21 May 2014
Subscribe to this newsletter here Tweet of the Day Our customers, users, and followers are sharing their love for jOOQ with the world. Here are: Chris Martin who has switched jobs and is now really missing jOOQ. Too bad we can’t offer jOOQ for Python, Chris! Moutaz Salem who had been waiting for jOOQ for all these … Continue reading…
UK businesses have been rather slow when it comes to embracing the internet and, more specifically, online payments.
20 May 2014
Build customizable and interactive user interfaces and a real-time dashboard to monitor your IoT connected devices with freeboard from Bug Labs.
Heartbleed is a bit over one month old now. A bug significant enough to have its own Wikipedia page. Today, we’re going to look into how wrong we have been in assuming that Open Source software is more secure than commercial software, because of our thinking that source code is open and that many developers … Continue reading Free as…
19 May 2014
Everything you need to build real-time web and mobile apps with PubNub and AngularJS tutorials, including walkthroughs, and demos.
Are your customers reluctant to use Direct Debit? We've put together some tips on addressing the two main customer concerns...
This is a quick post to discuss an interesting bug that was recently unearthed by go vet. The following code is a simplified reduction of a larger piece of code. In the original code the if statement was much larger, encompassing several complicated conditions, making the bug hard to spot visually. package main import "fmt" […]
Graphs are among the most interesting and useful objects in mathematics. Any situation or idea that can be described by objects with connections is a graph, and one of the most prominent examples of a real-world graph that one can come up with is a social network. Recall, if you aren’t already familiar with this blog’s gentle introduction to graphs,…
17 May 2014
You’ve given a talk. It went great, and now everyone wants to see the slides. Hurray! Before we do anything else: give yourself a high-five. Giving a talk is hard, and you did it! This is something to be proud about. Here’s the thing about slides, though: if you did them right, your slides should be pretty sparse. They’ll have…
16 May 2014
I’ve always found Portable Class Library (PCL) configuration to be a bit of a mystery. In simple cases, it’s simple: start a new PCL project in Visual Studio, select the environments you want to support, and away you go. But what’s going on under the hood, and what do all the options mean? How do … Continue reading Diagnosing Portable…
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…
Direct Debit can help you with one-off and recurring payments - both fixed and variable - but there are some types of transaction which you shouldn't ever use it for.
15 May 2014
Part II – Ubuntu & Flavors of Linux In the first post of this series I explained the purpose of this tutorial, what type of audience it targets – Windows/.NET developers & power users, and why does a Windows power The post Linux (Ubuntu) Tutorial for Windows Developers & Power Users – Part II appeared first on FullStack - Ofer…
Bower power! AngularJS is now PubNub-enabled. This blog shows you how to integrate your AngularJS library with your web or mobile app.
Here’s a guide to help you figure out whether the time is right
14 May 2014
This blog post walks you through the different ways to use PubNub and AngularJS for presence user detection.
13 May 2014
Part I – Introduction This post will be the beginning of a series of posts, I still don’t know how many, that will attempt to teach you the basics of using Linux, specifically using Ubuntu Server (why Ubuntu and why The post Linux (Ubuntu) Tutorial for Windows Developers & Power Users – Part I appeared first on FullStack - Ofer…
How to add access management to your AngularJS web or mobile app. Manage granular permissions for your real-time apps and data.
SQL Server is known to have a very strict interpretation of the SQL standard. For instance, the following expressions or statements are not possible in SQL Server: Strictly speaking, that limitation makes sense because the above ROW_NUMBER() or OFFSET expressions are non-deterministic. Two subsequent executions of the same query might produce different results. But then … Continue reading SQL Server…
We still don’t recommend using Direct Debit for instant payments like e-commerce but Direct Debit is a safe, easy and inexpensive way to collect one-off payments.
12 May 2014
Recently, at the office: Bob: I’ve looked into that slow query you’ve told me about yesterday, Alice. I’ve added the indexes you wanted. Everything should be fine now Alice: Thanks Bob. I’ll quickly check … Nope Bob, still slow, it didn’t seem to work Bob: You’re right Alice! It looks like Oracle isn’t picking up … Continue reading The Index…
11 May 2014
Introduction I have seen Hölder’s inequality and Minkowski’s inequality proved in several ways but this seems the most perspicuous (to me at any rate). Young’s Inequality If and such that then A and satisfying the premise are known as conjugate indices. Proof Since is convex we have Substituting in appropriate values gives or Now take … Continue reading Hölder’s and…
9 May 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…
Learn about this procedure for validating sort code and account number combos.
I have updated my unofficial ARM tarball distributions page with prebuilt Go 1.2.2 and Go 1.3beta1 tarballs. You can find them by following the link in the main header of this page.
Let’s talk about the stream. The SoundCloud stream represents stuff that’s relevant to you primarily via your social graph, arranged in time…
8 May 2014
ADDACS messages are the messages you receive from your customer’s bank if a mandate has been cancelled or amended by your customer.
7 May 2014
I have several projects on the hop at the moment which require control over a serial port, actually a serial port emulated over USB. So for the last few days I’ve let myself be distracted by writing yet another serial package for Go. github.com/pkg/term term is built on a lower level package, called termios which provides […]
I’ve recently stumbled upon this interesting Stack Overflow question, where the user essentially wanted to ensure that resulting records are delivered in a well-defined order. They wrote They got CE367FAACDHCANPH-151556 CE367FAACEX9ANPH-153877 GE526OTACCD3ANPH-149839 NI564FAACJSFANPH-162605 They wanted CE367FAACDHCANPH-151556 CE367FAACEX9ANPH-153877 NI564FAACJSFANPH-162605 GE526OTACCD3ANPH-149839 Very often, according to your business rules, sorting orders are not “natural”, as in numeric sortin
An AUDDIS report is triggered when there is a problem during mandate setup. We thought it might be useful to explain some common pitfalls and how you can avoid or resolve them.
6 May 2014
An ARUDD report is triggered when a payment fails. In this article, we explain the two most common reasons for payments failing and how you can avoid or resolve them.
5 May 2014
I didn’t plan this to be the first blog post in my brand new blog, but it’s something I had in mind for quite a long time and I’ve just stumbled across Scott Hanselman’s great Microsoft killed my Pappy post. The post Microsoft, This Is the One Gift You Should Give to the World appeared first on FullStack - Ofer…
Every now and then, I miss SQL’s three-valued BOOLEAN semantics in Java. In SQL, we have: TRUE FALSE UNKNOWN (also known as NULL) Every now and then, I find myself in a situation where I wish I could also express this UNKNOWN or UNINITIALISED semantics in Java, when plain true and false aren’t enough. Implementing … Continue reading Three-State Booleans…
4 May 2014
Gophers gather for insightful talks on Go's best practices and innovations.
Now that go1.3beta1 has been released I’ve updated the autobench-next branch to track Go 1.2 vs tip (go1.3beta1). Using autobench is very simple, clone the repository and run make to produce a benchmark on your machine. % cd devel % git clone -b autobench-next https://github.com/davecheney/autobench.git % cd autobench % make You can stay up to date with […]
3 May 2014
Javascript is a fantastic example of how something, despite having visible warts and very poor design, can dominate the tech landscape. Nobody uses Javascript because it’s a beautiful language; they use it because it’s ubiquitous. Its warts are now well understood and most have workarounds. An amazing omission in Javascript’s design is the lack of a built-in module system. As…
2 May 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…
1 May 2014
SoundCloud is pleased to introduce a new major version of the SoundCloud JavaScript SDK. In version 2, we’ve rewritten much of the internal…
30 Apr 2014
Subscribe to this newsletter here Tweet of the Day Our customers, users, and followers are sharing their love for jOOQ to the world. Here are: Santiago M. Mola who appreciates jOOQ’s affinity to SQL features and its correctness @LucioIO Something I love about @JavaOOQ is that it (correctly) supports almost any type or feature supported by … Continue reading jOOQ…
29 Apr 2014
If anything at all, our jOOQ talks at various JUGs and conferences have revealed mostly one thing: Java developers don’t know SQL. And it isn’t even necessarily our fault. We’re just not exposed to SQL nowadays. But consider this: We developers (or our customers) are paying millions of dollars every year to Oracle, Microsoft, IBM, … Continue reading NoSQL? No,…
from Release Engineering work week in Portland, 29 April 2014Video of this presentation So in Part 1 and 2, we saw how Buildbot tegra and panda masters can assign jobs to Buildbot slaves, and that these slaves run on foopies, and that these foopies then connect to the SUT Agent on the device, to deploy and perform the tests, and…
from Release Engineering work week in Portland, 29 April 2014Video of this presentation By design, Buildbot masters require a Buildbot slave to perform any job. For example, if we have a Windows slave for creating Windows builds, we would expect to run a Buildbot slave on the Windows machine, and this would then be assigned tasks from the Buildbot master,…
28 Apr 2014
I found that it’s pretty hard to have a project with high test coverage and fast build… if the tests are slow, people will feel the need to skip them to speed up the build, and will probably write fewer tests than they should, afraid that the build will become even slower. You go out for a walk and when…
Go aka golang is an amazing language but also a language that is really easy to learn due to its small scope. If you have some coding experience, you will be able to have fully working code in a matter of minutes otherwise you might want to read my free book (WIP). Very much like with many other programming languages,…
27 Apr 2014
Our current project uses JSF and CDI for the presentation layer. The business logic is encapsulated inside EJB with no-interface view as proposed by Adam Bien and others. I evaluated different alternatives for integration testing and ended up with Arquillian. For JSF/CDI based applications Arquillian is the best fit. As […] The post Doing integration tests with Arquillian and real…
We were counting down the days until Berlin Buzzwords on May 25, when we realised that it would be great if you came too! With that in mind…
26 Apr 2014
from Release Engineering work week in Portland, 29 April 2014Video of this presentation So first key point unveiled: Second key point: To answer this, first remember the wide variety of builds and tests we perform: The answer is: Notice: So as you see, a panda is a more serious piece of kit than a tegra. Think of a tegras as…
Hi everybody! Updated Mar 3rd 2015: Are you using Laravel 5? Check these changes! Updated May 11th 2014: Using Corcel project Currently I am working on a project where I had to make some choices about technologies and how work with them together. First this project will be developed using WordPress only. It’s a College … Continue reading Working with…
25 Apr 2014
The ability to instantly cancel a Direct Debit instruction is an important right for your customers.
24 Apr 2014
The other day Apple released a major security update that fixes a number of terrifying things that can happen to your OS/X and iOS devices. You should install it. Not only does this fix a possible remote code execution vulnerability in the JPEG parser (!), it also patches a TLS/SSL protocol bug known as the “Triple Handshake” … Continue reading…
23 Apr 2014
Keep on top of advance notice with six quick questions to ask yourself
22 Apr 2014
But only if your family is code. So this is a bit of a terrible blog post because a) it’s about a really obscure atrocity that happens in C++ (as opposed to the common atrocities that happen in C++ on the regs) and b) there are not enough funnies in the world to make up for it. I recommend skipping…
21 Apr 2014
The Heartbleed bug was really bad for OpenSSL - it let you ask a server a simple question like "How are you" and then have the server tell you anything it wants (password data, private keys that could be used to decrypt all traffic), and the server would have no idea it was happening. A […]
In a previous post we introduced a learning model called Probably Approximately Correct (PAC). We saw an example of a concept class that was easy to learn: intervals on the real line (and more generally, if you did the exercise, axis-aligned rectangles in a fixed dimension). One of the primary goals of studying models of learning is to figure out…
20 Apr 2014
Introduction This post presents one technique for installing and using multiple versions of Go on a machine. This is a technique I use often as we have standardised on Go 1.2.1 for developing Juju, but develop on the tip of Go itself. You may find this technique useful for do comparisons between various Go versions for […]
18 Apr 2014
…"‘Our speech interposes itself between apprehension and truth like a dusty pane or warped mirror. The tongue of Eden was like a flawless glass; a light of total understanding streamed through it. Thus Babel was a second Fall.’ And Isaac the Blind, an early Kabbalist, said that, to quote Gershom Scholem’s translation, ‘The speech of men is connected with divine…
16 Apr 2014
Subscribe to this newsletter here Tweet of the Day Our customers, users, and followers are sharing their love for jOOQ to the world. Here are: Mahmud who cannot wait to make more magic with jOOQ. https://twitter.com/bigthingist/status/455985890125287424 Peter Kopfler who, after hearing about jOOQ and SQL in Vienna is thrilled to take a deep dive into the … Continue reading jOOQ…
15 Apr 2014
The open source community was shocked to learn Tuesday that millions of lines of source code had gone missing from Github.com, a popular online version control website. Github stores source code in "reposotories", which are big chunks of code that can be edited by Github members. Most version control websites will keep a small portion […]
Haven’t we all been wondering: How can I do this? I have these data in Excel and I want to group / sort / assign / combine … While you could probably pull up a Visual Basic script doing the work or export the data to Java or any other procedural language of choice, why … Continue reading How can…
14 Apr 2014
On a Friday in April, the lines for Space Mountain and Thunder Valley did not exceed 10 minutes all day. Astro Blasters twice had 4 people in line. The price is $60, which is ~$30 cheaper than Anaheim. It was about 80 degrees during the day and 70 at night. Also when you exit Disneyland […]
Last time we saw the Diffie-Hellman key exchange protocol, and discussed the discrete logarithm problem and the related Diffie-Hellman problem, which form the foundation for the security of most protocols that use elliptic curves. Let’s continue our journey to investigate some more protocols. Just as a reminder, the Python implementations of these protocols are not at all meant for practical…
13 Apr 2014
A few weeks ago I had a talk with one of my co-workers in which he said he had not evolved technically and personally in the past months. Aside from the fact that I had a different view it made me think of my own current situation. Which insights did […] The post Things I have learned in the last…
11 Apr 2014
Cloudformation is a powerful tool for building large, coordinated clusters of AWS resources. It has a sophisticated API, capable of supporting many different enterprise use-cases and scaling to thousands of stacks and resources. However, there is a downside: the JSON interface for specifying a stack can be cumbersome to manipulate, especially as your organization grows […]
Looks like everyone had a blast at bv.io this year! Thank yous go out to the conference speakers and hackathon participants for making this year outstanding. Here are some tweets and images from the conference: RT @bazaarbrett: Hackathon is kicking off, very glad to be here! #bvhackathon pic.twitter.com/q8dnfqlQxh — Bazaarvoice (@Bazaarvoice) April 2, 2014 https://twitter.com/bentonporter/status/451362916181090304 […]
ORM Cheatsheet is a useful website that serves as a quick reference guide for developers struggling to remember how to use common PHP ORM libraries like Doctrine 2 and Propel. It provides examples for annotations, relationships, and configuration.
On Monday, April 7th, 2014, a major security vulnerability in OpenSSL was made public. The vulnerability was filed as CVE-2014-0160 and…
We’ve taken some time to bring all our developer resources together into a single site. In doing so, we’ve reorganized the layout to make…