free for the beta,
free for the first three months.
$4 per month or $40 per year
no theft retreival garanteed.

In the case of theft, we can work with the authorities for you for an extra fee.

Optional serial number tracking for insurance purposes.

probably want to know it is working… view a last communicated date.

making a laptop stolen causes all information to be saved. Normally all information is purged after 24hrs.

Program Wish list… or things that would just be cool

  1. Mono minimize swap out.
    Check out a 1.1 .net windows form app. Look at its mem usage in taskman. Then minimize it. Notice how the memory usage changes entirely. It would be sweet if mono did this.
  2. ipodder loses it memory.
    Yes it looses its mind. Well, ok it looses its preferences, it would be nice to squash this bug.
  3. Openmoveover
    is only free for linux. It would be nice if the windows part was free too
  4. smarttags are cool
    It would be awesome if gvim, gedit, abieword, kword, everything… in linux used a unified smart tag engine. Fuck MS patent.
  5. A port forward manager/maintainer
    for windows and unix would be SWEET. It could detect your IP and do special things if you are in a special location.
  6. A todo list API like blogger.
    tood list manager for tomboy
    & really all of tomboy as desktop and web accessible.
  7. Axinom – axcms some kind of CMS for mono would be sweet.
  8. A password vault website and long password generator
  9. unified tinyurl + delicious + bloglines/technorati
    so that the shrunk url shows who is blogging that url, other things people have marked on delicious for the 2 seconds before the redirect.
  10. Sending info(files) securely(https) with a delay holding cell(timer) and a password to get to a file, and wiki for notes for the file?
  11. Windows port redirect – std alone and service.
    When firewalls get in the way sometimes a nice port redirector can come in handy. This is really a proxy without the proxy protocol, the data through a socket would just get sent some place. Windows may allow redir in kernel land or its tcp/ip stuff rather than in userspace.

SQL Server Example of Updatable and Insertable View from Multiple Tables

DROP TABLE HostStatusListName

CREATE TABLE HostStatusListName (
Name nvarchar(50) UNIQUE NOT NULL

HostStatusListNameID int NOT NULL REFERENCES HostStatusListName(id),
/* Hostname nvarchar(50) REFERENCES Host,
ProductName nvarchar(50) REFERENCES ProductFamily,
Environment nvarchar(50) REFERENCES Environment, */
HostID int unique REFERENCES Host,
ProductID int REFERENCES ProductFamily,
EnvironmentID int REFERENCES Environment,
IsInActiveDirectory bit NOT NULL,
IsInInventoryDB bit NOT NULL,
ManagementIP nvarchar(50),
ProductionIP nvarchar(50),
Reachable bit NOT NULL,
ReachableDate datetime NOT NULL DEFAULT getdate(),
ServerModel nvarchar(50)

DROP VIEW vHostStatus

SELECT, Name, Hostname, ProductName, Environment, IsInActiveDirectory, IsInInventoryDB,
ManagementIP, ProductionIP, Reachable, ReachableDate, ServerModel FROM HostStatus hs
LEFT OUTER JOIN HostStatusListName hsln ON hs.HostStatusListNameId =
LEFT OUTER JOIN Host h ON hs.HostId = h.Machineid
LEFT OUTER JOIN ProductFamily pf ON hs.ProductID = pf.ProductID
LEFT OUTER JOIN Environment e ON hs.EnvironmentID = e.EnvironmentID


DROP TRIGGER tr_vHostStatus_IO_U
HostStatusListNameid=(SELECT TOP 1 id FROM HostStatusListName hsln WHERE hsln.Name=i.Name),
Productid=(SELECT top 1 productid FROM ProductFamily pf where pf.ProductName=i.ProductName),
Hostid = ( SELECT TOP 1 Machineid FROM Host h WHERE h.Hostname=i.Hostname ),
Environmentid = ( SELECT TOP 1 Environmentid FROM Environment e WHERE e.Environment=i.Environment)
FROM inserted i
INNER JOIN HostStatus h on

DROP TRIGGER tr_vHostStatus_IO_I
DECLARE @nameid as int
DECLARE @productid as int
DECLARE @machineid as int
DECLARE @environmentid as int
DECLARE @IsInActiveDirectory as bit
DECLARE @IsInInventoryDB as bit
DECLARE @ManagementIP as nvarchar(50)
DECLARE @ProductionIP as nvarchar(50)
DECLARE @Reachable as bit
DECLARE @ReachableDate as datetime
DECLARE @ServerModel as nvarchar(50)

select top 1 FROM HostStatusListName hsln INNER JOIN inserted i ON hsln.Name=i.Name
select top 1 @productid = productid FROM ProductFamily pf INNER JOIN inserted i on pf.ProductName=i.ProductName
select top 1 @machineid= machineid FROM Host h INNER JOIN inserted i on h.Hostname=i.Hostname
select top 1 @environmentid = @environmentid FROM Environment e INNER JOIN inserted i on e.Environment=i.Environment
select @IsInActiveDirectory=IsInActiveDirectory, @IsInInventoryDB =IsInInventoryDB ,
@ManagementIP = ManagementIP, @ProductionIP = ProductionIP, @Reachable=Reachable,
@ReachableDate = ReachableDate, @ServerModel=ServerModel FROM inserted

INSERT INTO HostStatus (
HostStatusListNameid, Productid,
Hostid, Environmentid,
IsInActiveDirectory, IsInInventoryDB, ManagementIP, ProductionIP,
Reachable, ReachableDate, ServerModel )
VALUES ( @nameid, @productid,
@machineid, @environmentid,
@IsInActiveDirectory, @IsInInventoryDB, @ManagementIP, @ProductionIP,
@Reachable, @ReachableDate, @ServerModel

INSERT INTO HostStatusListName (Name) VALUES (‘Etime’)
INSERT INTO HostStatusListName (Name) VALUES (‘Ehrms-unix’)
INSERT INTO HostStatusListName (Name) VALUES (‘Ehrms-windows’)
Insert INTO vHostStatus (id, Name,Hostname,ProductName, Environment, IsInActiveDirectory, IsInInventoryDB, ManagementIP,ProductionIP,Reachable,ReachableDate, ServerModel)
VALUES (1,’Etime’,’test’,’Etime’,’P’,0,0,’′,’′,1,getdate(),’some server’ )

SELECT * from vHostStatus

SELECT * from HostStatusListName


Trying to do some ASP.NET 2.0 in Mono and immediately here are things with which the Visual Studio 2005 environment helped.

  1. I had a missing quote. I typed if ( c.ID == “form) … oops there is a trailing quote.
    XSP2’s error message was less than obvious. I’m sure much of it was because I was tired. Unfortunately I do most of my Mono development after working a full time job all day.

    Ok so it does say newline in constant and expecting ‘;’… I guess I was REALLY tired.

  2. Not critical but I’m using xhtml and my html tag didn’t have the xmlns attribute. Studio 2005 not only caught this, but it let me autocomplete this. Now this is really more of a roll for tidy than for another mono tool, but maybe xsp2 could have a debug mode which would run output through tidy!
  3. My web.config file had a < pages styleSheetTheme="SmokeAndGlass" / > tag, but the style didn’t exist.
  4. My asp:Label tag was missing runat server.
  5. My web.config defined a roleManager with a provider using SqlRoleProvider and a connectionStringName which was not defined.
  6. ASP.NET 2.0 couldn’t/wouldn’t load the .dll from the bin directory which has my custom provider. I’m not sure if this is because my dll isn’t strongly signed, is off a network share, or some other reason….HOLY FSCKING TYPO… I typed Provder instead of Provider. I really suck.
  7. Now I know that Mono is missing these things from browsing the classes. Seeing Studio 2005 handle the uncaught exceptions for a Web Application is AMAZING! Excellent debugging, especially since I’m debugging not a Web Application directly, but my custom MembershipProvider. Truely amazing! I’ve never debugged a web application like this.

installing lxr and configuring for gnome lxr using Ubuntu breezy

the lxr package uses glimpse for search. glimpse is not free, so we use the lxr-cvs package. This uses swish-e and a PG/MySql/Oracle/AnythingDBI backend.

install the lxr and the swish-e packages – I’m not sure why the lxr-cvs package is there, or why it exists. Looks like it is moving to a database backend which may be faster?

checkout the source cvs you want to use. I grabbed gnome in an evil way like this

for module in `cvs -z5 co -s | cut -d ' ' -f 1 ` ; do cvs -z5 co $module ; done

configure lxr.conf with proper directories and versions and stuff. The version part is stupid because it assumes you have a dir with subdirs of versions. If you just want to index 1 dir, use its parent as sourceroot and the dirname as version.

  • create postgresql db and user
  • configure the database for password auth
  • initialize the database for use with

createdb lxr ; createuser -A -D -P lxr # then type the password when prompted
echo local lxr all md5 >> /etc/postgresql/7.4/pg_hba.conf
invoke-rc.d postgresql-7.4 restart
psql -U lxr -f /var/lib/lxr-cvs/initdb-postgres lxr

then run lxrgen

cd /var/lib/lxr-cvs ; ./genxref --url=http://localhost/lxr

working around a “secure” build of windows

At work they have these stupid windows images to install from, rather than default installs. One of the side effects is that I cannot drag and drop in Windows Explorer.

Here is my fix and undo of “security” to enable drag and drop in windows.

This is just a copy and paste of information I found in a forum somewhere. It seems the change must be made and you must logoff/logon (or maybe just restart explorer.exe).

Good, then we can try two other remedies. I am assuming by the way that you are not receiving any error messages during your attempts to drag and drop.

1. Check your settings in DCOMCNFG.

This is based on MS KB Q274696:;en-us…

For XP the modified solution is to open dcomcnfg, go to the properties page for Component Services | Computers | My Computer, go to the Default COM Security page, under “Access Permissions” click “Edit Default” and make sure that the local SYSTEM and INTERACTIVE users have “Access Permission” with the “Allow” checkbox checked.

2. Re-register some DLLs.

Start, Run, and either type CMD and paste the below as a box into the CMD session, or enter each line one-by-one:

regsvr32 urlmon.dll
regsvr32 Shdocvw.dll
regsvr32 Msjava.dll
regsvr32 Actxprxy.dll
regsvr32 Oleaut32.dll
regsvr32 Mshtml.dll
regsvr32 Browseui.dll
regsvr32 Shell32.dll
regsvr32 riched20.dll

TekTippy4U (TechnicalUser)
7 Aug 04 3:46
hi folks;
couple of quick points;
[…as the long tooth becomes a fang ]
I’m not up on current MSOffice DLL versions, and associated apps, nor with all XP DLLs per se — so some DLLs below may be older – feel free to update with the correct file name.
[1] I’m inclined to think it’s related to an unregistered DLL ( improperly registered or overwritten/replaced, and even perhaps an OCX that needs re-registering – thinking an Explorer issue more-so than an IE one).
along these lines – I’d like to add a few to the list (that bcastner already posted);
regsvr32 Comctl32.dll
regsvr32 Shlwapi.dll
regsvr32 User32.dll
regsvr32 User.dll
regsvr32 Olepro32.dll
regsvr32 Ole2.dll
regsvr32 Ole2conv.dll
regsvr32 Ole2disp.dll
regsvr32 Ole2nls.dll
regsvr32 Ole32.dll
regsvr32 Olecli32.dll
regsvr32 Olecnv32.dll
regsvr32 Olesvr.dll
regsvr32 Olesvr32.dll
regsvr32 Olethk32.dll
regsvr32 Oleacc.dll
regsvr32 Setupwbv.dll
regsvr32 Softpub.dll
regsvr32 Wininet.dll
regsvr32 Wintrust.dll
(sorry bout the long list, but might as well try em all – and depending on which version of IE you’re running these files will vary, and you’ll definitely get some errors when trying to register them all).

The other quirky thing about this, is that you’d think that an SFC /Scannow would restore the Original DLLs – if some are wrong versions or have been maliciously replaced by malware (as certain usual Windows files can and are – such as rundll32.exe and regedit.exe and notepad.exe to name a few).

[2] Someone will have to follow up on the OCX theory, kinda like the way exoticspice’s faq lists entries to the Interface Key – perhaps it’s a TypeLib prob. I think the OCX files may need the full path listed in the command?

[3] I’ve heard of anomalies with drag-n-drop and cut and paste from having more than 1 Keyboard Language set in the Keyboard Properties > Language tab of Control Panel.

[4] Finally….anyone think this is an Accessibilty Setting option gone awry?

……oh well – a shot in the dark anyway.


These are just my thoughts….and should be carefully measured against other opinions.
Backup All Important Data/Docs

FileCopyPolicyIsRemote method kinda shows the whole pattern

bool FileCopyPolicyIsRemote( Host h, string filename )
string host = h.Name;
/*string[] splits = filename.Split(new char[] {‘/’,’\\’} );// slash or backslash
string basename = splits[splits.Length-1];*/
string basename = Path.GetFileName(filename);
Match m;

if ( FileCopyPolicy==”overwrite” )
return true;
else if ( FileCopyPolicy==”rotate” )
return true;
else if ( FileCopyPolicy==”uselocal” )
return false;
else if ( ( null != (m = Regex.Match(FileCopyPolicy, @”uselocal-(\d+)day” ))) && m.Success )
short days = Convert.ToInt16(m.Groups[1].Value);
string returnfile = LocalCacheDirectory + host + Path.DirectorySeparatorChar + basename;
if ( File.Exists(returnfile) &&
( File.GetLastWriteTime(returnfile).AddDays(days) > DateTime.Now ) &&
( new FileInfo(returnfile).Length != 0 )
return false;
return true;
return false;//unknown policy


RE: To Janise and Peter Arena I am writing(…)

My wife is a bridesmaid in a friends wedding. She has been having some problems with her dress and the place is completely unresponsive. If you life in the SEMI (South Eastern Michigan), we do not recommend you give them your business. They even messed up some of the brides stuff.

To Janise and Peter Arena;
I am writing this letter concerning the dress that I received from Arena
Bridal Salon on Saturday, August 6th, as well as the situation surrounding the
ordering of this dress and response that I received from your staff. I am a
member of Genevieve Crawford’s wedding to be held on the 25th of September in
2005 and ordered the Bill Levkoff style 354 in Euro Navy.
I arrived in your salon on April 30, 2005 to be fitted for the dress, as well
as to put down a payment. I was measured by a member of your staff directly in
the lobby while still fully clothed in a sweater and jeans. After having worked
with various wedding salons due to the three previous weddings in which I stood
as well as my own wedding, I felt that this was rather inappropriate and would
skew my measurements. I should have been taken into a dressing room and
measured without my clothing to ensure the proper size dress would be ordered.
When I expressed my concerns about this, I was assured by the saleswoman that
the measurements would be adjusted for my clothing. However, she never told me
what the measurements taken were and what size she would be ordering. I
explained that in every other bridesmaid dress by various designers I have
worn, I have always ordered a size six. Unfortunately, I felt as if this
explanation was brushed aside when the saleswoman informed me that every
designer has different size charts and my dress would be ordered based on that.
I was not fully reassured by this explanation, and so asked to try on the
dress. The only available model dress in this style was a size 10, which
promptly fell off without manually holding it up. The dress was obviously at
least two sizes too large, and the saleswoman agreed that a size 10 would be
wholly inappropriate and that I should have a size 6 ordered. I finally felt
that the dress would be correctly ordered and so paid for it in full.
Unfortunately, this was not the case. When a different saleswomen than the
one I worked with previously brought out the dress marked as mine, I
immediately knew just by looking at it that it was too large. I was extemely
upset by this as I felt that the matter was fully settled when I paid for the
dress: that a size 6 would be ordered and not the size 10 that was being given
to me. After expressing my concerns about this, I was finally told the
measurements that were written down for me; the saleswoman did not compensate
for taking my measurements when I was fully clothed and so only the measurement
taken for the bust was correct, both the waist and the hips were three inches
too large! The saleswoman did not respond to my concerns and so I asked to put
on the dress in the hopes of showing her that the dress was incorrect and so
being able to come to a solution as to what should be done concerning your
salon’s error. Upon trying on the dress, I encountered the same difficulties
as with the model tried on in April: the top of the dress fell down below my
bra unless I held it up with both hands. At this point, my husband, who had
accompanied me, also became very upset that I even appeared out in the lobby
while wearing this dress.
Unfortunately, we seemed to be the only people that were upset by this
situation as I was offered absolutely no apology or solutions to this problem
other than a list of seamstresses in the area. As I live south of Ann Arbor, I
was offered no help and was told to find a seammstress myself and get the dress
taken down two sizes. I felt as if the saleswoman’s error during my fitting
was being pushed off on me as my problem. I was so upset by this utter
disregard to customer service, that I left so as not to cause a scene in front
of your other customers.
I have since been unable to find a seamstress in my town that is able to
basically remake the entire dress, I feel that help should have been offered in
this regard. I am also a graduate student at the University of Michigan and am
living on very limited funds from which I budgeted purchasing the dress and
paying for it to be hemmed up; I cannot afford to purchase a new dress or to
pay for the major alterations it will take to repair the error, nor do I feel
as if I should when the error was not mine. I feel that the size 10 should be
exchanged for the appropriate size 6, the size I was assured I would receive.
If this is not possible as the dress is needed for September 25, I feel that
Arena Bridal should take over the responsibility of altering the dress down to
a size 6. I have quite a few friends and family members that will be looking
for bridal salons for themselves in the near future and I would really like to
be able to tell them that despite my initial difficulties, Arena Bridal would
be a good choice for them. I would also really like to solve this problem
rather than having to make a formal complaint against your business. I
appreciate a timely response to this matter so that we can solve the problem as
soon as possible. I can be reached between the hours of 8 am and 6pm weekdays,
as well as Saturdays in my laboratory at XXX-XXX-XXXX, and after hours on my
cell phone at XXX-XXX-XXXX.

Thank you for your time and I look forward to putting this issue to rest,