Overheard in the tech blogosphere:

Programming

Jun 23 2008   11:20AM GMT

Overheard: Microsoft gets a “D” in SOA



Posted by: Margaret Rouse
Microsoft, SOA, Programming
block_with_letter_d.jpg Just what the world needs…yet another programming language. As soon as you say it’s aimed at non-developers, “real” developers will avoid it like the plague. And without “real” developer support, it’s dead in the water.

Fred Fredrickson, responding to Mary Jo Foley’s blog post Microsoft declares its modeling love with a new language, ‘D’

Jun 19 2008   11:51AM GMT

Overheard: Keystroke dynamics in two-factor authentication



Posted by: Margaret Rouse
Programming, Software development
jason_striegel.jpg Nathan Harrington amended the GNOME Desktop Manager to include keystroke dynamics in the user verification process. When the user enters their username, the timings between key press events are measured and compared against a stored pattern.

Jason Striegel, Add keystroke user verification to Gnome

I think Nathan Harrington has one of the coolest jobs of anyone I know. He’s always putting something new out for people to tinker with.


Jun 16 2008   12:08PM GMT

Overheard: File “Mars Programming Language” under “D”



Posted by: Margaret Rouse
Programming
foo_bar.jpg “Great, just what I need. Another D in programming.”

Segfault comment

How did Mars get shortened to “D” instead of “M”?

According to the Digital Mars FAQ page:  “The original name was the Mars Programming Language. But my friends kept calling it D, and I found myself starting to call it D. The idea of D being a successor to C goes back at least as far as 1988.”


May 29 2008   12:45PM GMT

Overheard: Visual Studio Express — Hello World



Posted by: Margaret Rouse
C#, Programming, Microsoft, Visual Studio Express
dan_fernandez.jpg The reason we’re able to offer Express for free and even let developers build commercial applications with Express is because we limit 3rd party extensibility of Express, specifically by removing support macros, add-ins, and VSIP packages.

Dan Fernandez, Visual Studio Express and TestDriven.NET

Microsoft wasn’t happy when developers began to extend what was freely given to them. Dan’s post above could have been called “We give you an inch and you take a mile.”

—–

On another totally unrelated Dan Fernandez note:

Wow! He’s blonde in this interview. I’m a big Dan Fernandez fan — but I had a hard time watching this video because I kept thinking “why did you bleach your hair?”

In spite of my hair distraction, I liked the interview. Dan is a great evangelist for Visual Studio Express. He’s able to capture and convey that feeling of accomplishment we all felt when we made those magical words “Hello World” appeared on the monitor. He’s not a snob. He appreciates the hobbyist, the hacker and the curious.

Ok…I can’t resist.

Q: What do you call a swimming pool full of blonde Visual Studio Express evangelists?
A: Frosted Flakes.


May 23 2008   5:42PM GMT

Overheard: I don’t want to ever have to wait for Java to load



Posted by: Margaret Rouse
Programming, Java
rupert_goodwins.jpg Java doesn’t do anything by itself. It’s a programming language. Programming languages are like sewage plants: if the average user becomes aware of them, something’s gone wrong.

Rupert Goodwins, Gallery: 10 most annoying programs on the Internet

Love it!  When I see that Orange Java box come up, I go get a cup of coffee.


Apr 28 2008   12:44PM GMT

Overheard: Microsoft Cosmos



Posted by: Margaret Rouse
.NET, operating systemss, Programming
microsoft.jpg Unlike most OSes,   Cosmos doesn’t run on the bare metal of machines. Rather, it’s a virtualized OS that runs within the .NET container, intended to support .NET-based languages (particularly C#) that are also resident on the .NET container.

Joe McKendrick,  A New OS is Born

Channel 8 has step-by-step directions for downloading and making Cosmos work on your PC. 


Feb 15 2008   1:02PM GMT

Overheard: The multiple implementations of Python



Posted by: Margaret Rouse
CPython, IronPython, .NET, Programming
rtylerbalance.jpg First a little background to help explain some of the terms, etc. “Python” is a language, similar to how “Java” is a language; unlike Java wherein the language is also relatively synonymous with the actual implementation of that language, Python has multiple implementations. If you’ve run python(1) from the command line, you’re most likely running the CPython implementation of the Python language, in effect, Python implemented in C. Other implementations of Python exist, like Jython (implemented on top of the Java virtual machine), PyPy (Python implemented in Python), and IronPython (Python implemented on top of the .NET CLR).

R. Tyler Ballance, Comparing IronPython and CPython


Feb 5 2008   2:18PM GMT

Overheard: LINQ is like object-oriented programming



Posted by: Margaret Rouse
Technology, .NET, Java, Programming
patrick_hynds.jpg LINQ is an object-oriented revolution for data, because it, like object-oriented programming, allows programmers to write code that is more like the way people think.

Patrick Hynds, as quoted in Does .NET With LINQ Beat Java?


Jan 12 2008   4:36PM GMT

Agile Development Glossary



Posted by: Margaret Rouse
Project management, Pmo, Programming, Agile development, glossary
agile.gif Alex Howard created a handy glossary for business owners who want to learn how to speak Agile to their PMO.
Acceptance Test:
An acceptance test confirms that an story is complete by matching a user action scenario with a desired outcome. Acceptance testing is also called beta testing, application testing, and end user testing.
Agile Software Development:
Agile software development is a methodology for the creative process that anticipates the need for flexibility and applies a level of pragmatism into the delivery of the finished product. Agile software development (ASD) focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they’re ready.
Customer:
In agile software development, a customer is a person with an understanding of both the business needs and operational constraints for a project. The customer provides guidance during development on what priorities should be emphasized.
Domain Model:
A domain model describes the application domain responsible for creating a shared language between business and IT.
Iteration:
An iteration is a single development cycle, usually measured as one week or two weeks. An iteration may also be defined as the elapsed time between iteration planning sessions.
Planning Board:
A planning board is used to track the progress of an agile develoment project. After iteration planning, stories are written on cards and pinned up in priority order on a planning board located in the development area. Development progress is marked on story cards during the week and reviewed daily.
Planning Game:
A planning game is a meeting attended by both IT and business teams that is focused on choosing stories for a release or iteration. Story selection is based upon which estimates of which stories will provide the most business value given development estimates.
Release:
A release is a deployable software package that is culmination of several iterations of development. Releases can be made before the end of an iteration.
Release Plan:
A release plan is an evolving flowchart that describes which features will be delivered in upcoming releases. Each story in a release plan has a rough size estimate associated with it.
Spike:
A spike is a story that cannot be estimated until a development team runs a time-boxed investigation. The output of a spike story is an estimate for the original story.
Stand-up:
A stand-up is a daily progress meeting, traditionally held within a development area. Business customers may attend for the purpose of gathering information. The term “standup” is derived from the way it is run all attendees must remain standing to keep it short and the team engaged.
Story:
A story is a particular business need assigned to the software development team. Stories must be broken down into small enough components that they may be delivered in a single development iteration.
Timebox:
A timebox is a defined period of time during which a task must be accomplished. Timeboxes are commonly used in agile software development to manage software development risk. Development teams are repeatedly tasked with producing a releasable improvement to software, timeboxed to a specific number of weeks.
Velocity:
Velocity is the budget of story units available for planning the next iteration of a development project. Velocity is based on measurements taken during previous iteration cycles. Velocity is calculated by adding the original estimates of the stories that were successfully
delivered in an iteration.
Wiki:
A wiki is a server program that allows users to collaborate in forming the
content of a Web site. With a wiki, any user can edit the site content, including other users’ contributions, using a regular Web browser.


Jan 12 2008   1:43PM GMT

Overheard: Bad programmers kill startups



Posted by: Margaret Rouse
Technology, Programming
paul_graham.gif But when I think about what killed most of the startups in the e-commerce business back in the 90s, it was bad programmers.

Paul Graham, The 18 Mistakes That Kill Startups