Irritation of the Day: 2010 June 07

June 7th, 2010

aaaaaa_This is silly
aaaaa_Dont organize your data
aaaa_Like this
aaa_Or at least
aa_Dont let me see it
a_OK?

What If… of Hershey

July 10th, 2009

Casual Dining Restaurant, Bar, Serving Lunch & Dinner, On-Site/Off-Site Catering
845 East Chocolate Avenue Hershey, PA 17033
Ph: 717-533-5858
Fax: 717-533-5848

Lotus Quickr Provisioning and Governance

July 9th, 2009

IBM Lotus Quickr gives teams a better way to manage files and organize projects by using tasks, calendars, and announcements. All of these capabilities, however, consume large amounts of disk space. Learn various methods for establishing the provisioning and governance guidelines needed to keep disk space open and eliminate unnecessary data storage.

The UC View

Bypass security lines with Southwest

July 1st, 2009

The Fly By lane is a priority security lane available to Business Select Customers and Rapid Rewards® A-List Members. In most cases the Fly By lane will not have dedicated screening equipment, but it will allow the traveler to reach the screening process more quickly by having access to a separate security lane.

More details…

Geek hobbies Part II

October 30th, 2008

Well, here we are on part two.  I had not thought about Google apps and online storage, but my first concern is sensitivity of data and availability.  I will have to look into this solution a little more.  I do consider in my “full desktop environment” a limited suite of office type applications to be available.

Weight, I’m overly concerned about weight, yet I eat fried foods like they are going out of style.  On a more serious note, my current arsenal contains one Lenovo TP 60, one Sony Vaio NR310, four 3.5″ USB drives, sometimes one 5.25″ USB drive, various cables, chargers, power adapters, and the list goes on.  I have not weighed my current bag when fully loaded, but will try to do so this weekend.  I certainly wonder why I carry such equipment, but the moment I leave a piece at home, I need it.

As for the ASUS purchase, well, it was actually purchased about 3 weeks ago, but I spent some time trying to determine the operating system that would be able to meet at minimum, my goals, and still have plenty of room for customization as well as getting a feel of the provided Xandros based operating system preinstalled.

I’m still in decision mode as for email, whether a full blown Notes client would be a good idea, or rely on webmail, or possible even a light weight IMAP client.  Notes mail files offline can be quite large and since there are limitations on storage (there is a ‘budget’), I’m leaning away from a fat client, but would welcome suggestions.  I have in the last few weeks been saved multiple times by having offline replicas of my mail file.

So let’s get into some details, here are the hardware specs.

Processor      Intel Atom N270 1.6GHz
Memory         1GB DDR2-533 (1 DIMM) expandable to 2GB
North bridge     Intel 945GSE
South bridge     Intel ICH7M
Graphics     Intel Graphics Media Accelerator 950
Display     10.2″ TFT with SWGA (1024×600) resolution and LED backlight
Storage     40GB solid-state drive
Audio         Stereo HD audio via Realtek ALC6628 codec
Ports         3 USB 2.0
1 VGA
1 RJ45 10/100 Ethernet
1 analog headphone output
1 analog microphone input
Expansion slots    1 SDHC
Communications     802.11n Wi-Fi
Bluetooth 2.0
Input devices     91% horizontal/86% vertical keyboard
Trackpad with two-finger scrolling
Camera     1.3 megapixel webcam
Dimensions     10.5 x 7.5 x 1.5″ (266 x 191 x 38mm)
Weight         2.9lbs (1.3kg)
Battery     6-cell Li-Ion 6600mAh (up to 6 hours of battery life)

Why did I choose this model?  Well, the single reason for going Eee PC 1000 was the 40GB SSD drive.  I could have opted for 80GB or 160GB storage in a traditional 3.5″ drive, but based on SSD specs, I’m one up on the boot time with read speed provided by SSD.  Here’s a benchmark on SSD vs HDD access times:

SSD        HDD
Access Time    .2ms        17.2ms
Burst Rate    53.0MB/sec    68.3MB/sec
CPU Usage    3.2%        21.4%

So that about sums up the hardware, let’s move on to the operating system.  After going back and forth, I ended with Fedora Core 10, actually 9.92 as 10 is still beta.  I looked at PuppyLinux, Windows XP, openSuse, and Fedora 9.  The first decision was Fedora 10 only due to the physical media I had, and since FC10 installed and picked up wireless support on my Sony Vaio immediately, it seemed like a solid starting point.  I dropped back to FC 9 for about a week and will try to clear up the reasons in subsequent posts, but then went back to  settle on FC10, beta or not, but pulling the snaps nightly, which has caused a slight inconstancy in wireless, so I will save the wireless final configuration until FC10 ships.

So that sounds like enough to digest tonight, I should get into the basics and what was disabled as well as the modifications to udev, but I’ll save that for another evening this week as it’s 5 o’clock somewhere.

Geek hobbies Part I

October 29th, 2008

As most of you, I spend countless hours in a hotel room.  I realized that there is only so much TV watching and internet surfing you can do once you catch up on the countless emails that have piled up since you left your customers site.  So the rumor mill goes that I race lawn mowers, of the riding kind, which means that, no, I’m not the crazed redneck sitting on a push mower rolling down a big hill only to crash into a tree and the video makes it to American’s Funniest Home Videos.  For me, this is a hobby as well as an extreme adrenaline rush, unfortunately, this rush is infrequent.  Just the other day, I said to myself, ”

It’s time to find a hobby.”  What I meant in this statement was a portable hobby.  I certainly cannot bring a welder and 4-cycle engines in my hotel room and expect to run 50 mph in the parking lot of the DoubleTree, just would not work.  So I decided to take on the task of making the ultimate mobile computing platform for ATech.  My goal is multi-part: the hardware must be a laptop with 10″ screen or less, the OS must provide a full desktop environment, I must be  able to get email and IM, I need to be able to connect too any wireless in any airport or hotel, I would like to be able to tether my BlackBerry with blue tooth to connect to the internet when wireless is not available.  I would like this ultimate system  to boot from power on to idle in 10 seconds or less.  This is my new hobby…  the UMCL (Ultra Mobile Consultant Laptop)

Stay tuned for the next part in which I will be bringing up the OS and ripping it down

Just say NO to GLIBC

October 8th, 2008

It’s a fine morning in Somewhere, West Virginia and what I really should be doing is packing up the car and heading to the coffee shop to get a cup of the only truly tame Java that I feel there is at this moment.  I looked out the window as the sun rose up over the mountains and recalled when I was younger and was taught to “Just say no!”  So as I reflect and wonder if I should be running in fear of what the day might bring, I offer a special message to you – “Just say no to GLIBC errors!”

Here’s the environment:
IBM Blade server 64bit Intel architecture (also tried AMD 64bit)
RHEL 4.7 ES 32bit (also tried RHEL 4.6 32bit)
WAS 6.0.2.17
Java 1.4.2 SR11
Portal 6.0.0.1
Quickr 8.1.1.0 (also tried 8.1.1.0)

What happens:
Things were going well, it seemed, until one day a few files were missing.  No problem, they must have wandered off, we can go find them and put them back in their place.  Being in a black hole without internet or cellular signal, I really did not have time to research what had really happened and called it a mysterious life event and then wrote it off, until… Let’s go ahead a recycle Quickr, a common task, shouldn’t really be a problem – and then it happened

*** glibc detected *** free(): invalid next size (normal): 0xa71005a0 ***
ADMU3011E: Server launched but failed initialization.

Luckily, Java decided to leave me a dump:

3HPNATIVESTACK         Native Stack of “server.startup : 0″ PID 9558
NULL                   ————————-
3HPSTACKLINE            ?? at A167A2 in ld-linux.so.2
3HPSTACKLINE            abort at A59289 in libc.so.6
3HPSTACKLINE            ?? at A8BCDA in libc.so.6
3HPSTACKLINE            ?? at A9256F in libc.so.6
3HPSTACKLINE            __libc_free at A9294A in libc.so.6
3HPSTACKLINE            dbgFree at B7DAF9C5 in libdbgmalloc.so
3HPSTACKLINE            __wrap_free at B7DAFB72 in libdbgmalloc.so
3HPSTACKLINE            ?? at B208099F in libzip.so
3HPSTACKLINE            Java_java_util_zip_ZipFile_open at B2080A61 in libzip.so
3HPSTACKLINE            B0FC7CDC

So there you have it, I will head in to the office now with the thoughts in my head to “Just say no to GLIBC” and to bad things that can harm you, and maybe I will be able to resist the temptations and peer pressure and the sun will shine, and the flowers bloom, and the birds chirp and life will be good today.  I wish you all a good weekend.

Cheers!

Adventures in VMWare on Linux

September 9th, 2008

For those that have ventured to running a linux distro on a daily basis as a primary operating system, additionally, you must meet the requirement that your VM images are on USB that is formatted NTFS.  One more requirement, maybe not, have not tested, but you must umount

and mount -t ntfs-3g to get write access to your USB drive.  So if by chance you meet all of these oddities and you go to fire your VM and hit “power on” and blink once and then hit “power on” again thinking that you just thought you clicked on “power on” and then blink again, and a vicious cycle starts to come to realization, open up your image_name.vmx file and add the following: mainmem.UseNamedFile = “FALSE”

This is the point where you just accept the solution as I cannot explain, nor wish to try to understand.

Condensed POC

August 12th, 2008

Just last week, another POC wrapped up, this time with large consumer goods organization. A challenging two months of refining preexisting business requirements and technical integration. This customer ’s is primarily a Lotus Notes shop, specifically, in the 6.x neighborhood. They are currently in planning for a 8.x upgrade. I was asked to come in and configure Lotus Quickr with a twist.  Quickr needed to allow users an option to make a document (in the binary file sense) available in the enterprise Google Search Appliance. To top this obscure requirement, integrate with their existing single sign on and active directory infrastructure while maintaining an “island” Domino domain and maintaining document level security within a Quickr Place.

In a nutshell, it goes like this:

  1. A user logs into a Quickr Place and navigates to the Library
  2. The user then chooses “Upload New Policy” which is a custom form
    This form contains additional fields to the OOB file upload. These fields are c_AvailableInPortalSearch, c_SerialNumber, c_Description, c_Department, c_Keywords and c_Action. Additionally, there are standard fields such as author, file attachment and modified date.
  3. Finally, the user attaches a binary document such as Word, Power Point, Excel or PDF and clicks Submit
  4. A PlaceBot runs on a scheduled basis based on Unprocessed documents as a collection.
    The final straw here was to not call UpdateProcessedDoc(document) to ensure that the entire collection of documents is processed every time the agent runs, this could obviously become a performance hit, but was a trade for ensuring that updates to a document were processed in a timely fashion,
  5. The PlaceBot collects meta data about the document, first looking to the existence of the c_AvailableInPortalSearch field. If the field exists, the next field evaluated is the action. The action complies with the GSA (Google Search Appliance) scheme for <record action=”%” /> If this is a new or update then the action is set to “add.” “Add” in the Google world means if it already exists, update it, if it does not exist, add it. All of this meta data is processed and posted to a Domino Database.
  6. The GSA Domino Database has a series of agents that run continuously. The first agent processes documents. Each document is examined for meta data and a XML snippet is created accordingly based on GSA Feed DTD.
  7. The final agent processes the record XML elements and assembles them into the XML feed that the GSA can “read”
  8. GSA periodically reads the XML feed and crawls each record URL, attaching the specified meta data to the indexed entry.
    Now the fun part begins…
    A user accesses the internal Portal (6.0 with plans to upgrade to 6.1) and navigates to the “Policy Search” portlet
    The user enters the search criteria for “vacation policy” and clicks “Submit”
    The GSA looks up in it’s index and does magical Google formula processing and says “OK, here are 100 indexed files that meet the search criteria ;vacation policy’”
    Next is the really interesting part… The GSA has the LTPA token and can access the users context.
    GSA does a brute force query against the items in it’s index that match ‘vacation policy’ and looks for either HTTP 200 OK or HTTP 401 Access Denied. If the response is HTTP 401 Access Denied, GSA drops that specific entry our of the result set. This process continues until 10 results are matched that the user has access to. At this point, the results are returned to the UI. In the end, the list of search results the user is presented with has already been verified based on the users access to the documents.

The most interesting and time consuming code piece which turned out to be the most simplistic:

‘Get the file attachment direct URL
Const VIRTUAL_SERVER=”myportal.company.com” ‘webSEAL junction
Dim ThisName$
Dim notesEmbeddedObject As NotesEmbeddedObject
Dim RTItem As New NotesRichTextItem( doc , “h_Attachments” )

If doc.HasEmbedded Then
Forall itm In doc.Items
If itm.type=ATTACHMENT Then
Set rtitem = itm
Set notesEmbeddedObject = Doc.GetAttachment( rtitem.values(0) )
ThisName$ = notesEmbeddedObject.Name
End If
RTitem.Update
End Forall
End If
url = VIRTUAL_SERVER & “/” & GetDbName & “/$defaultview/” & doc.UniversalID & “/$file/” & ThisName$ & “/?OpenElement”

Extended thanks to many for answering questions that I was not sure how to ask in this POC.  The customer has marked the POC as fulfilled in both the business requirements and the infrastructure integration thus providing another reference account.

Debugging Domino and LDAP

July 22nd, 2008

To trace LDAP calls that Quickr uses through the Domino LDAP API, the most relevant trace value is LDAPDEBUG=519, which would provide regular tracing info and API tracing info. Enter the level in [dom

ino_data}/notes.ini and restart Domino.

Here’s the whole debug table:

/* Hex Decimal Cumulative Decimal */
#define LDAP_DEBUG_TRACE 0×0001 /* 1 1 */
#define LDAP_DEBUG_ARGS 0×0002 /* 2 3 */
#define LDAP_DEBUG_ENTRY 0×0004 /* 4 7 */
#define LDAP_DEBUG_FILTER 0×0008 /* 8 15 */
#define LDAP_DEBUG_BER 0×0010 /* 16 31 */
#define LDAP_DEBUG_CONFIG 0×0020 /* 32 63 */
#define LDAP_DEBUG_ACL 0×0040 /* 64 127 */
#define LDAP_DEBUG_PACKETS 0×0080 /* 128 255 */
/* (unused) */ /* 256 511 */
/* SDK BEGIN */
#define LDAP_DEBUG_API 0×0200 /* 512 1023 */
/* SDK END */
#define LDAP_DEBUG_ANY 0xffff /* 65535 */

I usually throw my “standard” debug entries in notes.ini right after a fresh install as I’m probably debugging SSO and LDAP.

#debug
LDAPDEBUG=519
DEBUG_SSO_TRACE_LEVEL=2
console_log_enabled=1
WebSess_Verbose_Trace=1
Debug_outfile=/opt/notesdata/noteslog/hquickr01.log
#end debug