~/devreads

20 May 2013

Juliano Bersano 1 min read

I have done 3 projects in a row where we did not use story points and simply counted stories. I’m a big advocate of that approach. Let me explain why. I'm an estimation geek who loves the nuances of estimation, and have used function points, use case points, COCOMO, and story points for over 10 years. Over time, I’ve become…

17 May 2013

16 May 2013

15 May 2013

1 min read

This post is mainly mathematical. We left it out of our introduction to categories for brevity, but we should lay these definitions down and some examples before continuing on to universal properties and doing more computation. The reader should feel free to skip this post and return to it later when the words “isomorphism,” “monomorphism,” and “epimorphism” come up again.…

14 May 2013

Huimin Li 1 min read

For about two years now, a norm has emerged on the Mingle team: “Every story is 4 points.” As a BA on our team, I quipped, “Well, that’s because our BAs are particularly good at writing stories.” :)... And then started digging into data to understand why.

Ben Butler-Cole 1 min read

As mentioned in my last blog, the newly launched Mingle SaaS runs entirely on the AWS cloud, for which we designed the architecture from scratch. Rethinking our approach to environments in the development and deployment process, has allowed us to shed a lot of problems experienced in traditional data center environments. Following the principles described here has increased the reliability…

13 May 2013

Matt Cutts 1 min read

We just recently taped a new round of webmaster videos, and I thought this video deserved a full-fledged blog post. This is my rough estimate (as of early May 2013) of what search engine optimizers (SEOs) and webmasters should expect in the next few months: Bear in mind that this is a very rough estimate, […]

google seomovies videos

Matt Cutts 1 min read

This is a “hairball” post you can ignore. However, this post does trace my thinking about how to scale webmaster communication. Part of me wants to start answering questions I get via email by stripping out the identifying information and then replying with a blog post. Instead of one person getting a single reply, everybody […]

personalproductivity

Matt Cutts 1 min read

A quick “hairball” post about how sometimes it’s better to just go with the flow. I like how xkcd made this point with a chart of whether it’s worth the time to fix something that’s bugging you. I have a friend who is mechanical engineer. A few years ago he took me for a tour […]

productivity

Matt Cutts 1 min read

This is a harmless “hairball” post I had as a draft. Me: Hey, they added me to popurls.com! My wife: Never heard of it. (pause) Had you heard of it before? Me: Yeah. Wife: Really? Me: Yeah! Wife: (with an extra helping of sarcasm) Really? Me: Yes! Wife: (dripping with condescension) You’re a very important […]

personal

Matt Cutts 7 min read

This is the last half-finished “hairball” blog post about USB devices on Linux. I actually did manage to get a working program that controlled a USB foam missile launcher. Unfortunately, I didn’t document all the steps, so this blog post just sort of stops at some point. I got a USB Missile Launcher for Christmas. […]

fungadgets hack

Matt Cutts 3 min read

What, *another* half-finished blog post about Linux USB drivers? Yup. Suppose you have a device and want a Linux device driver for it. There are a few steps you’ll need to take. One of the heroes in this area is Greg Kroah-Hartman. Greg wrote USBView, which is a Linux tool to enumerate a list of […]

gadgets hack

Matt Cutts 7 min read

Here’s another “hairball” post about USB devices and drivers on Linux. I wish some expert would write the definitive “here’s how to reverse-engineer a USB device and write a new USB driver” guide. I am definitely not that expert. Once you reverse engineer a Windows USB device enough to know how it works, you’re ready […]

linux ubuntu

Matt Cutts 4 min read

For a while, I was really into reverse-engineering USB drivers. Don’t ask why. The heart wants what the heart wants. I didn’t finish this “hairball” post, but it has some info in it that still might be good. I recently stumbled across this post and it inspired me. I decided to try to reverse engineer […]

gadgets hackhow to

Matt Cutts 4 min read

Over the years I’ve written a lot of blog posts to debunk misconceptions or claims that weren’t true. Sometimes I publish the blogs posts but often I don’t. This is a pretty typical example post. Someone claimed that Google was evil for removing a particular domain, when in fact the domain had been removed from […]

google seo

Matt Cutts 3 min read

I started this blog post of Chrome tips in 2008. Even though this is a “hairball” post, some of these tips still work. – control-shift-V will paste your selection as plain text – control-shift-T will re-open the last tab you closed. You can repeat that to keep re-opening previously closed tabs. – Hover over a […]

chrome

Matt Cutts 2 min read

This “hairball” post about Cuil isn’t really snarky, so I’ll post it. Cuil is no longer around, but it did spawn a funny post on Reddit about Cuil Theory. Cuil launched this week. For a search engineer, a new search engine is like a Christmas present: you can’t wait to play with it. Most search […]

web net

Matt Cutts 1 min read

You can ignore this ancient “hairball” blog post. Gather round, kids, and witness this blog post from a time *before internet-connected scales*. That’s right. Back then, we had to hack our Wii balance boards to connect them to the internet. Of course now you can buy wifi-connected scales from Fitbit and Withings. But in a […]

gadgets hack

Matt Cutts 3 min read

You can ignore this “hairball” blog post. This post dates back to a time when people actually curated, saved, and managed their bookmarks.html file. Then Google Chrome introduced the ability to save and sync all your bookmarks, extensions, etc. in the cloud. Now I sign in to Chrome and everything is synced in the cloud. […]

gadgets hack

Matt Cutts 1 min read

What’s that? You’ve never heard of an XMPCR? Don’t worry, the rest of the world hasn’t either. You can ignore this “hairball” post as I do spring cleaning on my blog. TimeTrax was a program that allowed XMPCR owners to listen to XM Radio on their computer. Even nicer, the program would “time shift” the […]

gadgets hack

Matt Cutts 1 min read

Note: this is a “hairball” post and you can ignore it. I was so proud of my first one million steps with a pre-Fitbit pedometer. Now I’ve done 13 million steps and it’s just kind of normal. For the record, the Fitbit is a great little pedometer, but I tend to lose one every few […]

personal

Matt Cutts 5 min read

This “hairball” post is ancient and unfinished. Would anyone care about this now? Probably not. Maybe some future data archaeologist will care. In my previous post I covered what a toolchain is and why you need one to cross-compile applications for the iPhone. I’ve seen rumors that there will be a Windows toolchain soon, and […]

iphoneweblog blog

Matt Cutts 1 min read

My blog is almost eight years old, and I’ve published just under a thousand blog posts in that time. Along the way, I wrote about 100 draft notes that I never published. Sometimes I just didn’t finish the posts. Sometimes I thought they were too boring. Sometimes I wrote a blog post to debunk a […]

weblog blog

Mike Long 1 min read

Organizations employ a design-up-front approach because they believe they will avert risk and manage change. Reviewing a nice big stack of well-rendered mockups created in a high-end graphic design program can give stakeholders that feeling that whatever comes out the other end of the production pipeline in 6 months, it is going to be ready for customers to use and…

11 May 2013

1 min read

Pablo Picasso Simplicity and the Artist Some of my favorite of Pablo Picasso’s works are his line drawings. He did a number of them about animals: an owl, a camel, a butterfly, etc. This piece called “Dog” is on my wall: Dachshund-Picasso-Sketch (Jump to interactive demo where we recreate “Dog” using the math in this post) These paintings are extremely…

10 May 2013

Pavan Sudarshan 1 min read

My last gig as a tech lead was on Bums on the Saddle, an ecommerce startup where we had to get a working piece of software with minimal functionality to production within a week. We then had to follow it up with frequent releases and be done with the minimum viable product (MVP) in 8 weeks. After the MVP we…

9 May 2013

8 May 2013

Ben Butler-Cole 1 min read

The newly launched Mingle SaaS offering runs entirely on the AWS cloud. As discussed in our earlier blog on Layering the Cloud, because there is no existing system that we have to modify or integrate with, we've got the freedom to design the architecture from scratch. This has led us to rethink the role of environments in our development and…

7 May 2013

1 min read

Just promoting Spotify stuff here: check out the Snakebite repo on Github, written by Wouter de Bie. It’s a super fast tool to access HDFS over CLI/Python, by accessing the namenode directly over sockets/protobuf. Spotify’s developer blog features a nice blog post outlining what it’s useful for. I think this kicks ass and there will definitely be some kind of…

6 May 2013

Thoughtworks 1 min read

Page object pattern maps UI pages to classes and related actions to methods in that class. This allows for better grouping of page actions. All the actions specific to each page will be in a single class. Page object pattern has few advantages:

5 May 2013

4 May 2013

1 min read

In this post we’ll get a quick look at two ways to define a category as a type in ML. The first way will be completely trivial: we’ll just write it as a tuple of functions. The second will involve the terribly-named “functor” expression in ML, which allows one to give a bit more structure on data types. The reader…

3 May 2013

Matt Cutts 1 min read

Recently someone on twitter complained that Chrome was labeling their site as malware: http://Dvorak.org site blocked by Chrome browser after I wrote negative commentary about Google. I took a few minutes to compose a reply, so I’ll go ahead and post it here: Just to summarize: Chrome’s warning is correct. Your blog is hacked and […]

google seo

David Rice 1 min read

May is looking to be quite an exciting month at Thoughtworks Studios. I'm writing to give a quick preview of Go’s new value stream mapping, a SaaS version of Mingle, and Snap, our new CI/CD in the cloud offering for users of Github and Heroku. Let's start by taking a look at a screenshot from a new Go feature on…

2 May 2013

Thoughtworks 1 min read

This is the second part in a two part blog series which talks about Twist execution hooks and customizable HTML reports. In the first post, we described collecting the step execution time and posting it in Twist data store. Here we will discuss customizing the HTML report to visualize the step execution timings.

1 May 2013

Peter Gillard-Moss 1 min read

We've just launched Mingle SaaS, and as part of designing & building the architecture from scratch, we were able to challenge and rethink the way we build systems on the cloud. This is the first part in a series of blogs discussing our learning. One of the great things about the cloud is the way you can just run a…

30 Apr 2013

1 min read

Previously on this blog, we’ve covered two major kinds of algebraic objects: the vector space and the group. There are at least two more fundamental algebraic objects every mathematician should something know about. The first, and the focus of this primer, is the ring. The second, which we’ve mentioned briefly in passing on this blog, is the field. There are…

Thoughtworks 1 min read

This blog post talks about measuring the execution time for each step and reporting it in Twist HTML reports. This is very helpful to analyze application performance and it also makes it easy to spot parts of the application that aren't performing well. This is the first part of a two-part blog series. The second part talks about consuming this…

Chad Wathington 1 min read

The Journey from Doing Agile to Being Agile Being agile is much more than applying some techniques to run software projects - it requires a commitment to adaptive leadership, a focus on delivering value fast, and a different understanding of what your organizations' portfolio should look like. This webinar will investigate some of the key changes to becoming agile, with…

27 Apr 2013

1 min read

The simple way to get featured on big data blog these days seem to be Build something that does 1 thing super well but nothing else Benchmark it against Hadoop Publish stats showing that it’s 100x faster than Hadoop $$$ Spark claims their 100x faster than Hadoop and there’s a lot of stats showing Redshift is 10x faster than Hadoop.…

26 Apr 2013

25 Apr 2013

2 min read

Late last year, six women crowded in to a Mitte cafe booth and listened to Berlin Geekettes founder Jess Erickson share her idea: Berlin’s first all-women hackathon. With SoundCloud’s Amelie Anglade the then newly-appointed the Berlin Geekettes Tech Ambassador, we agreed that it was a great idea to produce the hackathon as a partnership between the Geekettes and the women…

24 Apr 2013

1 min read

For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we’ll see how the definitions laid out here translate to programming constructs. As we’ve said in our soft motivational post on categories, the…

23 Apr 2013

Scott Turnquest 1 min read

Companies rarely promote people into leadership roles who haven’t been consistently seen and measured. It’s a familiarity thing, and it’s a trust thing. We’re not saying that the people who get promoted are stars during every “crucible” moment at the office, but at least they’re present and accounted for. And their presence says: Work is my top priority. I’m committed…

21 Apr 2013

Jason Furnell 1 min read

A step-by-step guide for rapidly creating a shared vision for execution So how do you do great design in a rapid, multidisciplinary and inclusive way? How do you set up new projects for success in a fast moving, agile environment? How do you ensure shared understanding and ownership of new initiatives in just a few days? I now focus a…

19 Apr 2013

Sriram Narayan 1 min read

Say we have a set up like the one below. We have two pipelines -- one for component-1 (C1) and another for component-2 (C2). C1 just builds off its source code in version control (VCS-1). C2 has its source in a different repository (VCS-2) and is also dependent (d3) on C1. In Go terminology, C1 has one upstream dependency d1…

18 Apr 2013

jonskeet 1 min read

A little while ago I was contacted about a new merge tool from the company behind PlasticSCM. (I haven’t used Plastic myself, but I’d heard of it.) My initial reaction was that I wasn’t interested in anything which required me to learn yet another source control system, but SemanticMerge is independent of PlasticSCM. My interested … Continue reading New tool…

c#general

Huimin Li 1 min read

He who travels light, goes far. -- Chinese proverb Does this kind of conversation sound familiar to you? Customer: I want abc, because xyz. Product team: Sorry, we don’t have it now, but I’ll add it to our backlog. This comes up for me frequently on the Mingle team. We carefully capture all requests and spend time to follow up…

16 Apr 2013

1 min read

Perhaps primarily due to the prominence of monads in the Haskell programming language, programmers are often curious about category theory. Proponents of Haskell and other functional languages can put category-theoretic concepts on a pedestal or in a mexican restaurant, and their benefits can seem as mysterious as they are magical. For instance, the most common use of a monad in…

15 Apr 2013

1 min read

Probabilistic arguments are a key tool for the analysis of algorithms in machine learning theory and probability theory. They also assume a prominent role in the analysis of randomized and streaming algorithms, where one imposes a restriction on the amount of storage space an algorithm is allowed to use for its computations (usually sublinear in the size of the input).…

13 Apr 2013

1 min read

I picked up an issue of Foreign Affairs while flying back to NYC from SFO. It features this long interview with U.S. General Stanley McChrystal and I thought it was pretty interesting how striking some of the similarities are between fighting in a war and developing software. On cycle time and how it’s important to learn and integrate quickly: In…

12 Apr 2013

1 min read

Annoy is a simple package to find approximate nearest neighbors (ANN) that I just put on Github. I’m not trying to compete with existing packages, but Annoy has a couple of features that makes it pretty useful. Most importantly, it uses very little memory and can put everything in a contiguous blob that you can mmap from disk. This way…

11 Apr 2013

Paul Ellarby 1 min read

We talk a lot in the agile world about "delivering value". It is the central theme of almost every agile workshop I have attended, a catchphrase in the agile world, and the focus of agile projects. But how do we know if we are delivering value?

10 Apr 2013

1 min read

Update: the mistakes made in the code posted here are fixed and explained in a subsequent post (one minor code bug was fixed here, and a less minor conceptual bug is fixed in the linked post). In our last post in this series on topology, we defined the homology group. Specifically, we built up a topological space as a simplicial…

9 Apr 2013

Mark Chang 1 min read

Every time any change is introduced - application, database script, automated test, infrastructure, deployment script, configuration, etc. - the change should kick off a gauntlet of validation. The quicker you can find out if a change breaks something the better off you are and the more confidence you will have in your software. We tell the teams who want to…

7 Apr 2013

1 min read

In this post we will assume the reader has a passing familiarity with some of the basic concepts of functional programming (the map, fold, and filter functions). We introduce these topics in our Racket primer, but the average reader will understand the majority of this primer without expertise in functional programming. Follow-ups to this post can be found in the…

5 Apr 2013

Brad Ward 1 min read

This is a question I'm frequently asked/challenged with as an analyst. Here is a slideshare based on industry wisdom and personal experience I've presented to clients (and Agile Perth) that collates ways to optimize your user stories.

4 Apr 2013

Per Fragemann 1 min read

It all started way too early for our taste, but we made it to Berlin Expert days in time! We’re looking forward to the talks, and to meeting tons of nerdy Java developers! If you have any questions about our job offers, don’t hesitate to bump into us. Spot us by looking for our T-Shirts, […]

how we work

Jeffrey Davidson 1 min read

I once started a debate on how to write a User Story. The most popular style by far is “As a , I want in order to .” I am not a big fan of this style because I find most teams either write poor value statements or don’t write them at all. There is power in understanding the value…

3 Apr 2013

1 min read

This series on topology has been long and hard, but we’re are quickly approaching the topics where we can actually write programs. For this and the next post on homology, the most important background we will need is a solid foundation in linear algebra, specifically in row-reducing matrices (and the interpretation of row-reduction as a change of basis of a…

2 Apr 2013

1 Apr 2013

Matt Cutts 1 min read

You may have heard of my 30 day challenges, where I try something new for 30 days. Those challenges are great to try out a new habit and see how you like it. But I’m also a big believer in picking out really big goals too. In 2010 I trained for a few months so […]

fun

29 Mar 2013

Melissa Doerken 1 min read

13.2 marks a big release for the Mingle team with the introduction of our new WYSIWYG editor. After hearing that our previous editor was painful for many of our customers, much in the same way with our program backlog, we reached out to understand the root of their pain and the core activity it was affecting.

Vladimir Sneblic 1 min read

As a Thoughtworks consultant, I spend a large portion of my time helping organizations solve their challenges and realize their business goals. In the last few years I have focused on helping our clients in their attempts to introduce Continuous Delivery (CD) practices. One of the core challenges that these companies faced, was convincing senior management of the value that…

28 Mar 2013

1 min read

One of the main areas of difficulty in elementary probability, and one that requires the highest levels of scrutiny and rigor, is conditional probability. The ideas are simple enough: that we assign probabilities relative to the occurrence of some event. But shrewd applications of conditional probability (and in particular, efficient ways to compute conditional probability) are key to successful applications…

kevin 2 min read

This American Life is an excellent podcast, but occasionally puts out episodes on subjects I don't care for - fiction, reminisces about home life, etc. There is one heuristic you should use for filtering American Life podcasts: listen to the podcasts they release that tell one story for the whole hour. Example whole-hour podcasts, that […]

economicshideimprovement

26 Mar 2013

Henrik Warne 4 min read

I got an e-mail last week from three students at Halmstad University doing a three month project on what programmers want in a job, and how companies can attract talented programmers. Here are my answers to their questions, in order … Continue reading →

programminghiringjobprogrammerprogramming job

Huimin Li 1 min read

“Tell me, I forget. Show me, I remember. Involve me, I understand.”—Chinese Proverb Almost all Agile teams have group time for product owners or business analysts to share user stories. On the Mingle team, it happens everyday in a mix of scheduled meetings and ad-hoc conversations. I consciously practice the following three tactics to ensure quality interactions.

23 Mar 2013

1 min read

Update May 26, 2014 The concepts in this article are still true, but I’ve recorded a screencast showing how to use ember without ember data using ember-cli and the latest version of Ember. It goes beyond the contents of this article, showing how to create an adapter, store and even your own identity map. Check it out! Ember Data is…

22 Mar 2013

1 min read

Elias Freider just talked about Luigi at PyData 2013: The presentation above is much better than one I put together a few weeks ago. In case anyone is interested I'll include it too:

21 Mar 2013

1 min read

In this final post on the basic four methods of proof (but perhaps not our last post on proof methods), we consider the proof by induction. Proving Statements About All Natural Numbers Induction comes in many flavors, but the goal never changes. We use induction when we want to prove something is true about all natural numbers. These statements will…

20 Mar 2013

19 Mar 2013

Schakko 3 min read

Momentan befindet sich die NeosIT GmbH in der Situation, dass wir zum 1.8.2013 zwei neue Azubis suchen. Nachdem wir vor einigen Wochen die Ausschreibung beim Arbeitsamt aufgegeben hatten, kamen viele Bewerbungen herein. Als Ausbilder bin ich der direkte Ansprechpartner für potenzielle Auszubildende und dementsprechend stark in den Auswahlprozess involviert. Einige […] The post Eine interessante Bewerbung zum Beruf des Fachinformatikers…

uncategorized

18 Mar 2013

Sriram Narayan 1 min read

Why version configuration? Fully versioned configuration is a prerequisite for fully automated deployment. By fully automated deployment, we mean the ability to deploy to a set of machines (physical, virtual or cloud) having nothing but a basic level of provisioning (OS, hotfixes, basic network and disk config).

15 Mar 2013

kevin 3 min read

Email from my alma mater: Dear Members of the Claremont McKenna College Community, I am writing to update you on an important action taken by the Board of Trustees at its meeting on March 9, 2013. In particular, the Board acted to end the College’s “No Packaged Loan” financial aid policy. Beginning with the fall […]

hidetodays world

Mike Long 1 min read

Something used to trouble me. As I presented design documents to my team they would focus on minor details rather than the big picture. The question of whether a loading spinner should appear in the center or top left of a dialogue became more critical than if the feature to be built was compelling for a user in the first…

14 Mar 2013

11 Mar 2013

7 Mar 2013

1 min read

At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services. Over the last several months, we’ve known that one such service suffered from a gradual memory leak, that would cause its memory usage to gradually balloon from a normal ~50MB to multiple gigabytes. It was easy enough to work around the leak by adding…

5 Mar 2013

23 min read

this is an archive of an old article by John Carmack which seems to have disappeared off of the internet Abstract Virtual reality (VR) is one of the most demanding human-in-the-loop applications from a latency standpoint. The latency between the physical movement of a user’s head and updated photons from a head mounted display reaching their eyes is one of…

1 min read

Ruby 2.0 has a cool new feature that many people talk about: TracePoint. TracePoint essentially allows you to hook into Ruby’s events and listen for events. Being curious and since I just started a brand new Rails 4/Ruby 2 app, I decided to write a little middleware and see what Rails is up to when handling incoming requests. Here is…

4 Mar 2013

1 min read

The Problem with Cropping Every programmer or graphic designer with some web development experience can attest to the fact that finding good images that have an exactly specified size is a pain. Since the dimensions of the sought picture are usually inflexible, an uncomfortable compromise can come in the form of cropping a large image down to size or scaling…