Marc Clifton's Blog
Commentary on Windows software development and our insane government
.NET (1)
C# Programming (2)
Concurrent Programming (1)
Design And Architecture (6)
Entity Framework (1)
General (6)
Linq (3)
Microsoft (1)
Mono (2)
Office 2007 (3)
Politics (9)
Software Development (1)
Vista (9)
Wisdom (10)
XNA (19)
Malware Removal Guide
10/25/2008 2:27:07 PM

Link here: http://forums.majorgeeks.com/showthread.php?t=35407

Flash LSO's
Disabling them
10/24/2008 2:11:09 PM

I wanted to make sure that I preserved this post by Hans Dietrich on Code Project:

When I was looking around for more info on the new security alert, I learned what LSOs are. Just incredible. I can't believe they think it's ok to store this crap on my computer. It turns out that Adobe's Flash Player maintains its own cookies called Local Shared Objects. They are not cookies, so your browser has no control over them. While cookies are limited to 4KB of text, LSOs can be as large as 100KB. Cookies are controlled by your browser, but LSOs are controlled by the Flash player, using obscure, hidden settings. LSOs can be set and read by web pages, even if you can't see a Flash animation on the page. If you look, you will find sites devoted to explaining how to use LSOs to track user movements online, and store small databases on the user's computer, to eliminate the need for making a round-trip back to the web server. I have even seen a posting from a user complaining that his bank was using LSOs to store his personal information, even though there was no Flash animation on the bank's site. Here's how to stop this nonsense: by default, Flash accepts all third-party LSOs. You have to go to Adobe's Flash Player Settings Manager site On the left you will see a Table of Contents. Under that, click on Website Privacy Settings Panel. What you will see displayed is the actual management console to manage the settings on your computer. If you don't recognize a site in the list, that's not surprising - you were never asked for permission to store this crap on your computer. What I did was simply click on Delete all sites. You may want to be more selective. OK, now click on Global Storage Settings Panel in the Table of Contents. Again, you're looking at the actual Settings Manager. Now uncheck the box that says "Allow third-party Flash content to store data on your computer". This should take care of LSOs.

Obama and Public Funds
6/19/2008 10:00:35 PM

It's amusing how the Republicans go after Obama for changing his position on public funds. I say, good for him, recognizing that you sometimes have to change directions in order to meet your goals. I say it's the sign of a good leader that can realistically re-evaluate previous "promises" rather than stick to a losing strategy.

The Truth Comes Out
1/23/2008 7:14:53 PM

President Bush and his top aides publicly made 935 false statements about the security risk posed by Iraq in the two years following September 11, 2001, according to a study released Tuesday by two nonprofit journalism groups.

"In short, the Bush administration led the nation to war on the basis of erroneous information that it methodically propagated and that culminated in military action against Iraq on March 19, 2003," reads an overview of the examination, conducted by the Center for Public Integrity and its affiliated group, the Fund for Independence in Journalism.

...

The quotes in the study include an August 26, 2002, statement by Cheney to the national convention of the Veterans of Foreign Wars.

"Simply stated, there is no doubt that Saddam Hussein now has weapons of mass destruction," Cheney said. "There is no doubt he is amassing them to use against our friends, against our allies, and against us."

(from CNN)

Read more here, from The Center for Public Integrity.

Bush shouldn't be impeached, he and his cronies should be thrown in jail.

--Marc

XML documentation warnings
1/23/2008 4:46:53 PM

My current list for disabling documentation warnings (after trying Sandcastle) is: 1591, 1572, 1573

--Marc

Your Own IM Server
1/21/2008 11:06:59 AM

When I asked how many IM applets do you run, Douglas Troy responded "Now, if CP had a private IM server/client ... " and I asked why, to which he said:

1). No bloat; we control client (faster updates/bug patches?)
2). No "What did they just install on my system now!?!?" (e.g., Yahoo! Toolbar)
3). CP IM Network, means I don't have to go looking for programmer/IT types, I know the people on it, are the ones I want to talk with (not some teenie bopper that's trying to score Hanna Montana tickets)
4). Imagine, Bob as your CP IM client ... you know you want it.
5). I have this crazy idea of a "Code Snippet" sharer, like a clipboard, but for IM; shoot, build a link in there with the snippet compiler, and two people could bang out a solution in an IM session (I know, I'm crazy).

To which I think, hmmm, how long would it take to cobble that together, probably from existing code out there???

--Marc

Kicking off the new year with concurrent programming
1/21/2008 9:13:27 AM

The latest thing I've gotten interested in is concurrent programming. This has been a festering interest for most of my life--I wrote a task switcher 25 years ago for Commodore BASIC so I could run subroutines concurrently.

There's several areas of concurrent programming that interest me: Software Transactional Memory (STM), inter-task messaging, and work scheduling, to name three. I'm also curious to see where Microsoft goes with PFX and STM.

So, to that end, I've started writing about concurrent programming. The first two articles are:

Concurrent Programming - A Primer
Task Messaging

I am also investigating Ralf Westphal's excellent work on STM (start here and work backwards) and am also interested in work on tuple space. I've contacted Ralf and am planning to co-author several articles on STM, using his NSTM code as a basic for 1) learning STM deeply myself and 2) writing up that knowledge as Code Project articles with Ralf.

--Marc

Programming Is Like A Waterbed
11/11/2007 8:49:29 AM

I was particularly struck by some of the great points that Leslie Sanford raised in his post on the Code Project lounge, and I wanted to remember them here.

I've been learning the truth of this lately. I've got a fairly large project going in C++. Overall, I'm satisfied with the design, but as an exercise in trying to improve a possible future design, I've been experimenting different approaches. Mostly, these have just been thought experiments or doodles in a notebook.

What's striking to me is how many times I've said to myself something like, "Well, if I put that responsibility over here instead of over there, it will make things simpler for one part of my application but more complicated in another."

The aim of good design seems to be to distribute complexity in an even way across an application while maintaining good cohesion and low-coupling. In fact, distributing complexity evenly may promote good cohesion and low-coupling.

I especially like that last paragraph.

--Marc

What has the greatest positive impact on the long-term maintainability of a software product?
A Code Project Survey
11/9/2007 9:22:42 PM

I found the best answer to this survey was by Keith Barrett:

In my own experience the single factor that made the biggest impact on the maintainability of a large project was the implementation of unit tests. It effectively provided documentation on how the code was supposed to work, and allowed the code to be re-factored and restructured without breaking it. Consequently the architecture and coding style could be migrated from 'big ball of mud' to something more elegant and beautiful.

Followed by Shog9's response as well:

Heck, having good test coverage, even if it's implemented as black-box tests, can make a world of difference in giving developers the confidence to go in and change things for the better. When you're continually working for the absolute smallest changes to existing code, it isn't too long before the whole mess just collapses.

--Marc

The Future Is Owned By Google
11/7/2007 9:57:55 AM

It won't be much longer before it's just a big screen you walk up to and place your order. Which is all automatically billed to your GCard, Confirmations are sent directly to your GMail, and you can review all your expenses via GSheet. Your GCar will only take GFuel, and as you ask the GAttendant for directions, which are automatically downloaded to your GMobile, along with some driving music ordered via GSongs, you'll think to yourself how great life is ... GWiz.

--The wisdom of CPian Douglas Troy

RSS
October 2008 (2)
June 2008 (1)
January 2008 (4)
November 2007 (4)
September 2007 (2)
August 2007 (4)
July 2007 (37)
June 2007 (8)
May 2007 (5)
February 2007 (7)

(c) 2007 Marc Clifton
MBlog (c) 2007 Marc Clifton