Friday, August 15, 2014
5 Creative Ways to Settle Office Disputes
Here's a short list of five (5) suggestions that might help improve the situation and make everyone feel better enough to give each other a big sloppy kiss, without any hidden sharp objects.
Tip 1- Jello Wrestling with a New Twist
This one works great regardless of the gender bias that may exist in the room. Everyone has to consume 1 gallon of Jello powder mix, then drink a 1 liter bottle of soda, and then get in a ring and beat the living crap out of each other. First one to puke all over their opponent, wins.
Tip 2 - Paperwork Shuffle
Everyone in office environments likes to brag about how they suffer with the most paperwork, email, IM calls, voicemails, and so on. Perfect examples of "first world problems" if ever there were any. Imagine trying to elicit tears from a starving mother and her starving group of babies, too famished to swat away the incessant swarm of flies and mosquitoes. They will pity you for sure. So how about putting your money where your mouth is, and challenge the opponent to produce enough evidence to back it up? The one who shows up with the most weight (use an approved scale obviously), wins.
Tip 3 - Marching Band
When the other person won't shut up, start humming the tune to something familiar like "Glory Glory Hallelujah". Start quiet at first, then gradually bring up the volume until you can barely catch your breath in between gasps to belt out that next glorius bar. Bonus points can be earned by pretending to march in formation, by yourself of course, around the conference room.
Tip 4 - Zen
When the other person continues to argue their point, refusing to hear your side at all, just stare at them without blinking as long as you can possibly manage. Never, and I repeat NEVER, blink or look at anything else in the room besides their eyes. They are like source of energy. Feed off of them. If you can stare at them long enough, one of two things are most likely to happen next: (1) they will call security for help, or (2) they will scream like a wounded baby and run down the hall as if zombies are trying to eat them. Either way, the original problem should now become moot.
Tip 5 - Levity
When violence fails to solve a problem, humor often stands a small chance of working. That's what most of the infamous world fascist dictators would say, or so I've heard. Try this instead of a gun or knife: When the opponent begins to raise their voice and shake their head in disagreement over some aspect of the topic at hand, start stripping off clothing until you're only in your underwear. Not all at once, but remove one piece of clothing after each time they speak a phrase in disagreement. When they finally realize what's happening, look at them and wait. If they remain silent, offer this, "if you stop now, I win. If you continue on, I will have to add whipped cream to this and keep moving."
If you try any of these out, be sure to post a comment below to let us all know how it worked out? We'd love to hear your thoughts on this. Have a swell weekend!
Sunday, June 15, 2014
IT Kool Aid Flavors: Vendor or Reality
Case in point:According to one reseller, the world is running, or eagerly in the process of pursuing, a "pure" Windows Server 2012 R2 and Windows 8.1 / Update 1 environment.
Other sprinkle-toppings may include flavor crystals like all the 2013 products (but don't forget SQL Server 2014), and of course, the ubiquitous "cloud" world and Office 365/Azure. And don't forget, if you bundle you get a free kid's toy. Is this for a boy or a girl? Do you want to super-size that as well?
And, please don't get me started on how to properly pronounce Azure.
Anybody still using XP? Vendor says: Pfffft! I think not (p-shaaaa!).
Not so fast.
The uncounted, 70-90% of the computer-swilling world doesn't have the luxury of IT project plans, operational efficiency directives and SLA's to worry about. They're busy trying to make things, sell things, build things, fix things, provide services, and all that mumbo-jumbo. The kind of stuff that a lot of larger shops don't seem to have as much "direct / hands-on" exposure to anymore.
Nowadays, many larger shops have grown into detached sector/division/department/project/task-group/tiger-team environments, where they fit into a mesh of bean-counter menageries that eventually lead to something that tickles shareholders and keeps the paychecks flowing.
I have no intention of offending or insulting anyone by this (well, okay, maybe some resellers and sales-folks), but the truth can be summed up in a very simple example:
Kathy's landscaping shop has a few apps they bought with personal funds to help with designing backyard ponds, estimate water coverage, soil depths, and seasonal impacts on gardening. They bought them when they bought their prized Dell or HP desktop they still use with Windows XP. And guess what: IT STILL WORKS. In their view, shiny new touch-screen tiles and cloud things are not as exciting as kicking the shit out of the revenue numbers compared with the nearby Lowe's or Home Depot.
Their IT support center? 1-800-ASK-DELL or 1-800-WHATS-YOUR-KIDS-FRIENDS-NUMBER-AGAIN?
Sure, there are distinct, and tangible values to the new features provided by Windows 8 and so on, but for many (okay, dare I say: most) small businesses, and home users as well, the deciding factor is "why do I need to buy another new computer if the one I have still works?" For many small "mom-and-pop" shops, the apps they depend on aren't tops on the lists of bigger companies. They tend to be very industry-specific, and extremely function-specific as well. Things that perform one task, maybe two, but do them well, and are also either cheap, or free.
Ask any software repackager who deals with more than a hundred titles, and they'll probably have no trouble recalling a list of those "oddball" apps that are tough to wrestle into a package, but for whatever reason, HAVE to be made available or the planets will spin out of orbit and gravity will dissolve. Floral arrangement apps may seem stupid, but tell that to a small, family-owned Florist.
The consumer isn't broken. The rationale isn't broken either. And neither are the products. What's broken is the sales pitch.
Remember the Daffy Duck salesman episode? Hey Bud, you need a house to go with this door knob.
PS. In case you're wondering, the photo depicts (for me, anyways), from left to right: me, a vendor, and a small-business owner.
Sunday, May 4, 2014
Windows 7 Desktop to Windows 8 Tablet Migrations: With Fries, a Drink and a Xanax
The basics of the environment are this:
- Active Directory (Windows Server 2012)
- Windows 7 SP1 Enterprise 32-bit on 99.99% of the desktops and laptops
- Office 2010, IE8 on most everything, but some smattering of IE11 and Google Chrome
- Almost no Windows 8 production computers
- Roughly 1400 distinct software applications
- Roughly 6000 desktops / laptops / users
- Does the application sport a UI that is easy to use on a tablet? (i.e. the "UX" aspects)
- Does the application work well with kinds of touch input "gestures" that a tablet provides?
- Does the vendor give a shit about tablets, or Windows 8 for that matter?
- Does the application rely on a specific CPU architecture? Not just AMD vs Intel, but how it pertains to Windows (e.g. "Program Files" vs. "Program Files (x86)", and the wonderful Registry hive "WOW6432node" stuff)
- Does the application rely on specific browser interfaces? Will it work as well with IE11 as it does (or did) with IE8?
- Does it rely on a particular Microsoft Office version?
Sunday, December 23, 2012
Windows 8 - Scoring my Predictable Predictions
Well, I'm following up on it now:
- I still stand behind what I posted. That sounds bold, but it's really an easy thing to say, since I'm really standing (ok, sitting) "behind" miles of Internet circuitry, bazillions of electrons, a bunch of ISP connections, wireless signals, a million smartphones and mobile devices, and a glass of milk with some half-eaten cookies. At least my trusty, and sleeping Beagle will protect me.
- Today's news has been reporting that holiday sales of Windows 8 have been "disappointing".
- Enterprise customers are still Microsoft's bread-and-butter
- Even with some signs of hope, the Consumer market continues elude Microsoft (as compared with Google's Android eco-system, and Apple's iOS juggernaut)
- The volume of high-profile Windows 8 migration projects appears to be non-existent. Compared with Windows 7 (remember the impressive list of big customers announcing early adoption? Yeah. Not quite there with Windows 8)
- Lastly, my statement about the "marketing stupidity" is still as valid. The ads are still aimed at consumers, not the enterprise. Until they can coerce the market forces to be aligned otherwise, ignoring the enterprise customer base is shooting themselves in the foot.
[A] "I like it a lot more than Windows XP!"
[B] "I've heard Windows 7 is better than Windows XP. Should I/we upgrade?"
[C] "I/we didn't like Windows Vista, is Windows 7 really worth skipping Vista for?"
I've heard none of these comments about Windows 8 from any of my customers, and from my discussions with other local consultants and IT workers, they're not hearing it either. It's a shame too, in some respects. The parallels/similarities between Windows 8 and Windows Vista are almost uncanny:
- Most of the UX changes feel unnecessary from a functional aspect. Some aspects are nice, like the "metro" theme motif itself, but the tiled UI on a desktop or laptop is just not happening for most users. Even if you happen to disagree with that, it's hard to argue that there shouldn't be at least the option to continue using the traditional Start Menu design. The astounding number of downloads of third-party add-ons to do just that should be enough to warrant a second consideration.
- Some features seem more difficult to access (shutdown, restart, Windows Update, etc.) as compared to the previous version. With Vista it was that whole Network Neighborhood shuffle.
- The "classic" UI fallback is either crippled or non-existent, opening the door for third-party solutions (Stardock, ClassicShell, etc.) which is a concern for managing a taller "stack" for enterprise deployments. Many (actually most) enterprise environments I've seen skipped Vista entirely, instead focusing on migrating from XP to Windows 7. That incurred hardware upgrades, and at least some targeted education of their users, officially (intranet how-to's, e-mails, etc.), or otherwise (ad hoc, over-the-shoulder training).
So, getting more to the point: How would I score my hit-list of predicted fixes for Windows 8? Let me enumerate thy ways:
- A "Windows 7 Classic" theme, that looks EXACTLY like Windows 7. For businesses to roll-out onto their already shell-chocked XP-to-7 users. Then we can shift to Metro later when the Xanax runs out.
Score: A+ / Start8 by Stardock, ClassicShell, and other add-ons appear to be flying off the virtual shelves as users look for ways to restore their Start Menu comfort zone. - A native App-V client included in the base product. App-V is cool, but I'm really sick of how hamstrung it is within MDOP and EA/SELECT and it's really holding back a lot of potential. Sick isn't the word. Disgusted is more like it. Score: C- / The XAML (Metro/Tile) application model is a half-way solution to the portability aspect of App-Virtualization models. Nothing has really opened up as far as the App-V/MDOP licensing constraints are concerned, but XAML shows promise for future cross-(Microsoft-based)-platform development.
- A native MED-V feature as an option. My feeling is the same as described for App-V.
Score: B / While Embedded XP has kind of been forgotten, at least Microsoft took the rather bold move to offer Hyper-V 3.0 for client devices. It still lags behind VMware for desktop Virtualization in some respects, but it's still a good move. Competition is good for the customer (hence VMware Workstation 9's somewhat hurried release). - A better approach to COM activation than DCOMconfig.
Score: F / No change. - A better solution to keep the Registry clean.
Score: F / No (significant) change.
If Microsoft had a crystal ball, they would name it "Microsoft System Center Crystal Spheroidal Prediction Device 2012 Ultimate Enterprise Edition". Geez. I crack myself up. How pathetic.
And there you have it: Another dose of my completely useless, mind-numbing stupidity, shrink-wrapped and stamped with a scratch-n-sniff label that says "Check this out!".
Merry Christmas!
Monday, February 13, 2012
Choosing the Right Data Repository
This article cooked up in my thimble-sized brain after a string of events at my office. The issues all circled around having islands of data sitting around in various places, inside of various "containers" and in various formats and structures. The data in one particular case involves inventory. But inventory is a big, fat, drippy, soggy bag of goo that has different meanings and different values to a lot of people circled around it like kids at a campfire. Some want numbers. Some want names and labels. Some want locations. Some want state values (indicators of current status or changes of state). Some want derivatives, like contract data, support metrics, and other secondary and tertiary cost drivers.
If you put a microphone up to each of these people and ask them where all this data should reside, you will very likely hear a wide variety of answers:
- Spreadsheets
- Database Tables
- XML files
- Visio Drawings
- AutoCAD Drawings
- Compound Documents (Word documents with embedded spreadsheets, etc.)
- Web-enabled reports (web services providers)
- Paper print-outs
- You can't predict future needs
- You can't predict future project priorties
- Sizing the storage requirements is challenging
- Placing the storage provider is challenging
- Avoiding proprietary "lock-in" can be challenging
- Strive for version independence. Avoid storing in a product where version changes often cause upgrade issues for consumer applications and services. ADO and ADO.NET (ODBC, OLEDB) are fairly version-agnostic. Meaning that if you move the tables from SQL 2008 R2 to SQL 2012 there's much less chance of having to recode applications to change the connection endpoint compared with storing in Microsoft Access, Excel or even AutoCAD drawings.
- Find a "platform-neutral" provider medium. Client applications are always off the table unless there isn't a choice. It has to be a "server" application or service. It has to provide robust access to everyone that needs it, with the least overhead, and the least performance drag. If every consumer of the data has to have a proprietary application installed in order to access it, you're taking a risky, and often costly direction. This is why databases are most often preferred, since they offer up access in the most neutral ways and the widest range of applications and uses.
- Take your time! Don't let anxious users pressure you into making a quick decision rather than a correct decision. Just because the floor plan folks want everything in AutoCAD in time to meet their looming deadline doesn't mean that a month later, five times as many users will scream for access to the data via a web services provider medium, or an XML table.
- Try to leverage what you already have. If you have Oracle, use it. If you have SQL Server, use it. If you have an intranet server with web services enabled, use it. Try to not build new bridges when others exist unless you can't possibly make do with what you have. Reinventing the wheel is dumb.
- Enlist an objective team. Gather folks from your database group, your applications development group, management group, finance group, any group that might even be remotely impacted by what you're trying to accomplish. You'd be amazed what you can learn from people you didn't think had any interest or involvement in what you'r doing. Many times they've been down the same road before and can offer valuable insight and advice. Take it! Learn from it. It's ok to meet with the direct consumers, but if you surround yourself with only them, you will be going forward semi-blind.
- Get metrics! Don't ever base a purchase decision or a project direction on input from test users that don't back it up with hard numbers. It's not that you can't trust them (sometimes you can't), but it's that without numbers, there's no way to objectively compare and analysis what's going on. For example: I was involved with a project to establish a central data repository for a variety of applications over assorted quality WAN links. Three of the locations complained about performance problems and pushed HARD to go with another alternative. It turned out to be a network link configuration problem at the router, and once it was addressed, the performance was perfectly fine. Had this not been investigated, the alternative project direction would have delayed the entire project for four more months and added 50% more cost. Metrics are king.
Friday, March 18, 2011
Why I was Wrong: Part 2b
So, I already mentioned that I had made a foolish decision to chase the scripting path for deploying an Office 2010 upgrade to our 2007 users (as well as being part of our SCCM OSD task sequence for imaging new machines). Rather than describe the steps in nausiating detail, since there's already a bunch of articles, blogposts, wikis and whatnots out there that do that just fine, I will summarize by saying that all you need are:
- A shared folder with the Office 2010 installation source
- A custom .MSP from the Office 2010 Customization Toolkit (setup.exe /admin)
- A custom config.xml (or whatever you want to name it)
- A cup of strong coffee, and some headphones, and a huge grin on your face
Then the package program simply does the following…
setup.exe /adminfile custom.MSP /config config.xml
Done.
Make sure you follow some standard best practices for customizing the MSP from OCT, like turning off the prompt for updates at the end or first-launch of an Office app. The default option is to remove previous versions. But be sure to set the config.xml to properly hide the progress, disable the completion notice and suppress modality. Then you're good. I'm good. We're all good. Let's drink something good now. Cheers!
Thursday, March 17, 2011
I Was Wrong
A former boss of mine, back in my construction days, used to say "I am man enough to admit when I'm wrong. I was wrong to listen to you!" and he somehow kept a straight face. Just a thought that made me smile, but in any case, I can't blame anyone but myself.
The reason is this: The WMI Uninstall() method works fine. The WMI process monitor on "setup.exe" works fine as well. But the problem is that when it's done with "setup.exe", it forces a reboot 9 times out of 10. That's not good (unless you don't intend on finished the rest of the script for installing 2010).
The better way is to use "setup.exe /uninstall [ProductCode] /config [config_file.xml]" where [ProductCode] is something like "ProPlus" or whatever. The trick is that you have to kick it off with "start /wait", but that's not all (sorry Billy Mays and Ron Popeil). The START command doesn't like UNC paths. So you need to stuff a PUSHD call in first, switch to the source (admin) share for Office 2007 and run the START /WAIT SETUP.EXE... command from there. Then it works.
Wednesday, March 16, 2011
Script/SCCM Upgrade Office 2007 to Office 2010
Watch out for word-wrapping!
CMD Script
@echo off rem **************************************************************** rem Filename..: setup.cmd rem Author....: David M. Stein rem Date......: 03/16/2011 rem Purpose...: install microsoft office 2010 (remove 2007 if found) rem **************************************************************** CLS title Installing Office 2010 echo Installing Microsoft Office 2010... SETLOCAL set APPNAME=Office2010_x86 set LOG=%TMP%\%APPNAME%_install.log rem set MSI=/quiet /norestart echo %DATE% %TIME% installing... %APPNAME%... >%LOG% echo %DATE% %TIME% source....... %~dps0 >>%LOG% echo %DATE% %TIME% target....... %COMPUTERNAME% >>%LOG% echo %DATE% %TIME% windir....... %WINDIR% >>%LOG% echo %DATE% %TIME% progfiles.... %PROGRAMFILES% >>%LOG% echo %DATE% %TIME% temp......... %TMP% >>%LOG% echo INSTALL LOG: %LOG% echo ----------------------------------------------- >>%LOG% echo *** REMOVE OFFICE 2007 *** >>%LOG% rem ------------------------------------------------ echo %DATE% %TIME% info: checking if office 2007 is installed... >>%LOG% if exist "%ProgramFiles%\Microsoft Office\Office12\winword.exe" ( echo %DATE% %TIME% info: *** removing Office 2007... >>%LOG% cscript /nologo "%~dps0uninstall2007.vbs" >>%LOG% ) else ( echo %DATE% %TIME% info: Office 2007 was not found on this compuer. >>%LOG% ) echo ----------------------------------------------- >>%LOG% echo *** INSTALL OFFICE 2010 *** >>%LOG% echo %DATE% %TIME% info: app-log is %temp%\Microsoft Office Professional Plus Setup(*).txt >>%LOG% echo %DATE% %TIME% command is "%~dps0setup.exe" /adminfile "%~dps0custom.MSP" /config "%~dps0ProPlus.WW\config.xml" >>%LOG%
rem --- intentional line break for blog post --- "%~dps0setup.exe" /adminfile "%~dps0custom.MSP" /config "%~dps0ProPlus.WW\config.xml" echo installation completed! if %errorlevel%==0 ( echo %DATE% %TIME% info: installation was successful >>%LOG% ) else ( echo %DATE% %TIME% fail: exit code is %errorlevel% >>%LOG% )
ENDLOCAL exit %errorlevel%
VBScript File
Rather than using the setup.exe or direct msiexec /x options for doing the uninstall, I just crack my Indiana Jones whip on WMI and let it do the uninstall. Only problem is that the "Uninstall()" method doesn't wait. So I had to insert a process termination monitor (below) to watch for when "setup.exe" finishes before continuing on.
'****************************************************************
' Filename..: uninstall2007.vbs
' Author....: David M. Stein
' Date......: 03/16/2011
' Purpose...: uninstall office professional 2007
'****************************************************************
Dim query, objWMI, colSoftwareComponents, objSoftwareComponent
Const strComputer = "."
wscript.echo LogDate & " info: searching for office professional 2007..."
query = "Select * from Win32_Product " & _
"Where Name = 'Microsoft Office Professional Plus 2007'"
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colSoftwareComponents = objWMI.ExecQuery (query)
For each objSoftwareComponent in colSoftwareComponents
found = True
wscript.echo LogDate & " info: removing office professional 2007..."
objSoftwareComponent.Uninstall()
Next
If found = True Then
' this is where we setup a watch to wait for setup.exe to finish...
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
query = "SELECT ProcessId FROM Win32_Process WHERE Name='setup.exe'"
Set colItems = objWMIService.ExecQuery(query,,48)
For Each objItem in colItems
intProcessID = objItem.ProcessId
Next
If intProcessID <> "" Then
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery _
("Select * From __InstanceDeletionEvent Within 1 Where " & _
"TargetInstance ISA 'Win32_Process'")
Do Until bTerminated = True
Set objLatestProcess = colMonitoredProcesses.NextEvent
If objLatestProcess.TargetInstance.ProcessID = intProcessID Then
bTerminated = True
End If
Loop
If bTerminated = True Then
wscript.echo LogDate & " info: office professional 2007 uninstalled" wscript.echo LogDate & " info: exit code is " & err.Number
Else
' yes, I know this condition can never be true, oh well.
wscript.echo LogDate & " warn: setup.exe process failed to terminate." End If
Else
wscript.echo LogDate & " warn: unable to obtain processID handle"
End If
Else
wscript.echo LogDate & " info: office professional 2007 was not found"
End If
'----------------------------------------------------------------
' comment:
'----------------------------------------------------------------
Function LogDate()
LogDate = FormatDateTime(Now, vbShortDate) & " " & _
FormatDateTime(Now, vbLongTime)
End Function
So when you call the .CMD script, it launches the .VBS script and checks for Office 2007 and (if found) uninstalls it, then returns to the .CMD script process to finish installing Office 2010. So far, so good. I hope this helps someone else out there.
Wednesday, March 2, 2011
What I've Accomplished This Week
- Packaged Office 2010 using OCT and Config.XML modification to deploy with SCCM
- Wrote scripts to customize MED-V client deployments via SCCM
- Wrote scripts to customize MED-V client workspace management features
- Worked on integrating SCCM with a web interface and SQL
- Installed and testing IE9 RC, Chrome 11, and Firefox 4
- Testing the IE9 Developer Tool (F12) Network Trace toolset (very nice!)
- Updated my Google Chromebook CR-48 to the Dev Channel (0.10.x)
- Finished reading a few books:
- Dan Brown's "The Lost Symbol"
- Laura Hilldebrand's "Unbroken" (very good!)
- Started reading "The Accidental Billionaires"
- Reading samples of several books to decide on which to buy next:
- Don Rumsfeld: "Known and Unknown"
- Dan Brown: "Digital Fortress"
- a few others
- Watched "The Town"
- Ironed four shirts
- Polished one pair of brown shoes
- Ran my first full mile, without a break, since I was in my 20's - just last night!
Monday, February 7, 2011
Avoid Extremes
Same goes with technology. I say it all the time, that if anyone says "you have to use X because it's just the best" or "X is crap and won't work", but can't seem to offer up a non-emotional, level-headed, concise yet meticulous rationale, then move on to the next "expert" and keep searching for a better answer.
Examples?
PowerPoint, Excel and Access. So many people open their jaws to spew ignorant crap like "oh you should avoid PowerPoint always", that it is slowly becoming a mantra for the ignorant. There's nothing wrong with PowerPoint. There's nothing wrong with guns and bullets. There's nothing wrong with fire. It's all a matter of HOW you use them. PowerPoint can be used to make incredibly entertaining, educational, informative, and interesting presentations. It can make dynamic workflows, process diagrams, and do things that I wish Visio could do. Excel and Access also get a bum rap by the ignorant and naive of the world. Just because MOST people don't know how to use them properly (or effectively), does not translate into them (as tools of the trade) being useless or "bad". Try to avoid falling into the rhetorical traps of our world. Dogma sucks.
Monday, November 29, 2010
My Arsenal of Packaging and Deployment
I had just finished my third coffee and pondering why it was having no effect on me, when I realized it was because I had no sleep the night before. The lack of sleep, combined with an overdose of caffeine and sugar led my brain to a big empty thought cloud. The kind that would have made Beevis proud. Then I look started thinking about what are all the things I use to prepare a software package for deployment. Here goes:
Office 2007 Custom Installation Wizard
Office 2010 Customization Tool + Office ADM/ADMX templates
Autodesk Deployment Wizard (AutoCAD, Inventor, 3DS Max, etc.)
Adobe Custom Installation Wizard (CS5 products)
Adobe AAMEE for patch downloads and deployments
Wise Package Studio 8.0 and make a snapshot capture into .MSI
Run setup.exe and grab the .MSI from %temp%
Run setup.exe with –r and capture the setup.iss
Direct Files: .MSI, .MST, .MSP
CACLS.exe
REGINI.exe
Orca
Sysinternals PStools, Procmon, Process Explorer
TextPad 5 (for scripting)
SMS Trace32 (log viewing)
7-Zip
Saturday, November 20, 2010
Basic Math is Dead
It amazes how many people pull a "decision" from their ass without taking a few seconds to do the math. Here's a simple case in point:
A former co-worker was lambasting the Keurig K-cup coffee/tea brewing machine as being a waste of money. Now, excluding individual/personal vices and virtues, I'm not going to pick on him for smoking cigarettes, drinking beer, or buying camoflage clothing (when he rarely goes into the "woods"), but regardless, he insisted that the Keurig machine was indefinitely more expensive and could not "pay for itself" by comparison to walking over to the nearby 7-11 for an 8oz cup.
Here's the math:
- Price of Keurig machine at Sam's Club: $110
- Price per box of 80 count k-cups at Sam's Club: $30
- Price per k-cup: $0.38
- Cups per day: 2
- Price per 8oz cup at 7-11: $1.00
- Savings per day with k-cups: $1.25
- Savings per 80 weeks: $112.50
So, after 80 weeks, the savings from lower supply costs will have paid for the machine itself. Of course, this is skewed logic, but it still illustrates that nobody in the room had any idea if the k-cups were even cheaper until one person whipped out a notepad and pen and did the math on the $30 80-count box. Frustrated with the number, the co-worker then turned to the coffee pot and said "well, that's only 50 cents per cup!" ![]()
Thursday, June 24, 2010
If Offices Were Run Like Construction Sites
After years of working in construction, then college, followed by office-oriented jobs, I've come to realize some interesting comparisons.
- Leaving an empty water jug in the dispenser would be punishable by wedgy
- Leaving 0.5 cups of coffee in the pot and walking away would be punishable by urinating in your cup
- Standing outside taking a smoke break would be punishable by a face smack
- Taking three smoke breaks? Three face smacks
- Walking off when your lunch is finished in the microwave: Free lunch for anyone standing nearby
- Whining about the lighting: circle up the coworkers to perform synchronized laughing
- Complaining about being tired: Send employee outside to dig a 100ft long trench, 3 feet deep (no changing clothes either)
- Complaining about parking so far away: Move parking space back 10 spaces for every complaint spoken
- Taking the elevator when you really don't have an excuse: 20 push-ups in the parking lot
- Scheduling more than one meeting per week: 20 push-ups in the parking lot
Thursday, January 14, 2010
Did you know: You can Automate Org Charts from Active Directory?
| Yep. You can. Here’s all you need:
|
Saturday, April 25, 2009
Run the Outlook Profile Migration Utility in a Login Script
Function MigrateOutlookProfile()
Dim $dc, $clientlog, $migprof, $exprof, $temp
$dc = SubStr(@LSERVER,3)
$exprof = @LSERVER+"\Netlogon\exprofre.exe"
$temp = ExpandEnvironmentVars("%temp%")
$clientlog = $temp+"\exprof_"+@wksta+".log"
If Exist($exprof) = 0
? "mgrOutlookProfile...: error - unable to locate exprofre.exe!"
Return
EndIf
If Exist($clientlog)
? "mgrOutlookProfile...: deleting previous log file..."
Del $clientlog /c
If @ERROR > 0
? "mgrOutlookProfile...: failed to delete log file!"
EndIf
EndIf
? "mgrOutlookProfile...: migrating outlook profile..."
$migprof = $exprof+" /targetgc="+$dc+" /v /n /logfile="+$clientlog
? "mgrOutlookProfile...: $migprof"
Run $migprof
? "mgrOutlookProfile...: process has been initiated and will continue"
? "mgrOutlookProfile...: check for the following log when finished..."
? "mgrOutlookProfile...: $clientlog"
EndFunction


