New tool for analysis of Outlook PST files

I’ve been slowly working towards a utility to analyze .PST files from Microsoft Outlook and Exchange, and examine their contents. A .PST file is the database in which Outlook stores your email locally on your PC. When recovering data from your own PC, or when performing forensic analysis of another PC, it’s often useful to view the contents of .PST files, thereby viewing sent, received, and deleted emails.

OutlookMailViewer (download it!) allows you to open a .PST file (without requiring Outlook to be installed) and examine its contents in an intuitive way, very similarly to the way Outlook itself displays your email. This tool is entirely read-only, meaning that you can be sure that the .PST file won’t be modified in any way.

mailviewer

This software is very much experimental/alpha, and needs a bit more work to be as powerful as possible, but it can still be quite useful as it is:

  • Supports .PST files from nearly all previous versions of Outlook, as well as the latest Outlook 2016 (supports ANSI and Unicode .PST files).
  • Displays plain-text, HTML, and RTF versions of email messages.
  • Displays absolutely all properties associated with each email message (more properties than Outlook itself shows).
  • Allows saving of attachments from messages.

Some to-do items for a future version:

  • Scan the .PST file for orphan messages (i.e. messages that still exist after being emptied from Deleted Items, but before the database is compacted).
  • Filtering and searching of messages.
  • Exporting messages in different formats.

Try it out! If you’re using the current Outlook 2016, you can usually find your .PST file in [My Documents]\Outlook Files\[your account].pst.

A simple 3D model viewer for your Android device

I’m happy to release a simple little app for Android devices for viewing 3D model files, particularly STL models (widely used in 3D printing), and limited support for OBJ and PLY models. Find it on the Google Play Store now!

You can open model files from within the app, and the app also registers itself as a handler for opening .STL files, so that it will be launched automatically when you select an STL file from another app, such as your browser or file manager.

device-2018-01-04-234035

Best of all, the app has a VR button that will instantly switch to VR mode, allowing you to place your device into your VR headset, so you can view the model in true 3D.  It supports motion tracking, allowing you to examine the model from all angles by moving your head.

device-2018-01-04-234128

I actually developed the app during the 2017 Wikimedia Hackathon in Vienna, but I’ve only recently gotten around to cleaning it up and releasing it. Enjoy, and browse the source code if you like.

MushroomHuntr

I’m a bit late to the party in starting to tinker with TensorFlow, but nevertheless I’ve been having some product ideas (some dumber than others) for real-world applications of machine learning, and here’s one of the stupider ones:

If you know me at all, you know that one of my hobbies is foraging for wild mushrooms. Going to the forest to forage for mushrooms is a time-honored tradition in Russia and many other Slavic countries.  I also derive great pleasure from sharing this hobby with other people, and telling them how fun, challenging, and rewarding this activity can be.

Therefore, I give you — MushroomHuntr: an Android app that can identify different varieties of mushrooms!  It uses a neural network to perform image recognition in real time, to tell you what kind of mushroom you’re looking at.

Huge legal disclaimer: Do not actually rely on this app to differentiate poisonous mushrooms from edible ones!  The app provides a rough guess of the identity of a mushroom, not a definitive identification.

Under the hood, the app uses the Inception v3 model developed by Google, with the top layer of the model re-trained on a large collection of mushroom images. Many of the training images were taken from Wikimedia Commons, and others came from my personal photos that I’ve taken over the years.

The app can distinguish between about twelve varieties of mushrooms, most of which are native to North America and Europe. All of the trained varieties are common enough to be found easily in parks and forests, to maximize the app’s usefulness for the novice mushroom hunter.

When the app is launched, it automatically enables your phone’s camera, and starts attempting to recognize anything it sees in the image.  Therefore, all you need to do is aim the camera at a mushroom, and see what it says!

To maximize the accuracy of the mushroom recognition, try looking at the mushroom from the side, and bring the camera close enough for the mushroom to fill up most of the frame, like this:

20171104115119

I won’t make this app available on the Google Play Store for the time being, while I continue to refine the model, but if you’d like to check it out, you can build it from source code, or contact me for a pre-built APK that you can install on your device.

But do they believe it themselves?

I’ve been wanting to articulate some more thoughts about a question that’s been on my mind for a while:  do practitioners of alternative medicine really believe what they practice themselves?  I am in fact growing more and more convinced that, not only do they not believe in what they sell, but that it’s also better for their business that they don’t believe it!

In a perfect world, here’s all that needs to be said about this:  Who but a con artist could claim that he can heal people over the phone (or over the internet), or that a dose of water with a single molecule of duck liver can cure diseases, or that the positions of distant celestial bodies has an impact on our daily lives, etc., and then have the nerve to charge money for any of the above?

Unfortunately this is not a perfect world, and there are people who establish entire careers around selling these ideas to anyone who’s willing to buy them.

To begin, it’s worth noting that the modus operandi of alternative medicine focuses mostly on sales and marketing, and glosses over such minutiae as scientific substantiation, unbiased testing, or peer review.

It’s interesting to browse the marketing materials for a particular alternative medicine product, and notice a pattern that repeats itself in all “modalities” of alternative medicine:  The marketing materials begin with grandiose claims of the effectiveness of the product and the universality of its effectiveness, continues with a few (if any) hand-waving theoretical “explanations” of how the product is actually supposed to work, and ends with a brief disclaimer that the product isn’t actually intended to treat any disease, and hasn’t been evaluated by the FDA.

This grossly disproportionate emphasis on marketing should be a cause for suspicion.  If the product actually works, then why does it need such a loud and obnoxious sales pitch? If there was even a grain of possible effectiveness in the product, then it would become readily adopted and welcomed into mainstream medicine, and would no longer need to be called alternative.

Indeed, the one unifying quality of all the alternative healing products I’ve seen is how aggressively commercial they are.  For all their talk about transcending the material world, they sure don’t mind making a physical buck!

Tellingly, the practitioners of these methods are usually very charismatic, and skilled in showmanship and salesmanship, another indication that these qualities take priority over the actual product.

They’re never too embarrassed to hijack the latest buzzwords from quantum physics, and they don’t hesitate to register trademarks on their terminology to make it sound as official as possible.

They don’t bat an eye at the idea of charging four-figure sums to attend their seminars or obtain their certifications, of which there are usually multiple “levels”. Just like any other industry, they organize trade shows and expos — orgies of mind-numbing irony where the practitioners sell the latest brand of nonsense to each other and to passers-by.

Revealingly, many of them retain the idea of a “God”, and infuse it into their treatment. We can guess that this is for the purpose of appealing to the widest possible audience, and reassuring them that they can retain their god, while piling on just one more belief (who’s counting?), since they’re already in for a penny.

What’s also impressive is how expertly they navigate the gray area of almost pitching their treatments as official medical advice. Impressive, yet a bit disappointing:  even the most grandiose claims and the most earth-shattering treatments are followed by the usual fine print disclaimer that it’s merely a supplement to traditional medical care.  What a downer. Fortunately the fine print isn’t legally required to be as large as the promotional text, nor is it required to be at the top of the promotional text;  most visitors won’t read that far before clicking “Purchase.”

All of this leads me to suspect that there must be some level of awareness on the part of the practitioner that what they’re doing doesn’t fully square with reality, and that their primary motive is a financial one.  If the practitioner was as oblivious as his customers, then he would eventually go “too far” with his claims, and make a career-ending mistake, such as submitting his product for testing in a lab, or passing it off as official medical advice.

Many practitioners of alternative medicine complain that scientists refuse to debate them, and use this to promote a narrative that the scientific establishment is conspiring to suppress their work.  But the reality is that most scientists are smart enough to understand how futile it is to debate with such practitioners.  It’s futile because the practitioner’s misunderstanding of science is so complete that the practitioner will spout off nonsensical statements at a faster rate than the scientist can correct them.  It’s also futile because the practitioner has only one goal:  he has a product to sell, and the bigger the audience, the better.  The scientist will therefore do well to limit the practitioner’s potential audience, and the best solution is to have no debate at all.

Love what you do, and show it in what you make.

My kitchen, like many other kitchens, has a built-in dishwasher. It’s an older dishwasher, probably more than ten years old, but it still works perfectly well. It’s also nicely designed on the inside, and has simple and intuitive controls.

However, my favorite thing about the dishwasher is what happens at the end of its wash cycle: it plays this really charming, corny jingle to indicate that it’s done.  It’s just a few notes, and it lasts for just two or three seconds, but for some reason this jingle never fails to make me smile, and after a bit of reflection, I think I understand why:

I like when it’s obvious that the designers of a product had fun making it, and wanted to pass the fun along to the consumer in the form of a “signature” of sorts.  The design of their product is so competent and so mature, that they can go beyond our baseline expectations and appeal to a higher-level aesthetic.

I think that’s the ultimate ideal to strive for:  make the core functionality of your product work so well that you have enough design bandwidth left over to “show off” a bit.  In other words, make your work seem effortless.