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]
 
 Monday, June 25, 2007

Today we welcomed a health 8 lbs. 8 oz. November Violet Buckman into our family!

(Will upload better pics later.)

posted on Monday, June 25, 2007 7:03:45 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Friday, May 18, 2007

For those of you wondering, yes, PlateWire is down, has been down for over 15 hours at last count. Why is PlateWire down you ask? Thanks to the great folks @ 1 and 1 (Note: Sarcasm). Since January I have experienced numerous outages with the server where PlateWire lives and everytime 1 & 1 claims its this or the other, most often blaming me. Turns out they have faulty network hardware and don't care much for honoring their 99.99% uptime clause in their contract.

Please, if you are looking for a hosting provider, dedicated server, virtual server, web hosting, whatever, please DO NOT even consider 1 and 1 unless you enjoying getting jerked around by incompetent, inempt individuals who could give a damn that your livelyhood is going down the tubes.

Apparently I am not the only person that has been affected by their incompetence, Dmitri from San Fran launched 1and1Sucks.info which delves deep into issues with this joke of a company.

On a lighter note:

Yes, It has been a while since I've updated my blog, but have setup a plan to update more frequently. I plan to publish some technical articles, especially focusing on Microsoft Silverlight, a wonderful new product that in my opinion will revolutionize web development as we know it. I'll also be delving into LINQ and all of the neat new features of Orcas.

 

posted on Friday, May 18, 2007 2:33:40 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]
 
 Tuesday, May 01, 2007
Looking for a pdf converter? If you need pdf conversion software, our website is the only place you will need to look! We've got software to change pdf to excel and pdf to word! Sign online for all of your pdf file needs!
posted on Tuesday, May 01, 2007 10:05:25 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 
 Tuesday, February 20, 2007
Speeding on a turn onto a major road, this young driver ("I just got my license, less than a month ago", he stated.) and his girlfriend are lucky to walk away from this. Apparantely he fish tailed it for about 50 feet then hit the curb of ice on the side of the road, just barely missing a telephone pole, but plowing right into Cox Farms's sign. I heard the crash from down the street and was afraid it was going to be a bad scene.
Thankfully both kids walked away without a scratch. The driver seemed more concerned to know if his truck would be considered "totalled" by the insurance company; he asked practically everyone at the scene this question.



posted on Tuesday, February 20, 2007 4:39:04 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]