Wednesday, May 26, 2010

Mark Russinovich, Sysinternals and Malware

A very well-known tool used by those who administer their own or others computers is Sysinternals. What I didn't know is that these tools were created pretty much by a single author. What's more is that this author, Mark Russinovich, is a great speaker, and his presentations are a must watch for anyone interested in the inner workings of Windows. I appreciate his attitude (perhaps because it is devoid of just that, "attitude") and I could listen to his presentations all day.

The presentation that got me started on him is Advanced Malware Cleaning, but there are other similar presentation that focus on other tools in the Sysinternals suite available from that location.

Monday, May 24, 2010

Thoughts on Alternative Narrative of Social Networking Phenomenon

Perhaps its all about another desperate attempt to instantiate delusions of grandeur on the part of corporations.

A learned lesson of the Web about 6-8 years ago was no site can hope to capture users' sole attention.

To be sure, portals always tried to be that "one site". Granted, Yahoo goes back to the inception of the Web. But the battle came to a head some years later, when there was a pile on to be "THE" portal of record. But who won in the end? Google. An empty page with a textbox to enter a search term.

Corporations had a difficult time giving up on the hope of being "THE" site, and the mentality that users will spend, or care to spend, a vast amount of time on their site. Related to this desire is a desire to be ON THE (potential) CUSTOMER'S MIND. Mindshare. Similarly, a need to MANAGE customers... to hang on to some kind of control. Granted, its likely such CONTROL isn't even really necessary to succeed as provider of goods and services. But corporate mentality and record keeping require it.

So, having failed to be on the customers mind for the majority of the customer's online lifespan, corporations were seduced by the promise of SOCIAL NETWORKING as a means to be in the (potential) customer's online life....to manage and keep track of. This imperative may in fact be the driver behind SOCIAL NETWORKING and the Web 2.0 interconnectedness pursuit.

Wednesday, May 19, 2010

SQLCMD

Here is a handy cheat sheet for Microsoft's SQLCMD, when you don't have the luxury of SQL Server Management Studio.

To run some sql and have results sent to "output.txt",on local server:

>SQLCMD -S(local) -U sa -P changeme -q "use WONDERBEAN;select * from orders;" -o output.txt


To run some sql stored in "myScript.sql" and have results logged to "output.txt",
on local server,with instance called "instanceSmedly":

>SQLCMD -S(local)\instanceSmedly -U sa -P changeme -i myScript.sql -o output.txt


Typical use would be to do a restore. Here is a handy example of some restore sql syntax:

alter database WONDERBEAN SET single_user with rollback immediate;
restore database WONDERBEAN from disk = 'C:\Users\Howard\Documents\WONDERBEAN_1_1_2010.bak' with replace,recovery;
alter database WONDERBEAN set multi_user

Virtual Box : Time machine

I've been digging Sun's free VirtualBox over Microsoft's Virtual PC, and not only because of the Snapshot branching functionality. Here is how to disable the time in the guest operating system from syncing with the hosts, which is great for testing various scenarios.... vboxmanage setextradata vmname “VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled” “1″

Tuesday, May 18, 2010

Sequence Diagrams from UML

Recently I've been taking another look at UML. Perhaps it was the result of talking to a software ARCHITECT for the first time in a while, or sub-consciously inserted from the news that Visual Studio 2010 will have some important UML features.

Many of the projects I work on involve first familiarizing myself with legacy code. To me this is almost always fascinating, like "This Old House". I have rarely found two programmers who code the same way. If there is similar architecture to something else I've come across, it almost always turns out to be auto-generated from Microsoft.

I have improvised various note-taking schemes over the years, which is great in that it allows me flexibility to deal with the idiosyncracies of the particular project at hand. On the other hand, one does long for some standards to be handed down. This would be all the more important when working on an excavation as a team.

So, I was delighted to become reacquainted with (because I'm sure I saw it somewhere before but didn't appreciate it) Ivar Jacobson's Sequence Diagrams. When dealing with a highly optimized object oriented architecture that lacks any documentation whatsoever, this is exactly the kind of approach you'd want to take in dissecting some codebase. Sure it was intended for design, but for my purposes, it is probably even more useful in reverse engineering.

Yet, as it seems with all UML models, there is an enormous lack of creativity when it comes to the drawing of symbols. I hope to find an implementation of Sequence Diagram models that has something more creative than a stick person.

UPDATE:
Just learned that the UML creation tools in Visual Studio 2010 only come with the Ultimate version, not either the Professional nor the Premium. Bummer.