All posts by Mark Jacobsen

Weekly Round-Up: 4/14/13 to 4/20/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Mon 4/15
Living With Less. A Lot Less – I like the point about filling our space whether we need to or not –

Tue 4/16
Joshua Becker @joshua_becker says: Maybe the Answer is Owning Less –

Wed 4/17
James Collins: Manifesto –

Thu 4/18
James Altucher @jaltucher on: Why I Am Never Going to Own a Home Again –

Fri 4/19
MMM @mrmoneymustache says: A Peak Life is Lived Off-Peak –

Weekly Round-Up: 4/7/13 to 4/13/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Mon 4/8
The @tmninja on: Why Your Todo List Should Never Be Empty –

Tue 4/9
Science Explains Why You Should Stop Hitting the Snooze Button –

Wed 4/10
MMM @mrmoneymustache clues you in on: A Lifetime of Riches – Is it as Simple as a Few Habits? –

Fri 4/12
Kristen Howerton: Can We Bring The Holidays Down A Notch? <- Amen to that! -

Outlook Macros to Categorize and Archive Messages

If you’re still rockin’ Outlook 2007 and want to create some macros to categorize or archive your email, here’s some copy and paste code to have fun with…

Sub Archive()
    Call CommonCategorizeAndArchive(True, False, False)
End Sub

Sub Categorize()
    Call CommonCategorizeAndArchive(False, True, False)
End Sub

Sub CategorizeAndArchive()
    Call CommonCategorizeAndArchive(True, True, False)
End Sub

Sub Task()
    Call CommonCategorizeAndArchive(True, True, True)
End Sub

Private Sub CommonCategorizeAndArchive(archiveEm As Boolean, categorizeEm As Boolean, taskIt As Boolean)
    Dim olApp As New Outlook.Application
    Dim olItem As Object
    Dim olExp As Outlook.Explorer
    Dim olSel As Outlook.Selection
    Dim olArchive As Outlook.Folder
    Dim olTasks As Outlook.Folder
    Dim olNameSpace As Outlook.NameSpace
    Dim olTmpMailItem As Outlook.MailItem
    Set olExp = olApp.ActiveExplorer
    Set olSel = olExp.Selection
    Set olNameSpace = olApp.GetNamespace("MAPI")
    Set olArchive = olNameSpace.GetDefaultFolder(olFolderInbox).Folders("@Archive")
    Set olTasks = olNameSpace.GetDefaultFolder(olFolderInbox).Folders("zTasks")

    For intItem = 1 To olSel.Count
        Set olItem = olSel.Item(intItem)
        olItem.UnRead = False
        If (categorizeEm = True) Then
        End If
        If (archiveEm = True) Then
            olItem.Move olArchive
        End If
        If (taskIt = True) Then
            Set olTmpMailItem = olItem.Copy
            olTmpMailItem.Move olTasks
        End If
    Next intItem
End Sub

Weekly Round-Up: 3/31/13 to 4/6/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Mon 4/1
Dan Rowinski says: The Hackers Are Winning –

Tue 4/2
Mansal Denton gives you the: Top 10 Time Killers (and How to Fight Back) –

Wed 4/3
Why you need F-you money –

Thu 4/4
Meghan Nathanson on: 10 Ways to be Mindful with your Children Again –

Fri 4/5
Leo @zen_habits on: Getting Your Family On Board with Life Changes –

Weekly Round-Up: 3/24/13 to 3/30/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Mon 3/25
How car salesmen use the Four Square Worksheet to get you to pay as much as possible – thanks genius for posting 🙂 –

Tue 3/26
17 Things Car Salesmen Don’t Want You to Know –

Wed 3/27
Get the Best Price on Your Next Car by Never Setting Foot on the Lot Until You’re Ready to Buy –

Thu 3/28
Money Might Be Ruining Your Mood (Here’s How to Stop It) –

Fri 3/29
Email Best Practices for Teams –

XPath Query Not Returning any Results in Java

In looking over documentation on XPath queries it seemed easy enough to be able to pull out values from XML, but try as I might I kept getting no results back. Even searching on the root element “/elementName” didn’t return any results. Of course, as with all things Java there’s a trick and that trick is to call setNamespaceAware(). Here’s a quick and dirty example…

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(false); // NEVER FORGET THIS
DocumentBuilder builder = domFactory.newDocumentBuilder();
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("/items/item[@id='2']");
return (NodeList)expr.evaluate(domDocument, XPathConstants.NODESET);

Weekly Round-Up: 3/17/13 to 3/23/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Mon 3/18
Christopher S Penn @cspenn reminds us about the power of open standards asking: What will kill email? –

Tue 3/19
John Cheese on: 4 Things Politicians Will Never Understand About Poor People –

Wed 3/20
The @tmninja on: 10 Mistakes Companies Make That Destroy Employee Productivity –

Thu 3/21
Big Food Is Making Us Sick –

Fri 3/22
How I failed my daughter and a simple path to wealth –

Output a DOM Document as XML using Java

Ok, here’s another nerdy post for all the java developers out there.  Hopefully it saves you some time.

Let’s say you have a XML DOM Document that you’ve been modifying in your code, and now want to write it back out as XML.  One would think there would be a nice toXml() method or something on the Document, but there isn’t.  Instead, make sure you have the xalan.jar file on your class path and use this function…

public static String getDomDocumentAsXml(org.w3c.dom.Document domDocument)
		TransformerFactory tf = TransformerFactory.newInstance();
		Transformer transformer = tf.newTransformer();
		transformer.setOutputProperty(OutputKeys.INDENT, "yes");
		StreamResult xmlOutput = new StreamResult(new StringWriter());
		transformer.transform(new DOMSource(domDocument), xmlOutput);
		return xmlOutput.getWriter().toString();
	catch (Exception e) { e.printStackTrace(); return null; }

Weekly Round-Up: 3/10/13 to 3/16/13

The Weekly Round-Up is a once weekly collection of my #1Aday daily shares. Hope you find something of interest!

Tue 3/12
The Pawn Shop Debacle: I learned why Pawn Shops are evil & reinforced the value of being able to fix things

Wed 3/13
Christopher S. Penn @cspenn on: Which 3 metrics should you pay attention to –

Thu 3/14
The @tmninja on: 10 Ways You’re Wasting Other People’s Time –

Fri 3/15
100 Life Hacks That Make Life Easier –

Subscribe to the newsletter if you’re reading this in Google Reader

Do you read this blog on Google Reader? Then chances are you’ve heard that the Goog is shutting the party down in July. As a big fan this makes me sad, but as the Chris(es) (Penn and Brogan) have done, I too would like to remind you that you can get the same content by subscribing via email.

When you subscribe you’ll never get more than 1 email a day (and realistically much less frequently) as well as a Weekly Round-Up of my 1 a day daily shares.

If you would rather not do that, you can follow me on the social network of your choice…


Don’t want to do that? Hopefully you’ll bookmark the site, try another RSS Reader (maybe Feedly), or at least stop by from time to time.

Note: I’ll likely post this periodically until the final nail is in the coffin. As always, thanks for reading.