~/devreads

26 Mar 2015

lukaseder 1 min read

Some queries shouldn’t hit the database all the time. When you query for master data (such as system settings, languages, translations, etc.), for instance, you may want to avoid sending the same silly query (and the results) over the wire all the time. For example: Most databases maintain buffer caches to accelerate these queries, so … Continue reading Hack up…

javajava 8sqlcachejdbc

oferzelig 6 min read

TL;DR: It lets you make significant code and structural changes without fear, experiment features safely and much more. This post is a bit different from the rest of the posts in this blog. It is aimed towards developers in their The post Why You Should Use a Source Control Management System for Even the Simplest, Single-Developer Project appeared first on…

uncategorized

Dave Cheney 2 min read

When I was younger, I wanted to learn to play the guitar (this was the 90’s after all). So I cracked open my piggy bank, bought a decent beginners guitar and took some lessons. I regularly bought the guitar magazines that appeared in the local newsagent and practised along to my favourite songs. I noodled […]

gosmall ideassimplicity

24 Mar 2015

lukaseder 1 min read

Hibernate has become a de-facto standard in the Java ecosystem, and after the fact, also an actual JavaEE standard implementation if standards matter to you, and if you put the JCP on the same level with ISO, ANSI, IEEE, etc. This article does not intended to discuss standards, but visions. Hibernate shares JPA’s vision of … Continue reading jOOQ vs.…

javasqlhibernatejooqorm

4 min read

My favourite thing about the Chromium code is this enum of cats and all the comments in that file. My second favourite thing is OWNER files. Guess what this post is about (hint: it’s not about cats NOT EVERYTHING IS ABOUT CATS, OK?) Edit: In a clear and deliberate conspiracy, the cats have been removed from Chromium. The old new…

23 Mar 2015

Fahd Siddiqui 5 min read

A distributed data system consisting of several nodes is said to be fully consistent when all nodes have the same state of the data they own. So, if record A is in State S on one node, then we know that it is in the same state in all its replicas and data centers. Full […]

big data

1 min read

Last time we defined the Hamming code. We also saw that it meets the Hamming bound, which is a measure of how densely a code can be packed inside an ambient space and still maintain a given distance. This time we’ll define the Reed-Solomon code which optimizes a different bound called the Singleton bound, and then generalize them to a…

20 Mar 2015

Kim Moir

We migrated most of our Mac OS X 10.8 (Mountain Lion) test machines to 10.10.2 (Yosemite) this quarter. This project had two major constraints: 1) Use the existing hardware pool (~100 r5 mac minis) 2) Keep wait times sane. (The machines are constantly running tests most of the day due to the distributed nature of the Mozilla community and this…

19 Mar 2015

Dave Cheney 1 min read

I am frequently contacted by recruiters looking for leads. This isn’t an attempt to blow my own horn, I’m sure you are also constantly pestered. What is frustrating is the recruiters who come calling for leads are universally unaware of the meetups and user groups in the local area for the role they are recruiting […]

small ideasrecruiting

18 Mar 2015

lukaseder 1 min read

One year ago, on March 18, 2014, Java SE 8 was released, and with it, the bliss of functional programming through lambda expressions and the streams API. These were great news for all of our Java ecosystem, and many people have already upgraded to Java 8. Stack Overflow already yields almost 2500 questions about Java … Continue reading One Year…

java 8bugscompiler bugscompilerseclipse

Mohit Gupta 3 min read

Student Data privacy and security are our foremost responsibilities here at Clever. We invest heavily to ensure that we are improving privacy for schools, students, and teachers, and we make sure that everyone at Clever is constantly working towards this goal. About five months ago, we were made aware of aspects of our privacy policy […] The post Open Sourcing…

privacy

17 Mar 2015

Kim Moir

Here's February's 2015 monthly analysis of the pushes to our Mozilla development trees. You can load the data as or as a .Although February is a shorter month, the number of pushes were close to those recorded in the previous month. We had a higher average number of daily pushes (358) than in January (348). 10015 pushes358 pushes/day (average)Highest number…

0xADADA 1 min read

In Understanding Media, McLuhan describes the shift in western society from an agrarian economy to an industrial economy as a template for the next shift from an industrial economy to an information economy. Another characteristic reversal after passing a road break boundary is that the country ceases to be the center of all work, and the city ceases to be…

notesessayspoliticsmass mediamedia

16 Mar 2015

lukaseder 1 min read

So, you’ve found a nice Open Source project that has added great value to your own work and you want to give back. Before we move on, let me stress that this isn’t anything personal. This article doesn’t criticise anyone particular, and the ranty tone is just for your reading entertainment. I do not want … Continue reading The 10…

open-sourceopen sourcepull requests

15 Mar 2015

Dave Cheney 1 min read

Several decades ago, when I graduated high school and was wondering what I would do with my life I faced a choice. Should I take the now common “gap year” and travel the world, or should I enrol directly in university ? Oft quoted wisdom recommends that programmers looking to better themselves in their craft should […]

small ideas

13 Mar 2015

Tony Cassandra 10 min read

Bazaarvoice’s flagship product is a platform for our clients to accept, display and manage consumer generated content (CGC) on their web sites. CGC includes reviews, ratings, images, videos, social network content, etc. Over the last few years, syndicating CGC from one site to another has become increasingly important to our customers. When a user submits […]

product matchingsoftware architecture

12 Mar 2015

lukaseder 1 min read

The past decade has been an extremely exciting one in all matters related to data. We have had: An ever increasing amount of data produced by social media (once called “Web 2.0”) An ever increasing amount of data produced by devices (a.k.a. the Internet of Things) An ever increasing amount of database vendors that explore … Continue reading 3 Reasons…

sqldatabasedzonepersistencerdbms

11 Mar 2015

Dominic Steinitz 12 min read

Introduction Simple models for e.g. financial option pricing assume that the volatility of an index or a stock is constant, see here for example. However, simple observation of time series show that this is not the case; if it were then the log returns would be white noise One approach which addresses this, GARCH (Generalised AutoRegressive … Continue reading Stochastic…

bayesianfinancehaskellstatistics

10 Mar 2015

lukaseder 1 min read

Introduction Grails is a web framework aimed to boost development productivity. One of the main features is domain centric database schema generation. Applications built with Grails are able to update existing schema just before they start. To do this, Grails is using built-in domain mappers or migrations in more advanced cases. The goal of the … Continue reading Integrating jOOQ…

groovyjooq-in-usegrailsjooqjooq grails

22 min read

I've been reading a lot about software testing, lately. Coming from a hardware background (CPUs and hardware accelerators), it's interesting how different software testing is. Bugs in software are much easier to fix, so it makes sense to spend a lot less effort spent on testing. Because less effort is spent on testing, methodologies differ; software testing is biased away…

9 Mar 2015

lukaseder 1 min read

Yak Shaving (uncountable): (idiomatic) Any apparently useless activity which, by allowing you to overcome intermediate difficulties, allows you to solve a larger problem. (idiomatic) A less useful activity done to consciously or unconsciously procrastinate about a larger but more useful task. Both interpretations of the term Yak Shaving as explained by Wiktionary are absolutely accurate … Continue reading Yak Shaving…

javaopen-sourceapi designdevelopmentrefactoring

Ruslan Spivak 6 min read

Out for a walk one day, a woman came across a construction site and saw three men working. She asked the first man, “What are you doing?” Annoyed by the question, the first man barked, “Can’t you see that I’m laying bricks?” Not satisfied with the answer, she asked the second man what he was doing. The second man answered,…

1 min read

Problem: Given a massive data stream of $ n$ values in $ \{ 1, 2, \dots, m \}$ and the guarantee that one value occurs more than $ n/2$ times in the stream, determine exactly which value does so. Solution: (in Python) def majority(stream): held = next(stream) counter = 1 for item in stream: if item == held: counter +=…

7 Mar 2015

Dave Cheney 19 min read

This is the text of my closing keynote from Gophercon India. It has been slightly altered for readability from my original speaking notes. I am indebted to the organisers of Gophercon India for inviting me to speak, and to Canonical for giving me the time off to attend the conference. If you want to see me […]

goprogrammingsmall ideasgophercon india

8 min read

I've been hearing this question a lot lately, and when I do, it reminds me how much I don't know. Here are some questions this question brings to mind. How does a keyboard work? Why can’t you press an arbitrary combination of three keys at once, except on fancy gaming keyboards? That implies something about how key presses are detected/encoded.…

6 Mar 2015

Rebecca Murphey 2 min read

A couple of years ago, my former colleague Alex Sexton wrote about the techniques that we use at Bazaarvoice to deploy client-side JavaScript applications and then load those applications in a browser. Alex went into great detail, and it’s a good, if long, read. The core idea, though, is pretty simple: an application is bootstrapped […]

open sourcejavascriptthird-party-javascript

5 Mar 2015

lukaseder 1 min read

I’ve recently stumbled upon a very interesting caveat of the JDK APIs, the Class.getConstructors() method. Its method signature is this: Constructor<?>[] getConstructors() The interesting thing here is that Class.getConstructor(Class...) returns a Constructor<T>, with <T> being maintained: Constructor<T> getConstructor(Class<?>... parameterTypes) Why is there a difference, i.e. why doesn’t the first method return Constructor<T>[]? Let’s consider the … Continue reading The Java…

javabackwards compatibilitybrian goetz

10 min read

Most real-world problems are big enough that you can't just head for the end goal, you have to break them down into smaller parts and set up intermediate goals. For that matter, most games are that way too. “Win” is too big a goal in chess, so you might have a subgoal like don't get forked. While creating subgoals makes…

4 Mar 2015

lukaseder 1 min read

Sometimes we give terrible advice. Like in that article about how to use Java 8 for a cached, functional approach to calculating fibonacci numbers. As Matthias, one of our readers, noticed in the comments, the proposed algorithm may just never halt. Consider the following program: It will run indefinitely at least on the following Java … Continue reading Avoid Recursion…

java 8bugconcurrenthashmapfibonacci numbershalting problem

MapTiler 1 min read

The new MapTiler Desktop 0.6 is now available with automatic OGC WMTS services, offline map viewer, export maps to Garmin GPS, visual referencing with satellite map, and many other news.

3 Mar 2015

2 min read

I spent the last weekend working through the amazing guide for Make a Lisp, writing a Lisp interpreter in Nim. The final result just made it into the repository. Running the Nim version is pretty simple. You need the Nim compiler from the devel branch and nre which can be installed through nimble. After installing those you can build and…

1 min read

I’m very glad to have had the chance to be involved with the very first Go challenge. My challenge is related to something we do at Splice: binary decoding. Read more on the Go Challenge website pattern_1.splice Saved with HW Version: 0.808-alpha Tempo: 120 (0) kick |x---|x---|x---|x---| (1) snare |----|x---|----|x---| (2) clap |----|x-x-|----|----| (3) hh-open |--x-|--x-|x-x-|--x-| (4) hh-close |x---|x---|----|x--x| (5)…

2 Mar 2015

jonskeet 9 min read

I’ve been getting a bit cross about backward compatibility recently. This post contains two examples of backward incompatibilities in .NET 4.6, and one example of broken code which isn’t being fixed due for backward compatibility reasons. Let me start off by saying this post is not meant to be seen as an attack on Microsoft. … Continue reading Backward compatibility…

generalnoda time

lukaseder 1 min read

We’ve published an article in the German magazine www.java-aktuell.de, which is published by the iJUG e.V.. You can read and download the article free of charge from our blog! In Java gibt es kein Standard-API, das die Ausdrucksstärke und Mächtigkeit von SQL direkt unterstützt. Alle Aufmerksamkeit ist auf objekt-relationales Mapping und andere höhere Abstraktionslevel gerichtet, … Continue reading jOOQ –…

javasqljava aktuelljooq

1 min read

Or how to detect and correct errors Last time we made a quick tour through the main theorems of Claude Shannon, which essentially solved the following two problems about communicating over a digital channel. What is the best encoding for information when you are guaranteed that your communication channel is error free? Are there any encoding schemes that can recover…

1 Mar 2015

Matt Cutts 1 min read

For January 2015, I tried to declutter around the house for 15 minutes a day. We now have a couple rooms that are much cleaner, and I gave away a bunch of magazines. For February 2015, my 30 day challenge was to go on daily 15 minute walks with my wife. That was nice. Lately […]

30 days

27 Feb 2015

26 Feb 2015

Dave Cheney 1 min read

I have updated my unofficial ARM tarball distributions page with prebuilt Go 1.4.2 tarballs. You can find them by following the link in the main header of this page. As these were the first tarballs produced since the move to git, please let me know if you encounter any issues.

goprogramming

lukaseder 1 min read

This can happen ever so easily. You adapt a table by adding a new column: You go on, implementing your business logic – absolutely no problem. But then, later on (perhaps in production), some batch job fails because it makes some strong assumptions about data types. Namely, it assumes that the two tables payments and … Continue reading How to…

sqlcase expressionfilter clauseoraclepivot

25 Feb 2015

Kim Moir

The was published yesterday. (Download ). This issue focuses on the current state of release engineering, from both an industry and research perspective. Lots of exciting work happening in this field! I'm interviewed in the , along with of Facebook and of Google. Interesting discussions on the current state of release engineering at organizations that scale large number of builds…

lukaseder 1 min read

The Modern SQL Twitter account (by Markus Winand) published a hint about how to extract a date part in SQL: The right way to get a part of a date/time is: EXTRACT(YEAR FROM CURRENT_DATE) = 2015http://t.co/UNLyUoQdVb Retweet to spread the word! — Modern SQL (@ModernSQL) February 24, 2015 Is it true? Yes it is, in … Continue reading How to…

sqldatedate partsextractsql standard

Dave Cheney 1 min read

Over the last year I have had the privilege of travelling to meet Go communities in Japan, Korea and India. In every instance I have met experienced, passionate, pragmatic programmers ready to accept Go for what it can do for them. At the same time the message from each of these communities was the same; […]

goprogrammingsmall ideas

24 Feb 2015

Timur Celikel 2 min read

We conducted our 3rd SI Hackathon on Feb 19th to Feb 20th. This is one of the hackathon results. Background While searching for a nice datepicker for SI I figured out that there’s nothing that is really pleasing from both technical and aesthetical perspective. Either it is an jQuery wrapped thingy, or wrapped pickaday or if […]

frontendhackathonuiuxangularjs

Per Fragemann 3 min read

We conducted our 3rd SI Hackathon on Feb 19th to Feb 20th. This is one of the hackathon results. Background My previous Hackathon project was way too ambitious, so I decided to pick something easier this time, which would also help reduce our support load a bit. A frequent pain point is that client admins […]

backendhackathonicalical4j

lukaseder 1 min read

Every framework introduces a new compromise. A compromise that is introduced because the framework makes some assumptions about how you’d like to interact with your software infrastructure. An example of where this compromise has struck users recently is the discussion “Are Slick queries generally isomorphic to the SQL queries?“. And, of course, the answer is: … Continue reading jOOQ vs.…

javascalajooqormslick

23 Feb 2015

Nick Thomas 1 min read

FileMerge is a nice diff and merge tool for OS X, and I use it a lot for larger code reviews where lots of context is helpful. It also supports intra-line diff, which .comes in pretty handy However in recent releases, at least in v2.8 which comes as part of XCode 6.1, it assumes you want to be merging and…

22 Feb 2015

1 min read

In recent years it has become more and more common to work in different projects running on different versions of Java. There are still some running on Java 6, and there are tons already running on Java 8.

1 min read

How is it possible for us to communicate securely when there’s the possibility of a third party eavesdropping on us? How can we communicate private secrets through public channels? How do such techniques enable us to bank online and carry out other sensitive transactions on the Internet while trusting numerous relays? In this post, I hope to explain public key…

21 Feb 2015

4 min read

Hello! If you are not familiar with Docker, it is the popular open source container engine. Most people use Docker for containing applications to deploy into production or for building their applications in a contained environment. This is all fine & dandy, and saves developers & ops engineers huge headaches, but I like to use Docker in a not-so-typical way.…

20 Feb 2015

Trey Perry 4 min read

Every holiday season, the virtual doors of your favorite retailer are blown open by a torrent of shoppers who are eager to find the best deal, whether they’re looking for a Turbo Man action figure or a ludicrously discounted 4K flat screen. This series focuses on our Big Data analytics platform, which is used to learn more […]

big dataanalyticsbigdatareporting

19 Feb 2015

Matthew Green 4 min read

The information security news today is all about Lenovo’s default installation of a piece of adware called “Superfish” on a number of laptops shipped before February 2015. The Superfish system is essentially a tiny TLS/SSL “man in the middle” proxy that attacks secure connections by making them insecure — so that the proxy can insert … Continue reading How to…

backdoorscompaniesbehavingbadlytls ssl

Ramon 3 min read

I came across a very interesting bug that occurred in a Linux software stack that was ported from some kind of embedded processor back in the days. The processor back in the days had a probably a single timer interrupt, so the software team decided to implement over it a series of SW timers. They […]

uncategorizeddo setitimerlinuxsetitimersigalrm

Matt Cutts 1 min read

Whether you’re running a web service or a blog, you should always keep your software fully patched to prevent attacks and minimize your attack surface. Another smart step is to prevent full path disclosures. For example, if your blog or service throws an error like “Warning: require(ABSPATHwp-includes/load.php) [function.require]: failed to open stream: No such file […]

how toweblog blog

18 Feb 2015

Matthew Green 3 min read

There’s a story on Hacker News asking what the hell is going on with the Truecrypt audit. I think that’s a fair question, since we have been awfully quiet lately. To everyone who donated to the project, first accept my apologies for the slow pace. I want to promise you that we’re not spending your money … Continue reading Another…

truecrypt

lukaseder 1 min read

(unless you really override Object.equals(), of course). I’ve stumbled upon a rather curious Stack Overflow question by user Frank: Why does Java’s Area#equals method not override Object#equals? Interestingly, there is a Area.equals(Area) method which really takes an Area argument, instead of a Object argument as declared in Object.equals(). This leads to rather nasty behaviour, as … Continue reading Thou Shalt…

javaawtequalshashcodeoverloading

17 Feb 2015

lukaseder 1 min read

Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. We have the pleasure … Continue reading jOOQ Tuesdays:…

jooq-tuesdaysjames goughjavajava 8jooq tuesdays

Zoli Kahan 4 min read

Architecture Service Oriented Architectures can be one of the most iterable and available software configurations for building almost any product. There are many challenges that come with these systems, probably the biggest of which is service discovery. This is how your services will communicate with each other. For our service discovery, we turn again to Docker. If you haven't read…

Dave Cheney 7 min read

A friend recently asked me for some advice in preparing a talk for an upcoming conference. I ended up writing way more than they asked for. If you are a Nerd like me, I hope you find some of this advice helpful. Preparing the talk Read before you write Of course you should do your research […]

small ideas

16 Feb 2015

1 min read

There are two basic problems in information theory that are very easy to explain. Two people, Alice and Bob, want to communicate over a digital channel over some long period of time, and they know the probability that certain messages will be sent ahead of time. For example, English language sentences are more likely than gibberish, and “Hi” is much…

15 Feb 2015

13 min read

There's an ongoing debate over whether "AI" will ever be good enough to displace humans and, if so, when it will happen. In this debate, the optimists tend to focus on how much AI is improving and the pessimists point to all the ways AI isn't as good as an ideal human being. I think this misses two very important…

13 Feb 2015

Kim Moir

Here's January 2015's monthly analysis of the pushes to our Mozilla development trees. You can load the data as an or as a . We're back to regular volume after the holidays. Also, it's really cold outside in some parts of the of the Mozilla world. Maybe committing code > going outside. 10798 pushes 348 pushes/day (average) Highest number of…

lukaseder 1 min read

We’ve been blogging about Java and SQL for a while now, on the jOOQ blog. Over the years, while researching interesting blog topics, we’ve discovered a lot of SQL gems in the blogosphere that have inspired our work and our passion for SQL. Today, we’re presenting to you a list of 10 articles that we … Continue reading 10 SQL…

sqlaaron bertrandalek bolenokandrs gbordimitri fontaine

Dave Cheney 1 min read

This is a short post to recognise the incredible contribution Alex Brainman has made to the Go project. Alex was responsible for the port of Go to Windows way back before Go 1 was even released. Since that time he has virtually single-handedly supported Go and Go users on Windows. It’s no wonder that he is […]

go

12 Feb 2015

10 Feb 2015

Matthew Green 7 min read

If you haven’t read Julia Angwin’s excellent profile of GnuPG’s lead developer Werner Koch, now would be a great time to check it out. Koch, who single-handedly wrote GnuPG in 1997, has been doggedly maintaining the codebase ever since — and not getting paid very well for it. Despite good intentions on all sides, Koch … Continue reading How do…

privacyuncategorized

12 min read

I gave a talk about how to get started contributing to Chromium, but it wasn’t recorded, and my slides by themselves look like cold-medicine induced hallucinations (which, to be fair, they were). So instead, here is a giant blog post that will take you through every step from “checking out the code” to “landing the code in the Chromium repo”.…

9 Feb 2015

1 min read

Last time we saw a number of properties of graphs, such as connectivity, where the probability that an Erdős–Rényi random graph $ G(n,p)$ satisfies the property is asymptotically either zero or one. And this zero or one depends on whether the parameter $ p$ is above or below a universal threshold (that depends only on $ n$ and the property…

1 min read

Neuroscience plays a big roll in our design work. This post takes a look at Sensory Memory and how animations that visually link states can improve a user's experience.

8 Feb 2015

1 min read

My most recent post goes in another direction (no, it’s still about Nim): How I start a new Nim project. Check out the article on howistart.org. Comments on Hacker News and Reddit as always.

7 Feb 2015

Schakko 1 min read

A few weeks ago I bought a new notebook (Dell XPS 15, 15″, 512 GByte SSD, Core i7) for my after-work work and home usage. First of all: it is an awesome fast piece of hardware. Fedora 21 boots up in 3 seconds, Eclipse (STS) starts up in around 7 […] The post Dell XPS 15, Linux and HiDPI appeared…

linux

5 Feb 2015

lukaseder 1 min read

There has been a lot of hype about the buzzword “web scale“, and people are going through lengths of reorganising their application architecture to get their systems to “scale”. But what is scaling, and how can we make sure that we can scale? Different aspects of scaling The hype mentioned above is mostly about scaling … Continue reading Top 10…

javajava 8anti-patternsenummapenumset