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

As a follow-up to my original article on recursion in Puppet , and in my attempt to Push Puppet (to its limit) , I’ll now attempt some more advanced recursion techniques in Puppet. In my original recursion example , the type does recurse, but the callee cannot return any value to the caller because it is a type, and not strictly a function. This limitation immediately limits the usefulness of this technique, but I’ll try to press o..

Kirill Zubovsky is the founder of Scoutzie, an online marketplace that connects designers and clients.

For the last 2 months I was part of an intense training programme which is targeted at inducting young college graduates into our company Thoughtworks. I had a lot of memorable experiences and learning over the past 7 weeks and I just wanted to share a few thoughts on this.

Book Two: Spirits - zacs.site - 12 years ago - eng
Back in May I wrote Nickelodeon’s Experiment where I talked about the network’s hit animated series Avatar: The Last Airbender and its sequel, Avatar: The Legend of Korra . Last week the latter’s show finished its second season with the final episode of “Book Two: Spirits”. In preparation for the third, I thought I would post a mid-series update. As with my last article on this topic, spoiler alert, I will give away big parts of the ..

I wrote this article for the Sidebolt company blog . Reposting it here for your reading pleasure! Our latest game  Skyward Slots  makes extensive use of JSON. We send Gigabytes of it flying back and forth haphazardly between client and server over a WebSocket connection. At first, we wrote code by hand to pack and unpack each message. Later on we decided that life is too short for that. In the beginning, we just dove into the JSON righ..

I wrote this article for the Sidebolt company blog . Reposting it here for your reading pleasure! We publish our games on both Mac and iOS. Since UIKit is not available on Mac, we have to build all of our UI by hand in Cocos2D. One of the hardest parts to get right was emulating the UIScrollView bouncy scroll formula. Here it is in action: There are tons of implementations available in nearly every language and framework, but few of..

CMS Trap - max.engineer - 12 years ago - eng
Many years ago there was a Rails app. It started with things. These things were actually blueprints for other things. The other things needed many associated parts, and parts of parts. How many? The blueprints knew. The blueprints absolutely had to have an admin interface, but changing the blueprints would cause a chain reaction on things and parts. Every modification to the things and their blueprints permeated throughout the coupled netwo....


The Raspberry Pi has only a single PWM output. The Dagu Rover 5 chassis has 4 motors and 4 optical encoders that need reading as well. So my approach was to get a PWM servo/logic controller that could control the Dagu Motor Controller and additionally some servos for the camera pan/tilt.

e2e or end-to-end or UI testing is a methodology used to test whether the flow of an application is performing as designed from start to…

A small team from the Thoughtworks Recife office recently built an open data application in response to call for entries by the Ministerio da Justiça of Brazil. The application was awarded second prize in the contest. The main goal of the app was to expose information related to accidents on federal roads by using data created by the Polícia Rodoviária Federal between 2007 and 2012.


The Raspberry Pi has only a single PWM output. The Dagu Rover 5 chassis has 4 motors and 4 optical encoders that need reading as well. So my approach was to get a PWM servo/logic controller that could control the Dagu Motor Controller and additionally some servos for the camera pan/tilt.

I’ve just written a blog post for O’Reilly media and we’d very much appreciate it if you check it out, share it (ideally via the social media buttons on it) and spread it to your friends/colleagues. Please take the 5 minutes to do this as this would be very helpful for us. Thank you. The ShareButton component in Codename One is one of the most important pieces in making your app a viral success. In Android it fires the nativ..

New Web Site Skin - peanball.net - 12 years ago - eng

As I’ve mentioned in previous posts, I run all my websites on a MiraBox– my nifty, low-power ARM server. As awesome as it is having a low-power server, it does make things more difficult. I’m a Ruby on Rails developer, and I run three websites on this thing, along with a gitolite installation so I can host my own code. However, I recently began a few projects collaborating with other people, and as the projects grow, gitolite is not the col..

New Web Site Skin - peanball.net - 12 years ago - eng

If you are new to Ruby I suggest you first read my previous post which in short explains why you should not give up on learning Ruby. Starting with this post, I’ll be writing some tutorials covering the first steps you could follow in order to get familiar with both the language (Ruby) and the framework (Ruby on Rails). My posts will be based on my own experience so I hope that anyone new here can understand them easily. First things ....

If you are new to Ruby I suggest you first read my previous post which in short explains why you should not give up on learning Ruby. Starting with this post, I’ll be writing some tutorials covering the first steps you could follow in order to get familiar with both the language (Ruby) and the framework (Ruby on Rails). My posts will be based on my own experience so I hope that anyone new here can understand them easily. First things ....

One thing I’m really proud of is that when we launched Discourse, we had first class Internationalization (i18n) support ready to be used. Our first release only English, but thanks to our community we have 18 localizations of our software in progress! Here’s what Discourse looks like in Simplified Chinese: On the server side, Discourse uses Rails’ built in i18n support . It has been around for a long time and works easily so I wo..

Yesterday morning Brett Terpstra posted an article to his blog calling for open auditions to guest on his podcast Systematic. Like many, many others I’m sure, I made a submission. I briefly introduced myself then, in typical Systematic fashion, went on to my top three picks for the “show”. Looking to increase my chances of getting the spot, I decided to make an extra effort by posting an article here in case Brett decides to look for furt..

An interesting story made all the more absorbing by the model Amanda employed in stark contrast to the one nearly all writers in the circles I frequent employ. Whereas we hold the individual’s reputation on high —  I read people, not websites  — she takes the opposite approach in impersonally finding, occupying, and ultimately cashing out on an existing niche rather than create her own as I and many others are want to do. A thought-provokin..



This is a guest post from Tad Vizbaras from  Etasoft  in South Florida. There are a number of editors and IDEs for Go development. LiteIde, Vim, Emacs and GEdit just to name a few. Each developer has their own favorite editor for each language they work with. Some like full featured IDE environments while others prefer speed over features. My personal favorite editors for Go development at the moment are Vim and GEdit. GEdit co....

This came out 5 months ago but the guy from PubNub didn’t update us on the status so we just didn’t notice this until now. That’s probably a good sign of us being too busy. There is now official PubNub integration for Codename One, which means you can get push like fast 2 way communications between devices without writing too much code. How does it work?

I’m going to describe how to set up Freenas with the popular plugins couchpotato, sickBeard or sickRage and transmission to use them for downloading movies or series and streaming them via DLNA as well as mounting the storage on Linux. This post is also available in German! I integrated SABnzbd! You’ll find a how-to in my other blog post If you want to know how to setup Headphones, look here With this setup, I man....

I discovered an XSS flaw in a website a month ago and reported it to the owners. As a thank you they sent me a hat, a rather large american sized t-shirt and a pair of “DeFeet” socks (guaranteed to stay cooler and drier than any other brand). I didn’t expect them to ship something like that overseas...

I discovered an XSS flaw in a website a month ago and reported it to the owners. As a thank you they sent me a hat, a rather large american sized t-shirt and a pair of “DeFeet” socks (guaranteed to stay cooler and drier than any other brand). I didn’t expect them to ship something like that overseas...

Figure 1. Taken from my Wife’s office window, around 10am. The weather was great this week - crisp and autumnal, with beautiful sunshine all week. It snowed a little on the local mountains and Cypress Mountain has opened for (limited) Skiing already, using the lower temperatures to make lots of extra snow. Whistler also opened this week, along with Grouse. Figure 2. Taken from my Wife’s office window in the afternoon, during the Gold..

In the first in our interview series with industry luminaries, we chat with Jim Highsmith, executive consultant at Thoughtworks. He has more than 30 years of experience in IT and is the recipient of the 2005 Stevens Award for outstanding contributions to systems development.

A Year of Firsts - zacs.site - 12 years ago - eng
This year marked the first time I have taken any interest in reading long-form hardware and software reviews of any kind. Previously, as I described in Diary of a Convert , I rarely made it past the first few pages; this time around, however, I not only plowed through John Siracusa’s twenty-four page epic, but many others’ as well. I learned a great deal about Apple’s latest hardware and software offerings through this process, something..

Have you ever found yourself in this situation. You have a case statement inside of a for loop and you would like to break from both the case and for statements in a single call? var err error timeout := time.After(30 * time.Second) sigChan := make(chan os.Signal, 1) signal.Notify(sigChan, os.Interrupt) complete := make(chan error) go launchProcessor(complete) for {     select {     case <-sigChan:        ....

Building a Rover - peanball.net - 12 years ago - eng
Recently I’ve started building a remote-controllable rover. The main purpose of this is the exercise of controlling an embedded system and make actual things move with code.

HackerEarth is primarily based on Python & Django. And we use Apache with mod_wsgi for hosting the application. There is a general complaint that Apache sucks when it comes to hosting Python web applications. It’s said that it’s slow, bloated, uses lots of memory and doesn’t perform very well. It’s also said that it doesn’t handle a high number of concurrent requests. All that is true if you are not running the Python application in the ....

Building a Rover - peanball.net - 12 years ago - eng
Recently I’ve started building a remote-controllable rover. The main purpose of this is the exercise of controlling an embedded system and make actual things move with code.

Hoards Of Novices - 98.codes - 12 years ago - eng
Uncle Bob Martin: Is the software industry trying to write the script for Hamlet by hiring a million monkeys to bang on keyboards? Perhaps we should rethink that strategy and hire one bard instead. Perhaps, instead of hoards of novices, we need a small team of professionals. http://blog.8thlight.

Ironically, one of the reasons that I started writing Puppet code, was so that I could spend more time designing and building, and less time writing documentation. I suppose I’m a victim of my success, because Puppet-Gluster has grown large enough to warrant its own documentation. So I gave in, and put together some documentation. It’s available as markdown , and, also as a pdf . As before, there is an examples/ directory which yo..

Ironically, one of the reasons that I started writing Puppet code, was so that I could spend more time designing and building, and less time writing documentation. I suppose I’m a victim of my success, because Puppet-Gluster has grown large enough to warrant its own documentation. So I gave in, and put together some documentation. It’s available as markdown , and, also as a pdf . As before, there is an examples/ directory which yo..



I will do such things – What they are yet, I know not; but they shall be The terrors of the earth!”_ King Lear, Act 2, Scene 4

I think about my English classes almost every day when I sit down to write, and even some days when I don’t. I think about how much I hated them, how I dreaded each pointless class and similarly meaningless assignment, and then I think about the eternal debt of gratitude I owe those three teachers for seeing me through. Permalink.

So after a few months of Chinese holiday delays, my ErgoDox DIY keyboard kit has finally arrived. There are amazing videos of how to assemble the thing on youtube, and thankfully my roommate was an electrical engineering student at CU and lent me his soldering station. I've started the process of soldering extremely tiny surface mounted diodes to the printed circuit boards. All together the project will require over 300 solder joints by m....

3 visitors online