Volleynerd Knowledge Base

Monday, December 29, 2003


IE OnDocumentComplete event may not be fired



316593 - The DocumentComplete Event May Not Be Triggered When You Open a New Browser Window

(found by searching for "documentcomplete" on MS support page -- support.microsoft.com)

keywords: IE 5.5 6.0 DocumentComplete DownloadComplete Internet Explorer



Friday, December 26, 2003


Day after Christmas - TechTV Call for Help A-Thon
Main page with links for hours here

XPlay for iPod

Software that you run on Windows to view internals of drive layout, files, music, etc. for iPod.
XPlay for iPod




Tuesday, December 23, 2003


Ugh, Jobs will be gone in 2014

U.S. Companies Moving More Jobs Overseas

keywords: outsource india



Saturday, December 20, 2003


Dynamic DNS


Kevin on The Screen Savers likes this one

Windows XP, Remote Desktop Security


First off, Kevin says traffic for remote desktop is encrypted -- been wondering that for a while.

He also shows the links to NSA documents on securing Windows XP.
Turn security for remote desktop up to HIGH
He has summarized them here




P2P Picture Sharing


Shown on The Screen Savers
Free, real-time picture sharing, interactive, etc.

The program --- "Hello"



List of things to disable in Windows XP


"Black Viper" showed his website and list of services on Tech TV's "The Screen Savers"

TechTV | Trim the Fat From Windows XP




AV Cast

Distribute video, audio, even infrared remote signals throughout the house.

avcast.com



Saturday, December 13, 2003


XBOX Media Center

After xbox mod, here's the xbox media center that allows you to play pretty much all videos, pictures, etc.

Xbox Media Center



Hauppauge MediaMVP

Play MPEG1, MPEG2 videos, pictures, music (MP3) on your tv.

Hauppauge Computer Works: MediaMVP



Sunday, December 07, 2003


Gamespy Arcade - XBox Tunnel

Gamespy Arcade, tunnel software lets you run LAN-based system link xbox games over your broadband connection.

Here's a link with firewall info, etc.

GameSpy Arcade - Play Hundreds of Online Multiplayer Games!



Thursday, December 04, 2003


XP Command Line Utils

From The Screen Savers... list of lesser-known command line utilities available in XP

TechTV | Windows XP Command Line Utilities

highlights:

systeminfo -- shows all about machine, including what hotfixes (windows update patches) have been applied

tasklist -- list of currently running processes

taskkill -- kill a process

getmac -- displays MAC address



Tuesday, December 02, 2003


Explorer Command Line Options


Always like to have this handy for startup links, quick cmd line stuff, etc.

152457 - Windows Explorer Command-Line Options




Saturday, November 29, 2003


FutureSmart Home Wiring

I probably have this link somewhere already, but here just in case.

FutureSmart at SmartHome

home wiring futuresmart future smart structured



IE Open in New Window or Popup Links are Broken

Clicking on link that would normally bring up a popup gives javascript -- access denied.

Print Preview also fails with this error:
dialogArguments.__IE_PrintType is null or not an object.

Not sure how I got in this state. Disabled and then removed Google toolbar (popup blocker) -- not its fault.

MS KB article here.

OK - FIXED IT

turns out, it was a tweak in DCOMCNFG that I did a couple weeks back for work. Trying to get remote connection points working, and I remember now tweaking the default access security settings.

THANKS a TON to this guy's post on google groups.

Basically, in DCOMCNFG "default access permissions", I had only SYSTEM. So adding the Interactive account (along with administrators, IUSR_xxx, and IWAM_xxx while I was in there) -- fixed the problem!!


keywords: Internet Explorer open new window print preview popup pop-up access denied DCOMCNFG default access permissions security




Monday, November 24, 2003


The Screen Savers -- Home Video Crash Course



Kevin's list of Video Compression Tools
Video Compression Tools

Dr. DivX - 15 day trial, then $50
includes "pro" version of dr divx encoder -- more options

Windows Media Player 9 encoder -- FREE !!




Saturday, November 22, 2003


Discrete Codes - Sony TV

RemoteCentral.com has a bunch of them, but says that ANT button is "not supported".

Here is hope:
Remote command codes - Sony TV (1, 164, 3, 151, 119)

Have to convert from "command code" 42 to a ProntoNEO compatible code, but that is here too:
How to use these codes with a Pronto Remote



Thursday, November 20, 2003


ReplayTV Compilation of Tools

Good site for links to all the files, tools, etc. you need for ReplayTV.

Virtual4K.com - ReplayTV emulation software for the PC



Sunday, November 16, 2003


Free PDF creation

Printer driver that will "print" to PDF format from any Windows applicaiton.

Easy PDF: PDF Creation tool

ooops - the free one can NOT "print" to save as PDF from any app Free version is only a WYSIWYG editor that will save out as PDF.

update 10/02/05
OK, here is a truly free driver. Well at least that's what the linking page said - I haven't actually gone to get this one.



Friday, November 14, 2003


Monday, November 10, 2003


Splitter / Combiner / Filters

For use with video modulator in home video distribution.

First - a good overview of all the pieces to this puzzle.

So "low-pass" presumably means the filter allows anything below the rating. What about the high channels like cable modem (109) and digital channels in the 200-500 range?

Leviton Combiner (not sure of frequency range)

SmartHome "notch filter" (7822E) looks like it only blocks a range and allows channels to pass above.




Friday, November 07, 2003

Audacity and LAME


updated 08/25/05
WavePad is another WAV editor - thanks to Russ for this link.




Audacity will record from WAV out, but also includes editing features. Export as MP3, etc.

Find Audacity (from sourceforge) at Download.com

To export to MP3, need "freely available" lame_enc.dll

LAME Ain't an MP3 Encoder (from SourceForge)



Another free network sniffer

Kevin Rose from The Screen Savers with another Dark Tip

NetworkActiv PIAFCTM - File Constructing Packet Analyzer




Sunday, November 02, 2003


View HTTP Headers within IE

Explorer bar that will show you headers going in and out.

ieHttpHeaders

[wonder what spyware he's doing along the way??] :)




Friday, October 31, 2003


VC always wants to build a project

3 reasons why the IDE might think your project is out of date:

326946 - BUG: Issues That Cause a Solution to Rebuild Although Dependencies Are Unchanged



Outbound parameter from event interface

Want to change parameter in the event handler, and have the caller see the change

Just what we figured out last round for SFP. Script event handlers can not modify a standard ( [in,out] SomeType* val ) parameter.

More info now that I've figured this all out

This article tells that you should make the param type [in,out] VARIANT*, but that actually does not work for JavaScript event handlers (e.g. in a web page). Some people imply that VBScript can handle in,out, but I can't get that to work.

HOWTO: Obtain data from the client via an outgoing event dispinterface in ATL

So...when dealing with JavaScript, change the param type to [out,retval] and then the Fire_xxx code should be looking at the varResult (from ATL generated code) instead of the params passed into the Invoke call.


(find this at groups.google.com with search "out retval parameter event group:microsoft.public.vc.*" )

Update: more info here about using this event from JScript.

Apparently JScript doesn't do [in,out] params, so you have to go with the [out,retval] attributes, and pull the return value out of the 6th param in Invoke.

ATL Wizard code generates mostly correct code (currently using VS 7.1), with zero params (out,retval is not sent in as a param)....but the return value shows up from the 6th param in Invoke. You have to pull this value out of the CComVariant and return it from the Fire_xxx function.

IDL function declaration:

[id(2)] HRESULT OutRetvalVar([out,retval] VARIANT* val);

HRESULT Fire_OutRetvalVar( VARIANT *  val) {


...

CComVariant avarParams[1];
avarParams[0].pvarVal = val;
avarParams[0].vt = VT_BYREF | VT_VARIANT;
CComVariant varResult;
DISPPARAMS params = { avarParams, NULL, 1, 0 };
// go ahead and pass params here, but JScript will ignore
hr = pConnection->Invoke(2, IID_NULL, LOCALE_USER_DEFAULT,
DISPATCH_METHOD, &params, &varResult, NULL, NULL);
// return value from event handler will be in varResult
::VariantCopy( val, &varResult );

...
}


JScript event handling code looks like this (notice the lack of parameter in the event handler function signature):
<script language="javascript" for="dan" event="OutRetvalVar">

alert( 'got OutRetvalVar (jscript), return true' );
return true;
</script>





Saturday, October 25, 2003


Thursday, October 23, 2003


CodeProject articles

Jeff @ work found some good articles here.

Put @ERR,hr (shows GetLastError value, as HRESULT) and @EAX,hr (shows return value from last function call) in a watch window.

The Code Project - Free Source Code and Tutorials

(also in this author's list of articles is "idot's guide to writing shell extensions, COM tutorial, C++ class to wrap the Windows scheduler, WTL tutorials)



Hiberfil.sys large file on XP

This file is sitting on the root of the system drive on XP machines. It's rather large, so was wondering what it was.

Turns out it's the file where the RAM state is flushed when the machine goes into hibernate mode. (Apparently on by default in XP, even for desktops! )

Turn this off in Control Panel, Power Options, Hibernate, Enable Hibernation.
Poof !! The file is gone.

Thanks to this post for the info on this one.




STA COM exe server receives inbound calls on random thread

At work today, Tim's COM exe server was recieving inbound calls from client calls on random RPC threads, even though his EXE was calling CoInitialize(0) in WinMain, therefore putting the object into the STA.

Turns out, the object was originally created with the Add New Class wizard, and the box was checked for "Free Threaded Marshaller".

What this does apparently is the proxy/stub code sends the client request into the EXE on one of it's COM/RPC provided threads.

The Free Threaded Marshaller is created in an ATL object's implementation of FinalConstruct. There you will see the call to CoCreateFreeThreadedMarshaler



Friday, October 17, 2003


Oracle SQLPlus Help


help on commands in oracle sql plus SQLPlus commands




Wednesday, October 15, 2003


Hard Drive Activity during Idle time on XP Laptop

Work laptop, after idle for a while, starts churning the disk until I come back and wake it up.

Based on google groups searches, seems to be one of following:
  • Indexing service for that drive (turn this off in properties for the drive)
  • System Restore cab'ing up files for a restore point (can only turn off all of system restore).
  • Optimizations XP makes, moving files to faster sections of the drive (don't know how to turn this off)


But....why doesn't this happen on my desktop? (It has indexing turned on, and System Restore enabled)

The saga continues....

Ok, found the problem (I think).

Set Local security policy to track process starts/stops. Found that defrag.exe and dfrgntfs.exe would run during the idle / screen saver time.

Found info about it on this Windows XP A to Z page, they talk about the prefetch mechanism that moves files around on disk to make XP boot/run faster.

In case the page is gone someday, the info to disable:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
EnablePrefetcher
0 = disabled
1 = Application launch prefetching
2 = Boot prefetching
3 = both

temp files and organization are done in <windir>\PreFetch.
Look at layout.ini where the optimal storage layout is described.


keywords: hard drive hd spin constantly activity idle xp laptop



Tuesday, October 07, 2003


Changes in IE due to Legal Ruling

Apparently, IE's default handling of ActiveX controls will change -- here's more info:

Information for Developers about Changes to Internet Explorer



Sunday, October 05, 2003


Cool Google "Searches"

From ComputorEdge, Sept 26, 2003, cool ways to search at google

(many of these can be done in the advanced search page at google )

intext -- Find only pages that have search term in the text (not in title, URLs, tags, etc)
intext: ex: "Gretchen" intext:www.computoredge.com
(btw, can use this with the site argument to bypass some password-protected sites!?)

inurl -- Look for the URL references in all indexed pages.
site: ex: "Digital Dave" inurl:www.computoredge.com

site -- Restrict search to a given URL or top level domain.
site: ex: "digital dave" site:edu

daterange -- based on julian date, use Julian Date Converter

link -- Find sites that link to the given url
link: ex: link:www.computoredge.com

phonebook -- lookup residential and commercial phone numbers
phonebook: or
ex: phonebook:William Smith CA
ex: phonebook:(903)555-3454

(see google "services / features" pages for more info on white/yellow pages lookups)

calculator -- does any mathematical calculations, and even conversions.
"half cup in teaspoons" "10 kilometers in miles" etc.



Show Hidden Items in Add/Remove Programs (Windows Components)

The Screen Savers tip. Open sysoc.inf in windows\inf directory. In the "components" section, look for the entries with "hide" parameter towards end of the line. Remove "hide" (leave empty slot with two commas).

Close and reload the windows components list and you should see the new item(s).

keywords: add remove programs hidden show hide



Friday, October 03, 2003


Thursday, October 02, 2003


Disable Right Click in Browser

Thanks to Charles for showing me the light.
<script>


isNN = document.layers ? 1 : 0;

function noContext(){return false;}

function noContextKey(e) {
if(isNN){
if (e.keyCode == 96){ return (false);}
} else {
if (event.keyCode == 96){ return (false);}
}
}

function noClick(e){
if(isNN){
if(e.which > 1) {return false;}
} else {
if(event.button > 1){return false;}
}
}

if(isNN){
document.captureEvents(Event.MOUSEDOWN);
}

document.oncontextmenu = noContext;
document.onkeypress = noContextKey;
document.onmousedown = noClick;
document.onmouseup = noClick;

</script>




Wednesday, October 01, 2003


VC 7.x COM component categories unregistration

Since moving up to VC 7.x (.NET 2003), we've been getting access denied when unregistering a com component that has safe for scripting registry entries (in the .RGS file).

I haven't fully followed all the code down through statreg.h (line 1379 is key delete) but seems that only ONE of the component categories keys was being deleted....then when trying to delete the parent key, it would fail (0x80070005 -- acess denied).

Fix for now seems to be -- add ForceRemove before the category, then before each of the listed categories.
ForceRemove 'Implemented Categories'

{
ForceRemove {7DD95801-9882-11CF-9FA9-00AA006C42C4} =
s 'Controls that are safely scriptable'
ForceRemove {7DD95802-9882-11CF-9FA9-00AA006C42C4} =
s 'Controls safely initializable from persistent data'
}


keywords: com component safe for scripting implemented categories RGS ATL



Script can't use [out] variable from COM object?

This is ridiculous!? I can't get a simple COM object to properly pass back an OUT BSTR parameter to a script caller (from IE).

Tried VARIANT* as the param too, but must be missing something.

This is from google groups search, but couldn't get this working either.

------
Ah, if you want VBScript, it has to be [in, out] VARIANT*. On entry
this VARIANT contains VT_BYREF | VT_VARIANT and the referenced
VARIANT contains the value (as VT_I4 for example, but it can also
be in VT_I2 or something else like VT_BSTR). You have to interpret
the value no matter its format and then store the new value in this same
embedded VARIANT. You shouldn't touch the outer VARIANT.
See VariantChangeType - use it to convert all possible formats into
VT_I4 so you don't have to deal with all possible cases...
------

keywords: script javascript vbscript com object byref by reference outbound parameter



Monday, September 29, 2003


List of some choices for securing IM conversations
TechTV | Dark Tip: Secure Instant Messaging



DScaler - makes video on your PC cleaner, sharper, etc.
TechTV | First Look: DScaler



Wednesday, September 24, 2003


Tuesday, September 23, 2003


Dark Tiper, Kevin Rose from The Screen Savers, and his hacker buddies are putting out this "bi-monthly hacker videozine"

thebroken




Friday, September 19, 2003


VS 7.x and COM object Events

Weird stuff - new ActiveX Controls that we're building aren't hooking up events correctly with IE. Works with VB, but not with IE/script.

200839 - HOWTO: Enable ActiveX Control Event Handling on a Web Page
(see below heading for info about dealing with EXE COM server)

So turns out it's a change in the way the wizard generates code for the ATL objects. The above article is not quite right when they say the IE browser QI's for either IProvideClassInfo2 or IProvideClassInfo. In fact, when testing this solution, I can only get it working with IProvideClassInfo.

So...to make ATL based objects with connection points get hooked up correctly to script based clients (IE in particular):

Derive from IProvideClassInfo2Impl like this:
public IProvideClassInfo2Impl<&CLSID_dantestobj, &DIID__IdantestobjEvents, &LIBID_dantestLib>


Then add the following line to the interface map:
COM_INTERFACE_ENTRY(IProvideClassInfo)


Receive Events in IE from COM EXE server


Mark found this google info here
Google Search: Event from out of process COM server

(note: see info from 3rd post down that gets chopped off due to length. full text here):
http://groups.google.com/groups?q=Event+from+out+of+process+COM+server&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=%23uW82o5z%23GA.258%40cppssbbsa05&rnum=3

(copied below in case can't find it)
I have had the same problem. Basically IE5 does not sink events from out of

process servers. I have some help on this with detailed explanations of
what's going wrong but unfortunately have not managed to get the code
example yet.

Here is the email that someone at Microsoft sent in a support case (not to
me). At present I am trying to get the code but I object to paying Microsoft
for a support incident to fix a bug that they have already fixed for someone
else. Why haven't they published the problem and solution somewhere?

If you get anywhere let me know and I'll do likewise

Pete Edwards

---------------------- Microsoft
info ----------------------------------------------------------------------
It is a known issue with IE4 that ActiveX objects that live in a local
server cannot be instantiated using the OBJECT tag. This is due to the fact
that in IE4, the scripting engine essentially calls CoGetClassObject with
only the INPROC context flags (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
) when it sees an OBJECT tag ( note: This behavior has changed for IE5,
which now adds the CLSCTX_LOCAL_SERVER flag to the list ). In order to
overcome this limitation I tried a very simple fix. Since IE is looking for
an inproc server, I decided to give it one. I registered a DLL as the
inproc server for my object ( Let's call it CLSID_ObjInLocalServer ). The
DLL's implementation of DllGetClassObject looks like this:

STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
if( InlineIsEqualGUID(CLSID_ObjInLocalServer) )
{
return CoGetClassObject(rclsid, CLSCTX_LOCAL_SERVER, NULL,
riid, ppv);
} return CLASS_E_CLASSNOTAVAILABLE;
}


When IE calls CoGetClassObject( CLSCTX_INPROC_SERVER ... ), COM looks in the
registry and sees that for CLSID_ObjInLocalServer my DLL is registered as
the in-proc server. The DLL is loaded and DllGetClassObject is called. The
DLL then goes and gets the class object from the local server, which is
where the object really lives. Because COM is super-smart, everything works
like magic. New objects that are created using the
ClassFactory::CreateInstance have their interfaces marshalled by the
registered stardard marshallers that COM provides (many of which reside in
oleaut32.dll ). As long as you don't need to sink events from this object
in IE, the above works just fine. However, if you do want events, there is
a problem. It has to do with the registered marshaller for the ITypeInfo
interface ( this code is in oleaut32.dll ). The problem is that the proxy's
implementation for ITypeInfo::GetIDsOfNames simply returns E_NOTIMPL based
on the philosophy that TypeInfo IDs should be local... IE takes that
E_NOTIMPL and decides not to procede with setting up the event sink. Here is
how IE sets up scripting events:
1.) Queries ObjInLocalServer for IProvideClassInfo
2.) Gets the Class info (an ITypeInfo*) from
IProvideClassInfo::GetClassInfo( )
3.) Calls a bunch of methods on pCI to find the GUID for the default event
source
4.) Queries ObjInLocalServer for IConnectionPointContainer, and asks for the
default event source

The problem is that when the object and IE live in separate processes ( as
they always do in this situation ), the ITypeInfo* returned by the
GetClassInfo method must be marshalled.

The object that implements the ITypeInfo in this case is one returned by a
call to LoadRegTypeLib. This returns a pointer to an object created in
oleaut32.dll. Then COM goes through it's marshalling steps. In this case,
the proxy implementation of the object has a problem in that it just returns
E_NOTIMPL for GetIDsOfNames.... So what to do?

Well, clearly the problem is that we don't own the object given to us by
LoadRegTypeLib... but we do know the parameters that we pass to it...

So I created another object called CMarshalableTI. This object exposes
IMarshal, ITypeInfo, and a custom interface called IMarshalableTI. The
custom interface is used only for initialization and exposes a single
method:

interface IMarshalableTI : IUnknown
{
[helpstring("method Create")]
HRESULT Create(
[in] REFIID clsid,
[in] REFIID iidLib,
[in] LCID lcid,
[in] WORD
dwMajorVer,
[in] WORD dwMinorVer
);
};


This object lives in a new DLL called mslablti ( stands for Marshalable Type
Info )...

In ObjLocalServer, I change my IProvideClassInfo::GetClassInfo to look like
this:


STDMETHOD(GetClassInfo)(ITypeInfo** pptinfo)
{
CComPtr spmti;
HRESULT hr = CoCreateInstance(CLSID_MarshalableTI, NULL,
CLSCTX_INPROC, IID_IMarshalableTI, reinterpret_cast(&spmti));
if( SUCCEEDED( hr ) )
{
if( SUCCEEDED( hr =
spmti->Create(CLSID_ObjInLocalServer, LIBID_LOCALAUTOMATIONLib,
LANG_NEUTRAL, 1, 0) ) )
{
hr = spmti->QueryInterface(IID_ITypeInfo,
reinterpret_cast(pptinfo));
}
}

return hr;
}


Now the object that exposes ITypeInfo is mine, and if it is mine, then I can
control it.

So COM takes the ITypeInfo and tries to marshall it. It queries the object
for IMarshal, which I have provided. Really only 4 of the IMarshal methods
are of any interest here. Before I get to them, here is the gist of what I
do. Since the TypeInfo is really just some static gunk that we get from the
OS, the object providing ITypeInfo* really doesn't have any state. So we
can have a local version of the TypeInfo for IE, and another copy of it in
our local server. When COM asks me to marshal the ITypeInfo interface, I
simply stick the LIBID, the LocaleID, the object CLSID and the typelib
version information in a stream, and re-query for the TypeInfo using
LoadRegTypeLib on the other side...

GetMarshalSizeMax- In this function, I tell COM how much space I need to
store the guids and the version information
GetUnmarshalClass- In this function, I give COM a CLSID of a registered
component that knows how to UnMarshal this interface
MarshalInterface- Here I simply stick the parameters to LoadRegTypeLib into
a stream
UnmarshalInterface- I read the parameters from the given stream and call
LoadRegTypeLib to get an ITypeInfo*.

Now I have an ITypeInfo* on the local side that will provide the same
information as the other one that lives in the local server. IE gets the
information that it wants, and my events are sinked correctly!

The nice thing is that the solution is general, and can be used anywhere
that the OS ITypeInfo marshalling falls short. In particular this is useful
for ActiveX objects that live in local servers that try to send event
notifications to IE.


---------------------- End of Microsoft
info ---------------------------------------------------------------



Events from background thread of COM object

This is the common problem about firing events from background thread. Here's a good synopsis of the 3 ways to do this.

Why does my VB client keep crashing when compiled and not in the IDE when I use an ActiveX Control with a worker thread?



Marchello's HTML Coding



alert( 'MsgBox' );




Thursday, September 18, 2003


Clear Page file at shutdown
HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management
@ClearPageFileAtShutdown = 1 (DWORD)

obviously, your shutdown time will most likely increase!! :)



Sunday, September 14, 2003


Friday, September 12, 2003


HDTV San Diego

HiDef HD info for San Diego. Forums for each channel, over-the-air reception, etc.

HDTV for San Diego

HD centric listings for sports here



Hidden XP Usernames

The Screen Savers' Sara shows this tip:

REGEDIT
HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ WinLogon\SpecialAccounts\UserList
Account names are listed - DWORD=0 means hide the account from the logon list.

Create a Hidden User Account

Incidentally, you can still login to these accounts apparently by hitting CTRL+ALT+DELETE twice



Thursday, September 11, 2003


Kazaa Lite

Once again, The Screen Savers Dark Tipper comes through with ad-aware-less Kazaa.

Kazaa Lite



Wednesday, September 10, 2003


FourCC video compression codes

FourCC code is for video compression (AVI).
MJPG is apparently de-facto industry standard, and also used by cameras, etc.

Our Canon Powershot A70 vids come off the camera as MJPG, so need this codec when rotating, resizing with VirtualDUB. ?? Apparently with full processing mode and no compression, you end up with an uncompressed vid. -- comes out as FourCC of "DIB "

List of Codecs by FOURCC

MainConcept codec is only $19



Tuesday, September 09, 2003


Leo, The Screen Savers, loves these Free items:

blosxom :: the zen of blogging :: - perl script based blog software. uploads to your FTP site.

Text America - send photos to site, and get web site of pics, captions, etc.




Trillian to Yahoo Woes

Trillian stopped connecting to Yahoo! today. From the trillian.cc community forums, found these suggestions:

Alternate sites to connect to:
cs53.msg.sc5.yahoo.com / port 5050 (my currently failing setting)
cs.yahoo.com <-- this one works for me today (9/9/03), port 80
scs.msg.yahoo.com
scsa.msg.yahoo.com
scsb.msg.yahoo.com
scsc.msg.yahoo.com

Other suggestions:
Change the port to 80.
Change the number of attempts to 99 and the interval to 300 seconds.



Monday, September 08, 2003


Thanks once again to The Screen Savers Kevin Rose for this info. XBOX online without xbox live. Probably a lot like Gamespy Tunnel -- but will at least have to check out the performance / usability of this one someday.

XBConnect :: Online Gaming Evolved.



Sunday, September 07, 2003


lordsmurf.com -- capture guides, as referenced in avsforum topics.

Capture Video with ATI card

also has information on converting to/from MPEG, burning and authoring DVDs, etc.



Wednesday, September 03, 2003


Cut Piece of Replay Video for CD

Since there are so many permutations on how to do this...here's what currently works for me:

MPEG2CUT.exe (v 1.15) -- open the MPG from replay download. Optionally select "range". File, Save Selection, will save as a ".VOB".

VirtualDub (MPEG version/patch) (v 1.4.13, build 14328/Release) -- File, Open Video file, select .VOB from MPEG2CUT (have to set filter to "all files").
Optional -- Video menu, full processing mode, then go back and select Compression setting. I've been doing DivX, but can try others I'm sure. (DivX puts a symbol in lower right of resulting vid).
Optional -- Audio menu, full processing mode (Direct stream copy will leave untouched?), then go back and select compression (MP3?) and conversion settings.
Finally, File, Save as AVI (or segmented AVI for putting on CDs, etc).
Optionally, set "save as batch for later"...



Saturday, August 30, 2003


GFI LANguard Network Security Scanner (NSS) 3
As mentioned on The Screen Savers, Kevin Rose, 8/13/03
GFI LANguard Network Security Scanner

This shows everything security related on your machine:
accounts, what privs each has, number of failed attempts, attacks, etc.



Tuesday, August 26, 2003


Anti-Hacker Software

The Screen Savers come through again with a couple software nuggets.

Expose -- watches your network for "changes", new IP's through DHCP, new ports, etc.

SpyBot -- probably like Ad-Aware, looks for hacker software on your machine and removes it. Sounds like it shows you cookies and such to remove too.



Tuesday, August 19, 2003


Pentium Mobile Chip


info from PC Magazine, April 8, 2003

Pentium-M chip, not to be confused with Pentium 4-M chip is the best one for laptops.
Greater battery life, and clock speeds are deceptive. Can do more with slower clocks.

855PM chipset

  • memory expandable to 2 GB of 266 MHz DDR SDRAM

  • external 4x AGP graphics slot (does this truly mean external, or just off the motherboard?



Comparison: 1.4 GHz Pentium-M chip "easily beats" 2.4 GHz Pentium 4-M

p.s. "centrino" (?) technology is a combination of CPU and wireless, etc. Didn't get great reviews, and apparently doesn't currently work with all wireless systems. For now, avoid the centrino, and just get Pentium M

keywords: mobile laptop battery life centrino



Sunday, August 10, 2003


xbox stuff.
as posted by some dude at AVSForum:
Double-UDouble-UDouble-U . xbox-scene . cahm



Microsoft Settlement - Make a Claim


$1.1 Billion Microsoft Settlement Information
As of 8/10/03, this was not yet final, but once it is, you submit your claim for the MS licenses (OS and Office) you purchased between '95 and '01.

keywords: microsoft settlement class action claim voucher townsend laywer



Friday, August 08, 2003


In-N-Out Burger Secret Menu Choices

Always knew there was animal-style, but here are some others that I didn't know. Now you too can be cool when you order.

secret menu




Thursday, August 07, 2003


Thanks to a buddy of mine (who .NET shall hawaii remain surf anonymous 6hrs ) for this one:
"Big 5 consulting company" (you know who you are) dude asking for help compiling his java code. Manager gets over there and finds that the fresh-out-of-college newbie is trying:

c:> javac foo.html

I can only imagine the code in the file:

Console.WriteLine( "Hello World" ) <BR/>



Tuesday, July 29, 2003


CrashFinder

John Robbins wrote a CrashFinder app a long time ago (04/98) that shows how to convert a hex address given in a GPF crash dialog to a line of source code in a release build.

Original MSDN article is here

Code for this article is here

Capture of article is here

Short summary:
  • set release builds to generate debug info (creates PDB file)
  • link settings, debug info = Microsoft Format
  • keep the generated PDBs in a safe place somewhere with the shipping binaries
  • ALWAYS rebase all your shipping DLLs

Note: no need to rebase EXE's since they're the first thing to load in a given process, so your guaranteed it is a unique address. (Addresses are logical addresses and are unique within a given process.) There is a linker setting for base address for the EXE, but not necessary. Quote from MSDN help: You should not pass your .EXE file to Rebase. It is the first thing to be loaded, so there is no chance that something else can already be loaded at its default load address.

Now use Crash Finder app, point it to the list of DLLs with their associated PDBs, type in the hex address of the crash, VOILA -- it'll (hopefully) show you the crash line of code!!

Finally, some cool links from John Robbins corner of the world:



Saturday, July 26, 2003


PVR for PC

Personal Video Recording software for PC.
As reviewed on The Screen Savers:
SnapStream
review about this SnapStream 3.0 here


...and upcoming review about this one:
SAGE TV

Freevo was reviewed, but pretty bad. Only for Linux, have to compile the source, couldn't get it to record. Uses XMLTV to grab listings, so that was cool.

keywords: digital recorder recording personal video recording pvr replay replaytv tivo



Thursday, July 17, 2003


Personal ReplayGuide

Combination of XMLTV, Perl scripts, SQL Server (or MySQL), ReplaySchedule.exe and web pages to create list of shows, recordings, and allow scheduling of recordings on Replay 5000-series.

Trying to get all this working on my Windows XP box, running SQL Server 2000. Since based on Perl, had some things to learn when installing.

First some links:
  • Personal ReplayGuide - the web/perl based software that shows tv schedule, combined with currently scheduled recordings, and even lets you set new recordings on the replay box in real time (don't have to wait until myreplaytv.com does the 24-hour update)
  • Perl for Windows (ActivePerl) - need this to work with the ReplayGuide perl scripts. Hooks into IIS web server very easily.
  • ReplaySchedule - extracts currently scheduled programming info from the replay box.
  • XMLTV - SourceForge site, or the project home page


NOTE: See Perl Monks for good starting tutorial information on Perl.

Installation notes

See Install.txt with ReplayGuide for info on installation steps. Using SQL Server, so followed those steps.
Had some trouble with XMLTV, needed latest version since apparently zap2it has changed their xml feed. Using XMLTV 0.5.15 from SourceForge.net, along with v115.19 of replaySchedule.exe (see below for links)

xmltv tv_grab_na --configure
xmltv tv_grab_na --days 7 > na.xml (update number of days - grabbing 7 here)

perl choked on the DBI stuff. poked around on the web and found to install the other modules you have to do this through Perl "PPM interactive shell":
ppm

PPM> install DBI
This goes out to web somewhere and downloads the DBI modules and installs them. Use query command in PPM to see what modules you have.

Ran install DBD::ODBC as well to setup the module for ODBC / SQL Server.

Some things that had to change to get things working:
  • Get latest XMLTV (v 05.15), since apparently zap2it.com has changed data format, rendering older versions invalid -- barf.
  • With this, get latest ReplaySchedule.exe (v 115.19, 7/16/2003 ) -- works with 05.15 version of XMLTV.
  • DB connection related code in perl scripts - to work with SQL Server 2000, had to change format of db connection string -- previous: DSN => "DBI:$db_driver:host=$db_host;database=$db_name", changed to: DSN => "DBI:$db_driver:$db_name" (this is located in 5 or so perl files -- search for it)
  • Changed DB table "schedule". After getting overflow error in schedule2sql.pl, found that the schedule table had "created" column that was int4, however the SQL Stmt insert was sending 'character' data. Changed col type to varchar(50) for now.


Some info from author and others at avsforum
in this LONG thread (look for responses to my volleynerd post on 7/23)

  • '0030721210000' was causing "overflow" error from one of the original DB insert calls. Answer: shouldn't be a problem, since it should be converted to epoch seconds before inserting into the db. (although this doesn't answer why it doesn't work as is)
  • turns out you can set $created=0 before the insert since this value is currently not used anywhere
  • call to system("$getschedule $replayaddress"); from rg_scheduler.pl was not working. print statements in that module weren't coming out, so knew it wasn't getting called. suggestions were to change {scriptloc} variable in rg_info.pl to "", "./", or ".\\" -- none of these helped. Finally got this working by adding a "perl " in the front of the module name like this: $getschedule = "perl schedule2sql.pl";
  • tidbits from author: builds after 180 call external executable (another pl script) to build the list of scheduled shows and do conflict checking, builds 180 and earlier do not do this.
  • alternative to adding "perl " in front of cmd is to add ".pl" to the PATHEXT environment var. (didn't try this, just left it as "perl xxxx" for now)
  • getting things to work without the "perl " added to SYSTEM command -- explorer, tools, folder options, file types, ensure that .pl is associated with "<perlDir>\perl.exe %1 %* (see this cmd line stuff in "advanced" section )
  • permissions are tricky - basically IIS process needs write permissions to the cgi-bin directory and to the logfile directory (if applicable). replaySchedule.exe needs the current diretory to be writable so it can write the .asc and .bin output files. (also be careful about allowing overwrite of the .asc and .bin files by the IIS process if you have run replaySchedule.exe by hand)
  • couldn't get permissions exactly correct - still was getting 255 return code from open( LISTINGS, "replaySchedule.exe ....") -- ended up giving write privs to EVERYONE on the main dir where replaySchedule.exe sits for now and things worked. What userID is running the perl stuff? How to tell?
  • why SYSTEM call to schedule2sql.pl? originally written to be a nightly job. now should probably be integrated like other .pl modules, but then have to worry about global conflicts, etc.
  • re: writeLogFile not working in schedule2sql.pl? it uses xmltv2sql.conf for debug settings, so set $debug and $logfile in there
  • Unexpected memcmp(rs->reserved5_2, lots_of_zeros, sizeof rs->reserved5_2)== 0 guide.c:326 error shows up from call to ReplaySchedule.exe if you have Received shows in your list. This is just a warning, and doesn't affect the results. Apparently the contents of the show structure for Received shows is a bit different, using a field that otherwise is all zeros.


Embedded Database Calls
Final fix to get things to work was to handle the embedded db calls. See my post for details on the problem. Basically, there is an outer loop that walks the tvlistings for the given time frame. Then for each show, a function is called to get the program details, which makes another SQL stmt.

Apparently, the combination of some db drivers with some perl db packages don't allow for multiple SQL stmts to be open at once. The fix:

Added a SECOND dsn in the StartDSN function, and close it down in the EndDSN. Use this DSN name ($DSNLink2) in the inner loop when getting show details.

See the thread quoted above for more info - the author and others say this 2nd DSN may not be necessary -- either use tweaked scripts (newer than the 187 version I have), or updated db drivers and perl db packages.

SWEET!! I finally see the tv listings grid --- and it shows any recordings currently scheduled.

Scheduling Recordings
Ugh...now it's on to the recordings page - getting "slot not available" on all requests.
Permissions problem? Well even pasting the big URL into the interactive browser returns same answer - 0 slots.

Wahoo - got recordings working
Well, first off, I didn't realize that you needed to enter a show title in the proper field. The Replay box ends up doing a "search" on this information (including the time, etc) for a matching show (aka "slot"). If you just put garbage in the title field, you get "no slots available".

Only problem now was my channel lineup of 2-555 and then the 1000-series of the straight cable channels. At first, the second set of channels was not showing up for basic searches like "Today" show.

Found problem in the schedule.pl file, ~line 420 (added some of my own debug lines, so line #s are prob off a bit). do...while loop for me needs to be from 1 to and including n_slots

do...while ( c_slot <= n_slots )

Sweet! Now I get both 7 and 1007 channels listed as matching the query, and they both work for setting the channel.

Next task: how to cancel a recording.

Before that, need to get 1000-series channels correctly displaying in TO-DO list
Some background: My replay unit has two sets of channels from the two inputs.
2-555 are coming from the digital cable box.
1002-1115 are coming straight from the coax from the wall.
(This setup allows me to record most channels [non digital/scrambled] off the second set (1000-series) and then watch tv through the digital cable box at the same time.

The issue: even when a recording is scheduled on a 1000+ channel, it would always show up in the PRG as in the 2-555 channels.

The goal: give an indication that a given recording is coming from what actual channel, the 2-555 or the 1000+ channels.

Grabbed ReplaySchedule.exe source code, and checked it out. How things work:
ReplaySchedule gets the data from the Replay unit, then looks for matches in the channels and descriptions from the XMLTV output xml file. The data from the Replay box has the "internal" channel numbers (including 1000+), but this info is lost when taking most of the "matching data" from the XMLTV output file. This data is then stored in the SQL DB, then used to display the channel, etc. for the recording. So...even when the recording is for say channel 1008, the PRG recording listing shows "KFMB 8".

With minor code changes, I was able to grab the "internal" channel number from the replay guide data, and output it in the ReplaySchedule output. (See ReplaySchedule.c, look for //dhdh comments). Basically added a member to the "channel" structure to store the internal channel, then propogate that int through the copies, and outputs.

DB change: added "internalChannel" to schedule table. int 4, allow NULLS.

Change to schedule2sql.pl (look for "dhdh"). In open(<LISTINGS>), use regex just like other lines to pull out the internalChannel attribute from ReplaySchedule.exe xml output. In PostSQL, add the internalChannel column to the insert stmt.

Note



Monday, July 14, 2003


Popup Blocker - CodeProject

Pretty cool, he goes the extra mile and prevents Flash animations -- those annoying "ads" that sometime take over your window.

Popup Blocker




Sunday, July 13, 2003


Tivo Software on your PC

As reviewed on The Screen Savers, Tivo like software using your video capture card complete with guide information, without subscription fees.

SnapStream Personal Video Station 3 -- $50 from their site.

Frey Technologies SageTV -- $59 from their site (I think...many different versions)



Sunday, July 06, 2003


Doom9.net - The Definitive DVD Backup Resource
Try the MPEG2 Decoders section in downloads. Maybe DVDx 2.2 -- open source from SourceForge.net



Thursday, July 03, 2003


The Screen Savers - FAQ Show

Best Free Software List

Trojan Horse List of Ports

WebRoot spyware detection
Free spyware detection tool. Much like ad-aware

PC Mag article about spyware removal tools.



Free AntiVirus

As recommended by Patrick & Leo at The Screen Savers.
AVG AntiVirus



Wednesday, July 02, 2003


Thanks to Don Box's Spoutlet for this IE tip for viewing source:

In the IE address bar, type view-source:http://www.yahoo.com

You get the source, without having to view/render the site!



Tuesday, July 01, 2003


IE About: script vulnerability

Thanks to Gomez for this one he found in a google groups search.
Info about vulnerability
Apparently the "about:" URL has some behavior that allows some cross-site cookie sharing. Interesting reading...
about with script
This URL will run the script code -- anything after about: will be interpreted as a "page" and run in IE. The cookie's defined with the about: URL are shareable between sites. See the above news posts for more info, including a reg change to put about: URLs in the "restricted sites" zone. (I think this prevents the cookie sharing as explained)

Go to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults and add a DWORD, name 'about', value '4'. This puts about: URLs in the Restricted Sites Zone. Hurrah!




Monday, June 30, 2003


MIDL and Enum Name-Mangling

I've gotten obscure build errors when building our SFP stuff with a bunch of dependent IDL (MIDL) files that contain ENUMs. A "deja" search finally set me straight - figured out how to avoid this name mangling issue...

We start with something like this in IDL:
typedef enum

{
SFP_STATE_IDLE = 0x00000000,
SFP_STATE_UPDATECHECK_BUSY = 0x00000001,
SFP_STATE_INSTALL_BUSY = 0x00000002
} SFP_STATE;
Then a method somewhere that uses this enum:
HRESULT State([out, retval] SFP_STATE *pVal);

The Problem
When calling code uses #import on this generated type library, you end up with something like this in the .TLH file:

typedef enum __MIDL___MIDL_itf_UpdateAdvisor_0257_0003 SFP_STATE;
enum __MIDL___MIDL_itf_UpdateAdvisor_0257_0003;
...
...
enum __MIDL___MIDL_itf_UpdateAdvisor_0257_0003
{
SFP_STATE_IDLE = 0,
SFP_STATE_UPDATECHECK_BUSY = 1,
SFP_STATE_INSTALL_BUSY = 2
};


If you use this #import statement in more than one client file/project, you may get multiply defined symbols. The trick to getting around this is to use the "exclude" modifier on the #import in subsequent files/projects. The problem I've had is what to exclude. The multiply defined symbol is really this enum with a big mangled name.

You can exclude by referring to this mangled name:
exclude( "__MIDL___MIDL_itf_vzInstall_0263_0003"),
but this is not optimal. You see, this symbol is *sometimes* mangled to slightly different numeric codes on different machines! I haven't pinpointed where the generated number comes from, especially the 0263 portion (the part that changes on various machines) in the above name. At work here, almost all machines come up with 0263, but then on a new laptop with a fresh install of the VS tools, it generates as 0264. So....how to avoid this constant chase of the mangled names...

The Solution
Thanks to this thread (search google with "#import" enum generated group:microsoft.public.* if the link doesn't work), I found a slightly different way to define the enums in IDL, to avoid the mangling all together.
typedef [public] enum eSfpState

{
SFP_STATE_IDLE = 0x00000000,
SFP_STATE_UPDATECHECK_BUSY = 0x00000001,
SFP_STATE_INSTALL_BUSY = 0x00000002
} SFP_STATE;
Notice the [public] enum eSfpState difference from the original way of describing.

This results in the .tlh having a nicer set of #defines:
typedef enum eSfpState SFP_STATE;

enum eSfpState;
...
...
enum eSfpState
{
SFP_STATE_IDLE = 0,
SFP_STATE_UPDATECHECK_BUSY = 1,
SFP_STATE_INSTALL_BUSY = 2
};


Now you leave the method signature the same in IDL:
HRESULT State([out, retval] SFP_STATE *pVal);
And the caller still uses SFP_STATE as the enum parameter type, and all is well in the world !!!

Wahoo!!




Netflix for Video Games

Rent video games via internet, have a queue of ones you want, etc.
$22/mo
Gamefly.com



Saturday, June 28, 2003


Whole House Video Distribution

Finally, a decent overview article about all this.
SMARTHOME - X10, Remote Security, Video Controls, Wireless Systems
But, they don't get into the actual "coax-to-RCA and back-again" issues that I'm having.



Open Source IM Client

Is this any better/different than Trillian? The tout "many common futures" as well as other unique features.

SourceForge.net:
Project Info - Gaim





Remote Control Machine

As seen on The Screen Savers:
SourceForge.net: Project Info - TightVNC Remote control to Windows and Linux.
Funny, the dude said MS has some verbage in the license agreement that you can't "control" the mouse from any non-MS programs. (Just monopoly on RemoteDesktop, etc)



National Do Not Call Registry

This is all over the news these days, just opened this week.
Just so I remember, registered using standard yahoo email address. (Home phone and 2 cell phones)

Register here


Adelphia Cable HDTV


Apparently, Adelphia is starting to rollout HiDef tv to select markets. Damnit -- not in Carlsbad yet!? ;-(

Questions:
  • what hardware to decode HD?
  • what channels?
  • cost?


keywords: HD HiDef High Definition HDTV



Wednesday, June 25, 2003


ATL headers with DDK are not mainstream. MS recommends only using them if you are doing driver development.

We found some differences in the handling of CSimpleArray -- uses address-of operator & when doing Add on array. When storing COM smart pointers in the array, address-of operator calls Release( ) on the pointer first -- NOT GOOD.

DDK docs that describe the ATL headers here

excerpt here:


Included ATL Headers
The version of ATL that ships with this Windows 2000 DDK is not the same as the Visual C++ version and should only be used for driver development. General purpose ATL source code is available with your normal Visual C++ installation.




Tuesday, June 24, 2003


Activate NetMeeting in Windows XP
apparently the guts are installed, but there's no way to get to it until you do this.

Start, Run, "conf". walk through wizard steps and it will be there



Tuesday, June 17, 2003


Hacking - Tehnically Speaking. Guest on The Screen Savers. His web site here.
Ejovi Nuwere



Get Started with Digital Photography
Articles from Microsoft about basic digital photography.



Monday, June 16, 2003


Sunday, June 15, 2003


Spot on The Screen Savers about packet sniffing. Kevin Rose shows the tool called Iris. Not only a packet sniffer, but recreates the packets and shows you the native application (web browser, even Outlook email!).

Bummer, it's apparently $1000, but there's a 15 day trial.

Some suggestions to protect against this sniffing:
- Trillian Pro, offers encryption
- Encrypt your email, using something like PGP
- Hushmail is a free, web-based encrypted email service

Leo also notes that cable modems are inherently on a LAN with your neighborhood. Depending on the setup by the cable company, you may be seeing packets destined for your neighbors. SOME cable companies are changing to *switches* to help segment the traffic, but not all. Hmmm...doubtful Adelphia is doing this...



Thursday, June 12, 2003


Collection of Multiple Dispatch Implementations
Chris Sells

MVP VC++ FAQ has some thoughts about this too.

keywords: IDispatch multiple inheritance inherit



Wireless Links


NetStumbler
Access Point coverage, and a whole lot more...

War Driving
driving around the city, looking for access points! :)

Encryption Key Recovery Tool (Really, a way to hack the WEP encryption key?)

keywords: wireless, acess point, dlink, wardriving, war driving



Wednesday, June 11, 2003


Tuesday, June 10, 2003


The Screen Savers - Hacking and Tracking


ASTALAVISTA SECURITY GROUP Kevin Rose (The Screen Savers hacker) recommended this site for all underground searching.

Yoshi's list of mod sites:

Sarah Lane -- NeoTrace, a tool to track back to an ISP for a given poster, user, etc.



Thursday, June 05, 2003


MPEG-4: Movie Encoding Guide Be sure to go down to the bottom and select other parts of the Table of Contents. There are a lot of good articles here...



Monday, June 02, 2003


Microsoft Baseline Security Analyzer
Scan for "common system misconfigurations" in the following products: Windows 2000, XP, IIS, SQL Server 7.0 and 2000



Sunday, June 01, 2003


Perl for IIS


May want to install Perl on a Windows IIS machine to run the Replay TV Recording Scheduler.
ActiveState has an install for this here.
And some dude's instructions for all this.



Friday, May 30, 2003


I periodically wonder what the speeds are for various network pipes for companies, etc.
The following list is from HowStuffWorks: Howstuffworks "How does a T1 line work?"
DS0 - 64 kilobits per second
ISDN - Two DS0 lines plus signaling (16 kilobits per second), or 128 kilobits per second
T1 - 1.544 megabits per second (24 DS0 lines)
T3 - 43.232 megabits per second (28 T1s)
OC3 - 155 megabits per second (84 T1s)
OC12 - 622 megabits per second (4 OC3s)
OC48 - 2.5 gigabits per seconds (4 OC12s)
OC192 - 9.6 gigabits per second (4 OC48s)



Wednesday, May 28, 2003


Tuesday, May 27, 2003


Argh - Windows Media Player 9, can't rip to MP3 by default. They want you to buy a suitable mp3 codec.
MP3 ripping in Windows Media Player 9 and XP



Friday, May 23, 2003


ReplayNT Replacement (?) to ReplayPC -- pretty much strictly for downloading shows from the Replay unit. (Windows only)



ReplayTV Recording Scheduler Perl script based access to set recording on replay from remote computer. Run this with IIS on windows and maybe we can schedule shows from the internet!! :) We can hope.



Saturday, May 17, 2003


Reset parental control for xbox:
X Y Left trigger X
( although per tech support [Thanks Huy], it may be a different combo based on your unit serial #. Huy's was X A L A )



Monday, May 12, 2003


DirectX Stuff

Conv3ds.exe Convert 3-D models from Autodesk 3-D Studio (and maybe 3d Studio Max?) to the MS DirectX file format. By default, this produces a binary .x file with no templates (whatever that means).



Flight Sim Stuff

AVSIM File Library

MSFS Gateway
Bunch of links to other Flight sim pages on the net.




AVSIM Online Flight Simulator Stuff (MS Flight Sim 2002)



Halo Movies

Red vs Blue The Blood Gulch Chronicles



Sunday, May 11, 2003


Replay Hidden Features

Software version 5.0 has a "transparent HUD" that makes it hard to read the show descriptions. They're transparent, so you see the currently playing show behind it...makes it tough to read the white text.

Thanks to AVS Forum nerds, here are the ways to change to opaque:
  • Menu | Setup screen...243-Zones...turn off transparent HUD display. (this only works for the "display" button for show descriptions, not the channel guide).
  • (Weird one) Menu | Setup, turn on parental control (requires you to enter PIN). You don't have to actually BLOCK anything on the subsequent screens, but just the action of turning on parental control makes the show descriptions in the channel guide opaque.


ReplayTV Software Info

Got the update (don't remember exactly when at this point). As of now (7/6/03), running:
version 530500750
built on May 21 2003 at 12:13:31

Tracking what version I have before the supposed big upgrade this week (5/12/03):
As of 5/11/03
version 530451350
built on Apr 12 2003 at 17:57:42

(Some dude on AVSForum says the format is 53045xxxx is 4.5 s/w and 53050xxxx is 5.0 )

(Supposedly SonicBlue/D&M is updating all 5000 series machines to 5.0 s/w starting this next week)
AVS Forum Thread Here



Sunday, May 04, 2003


FutureSmart Home Network Distribution Panels
smarthome.com has a ton of home automation, cabling, security, cameras, lighting, X10, temperature / weather stations, A/V accessories, IR blasters

Converting from RCA to coax:
- newsgroup post - crimp on converter, but "same signal on both ends"... in other words, I guess the coax is really just being used for transport of the video portion from the RCA jacks. So I guess could do this out from Replay, VCR, etc, change to coax, then reverse at the other end.

If you have the same type signal on each end and it's just a connector
problem: search for part #091-1060 at www.partsexpress.com. It's an RCA
crimp on plug for COAX.

Crimp-On "converter" - same signal on both sides.



Friday, May 02, 2003


TitanTV.com Electronic Program Guide (EPG) for digital TV.



Tuesday, April 29, 2003


Sneak Peak at Longhorn
  • Next version of XP
  • Targeted for the desktop, probably early 2005
  • New underlying file system - Windows Future Storage (WinFS), to replace NTFS and FAT32, also part of Yukon (next version of SQL)
  • Task pane, sidebar - frequently used programs, clock, slideshow of images
  • Internet Parental Controls - restrict based on programs, total hours of use, specific games, etc.
  • Windows Media 9



Saturday, April 26, 2003


DVArchive Discussion / demo on TechTV The Screen Savers
shows MTU / TCP (?) tweak to make streaming work through VideoLan client (VLC)



Thursday, April 24, 2003


XPdite - Quickly replace a dangerous Windows XP file
Apparently VERY vulnerable if you don't have XP service pack 1 installed.
if not, "clicking on a simple, but malicious URL can delete the entire contents of your directories"



Tuesday, April 22, 2003


Xbox Mods Screen Savers series



Wednesday, April 16, 2003


Redistributing Microsoft Visual C 6.0 Applications
You can not redistribute MFC debug binaries, such as mfc42d.dll



Search patters, trends, and surprises.
Percentage of browsers, operating systems, google queries, etc.

Google Zeitgeist



Wednesday, April 09, 2003


Generate Scheduled Recordings for ReplayTV
replaySchedule (To Do list generator) update - AVS Forum
based on XMLTV and replaySchedule.exe



Breaking down the MAC address
Ethernet Codes: Vendor codes

48 bits - 12 HEX digits
First/left 6 digits == vendor (should find this in the list at above link)
Last/right 6 digits == serial number

Ethernet Numbers



Tuesday, April 08, 2003


Wednesday, April 02, 2003


How to Interview a Programmer
From Chris Sells experiences and roundtables



Tuesday, April 01, 2003


DISH Receivers
Some with HiDef (HD), some with PVR, dual tuners, etc



Wednesday, March 19, 2003


Thursday, March 13, 2003


Cutting Edge: Customize Your Open File Dialog
Customize "places bar" in common open file dialog. Doesn't seem to take effect in MS Office XP or VS.NET -- they must be customizing their own dialog and not honoring the reg settings.

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ComDlg32\PlacesBar
REG_SZ PlaceN where N = 0 through 5.
DWORD PlaceN uses special folder

#define CSIDL_DESKTOP 0x0000
#define CSIDL_INTERNET 0x0001
#define CSIDL_PROGRAMS 0x0002
#define CSIDL_CONTROLS 0x0003
#define CSIDL_PRINTERS 0x0004
#define CSIDL_PERSONAL 0x0005
#define CSIDL_FAVORITES 0x0006
#define CSIDL_STARTUP 0x0007
#define CSIDL_RECENT 0x0008
#define CSIDL_SENDTO 0x0009
#define CSIDL_BITBUCKET 0x000a
#define CSIDL_STARTMENU 0x000b
#define CSIDL_DESKTOPDIRECTORY 0x0010
#define CSIDL_DRIVES 0x0011
#define CSIDL_NETWORK 0x0012
#define CSIDL_NETHOOD 0x0013
#define CSIDL_FONTS 0x0014
#define CSIDL_TEMPLATES 0x0015
#define CSIDL_COMMON_STARTMENU 0x0016
#define CSIDL_COMMON_PROGRAMS 0X0017
#define CSIDL_COMMON_STARTUP 0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
#define CSIDL_APPDATA 0x001a
#define CSIDL_PRINTHOOD 0x001b
#define CSIDL_ALTSTARTUP 0x001d // DBCS
#define CSIDL_COMMON_ALTSTARTUP 0x001e // DBCS
#define CSIDL_COMMON_FAVORITES 0x001f
#define CSIDL_INTERNET_CACHE 0x0020
#define CSIDL_COOKIES 0x0021
#define CSIDL_HISTORY 0x0022



Thursday, March 06, 2003


Friday, February 21, 2003


Find machine name from IP address

did this on Windows XP

start with IP - can do tracert <ip_address>, sometimes this will give it to you. but other times, it will just give you the DHCP-given IPname, which doesn't help.

arp -a gives you a table of IP addresses to MAC addresses

nbtstat -A <ip_address>

Example output and explanation:

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
MIKE <00> UNIQUE Registered
MUSHROOM <00> GROUP Registered
MIKE <03> UNIQUE Registered
MIKE <20> UNIQUE Registered
MUSHROOM <1E> GROUP Registered

MAC Address = 00-4F-49-05-8D-56
--------------------------------------------

Group names represent Workgroups and Domains
00 is the Workgroup
1E means that the machine is a potential master browser.

Unique names represent individual machines/users (and are unique)
03 is the Username
00 is the Computername as a client
20 is the Computername as a server
(Not only do computers have more than 640k, but they're both clients
and servers now too!!)

All this, and you get the MAC address too.




Monday, February 17, 2003


Run JSP pages from IIS
IIS HowTo



Friday, February 14, 2003


NTFS Permissions in XP Pro

By default, there is no security tab. This is in "simple file sharing" mode. In file Explorer, go to Tools | Folder Options, view tab, disable simple file sharing (at the bottom)



Tuesday, February 04, 2003


Saturday, February 01, 2003


SMS

Permission Required for remote control or access:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Client\Client Components\Remote Control -- set the Permission Required key to 1 for yes

This is normally updated every 23 hours by the SMS server.
To disable the update:
create a value named UpdateEnabled in the client's registry under \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS \Client\Client Components\Remote Control, and set the value to "no"

However, this will disable ALL updates, including software, so beware...




Friday, January 24, 2003


Monday, January 06, 2003


Performing a Clean Install of Windows XP

in-place (in place) upgrade vs. clean install
Can I just format and start from scratch - and then probably need the Windows 98 (Win98) cd to prove the upgrade path.



Home