A Legacy Notes Developer's journey into madness.

Engage 2018: I will be presenting in Rotterdam in May.

Devin Olson  April 9 2018 09:40:46 AM


I am very humbled and excited to be presenting in two different sessions at engage 2018 this year.  I am especially humbled to be sharing the stage with Mr. Red, Mr Pink, and Mr. Yellow.   I am so looking forward to attending engage with my fellow team members at Red Pill Now


Take 5: Modernization Workshop



The Count Down to Domino 2025


Taming Domino Designer

Devin Olson  March 22 2018 08:11:26 AM



Once again I found myself searching the interwebs for a document I knew existed.

I found it after a bit, and decided I would post it here so that I didn't have to search for it next time.  

Taming Domino Designer by Nathan T. Freeman.  Yes, it is a bit long in tooth, but is VERY relevant if you are doing XPages work.


Holy Shit Moment: Domino on iOS

Devin Olson  March 22 2018 06:55:04 AM
Alan Lepofsky gives us a very quick demo of HCL's work on surfacing Domino data in iOS.  

While this is not a true Notes Client, it is nevertheless a holy shit moment for me.  

Video on Youtube:
https://www.youtube.com/watch?v=5veoCliQcNQ&feature=share

Updated incinerate()

Devin Olson  February 27 2018 02:35:42 PM
Back in August of 2013 I originally posted Nate and Tim's Excellent Recycle.    

Granted, if you are coding in XPages the OpenNTF Domino API has pretty much made the need for this method irrelevant (as the ODA's first goal is to eliminate the "ham-fisted Exception handling in the lotus.domino API").

HOWEVER, if you are doing non-XPages Domino Java code then this recycle method is still relevant.

I had a need to enhance this method to handle Map and Collection values.  I present to you this enhanced code, in the hopes that it helps ease your pain when developing Java code in Notes and Domino.

Hope this helps!

/**
* Recycles Domino Objects without throwing an exception
*
* @author Nathan T. Freeman, Tim Tripcony, Devin S. Olson
*
* @param dominoObjects
*            Domino Objects to be recycled.
*            
* @see http://learningxpages.com/blog.nsf/dx/02272018023541PMDOLQYV.htm
*/
@SuppressWarnings("unchecked")
public
static void incinerate(final Object... objects) {
     if (null == objects) { return; }

     try {
             for (final Object object : objects) {
                     if (object != null) {
                             if (object instanceof Base) {
                                     // normal recycle
                                     ((Base) object).recycle();

                             } else if (object instanceof Map) {
                                     // incinerate all keys and values
                                     final Set entries = ((Map) object).entrySet();
                                     for (final Map.Entry entry : entries) {
                                             incinerate(entry.getKey(), entry.getValue());
                                     }

                             } else if (object instanceof Collection) {
                                     // incinerate every element in the collection
                                     final Iterator i = ((Collection) object).iterator();
                                     while (i.hasNext()) {
                                             final Object element = i.next();
                                             incinerate(element);
                                     }

                             } else if (object.getClass().isArray()) {
                                     // incinerate every element in the array
                                     final Object[] objectsArray = (Object[]) object;
                                     for (final Object element : objectsArray) {
                                             incinerate(element);
                                     }
                             }
                     }
             }

     } catch (final NotesException recycleSucks) {
             // optionally log exception (why bother?)
     }
}

IBM Champion 2018

Devin Olson  January 12 2018 09:01:24 AM

I have been officially notified that I have been named an IBM Champion for 2018.  

I am honored and humbled to be a part of this group of amazing and brilliant people.

Thank you all.

OpenNTF Release: Enhanced Log version 2017.12.26

Devin Olson  December 26 2017 01:43:26 PM
I have released the latest version of Enhanced Log on OpenNTF.

Latest release includes additional collections support libraries, better cache and memory management, smaller library footprint, better commented code, and some additional logging features such as including links with extended content and profiled logging capability.

How to enable the hidden Windows 10 Administrator Account

Devin Olson  December 20 2017 04:56:39 PM
ENABLE: net user administrator /active:yes from an elevated command prompt.
DISABLE: net user administrator /active:no from an elevated command prompt.

I posted this because I got tired of having to web search (google, bing, whatever) for it and every single result was filled with clickbait ads and a ton of tracking happy horseshit.  

My website has none of that crap, and never will.  

Still Relevant after all these years

Devin Olson  November 28 2017 09:40:55 AM
#thanksIBM
#ibmchampion

Happy Birthday Notes

    MWLUG 2017: Session Slides for AD117 - "M" is for Modernization

    Devin Olson  August 10 2017 10:58:30 AM


    This session was an absolute blast.  So very happy I was able present this along with the rest our our amazing team.

    As a developer do you find yourself struggling to keep up with the endless stream of technology options available? If so, please join us as we take you through the A to Z of application modernization technologies that you need to be aware of in order to extend the life of your Notes databases. We will step our way through the Modernization Alphabet starting at APIs before working our way through to Web Components, XPages, YAML, and Zapier. Our goal in this session will be to give you a better understanding of at least one technology you might not have previously considered that you should be using when you return from this conference.

    Session Slides now available at Slideshare: https://www.slideshare.net/redpillnow/m-is-for-modernization


    MWLUG 2017: Session Slides for AD101 - Big Data with Graph, IBM Domino, and OpenNTF API

    Devin Olson  August 10 2017 10:45:07 AM


    I was very honored to have been able to present this session at MWLUG 2017 in Washington, DC.

    What do IBM Watson, Bluemix, LinkedIn, Facebook, eBay, Twitter, Wal-Mart, eHarmony, and Amazon all have in common? They all have Billions of records; and they all use Graph technology to manage those records. Graph excels at quickly processing huge numbers of records. Even if don’t fully understand how Graph databases work, you will want to attend this session to learn how the amazing capabilities of Graph that are already built into the OpenNTF Domino API (ODA) can EASILY deliver unique solutions for your own Notes/Domino environment. This session will introduce the fundamentals of Graph, explain how graph can be applied to NSF data using the ODA, and demonstrate some techniques to implement graph on your next project.

    Session Slides now available at Slideshare: https://www.slideshare.net/redpillnow/big-datawithgraphs