Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Tuesday, October 28, 2008

Excellent Advice for Programmers

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.

Visual Studio 2010 Pre-Beta CTP is Now Live

The pre-beta, Visual Studio 2010 bits are now available for download. You can get them here:

The C# compiler team samples are also available for download here.

Visual Studio 2010 and .NET Framework 4.0 mark the next generation of developer tools from Microsoft. Designed to address the latest needs of developers, Visual Studio delivers key innovations in the following pillars: Democratizing Application Lifecycle Management, Enabling emerging trends, Inspiring developer delight and Riding the next generation platform wave. For more information, check out the Overview of Visual Studio 2010 and .NET Framework 4.0

Sunday, October 5, 2008

Apple Finally Realizes That NDAs For Developers Are A Bad Idea

It was definitely surprising to see Apple trying to enforce an NDA to stop iPhone developers from talking about their applications, so it's nice to see Apple (for once!) respond to the backlash by dropping the NDA. However, the company's explanation for why it had the NDA in the first place doesn't make much sense:

We put the NDA in place because the iPhone OS includes many Apple inventions and innovations that we would like to protect, so that others don't steal our work. It has happened before. While we have filed for hundreds of patents on iPhone technology, the NDA added yet another level of protection. We put it in place as one more way to help protect the iPhone from being ripped off by others.
It's good that Apple has recognized that such NDA's significantly limit its developers. It's tough to have much of a developer "community" when said developers are barred from communicating.

Tuesday, September 30, 2008

Visual Studio 2010 to Come with 'Black Box' for Testers

Airplanes are equipped with recorders that capture both cockpit audio and flight data, so in the event that something goes wrong, investigators can try to determine the source of the problem. And Microsoft wants to give that capability to developers and testers. In the next version of its developer tool suite, to be known as Visual Studio 2010, Microsoft plans to include the ability to record the full screens of what testers are seeing, as well as data about their machine. When a test application crashes, the technology will enable developers to see the bug as it occurred. In an interview last week, Microsoft Developer Division Director Dave Mendlen said the feature is designed to avoid the all-to-frequent conflict that occurs when a software tester finds a bug that the developer says it can't reproduce. Internally, the feature has been called "TiVo for debuggers." Microsoft is also talking about new modeling tools it says will make it easier for programmers new to a team to get a sense of how earlier versions of the software work. One of the other goals is to add more business intelligence tools--things like dashboards and cockpits--that enable the project managers to assess whether a development project is on track. Now that I'm finally settled into Visual Studio 2008 and LINQ, I'm ready for 2010! I really like the TiVo for debuggers option. I can see this be very helpful for game developers, who have an even more difficult task of reproducing a state that caused a crash. We've had all sorts of workarounds in the past, including creating our own "Tivo for debuggers" (which basically records the value of all variables, and let's us load the game at any given state). I'm also excited to see what other new tools will be in Visual Studio 2010 and the .NET Framework 4.0. I've seen hints that cloud computing classes will be included, for example. Visual Studio Team System 2010 will offer tools for managing test cases and execution, and will boost support for filing actionable bugs. (Credit: Microsoft)

Friday, September 26, 2008

Apple Stifles Developer's Free Speech By Imposing NDA on Rejections

I've signed many NDA's (non-disclosure agreements) in my career as a software developer. It's a common practice for many companies, especially those dealing with new technology. However, I've never been asked to sign an NDA for being rejected for a job. If you're a developer and Apple rejects your iPhone application from its App Store, the company wants you to shut up and get over it.

Apple's serious about it: The company has extended the iPhone non-disclosure agreement, which prohibits application developers from discussing programming tips, to include rejection letters as well. Some developers in the past have shared their rejection letters on the web, but now, according to MacRumors, rejection letters include a clause that reads, "THE INFORMATION CONTAINED IN THIS MESSAGE IS UNDER NON-DISCLOSURE."

Score one for Android.

Saturday, September 13, 2008

XNA Game Studio 3.0 Beta Is Coming

I've been using the XNA Game Studio since the 1.0 beta. For those who don't know, XNA Game Studio is Microsoft's latest (and greatest) attempt to allow developers to create games for the PC, XBox 360, and the Zune. XNA provides several tools, the most important of which is to provide a wrapper for DirectX. For those of you who have written managed DirectX games in the past, this is a HUGE improvement. I've been using the XNA Game Studio 3.0 CTP since it was released. Version 2 only worked in Visual Studio 2005 (which was strange, since it came out after Visual Studio 2008 was released). Version 3 is great, not only because it loads in Visual Studio 2008, but because it allows me to use LINQ and has a host of new improvements. My only problem with version 3.0 has been the lack of an upgrade wizard for 2.0 projects. Yesterday, the XNA team announced XNA Game Studio 3.0 beta will be released next week. My most anticipated improvement? The XNA 2.0 upgrade wizard. Some other features of the beta include:

Zune-specific features

  • Support for the upcoming Zune 3.0 firmware - note that the XNA Game Studio 3.0 CTP will not be compatible with the 3.0 firmware. My colleague Michael Klucher posted a summary of this issue on his blog, including steps to remove 3.0 CTP games from your Zune since they will no longer work with the 3.0 firmware
  • Zune deployment from 64-bit OS's

Xbox 360-specific features

  • Xbox 360 project templates are available
  • Big button pad support

XNA Framework and Visual Studio features

  • Rich presence, invites and join session in progress
  • Content compression
  • FBX importer improvements
  • ClickOnce deployment for Windows games
  • Project upgrade wizard to automatically upgrade XNA Game Studio 2.0 games
  • Multiple content projects
  • Cross-platform project synchronization

Tuesday, September 9, 2008

10 Things That Annoy Programmers

I found an interesting article on the Ten Things That Annoy Programmers. My favorites were #8 - Scope Creep, #6 Documenting Our Applications (oh, I hate to do that), and #3 - Vagueness. I laughed so hard at #1 (because I've found myself doing it many times)
1. Their own code, 6 months later Ever look back at some of your old code and grimace in pain? How stupid you were! How could you, who know so much now, have written that? Burn it! Burn it with fire! Well, good news. You're not alone. The truth is, the programming world is one that is constantly changing. What we regard as a best practice today can be obsolete tomorrow. It's simply not possible to write perfect code because the standards upon which our code is judged is evolving every day. It's tough to cope with the fact that your work, as beautiful as it may be now, is probably going to be ridiculed later. It's frustrating because no matter how much research we do into the latest and greatest tools, designs, frameworks, and best practices, there's always the sense that what we're truly after is slightly out of reach. For me, this is the most annoying thing about being a programmer. The fragility of what we do is necessary to facilitate improvement, but I can't help feeling like I'm one of those sand-painting monks.