~/devreads

3 Aug 2015

1 min read

I was interviewed for the CodeNewbie podcast, where I talk about life, IBM Design, open source, and personal goals.

2 Aug 2015

0xADADA 2 min read

When introduced to someone for the first time, I stay away from asking the cliché question “so what do you do?” This seemingly benign question is steeped in the cultural heritage of the New England colonial Puritan/Protestant work-ethic. Hard work, frugality, perseverance in the face of hardship (without complaint) is the mark of Grace and this will allow you to…

essayslanguageperformativitysocietyclass

1 Aug 2015

Schakko 1 min read

When using the Mail facade in Laravel it is not so easy to test the output of the parsed mail template. Like http://stackoverflow.com/questions/31120567/unittesting-laravel-5-mail-using-mock I received the error Method Mockery_0__vendor_Swift_Mailer::getTransport() does not exist on this mock object. I ended up in listening to the mailer.sending event: public function testRegistrationMailIsSend_afterSubmittingForm() { // […] The post Integration testing the mail dispatching in Laravel…

laravel

31 Jul 2015

Sean McClure 1 min read

It is difficult to overstate the importance of data in today's economy. The tools we use and actions we take consume and generate a digital version of our world, all captured, waiting to be used. Data have become a real resource of interest across most industries and is rightly considered the gateway to competitive advantage and disruptive strategy.

30 Jul 2015

Kevin Thompson 3 min read

Earlier this month, the OpenSSL project team announced that three days later it would be releasing a new version of OpenSSL to address a high-severity security defect. In the end, this vulnerability resulted in another non-event for our customers, but we thought it might be useful and informative to share the process we went through […] The post Preparing Our…

engineeringperformance optimization

29 Jul 2015

Edith Namuganga 1 min read

Growing cabbage in Uganda, my home country, is pretty easy. All you need is a piece of land, know when it will rain, and plant your cabbage. The land is fertile with two rainy seasons so you can have a good crop without applying fertilizer or irrigating the land.

1 min read

Papertrail is an awesome log aggregation service we’ve used for long time. There are many ways to send logs to Papertail service, but we found the following solution is the most straightforward and secure for Rails apps like ours. Add remote_syslog_logger to Gemfile [codeblock 1 ruby] Configure logger in config/environments/production.rb [codeblock 2 ruby] Create papertrail.config in .ebextensions folder with following…

Carlos Villela, Viviana Terceros Cordova 1 min read

Popularized by Extreme Programming enthusiasts a couple of decades ago, the act of programming together with another developer on the same workstation gained massive adoption within Thoughtworks. Nowadays, Pair Programming is seen as an effective way to keep our folks happy, productive and learning, as is described in the article.

28 Jul 2015

lukaseder 1 min read

Method overloading has always been a topic with mixed feelings. We’ve blogged about it and the caveats that it introduces a couple of times: You Will Regret Applying Overloading with Lambdas! Keeping things DRY: Method overloading Why Everyone Hates Operator Overloading API Designers, be Careful There are two main reasons why overloading is useful: To … Continue reading Java 8’s…

javajava 8best practicesdefaulted parametersjosh bloch

Schakko 2 min read

In my last post I wrote about how to define the test environment for database integration tests. Now I want to describe, how the database can be populated with test or stam data. First of all, every test inherited from the generated TestCase class executes the Artisan migrate command (TestCase::prepareForTests()). […] The post Seeding the database for integration tests in…

laravel

blog.muffn.io (muffn_) 1 min read

Intro # So I started off my IT career as an intern for a rather large company in London. I was doing a lot of misc stuff, mostly desktop but always pushed for as many networking bits I could, networking is great. A year later and here I am as a junior network engineer on the path to my CCNA…

Ben Escudero 1 min read

The Onshore Anchor is critical to the success of any distributed delivery team, as it plays a key part in helping to overcome the artificial construct that is having software development teams split across different cities and time zones. The Onshore Anchor is not an additional role or person for a project team, but rather a specific responsibility that needs…

27 Jul 2015

jonskeet 4 min read

First note: this blog post is very much tongue in cheek. I’m not actually planning on using the idea. But it was too fun not to share. As anyone following my activity on GitHub may be aware, I’ve been quite a lot of work on Protocol Buffers recently – in particular, a mostly-new port for … Continue reading “Sideways overriding”…

c#evil code

Schakko 1 min read

As far as I have read, in Laravel 4 you could define your database integration test environment by adding a testing/database.php or .env.testing.php file containing your configuiration. In Laravel 5 both ways does no longer work. To switch your environment you have two options: Put both configuration definitions (testing, dev/production) […] The post Test environments for database integration tests in…

laravel

25 Jul 2015

Luciano Mammino 15 min read

This post highlights 6 important rules to keep in mind when developing performant web applications: avoid premature optimization, do the minimum required work, defer non-critical tasks, leverage caching, avoid N+1 queries, and design for horizontal scaling. Following these guidelines will help you write efficient code from the start and build apps ready to handle growth.

phpsymfonylaravelperformancescalability

24 Jul 2015

Schakko 1 min read

For two weeks I have been heavily developing a new web application based upon Laravel. Tonight I searched for an easy filtering solution like Zend_Filter so that the request strings are automagically trim’d, lowercased, and so on. Lucky me, the repository https://github.com/rmasters/filter is available with a composer.json but latest commit […] The post Using GitHub forks or local Git repositories…

php

2 min read

Here’s a problem that I used to give to candidates. I stopped using it seriously a long time ago since I don’t believe in puzzles, but I think it’s kind of fun. Let’s say you have a function that simulates a random coin flip. It returns “H” or “T”. This is the only random generator available. How can write a…

23 Jul 2015

Pete Staples 1 min read

I’ve been a professional creative for quite a while now, a print specialist and concept guy, mainly working on business-to-business communications but with a fair amount of consumer-facing stuff along the way too. I was lucky enough to be trained by some amazing, award-winning creative folks who were also very harsh critics – an experience that can make anyone run…

22 Jul 2015

lukaseder 1 min read

A short while ago, I gave this answer on Quora. The question was “What is the significance of NULL in SQL?” and most of the existing answers went on about citing C.J. Date or Tony Hoare and unanimously declared NULL as “evil”. So, everyone rants about NULL all the time. Let me counter-rant. Academics Of … Continue reading NULL is…

javasqlnulloptionoptional

Ryan Oglesby 1 min read

The word “hackathon” may conjure images of a group of programmers huddled around glowing screens, pounding out code 24-7 over a long weekend - empty Red Bulls and pizza boxes strewn about.

21 Jul 2015

20 Jul 2015

Matthew Green 8 min read

The past several months have seen an almost eerie re-awakening of the ‘exceptional access’ debate — also known as ‘Crypto Wars’. For those just joining the debate, theTL;DR is that law enforcement wants software manufacturers to build wiretapping mechanisms into modern encrypted messaging systems. Software manufacturers, including Google and Apple, aren’t very thrilled with that. … Continue reading A history…

backdoors

lukaseder 1 min read

Oracle will remove the internal sun.misc.Unsafe class in Java 9. While most people are probably rather indifferent regarding this change, some other people – mostly library developers – are not. There had been a couple of recent articles in the blogosphere painting a dark picture of what this change will imply: Dripstat‘s Removal of sun.misc.Unsafe … Continue reading What the…

javajava 9backwards compatibilityceylonjdk 9

Sivasubramanian V 1 min read

While coding in XP ways for the past few years, I have realized that in any Agile project which crosses the one year mark, there is a definite chance that the code base is not as flexible as it was during the start of the project. As releases happen, more and more stories are churned out by the developers. This…

19 Jul 2015

Ruth Harrison 1 min read

What does it mean to be green in this day and age? We have moved a far cry from the lentil eating, hemp wearing eco-warriors of the late 80’s into a digitalised push button fulfilment economy – by 2020 the conventional retail store will be unrecognisable from the homogenised high street of the last decade, with same bland 'pile it…

17 Jul 2015

1 min read

If you’re familiar with nearly any mainstream programming language, and I asked you to draw a diagram of an array, the array indices, and the array elements, odds are good you’d produce a diagram something like this: In this post, I want to persuade you to replace that image, or, at least, to augment it with an alternate view on…

Johannes Thönes 1 min read

“I’ve been a technical leader for eight years now and I guess I’m also still on my journey,” says Pat Kua, principal consultant at Thoughtworks and author of “Talking with Tech Leads”.

16 Jul 2015

15 Jul 2015

14 Jul 2015

William Gradin 2 min read

Heroku Connect provides seamless data synchronization between Heroku Postgres databases and Salesforce organizations. Without writing a single line of integration code, you can sync hundreds of millions of Salesforce records in near real time using a simple point-and-click UI. Resiliency and data consistency are assured with robust automatic error recovery and easy to use Salesforce […] The post Heroku Connect:…

newsheroku connectproduct featuressalesforce

1 min read

With preparations for the fall conference season coming up, here are some travel tips to help make your life a little bit easier.

13 Jul 2015

1 min read

In 2014 the White House commissioned a 90-day study that culminated in a report (pdf) on the state of “big data” and related technologies. The authors give many recommendations, including this central warning. Warning: algorithms can facilitate illegal discrimination! Here’s a not-so-imaginary example of the problem. A bank wants people to take loans with high interest rates, and it also…

Charith Tangirala 1 min read

Recently, I attended a talk on Enterprise Microservices Architecture by Darren Smith, a general manager for Thoughtworks, Sydney. The talk helped address questions I had about microservices architecture in large enterprises. Here’s a quick recap to help you as you explore the pros and cons for your team.

12 Jul 2015

Patti Mandarino 1 min read

How It All Began for Me It is hard to believe that I have worked for the same company for 23 years. A situation that is nearly unheard of in 2015 and nearly never in the technology industry. I am both proud and at times embarrassed by this fact.

10 Jul 2015

9 Jul 2015

Balan Subramanian 4 min read

In February, we announced Heroku Enterprise, with collaboration and management capabilities for building and running your app portfolio in a governable and secure way on Heroku. We also introduced fine-grained access controls with app privileges as a beta feature. Today, we are pleased to announce general availability of this feature: Heroku Enterprise accounts are now […] The post Managing apps…

newscloud infrastructuredeveloper toolssecuritysecurity compliance

8 Jul 2015

Aneesh Lele 1 min read

Many executives are getting tired of the “D” word. Yet, even longtime market leaders with a reputation for innovation-led growth are stumbling in the face of fast-changing customer expectations. Importantly, this is not a technology industry issue. It’s a business issue that is cutting across industries and geographies. Here are a few examples.

7 Jul 2015

Craig Kerstiens 3 min read

Today, we're excited to introduce Go as the newest officially supported language on Heroku. Over the last 2 years we’ve fallen in love with Go, an expressive, concise, clean, and efficient language with built-in concurrency, making it easy to write and maintain network services, microservices and high-traffic API endpoints. Now when writing Go you can […] The post Go support…

news

1 min read

A ridiculous frankenstein of a name for a legitimate approach to CSS that pulls ideas from the most popular approaches.

6 Jul 2015

5 Jul 2015

1 min read

There are a lot of Java API’s and Frameworks which rely on static methods and the sort. Arguably, this is a bad OOP practice, but let’s not enter this particular subject just yet.

Luca Minudel 1 min read

In 2014, I helped an organization form and start a group of internal Lean-Agile coaches as part of an organizational transformation. Prior to that, I trained many people, coached many teams and facilitated multiple meetings and ceremonies. But I had never formally trained another coach except for pairing with him or her to train him or her on-the-job.

4 Jul 2015

2 min read

Annoy is a library written by me that supports fast approximate nearest neighbor queries. Say you have a high (1-1000) dimensional space with points in it, and you want to find the nearest neighbors to some point. Annoy gives you a way to do this very quickly. It could be points on a map, but also word vectors in a…

3 Jul 2015

Ruslan Spivak 7 min read

In their amazing book “The 5 Elements of Effective Thinking” the authors Burger and Starbird share a story about how they observed Tony Plog, an internationally acclaimed trumpet virtuoso, conduct a master class for accomplished trumpet players. The students first played complex music phrases, which they played perfectly well. But then they were asked to play very basic, simple notes.…

2 Jul 2015

Dave Cheney 3 min read

This is a short blog post explaining why I believe that Go and Rust are not competitors. Why people think Rust and Go are competitors To explain why I think Rust and Go are not competitors, I want to to lay out the reasons why I think the question is being asked in the first place. Rust […]

goprogrammingrust

3 min read

The workflow engine battle has intensified with some more interesting entries lately! Here are a couple I encountered in the last few days. I love that at least two of them are direct references to Luigi! Airflow (Blog Post) (GitHub) Airflow from Airbnb is probably the most interesting one. I’ve only glanced at it, but here are some very superficial…

1 Jul 2015

Lucas Medina, Raquel Liedke 1 min read

There are innumerous ways to slip up when creating a user story. These can lead to implementation defects if not validated before development. Details that are apparently clear in the head of the Business Analyst, or even the client, could end up not being properly expressed in the description of a story.

Barry O'Reilly 1 min read

For any leader in business one of the most challenge aspects (and a question I get asked a lot) is how to manage failure — especially in large organisations? Typically, workers within organisations fear how executives will respond to lack of success. On the other side, executives cannot seem to get the message through to workers to embrace experimentation and…

Sriram Narayan 1 min read

Recently, Steve Blank, a luminary who developed the Customer Development methodology, a precursor to the Lean Startup movement, said that organizational debt is like technical debt in software but worse: “Organizational debt is all the people/culture compromises made to 'just get it done' in the early stages of a start-up.”

30 Jun 2015

lukaseder 1 min read

(Notice, this post has been written a while ago. jOOQ now supports JSR 310 data types) There was an interesting discussion recently on the jOOQ mailing list about jOOQ’s current lack of out-of-the-box support for TIMESTAMP WITH TIME ZONE data types. No one said that date, time and timezones are easy! There’s an amusing piece … Continue reading What’s Even…

javajava 8cestcetgmt

Pedro Belo 4 min read

Fun fact: the Heroku API consumes more endpoints than it serves. Our availability is heavily dependent on the availability of the services we interact with, which is the textbook definition of when to apply the circuit breaker pattern. And so we did: Circuit breakers really helped us keep the service stable despite third-party interruptions, as […] The post Improved production…

engineeringapisdeveloper toolsperformance optimization

Marcio Viegas 1 min read

People think they are good listeners, but the fact that almost every project suffers from miscommunication proves they are not. It took me eight months of being a consultant to realize that. Hopefully, it will take me only a few questions to convince you of it. Do you remember the last time you had a heated discussion with a client?…

David Walton, MD MPH 1 min read

In October 2010, under the heat of the mid-afternoon sun, a 27-year-old woman presented to a small hospital in the rural town of Lacolline, Haiti. She had lost consciousness shortly after falling ill with abdominal pain, vomiting, and severe diarrhea. Her family, who lived in a remote village, carried her more than four kilometers on a makeshift stretcher to the…

29 Jun 2015

1 min read

go build generates a binary for the platform you run it in. So, if I build antibody in a Linux machine - which uses Mach-O, it will not work in OS X - which uses ELF.

1 min read

Recently I became infatuated with TIS-100, a game which aptly describes itself as “the assembly language programming game you never asked for!” The point of the game is to program the (imaginary) TIS-100 CPU to solve problems. For example, you might need to take input from two ports and swap them, then write the outputs to two other ports. The…

28 Jun 2015