~/devreads

11 May 2017

1 min read

There are abundant resources online trying to scare programmers away from using shell scripts. Most of them, if anything, succeed in convincing the reader to blindly put something that resembles

MapTiler (Petr Sloup) 1 min read

Geoeditor is a simple online app for collaborative creating and editing of basic geographical data - just draw points, polygons and lines on top of the maps directly in a web browser.

10 May 2017

MapTiler (Petr Sloup) 1 min read

Our new GeoEditor mobile app brings comfortable drawing tools, importing own maps into mobile devices, various base maps, standardized data formats, and much more!

9 May 2017

Jonan Scheffler 13 min read

At EmberConf Terence Lee and I had a chance to sit down with Tom Dale and chat about the history of Ember.js and where it’s headed now, including some details on the newly extracted Glimmer.js rendering engine. This post details a lot of the history of Ember, including some of the motivation that led the […] The post The History…

newsdeveloper toolsjavascriptopen source

lukaseder 1 min read

I was recently asked in an interview about my opinion on how to be a great programmer. That’s an interesting question, and I think we can all be great programmers, regardless of our talent, if we follow a couple of rules that – I believe – should be common sense. In fact, these rules don’t … Continue reading 10 Tips…

javaprofessionalprogramming

Stanko 1 min read

Another tech meetup coming up. This time we have three great talks about engineering and project planning. We also have a special guest - IT girls team. The IT Girls team will share their advances in promoting the professional development of women in technology in Serbia. This one will be held on Tuesday, May 16th at Impact Hub Belgrade. See…

8 May 2017

lukaseder 1 min read

A large-ish customer in banking (largest tables on that particular system: ~1 billion rows) once decided to separate the OLTP database from the “log database” in order to better use resources and prevent contention on some tables, as the append-only log database is used heavily for analytic querying of all sorts. That seems to make … Continue reading The Difficulty…

sqldatabase linksoracleremote databasesql performance

kevin 6 min read

You might have heard that you shouldn't be using JWT. That advice is correct - you really shouldn't use it. In general, specifications that allow the attacker to choose the algorithm for negotiation have more problems than ones that don't (see TLS). N libraries need to implement M different encryption and decryption algorithms, and an […]

codedesign

Carlos Nuñez 1 min read

In the first section of this two-part series, we looked briefly into the state of IT teams before the DevOps movement gained traction, and some skills that might be useful to those looking to get into infrastructure work. In this section, we will explore different variations of DevOps teams I’ve seen, as well as, their positives and advantages. DevOps In…

5 May 2017

4 May 2017

jgamblin 1 min read

As I continue to try to learn R, I am trying to build tools that other people might find useful. Tonight with the help of Bob Rudis I built a script that will find domains with a keyword in it from DomainPunch, do a geoip lookup and map it if it is online. Since it is time to start thinking…

uncategorized

Chris Murphy, Guo Xiao 1 min read

Technology is moving our world at hyper speed and most businesses are scrambling to keep pace – from how they engage with customers to how they plan, respond and position for the future. Every day, leaders – whether digital natives or business veterans – wake up to a new landscape and to new decisions for which there are no precedents.…

3 May 2017

lukaseder 1 min read

In SQL, quite often, we want to compare several values with each other. For instance, when we’re looking for a specific user by their first and last names, we’ll write a query like this one: We’re getting: CUSTOMER_ID FIRST_NAME LAST_NAME ------------------------------------ 8 SUSAN WILSON Surely, everyone agrees that this is correct and perfectly fine as … Continue reading Don’t Use…

sqlconcatenationindexesperformancepredicates

1 min read

European businesses and consumers have unique preferences when it comes to paying for goods and services online. Optimizing the payment process allows US companies to beat their competition and capture these customers, who are ready and willing to spend.

2 May 2017

Marc Sibson 3 min read

The Heroku Connect team ran into problems with existing task-scheduling libraries. Because of that, we wrote RedBeat, a Celery scheduler that stores scheduled tasks and runtime metadata in Redis. We’ve also open-sourced it so others can use it. Here is the story of why and how we created RedBeat. Why We Created the RedBeat Celery […] The post Hello RedBeat:…

engineeringdeveloper toolsheroku key-value storeredis

Jeff Norris 1 min read

For me, becoming a Tech Lead was not something that happened one day, or even after a planned transition. It was something that I now realize started way back in my internship during college. Being a Tech Lead is something that you grow into, often because other leaders gave you a safe space to practice leadership, and you observed them…

Sameer Soman 1 min read

"When we talk about the Internet of Things, it's not just putting RFID tags on some dumb thing so we smart people know where that dumb thing is. It's about embedding intelligence so things become smarter and do more than they were proposed to do", said Nicholas Negroponte, Chairman Emeritus of Massachusetts Institute of Technology's Media Lab and founder of…

David Robinson, Jim Highsmith 1 min read

History is rife with inflection points, like the Brexit decision in the United Kingdom, or the 2016 election in the United States. Sometimes these events are instantly recognized as historic turning points, other times recognition comes slowly. One such slowly evolving inflection point began in the early 2000’s and has accelerated in the last 5 years—the transition from a cost-driven…

1 May 2017

Ana Rodrigo, Hiyasmin Dimaranan 1 min read

Earlier, we shared a set of questions and answers from our recent webinar, “I am a Technologist, Not a Female Technologist”, with presenters Dr Rebecca Parsons, Thoughtworks CTO, and Dr Susan Davis-Ali, Vice President of Organizational Transformation at ABI. While that post focused on actionable tips and advice for the technologist, we know that action must come from all directions…

30 Apr 2017

jgamblin 1 min read

Since I have started looking at the Umbrella DNS Popularity List I was interested in seeing how much the data changes day to day. I fired up RStuido and wrote some terrible code but finally got it to work with some help. Yesterday there were 80937 new DNS names on the list that were not on the list the day…

uncategorized

{"twitter"=>"hlaueriksson"} 5 min read

I set out to learn about Azure Functions and this is the knowledge I have gathered so far. To have something to work with, I decided to migrate the ASP.NET Core Web API for “My latest online activities” to Azure Functions. As background, refer to these related blog posts: Getting started with React Continuous Delivery with Visual Studio Team Services…

Dave Cheney 3 min read

In my previous post I showed that Go maps are not reference variables, and are not passed by reference. This leaves the question, if maps are not references variables, what are they? For the impatient, the answer is: A map value is a pointer to a runtime.hmap structure. If you’re not satisfied with this explanation, read on. What […]

goprogrammingmaps

29 Apr 2017

jgamblin 2 min read

Recently I started looking at the Umbrella DNS Popularity List and did a blog post about it here. The data seemed valuable and lacking at the same time so I spent my *limited* free time this week learning about R and RStudio. Protip: If you want to play along at home there is an RStudio docker container so all you…

careersecurity

Dave Cheney 2 min read

My post on pointers provoked a lot of debate about maps and pass by reference semantics. This post is a response to those debates. To be clear, Go does not have reference variables, so Go does not have pass-by-reference function call semantics. What is a reference variable? In languages like C++ you can declare an alias, […]

goprogrammingpass by referencepass by valuereferences

28 Apr 2017

Arif Gursel 1 min read

Need to quickly catch up on this past quarter's announcements? Here are the top three topics to tune in on: The new add-ons canary service will attempt to provision and deprovision your add-on service on an app named 'addons-canary'. These daily tests will help us proactively detect any failed provisioning attempts and ensure customers can […] The post FY18 Q1…

ecosystemadd-onsheroku shieldpartnersplatform updates

Henrik Warne 5 min read

In my experience, code can rot in two distinct ways. The first case is code that hasn’t been used in a long time, but where the environment has changed so it is no longer possible to run the code. In … Continue reading →

programmingcodecode rotquality

1 min read

We are running Kubernetes on both sandbox and production for some months now. Our production cluster is still small, with few services running on it, but, most of our sandbox environment is running on a Kubernetes cluster on AWS.

27 Apr 2017

Ruslan Spivak 28 min read

Anything worth doing is worth overdoing. Before doing a deep dive into the topic of scopes, I’d like to make a “quick” detour and talk in more detail about symbols, symbol tables, and semantic analysis. In the spirit of “Anything worth doing is worth overdoing”, I hope you’ll find the material useful for building a more solid foundation before tackling…

Ryan Murray 1 min read

The digitally-savvy customer has highly sophisticated - and ever-evolving - expectations for engagement and brand experience at every touchpoint. Delivering on and keeping up with these expectations requires an innovation-driven culture with customer value at its center. We’ve seen a common theme across our most successful client engagements: innovation and speed to market at scale requires more than just intense…

26 Apr 2017

Andrew Terranova 4 min read

Thanks to Bazaarvoice I recently attended an “Advanced React Workshop” put on by React Training and taught by Ryan Florence, one of the creators of React Router. Ryan was an engaging teacher and the workshop was filled with memorable quotes. Here are some highlights: The great conundrum of accessibility is that learning it is not […]

conferencesjavascriptreact

jonskeet 2 min read

This is a brief post documenting a very weird thing I partly came up with on Stack Overflow today. The context is this question. But to skip to the shock, we end up with code like this: That just shouldn’t happen. You shouldn’t be able to create an instance of an open type – a … Continue reading Surprise! Creating…

c#evil codestack overflow

Brandon Byars 1 min read

Cloud and Platform-as-a-Service (PaaS) offerings can provide significant business advantages when deployed in a way that accelerates application delivery. However, placing the decision-making authority of cloud purchases solely in the infrastructure department often achieves incremental efficiencies at the cost of long-term business results. The greatest benefit of these technologies comes from the organizational changes they allow.

25 Apr 2017

jgamblin 2 min read

Cisco offers a daily list of the million most queried domain names from Umbrella (OpenDNS) users. I had some time this weekend so decided to spend some time playing around with the data to see what I could find so I spun up a lightsail server and got to work. Grabbing the file is as simple as: wget http://s3-us-west-1.amazonaws.com/umbrella-static/top-1m.csv.zip You…

career

1 min read

We have a new tech talk coming up on May 17th, from our very own Dominick LoBraico. This one is about how to represent configurations with programs. In some sense, this is an obvious idea. Lots of programmers have experienced the dysphoria that comes from watching your elegant little configuration format metamorphize into a badly constructed programming language with miserable…

Stanko 1 min read

Just a short one. I want to share a simple command to display nicer git log in the terminal. git log has --pretty=format option built-in, we are just going to pass formatting to it. git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' And it looks like this: Then add it to your .bash_profile as an alias (I'm using glog)…

24 Apr 2017

1 min read

Problem: Determine if two polynomial expressions represent the same function. Specifically, if $ p(x_1, x_2, \dots, x_n)$ and $ q(x_1, x_2, \dots, x_n)$ are a polynomial with inputs, outputs and coefficients in a field $ F$, where $ |F|$ is sufficiently large, then the problem is to determine if $ p(\mathbf{x}) = q(\mathbf{x})$ for every $ x \in F$, in…

Neil Redding 1 min read

Remember just a few years ago when your customers started tweeting at you, angry about a delayed flight, complaining loudly about a poor product or “the worst service ever!”? At least you had a social media presence—unlike some of your competitors—but I bet it really took time and effort to learn how to use social media effectively. It may even…

1 min read

VSCode just released custom workspaces! This means you can customize your text editor layout and style for different projects within a single editor!

23 Apr 2017

jonskeet 6 min read

This post is an attempt to reduce the number of times I need to explain things in Stack Overflow comments. You may well be reading it via a link from Stack Overflow – I intend to refer to this post frequently in comments. Note that this post is mostly not about text handling – see … Continue reading All about…

javastack overflow

Ana Rodrigo, Hiyasmin Dimaranan 1 min read

We kicked off the year with a webinar I am a technologist, not a female technologist. Dr Rebecca Parsons, Thoughtworks CTO, and Dr Susan Davis-Ali, Vice President of Organizational Transformation at ABI, discussed ways to kick start change and create safe, welcoming homes for all technologists.

21 Apr 2017

Carlos Nuñez 1 min read

I’ve observed a sharp uptick of developers and systems administrators interested in “getting into DevOps” within the last year or so. This pattern makes sense, too: in an age where a single developer can spin up a globally-distributed infrastructure for an application with a few dollars and a few API calls, the gap between development and systems administration is closer…

20 Apr 2017

Jon Byrum 2 min read

Your Heroku applications run on top of a curated stack, containing the operating system and other components needed at runtime. We maintain the stack – updating the OS, the libraries, and ensuring that known security issues are resolved, so that you can focus on writing code. Today we're announcing the general availability of Heroku-16, our […] The post The Heroku-16…

newscloud infrastructure

lukaseder 1 min read

At a customer site, I’ve recently encountered a report where a programmer needed to count quite a bit of stuff from a single table. The counts all differed in the way they used specific predicates. The report looked roughly like this (as always, I’m using the Sakila database for illustration): And then, unsurprisingly, combinations of … Continue reading How to…

sqlaggregate functionanalyticscountcube

19 Apr 2017

Gareth Morgan 1 min read

Why Adopt Matters Each new edition of the Thoughtworks Technology Radar is the result of extensive internal discussion. Our Technology Advisory Board (TAB) debates the merits of scores of potential blips. The group that inevitably attract much attention are those that are in the Adopt ring—particularly those that have newly moved into Adopt.

18 Apr 2017

Ike DeLorenzo 11 min read

How we built Heroku CI: our product intuition checked against what the market wants (we surveyed ~1000 developers to figure out the latter, and the results were surprising) Two approaches to building any product are often in tension: designing from inspiration, and designing from information. On the pure inspiration side, you just build the product […] The post On Building…

newscontinuous integrationdeveloper toolsheroku flowproduct features

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. I’m very excited to … Continue reading jOOQ Tuesdays:…

jooq-tuesdaysdatabase testingdatabasesintegration testingjooq tuesdays

17 Apr 2017

Michael Carroll 1 min read

A general overview of HIPAA, and why it matters for any real-time messaging platform to send and receive ePHI data in real time.

Michael Carroll 1 min read

A general overview of HIPAA, and why it matters for any real-time messaging platform to send and receive ePHI data in real time.

jgamblin 1 min read

I am a huge fan of Tim Tomes and his Burp Suite Configuration Suggestions blog post. The problem is that I only use Burp a couple times a month and end up facing this screen and have to re-configure burp on every launch: So I built burpsettings.json that: Disables Browsers XSS Protection Disables Burp Collaborator Server Disables Intercept by Default…

uncategorized

Gary O'Brien 1 min read

The word “transformation” is fast becoming one of the most clichéd terms in the business world. It’s a word used to signal to a company that there’s an intent to make a change. Often predicated on a new executive hire or a poor performance year, it’s the war cry for “we have to do something different, and fast”. The next…

15 Apr 2017

Laura Nash 1 min read

Shouldn’t technology exist without inherent biases and discrimination? At Thoughtworks, we’ve been working towards making technology more inclusive for the past six years. While we’re still far from where we would like to be, we know we’re going in the right direction.

13 Apr 2017

jgamblin 1 min read

Today I was asked if it was possible to generate a list of domain names registered everyday with a keyword in the record (company name, city, trademark, etc). There are a few paid services that do this and domainpunch.com has a web based tool that will do this but I wanted to automate it so I could use it with…

uncategorized

1 min read

Last few months I’ve been using Go to write quite a lot of tools. In this post I intend to show not why I chose Go over others, but how I architect those tools, what libraries I use and what kind of automation I have in place.

1 min read

It’s been over a year since I wrote a blog entry! And while of course the universal excuse of “I’ve been busy” applies, I think we reached a point in Discourse’s development where we just were able to focus on the product without a lot of stuff getting in our way. I’ve now been working on Discourse full time for…

Gareth Morgan 1 min read

The Thoughtworks Technology Radar doesn't just cover emerging technology, tools and techniques. We also get our Technology Advisory Board (TAB) to summarize the important themes that emerge from the Radar creation process. These videos enable you to get up to speed on the trends that are reshaping the enterprise. Pervasive Python

12 Apr 2017

1 min read

I’ve always been fascinated by systems, the way they work, the way you can put them apart and build them back up. Part of this fascination is my insatiable desire to always be learning but also a challenge I like I give myself: can we do better? This fascination is what drove me most of my career. But my focus…

11 Apr 2017

Dave Cheney 2 min read

Full disclosure: my employer makes a Slack alternative. All my concerns about the use of Slack type chat services apply equally to its competitors, including my employer’s. I’ve tweeted a few times about my frustration with the movement of open source projects from open, asynchronous, communication tools like forums, mailing lists, and issue trackers, to […]

programmingsmall ideas

Miranda Hill 1 min read

Insurance companies and InsurTech recently gathered at the SVIA Fusion conference to talk about the future of insurance in the age of digital disruption. According to KPMG, VC’s invested over $2.5 billion[1] in InsurTech in 2015.

10 Apr 2017

kevin 5 min read

You should write your next web server in Go. Yes, you! Compared with Ruby, PHP, Python, or Javascript, you're going to get great memory and latency performance, and libraries that do what you expect. The standard library can be a bit lacking though, if you are used to developing with a tool like Rails. I […]

code

Dr J Harrison 1 min read

We’ve all filled out those fields on forms - First name, Last name, Address, Gender - without thinking about the information. Imagine what it is like not to be able to put the right information down. It’s like you’re a Cat, and the options are Dog and Penguin - there is not only no option to identify as yourself, the…

9 Apr 2017

Dave Cheney 1 min read

This weekend I polished up my Arduino Day project and published it to GitHub for Retrochallenge 2017/04. Introducing Arduino6502 https://github.com/davecheney/arduino6502 The repository contains an Arduino sketch that can be loaded on Arduino Mega boards (Arduino Uno’s can be accommodated by lowering the RAMSIZE value). The sketch includes ROM images for AppleSoft Lite and Krusader symbolic […]

hardware hackingretrochallengerc2017 04

5 min read

I’ve read about 100 management books by now but if there’s something that always bothered me it’s the lack of first principles thinking. Basically it’s a ton of heuristics. And heuristics are great, but when you present heuristics as true objectives, it kind of clouds the underlying objectives (and you end up with weird proxy cults like the Agile movement…

Praful Todkar, Ryan Murray 1 min read

This article is the first in a three-part series examining how we can achieve ROI from our service-oriented architecture initiatives and deliver on the promise of building business capabilities quickly. We believe the key to success is well-factored service architecture. These articles will provide high-level guidance on building a well-factored service architecture. A lot of our thinking has been influenced…

7 Apr 2017