Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Hack



  How I Became a Programmer

I posted a very brief response to a post on HackerNews yesterday challenging the notion that 8 weeks of guided tutelage on Ruby on Rails is not going to produce someone who you might consider a "junior RoR developer." It did not garner many upvotes so I figured that like most conversation on the Internet it faded into the general ambient chatter. Imagine my surprise when I woke up to couple handfuls' worth of emails from around the world asking me what I did, how I did it, an...

   Programmer,Advice,Method,Study     2011-11-24 09:14:50

  Writing forward-compatible websites

This is a list of best practices for creating websites that do not break when browsers are updated. It's not always possible to follow all of these, but following as many of them as possible will help future-proof your website. This is especially important for intranet applications and other non-public websites where problems are likely to not be noticed during testing by browser vendors.JavaScriptPrefix all global variable access in onfoo attributes with “window.”When an e...

   Web design,Forward compatible,CSS,JavaScript,window     2011-11-23 08:07:35

  The Problem With Client-Side Analytics

Client-side analytics is broken. The numbers produced by it are trivially spoofable by competitors and nefarious characters. Most websites use client-side analytics of one type or another and the only way to get numbers you can trust is to compare numbers from multiple providers and to take an average of the closest two.This post highlights the problem and proposes a partial solution that substantially mitigates the issues with minimal effort. Our proposed solution is simply to include a digital...

   Client side,Analysis,Problem,Tricks,ASP.NET,spoof     2011-10-22 12:58:51

  Notes on Programming in C

Introduction       Kernighan and Plauger's The Elements of Programming Style was an important and rightly influential book.  But sometimes I feel its concise rules were taken as a cookbook approach to good style instead of the succinct expression of a philosophy they were meant to be.  If the book claims that variable names should be chosen meaningfully, doesn't it then follow that variables whose names are small essays on their use are even better?  Isn't MaximumV...

   C,Notes,Tips     2011-12-09 07:55:47

  CSS3 animated dropdown menu

It’s a sure thing that CSS3 features like transitions, animations and transforms can add extra spice to your designs.In this article you will see how you can build an awesome CSS3 animated dropdown menu with some of these cool features.View demoHere’s a quick preview for the CSS3 animated dropdown menu that we’re going to create today:Remember the previous CSS3 dropdown menu? That menu is awesome, and thanks to you is the most popular tutorial around here (at this time)...

   CSS3,Drop down menu,Animation,Animated menu     2011-11-15 12:47:05

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  Don’t Call Yourself A Programmer, And Other Career Advice

If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity.  It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering.  This post aspires to be README.txt for your career as a young engineer.  The goal is to make you happy, by filling in the gaps in your education regarding how the “real world” actually works.  ...

   Career,Programmer,Advice,Low level,Development     2011-10-29 07:09:23

  FTP Must Die

The File Transfer Protocol (FTP) is specified in RFC 959, published in October 1985. The attempt in this specification is to satisfy the diverse needs of users of maxi-hosts, mini-hosts, personal workstations, and TACs, with a simple, and easily implemented protocol design.That's from the introduction. Does anyone here know what a TAC is? I don't. I had to look it up, since the acronym wasn't even expanded in the RFC. It took three tries in Google, and I finally found it in some obscur...

   FTP,Future,Death,Trend,Protocol     2012-02-06 08:13:36

  Coding tricks of game developers

If you've got any real world programming experience then no doubt at some point you've had to resort to some quick and dirty fix to get a problem solved or a feature implemented while a deadline loomed large. Game developers often experience a horrific "crunch" (also known as a "death march"), which happens in the last few months of a project leading up to the game's release date. Failing to meet the deadline can often mean the project gets cancelled or even worse, you lose your job. So w...

   Tricks,Advice,Gamedesign,Plan     2012-02-12 04:50:30

  PHP: a fractal of bad design

Preface I’m cranky. I complain about a lot of things. There’s a lot in the world of technology I don’t like, and that’s really to be expected—programming is a hilariously young discipline, and none of us have the slightest clue what we’re doing. Combine with Sturgeon’s Law, and I have a lifetime’s worth of stuff to gripe about. This is not the same. PHP is not merely awkward to use, or ill-suited for what I want, or suboptimal, or...

   PHP,Design,Analysis     2012-04-11 13:46:57