Archive for October, 2008

Building the Bad Ass Development Rig

Posted on October 30, 2008. Filed under: Hardware Tangents |

By: Brenton Blawat

Hardware View Into Building the Bad Ass Development Rig

IMG_0150

Daniel Vanderboom has been a long time associate, business partner, and development mentor of mine. Truth be told he always has been the one to find and buy the coolest hardware and gadgets (those which I make my 08 BMW 335xi look like a manual push Tonka Toy). While he is the smartest guy that I’ve met, he always seems to have a magnetic force emanating from him rendering all computer hardware… broken.  He has had the worst luck maintaining longevity out of the hardware (not from abuse or over-clocking… just luck). For years he has been listening to my BIT Tangents about different hardware and why the majority of development systems are a joke. It has always puzzled me why a guy that is brilliant (even border-line genius) would settle for a sub-par development machine referred to a notebook computer (XPS or alike).

First to argue (and where my BIT tangent begins), new development notebooks are 2 year-old desktop computer severely limited by space and heat. Anyone that thinks a development notebook is suitable for development needs to be brought out of their isolated by mobility minds. The word development notebook ranks in with other great oxymoron like ‘deliberate mistake’ (which it is) and ‘timeless moment’ (which you will lose many of with those systems).

Let the development computing wars begin!

(To preface this section, I originally was going to post a series on hardware items such as hard disk drives, RAID, CPU architecture, RAM, etc. Due to the overwhelming response to Dan’s blog post, I’ve decided to write this article prior to my architecture posts. Feel free to ask questions about any items mentioned about architecture due to the lack of supporting blog posts.)

When Dan asked me to assist him in making the best development machine, I could finally validate my rants on computing power (besides the project being really fun). Working with Dan, I wanted to create a system that is more functional and powerful than Scott Hanselman’s "ultimate development machine". It should speak volumes that OUR benchmarks are being based off of his metrics… not Tom’s Hardware. Please don’t underestimate his development box as something other than a solid configuration… I just want ours to be the best >:)

The goal of this machine was to blend the current hardware with the true needs of a developer. Not only did I want this system to be fast but it needed to feel fast. There is a great deal to be said about the feel of the computer. Dan’s Twiddling Thumb Syndrome (TTS) is exactly what I refer to as feeling fast. If a developer has to remove their hands from the keyboard or mouse, the system is definitely not fast enough (or you’re working with an astronomically sized project).

The Systems

I wanted to provide true metrics behind the systems to provide quantifiable evidence and justifications for our claims. Tom’s Hardware always puts metrics from baseline applications such as PC Mark which mean nothing to the average consumer. I wanted to provide metrics that others could test free of charge.

Dan’s OLD Development Environment

Manufacturer: Dell
Model: Latitude D830
OS: Windows XP 32-Bit
FSB: 800MHz
CPU: T7700, 2.4GHz (dual-core) 4MB Cache
RAM: 4MB – 666MHz DDR2
Video Card: NVIDIA Quadro NVS 140M 256 GDDR2
Drive Size: SATA 160GB
Drive Speeds: 7200 RPM 4MB Cache

Brent’s slightly fast gaming PC

Manufacturer: Brenton Blawat’s Custom Brew
Model: n/a
OS: Windows Vista 32-bit
Motherboard: EVA nForce 650i ULTRA

FSB: 1333 MHz
CPU: 2.4 Quad-Core Intel
RAM: Corsair 4 GB
Video Card: 320mb NVIDIA.
Drive Size: 250gb
Drive Speeds: 7200rpm 8mb cache

Dan’s Bad Ass Development Rig (Taken From Dan Vanderboom’s Blog Posting)

DiskShots MotherboardShot

Intel D5400XS “SkullTrail” Motherboard

Intel Core 2 Extreme Processor (QX97750)

  • 3.20 GHz (without overclocking)
  • 1600 MHz FSB
  • 12 MB L2 Cache

ThermalTake Bigwater 760is

  • 2U Bay Drives Liquid Cooling System

Adaptec 5805 RAID Controller

  • 8-Lane PCI Express
  • 512 MB DDR2 Cache
  • Battery Backup

3 Western Digital Velociraptor Hard Drives

  • 900 GB Total
  • 10,000 rpm
  • SATA

8 GB (4 x 2 GB) of PC2-6400 RAM

  • 800 MHz
  • ECC
  • Fully Buffered

GeForce 9800 GTX Video Card

  • PCI Express 2.0
  • SLI Ready
  • 512 MB DDR3

Coolermaster Case – CMStacker 830 SE

  • 1000 Watt Power Supply
  • Lots of Fan Slots
  • Very Modular

 

The Metrics

We choose to perform two types of metrics on the systems in our test which are "time" and "performance". "Time" is directly correlative to the feel of the system. The "performance" is the measured I/O of the CPU, Disks, and Memory. While many critics may argue that Windows Performance Timers are not efficient and don’t properly calculate the utilization; I don’t care. Our tests are free.

Time Metrics

The baseline comprised of a very large project referred . With Visual Studio 2008 installed on our baseline systems, the build time of the project (feel) was timed via a digital timer. This test was run multiple times from a fresh restart of the systems to ensure that any cached operations would be cleared from the systems. We ran a secondary build after the initial build to display build times after parts of the project were cached by Visual Studio in memory. To our surprise, and contrary to what Microsoft claims, the build times are faster after the project has been built one time in the running instance of Visual Studio 2008.

Performance Metrics

The performance metrics were truly the meat and potatoes of the testing. We chose to monitor the Disk I/O, Memory I/O, Memory Utilization, CPU Utilization, and CPU core utilization. We feel that these metrics would provide us with the best overall metric of the test systems.

Note: These tests were only executed on Brent’s Slightly Fast Gaming PC and the Ultimate Development rig

 

Stay Tuned for Building the Bad Ass Development Rig Part 2, where I explain the metrics, and further prove my Computing Theory.

Read Full Post | Make a Comment ( 2 so far )

10 Things to know about staying in hotels: thoughts from a seasoned traveler.

Posted on October 28, 2008. Filed under: Traveling Tangents |

ThisYearStays

( Total Nights for 2008 as of 10/26/2008 )

Caution: Knowledge is power, however, ignorance is bliss. Just remember that!

 

Being a seasoned traveler, I’ve stayed in MANY different brands of hotels. Not inclusive to just the Hotel Brand shown above (which I frequent at), I know and have noticed some very interesting things. My caution above will hold true as some of these things may make you a bit squeamish, but knowledge is power right? I also want to note there is a reason why I’ve stayed at the Hotel Brand shown above. It’s not for their point program, it’s not for their reputation, it’s because it’s generally the cleanest branch.

In the last year, I’ve stayed at the following hotel chains:

If The Ritz-Carlton (or alike Luxury Hotel) would like to contact me do a review of their hotel chain, I’m more than happy to entertain that notion — preferably somewhere tropical 🙂

Never Have I Ever

This section contains items which may seem intuitive to some, but for the others might be a complete shock. For the record, I am not "germ phobic" and regardless of what I’ve stated below, I’m still staying in different hotels every week. I’ve just learned to deal with the problems stated:

1. Never take baths / Never use a Jacuzzi 

While relaxing while on vacation is necessary, I don’t suggest taking a bath or enjoying a Jacuzzi. Jacuzzi’s and Bath Tubs do not have chlorine or bromine to kill the bacteria and micro-enzymes. The safety behind public pools and public spas are that there are high levels of chemicals introduced to kill bacteria and other micro-enzymes that cause skin irritations. Hence why sitting in stagnant bathtub and Jacuzzi water makes me very itchy!

A good article on this can be read here. Excerpt below:

"Microbiologist Rita B. Moyes [Texas A&M University] tested 43 water samples from whirlpool bathtubs — both private and public ones — and found that all 43 had bacterial growth ranging from mild to red-level dangerous. A whopping 95 percent showed the presence of fecal derived bacteria, while 81 percent had fungi and 34 percent contained staphylococcus, which can cause deadly staph infections."

So the story: Jacuzzi Seasoned with Nachos Supreme! – In an unfortunate accident in a hotel, Nachos Supreme happened to be dumped into the Jacuzzi and run through the jets. I have to leave specifics out of it as I didn’t get fined from the hotel for the unfortunate accident. I did my best to clean the tub out and run the jets a few times to be certain of cleanliness! Thinking at the time everything was fixed, I forgot about the filtration system that was in the Jacuzzi. Imagine the wet, non-chlorinated Nachos sitting in the filtration system. Now imagine using this Jacuzzi three weeks later after the bacteria has had the opportunity to come to full fruition!

There are countless other things that can get into the filtration system and sit stagnant until your next use. That’s why I suggest just don’t use them!

2. Never drink from the glasses in the rooms

A wonderful regional director at Wavelink forwarded this video to me knowing that I’ve been spending a lot of time in hotels.

 
(Video Compliments of You Tube)

Now to discuss the video, while I’m sure they selected the worst of the worst for this broadcast, there is much truth to this. Watching the cleaning personnel at the hotels (with glass and ceramic cups), they don’t merely have enough glasses for each room in the hotel. A good hotel chain should take the glasses regardless of their use and wash them EVERYDAY!

0708081834 0709082214
(Image Compliments of my hotel stay in Mt Laurel, NJ) (FOGGED glasses in bathroom after shower)

(Both Images have been modified (blurred logos) to maintain anonymity of the hotel branches discussed in this article)

I’ve also been at hotel chains with glasses / ceramic cups that have paper covers over or under the glass (image taken above). While this seems great, what’s to say that someone isn’t going to use the glass and place the cover back on top of the glass? The truth of the glasses on the right are that I used one of the two glasses to fill up the iron in the room. Human nature was to place the glass back where I found it so who is to say that someone wouldn’t drink from one and place it back. Even worse is the condensation buildup on the glasses in the bathroom. With fecal disposal in the room, in addition to these humid conditions, it’s very apparent that these glasses are NOT sanitary for human use. The result is stagnant water in a cup, growing bacteria, and making for a not so healthy drinking apparatus. Other hotels, I’ve frequently stay at have moved to using plastic cups with plastic covers on the outside. Perhaps a much safer choice?

Conclusions:

Thirsty? Drink the bottled water provided in the room, or bring your own bottled water.

Want caffeine? Go to Starbucks, they need the business / bring your own coffee cup.

Need to wash out your mouth? Wash your hands with soap, dry your hands, then use your hands; probably cleaner than the glasses shown in the video and pictures above.

3. Never sleep in anything less than pajamas

mites

(Image Compliments of Wikipedia)

Hotel beds are notorious for being dirty. I always prefer to sleep in a shirt and sweat pants / long pajamas. This has to do with the little microbial organisms called mites. Mites are carried on the human skin and get transferred to the hotel bed sheets by sleeping in the sheets. Some mites find their way through the weave of the fabric and onto the mattress. Now imagine thousands of people transferring their friendly mites to the bed sheets (and thus into the mattress); a variety of mites for you to carry!

So what’s the problem? First hand experience — After I started to sleep in hotel beds in just my boxers, I found that I started to get rashes / bumps on my legs, back, and chest. I thought it was odd but I didn’t think twice about it being bed mites. After watching a TV special on microbial organisms, it dawned on me that it was mites that were producing the rashes / bumps on my legs, back, and chest. I changed my sleeping clothing to jogging pants and a T-shirt it reduced the number of rashes / bumps significantly (maybe one in a weeks stay).

Alternative Solution: Certain UV light solution providers claim that a scan of the bed with a intense UV light can kill the microbial organisms including the really nasty bacteria that might be on the bed. If any manufacturers would like me to review their UV light, I’m very open to product testing.

4. Green Initiative Accidents – Not So Comforting

Many hotels have instituted the "green" policy. This means that if you don’t throw your sheets on the ground, they will re-use the sheets on your bed for two days up to the entire duration of your stay. This is a "green" friendly solution, but it has it’s inherent flaws. Here are common situations that might get you perfectly used sheets in your room:

  1. Early Check Out – If the house keeping staff has already gotten to your "room to be" and the person prior to you did an early check out, there might be a chance you get dirty sheets. Why? If the hotel is at capacity, the time it would take to revisit all of "the early check out rooms" would take too long. If PersonX Checks out at 1:00pm and you check in at 3:00pm, I hate to say it, but you have a strong possibility of getting dirty sheets.
  2. Long Stay Assumptions – If you so happen to land yourself into a "frequent stay" room where the same person has been staying in that room for a long duration of time, there is a possibility that the sheets haven’t been changed. Why? Housekeepers learn who are the long term customers. It generally is assumed that the long term stay customers return to their requested room after the weekends. To save time, the housekeeper just make the beds instead of changing the sheets (read first hand experience below).
  3. Luxury Comforters – In some luxury hotels, the comforters come without a protective outer layer. This means that the comforter you get in your room has been used many times before. Hotels can get away with this as the under sheet and the bottom sheets are "protecting the comforter" from contaminants. The cost of cleaning each comforter every day would be astronomical so they have different cleaning schedules (if ever) to get these cleaned for use.
  4. Dirty Bath Towels – Yes, as displayed in #2, there is a chance where you can get a dirty towel. Enough said.

Another first hand experience — I once spent 6 months in the same hotel and flew home every weekend. Everyone, even the housekeepers, knew that Room 709 was Brent’s room and that I would be back on Sunday every week. One Sunday, a significantly delayed flight got me into my hotel room around 2:00 am. I immediately went to my room and hopped into bed. No more than 5 seconds of laying in bed I had this overwhelming smell of old woman perfume. I smelled my pillow and I figured out that it was on my pillow. I grabbed a new pillow out of the closet and went to my bed. Again 5 seconds later, I smelled the old lady again. This time I started to get a bit uneasy. Smelling my sheets, it was the perfume and formaldehyde smell of an old lady. Coming close to vomit from sleeping with my grandma, I grabbed a hooded sweatshirt and slept on the chair. By this time it was 3:00am and it would have taken too long to have them switch my room and all that jazz. ** I do have to say management was extremely responsive to the incident and put in had ALL new sheets and pillows on my bed for the next night stay (it helps to be in the Top 2 of spending the most money at that branch). I had an apology on my voicemail from the housekeeper, hotel manager, and general manager. This issue NEVER happened again.

 

It pays to be a GOOD customer!

5. You have a record!

One thing that most people don’t recognize is that you have a "record" in hotel chains. Any complaints that you make, get placed on your "permanent record". Hotels can identify "problematic" customers who have a habit of destroying rooms and those who complain to be compensated for the rooms or other items. I’ve spoken with the hotel staff, at a popular branch, about a certain customer that has over 200 pages of complaints on their record. The staff member mentioned to me that she’d would be less likely to go out of her way for that individual based on the track record with complaints.

Permanent records aren’t always a bad thing. It also keeps track of my preferences while I am staying at certain locations. For longer stays, they always have a refrigerator with Diet Pepsi loaded in the refrigerator. They also know that I prefer a king-sized non-smoking corner room on the concierge level. I don’t always get this, but when I do, it’s wonderful!

Complaints might be necessary, and the Hotel understands this! Just remember when you complain about something you need to be reasonable for a resolution. Don’t expect to have your room paid for because your coffee maker or iron is broken. If room service is slow, don’t expect to have the meal for free. If something is really wrong with the room, get it taken care of.

Here is a list of things you should complain about:

  • Hair in shower / in room – This is gross but happens more than people expect. Reinforcing why we don’t take baths in hotels! Ask for the bathtub to be cleaned again.
  • Broken appliance – Equipment will break, especially after more uses than you do at your own house. Ask for a replacement. Good hotels will replace the equipment with NEW equipment, while others will give you a previously used appliance.
  • Rodents in room – Nature sometimes gets in our way of living… if there is a rodent in the room asked to be moved. Period. Do NOT threaten to sue the Hotel as acts of nature cannot be controlled and the lawsuit would have no grounds.
  • Excessive insects in room – Certain areas in the world have different insects that might find their way into the room. While it’s impossible to stop smaller insects from entering a room, if there are excessive amounts of insects, get a new room. 

Here is a list of things you should NOT complain about:

  • Elevator noise – If your fortunate to stay in a hotel with an elevator, more than likely you’ll hear the elevator echo through the entire building. I hate to say it but the elevators echo. To solve this, ask for a fan to which will provide white noise into your room to help you fall asleep. After all you are sleeping in an unfamiliar and people tend to pick out the small things that seasoned travelers don’t hear anymore!
  • TV volume of another room – While the front desk can ask to have the TV of the person next to you turned down, the truth is that it’s not their fault that the other resident’s TV is too loud. If noise bothers you, travel with ear plugs.
  • The Internet costing money – I’ve been in several $300/night hotels that charge $9.99/night for Internet. What a rip off right? Not really, they have to absorb the bandwidth costs of supporting 200+ residents. Home throughput may be cheap but for hotels, the business lines are much more expensive. If you NEED Internet that bad, pay for it or travel with a cellular card. Airlines don’t give free food anymore, hotels don’t need to give free Internet.

Be careful how many times you complain as once you’re tagged as "problematic", the hotel might exercise their right to deny service / lodging. Hotels know when people are looking for free stuff, versus genuinely having a problem. If you like to complain, remember, you are annoying more people than just the hotel staff!

6. Building Rapport with Hotel Staff

Most people complain at one point in time about their jobs. Hotel staff are not excluded from most people. The hotel staff (being the front desk, maintenance, house keeping, valet, restaurant staff, room service) will talk about the different residents staying in the hotel. Nicer hotel branches usually have a tight group of employees that talk about each of the different residents. It pays, sometimes very well, to be in good with the Hotel Staff. It is all in how you convey yourself and how nicely you treat everyone in the entire hotel.

Building a good rapport with hotel staff is important for them to help you out. First I’ll explain several things that were done for me over time at different branches and I’ll provide some tips to build rapport with the hotel staff.

Free Beverages (Must have Concierge Room/Level access)

At hotel branches that have a Concierge Room/Levels, I’ve been provided, numerous times, free beverages from the hotel staff after Concierge hours.  I just kindly ask the front desk what time the Concierge level closes. If the Concierge room is closed, then kindly mention "shoot I wanted to grab a beverage (usually state what kind you wanted) to take to my room". 9 times out of 10 I’ve been provided with several free beverages from the bar, or cooler from the back

Late Night Food

The hotel which I spent 6 months at treated me very good as I built a great rapport with the entire staff. I got off of a late flight and all of the local food establishments were closed. When I arrived at 1:00 am, knowing their grill and Concierge was closed, I asked the hotel manager if there were any food options other than the ones provided in the the hotel store. Since it was dead, the hotel night manager went into the kitchen and made me dinner (and a good one at that). He of course charged me full price for a meal, but I got food when I thought I had to survive on Doritos from the hotel store.

A month later, a similar situation came up where the grill closed and the room service were still around. Since I knew them all by name, I politely asked if there was any way possible I could get some sort of a sandwich. Mike made me a club sandwich with potato chips. Again, I paid for the meal, but I was able to get a decent dinner for the night! It also helped that I tipped over 20% on all my food at the hotel.

Building Rapport

When staying for durations of a week and over, it’s very important to keep the hotel staff very happy with you. Below are some suggestions that might make you stand out from the rest of the thousands of residents that come in.

  • Off Peak Check-ins – When checking in, it is best to check in 3:00pm – 5:30pm and after 7:40pm. When the hotel staff is busy, they sometimes don’t even recognize the frequent stay travelers as they are consumed with the long lines. Checking in during the Off Peak Time, provide a better opportunity to talk with the receptionist.
  • State Duration – Be certain to state your duration when checking in.  After stating the duration be upbeat and say "I’m looking forward to exploring the area, and finding a great dining place. What do you suggest for the best food in the area?" This opens a second conversation window for when you return or the next day you can talk about the dining experience.
  • Complaining with a Smile – If something is wrong in a room, don’t yell or be mean over the phone. Be nice and say "would you be able to address this when you have a second?". If it still isn’t done within an hour, then call back down and sarcastically mention "I was wondering if "room service" forgot about my request for XYZ.". Keep the conversation up beat and you will avoid getting the label of a nuisance.
  • Remember the staff – Remember the names of the staff and information about the staff (children, what they are doing later, etc). This provides a great opportunity for further conversation.
  • Tip appropriately – Don’t over tip, but don’t forget to tip. It is important to tip as it is a courtesy and will gain the attention of the hotel staff. I have a section below about tipping habits.

The truth behind the building of rapport is really being a good person and taking the time to know the staff. Hotel staff meet thousands upon thousands of people and you have to differentiate yourself from everyone else. If you take the time to know the staff, you are already miles a head of hundreds of others. Just remember showing humility, patience, and being personable is always a great start.

 

7. How to Get The Best Hotel Rooms

Ever wonder where what rooms the seasoned travelers ask for? While you are reserved a specific room, often times when the hotel isn’t at capacity (or fully booked), you have some options of where you can stay. While some items are for individuals are a bit preferential, there are several items which you may want to look for when checking in:

  • Corner Rooms – Ask for a corner room. Corner rooms are larger than the standard rooms and are often quieter. Corner rooms also typically offer better views as you can see out from two sides of the building and with two of the walls being outside, you will hear less noise of the people around you.
  • Handicapped Accessible Rooms – It is mandated in most hotel chains to have a certain percentage of handicapped accessible rooms in the hotel. These are usually kept open as they have to be available for those individuals who need to use them. These rooms are about as large as the corner rooms as and have larger bathrooms for wheel chair accessibility.
  • Stay away from first floor rooms – While first floor rooms are convenient, they are often much more noisier. It is typical for hotels to reserve the bottom floors for families with children. This is done as a courtesy for the other residents as children typically are louder than other residents and bottom floors always have the most foot traffic from arrivals and returns to the hotel
  • Adult Floors / Access Floors – Request if they have any rooms available on Concierge Level or access required floors. Certain hotels have elevators that lock out people from gaining access to certain floors. While the rooms are the same, good hotel chains reserve these floors for adults. This typically means you have a bit more of a quieter experience.

 

8. High Roller Want to Be!

Don’t be a high roller want to be! As you saw above, I’ve spent over 100 nights in just one hotel branch. When calculating it out, I’ve spent at about $250-$350/night at 100 nights totaling $30,000. Last year I spent another 50 nights at that same hotel branch putting in another $15,000. Just because you’re spending one night at $500/night does not make you a high roller. Even with spending over $45,000 in the last year, I’m still NOT in the top 100 for the high rollers in the hotel branch. It is common for hotel branches to have customers spend over $40,000 / year for over 10 years. You are not a high roller after one night in a hotel.

There is nothing more annoying for hotel staff than residents who spend $500 / night on a room and expect the staff to bend over backwards for them. While it’s great to treat yourself to a nice room, it’s not appropriate to expect the world from the hotel. All benefits that seasoned travelers get are EARNED through MANY nights at a hotel. My free Internet privilege came from spending over 100 nights in the same hotel branch.

Things NOT to expect from hotels (or things you need to earn):

  • Free Internet – As explained earlier, Internet is not free for the Hotel and only the top customers are granted free Internet access due to their prolonged commitment to the hotel.
  • Free Concierge Level Access – Spending 14 nights in a hotel chain shouldn’t get you access to the Concierge Level. That is equivalent to a two week vacation stay. Amenities like the Concierge level are benefits for those who stay many nights away from home to make them feel more at home. This is definitely earned.
  • Discounted Rates on Hotels – Don’t expect to get a significant discount in rates when staying 7 to 14 days in a hotel. I’ve booked a hotel room for three months and I had to fight very hard to get a rate reduction beyond 5% of the cost of the room! Think of it this way: 90 days will get you an 8% rate reduction.
  • Free Room Upgrades – Even as a Platinum Premier member at a hotel branch, I don’t even get free room upgrades. While they typically save their best rooms for their top guests, when nearing capacity, they provide any room they get.  While they do provide free upgrades on slow nights, it shouldn’t be expected.

9. Tipping Etiquette (Non-standard Views)

Tipping is very difficult to do these days. I have a slightly skewed view on how tipping should be done in hotel establishments. I’ve found the following to be very appropriate for every hotel I’ve visited.

  • Valet Parking – Tip the Valet no more than 10% of the cost of the Valet Parking, but no less than $1US. If the Valet brings your bags to your room then you should tip them the 10% in addition to $1US per bag.
  • Front Desk – I do not tip the front desk. However, at a hotel I frequent at, I did provide several members with Sushi (as they mentioned they loved certain items from a local establishment). I also tipped them with Salt Water Taffy from my other travels. I strongly building good rapport prior to gifting these individuals.
  • Baggage Assistant (Bellboy) – Same as the Valet Parking; Tip $1US per bag.
  • Concierge – I rarely have tipped this individual. The only time I would tip this individual is if they go well beyond their way to assist me. (like keeping a constant supply of Diet Pepsi at my table… or make me a special plate.) I’d tip no more than $2US for each item.
  • Dry Cleaning – I do not tip for Dry Cleaning.
  • Room Service – I always tip over 20% for Room Service. Room Service usually has gratuity included in the bill and I always tip on top of that. I’ve been known to leave 30% tip on a bill and it’s paid out VERY well for me. After building a rapport with hotel staff, I’d always get my food within 15 minutes of ordering it and they’d delay other orders to get mine up to me right away. LOL Yes, I’m the reason why your food is late and cold. 
  • Hotel Restaurant – I always tip 20% and UP for food in the Hotel Restaurant.  If the service is really really bad, I’ll tip 10% but NEVER under 10%. If I am only getting drinks in the restaurant, I tip as I do for bartenders.
  • Bartenders – I always tip $1US per drink and $1US per set of shots. I know this seems a little high but anything over this will be wasted money and anything under this will make the bartender ignore you. This metric seems to work well for me.
  • Housekeeping – I do not tip the housekeeping staff. I have a fundamental issue with tipping housekeeping. While housekeeping are usually the lowest paid individuals in the hotel, I do not like the idea of it being expected that money left around the hotel is "theirs as a tip". In this, eventually this will become assumed and you have to be very careful of leaving money around the hotel as the housekeepers will take it for their tips. I know a lot of people are now saying it’s good Etiquette to leave your housekeepers tips, they are doing the same job regardless and won’t do "a better job" because you leave money.   

One side note: If you tip well, don’t make the person receiving the tip look at the amount. It is much more classier to make them walk away and remember "room 101" gave me this great tip. When Freddie Sanchez of the Pittsburgh Pirates stayed at my hotel, he tipped the bellboy $50.00 for his family bags. The bellboy didn’t realize the tip amount until he got back downstairs. Freddie was definitely classy and the bellboy was on cloud nine!

 

10. Just about anything as long as it’s Moral and not Illegal.

So as the final tip, it’s mostly all encompassing.

Speaking with a maintenance manager at a hotel, he mentioned to me that the official rule on customer satisfaction is to "do anything for the customer as long as it’s moral and not illegal". Hotels are service oriented entities and are there to make your staying experience enjoyable so you return to the same hotel. While smaller $100.00/night hotels might not strictly adhere to this principle, the majority of the higher class hotels will follow this same philosophy. If you are uncertain of certain if a hotel accommodation, you’d might be surprised at what results you might be able to get. Just remember the answer is no until you ask.

Read Full Post | Make a Comment ( None so far )

Removing Welcome Message / Doctors Appointment on Pocket PC 2003

Posted on October 28, 2008. Filed under: Handheld Tangents |

By: Brenton Blawat

How to Remove Welcome Message / the Doctor’s Appointment on Pocket PC 2003

Probably one of the most frustrating features during a cold boot sequence of any device running Pocket PC 2003, is the Welcome Message / Doctor’s appointment. Not only is it annoying, but it completely halts all automated installations on the device until the User’s rescheduling of the doctor’s appointment. This will explain how to stop that annoying message from displaying.

1. Open a New Notepad Document

2. Save the blank document as: Welcome.Not

 

Copying the file to the Handheld

Welcome.NOT

3. Copy this file to the handheld device in one of the following locations:

  • Root of SD Card
  • Root of the handheld directory structure ‘\’

Note: If copying to the root of the device there is a strong possibility that the file will be erased on a cold boot. It is recommended to find a method to restore files upon a cold boot to the device. (E.G. below)

 
Making the Doctors Appointment go away on Symbol Devices

1. Open Notepad

2. Create a new file named welcomenot.cpy

3. Place the following line as the first line to the file:

\Application\Welcome.NOT > \Welcome.NOT

4. Save the file.

5. Copy welcomenot.cpy and Welcome.Not to \Application\ directory

On a cold boot, the Symbol Device will read the welcomenot.cpy file in the root of \Application\ and copy the welcome.not file from \Application\ to the ‘\’ root directory.

Read Full Post | Make a Comment ( 1 so far )

Installing Wavelink Avalanche Mobility Center 4.2.x

Posted on October 28, 2008. Filed under: Software Tangents |

By: Brenton Blawat

This is the quick guide for installing Wavelink Avalanche Mobility Center 4.2.X. 

 

avaexe

Double-Click on the Wavelink Installer

 

pic1

Select Next >

 

Custom: Select Individual Components

Site: Install all the functionality for Mobile Handheld Management; no Access Point Management.

Select Custom >

 

pic3

Console: The console is also referred to as the eServer. It enables remote administration of the Wavelink Avalanche Mobility Center.

Server: The server is the core of the application which links the communications between the eServer and DServer.

Database: This is the database engine. Later versions of AMC allow SQL Server Installation.

Site Agent Deployment: This enables software deployments to the individual devices from the server.

Avalanche Site: Avalanche is the software deployment and network profile tool

Mobile Manager Site: Mobile Manager is the access point and non handheld infrastructure management toolkit.

Select the Desired Features >

Select Next >

 

pic4

Select Next >

pic5

Select the Destination >

Select Next >

 

pic6 pic8

The AMC Product Will Install PostGreSQL if it doesn’t exist on the system.

pic7

The software will begin to install….

pic9

Enter registration keys if necessary >

pic10

Select Finish >

For More Free Training by BIT Tangents: Go to Wavelink Training (Click Here)

Info on Author: Brenton Blawat is a Wavelink Consultant who has worked closely with the Avalanche product for over 5 years. He has integrated Wavelink AMC (and variants) into a multitude of corporations including but not limited to: Seneca Foods Corporation, American Eagle Outfitters, and Alexian Brothers Health System.

** BIT Tangents nor any of its contributors are liable for damages as a result of following these instructions. These instructions are intended as guidelines for best practices and are to be used at the executioners own risk! All re-productions / digital copies of this content must be approved in writing by an authorized representative of BIT Tangents. **

Read Full Post | Make a Comment ( None so far )

Wavelink Application Known Bug Listing

Posted on October 24, 2008. Filed under: Software Tangents |

By: Brenton Blawat

While this could very easily go into a tangent about software design, this article is going to be focused on Bugs which one may see in the Wavelink Product. — What is the purpose? To provide methods by which one can work around the issue until Wavelink corrects the issues in the product.

So if you find an issue, let me know so I can post it here. Be sure to report these bugs to Wavelink as the issues cannot be corrected unless they are reported to Wavelink..

Wavelink Avalanche Frozen Screen / Loading Freeze / Blank Screen

Annoyance1

While running in a RDP (Remote Desktop) connection, it appears that the software is frozen. The Title Bar of Wavelink Avalanche Mobility Center is at the top of the screen, but the core application does not load into view. This has to do with some weird JAVA rendering that happens upon loading of the software.

Work Around: Minimize the Wavelink Avalanche Mobility Center then click on the application in the Task Bar. The screen will come back.

Bug Status: Reported to Wavelink

 

Wavelink Avalanche Blank Selection Criteria Issue

Selection Criteria Blank = Bad Thing

Not a lot of people understand the “inherent” blank selection criteria. By setting the selection criteria to nothing, it in fact, deploys to everything. This becomes more complicated when you start thinking form the perspective of using != (does not equal) in selection criteria.

E.G. If I were to say only IP != 10.10.10.10 & IP != 10.10.10.11, the software would deploy to every device. Why? Well and IP address can’t be two values at the same time, therefore, the software will deploy will deploy to every device.

Work Around: There currently is no work around for this issue.

Bug Status: Reported to Wavelink

 

Wavelink Avalanche Selection Criteria Logical Arguments

Model = “Sym50” & IP = 10.10.10.10 – 10.10.10.15 OR IP = 10.10.200.10 – 10.10.11.230

This issue has to do with Wavelink’s in ability to parse the statements as we would expect them to… The above statement would be evaluated as:

Model = “Sym50” & IP = 10.10.10.10 – 10.10.10.15

OR

IP = 10.10.200.10 – 10.10.11.230

Why? Well Wavelink uses a character sorting algorithm, with reads letter by letter and only evaluates AND and OR via parenthetical statements. This means for the example above, the server will first evaluate if Model = “Sym50” & IP = 10.10.10.10 – 10.10.10.15 are true. It then will check to see if IP = 10.10.200.10 – 10.10.11.230 is true.

In reality, you want the package to be deployed ALL of the Model = “Sym50”, and those IP addresses which are between IP = 10.10.10.10 – 10.10.10.15 OR IP = 10.10.200.10 – 10.10.11.230.

If and & and an | (OR) are used in the same statement, Wavelink should force the use of parentheses.

Work Around: Use Parentheses in your selection criteria. So for the example:

Model = “Sym50” & (IP = 10.10.10.10 – 10.10.10.15 OR IP = 10.10.200.10 – 10.10.11.230)

The Wavelink Server will evaluate are the IP addresses between (IP = 10.10.10.10 – 10.10.10.15 OR IP = 10.10.200.10 – 10.10.11.230)? Are the model numbers of those units equal to “Sym50”?

Bug Status: Reported to Wavelink

 

NEW! Wavelink Avalanche Duplicate Devices

DuplicateDevices

It appears a bug they once upon a day ago fix has re-entered the system. It appears that the software is reporting duplicate handheld entries for devices with the same MAC addresses, Terminal IDs and IP addresses for the handhelds.

Work Around: Manually delete the duplicate devices from the server. Obtain a script from Wavelink to delete these duplicate devices

Bug Status: Reported to Wavelink

NEW! Wavelink Avalanche Group Selection Criteria Issue

Group = "MobileDeviceGroupName”

This issue has to do with the ability to send software out to Mobile Device Groups. The key behind this was to group sets of handhelds into Mobile Device Groups.

E.G. One of my clients created a mobile device group for each individual location they have for controlled deployments (1050 locations). In doing this they wanted to send specific software to groups of stores via Group = "MobileDeviceGroupName”.

The result of the selection criteria is the same as leaving the selection criteria blank; it will deploy the software to EVERY handheld in the system. Architectural flaw, it needs to be corrected.

Work Around: There currently is no work around for this issue.

Bug Status: Reported to Wavelink

UPDATE! Wavelink Avalanche Enabler v3.50-56 Launch Times

There seems to be an inherent bug in the Wavelink Enabler v3.50-56 where it takes 5 seconds for any application to launch from their “Desktop Interface”. It seems to be linked, or ironically similar, to their default auto-launch time of 5 seconds. Any and all applications (including extensions of .exe and .ica) take 5 seconds to launch.

Work Around: There currently is no work around for this issue other than waiting 5 seconds for each application.

Bug Status: A test Enabler has been sent to me for testing. I will provide it here if it appears to fix the issue!

 

For More Free Training by BIT Tangents: Go to Wavelink Training (Click Here)

Info on Author: Brenton Blawat is a Wavelink Consultant who has worked closely with the Avalanche product for over 5 years. He has integrated Wavelink AMC (and variants) into a multitude of corporations including but not limited to: Seneca Foods Corporation, American Eagle Outfitters, and Alexian Brothers Health System.

** BIT Tangents nor any of its contributors are liable for damages as a result of following these instructions. These instructions are intended as guidelines for best practices and are to be used at the executioners own risk! All re-productions / digital copies of this content must be approved in writing by an authorized representative of BIT Tangents. **

Read Full Post | Make a Comment ( None so far )

Understanding the Files in a Wavelink Avalanche Enabler v3.50-56

Posted on October 23, 2008. Filed under: Software Tangents |

By: Brenton Blawat

This section will provide detailed information of an Enabler which was designed for a Symbol Device v3.50-56. While there are different files on different devices, the core of the applications remain the same.

LOCATION

FILENAME

DESCRIPTION

\Application\
fldrApplication

Avalanche\fldrAvalanche

This directory contains the Avalanche Enabler, Network Profiles, Software Packages, and all required files to for Wavelink’s Enabler to restore packages upon a cold boot of the device.

\Application\
fldrApplication

StartUp\fldrStartUp

This is a placeholder directory which automatically copies all files contained within to the \Windows\ directory upon a cold boot of the device.

\Application\
fldrApplication

WL-Enabler.cpy

flWLenabler

Copies the Wavelink StartUp .lnk file to the \Windows\Startup\ for initialization on a cold boot of the device.

\Application\
fldrApplication

WL-Enabler.reg flWLenabler_reg

The registry files which are required for Wavelink to properly function upon a cold boot of the device.

..\Avalanche\fldrAvalanche

Config\fldrConfig

This directory is for all of the configuration files for the Avalanche Enabler.

..\Avalanche\fldrAvalanche

Packages\fldrPackages

This is the location where all of the software packages are stored on the handheld

..\Avalanche\fldrAvalanche

AS-Enabler.datflAS-Enabler_dat

This is file is responsible for specifying where the core Enabler files, registry entries, backup information, should be stored on the device. It is processed by Wavelink during an enabler upgrade.

..\Avalanche\fldrAvalanche

AvaDev.dllflAvaDev_dll

This Device driver for the Enabler.

..\Avalanche\fldrAvalanche

AvaInit.datflAvaInit_dat

This file specifies the location for where the avalanche initialization files should be located. This also specifies shortcuts to place on the device.

..\Avalanche\fldrAvalanche

AvaInit.exeflAvaInit_exe

This executable is responsible for the initialization of the Avalanche Software.

..\Avalanche\fldrAvalanche

Avalanche.lnkflAvalanche_lnk 

This shortcut is copied to multiple locations on the handheld to open the application.

..\Avalanche\fldrAvalanche

Avalanche.wleflAvalanche_wle

This specifies what device drivers and scanner (physical) drivers to use on the device.

..\Avalanche\fldrAvalanche

AvaMon.lnkflAvaMon_lnk

Shortcut to the Avalanche Monitor application.

..\Avalanche\fldrAvalanche

AvaScan.dllflAvaScan_dll

This is the device driver for the scanner to use with the scan to config.

..\Avalanche\fldrAvalanche

Enabler.exeflEnabler_exe

This program is the graphical interface for use on the device.

..\Avalanche\fldrAvalanche

Enabler.udflEnabler_ud

This file specifies all of the parameters which are useable for the system and how to use them. It also includes error messaging capabilities.

..\Avalanche\fldrAvalanche

Enabler.uiflEnabler_UI

This is the background image for the Avalanche Enabler.

..\Avalanche\fldrAvalanche

model.datflmodel_dat

This file specifies what the model number of the device is for packaging purposes.

E.G: The file reads: Sym8846

..\Avalanche\fldrAvalanche

Monitor.exeflMonitor_exe

This is the background process which controls communications between the dServer and the Enabler.

..\Avalanche\fldrAvalanche

MUQuery.exeflMUQuery_exe

This executable is responsible for querying the device for power, WLAN, etc.

..\Avalanche\fldrAvalanche

Setup.dllflsetup_dll

The driver for the setup of the system.

..\Avalanche\fldrAvalanche

UPDateEnabler.exeflUPDateEnabler_exe

This executable is responsible for updates to the Enabler.

..\Avalanche\fldrAvalanche

WlComDlg.dllflWLComDlg_dll

This is the Wavelink driver for communication dialogs.

..\Avalanche\fldrAvalanche

WLSymbol.dllflWLSymbol_dll

These are the drivers to use Symbol specific hardware.

..\Avalanche\fldrAvalanche

WLUNI.dllflWLUNI_dll

Wavelink’s Universal Networking Interface driver.

..\Avalanche\fldrAvalanche

WLWEPRot.dllflWLWEPRot_dll

This is the Wavelink driver for WEP key rotation.

..\..\Config\fldrConfig

_AVACFG.PRFfl_AvaCFG_prf

This file contains all of the settings which are being sent via the EnablerCfg from the server. This file also may contain values which are not pushed via the server, however, they remain within this file regardless of what EnablerCfg is pushed to it.

..\..\Config\fldrConfig

_DEVPROP.PRFfl_DEVPROP_prf

This file is a file which is populated prior to communicating to the server. It provides the server with items which include: current network profile, MSCHAP information, enabler info, agent address, etc..

..\..\Config\fldrConfig

_IP.PRFfl_IP_prf

If static assignment, Wavelink provided addresses, or DHCP is enabled, this file will tell the enabler what to expect for acquiring an IP address.

..\..\Config\fldrConfig

_LOCAL.PRFfl_LOCAL_PRF

This is the GUID of system. When copying files, this file MUST be excluded from the system as GUIDs are required to be unique… if multiple GUID’s exist, the Enterprise Server will only recognize one handheld at a time changing the MAC and IP every connection to the server.

..\..\Config\fldrConfig

_NETPROP.PRFfl_NETPROP_prf

This file is the file which associates the Network Profile to the device.

..\..\Config\fldrConfig

_WEPCFG.WKFfl_WEPCFG_WKF

This is the WEP configuration file. This will be populated with encrypted WEP information if WEP is used.

..\..\Config\fldrConfig

Avalanche.alk
fl_Avalanche_ALK

This file is responsible for the mapping the launch-able icons on the desktop of the Enabler.

..\..\Config\fldrConfig

Avalanche.BAKfl_Avalanche_ BAK

This is the backup file for the Wireless Settings specified in the Network Profile.

..\..\Config\fldrConfig

Avalanche.UNIfl_Avalanche_ UNI

This is the backup file for the Wireless Settings specified in the Network Profile. Specifically, this is the backup for the Universal Network Interface.

..\..\Config\fldrConfig

MAC.tmpfl_MAC_tmp

This is a temporary file which contains the MAC of the unit. This file should be empty on the device.

..\..\Packages\fldrPackages

Drive\ fldrDrive

This directory is created for the extrapolated packages. For example, when a package needs to be in the Program files directory, the file / folder structure would be the following: Folder C, Folder Program Files, Folder ApplicationName, File. Basically the Enabler lays out the restoration file structure within this directory.

..\..\Packages\fldrPackages

Files\fldrFiles

This directory is where the Enabler organizes the files which have been deployed to the device. This directory is utilized on cold boot to restore all files via it’s sub directories.

..\..\..\Files\fldrFiles

APPS\fldrAPPS

This directory is responsible for

..\..\..\Files\fldrFiles

AVA\fldrAVA

This directory is where the backup files for the Avalanche Enabler are located. This includes _AVACFG.PRF and Avalanche.alk.

..\..\..\Files\fldrFiles

WIN\fldrWIN

This directory is where two Wavelink drivers are located for restoration upon a cold boot of the device.

..\..\..\Files\fldrFiles

WLRMTCTL\fldrWLRMTCTL

This is Wavelink’s Remote Control (aka WLRMTCTL) Software backup. This directory contains files to make the remote control software function properly on the handheld.

..\..\..\Files\fldrFiles

WLRMTCTL.PMFflWLRMTCTL_pmf

This file is the file which contains the Checksum for each package manifests. This file is the reference file during a Synchronization to ensure all files are in their proper locations and are not corrupt.

..\..\..\Files\fldrFiles

WLRMTCTL.PPFflWLRMTCTL_PPF

This file is a secondary checksum which contains more checksum information for the Enabler.

..\..\..\..\AVA\fldrAVA

_AVACFG.PRFfl_AvaCFG_prf

This is the backup copy of the file contains all of the settings which are being sent via the EnablerCfg from the server. This file also may contain values which are not pushed via the server, however, they remain within this file regardless of what EnablerCfg is pushed to it.

..\..\..\..\AVA\

fldrAVA

Avalanche.alk
fl_Avalanche_ALK

This file is the backup copy of the file which is responsible for the mapping the launch-able icons on the desktop of the Enabler.

..\..\..\..\WIN\fldrWIN

ASConnector.dll
flASConnector_dll

This DLL is Connector service for the Enabler. This DLL is responsible for the TCP connection between the handheld and the dServer.

..\..\..\..\WIN\fldrWIN

WLSmsTrigger.dllflWLSmsTrigger_dll

This DLL is what enables a message box for SMS messages with the Wavelink Enabler.

For More Free Training by BIT Tangents: Go to Wavelink Training (Click Here)

Info on Author: Brenton Blawat is a Wavelink Consultant who has worked closely with the Avalanche product for over 5 years. He has integrated Wavelink AMC (and variants) into a multitude of corporations including but not limited to: Seneca Foods Corporation, American Eagle Outfitters, and Alexian Brothers Health System.

** BIT Tangents nor any of its contributors are liable for damages as a result of following these instructions. These instructions are intended as guidelines for best practices and are to be used at the executioners own risk! All re-productions / digital copies of this content must be approved in writing by an authorized representative of BIT Tangents. **

Read Full Post | Make a Comment ( 2 so far )

Understanding Wavelink Auto Run, Support, and Application Packages

Posted on October 22, 2008. Filed under: Software Tangents |

By: Brenton Blawat

To most problems, it is recommend most Users should RTFM and STFW. Q: What happens when reading the manual leaves you even more confused than beginning and searching the web results in NO coherent results for the product?!? A: Well you get my BIT Tangents to listen to…. 😉

Understanding Packages

There are four types of Wavelink packages which can be created:

Auto Run – Provides the ability to execute multiple commands after the deployment of a package. So what exactly does this mean?

img1

The execution of Auto Run commands don’t actually work as you would expect. The Auto Run commands have to be specified in the “Startup Command”. While you’d think you can specify multiple commands, the commands don’t always parse correctly from the Package Builder for an Auto Run Package. As a result, Wavelink Support, and my recommended methodology is to create a auto execution file within the package named : autoexec.bat

This file .BAT file is only allowed to have 1 command contained in it. This is a result of a bug within the Package Builder Software and the way the mobile devices parse the file. As a result, and more perplexing, the a caveat of the software is that it only accepts the following:

1. Single Line

2. No Triggers

3. No spaces to execute other items.

4. Startup command must read exactly: autoexec.bat

Note: The startup command MUST say only autoexec.bat (NO relative path to the file is required) and the autoexec.bat must be configured in the ‘APPS’ ‘Install Drive’ within the package for proper execution (install path should be left blank). Surprisingly enough, the Enabler is smart enough to know that by saying ‘autoexec.bat’ it needs to look in the \Application\Avalanche\Packages\Files\AVA\APPS\APP_NAME\ directory for the file.

Commands which will NOT work:

Copy \Application\Brent.CPY \Windows\Brent.CPY

<– technically the spaces are considered triggers. –>

Cmd.exe /c brent.bat

<– again the use of triggers –>

Commands which WILL work:

\Application\brent.bat

<– My recommended usage –>

\Program Files\BrentsApplication\brent.bat

<—While there is a space, it is still a singular line. –>

Getting the Auto Run to Work correctly

I always recommend two .BAT files with the use of Auto Run Packages. With the inability of the Enabler to parse multiple lines in the autoexec.bat, I call a secondary .BAT file to execute the commands I need to occur. This provides me with a stronger command base and the ability to run IF EXIST, IF NOT EXIST, DEL, COPY, MKDIR, >, ECHO, or any other command that is supported by Pocket CMD.

#1 Setup the autoexec.bat – Create a new .BAT file named autoexec.bat

#2 Mapping to second .BAT – place in the autoexec.bat a single line that states the location of the new .BAT file. The location MUST be the absolute location of the .BAT file.

E.G.

\Application\brent.bat

or

\Application\Avalanche\Packages\Files\AVA\App_Name\Brent.bat

#3 Create the second .BAT file – Create the secondary .BAT file on the system. Place as many command line parameters in the .BAT file as necessary for the package.

#4 Placing of the files within the package – The Autoexec.bat file MUST be located in the ‘APPS’ ‘Install Drive’. The second .BAT should be located in either ‘C’ ‘Install Drive’ and the ‘\Application\’ ‘Install Path (first example) or the the ‘APPS’ install drive (second example).

 

** For more information on building this package; read my Creating an Auto Run Wavelink Avalanche Package.

**Also, for those devices that do not natively support .BAT extensions, you will need to add .BAT registry customization by reading my .BAT Execution for Pocket PC 2003 article.

Support – This provides the ability to place files on the device. In short, the Support Package enables a user to place specific files into specific locations.

Note: While Support Packages do not support the autoexec.BAT syntax, the Support Packages do enable the Post Install Scripts. This allows certain registry entries and files to be imported into the system via their scripting engine.

My Recommendation: Use Support Packages when you want to place files onto the device without the requirement of additional commands. If additional commands are required, create an Auto Run Package.

Application – This provides the ability to place files onto the device, and adding a launch-able icon to the Enabler.

My Recommendation: Don’t use this feature. This all goes back to the Software Profiles. I strongly recommend setting up Software Profiles for individual departments for the handheld devices. In this create an enabler confi package to include the Applications which are required. This enables the Users of these devices to have the same icons and same items on their desktops. Software Profiles are much easier to support and the “one offs” will be eliminated.

Config – This is a method to configure or change a specific file. I’ve avoided the use of Config Packages as there are better methodologies to get around using this type of packages.

My Recommendation: Don’t use this feature. If a file need to be configured, redeploy the file as a Support Package or redeploy the entire software package. This a better solution as upon an update of a software package on the Avalanche server will only send the specific files which were updated; not the entire package.

For More Training: Go to Wavelink Training (Click Here)

Info on Author: Brenton Blawat is a Wavelink Consultant who has worked closely with the Avalanche product for over 5 years. He has integrated Wavelink AMC (and variants) into a multitude of corporations including but not limited to: Seneca Foods Corporation, American Eagle Outfitters, and Alexian Brothers Health System.

** BIT Tangents nor any of its contributors are liable for damages as a result of following these instructions. These instructions are intended as guidelines for best practices and are to be used at the executioners own risk! All re-productions / digital copies of this content must be approved in writing by an authorized representative of BIT Tangents. **

Read Full Post | Make a Comment ( 2 so far )

.BAT Execution for Pocket PC 2003

Posted on October 8, 2008. Filed under: Handheld Tangents |

By: Brenton Blawat

This article is designed to provide a quick reference to those who want to get the .BAT Execution on Pocket PC 2003. Since Pocket PC 2003 does not natively support command line, and further .BAT files, you have to manually setup the .BAT extension mapping within the registry.

Note: This “tweak” can be used for adding any .XXX extension per any customization of your desire.

1. To start, if you haven’t read my article Command Line (CMD.exe) for Pocket PC 2003 , you need to follow the instructions to get PocketCMD on the handheld device PRIOR to this section.

2. Open Notepad

3. Enter the exactly the following:

REGEDIT4

[HKEY_CLASSES_ROOT\.bat]
[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_CLASSES_ROOT\batfile\]
[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@="pword.exe,-110"
[HKEY_CLASSES_ROOT\batfile\Shell\]
[HKEY_CLASSES_ROOT\batfile\Shell\Open\]
[HKEY_CLASSES_ROOT\batfile\Shell\Open\Command]
[HKEY_CLASSES_ROOT\batfile\Shell\Open\Command]
@="cmd.exe /c %1"

Notes:

  • REGEDIT4 is utilized on Cold Boot to tell OS to import this file into the registry.
  • In Pocket PC, before you can write a string, dword, etc.. you have to instantiate the key. As displayed above, the  “duplicate” entries instantiates the key FIRST before then places the appropriate dwords in to the registry space.
  • The ‘DefaultIcon’ registry entry utilizes the notepad icon. This can be changed to any icon on the system.

Understanding the Key Flow:

REGEDIT4 ; tells the OS to import this .REG extension into the registry.

[HKEY_CLASSES_ROOT\.bat] ; instantiates the [HKEY_CLASSES_ROOT\.bat] key
[HKEY_CLASSES_ROOT\.bat] ; Calls [HKEY_CLASSES_ROOT\.bat] key
@="batfile" ; associates the .bat extension to the batfile function key

[HKEY_CLASSES_ROOT\batfile\] ; instantiates the [HKEY_CLASSES_ROOT\batfile\] key
[HKEY_CLASSES_ROOT\batfile\DefaultIcon] ; instantiates the […batfile\DefaultIcon] key
[HKEY_CLASSES_ROOT\batfile\DefaultIcon] ; calls the […batfile\DefaultIcon] key
@="pword.exe,-110" ; associates the pword (pocket word) executable icon to .bat
[HKEY_CLASSES_ROOT\batfile\Shell\] ; instantiates the […\batfile\Shell\] key
[HKEY_CLASSES_ROOT\batfile\Shell\Open\] ; instantiates the […\batfile\Shell\Open\] key
[HKEY_CLASSES_ROOT\batfile\Shell\Open\Command] ; instantiates the ..\Open\Command] key

[HKEY_CLASSES_ROOT\batfile\Shell\Open\Command] ; calls the ..\Open\Command] key
@="cmd.exe /c %1" <— opens the cmd.exe ; /c tells the cmd to close after execution; %1 to execute any variables after….

So… the end result is executing cmd.exe /c batfilename.bat

Sample .BAT Execution .REG file can be downloaded here:

http://www.brentblawat.com/Downloads/MMPT/batsetup.zip

Read Full Post | Make a Comment ( None so far )

Command line (CMD.eXE) for Pocket PC 2003

Posted on October 8, 2008. Filed under: Handheld Tangents |

By: Brenton Blawat

This article is designed to provide a quick reference to those who want to get the command line on Pocket PC 2003. Since Pocket PC 2003 does not natively support command line, Microsoft created a PocketCMD which enables such functionality on these devices.

Download the Microsoft Mobile Power Toys from here:

http://www.brentblawat.com/Downloads/MMPT/WindowsMobilePowerToys.msi

1. Install Microsoft Mobile Power Toys

2. Browse to C:\Program Files\Windows Mobile Developer Power Toys\PPC_Command_Shell\arm\

3. Copy console.dll, shell.exe, and cmd.exe to the handheld’s \Windows\ directory

4. Copy console.dll, shell.exe, and cmd.exe to a persistent memory location. Be sure to include the method by which the handheld should copy those files back into the \Windows\ directory.

Symbol Devices Only: Persistent Storage

1. Open Notepad

2. Type exactly the following:

\Application\Shell.exe > \Windows\Shell.exe

\Application\Console.dll > \Windows\Console.dll

\Application\CMD.exe > \Windows\CMD.exe

3. Save the file as cmd.cpy

Note: The “.CPY” must be present on the device.

4. Copy console.dll, shell.exe, cmd.exe, and cmd.cpy to the handheld’s \Application\ directory

 

Related Article(s)

Please view my article on .BAT Execution for Pocket PC 2003. — This enables a User on a handheld to execute .BAT files from the device itself, or call .BAT files from other .BAT files.

Read Full Post | Make a Comment ( 3 so far )

Importing a New Avalanche Mobility Center Package

Posted on October 1, 2008. Filed under: Software Tangents |

By: Brenton Blawat

Wavelink’s Avalanche Mobility Center (AMC) does not have an intuitive interface for importing packages into the application. I’ve decided to provide step-by-step instructions on how to import ‘New Packages’ (also creating a ‘Software Profile’) into AMC application.

Note: This document has been created utilizing Avalanche Mobility Center 4.2. While the newest version is well above this, the core program is the same.

1. Log into the AMC (default credentials are: U:amcadmin | P:admin)

img1

2. Select Software Profiles

img2

3. Select Add Profile

img3

4. Enter a Name (TestCampusA) for the Software Profile.

Note: Software Profiles

There are two methods by which software profiles can be setup. The first method, and most commonly used method, is creating a new Software Profile for each individual package. While this is an acceptable methodology for setting up packages, it isn’t the method by which the feature was intended.

The second methodology, and typically my recommended solution, is creating Software Profiles per each device role (or location the device will be). For our example, I use “TestCampusA” to describe devices in CampusA that are in test (I could have used “LibraryPDAs” to describe the devices in the Library rather than Campus). This will enable a network administrator to logically segment all packages that should be sent to the set of devices in “TestCampusA”.

While the major disadvantage of the second topology is that a deployment of a single software package to an individual device is not possible, it is typically the organization goal to get all devices configured uniformly. This is why the second methodology is the best methodology as all devices must adhere to the template created in the Software Profile. Likewise, if testing needs to be conducted on several devices, a new software profile, such as “TestCampusA” can be created to deploy new test packages. – and the BIT Tangent ends.

 

img4

5. Select the New Software Profile

Note: A bug / “undocumented feature” in AMC is that doesn’t auto-select the new Software Profile which was created. This step will not be necessary in future releases.

 

img5

6. Select the Software Packages Tab — > Select Install

img6

7. Select — > Browse to the .AVA file you want to import — > Select Next

img7

8. Select YES, I agree — > Select Next >

img8

9. Select Finish

img9

10. Select the New Package — > Select Enable

Note: A bug / “undocumented feature” in AMC is that doesn’t auto-select the new Software Package which was created. This step will not be necessary in future releases.

 

img10

11. Select Selection Criteria — > Enter Selection Criteria for the Software Profile (E.G. IP = 10.10.10.10)

This will set the Selection Criteria for the entire Software Profile of “TestCampusA”. So now, the question –

Q: How can I tell a specific software package to ONLY install on a specific set of devices in this group?

A: This can be done when creating the Software Package. Typically the Selection Criteria of ModelName = “SYM8800” or ModelName = “SYMMC50” should be used on the Selection Criteria of a package (to filter the package to a specific Model Type or device). As I will describe in a different post, DO NOT filter by ‘IP Address ranges’ in Selection Criteria for the Software Package; only the Software Profiles.

 

img11

12. Select the General Settings Tab — > Select Enabled

img12

13. Select Save — > Select Yes to Save Changes

Assigning New Software Profile to a New Location

Now that the Avalanche Software Profile is populated with a Software Package, it needs to be assigned to a Server Region, or specific deployment server (dserver). To do this following steps can be performed:

 

img13

1. Expand My Enterprise — > Expand Your Server Region (Arlington Heights) — > Select the dServer (Salt Creek)

Note: AMC provides the ability to deploy the Software Profile to a granular set of locations. This strictly adheres to the hierarchy scheme of the system. If you deploy the software profile to the “My Enterprise”, the software will propagate to all of the Regions and their dServers. Likewise, if it is deployed to a specific Region, it will propagate to all of the respective Region’s dServers. BE CERTAIN to select the right location when deploying the package, as upon Universal Deployment, the AMC will configure the respective handhelds for deployment of that package.

 

img14

2. Select Software Profile Tab — > Select Add

img15

3. Select the New Software Profile (TestCampusA) — > Select OK

img12

4. Select Save — > Select Yes to Save Changes

img16

5. Select Tools — > Select Task Schedule

img17

6. Select Add…

img18

7. Select Universal Deployment as Task Type — > Select Next >

img19

8. Select My Enterprise or Select Region or Select dServer — > Select Next >

img20

9. Select Perform the task now. — > Select Next >

img21

10. Select Next >

img22

11. Select Finish >

img17

12. Select Close.

The Enterprise / Region(s) / dServer(s) will now be populated with the Software Profiles (and thus the Software Packages contained in the Software Profiles).

For More Free Training by BIT Tangents: Go to Wavelink Training (Click Here)

Info on Author: Brenton Blawat is a Wavelink Consultant who has worked closely with the Avalanche product for over 5 years. He has integrated Wavelink AMC (and variants) into a multitude of corporations including but not limited to: Seneca Foods Corporation, American Eagle Outfitters, and Alexian Brothers Health System.

** BIT Tangents nor any of its contributors are liable for damages as a result of following these instructions. These instructions are intended as guidelines for best practices and are to be used at the executioners own risk! All re-productions / digital copies of this content must be approved in writing by an authorized representative of BIT Tangents. **

Read Full Post | Make a Comment ( None so far )

    About

    Business and Information Technology Tangents is dedicated to providing quality content while informing the world about technology.

    RSS

    Subscribe Via RSS

    • Subscribe with Bloglines
    • Add your feed to Newsburst from CNET News.com
    • Subscribe in Google Reader
    • Add to My Yahoo!
    • Subscribe in NewsGator Online
    • The latest comments to all posts in RSS

    Meta

Liked it here?
Why not try sites on the blogroll...