Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror

Comment Use the tools Borge (Score 0) 254

Reading other people's code is a punishment that one must master if you hope to grow as a programmer.  My favorite approach these days is to use callgrind and kcachegrind, walking up and down the call stack for each stimulus I can muster.  I often build a custom client to send malformed requests for these tests, it usually becomes part of my unit/regression tests.  Then I make note of the most prominent function names and data structures.  I construct an outline as if I were writing a book.  GDB is also a fantastic tool for understanding software.  You can learn a lot about code merely by setting a break point in malloc or read.  Don't be afraid to use 'set var' to explore an interesting test case.  strace, particularly with -c or -ff, can give you a quick idea of what a program does.  Eventually I start to change it.  First I use indent or some IDE to fix the whitespace, then I start to refactor. Eventually the code begins to look more like something I wrote than what I inherited.  That's how I know when it's time to hand it off to someone else ;)
Television

Submission + - The Netflix Webkit-based UI for TV Devices (deviceguru.com) 1

__aajbyc7391 writes: Netflix uses WebKit, JavaScript, HTML5, and CSS3 to build user interfaces that are delivered to millions of game consoles, Blu-ray players, Internet-connected TVs, and devices such as the Roku player and D-Link Boxee Box. Matt McCarthy and Kim Trott, device UI engineering managers at Netflix, have just published 50 presentation slides from their recent talk at OSCON 2011 in which they explained how Netflix develops its Webkit-based user interfaces.
Open Source

Linux 2.6.37 Released 135

diegocg writes "Version 2.6.37 of the Linux kernel has been released. This version includes SMP scalability improvements for Ext4 and XFS, the removal of the Big Kernel Lock, support for per-cgroup IO throttling, a networking block device based on top of the Ceph clustered filesystem, several Btrfs improvements, more efficient static probes, perf support to probe modules, LZO compression in the hibernation image, PPP over IPv4 support, several networking microoptimizations and many other small changes, improvements and new drivers for devices like the Brocade BNA 10GB ethernet, Topcliff PCH gigabit, Atheros CARL9170, Atheros AR6003 and RealTek RTL8712U. The fanotify API has also been enabled. See the full changelog for more details."

Slashdot Top Deals

If it's worth hacking on well, it's worth hacking on for money.

Working...