programming

programming

Programmers as Human Beings

It's remarkable how much you can learn from other programmers. Not by reading their code, mind you, but by realizing that programmers are human beings [http://www.artima.com/weblogs/viewpost.jsp?thread=4414]. Nowhere is that more evident than these two collections of interviews with notable programmers:

By Jeff Atwood ·
Comments

cheatsheets

I Heart Cheatsheets

I'm a huge fan of Beagle Brothers style cheat sheets, because nothing promotes the illusion of mastery like a densely packed chart of obscure reference information: Just throw some of those babies up on your walls and people will know that they're clearly dealing with a

By Jeff Atwood ·
Comments

specifications

Dysfunctional Specifications

The guys at 37signals think functional specs are worthless: Don't write a functional specifications document. Why? Well, there's nothing functional about a functional specifications document. Functional specifications documents lead to an illusion of agreement. A bunch of people agreeing on paragraphs of text is not real

By Jeff Atwood ·
Comments

keyboard

Keyboarding: Microsoft Natural Ergonomic 4000

I was plenty excited when I saw Microsoft was releasing a new non-mangled ergonomic keyboard - the Microsoft Natural Ergonomic Keyboard 4000. Now that I own one, I'm not excited any more. I'm ecstatic! This keyboard is the natural heir to the obsolete but much loved

By Jeff Atwood ·
Comments

guids

Mastering GUIDs with Occam's Razor

Do you remember the scene from the movie Full Metal Jacket where the marines recite the USMC creed? It's a little known fact, but programmers have a similar creed: This is my GUID. There are many like it but this one is mine. My GUID is my best

By Jeff Atwood ·
Comments

software development

How to be Successful, Happy, Fulfilled, and Drive a Totally Hot Car

Wil Shipley, the entity behind Delicious Library [http://arstechnica.com/reviews/apps/delicious-library.ars], has a hilarious (and informative) talk on why he develops software for the Mac-- and also netted $54,000 from Delicious Library on the first day with zero advertising. How to Succeed Writing Mac Software [http:

By Jeff Atwood ·
Comments

usability

UI is Hard

Some users commenting [http://www.shacknews.com/ja.zz?comments=37492] on the poor pre-game user interface in EA's Battlefield 2 [http://www.gamespot.com/pc/action/battlefield2/index.html]: > Poster #1: They need to stop hiring angry little men and romantically spurned women to design user

By Jeff Atwood ·
Comments

programming

Defeating Optimism

In Extreme Programming Explained, Kent Beck notes that optimism is an occupational hazard of programming. Excess optimism, in the guise of enthusiasm, is a serious pitfall for game developers in particular: Rein in enthusiasm? Now why would we ever want to do that? Isn’t keeping the team motivated one

By Jeff Atwood ·
Comments

.net

Building Mht Files from URLs revisited

I finally finished updating my CodeProject article, Convert any URL to a MHTML archive using native .NET code. It’s based on RFC standard 2557, aka Multipart MIME Message (MHTML web archive). You may also know it as that crazy File, Save As, “Web Archive, Single File” menu option in

By Jeff Atwood ·
Comments

.net

The One Trillion Dollar Development Pyramid

Kit George is the program manager for the .NET Base Class Library team. Kit recently posted an entry on the BCL blog describing a solution to a customer problem: We recently got asked this question by a customer: “In C#, how do I ensure that a string entered into a

By Jeff Atwood ·
Comments

refactoring

Programming for Luddites

There was much handwringing last week when Somasegar announced what we already knew: VB.NET 2005 will not have refactoring. This resulted in a few emotional outbursts: We don’t need toys like [the] MY [namespace], we need working tool like Refactoring!! How can Microsoft refuse us those magical software

By Jeff Atwood ·
Comments

.net

Custom AssemblyInfo Attributes

To complement my previous post bemoaning the lack of respect for AssemblyInfo, I wanted to illustrate just how easy it is to add a few custom attributes to our AssemblyInfo file: Imports System Imports System.Reflection <Assembly: AssemblyTitle("ASPUnhandledException")> <Assembly: AssemblyDescription("ASP.NET unhandled

By Jeff Atwood ·
Comments