Posts

Received and sent messages in a single mailbox with MS Outlook for OSX

Image
Microsoft Outlook for the Mac and PC behave differently when showing conversations in the Inbox. The PC shows received and sent messages. The Mac shows only the received messages.  There is no default way to show a threaded conversation on Mac Office 2016. Microsoft Outlook for the Mac is integrated with OS/X spotlight search so that AppleScript and Spotlight can be used to create Outlook  Smart Mail folders. Smart Folders  are more like views into mailboxes than actual mailboxes. They are virtual folders that are created from the results of a search.  This blog leverages Outlook's raw search  capabilities that come from OS/X integration.  You can find out more information about this integration on the Microsoft answers web site . Portions of this blog came from this excellent blog posting . Identify Mailboxes to be included in Smart Folder Our conversation SmartFolder is made up of the contents of the Inbox and Sent mailboxes. We first need to ident...

Almost PaaS Document Parsing with Tika and AWS Elastic Beanstalk

Image
The Apache Tika project provides a  library capable of parsing and extracting data and meta data from over 1000 file types.  Tika is available as a single jar file that can be included inside applications or as a deployable jar file that runs Tika as a standalone service. This blog describes deploying the Tika jar as an auto-scale service in Amazon AWS Elastic Beanstalk.  I selected Elastic Beanstalk because it supports jar based deployments without any real Infrastructure configuration. Elastic Beanstalk auto-scale should take care of scaling up and down for for the number of requests you get. Tika parses documents and extracts their text completely in memory. Tika was deployed for this blog using EC2 t2.micro instances available in the AWS free tier. t2.micro VMs are 1GB which means that you are restricted in document complexity and size. You would size your instances appropriately for your largest documents.   Preconditions An AWS account. AWS ac...

Slice Splunk simpler and faster with better metadata

Image
Splunk is a powerful event log indexing and search tool that lets you analyze large amounts of data. Event and log streams can be fed to the Splunk engine where they are scanned and indexed.  Splunk supports full text search plus highly optimized searches against metadata and extracted data fields.  Extracted fields are outside this scope of this missive. Each log/event record consists of the log/event data itself and information about the log/event known as metadata.  For example, Splunk knows the originating host for each log/event.   Queries can efficiently filter by full or partial host names without having to specifically put the host name in every log message. Message counts with metadata wildcards One of the power features of metadata is that Splunk will provide a list of all metadata values and the number of matching messages as part of the result of any query.  A Splunk query returns matching log/event records and the the number of records in e...

Enabling Microsoft Application Insights for Mule ESB monitoring

Image
Microsoft Azure Application Insights requires Mule 3.7 or later. Application Insights depends on org.apache httpclient and httpcore versions that are first bundled with Mule 3.7 Application Insights is an Azure based application performance dashboard that can monitor applications deployed inside, or outside, Azure.  Application Insights SDKs are available for a variety of languages with a heavy focus on standard library web driven applications or services. This blog entry describes how easy it is to enable Application Insights for a Mule ESB application that does not use any of the out-of-the-box supported web hooks. In this case, we monitoring the out-of-the-box JMX beans provided by Mule. Performance information is gathered by Application Insights where it is displayed in the Azure Portal. Mule exposes performance data about applications and flows via JMX.  Any of this can be forwarded to the Application Insights Dashboard. Steps Create an Application Insights...

Enabling Microsoft Application Insights for JMX monitoring of a Spring wired Java application

Image
Application Insights is an Azure based application performance dashboard that can monitor applications deployed inside, or outside, Azure.  Application Insights SDKs are available for a variety of languages with a heavy focus on standard library web driven applications or services. This blog entry describes how easy it is to enable Application Insights for a Spring wired Java application that does not use any of the out-of-the-box supported web hooks. In this case, we are enabling Java / JMX monitoring of a custom Spring application running in my home lab. Performance information is gathered by Application Insights where it is displayed in the Azure Portal. I did this work as part of building a message driven application that had no true web interface. The application runs in a container that does not support tomcat or web filters normally used to enable Application Insight. Microsoft does a good job of describing how to monitor Java Tomcat, Struts, Spring MVC and other sta...

How TFS 2013 Calculates Story points for Velocity Graphs

Image
TFS 2013 grafts Agile on top of their traditional task model.  The TFS web interface is significantly more functional than previous iterations. Sprint-to-Sprint Velocity TFS Scrum and Agile templates automatically calculate per sprint velocity  based on the  Story Points of User Stories with the current iteration path. Setting the Iteration Path essentially commits  the team to the User Story for that sprint. The following diagram shows the number of story points for User Stories committed to over the last 5 sprints. Green represents story points for C ompleted stories Blue represents  story points for Active  stories.  Previous stories can have some blue if stories were left open at the end of previous tasks. TFS Story Point Calculation Commitment Issues Teams commit  to certain stories in the sprint by putting them in the sprint Iteration Path.  They base the number of committed stories the sum of the story points fo...

Cloning a Mac / Bootcamp disk to a larger drive

OWC and others recommend that you do a fresh installation when moving a Mac with Windows BootCamp to a larger drive.  That is probably a good idea. Sometimes you just decide to do things the hard way. This is what I did for my Macbook Air when I bought a larger SSD.  It had OS/X on the first partition and Windows 7 on the second partition. Backup your data. Create a Clozilla bootable thumb drive. Get an OWC drive with external case. Plug in the new drive in the external case. Boot Clonezilla from the thumb drive.  Clone the internal disk to the new, larger, external disk. Make an exact copy of the disk using Clonezilla. This exact copy will not make use of the full drive. Power off the machine Remove the old disk.  Install the new disk inside your machine. Boot into the mac OS on the disk you just installed. Move GPT bookkeeping data to the actual end of the disk. Download and use gdisk to copy the MBR/GPT info to the end of the new drive. You ma...

Fix partition issues relatively safely with P2V and V2P

Image
I foolishly decided to convert a Windows operating system drive from MBR partitioned to GPT partitioned. That conversion didn't go right. The boot portion of the drive was erased or destroyed. The partitions were still there and no data was destroyed.   I tried to convert the drive back to MBR.  That didn't work easier.  This is usually the point where you might start panicking. The cycle time is pretty long when you try and fix the boot portion of a physical disk.  There are continual physical machine restarts.  There is also risk that data will be lost while attempting to fix this. I wanted to attempt drive repair without risking destruction of data on the drive I was working on. In addition, I didn't want to work on this drive without access to the internet. My target laptop laptop has two bootable drives in it.  I realized that I could convert the trashed disk from Physical to Virtual using Paragon Drive Copy. Then I could hack on the virtual drive...

Trust No One Architectures

A Trust No One   Architecture is one where each organizational unit minimizes accidental risk by owning as much of their processes as possible.  Companies end up with a  Trust No One  architecture where each sub-organization is most likely to meet its' goals if it controls as much of its development, technical and operational processes as possible. Each division / operational unit acts as an independent entity with loose coupling at the edges and just enough cooperation to meet the company goals.  I recently attended a talk of a Departmental Information Officer for a large bank who said their software process accelerated and their business deliverables came in earlier when they pulled architecture, operations and infrastructure back from the corporate level to the department level. The bank traded costs, standards and duplicate work for time to market  and agility. This was in strong opposition to the previous attempt at minimizing risk by centralizing...

Protect RabbitMQ data by encrypting the Mnesia database on Windows Server

Image
RabbitMQ is one of the many caching and messaging tools that uses local disk persistent storage or as a backing store for in memory data.  These systems normally put data to disk in some format that is optimized for speed and not for security. Ex: RabbitMQ, ActiveMQ, Coherence, Gemfire, MongoDB. This can cause issues when trying to comply with policies around protecting Personally Identifiable Information  , making systems Payment Card Industry Data Security Standard (PCI DSS) compliant or when implementing S/Ox controls. RabbitMQ Installation We assume that you are running RabbitMQ under the local system account.  Users who run RabbitMQ under different accounts or in different locations must change certain commands or settings.  The RabbitMQ team has a good set of documentation on their web site. Windows installation instructions:  https://www.rabbitmq.com/install-windows.html Windows quirks:  https://www.rabbitmq.com/windows-quirks.ht...