Wednesday, August 22, 2007

I don't normally post job listings, but this one is to help out a friend.

A contracting company in the Sterling/Chantilly Northern Virginia area is seeking to fill (2) positions: Senior Unix /Storage Engineer and a Storage Engineer.
Sr UNIX / Storage Engineer:
Proficient with Sun Solaris, as well as Sun Enterprise hardware
(Specifically: V120, V240, V280, V480, V490, F3800, F4800, F6800, V20z, V40z, X4100, V880, E15k, and E25k) and SUN/Hitachi/3rd Party Storage Area Network devices.

The engineer is responsible for meeting with the client technical staff to document "as is" infrastructures, analyze collected data, collaborate with team members and implement an optimized, resource efficient, accredit able solutions. He ensures that the team's implementation, quality, schedule and project/task objectives are met on time while sharing best practices with peers and management.

Backup Engineer:
Provide day to day O&M to Sun branded Storagetek libraries such as L8500 & L700 models in a mixed Linux/Unix/Windows environment.

The engineer supports all aspects of daily backup and restore activities dealing with tape backups / rotation, media planning and applies patches, firmware upgrades, testing of back ups, disaster recovery plans, and create accurate documentation.: Administer the SAN with a combination of Hitachi, 3Par, CISCO MDS and Brocade with a variety of hosts running Solaris, Windows, Linux, and OS/X. Create zones, provision storage LUNS, and be able to provide storage utilization reports. All requires experience working on Sun Solaris Enterprise class machines.

The company is flexible on the Storage or SAN requirement for both positions, so if you are a candidate who may be a 'close' fit, but not a 'perfect' fit, please contact regardless.

Please send all contact to Job@PlateWire.com

posted on Wednesday, August 22, 2007 9:45:18 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Saturday, August 18, 2007

As PlateWire's popularity continues to grow, I have noticed more web sites of a similar nature launching on a regular basis. After some discussion with other webmasters (including AboveAverageDriver.com's Chris) I came to the conclusion that this niche market would benefit from having one single clearing house to exchange messaging of license plates.

For instance, say Joe in California, witnesses Suzy's teenage daughter driving recklessly down the highway. Perhaps Joe does contact the authorities but they deem it low priority. So Joe goes home and send a "wire" to the plate, using AboveAverageDriver. Suzy on the other hand is registered on PlateWire to receive a notification if any of her plates are messaged. WIthout PlateXchange, Judy would have not received the message regarding her daughters reckless driving (unless she would have checked on AAD's website).

PlateXchange offers an Open Source system for web sites to communicate license plate packages amongst themselves.

So if you run a license plate based web site, or have a neat idea that you think would take off, but have avoided launching it, because others have something similar, now is your chance to participate in a growing network of niche web sites!

http://www.PlateXchange.com/

posted on Saturday, August 18, 2007 10:34:49 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Tuesday, August 14, 2007

Open wireless networks can give the right individual an opportunity to access the Internet in a way that makes them virtually untraceable; most importantly you are exposing pretty much anything you do on your computer that involves the network! Here are a few simple tips to minimize potential threats to your wireless network:

  • Enable WEP (Wired Equivalent Privacy). Even though WEP is quite weak and hackable, it still provides a first level of defense by encrypting the traffic between you and your access point. Using 64-bit WEP you can gain some security benefit without slowing down your network noticibly. You could also use WPA, a cousin to WEP that's tougher to crack. Make sure both your router and wireless driver support it before implementing.
  • Remove your SSID (service set identifier) altogether. Especially if you only have a couple of computers; set the network name manually. Makes the network difficult to use if it can't be seen.
  • ALWAYS change the default password on your router! The default password of most all network equipment can be found with a simple query to Google.
  • Enable MAC address filtering. Using this, only your unique wireless cards can communicate with your router. This does add the burden of manually needing to add your buddy's laptop to the network so you can get your game on.
  • Turn off your router when you don't plan on using them. Why risk being hacked into if you're not using your wireless network?

Just a few tips from your uncle Larry :-P

posted on Tuesday, August 14, 2007 3:21:27 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Tuesday, July 17, 2007
It's been a while since I needed to work with zip files, so when I found myself writing a small routine that periodically downloads and processes a Zip file, I need a quick and cheap (note: by cheap I mean free) method to decompress said file. Of course there are countless number of commercial components available, but most come with a hefty price tag. All I need is to extract a file. Wait, doesn't Windows include the ability to work with compressed folders?

Sure enough, Shell32 (Found in C:\Windows\System32\Shell32.dll) offers methods to extract and create Zips! So with a reference to Microsoft Shell and Automation Controls (Which will create an Interop assembly, Interop.Shell32.Dll), and some handy Googling, I was able to create a small class with 2 methods:
  • UnzipFileTo(zipPath, pathtoExtract): Extracts files in zipPath to pathtoExtract
  • ZipFolder(srcfolderString, dstfolderString): Compresses all files in srcFolderString to dstfolderString

Note: This method does display a Progress Dialog (Even though the proper options have been passed to the CopyHere method), so make sure to handle existing files and paths prior to using.

Below you will find this class in both Visual Basic and C Sharp compatible with Framework 2.0 and above.

Comments and suggestions always welcome!

Visual Basic:

Imports System.IO
Imports Shell32
Public Class ZipControl
    Public ErrorMsg As String = ""
    Public Function UnzipFileTo(ByVal zipPath As String, ByVal pathtoExtract As String) As Boolean
        Try
            Dim sc As New Shell32.ShellClass()
            Dim SrcFlder As Shell32.Folder = sc.NameSpace(zipPath)
            Dim DestFlder As Shell32.Folder = sc.NameSpace(pathtoExtract)
            Dim items As Shell32.FolderItems = SrcFlder.Items()
            DestFlder.CopyHere(items, 4 + 20 + 10 + 200)
        Catch ex As Exception
            Me.ErrorMsg = ex.Message
            Return False
        End Try
        Return True
    End Function
    Public Function ZipFolder(ByVal srcfolderString As String, ByVal dstfolderString As String) As Boolean
        Try
            Dim fileContents() As Byte = {80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
            File.WriteAllBytes(dstfolderString, fileContents)
            Dim oShell As New Shell32.ShellClass
            Dim oFolderSrc As Shell32.Folder
            Dim oFolderDst As Shell32.Folder
            Dim oFolderItems As Shell32.FolderItems
            oFolderSrc = oShell.NameSpace(srcfolderString)
            oFolderDst = oShell.NameSpace(dstfolderString)
            oFolderItems = oFolderSrc.Items()
            oFolderDst.CopyHere(oFolderItems, 4 + 20 + 10 + 200)
        Catch ex As Exception
            Me.ErrorMsg = ex.Message
            Return False
        End Try
        Return True
    End Function
End Class

C#:

using System;
using Shell32;
using System.IO;
public class ZipControl
{
    public string ErrorMsg = "";
    public bool UnzipFileTo(string zipPath, string pathtoExtract)
    {
        try
        {
            Shell32.ShellClass sc = new Shell32.ShellClass();
            Shell32.Folder SrcFlder = sc.NameSpace(zipPath);
            Shell32.Folder DestFlder = sc.NameSpace(pathtoExtract);
            Shell32.FolderItems items = SrcFlder.Items();
            DestFlder.CopyHere(items, 4 + 20 + 10 + 200);
        }
        catch (Exception ex)
        {
            this.ErrorMsg = ex.Message;
            return false;
        }
        return true;
    }
    public bool ZipFolder(string srcfolderString, string dstfolderString)
    {
        try
        {
            byte[] fileContents = {80, 75, 5, 6, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0};
            File.WriteAllBytes(dstfolderString, fileContents);
            Shell32.ShellClass oShell = new Shell32.ShellClass();
            Shell32.Folder oFolderSrc;
            Shell32.Folder oFolderDst;
            Shell32.FolderItems oFolderItems;
            oFolderSrc = oShell.NameSpace(srcfolderString);
            oFolderDst = oShell.NameSpace(dstfolderString);
            oFolderItems = oFolderSrc.Items();
            oFolderDst.CopyHere(oFolderItems, 4 + 20 + 10 + 200);
        }
        catch (Exception ex)
        {
            this.ErrorMsg = ex.Message;
            return false;
        }
        return true;
    }
}

posted on Tuesday, July 17, 2007 12:30:42 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 
 Tuesday, October 03, 2006
Ever need to connect to that PC you just added to the network? Did you forget to enable Remote Desktop? No Worries! No need to get up, as long as you have access to the PC via Network you can enable Terminal Services remotely!
posted on Tuesday, October 03, 2006 1:19:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Friday, September 29, 2006
If you are using version 4 of DotNetNuke's Events module and wonder why the price it wants to send to Pay Pal is always $0.00, then here is a quick fix.
posted on Friday, September 29, 2006 2:39:11 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2]
 
 Wednesday, September 27, 2006
How to use TSDISCON command utility tool to disconnect remote desktop sessions on another server from the command line.
posted on Wednesday, September 27, 2006 1:34:11 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 
 Tuesday, September 26, 2006
Yay, I could finally copy files between computers using remote desktop! You too can copy file while connected to a computer using remote desktop connection.
posted on Tuesday, September 26, 2006 10:18:38 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Sunday, September 17, 2006

 Have you ever wished you had the ability to reorder the running programs on your Windows taskbar? Why didn't Microsoft build this functionality into Windows? We may never know, but at least there is a wonderful little application that makes your wish come true. On September 14th,  Jay E. released version 2.0 of Taskbar Shuffle.

Version 2.0

  • Added: sweet visualization when dragging a button in XP (updated look for Win2K) 
  • Added: full support for XP button grouping
  • Fixed: too much CPU getting eaten while dragging
  • Fixed: should now restart if explorer crashes
  • Added: option to middle mouse click on a taskbar button/group to close it
  • Added: new options window with some cool grouping options
  • Fixed: auto-check for updates shouldn’t give errors anymore
  • Fixed: few memory leaks plugged up
  • Added: new icon!

Not only is this program extremely handy, it is value priced for any budget, free!

I worked with Jay, Taskbar Shuffles' creator, this past year; he's a great developer and welcomes comments and suggestions for future versions. Keep up with him at Nerd Cave.

Link to home of the nerd cave | taskbar shuffle and more

posted on Sunday, September 17, 2006 2:21:45 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]