Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK




Starting the Big Data Journey When a company first starts to play with Big Data it typically involves a small team of engineers trying to solve a specific problem. The team decides to experiment with scalable technologies either due to outside guidance or research which makes it applicable to their problem. The team begins with the basics of Big Data spending time learning and prototyping. They learn about HDFS, flirt with HBase or other No..

Let’s talk about the stream. The SoundCloud stream represents stuff that’s relevant to you primarily via your social graph, arranged in time…

Let’s talk about the stream. The SoundCloud stream represents stuff that’s relevant to you primarily via your social graph, arranged in time…

For the impatient, TheBot was an experiment to kickstart a hardware engineering culture at Thoughtworks. We choose the Raspberry Pi (RPi) as the prototyping platform and Golang as the language in which to create the firmware. We felt the need for a solid hardware abstraction layer (HAL) which would allow us to not only target the RPi, but soon expand to other platforms as well. We also wanted to make it dead easy to talk to a variety of sen..

With the expansion of the Internet of Things (IoT), and the diversity of products and technologies, the one thing that everyone agrees on is that it's time to start agreeing: the Internet of Things needs standards. Many agree that it needs open standards, like those that underpin the Web.

If one of the industry lingo terms in title didn’t make your skin crawl a little then I need to try harder. At the same time you’ve probably heard someone use one of them in a non-trolling way in the last month. All three of these can often actually mean the same or similar things, it’s just people approach them differently from their world perspective. Personas don’t have to be marketing only speak, and data science doesn’t have to be on....

If one of the industry lingo terms in title didn’t make your skin crawl a little then I need to try harder. At the same time you’ve probably heard someone use one of them in a non-trolling way in the last month. All three of these can often actually mean the same or similar things, it’s just people approach them differently from their world perspective. Personas don’t have to be marketing only speak, and data science doesn’t have to be on....

Fear and Passion - zacs.site - 12 years ago - eng
I have a tendency to write long, rambling, retrospective introductions filled with background information of dubious value that I, for some reason, nevertheless deign to include as a prelude to beginning my actual article. This time, however, I want to get straight to the point. Permalink.

The way you structure your code is a key factor when you define your source code organization. It will make your life easier or miserable, and once this structure is established it will become a really tedious task to redefine it. That’s why you know about the different patterns available and choose the one fits your project best. But, why should I care about modules? Well, is the way Javascript offers to organize and encapsulate your cod....

Designing a new and innovative product can be a challenging process filled with uncertainties. From a business perspective, you need to explore and keep at the forefront of what is happening in the market, search for unique opportunities and listen to customer’s needs until you discover a meaningful solution. But once you have a new product idea, the design process does not end there.

Recent movements have given Product Managers wonderful tools for minimizing waste. Eric Ries has his build/measure/learn loops. Steve Blank calls for us to "get out of the building". Clay Christensen’s Jobs to Be Done framework gives us new ways to think about the roles that our products play in user’s lives. They all tell us that you need to get feedback from your users if you want to build products they will love.

While on vacation, I received the following text from a colleague. “Was another mad week with nights getting home at 3am and lots of people less than happy. But nothing to worry about. I’m on it.” The text got me thinking about those 3am nights. In the 20 years of software development projects, I’ve experienced a number of times when there was a need for more than the standard 40 hours. There are those times when there is a defined time con..

Thoughtworks Pune has been using Scala successfully for past couple of years on a few projects. In the spirit of contributing back to the community, we hosted the first ever Pune Scala Symposium on 12 April 2014. The primary goals of the conference were to get practitioners together, share learnings with others, motivate the uninitiated to take a plunge, and have fun.

Ever wanted to implement a distinct over a custom object list in C# before? You quickly discover that it fails to work. Sadly there is a lack of decent documentation about this and a lot of FUD. Since I lost a bit of time hopefully this blog post can be picked up as the answer. Thankfully its not as difficult as you would image. Assuming you have a simple custom object which contains an Id, and you want to use that Id to get a distinct li..

Postgres has a variety of datatypes, in fact quite a few more than most other databases. Most commonly applications take advantage of the standard ones – integers, text, numeric, etc. Almost every application needs these basic types, the rarer ones may be needed less frequently. And while not needed on every application when you do need them they can be an extremely handy. So without further ado let’s look at some of these rarer but awesome....

Postgres has a variety of datatypes, in fact quite a few more than most other databases. Most commonly applications take advantage of the standard ones – integers, text, numeric, etc. Almost every application needs these basic types, the rarer ones may be needed less frequently. And while not needed on every application when you do need them they can be an extremely handy. So without further ado let’s look at some of these rarer but awesome....

Today I’m happy to announce the public beta of the Flowhub interface for Flow-Based Programming. This is the latest step in the adventure that started with some UI sketching early last year, went through our successful Kickstarter — and now — thanks to our 1 205 backers , it is available to the public. Getting Started This post will go into more detail on how the new Flowhub interface works in a bit, but for those who want to div....

Today I’m happy to announce the public beta of the Flowhub interface for Flow-Based Programming. This is the latest step in the adventure that started with some UI sketching early last year, went through our successful Kickstarter — and now — thanks to our 1 205 backers , it is available to the public. Getting Started This post will go into more detail on how the new Flowhub interface works in a bit, but for those who want to div....

Today I’m happy to announce the public beta of the Flowhub interface for Flow-Based Programming. This is the latest step in the adventure that started with some UI sketching early last year, went through our successful Kickstarter — and now — thanks to our 1 205 backers , it is available to the public. Getting Started This post will go into more detail on how the new Flowhub interface works in a bit, but for those who want to div....

Implementing a deployment pipeline does not have to be difficult, and this article will show you how to use Thoughtworks' SnapCI to deploy a static website to the cloud using Amazon Web Services (AWS).

Big Data Pipeline powered by Scala Session presented by Rohit Rai, tuplejump Rohit is a founder and the CEO of tuplejump Inc. Rohit is a true polyglot with experience in a number of programming languages. He is also a prolific open source contributor. He has been working in Scala, Akka, Play and the ecosystem for over 4 years. Tuplejump is a startup, with a vision to simplify data engineering, by making the data and tools to work with it ac..

Mushtaq is probably the biggest Scala enthusiast and evangelist in all of Thoughtworks! He has been programming in Scala for a long time, and has also been coaching for quite some while. (Keep an eye on @punescala for our Scala training programs.)

Scaling your startup's data platform using Akka, Scalding, and Spark - Session presented by Rajesh Muppalla, Indix Rajesh is a co-founder and director of engineering at Indix, a product intelligence platform for retailers and brands. He leads a team responsible for collecting, organizing, and structuring all the product related data collected from web. His main areas of focus are big data and distributed systems.

Promise of a Better Future - Session presented by Rahul Goma Phulore and Pooja Akshantal, Thoughtworks Pooja and I have been working on a large scale Scala project at Thoughtworks for more than a year now, and have been using Scala, Play, and a teensy bit of Akka successfully. We have been using future-based concurrency, which is what this talk was about.

Scala in Practice: 3 years later - Session presented by Patric Fornasier, Springer Patric, a former Thoughtworker, is now a technical principal at Springer where he primarily writes code and helps teams deliver software effectively. He has experience with wide range of tools, languages, and technologies. Three years ago, Springer decided to use Scala on a large, strategic project. This talk was an experience report from the journey the deve..

Number Crunching in Scala - Session presented by Chris Stucchio, BayesianWitch Chris is one of the founders of BayesianWitch, a web analytics company built almost entirely on Scala. He is currently focused on improving the scientific computing ecosystem in Scala.

Keynote talk: Kojo, a Scala based learning environment for children - Session presented by Lalit Pant, Kogics Lalit Pant is a software architect cum teacher based out of Dehradun. He spends his time creating educational software , and teaching computer programming and math to children. In addition, he runs an NGO called Kalpana learning center.

Today I’m happy to announce the public beta of the Flowhub interface for Flow-Based Programming. This is the latest step in the adventure that started with some UI sketching early last year, went through our successful Kickstarter — and now — thanks to our 1 205 backers , it is available to the public. Getting Started This post will go into more detail on how the new Flowhub interface works in a bit, but for those who want to div....

This is a quick trick for making working with git submodules more magic. One day you might find that using git submodules is needed for your project. It’s probably not necessary for everyday hacking, but if you’re glue -ing things together, it can be quite useful. Puppet-Gluster uses this technique to easily include all the dependencies needed for a Puppet-Gluster+Vagrant automatic deployment . If you’re a good hacker, you d..

This is a quick trick for making working with git submodules more magic. One day you might find that using git submodules is needed for your project. It’s probably not necessary for everyday hacking, but if you’re glue -ing things together, it can be quite useful. Puppet-Gluster uses this technique to easily include all the dependencies needed for a Puppet-Gluster+Vagrant automatic deployment . If you’re a good hacker, you d..

Javascript is an old well-known friend that is growing rapidly and gaining traction since Node.js, a command line Javascript interpreter based on Chrome V8 Javascript Virtual Machine, was published. Its community is building great stuff , and more and more companies are moving into this stack, with a high success ratio. http://nodegeek.net Luckily for me, for my last two professional years I have been involved in one way or a....

Hacking with Aspects - steipete.me - 12 years ago - eng
Explore how Apple detects popover presentation in UIImagePickerController and learn to bypass the restriction using my Aspects library.


There is a certain connotation with the word estimate.  People think of cost and time.  Think about the last time a mechanic fixed your car or you hired a painter to put a fresh coat of paint on the third floor windows.  You are thinking about time and cost aren't you?  When we start thinking about a software project we are still estimating the cost and time, but of the project not the stories.  We are doing ourselves a disservice when we s..

For the uninitiated, ARC is Apple’s term for Automatic Reference Counting. Objective-C uses a reference counting scenario to collect objects which is pretty painful to work with. Personally I preferred C/C++’s manual delete/free to the Objective-C semantics. But a couple of years ago Apple introduced ARC in which the compiler implicitly inserts the retain/release reference counting logic. While it’s a big improvement it’s still a referenc..

The Setup Thirty-eight megabytes. Over time our application had somehow grown to 38 megabytes. The road to that point made sense: features needed to be added, and with features came new libraries each with a few dependencies. Still, somehow the path of good intentions had led us to an application that weighed in at a colossal 38 megabytes. The would have actually been a reasonable size if it weren't for one slight detail: it was a web app.

Small gem updates - radek.io - 12 years ago - eng


Personally I think the next wave of infrastructure efficiency will be driven by Linux container technology (LinuX Containers = LXC). The LXC container approach does not require a hypervisor - instead you run isolated "containers" on a Linux host. LXC provides operating system-level virtualization leveraging cgroups (control groups) to completely isolate the operating environment, including process trees, network, user ids and mounted file s..

Gastropoda, the name - liza.io - 12 years ago - eng
The JavaScript/HTML5 version of this game was called A Game of Snails, but that won’t really do for the PHP iteration of the game. I figured it was time to think of a proper name for this thing.

This Week in Podcasts - zacs.site - 12 years ago - eng
Just a few shows for you this week, unfortunately. I would rather post a short list than pass mediocre episodes off as something much greater though, so I hope you can find it in your heart to forgive me. Without further ado, then, I present the best podcast episodes from this past week. Permalink.

20 visitors online