New Office Outlook 2010 Data File Menu Item

In: Microsoft
Written by: Taylor Gerring

5 Jan 2011

Just a quick note on how to create a new Outlook data file. In Office 2010, Outlook received a ribbon revamp, moving several common menu items around. For Outlook 2007 and earlier, you can locate the appropriate option under File?Data Files. In Outlook 2010, create a new data file by drilling down through the “New Items” button on the Home tab of the ribbon. If you’re more visually inclined, here’s an image to help you locate the menu item:

Read the rest of this entry »

Why RAM Matters Less with OS X Lion

In: Mac
Written by: Taylor Gerring

12 Nov 2010

With the introduction of Lion, memory will likely be less important as a hardware specification for many Mac users. Why? There are a few reasons, of which the entire mobile platform, iOS, plays a large role.

First, let’s take a trip down memory lane to the first three versions of the iPhone. Some of the loudest clamor from users rang to the tune of “WE WANT MULTITASKING!” As is typical Apple fashion, they didn’t bother hacking together some barely passable solution, botching the wonderful user experience they’ve cultured. Instead, they told users that it’ll be ready “when it’s ready”.
Read the rest of this entry »

And thus begins my foray in to X++ development for Dynamics AX 2009. Here’s a proof of concept Job that I created to stuff multiple values into a Map using a Container. This allows me to lookup a few customer details without repeatedly making trips back to CustTable.

static void MapContainerTest(Args _args)
{
    Map                     custNotesMap;
    Container               custContainer;
    CustTable               custTable;
    SalesSourceSystemId     admarcSystemId = "DPRADM";
    Container               conCustDetails;
    str                     admarcAccountId = "000123456";
    ;
 
    custNotesMap = new Map(Types::String, Types::Container);
    while select AdmarcAccountId, RecId, TableId, dataAreaId, PartyId from custTable where custTable.AdmarcSystemId == admarcSystemId
    {
        custContainer = conNull();
        custContainer = [custTable.RecId, custTable.TableId, custTable.dataAreaId, custTable.PartyId];
 
        custNotesMap.insert(custTable.AdmarcAccountId, custContainer);
    }
 
    if (custNotesMap.exists(admarcAccountId))
        conCustDetails = custNotesMap.lookup(admarcAccountId);
    else
        error("Customer not found.");
 
    info(strfmt("RecId: %1", conpeek(conCustDetails, 1)));
    info(strfmt("TableId: %1", conpeek(conCustDetails, 2)));
    info(strfmt("dataAreaId: %1", conpeek(conCustDetails, 3)));
    info(strfmt("PartyId: %1", conpeek(conCustDetails, 4)));
}

In fact, it’s pretty fast and I’m using similar caching technique all over the place to speed up large jobs.

Ubuntu VirtualBox Server Redux Addendum

In: VirtualBox
Written by: Taylor Gerring

25 May 2010

Although the last article on running a VirtualBox server gets you up and running with a minimum installation, there are several things that can be configured or installed to make the experience of managing a VirtualBox server much easier.
Read the rest of this entry »

Default column value to identity of different column

In: SQL Server
Written by: Taylor Gerring

19 Apr 2010

Thanks to my friend Paul Mayle for putting this one out there:

Given a table with columns:
A: int, primary key, identity
B: int, not null

How can I set a default for column B to be the value in column A?

This is an interesting problem on a couple levels. First, a computed column won’t work, because we need the ability to arbitrarily update column B. We could program a trigger, but I prefer to avoid them when possible. Preferably, we could actualize the purpose of the DEFAULT option. Unfortunately, this isn’t immediately an apparent choice because SQL Server doesn’t allow you to reference a column in a DEFAULT specification. In fact, according to BOL, “Only a constant value, such as a character string; a scalar function (either a system, user-defined, or CLR function); or NULL can be used as a default.”
Read the rest of this entry »

@TaylorGerring


Unless specified otherwise, this website is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States.
Stop SOPA
Unless specified otherwise, this website is licensed under a Creative Commons Attribution-ShareAlike 3.0 United States.