Stand Up Desk Solution

Numerous people have been combining 2 of IKEA’s LACK side tables to arrive at a stand up desk retrofit for one’s regular office desk. I looked at some of the other options in the LACK table line, and found there was a coffee table L 35 3/8″ x W 21 5/8″ x H 17 3/4″ that includes a lower shelf: http://www.ikea.com/us/en/catalog/products/00095036/#/10104295

This seemed like a good match for my corner-style cubicle desk, and I liked the fact I could modify and repurpose the lower shelf to become my keyboard and mouse tray. I used all of the parts that came with the coffee table together with some 3/4″ x 1 1/2″ poplar to provide 2 cantilever braces and 2 cross braces (not visible, hidden beneath shelf). I needed a few 1 5/8″ and 1 1/4″ construction screws, and I also trimmed the width of the lower shelf on the table saw so that it would fit between the legs as shown in the picture. The LACK coffee table is currently $19.99 plus shipping from IKEA, and the poplar or an alternative cross brace stock can also be pretty inexpensive at your local home improvement store. The result is an affordable and well-appointed standing desk solution.

standing desk

Here are links to other blogs where people have done IKEA retrofits:

http://iamnotaprogrammer.com/Ikea-Standing-desk-for-22-dollars.html

http://lostechies.com/jimmybogard/2012/11/20/ikea-stand-up-desk-two-months-later/

Exchange 2010 | Error trying to add senders to “accept messages from”

When in the Exchange Management Console (EMC), you try to add more users to an existing list under:
mail flow settings>message delivery restrictions>Accept messages from>Only senders in the following list

… you receive an error ‘Couldn’t find object “juser”‘, and the process fails. You have no means to add users. The problem stems from a disabled user object in the current list.

Here’s a low-tech, Exchange Management Shell process to resolve the issue.

Step 1 –
Run the series of commands shown below (as you may know, the ‘-id room222’ identifies the mailbox you wish to modify):

$kab = get-Mailbox -id room222
$kab2 = $kab.AcceptMessagesOnlyFrom | get-user
$kab2 | ft samaccountname

Step 2 –
The last of the above commands produces a samaccountname list of those the mailbox is currently configured to accept messages from; select and copy that list to the clipboard and paste into a text editor. Edit them into a one-line list separated by commas, then paste as the values for the final parameter of the command show below:

set-Mailbox -id room222 -AcceptMessagesOnlyFrom jdoe,adoe,bdoe,cdoe,ddoe,juser

Step 3 –
When you run the above command, the problem user object will produce the error: Couldn’t find object “juser”. Use the up arrow to repeat the command, but edit out the problem user before again running the command:

set-Mailbox -id room222 -AcceptMessagesOnlyFrom jdoe,adoe,bdoe,cdoe,ddoe

Step 4 –
When the command runs without error, you have eliminated the problem users. Now repeat the command again, but add the samaccountnames of any new users to the end of the comma-separated list.

That’s it. NOTE that this command does not append to the existing user list; every time you run it, you completely replace the prior AcceptMessagesOnlyFrom list. That is why you need the complete comma-separated list when you run the command.

COLDFUSION | Troubleshooting ‘The value of the attribute source … is invalid’ for CFFILE tag

A colleague and I were migrating code to a new CF9 development environment. We were testing a page that used <cffile> tag to move and rename a file as follows:

<CFSET ThisSource = “\\fubarserver\share$\newyork\aaa.cfm“>
<CFSET ThisDestination = “\\fubarserver\share$\chicago\archive\110407-aaa.cfm“>
<CFTRY>
<CFFILE
ACTION = “rename”
SOURCE = “#ThisSource#”
DESTINATION = “#ThisDestination#”>
<CFCATCH>
<CFOUTPUT>
<p>#cfcatch.detail#
</CFOUTPUT>
<CFABORT>
</CFCATCH>
</CFTRY>

The page gave the following error:

The value of the attribute source, which is currently “\\fubarserver\share$\newyork\aaa.cfm“, is invalid.

This made no sense, as we could clearly establish that path was valid and assessible to the website and the ColdFusion instance. Turns out the message is very misleading: the problem was file systems permissions. The CF service account only had ‘read&execute’ permissions on the source directory, and that was the issue. Apparently, even though the ‘rename’ was coded to move the file to a path where the CF service account had ‘modify’ permissions, it required that for any rename operation it should also have ‘modify’ permissions to the source directory; when I set the source directory permissions accordingly, the code executed fine.

VIRTUALIZATION | Adding Intel Pro 100M Nic support to ESXi 4.1

I wanted to make ESXi 4.1 support an Intel Pro 100 PCI NIC that I owned. Below is an outline of how I accomplished that.

ESXi looks for the presence of ‘oem.tgz’ upon startup as the mechanism to introduce non-native devices and their respective drivers. I created a custom oem.tgz as the means to add support for the NIC.

You may run ‘lspci -v’ for a list of all devices present with their device ID’s. You need the device ID notation for use in the simple.map file. (Your computer needs to be in ‘Local Support’ mode, after which you do Alt-F1 to access the shell)

The driver you need is available here: http://cid-27745855ca543aa9.office.live.com/self.aspx/.Public/e100.o

Run a FTP server on your local network (Filezilla is a good option), and make your e100.0 file available via the ftp server.

Put ESXi install into ‘Remote Tech Support’ mode (you do this from the console on the host computer).

SSH to the ESXi host.

Use WGET to download the e100.o driver file from your FTP server to your ESXi host volume.

Copy the ‘simple.map’ and ‘pci.ids’ files to a temp directory location (so you can bundle them into oem.tgz file later). You’ll find these files in ‘etc/vmware’.

Edit ‘simple.map’ to add entry for the nic (using vi editor). The line I added is shown in the snapshot below.

simple.map excerpt

For peace of mind, you can also confirm the nic is already identified in the ‘pci.ids’ (below is a snapshot from my pci.ids file, confirming the presence of the device).

pci.ids excerpt

Create the tar archive file. Your files to be archive should be structured as follows:

oem/etc/vmware/simple.map
oem/etc/vmware/pci.ids
oem/usr/lib/vmware/vmkmod/e100.o

Place the tar file in /bootbank.

Confirm the new nic is connected via patch cable to your switch and shows an active link.

You’re done. When you reboot, the Intel Pro 100 NIC should get initialized and be available for use within ESXi.

I understand this post is a little short on details. It is closely related to another of my posts here. If you look at the more detailed steps of that post, they may help you to understand my more general instructions in this one.