Sign In
ReuvenLax
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
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
Computer Science
Mathematics
Programming
VSS
Windows Server
Windows XP
Archive
Archives
July 2006
(1)
January 2006
(1)
December 2005
(7)
November 2005
(1)
June 2005
(1)
May 2005
(1)
April 2005
(10)
MSDN Blogs
>
ReuvenLax
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
ReuvenLax
Last Post
Posted
over 6 years ago
by
ReuvenLax
0
Comments
As of this week, I no longer work at Microsoft. As such, this is my last post. My blog will continue at http://techravings.blogspot.com/ Reuven
ReuvenLax
Divergent Series
Posted
over 6 years ago
by
ReuvenLax
7
Comments
Anyone who's taken a beginning calculus course spent some time studying (and maybe dreading) infinite series. A convergence definition was probably given as the convergence of the sequence of partial sums of the series. Next the course probably talked...
ReuvenLax
Another Math Puzzler
Posted
over 7 years ago
by
ReuvenLax
0
Comments
I'll pose an easy one this time. Everyone should be familiar with the Fibonacci sequence defined recursively as F(n) = F(n-1) + F(n-2). Fibonacci is often one of the first examples of recursion one learns, and also one of the first examples of how recursion...
ReuvenLax
Finding Global Expressions: 2
Posted
over 7 years ago
by
ReuvenLax
0
Comments
In the last post, we discussed a method to find common subexpression on the entire control-flow graph using partitioning. Today, we're going to talk about another classic way of accomplishing this goal using data-flow analysis. Then I think I'm going...
ReuvenLax
Finding Expressions Globally
Posted
over 7 years ago
by
ReuvenLax
0
Comments
In the last few posts, we examined ways of eliminating redundant expressions in basic blocks and in tree-structures of basic blocks. We examined the tree of extended basic blocks and then enhanced this algorithm to run over the immediate-dominator tree...
ReuvenLax
Extending Value Numbering 2
Posted
over 7 years ago
by
ReuvenLax
1
Comments
In the last post we extended the value-numbering algorithm to extended basic blocks. This is generally a win, but still leaves us wanting a bit more. Consider the following contrived program: x = y + z B1 if x == 0 a = y + z B2 else b = y + z...
ReuvenLax
Extending Value Numbering
Posted
over 7 years ago
by
ReuvenLax
0
Comments
Yesterday's post dealt with optimizing a single basic block. Most useful progams contain some control flow however, so in the next few posts we'll explore extending the algorithm to larger regions. The set of all basic block in a procedure form a graph...
ReuvenLax
Some Nifty Compiler Tricks
Posted
over 7 years ago
by
ReuvenLax
2
Comments
Despite my having worked on Windows Storage for the past four years, one of my main interests has always been compilers. I had the good fortune to go to school at Rice University, a school that had one of the strongest compiler programs in the country...
ReuvenLax
Tricks of The Trade: How to use old tricks in new ways
Posted
over 7 years ago
by
ReuvenLax
1
Comments
At some point in your programming career, you've probably written a growable list. It might've been to implement a dynamic array or it might've been for a hash table, but I bet you've written one. After all, while you can usually find a library that has...
ReuvenLax
Checking the status of a COM server
Posted
over 7 years ago
by
ReuvenLax
1
Comments
Every so often, your application makes a call on a COM interface pointer, and this call fails with RPC_E_DISCONNECTED. Or it fails with RPC_E_SERVER_DIED, or with RPC_E_SERVER_DIED_DNE, or any number of RPC errors. In most cases what this means is that...
ReuvenLax
Volume Shadow Copy Service and the Microsoft Backup Infrastructure
Posted
over 7 years ago
by
ReuvenLax
4
Comments
Now that I've gotten some of my math fetish out of my system, I plan on blogging for a while on VSS and how to backup a Windows system. Starting with Windows XP, Microsoft has changed the way backup and restore of Windows system are done. We provided...
ReuvenLax
Back to Math
Posted
over 7 years ago
by
ReuvenLax
10
Comments
I haven't been blogging in a little while, and I want to start blogging about VSS related topics soon. However, for now I'll throw out another math puzzle, though this one is much easier. Remember that given a set U of real numbers, a real number x...
ReuvenLax
Weird Math Stuff II
Posted
over 7 years ago
by
ReuvenLax
0
Comments
I left off last time explaining how invertible function spaces naturally form a group and how that leads to the concept of a group action. This concept turns out to be useful in examining any group, not just explicit function spaces. Any group G can be...
ReuvenLax
Math Puzzler Solution
Posted
over 7 years ago
by
ReuvenLax
0
Comments
There are many solutions to this problem. Here's an easy one that everybody can understand. Let's construct a bipartite graph representing this problem. On the left side, we have a vertex for every integer lattice point (i.e. (0,0) (0,1) (1,1) etc...
ReuvenLax
Code Puzzler
Posted
over 7 years ago
by
ReuvenLax
5
Comments
What does the following code snippet do? bool test(const wstring& first, const wstring& second) { if (first.empty() && second.empty()) return true; if (first.empty()) return (second[0] == L'*') && test(first, second.substr...
ReuvenLax
Math Puzzler
Posted
over 7 years ago
by
Reuven
0
Comments
Another quick problem before I head to sleep. Let T be a rectangle in the plane, and let the rectangle T1, T2, ..., Tn tile T. By this I mean that each of the tiling rectangles is contained in T, the union of all the rectangles equals T, and the intersection...
ReuvenLax
Weird Math Stuff
Posted
over 7 years ago
by
ReuvenLax
1
Comments
I'm going to diverge a bit from software topics today and talk about some wild and wonderful math topics. I haven't seriously thought about advanced math since I graduated, but recently some topics have started coming to mind. One of the strangest...
ReuvenLax
Handling Errors
Posted
over 7 years ago
by
ReuvenLax
0
Comments
Proper handling of errors is one of the bugbears of software development. In Win32 most function can return an error code of some sort, and a good programmer will always check these errors or risk undefined behavior. Various attempts have been made to...
ReuvenLax
Some words on performance
Posted
over 7 years ago
by
ReuvenLax
0
Comments
In my list of afterthoughts, the third item is performance. Why don't developers like thinking about performance from the start? It's clearly not for the same reasons as backup and security, since performance is about a product working well. Nobody will...
ReuvenLax
What nobody thinks about
Posted
over 7 years ago
by
ReuvenLax
1
Comments
When people develop software, there are three things that aren't thought about until the final stages of development. Security Backup Performance As a corollary, some might add Manageability. Now all of these topics will probably have...
ReuvenLax
More on splay trees
Posted
over 7 years ago
by
ReuvenLax
2
Comments
While discussing the weaknesses of splay trees, I realized that they have lots of problems in muli-threaded environments. Maintaining large trees in multi-threaded environments is always a challenge due to lock contention. The naive way of implementing...
ReuvenLax
First Post: cool data structures
Posted
over 7 years ago
by
ReuvenLax
4
Comments
A couple of weeks ago I started a personal blog on livejournal, http:\\www.livejournal.com\users\groovinsax, to chronical a trip to Argentina. That blog will remain my personal blog, while this blog will focus on my technical interests and my job at Microsoft...
Page 1 of 1 (22 items)