~/devreads

2 Oct 2014

Pramod Sadalage 1 min read

Over the last few years we have seen the rise of a new type of databases, known as NoSQL databases, that are challenging the dominance of relational databases. Relational databases have dominated the software industry for a long time providing mechanisms to store data persistently, concurrency control, transactions, mostly standard interfaces and mechanisms to integrate application data, reporting. The dominance…

1 Oct 2014

Musa Kurhula Baloyi 1 min read

Introducing Madyondza, the Johannesburg meetup with the goal of localising world information and digitising African knowledge. The name The name “madyondza” is a Xitsonga word for “first child”. Split into “ma” and “dyondza” it would mean: “you learn”. These two meanings are consistent with a project of this kind. This is why:

30 Sept 2014

jonskeet 9 min read

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…

noda time

lukaseder 1 min read

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…

businessopen-sourcedual-licensingjooqopen source

Patrick Turley 1 min read

I met Alaa Abd El Fattah in May 2013 in Cairo. This was about two years after the initial revolution occurred that removed Hosni Mubarak from power, and nearly a year into the presidency of Mohamed Morsi from the Muslim Brotherhood. At the time Alaa was out on bail, facing charges for his involvement in demonstrations several months earlier (he…

29 Sept 2014

Michael Carroll 1 min read

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.

Michael Carroll 1 min read

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.

1 min read

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…

wpengine 2 min read

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…

security

28 Sept 2014

Dave Cheney 1 min read

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. % […]

goprogrammingdebugging

26 Sept 2014

lukaseder 1 min read

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…

sqldatabasesmessagingmqqueues

25 Sept 2014

Jesper Joergensen 2 min read

Two-factor authentication is a powerful and simple way to greatly enhance security for your Heroku account. It prevents an attacker from accessing your account using a stolen password. After a 4 month beta period, we are now happy to make two-factor authentication generally available. Turning on two-factor authentication You can enable and disable two-factor authentication […] The post Two-factor Authentication…

news

24 Sept 2014

Lisa Junger 1 min read

Our email infrastructure is flawed. We need to reconsider our approach to email to make it safer - and easier. Most people think of email like sending a letter in the post, a person-to-person communication in a sealed envelope. However, email is more like sending a postcard. Multiple actors have access to the contents and we need to be careful…

23 Sept 2014

Matthew Green 1 min read

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…

apple

Jesper Joergensen 3 min read

One of our core beliefs at Heroku is that developers do their best work when the development process is as simple, elegant, and conducive to focus and flow as possible. We are grateful for how well many of our contributions to that cause have been received, and today we are making generally available a new […] The post Introducing Heroku…

news

lukaseder 1 min read

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…

javajava 8sqlasynchronouscompletablefuture

22 Sept 2014

lukaseder 1 min read

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…

bloggingblogjooq

19 Sept 2014

1 min read

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,…

18 Sept 2014

17 Sept 2014

lukaseder 1 min read

It’s this time of the year and we’re repeating the silly metrics keyword count across all of jOOQ‘s code base. We have a couple of exciting news! public is still one of the favourite keywords (yeah, we’re an API), but return is closing in, as well as final (yeah, we love final). A bit more … Continue reading This Just…

funjavakeywordssilly metrics

Fred Hebert 2 min read

The Heroku Routing team does a lot of work with Erlang, both in terms of development and maintenance, to make sure the platform scales smoothly as it continues to grow. Over time we’ve learned some hard-earned lessons about making systems that can scale with some amounts of reliability (or rather, we’ve definitely learned what doesn’t […] The post Stuff Goes…

engineeringapp architectureguidelanguages

16 Sept 2014

15 Sept 2014

lukaseder 1 min read

Pun intended… Let’s discuss Java final. Recently, our popular blog post “10 Subtle Best Practices when Coding Java” had a significant revival and a new set of comments as it was summarised and linked from JavaWorld. In particular, the JavaWorld editors challenged our opinion about the Java keyword “final“: More controversially, Eder takes on the … Continue reading This is…

javaapi designfinalfinal keywordkeywords

David Gouldin 1 min read

Celery is by far the most popular library in Python for distributing asynchronous work using a task queue. If you’re building a Python web app, chances are you already use it to send email, perform API integrations, etc. Many people choose Redis as their message broker of choice because it’s dead simple to set up: […] The post How to…

engineeringdeveloper toolspythonsecurity

14 Sept 2014

Dave Cheney 3 min read

During my day job I’ve been working on re-factoring some the internals of Juju to reverse the trend of a growing number of dependencies in our core packages. In this post I’ll show how I used go list to help me in this task. The basics Let’s start with the basics of go list. The default invocation of go […]

gogo list

Matt Cutts 2 min read

I haven’t really written about what it was like to run the Boston Marathon, but I wanted to share one story with you about a woman named Darby Stott. I’m a slow runner (our running group in San Jose likes to call ourselves “a social group with a running problem”). So to make it to […]

personal

13 Sept 2014

Dave Cheney 1 min read

Here is a short recipe I use for installing multiple versions of Go from source. In this example I’m going to install the release (currently Go 1.3.1) and trunk versions of Go. Step 1. Checkout Checkout two copies of the Go source code into independent paths. % hg clone https://code.google.com/p/go -r release $HOME/go.release % hg […]

go

1 min read

In September 2014, I gave this talk at Baruco in Barcelona, Spain. The talk focuses on: how session authentication works in Ruby on Rails, the crypto used to protect the data, the security implications and how to share the session with applications written in other languages than Ruby (with an example in Go). To illustrate this pretty dry topic, I…

12 Sept 2014

Craig Kerstiens 1 min read

The key to any startup is focus — focusing in multiple directions is really no focus at all. Following this premise we understand the decision by CloudBees to double down on their continuous integration offering of Jenkins, and to discontinue their platform as a service product. Continuous integration is already playing an important role in […] The post Welcome to…

news

lukaseder 1 min read

Abstraction layers in software are what architecture astronauts tell you to do. Instead, however, half of all applications out there would be so easy, fun, and most importantly: productive to implement if you just got rid of all those layers. Frankly, what do you really need? You need these two: Some data access Some UI … Continue reading Why You…

funarchitectureastronautlayered architecture

11 Sept 2014

Tom Clement Oketch 1 min read

I know a certain developer whose level of anxiety rises to disproportionate levels when his test coverage report returns a less-than-100% coverage. Whenever this happens, he will fiddle with his tests until he achieves the glorious 100% statistic - after which he will have earned not only bragging rights (shudder!), but also the approval of upper management. But let’s take…

10 Sept 2014

lukaseder 1 min read

Java 8 was – as always – a release of compromises and backwards-compatibility. A release where the JSR-335 expert group might not have agreed upon scope or feasibility of certain features with some of the audience. See some concrete explanations by Brian Goetz about why … … “final” is not allowed in Java 8 default … Continue reading When the…

javajava 8brian goetzfunctional programmingjoo

Kyle Olivo 1 min read

5 Tips for New iOS Developers Swift is the future of development on Apple’s platforms. Any developer interested in mobile devices would be well-served by learning this exciting new language. For developers new to the iOS ecosystem, this might seem like a godsend. The common sentiment heard throughout the blogosphere is: death to Objective-C!

9 Sept 2014

Ann Mwangi 1 min read

In many societies, there is an expectation placed on a woman that once she is married and has children - she must reconsider her career path options. It is considered the natural order of things for her to stop working altogether, or at a minimum work in a profession that is more ‘mother-appropriate’. At least, this is certainly the case…

Rouan Wilsenach 1 min read

Building software is something that your business needs to do well. You see more revenue moving through digital channels and you’re starting to realise that this trend will continue. Your company’s ability to remain competitive hinges on your use of technology. This same technology gives new competitors the ability to springboard their businesses and scale quickly. Your business needs to…

8 Sept 2014

lukaseder 1 min read

This recent question on Stack Overflow made me think. Why does jOOQ suggest to put generated code under “/target” and not under “/src”? … and I’m about to give you the final answer to “Where to Put Generated Code?” This isn’t only about jOOQ Even if you’re not using jOOQ, or if you’re using jOOQ … Continue reading Look no…

javagenerated codegenerated source codehibernatejooq

Felicity Ruby 1 min read

People around the world understand the battle for net neutrality as a defining moment for the Internet. Thoughtworks is joining Big Telecom vs. The World, a global effort of more than 50 groups in 22 countries who are calling on individuals, organizations and companies to be part of the historic campaign.

6 Sept 2014

Saleem Siddiqui 1 min read

Conway's Law states that "organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations". Melvin Conway coined this aphorism in his paper "How Do Committees Invent?" in 1968.[1]

5 Sept 2014

lukaseder 1 min read

ERD (Entity Relationship Diagrams) are a great way of designing and visualising your database model. There is a variety of vendors offering free and commercial ERD tools. Vertabelo by E-Point is a SaaS product where you can design and manage your database schema online. For instance, the jOOQ example database can be modelled as such: … Continue reading Stop Manually…

jooq-developmentdatabase exportdatabase importerdjooq

Brandur Leach 2 min read

Many of Heroku's internal components make heavy use of logfmt to log information about what's going on in production. The format is hugely valuable in that it allows us to retroactively analyze what happened during any arbitrary request to our components, query our log traces in very flexible ways, and combined with Splunk, easily generate […] The post Hutils –…

engineeringapp architecturedata analyticsdeveloper tools

Iván Pazmiño 1 min read

Working with a distributed agile team was a first time experience for me, and one that came with very interesting challenges. The most obvious of these challenges was of course, communication. The other was related to keeping good practices like pair programming still feasible. Even something as simple as recognizing my own teammates in person, after having worked virtually with…

4 Sept 2014

kevin 3 min read

I read Ready Player One recently and I enjoyed it; it was a pretty fast read and I finished it in a day. It presents a view of the future where the possibilities allowed by a virtual reality world surpass those of the real world, so most people spend as much time as possible connected […]

todays world

Dave Elliman 1 min read

It was a sunny Thursday afternoon. An intrigued, but slightly dubious Technical Architect, Dan, left our Thoughtworks presentation. Could Clojure be used to build the bespoke CMS? Is it too bleeding edge? Would his team get it? But let's take a step back. Why would a large organisation with a mix of technologies and legacy systems want to muddy the…

Thoughtworks 1 min read

In July, the third edition of Recife's Campus Party took place over two days, giving the local tech community an opportunity to interact with Thoughtworkers and discuss the ideas that were featured in the Technology Radar.

3 Sept 2014

2 Sept 2014

lukaseder 1 min read

CHECK constraints are already pretty great when you want to sanitize your data. But there are some limitations to CHECK constraints, including the fact that they are applied to the table itself, when sometimes, you want to specify constraints that only apply in certain situations. This can be done with the SQL standard WITH CHECK … Continue reading Awesome SQL…

jooq-developmentsqlcheck constraintcheck optionconstraints

lukaseder 1 min read

Do you really need support? Our apologies. We hadn’t realised that we didn’t advertise the support-free jOOQ licenses, which we had been offering for quite a while now well enough on our website. So we have fixed that now. We think that jOOQ is such a high quality, intuitive piece of software with a vibrant … Continue reading jOOQ Newsletter:…

jooq-newsletteranniversarycheck optionconstraints on viewsdata geekery

Thoughtworks 1 min read

Governments collect and publish enormous amounts of data, but much of that data isn't accessible or promoted openly to the general public. This is often because governments have limited resources with which to engage the citizens and demonstrate the power and impact this data can have. As Australian governments shift further and further towards opening their data, the power of…

Sarah Cnota 1 min read

In July, we hosted the second event in the Women’s DIY Series: Learn Together, Develop it Yourself. We were thrilled that more than 30 women from all different professions and various levels of programming experience come together in Chicago during this seven-hour workshop to learn AngularJS.

1 Sept 2014

Dave Cheney 1 min read

The start of September brings a close to the Go 1.4 merge window. From now until the release in December, only bug fixes and tweaks will be accepted. A major piece of work that landed in Go 1.4 cycle was the rewrite of parts of the Go runtime from C to Go. What may not […]

go

Anand Bagmar 1 min read

My interview today is with Michael Hunter, a senior software developer, who’s been with Microsoft for 14 years now. He helps the teams evaluate the quality of their products. When he’s not at work, he can be seen city hiking around Seattle and spending time with his fiancée and her giant cat (the furry one in the photo!). Read more…

31 Aug 2014

1 min read

Problem: Two players take turns moving a rook on an 8×8 chessboard. The rook is only allowed to move south or west (but not both in a single turn), and may move any number of squares in the chosen direction on a turn. The loser is the player who first cannot move the rook. What is the optimal play for…

30 Aug 2014

29 Aug 2014

lukaseder 1 min read

For many PL/SQL developers, this might be common sense, but for one of our customers, this was an unknown PL/SQL feature: Backtraces. When your application raises an error somewhere deep down in the call stack, you don’t get immediate information about the exact source of the error. For large PL/SQL applications, this can be a … Continue reading PL/SQL backtraces…

sqlbacktracedbms utilitydebuggingerrors

Mark Collin 1 min read

On the back of my recent post, Delivery 2.0: Blurring the Lines Between Retail and Delivery, the next industry about to have its moment is quite clearly Retail Banking. Why?

28 Aug 2014

Michael Carroll 1 min read

This tutorial shows you how to build a DIY snapchat app, enabling you to capture and send compressed images with JavaScript (as JSON strings).

Michael Carroll 1 min read

This tutorial shows you how to build a DIY snapchat app, enabling you to capture and send compressed images with JavaScript (as JSON strings).