December 12, 2007
@ 10:23 PM

I've been spending a lot of time lately doing some winter cleaning. We're trying to free up some space in the basement for a play area for Brendan. It's amazing how much stuff you can collect. We've thrown away a LOT of stuff - I'm pretty sure the garbage guys hate us by now. Jenn mentioned that one of them didn't look too pleased when he tried to lift one of the bags we put out. We've been donating anything with think might still be useful, and we have people who drive through our subdivision on garbage days looking for interesting finds. More power to them, I say; I'd rather someone finds some use for this stuff instead of throwing it out. Besides, who's got the patience for a garage sale? And who really wants to deal with people trying to get half price for an item marked $1 that originally cost $50.

Since I've been involved with computers for quite some time (and not all of it as a developer), I've managed to collect quite a collection of old computers. Old Pentiums, 486's, a few 386's, motherboards, cases, power supplies, an unbelievable amount of cables, network cards, video cards, etc. I'm planning on posting that stuff on our local freecycle site to see if anyone might be interested in it before tossing it. One of my regrets with a lot of this is that I didn't give it away sooner, while it still may have been of more use to someone. I guess that may have been why I kept it.

A big part of this collection is a ton of books and magazines. I've whittled the magazines down to something manageable, but I still have way too many books. I'm sure I'll add more to the list as soon as I can convince myself that I really don't need them anymore, and once I have time to go through the ones still hiding in the basement (and hopefully before some of them aren't useful anymore). Here's a list of what's on the chopping block (you might be surprised; there are some good books here):

  • Apple II Plus/IIe Troubleshooting & Repair Guide, Robert C. Brenner. Sams. ISBN: 0-672-22353-8
  • DNS and BIND 3rd Edition, Paul Albitz & Cricket Liu. O'Reilly. ISBN: 1-56592-512-2
  • XML Extensible Markup Language (w/CD), Elliotte Rusty Harold. IDG Books. ISBN: 0-7645-3199-9
  • The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson. Addison-Wesley. ISBN: 0-201-57168-4
  • The Visual FoxPro 3 Codebook (CD is missing), Yair Aan Griver. Sybex. ISBN: 0-7821-1648-5
  • Object Orientation in Visual Foxpro, Savannah Brentnall. Addison-Wesley. ISBN: 0-201-47943-5
  • Object Models: Strategies, Patterns, & Applications (Second Edition), Coad, North, Mayfield. Yourdon Press. ISBN: 0-13-840117-9
  • Visual Basic 6 Business Objects, Rockford Lhotka. Wrox. ISBN: 1-861001-07-X
  • ASP.NET 2.0 Unleashed, Stephen Walther. Sams. ISBN: 0-672-32823-2
  • Hacker's Guide to Visual FoxPro 6.0, Granor, Roche. Hentzenwerke Publishing. ISBN: 0-96550-936-2
  • The Inmates Are Running The Asylum, Alan Cooper. Sams. ISBN: 0-672-31649-8
  • About Face: The Essentials of User Interface Design, Alan Cooper. IDG Books. ISBN: 1-56884-322-4
  • The Improvement Guide, Langley, Nolan, Nolan, Normal, Provost. Jossey-Bass. ISBN: 0-7879-0257-8
  • HTML: The Complete Reference (Second Edition), Thomas A. Powell. Osborne. ISBN: 0-07-211977-2
  • Effective Techniques for Application Development w/VFP 6.0, Booth, Sawyer. Hentzenwerke. ISBN: 0-96550-937-0
  • What's New in Visual FoxPro 8.0, Granor, Hennig. Hentzenwerke. ISBN: 1-930919-40-9
  • CrysDev: A Developer's Guide to Integrating Crystal Reports, Craig Berntson. Hentzenwerke. ISBN: 1-930919-38-7
  • Advanced Object Oriented Programming w/VFP 6, Egger.  Hentzenwerke. ISBN: 0-96550-938-9
  • Client/Server Applications w/VFP & SQL Server, Urwiler, DeWitt, Ley, Koorhan. Hentzenwerke. ISBN: 1-930919-01-8
  • C# Unleashed, Joseph Mayo. Sams. ISBN: 0-672-321-22-X
  • Measuring and Managing Performance in Organizations, Robert D. Austin. Dorset House. ISBN: 0-932633-36-6
  • Windows 2000 Server Resource Kit (No CD), 8 books total
     

If anyone might be interested in this stuff (books or computer techno-rubble), drop me a line (I can take a pic. of the computer stuff). All of it free as long as you pick up the shipping cost. I hope I don't regret giving away some of this, these books have served me well <g>

 

Links:

http://www.freecycle.org


 
Categories: .NET | Other | VFP

December 4, 2007
@ 09:23 PM

While I'm working, I tend to open a LOT of windows (and leave them open). That way I'm not wasting time navigating around to the same places again and again. It's almost physically painful for me to watch other users open something like Explorer, spend the time navigating to a folder to do something like copy a file, then close the window (to satisfy some notion of keeping their desktop "Clean", I guess). Then, two minutes later, open Explorer again, navigate to the SAME folder, to do something else. I've found if I've spent the time opening some app., a website, etc. I'm very likely to need to have access to the same window a few more times within a fairly short period of time. In addition, there are a bunch of windows I leave open all the time. Things like one or more DOS prompts, maybe a few instances of Explore, Firefox w/a bunch of tabs open in each, SQL Management Studio, VFP, Visual Studio, Excel, Outlook, etc. Besides using up memory, there is very little downside (and my desktop at work and at home have 4GB, so I usually have a bit of memory to spare). I also don't reboot very often; sometimes weeks at a time if I can help it.

However, I still occasionally notice that things sometimes start to get flaky. I'll try right-clicking on a table in SQL Management studio to browse a table and the context-menu doesn't appear. Or I'll open IE and some of the menus are missing. Or Windows Explorer isn't "painting" correctly. Whatever. It seemed to be related to the number of programs open - not necessarily the amount of free memory. I'd did some digging and it seems to be related to the desktop heap. I found a great link which goes into detail about it:


http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx


I ended up downloading the dheapmon tool mentioned and installing it. It has to be installed from the command prompt and requires access to the symbol libraries. I don't have them installed on my machine, so I ended up using the environment variable mentioned in the CHM file.


C:\>cd \kktools\dheapmon8.1\x86
C:\kktools\dheapmon8.1\x86>SET _NT_SYMBOL_PATH=symsrv*symsrv.dll*C:\Symbols*
http://msdl.microsoft.com/download/symbols
C:\kktools\dheapmon8.1\x86>dheapinst.exe
C:\kktools\dheapmon8.1\x86>dheapmon -l
C:\kktools\dheapmon8.1\x86>dheapmon


Desktop Heap Information Monitor Tool (Version 8.1.2925.0)
Copyright (c) Microsoft Corporation.  All rights reserved.
-------------------------------------------------------------
  Session ID:    0 Total Desktop: (  5824 KB -    8 desktops)
  WinStation\Desktop            Heap Size(KB)    Used Rate(%)
-------------------------------------------------------------
  WinSta0\Default                    3072             91.8
  WinSta0\Disconnect                   64              4.5
  WinSta0\Winlogon                    128             10.1
  Service-0x0-3e7$\Default            512             27.0
  Service-0x0-3e4$\Default            512             11.9
  Service-0x0-3e5$\Default            512              4.3
  SAWinSta\SADesktop                  512              0.5
  __X78B95_89_IW\__A8D9S1_42_ID       512              0.5
-------------------------------------------------------------
C:\kktools\dheapmon8.1\x86>


It looked like the WinSta0\Default was the issue; I'm at 91.8% usage. I followed the docs and it looked like I should modify the Windows registry key located here:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\

It was set to:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

I changed it to:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,4096,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16


(note that I changed the "3072" to "4096"). This should give me a bit more heap, so hopefully this will help. It looks like you have to reboot after making this kind of change, so it'll be a bit before I can tell whether it's really fixed the issue or not. I'm hopeful. If not, I'll probably try bumping it up a bit more.

Links
http://blogs.msdn.com/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx


 
Categories: Windows

December 1, 2007
@ 11:36 AM

I was forwarded this video described as, "The First Computer User and Tech Support". I'm sure it's hosted somewhere else, but I have no idea where it came from so I've uploaded it here. Hopefully the bandwith doesn't kill me <g>

Links

http://www.rcs-solutions.com/Misc/IT_Pro.wmv

Updated - Use this link instead (thanks for the link Rick):

http://www.youtube.com/watch?v=LRBIVRwvUeE


 
Categories: Other