Sign In
Developing for Developers
Tools, techniques, and theory for measuring and improving the power and performance of developers and their code
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Algorithms
Data structures
Other
Programming languages
Software engineering
Theory
Archive
Archives
February 2009
(1)
September 2007
(1)
July 2007
(1)
June 2007
(2)
June 2006
(2)
May 2006
(1)
April 2006
(1)
March 2006
(2)
February 2006
(2)
January 2006
(2)
December 2005
(2)
November 2005
(1)
October 2005
(3)
September 2005
(3)
August 2005
(6)
MSDN Blogs
>
Developing for Developers
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
Developing for Developers
New blog: Papers in Computer Science
Posted
over 3 years ago
by
MSDNArchive
1
Comments
Hey all - I apologize for the (extremely) long period of no updates, I've been prioritizing other things. I've been accepted this Fall to begin my Ph.D. at University of California, Berkeley. Since I won't be at Microsoft any longer, I've started a new...
Developing for Developers
P-complete and the limits of parallelization
Posted
over 5 years ago
by
MSDNArchive
3
Comments
We're entering an era where CPU clock speeds will soon cease to scale upwards and instead CPU manufacturers are planning to put more and more independent cores on a chip. Intel plans to release an 80-core chip within 5 years . Consequently the research...
Developing for Developers
Robin's theorem
Posted
over 5 years ago
by
MSDNArchive
2
Comments
Most computer scientists are familiar with the P = NP problem, which asks essentially whether we can verify more problems in polynomial time than we can solve. So fundamentally does complexity theory hinge on this result that the Clay Mathematics Institute...
Developing for Developers
Cache-oblivious data structures
Posted
over 5 years ago
by
MSDNArchive
10
Comments
In most data structure and algorithms classes, the model used for basic analysis is the traditional RAM model: we assume that we have a large, random-access array of memory, and count the number of simple reads/writes needed to perform the algorithm....
Developing for Developers
K-nearest neighbor spatial search
Posted
over 5 years ago
by
MSDNArchive
7
Comments
I apologize to everyone for the hiatus - I realise a post is more than a little overdue and will try to be more regular in the future. I appreciate the support that I've received for the blog and continuing it. Consider the following problem: you're...
Developing for Developers
Functional list processing in C# 2.0 with anonymous delegates
Posted
over 6 years ago
by
MSDNArchive
12
Comments
One of the benefits of functional languages is their great flexibility in list manipulation, which enables them to express certain computations concisely that would require one or more verbose loops in procedural languages. Many of the features that functional...
Developing for Developers
Factoring large numbers with quadratic sieve
Posted
over 6 years ago
by
MSDNArchive
20
Comments
Today I'm going to talk about how the quadratic sieve factoring algorithm works, giving a comprehensive description assuming knowledge of only basic university-level mathematics. The foundation of the most popular public-key cryptography algorithm...
Developing for Developers
Color quantization
Posted
over 6 years ago
by
MSDNArchive
8
Comments
If you've ever done work with Web graphics, I'm sure that at some point you reduced an image with thousands of colors, such as a screenshot or photograph, to an image with only 256 colors, for example to store the image in the GIF format. Remarkably,...
Developing for Developers
How does JPEG actually work?
Posted
over 6 years ago
by
MSDNArchive
7
Comments
JPEG is an image encoding designed to compress photographs and similar images effectively, often 5 to 15 times over a raw bitmap format. It's a lossy format that exploits properties of human vision to eliminate information that is difficult to distinguish...
Developing for Developers
Encoding correctness in types
Posted
over 6 years ago
by
MSDNArchive
0
Comments
This article will discuss effective use of types to catch some common problems at compile time not normally found by the typechecker. The typechecker is the most important tool in the programmer's arsenal. Types enable you to structure code in a more...
Developing for Developers
LiteratePrograms wiki
Posted
over 6 years ago
by
MSDNArchive
0
Comments
Hi everybody. This is a short post, but I just wanted to tell you all about a new wiki I created called LiteratePrograms , based on an extension of the same MediaWiki software used by Wikipedia . Some of you read my earlier post about literate programming...
Developing for Developers
Dependency tracking in builds
Posted
over 6 years ago
by
MSDNArchive
6
Comments
Happy Valentine's Day, everyone! Today I'm going to talk about the important problem of successfully tracking dependencies in builds in an automatic manner. In short, there are two kinds of build systems: the ones where all dependencies are tracked...
Developing for Developers
The nature of computing and infeasible machines
Posted
over 6 years ago
by
MSDNArchive
3
Comments
If asked what they do, some developers might say "I write code" or "I program computers". But more fundamentally, what is computing really about? After all, Euclid's algorithm for computing the greatest common denominator of two numbers in polynomial...
Developing for Developers
Literate programming
Posted
over 6 years ago
by
MSDNArchive
10
Comments
Literate programming , invented in 1981 by the same Donald Knuth who wrote The Art of Computer Programming and the document language TeX, is a technique in which a program is written as a human-oriented document interspersing discussion and code. The...
Developing for Developers
Efficient selection and partial sorting based on quicksort
Posted
over 6 years ago
by
MSDNArchive
6
Comments
Most people who have studied algorithms remember quicksort, the ubiquitous sorting algorithm available in the standard library of nearly every programming language implementation in existence, including C, C++, Java, and the .NET Framework. Quicksort...
Developing for Developers
Integer division by constants
Posted
over 7 years ago
by
MSDNArchive
8
Comments
Today I'm going to discuss a few clever algorithms for dividing values by constant values known at compile-time, without the use of the division instruction. In compiler optimization theory, the basic problem we attempt to solve is to create algorithms...
Developing for Developers
Succinct data structures
Posted
over 7 years ago
by
MSDNArchive
4
Comments
Sorry for the long hiatus, everyone. Today I'm going to talk about succinct data structures, which are informally data structures that use very close to the absolute minimum possible space. This material is largely based on lectures by MIT professor Erik...
Developing for Developers
Persistent data structures
Posted
over 7 years ago
by
MSDNArchive
3
Comments
When learning to program in a functional language such as Lisp, Ocaml , or Haskell , one of the most difficult aspects of the paradigmic shift is that data in these languages is almost entirely immutable, or read-only. In purely functional programs, there...
Developing for Developers
Software transactional memory
Posted
over 7 years ago
by
MSDNArchive
7
Comments
Software transactional memory ( STM ) is a scheme for concurrent programming with multiple threads that uses transactions similar to those used in databases. Today I'll discuss what STM is, how it works, some implementations, and why you should care....
Developing for Developers
Non-nullable types
Posted
over 7 years ago
by
MSDNArchive
5
Comments
If you write programs in C, C++, Java, or C#, you've gotten used to having the null value around. The null value is a special reserved reference (or pointer) value indicating that a reference does not refer to any object. It's useful for constructing...
Developing for Developers
Secret sharing
Posted
over 7 years ago
by
MSDNArchive
2
Comments
One of the most difficult problems in cryptographic key management is keeping a secret key safe from both compromise and loss. If you don't make enough backups, the key might be destroyed in a hardware failure or natural disaster. But if any backup...
Developing for Developers
Custom building and code generators in Visual Studio 2005
Posted
over 7 years ago
by
MSDNArchive
11
Comments
I'm a fervent fan of using code generator tools wherever possible to make your life easier. Although they come with issues related to effective building, diagnostics, and debugging, the amount of value they add to your application is immense: they can...
Developing for Developers
Modular arithmetic and primality testing
Posted
over 7 years ago
by
MSDNArchive
7
Comments
Number theory is, roughly speaking, the study of properties of integers. Often a problem which is easy for real numbers, such as factoring or linear programming, seems to be considerably more difficult when restricted to integers (in fact, integer...
Developing for Developers
The point location problem
Posted
over 7 years ago
by
MSDNArchive
0
Comments
Computational geometry is a field that studies efficient solution of geometric problems, which are critical in mapping, manufacturing, and particularly graphics applications. If you find data structures and algorithms interesting, it's likely you'd also...
Developing for Developers
The Visitor pattern and multiple dispatch
Posted
over 7 years ago
by
MSDNArchive
14
Comments
Today I'll talk about multiple dispatch, a programming language feature that increases flexibility of method calls and eliminates the need for awkward pattern constructions, at the cost of some additional complexity in the dispatch algorithm. The Visitor...
Page 1 of 2 (30 items)
1
2