~/devreads

30 Jun 2014

Henrik Warne 5 min read

What makes a good programmer? It’s an interesting question to ask yourself. It makes you reflect on the craft of software development. It is also a good question to ask your colleagues. It can trigger some interesting discussions on how you work … Continue reading →

programmingprogrammerskills

Sam Newman 1 min read

Many years ago, Melvin Conway had observed that how organizations were structured would have a strong impact on any systems they created. His observation has become known as Conway’s Law, and the collective experiences of both my colleagues and myself have time and again reinforced the truth of this statement.

29 Jun 2014

Luciano Mammino 9 min read

By writing a Dockerfile we can containerize a simple Go echo server app. The Dockerfile installs Go, copies the server code, exposes the port, and defines the command to run the app. Building the Dockerfile produces an image that can be run as a container. The containerized Go app can then be easily distributed and run anywhere Docker is installed.

servergodocker

28 Jun 2014

Dave Cheney 1 min read

Like all children who grew up in the 80’s, I was, and still am a huge fan of Ghostbusters. While recently re watching Ivan Reitman’s homage to New York, I spotted something which has gone unnoticed on the IMDB trivia page. Shortly after being evicted from the University, Ray Stantz (Aykroyd) and Peter Venkman (Murray) […]

useless trivia

10 min read

I’ve been spending quite some time lately playing around with RNN’s for collaborative filtering. RNN’s are models that predict a sequence of something. The beauty is that this something can be anything really – as long as you can design an output gate with a proper loss function, you can model essentially anything. In the case of collaborative filtering, we…

27 Jun 2014

Dave Cheney 3 min read

This is a post about data races. The code for this post lives on Github, github.com/davecheney/benandjerry. The example program simulates two Ice cream makers, Ben and Jerry, who greet their customers randomly. package main import "fmt" type IceCreamMaker interface { // Hello greets a customer Hello() } type Ben struct { name string } func (b *Ben) […]

goprogrammingdata racerace detector

1 min read

Once upon a time it used to be difficult to create integration tests in Ember.js. Fortunately, the framework has come a long way and it’s now really easy to get integration testing working in your application. This screencast shows how to set it up with ember-cli: There is some boilerplate code required that you’ll need at the top of your…

Kate Linton 1 min read

I’ve always been particular about the look of things. I’m a designer. So it’s both a blessing and a curse to be constantly tuned in to the lopsided accidental world around me. I’m always looking for evidence of design and underlying structure and marveling at the mastery and the chaos of the built world. My eyes are a high-bandwidth channel.…

Anand Vishwanath 1 min read

To use points or not to use them, that is often the topic of a lot of discussion and conjecture. And the humble point is often lost/misunderstood in all the talk. So I thought I'd dedicate this post to do a Point 101 to refresh our understanding of the point, and its usefulness in estimation. What is a Story Point…

Thoughtworks 1 min read

In Memory of Luke Barrett Beloved son, brother, husband, father and friend. Luke died on 26 June 2014. He was 42. Thoughtworks mourns the sudden and tragic passing of Luke Barrett. Luke was the leader of our European business, but also a friend, a colleague, a mentor and a role model to Thoughtworkers around the world.

James Lewis & Martin Fowler 1 min read

The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data.

26 Jun 2014

lukaseder 1 min read

Writing tests that use an actual database is hard. Period. Now that this has been established, let’s have a look at a blog post by Marco Behler, in which he elaborates on various options when testing database code, with respect to transactionality. Testing database transactions is even harder than just testing database code. Marco lists … Continue reading Stop Unit…

javasqldatabaseshibernateintegration testing

Anand Bagmar 1 min read

The third part of the “Is TDD Dead?” hangout series with Martin Fowler, Kent Beck and DHH centered around “Feedback and QA” - the nuances of feedback and the role of the QA. After the 1st part, Fabio Pereira published his thoughts “Mockists Are Dead.

25 Jun 2014

lukaseder 1 min read

When performing database migrations, we at Data Geekery recommend using jOOQ with Flyway – Database Migrations Made Easy. In this post, we’re going to look into a simple way to get started with the two frameworks. Philosophy There are a variety of ways how jOOQ and Flyway could interact with each other in various development … Continue reading Flyway and…

javajooq-developmentmigrationssqldatabase migration

24 Jun 2014

lukaseder 1 min read

Infrequent SQL developers often get confused about when to put parentheses and/or aliases on derived tables. There has been this recent Reddit discussion about the subject, where user Elmhurstlol was wondering why they needed to provide an alias to the derived table (the subselect with the UNION) in the following query: The question really was … Continue reading Should I…

sqlderived column listsderived tablesmysqlsql standard

Tom Clement Oketch 1 min read

On my last project, the client categorically asked the team to ensure that the Django app we were developing had first-class support for Internet Explorer 8. Now I know a number of developers who would cringe at the mere mention of Internet Explorer (IE). I have even heard it said that the only use of Internet Explorer is to download…

23 Jun 2014

lukaseder 1 min read

Most databases that support default values on their column DDL, it is also possible to actually alter that default. An Oracle example: Unfortunately, this isn’t possible in SQL Server, where the DEFAULT column property is really a constraint, and probably a constraint whose name you don’t know because it was system generated. But luckily, jOOQ … Continue reading SQL Server…

jooq-developmentsqlalter tablecolumn defaultddl

1 min read

Here’s a simple puzzle with a neat story. A rich old woman is drafting her will and wants to distribute her expansive estate equally amongst her five children. But her children are very greedy, and the woman knows that if he leaves her will unprotected her children will resort to nefarious measures to try to get more than their fair…

1 min read

The week of June 23rd was a good week for gophers in San Francisco. Go was a big part of Google I/O on Wednesday and Thursday, and on Monday Google run a Go SummerFest, a special instance of the GoSF meetup. I gave a talk at Go SummerFest and then later on another one during I/O. For more information about…

4 min read

lldb stands for Llama-DB, and is a database of llamas you can use to debug programs compiled with clang (lldb is to clang like gdb is to gcc). If you already know how to use gdb, then here’s a translation of the common commands. Disclaimer: There is a ton of tutorials and pages about all of the awesome features and…

22 Jun 2014

Dave Cheney 1 min read

A few days ago, after reading yet another article on the critical importance of only hiring the best people — yet being unable to offer any concrete suggestions on how to do this, save slavishly repeating the “best people” homily — I posted the following https://twitter.com/davecheney/status/479126596545036288 I find twitter to be a hopeless medium for […]

small ideasrecruiting

21 Jun 2014

lukaseder 1 min read

One for the weekend: Big Data Big Data pic.twitter.com/18VPE9LGDq — Victor Agreda Jr (@superpixels) June 19, 2014

funbig datatruth

20 Jun 2014

lukaseder 1 min read

At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, method references, default methods, the Streams … Continue reading Java 8…

bloggingjavajava 8blogsdefault methods

Dan McClure 1 min read

Have you noticed the job postings? Design companies want developers. Technology specialists are competing for designers and big business strategy firms are gobbling up entire agencies and boutiques whole. What’s going on with this wholesale rush to stitch together firms from tribes with wildly different professional disposition?

Marcos Brizeno 1 min read

The points I'm going to discuss here helped me a lot to become more aware of my tests and what I can do to improve them. If you have experience in writing tests, you probably know most of what I'm going to talk about, but it's still good to refresh your memory and add more references on the subject. If…

19 Jun 2014

David Peter Simon 1 min read

In Africa, there’s a saying: “If you want to go fast, go alone. If you want to go far, go together.” It’s a great mindset with regard to software design and development - we should always encourage a joint working environment. One way to “go together” is through workshops. We do it a lot at Thoughtworks - whether it’s to…

18 Jun 2014

lukaseder 1 min read

jOOQ Goes JavaOne™ We’re super excited to announce that our CEO and Head of R&D Lukas will be heading to San Francisco this fall to talk about jOOQ at JavaOne™! This is not just great for Data Geekery and jOOQ, but also for the whole Java / SQL ecosystem, as we believe that the Java / SQL … Continue reading…

jooq-newsletterdual-licensinge-pointjavajavaone

clevereng 6 min read

At Clever we help 1 in 6 schools in the country sync data on an hourly basis from their student information systems (SISes) to the ed tech apps that their teachers and students use. These 20,000 schools sync about 50 GB of data in aggregate – that’s over a terabyte of data per day. While […] The post The Best…

node

17 Jun 2014

2 min read

One obvious thing to anyone living in NYC is how tourists cluster in certain areas. I was curious about the larger patterns around this, so I spent some time looking at data. The thing I wanted to understand is: what areas are dominated by tourists? Or conversely, what areas are dominated by locals? After some looking around, I found this…

Andy Robinson 1 min read

One of the many challenges with building or refreshing a website is the selection of a Content Management System (CMS). Despite our best efforts the CMS can often be a source of difficulty in a project, but there are alternatives. Read about the approach we took on www.thoughtworks.com to developing functionality to support content management in an incremental fashion.

Anand Bagmar 1 min read

Today, I chat with Anna Royzman (@QA_nna) - Conference Chair for this year’s annual conference of the Association for Software Testing (AST) scheduled on August 11th-13th in New York City, and the Chair of AST's test leadership Special Interest Group (Leadership SIG).

15 Jun 2014

Schakko 2 min read

Yesterday the first Hackcamp Wolfsburg took place at the Schiller 40. Steven Schwenke did a great job to organize and prepare the event. Despite the fact that only 5 persons, including myself, attended the event it has been a great success. Beneath my coworkers Kevin and Niko from NeosIT and […] The post Review Hackcamp Wolfsburg June 2014 appeared first…

uncategorized

14 Jun 2014

lukaseder 1 min read

After deep consideration with our lawyers, we would like to follow suit with Oracle and provide you with the following legal disclaimer about our jOOQ-related conference talks, as presented at the awesome GeekOut conference in Tallinn. Please do read them and take them seriously.

funsqlconference talksdisclaimerjava

13 Jun 2014

lukaseder 1 min read

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…

javajava 8concurrencyinfinite streamsjooq

12 Jun 2014

Matthew Soldo 3 min read

Did you know that Heroku databases can be forked? Forking a database creates a byte-for-byte copy that can be used for testing and development. It is a useful tool that allows teams to be agile with their data. Today, forking databases is becoming faster. Fast forking reduces the time to create a fork by hours […] The post Faster Database…

newspostgres

Sameer Karl Deans 1 min read

For those of us who are not familiar with the Theory of Constraints, in simple terms it talks about identifying and removing bottlenecks from environments while trying to take an overall view of the system rather than optimize locally. Local optimization is something we do in everyday life. I would rather not have garbage on my doorstep, but its alright…

11 Jun 2014

Per Fragemann 3 min read

Getting angular’s watches right can be quite a challenge. There are several ways to watch values from a controller, be it $watch, $watchCollection or $watchGroup. Luckily there’s this amazing article of different ways to watch data that will solve most problems you might encounter. However, most doesn’t mean all: when creating the new admin screens […]

frontend

Coleman Collins 1 min read

When I tell you a story of a visually impaired man lost in a hotel without braille signage, or one of a woman in a wheelchair unable to enter a local restaurant or use their bathroom, the reaction is predictable. You recognize it as unfair, wrong — not just because it's illegal, but because access is a basic human right.…

Álvaro Cavalcanti 1 min read

On May 12 a colleague sent an email mentioning the #VaiMudarNaCopa ("#It'sGoingToChangeInTheWorldCup) Hackaton, an initiative created by the Open Knowledge Foundation. The email asked participants to create either web or mobile apps that would support peaceful and democratic protest movements during the 2014 FIFA World Cup Brazil.

Jamie Narkunski 1 min read

Over the past few years I’ve noticed a race towards hi-fi prototyping. In addition to more and more designers picking up HTML, CSS and JavaScript, software companies have been working hard to lower the barrier to entry. With tools like Axure or iRise almost anyone with an eye for design can pull together near-real functional prototypes.

10 Jun 2014

Abigail Bangser 1 min read

Grace Hopper Celebration for Women in Technology (GHC) is an amazing gathering of almost ~5,000 technologists (90% identify as female) ranging from college students to professionals to professors. We have chosen to support this conference for the past 8 years, since the Anita Borg Institute’s mission clearly aligns with our values and our own mission to advocate on behalf of…

Danilo Sato 1 min read

Práticas de DevOps e Entrega Contínua ajudam a aumentar a frequência de deploys na sua empresa, ao mesmo tempo aumentando a estabilidade e robustez do sistema em produção. Neste webinar, Danilo Sato, autor do livro "DevOps na prática: entrega de software confiável e automatizada", discute princípios, práticas e ferramentas de DevOps, cobrindo: Como automatizar o build e deploy de uma…

9 Jun 2014

Matt Cutts 1 min read

Hey everybody, I’m looking for some fun books (mostly fiction) to read this summer. What would you recommend? One book I recently enjoyed was The Martian, a novel about an astronaut stranded on Mars who needs to figure out how to survive and get home with minimal supplies. It was a little heavy on the […]

books magazines

8 Jun 2014

7 min read

During my time at Spotify, I’ve reviewed thousands of resumes and interviewed hundreds of people. Lots of them were rejected but lots of them also got offers. Finally, I’ve also had my share of offers rejected by the candidate. Recruiting is one of those things where the Dunning-Kruger effect is the most pronounced: the more you do it, the more…

7 Jun 2014

Dave Cheney 13 min read

Anthony Starks has remixed my original Google Present based slides using his fantastic Deck presentation tool. You can check out his remix over on his blog, mindchunk.blogspot.com.au/2014/06/remixing-with-deck. I was recently invited to give a talk at Gocon, a fantastic Go conference held semi-annually in Tokyo, Japan. Gocon 2014 was an entirely community-run one day event combining […]

goprogramminggoconperformance

6 Jun 2014

lukaseder 1 min read

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…

javajava 8javascriptjooqnashorn

Rafael Garcia 2 min read

At Clever we’re building a way for students and teachers to start using learning applications with a click of a button. This is incredibly difficult to do in a school environment, because existing infrastructure is typically incompatible with a world where students use software on the internet. The backbone of the infrastructure at most schools […] The post Engineering at…

general

Sunit Parekh 1 min read

After hearing the discussion about TDD by Martin Fowler, Kent Beck and DHH. I thought of putting down my 2 cents about TDD - why I follow it, and why I find it useful as a thought process for solving design problems.

Jez Humble 1 min read

DevOps, a movement of people who care about developing and operating reliable, secure, high performance systems at scale, has always — intentionally — lacked a definition or manifesto. However (and this is fascinating in its own right) that doesn’t mean that we can’t measure the impact of DevOps, or how good people are at doing it. The proof of this,…

5 Jun 2014

Daniel Amorim 1 min read

Theory only helps till a point with test automation (as with a lot of development practices). So in this article we're going to follow a practical approach to use Protractor. Following these 3 steps below, will give you sufficient hands-on practice to proceed further with Protractor.

4 Jun 2014

Dave Cheney 1 min read

For packages go build builds your package then discards the results. go install builds then installs the package in your $GOPATH/pkg directory. For commands go build builds the command and leaves the result the current working directory. go install builds the command in a temporary directory then moves it to $GOPATH/bin. If you liked this […]

goprogramming

kevin 1 min read

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

code

Felicity Ruby 1 min read

Thoughtworks joins Reset the Net on 5 June Thoughtworks will participate in Reset the Net, an initiative for businesses, web developers and Internet users to take back their privacy. Given the absence of meaningful government or industry reform one year after the shocking revelations of Edward Snowden, Internet users need to take their own privacy seriously.

John Kordyback 1 min read

Making wholesales changes within an IT organization is risky, expensive, and prone to failure. If your combined systems have evolved into a tangled web then you need to lay the groundwork to evolve to a solution. You have several options for improvement. A one time step change of systems or practices can yield good, if mixed, results. For example, if…

3 Jun 2014

jonskeet 4 min read

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

anti-patternsstack overflow

2 Jun 2014

lukaseder 1 min read

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…

sqlcacheoracleperformancesequences

1 min read

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

Matt Cutts 3 min read

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 days

Abraham Kiggundu 1 min read

When does Agile fail? I’ve worked on a number of Agile projects throughout my 13 year career, and my experience with agile has been bittersweet. I was thus quite excited by the opportunity to work with the geeks that literally wrote the book on agile, and have since gained a more well rounded understanding of the concepts and practices along…