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

The more I’ve been exposed to it the more the way a company conducts interviews is a very strong reflection of how the company’s current state is. If you experience a very half hazard interview it’s likely a result that the person interviewing is half hazard in other aspects of their day to day. If you experience that someone is very set in their mind in what they want, and expecting a very cookie cutter answer, it’s a reflection of how the....

The more I’ve been exposed to it the more the way a company conducts interviews is a very strong reflection of how the company’s current state is. If you experience a very half hazard interview it’s likely a result that the person interviewing is half hazard in other aspects of their day to day. If you experience that someone is very set in their mind in what they want, and expecting a very cookie cutter answer, it’s a reflection of how the....

Which programming language you choose to work in (if it is your choice) affects your productivity, satisfaction and much more. Not only that, but working in a trending language can even help your career or business.

Which programming language you choose to work in (if it is your choice) affects your productivity, satisfaction and much more. Not only that, but working in a trending language can even help your career or business.

Basically anyone who’s used Linux for any amount of time eventually comes to know and love the strace command. strace is the system-call tracer, which traces the calls that a program makes into the kernel in order to interact with the outside world. If you’re not already familiar with this incredibly versatile tool, I suggest you go check out my friend and coworker Greg Price’s excellent blog post on the subject, and then come back here.

Basically anyone who’s used Linux for any amount of time eventually comes to know and love the strace command. strace is the system-call tracer, which traces the calls that a program makes into the kernel in order to interact with the outside world. If you’re not already familiar with this incredibly versatile tool, I suggest you go check out my friend and coworker Greg Price’s excellent blog post on the subject, and then come back here.

In my work, I deal with a lot of very similar codebases - and often if I fix something in one project I'll want to fix it in many others. For a long time this has meant popping open Beyond Compare, which works, but isn't the simplest solution. I use git on my projects - but they're not similar enough just to be branches. Recently I came up with a way to patch one or more commits from a project to another easily. Here is a simple shell s..

In my work, I deal with a lot of very similar codebases - and often if I fix something in one project I'll want to fix it in many others. For a long time this has meant popping open Beyond Compare, which works, but isn't the simplest solution. I use git on my projects - but they're not similar enough just to be branches. Recently I came up with a way to patch one or more commits from a project to another easily. Here is a simple shell s..

_I'm sorry if this post sounds like an advertisement, **but it is not.**_ I ran into this backup service yesterday. It's called Backblaze I was pretty surprised when I saw the p...

_I'm sorry if this post sounds like an advertisement, **but it is not.**_ I ran into this backup service yesterday. It's called Backblaze I was pretty surprised when I saw the p...

If you’re a JavaScript head, we’ve got something for you. SoundCloud now supports Cross Origin Resource Sharing, using XMLHttpRequest. Or…

If you’re a JavaScript head, we’ve got something for you. SoundCloud now supports Cross Origin Resource Sharing, using XMLHttpRequest. Or…

If you want to release your code frequently, you have to automate the release process. If your software interacts with shared components or other applications, the release script may have to update shared configuration files. In this blog post, I recall when I solved this with a crontab file. The problem My application needs a cron job. However, the operating system user that runs the application has other cron jobs it also needs to run tha..

Our very cool devs Matas and Hannes. With over 15 developers working on the SoundCloud site nowadays, we’re pumping out a steady stream of…

Our very cool devs Matas and Hannes. With over 15 developers working on the SoundCloud site nowadays, we’re pumping out a steady stream of…

Recently I was having an issue with some code I was working on for my pet project (A website search solution). Essentially my problem was that Smarty PHP wouldn’t loop through an array I had passed in. After much swearing and complaining I decided to take a step back and run through all of the newbie mistakes. In other words I looked at the problem from first principles. Turns out the issue was a missing $ before the variable I was trying..


Ever wanted to code a search engine from scratch? Well actually its a pretty simple thing to do. Here is an example indexer I coded up in less then an hour using Python. The first thing we need to do is have a way to take our documents we want to search on and turn them into an concordance. A concordance for those not in the know is a count of every word that occurs in a document.

Dear Sir, Log each and every flight(s) in which you fly 50NM or more to a distant landing as CROSS COUNTRY distance flights flown and logged. You may find this useful when or if you apply for other Airman ratings or higher Airman Certificates. Know, The FAA does not consider a flight a cross country flight without a landing 50NM or more distant to a full stop.  Strange it may seem, that an airman flying glider, experimen....




Rossi pulls a push mower behind a 1965 International riding lawn mower he restored. He found the mower on the side of the road and replaced a bunch of parts.

If you want to release frequently, a problem you may encounter is that some features, even though functionally complete, don’t stand well on their own, but require other features to be valuable to the user. If you want to release the system in this state, you need a way to hide features. A Feature-on/off-switch is a simple idea for dealing with this. A feature-on/off-switch is some mechanism to hide features from a system.

In case it wasn’t already obvious, I am a huge fan of git , and often prefer it over sliced bread . Recently to help a small team of programmers collaborate, I decided to setup a private git server for them to use. By no claim of mine is the following tutorial unique, however I am writing this to aid those who had trouble following other online tutorials . Goal : Setup a central git server for private or public source sharing, wit..

In case it wasn’t already obvious, I am a huge fan of git , and often prefer it over sliced bread . Recently to help a small team of programmers collaborate, I decided to setup a private git server for them to use. By no claim of mine is the following tutorial unique, however I am writing this to aid those who had trouble following other online tutorials . Goal : Setup a central git server for private or public source sharing, wit..

Java supports checked exceptions. Many people have strong opinions about if they are good or bad. I believe they are good, but let’s agree that Java has them and they’re not going away. (Any exception extending “Exception”, which can to be thrown from a method, must be declared at the end of method’s signature, and any caller of the method must handle the exception or itself declare to throw that type of exception; Any exception extending..

Interestingly this sort of question pops up a lot in my referring search term stats. Why CAPTCHA’s never use the numbers 0 1 5 7 Its a relativity simple question with a reasonably simple answer. Its because each of the above numbers are easy to confuse with a letter. See the below, CAPTCHA With 0 and O - image lost sorry… CAPTCHA With 1 and I CAPTCHA With 5 and S CAPTCHA With 7 and J L I

Moving from Subversion SVN to GIT can be a little confusing at first. I think the biggest thing I noticed was that GIT doesn’t have a specific work-flow; you have to pick your own. Personally I wanted to stick to my Subversion like work-flow with a central server which all my machines would pull and push too. Since it took a while to set up I thought I would throw up a blog post on how to do it.

I tried to use my company laptop outside of the office for the first time. I clicked on the “VPN” option in the start menu which the company had installed on the laptop. Up came a browser, trying to access the VPN page (accessible from the Internet). However, it didn’t work, as the browser was trying to connect to the company’s web proxy. The company web proxy is obviously only available once one is in the company network, i.e. once the VPN..


As a general observation, it seems that when software architects try to solve general problems, they come up with horrible designs; when they solve specific problems, they come up with good designs. Designs made without reference to a problem often become complex and not very fit for purpose when we’re solving specific problems. As a general rule, avoid generalizations. Some examples: An Enterprise Service Bus may create a big project and m..

With Google recently starting to involve load time in search rankings, there has been a lot of talk about GZIP.  Google Webmaster Tools exclaims "Compressing the following resources with gzip could reduce their transfer size by X KB:". Many people listen to this, and go out looking for a quick fix without realizing that poor GZIP implementation has a strongly negative effect on the overall user experience . There are two main ways in....

With Google recently starting to involve load time in search rankings, there has been a lot of talk about GZIP.  Google Webmaster Tools exclaims "Compressing the following resources with gzip could reduce their transfer size by X KB:". Many people listen to this, and go out looking for a quick fix without realizing that poor GZIP implementation has a strongly negative effect on the overall user experience . There are two main ways in....

A server filesystem can store millions of files in one directory. Unless you need to store more files than this, there is no need to artificially introduce an extra layer of directories to keep the number of files per directory down to a lower number. We kept millions of files in one directory at uboot. Often one needs to store lots of files in a filesystem. For example, at uboot.com each user has a “nickpage”, and each of these nickpages..

If you allow users of your website to upload data (e.g. images), and you display this data to other users, you need to open the file on the server to examine it and check that it really is what it should be (e.g. an image). Most website software will need to examine the image anyway, to extract thumbnails, determine width/height, etc. In which case, this security comes for free. But I’ve seen software which doesn’t have any such needs, an..

At a TechEd I attended a few years ago I was watching a presentation about Security presented by Rocky Heckman (read his blog its quite good) . In it he was talking about security algorithms. The part that really stuck with me went like this, “Don’t write your own Crypto algorithms unless you have a Doctorate in Cryptography.” Interestingly someone there did have said qualification, and Rocky had to make an exception for that single pers..

When Steve Jobs left Apple in the 1980s, he started a new venture that produced NeXT UNIX computers that ran a custom UNIX system called NeXTSTEP on Motorola 68000-series computers. The first Web browser was made my Tim Berners-Lee on one of these NeXT computers! When I was an undergrad student at the University of Waterloo, we had a few NeXT computers (literally two of them I believe) and a bunch of HP PA-RISC 712s running NeXTSTEP for o..

Letters - www.databasesandlife.com - 15 years ago - eng
The UNIX program “mail”, not the mail client one would use by choice under most circumstances. However today I have the pleasure of using a Solaris box which seems to be filled only with legacy tools like original “vi”, a “tail” where if you do “tail -f *” it only tails the first matching file and not all files.. but I digress. $ mail mail: Too many letters, overflowing letters concatenated I mean ignoring the error itself and the disres..

When Steve Jobs left Apple in the 1980s, he started a new venture that produced NeXT UNIX computers that ran a custom UNIX system called NeXTSTEP on Motorola 68000-series computers. The first Web browser was made my Tim Berners-Lee on one of these NeXT computers! When I was an undergrad student at the University of Waterloo, we had a few NeXT computers (literally two of them I believe) and a bunch of HP PA-RISC 712s running NeXTSTEP for o..


In response to my query last time, ezyang asked for any tips or tricks I have for finding my way around the Linux kernel. I’m not sure I have much in the way of systematic advice for tracking down the answers to questions about the Linux kernel, but thinking about what I do when posed with a patch to Linux that I need understand, or question I need to answer, I’ve come up with a collection of tips that will hopefully be helpful to others lo..

In response to my query last time, ezyang asked for any tips or tricks I have for finding my way around the Linux kernel. I’m not sure I have much in the way of systematic advice for tracking down the answers to questions about the Linux kernel, but thinking about what I do when posed with a patch to Linux that I need understand, or question I need to answer, I’ve come up with a collection of tips that will hopefully be helpful to others lo..

Tricksy closures - etodd.io - 15 years ago - eng
Do not be fooled by the elegant simplicity of the mighty closure! Behind its shiny dynamic veneer lies a powerful machine capable of destroying your immortal soul. Behold: function GetOutputFunctions () { var outputFunctions = new Array(); for ( var i = 0 ; i < 4 ; i ++ ) { var x = i * 2 ; outputFunctions . push ( function () { alert ( x ); }); } return out..

38 visitors online