Design Comics: Illustrating Software Design
Ever since google released a comic describing the design of the chrome browser, I’ve been fascinated by the idea using comics to communicate software design. There is something compelling about...
View ArticleWild-ass guess: Myths in software engineering
I have seen many papers justifying how much effort debugging or testing costs by saying something like:“fixing bugs in software account for 50-70% of maintenance costs”Just checked this source [1], as...
View ArticleUpcoming Conferences
This winter break, I’ve written way too many papers. I’m keeping this list so I can keep track where I’m submitting or may be traveling to.Some topics on the paper’s I’ve written: a post-mortem study...
View ArticleMeasuring API Documentation on the Web
Developers search the web for many questions they have about using apis. Developers can also use social media sites such as codesnipr, stackoverflow, refactormycode, or blog sites such as this one to...
View ArticleJava Generics Adoption: How New Features are Introduced, Championed, or Ignored
Following a successful collaboration with Emerson Murphy-Hill on “How We Refactor, and How We Know It”, we decided on doing another empirical study, this time on Java generics. Turns out Christian Bird...
View ArticleKeeping it Simple: Customizing the WPF Expander Icon
The default WPF expander is functional but is ugly. Many people have asked for simple examples for changing the look+feel, and most responses point to ripping the style template from Expression Blend...
View ArticleAuto-update Visual Studio Extensions
VSX extensions/packages published and installed through the visual studio gallery will automatically check for updates and allow you to install the newest versions.If you’re not deploying your...
View ArticleBattle for Java Generics
This is my second attempt at a software-related comic, but this time it is completely hand drawn.This is loosely based on the “epic battle” that took place between the designers of the Java language...
View ArticleTask-focused Interfaces: Particles of a programming task?
Hunting ParticlesTasks, for the purpose of this post, are assigned units of work. In practice, this may be a “story” or “defect” from an iteration in the agile world, or a “work item” in TFS land, or...
View ArticleICPC Roundup
The International Conference on Program Comprehension (ICPC 2011) was a charming affair, bringing together a diverse set of researchers from around the globe.Here are some of my personal...
View ArticleBuilding a Visual Studio History Extension Part #1
I will publishing a series of blog posts describing how to extend Visual Studio (VSX in particular) to maintain a history of code changes or actions within the IDE. The audience for these articles...
View ArticleBuilding a Visual Studio History Extension Part #2
Continuing my last post on creating a basic history extension, let’s actually do something! Here, we dive into capturing events to code documents in Visual Studio and using that to create a help build...
View ArticleNapkin Idea: Code Tabs
Tabs were introduced in Visual Studio 2003 (although addins existed for Visual Studio 6). This is how they look now in Visual Studio 2010: My best guess is that developer’s have a love/hate...
View ArticleAuto-blogging - Publishing a coding task to wordpress.
UPDATE:Commonly, we need to perform a programming task that we do not know how to do or is not well-documented. Collectively, we perform these reoccurring programming tasks all the time, but only a few...
View ArticleMemory 2.0, A prelude.
Why are we still using ideas about memory from the 60’s to build programming tools?As with the beginning of most fields of research, discovery is born from stumbles in the dark. Then beacons...
View ArticleMemory 2.0: Attentive Memory
Continuing my series of posts on cognitive neuroscience of memory. In this post, I first give an overview of attentive memory, some examples of attentive memory failures, and then end with some...
View ArticleCrowd Documentation
Traditional documentation requires a process where a few people write for many potential users (especially in the case of API documentation). The resulting documentation, more often than not just...
View ArticleCode Timelines
Software development isn’t just about the code we write. It also spans the many situations, experiences, and new knowledge we encounter when we write code.Funny thing is we can’t seem to directly...
View ArticleProgrammer Interrupted
I’m writing this post in an apt state: low-sleep, busy, disorientated, and interrupted. I try all the remedies: Pomodoro, working in coffee shops, headphones, and avoiding work until being distraction...
View ArticleApi Documentation
Why it sucksSoftware companies, such as Microsoft, create documentation for millions of topics concerning its APIs, services, and software platforms (MSDN). Creating this documentation comes at a...
View Article
More Pages to Explore .....