Tuesday, April 14, 2020

catching up

So from the looks of things....it's roughly been since the birth of my second child since I've posted....looks like I've got some catching up to do...so in the 5+ years since my last post....we've moved from Alexandria/Fairfax to Arlington. We love our neighborhood. I've gotten wrapped up so much into our neighborhood that I am currently the VP of our Civic association. My daughter started school... they built a new school. Our son started school in Montessori at the new school. COVID-19 came into existence... We had our 3rd child, that was an experience given COVID, but that would be a post of it's own...and actually not something I want to put in words... Let's just say that the health care workers are amazing... policy makers not so much. Thank you to all the doctors and nurses at Virginia Hospital Center. While difficult, they did what they could and most importantly, everyone is healthy and safe.

So now that I've caught you up...time to attempt once again at "regular" or at least periodic blogging...and some documentation of some projects I'm hoping to do with my kids since school is ... What it is with covid19.

Wednesday, March 25, 2015

Learning Outlook and moving towards a zero inbox

So awhile back my company moved to MS Exchange for its email service... surprisingly with my ... lets not date myself ... years in the tech industry and doing software development, I've never used MS Exchange or MS Outlook before. I've managed to be on standard IMAP servers and use Thunderbird and before that Pine or Mutt. So I've been trying to get use to this interface and it is pretty nice... probably one of the first pieces of software from Microsoft that I'm sort of enjoying to use... if it wasn't for the fact that I'm on a RHEL/Linux box (with Win7 on a virtual machine).

So that said, my first issue was notifications... being on linux, and the fact that thunderbird doesn't play nice with MS Exchange (without addons), I couldn't recieve notifications that I had new email on my linux side, unless running VMWare in 'Unity' mode... and that has its own problems. Well thankfully between my Android phone, the Nine mail client and Pushbullet, and Pushbullets sister apps on Chrome and Firefox that problem was solved... seems kind of funny to be using my phone to solve a desktop problem, but I guess that is the way the world is going where soon our phone or tablet will be our 'day to day' device.

Anyways the reason I like having notifications on my desktop is because I hate having unread emails in my inbox... I can kind of live with it in my folders and such especially with filters redirecting emails I don't need to pay attention to instantly, but I like my Inbox to read '0 unread'. But recently I've been wanting to get to a 'true' Zero Inbox. So I decided to do so, but that said, it is easy to get to a zero inbox, but routinely you need to be able to quickly see emails from the recent past and such. So what I needed was a Search Folder for Outlook.

Creating Search folders is really simple on Outlook, unfortunately, those search folder options are not so great. But as I searched around the internet, I saw that it is definitely doable, but I couldn't figure it out... so back to the internet.

The first link I read over: http://www.outlookbanter.com/outlook-vba/75025-view-filter-mail-items-sent.html which gave me hope. It gave me two ideas, 1 try 'sql' like query and 2 a custom view. Well I didn't really want to deal with creating a sql query, but also I couldn't figure out where to write the query anyways. Then somewhere I say about needing to enable a 'query builder' which lead me to the following page: http://www.extendoffice.com/documents/outlook/1935-outlook-enable-query-builder.html which show how easy it would be to add this feature... and well it worked so great.

I then opened the query builder in the search folder dialogue and noticed that there it had the same features that were suggested for creating a custom view... and based on the notes on the first page I was able to create custom search folder that does exactly what I want.

So now I can read emails, move it to a proper archive or other folder, and then this smart search lets me easily see all emails sent in the last 30 days from any folder (or set of folders I choose). This also works really nice with my Nine client, which allows me to quickly respond or move incoming emails to folders and such allowing me to keep my inbox at 0.

Now lets see how long this lasts :-)

Tuesday, November 25, 2014

Not ready to code

To code or not to code....a question for later :-)

Monday, January 06, 2014

learning something new for SVN... sparse checkouts

So for years now, SVN has been my goto tool for revision control. I keep saying that I'm going to try GIT, but I just haven't had the right opportunity yet, and on the project I've been working the last few years.... lets just say I now know enough clearcase to ask "what the f--- were they thinking when they created it".

Anyways so one of my big hangups on SVN has been the checkout level, you can easily extract a single file from SVN, but then you lose its connect and it is just a simple file, if you actually want to use the benefits of a revision control system, you need the directory the files resides in. But what if you don't want all the files in said folder.... well enter sparse checkouts.

So evidently with SVN 1.5 this feature was added, I guess I just missed the memo, then again in 2008, my SVN setup worked great so I really didn't pay much attention. Also back then I was only using SVN for code and well when developing libraries... you kind of want the whole build tree so it really wasn't a problem, but since 2009 I've been working with a company that also uses SVN to control Document revisions... and quite often, I really only care about a single doc or maybe a handful.

Anyways... I'm rambling, which if you actually read this blog that is pretty much how the posts go :-).

So I guess I finally typed the right query into google and came across this stack overflow post:
http://stackoverflow.com/questions/192810/svn-checkout-filtered-by-file-extension
and the first answer told me what to look for, but the second answer gives you the simple fact of how to do it.

Basically you checkout the folder the files reside in using the sparse checkout option of '--depth empty', and then you do an 'update' on the file/s you want.

  1. svn checkout svn://path/to/repos/directory --depth empty
  2. svn list --recursive svn://path/to/repos/directory
  3. Pipe that result through a filter that removes the forbidden file extensions
  4. Iterate over this new filtered list and svn update each file
If  you can filter with a simple grep statement you can easily do step 4 as "svn update `svn list.... | grep ....`"

Fun... now time to remove all those extra large folders and recheck them out with this sparse technique, thanks stack overflow community.

Sunday, November 03, 2013

Remember your BITS

So I guess I've stumbled upon rule number 1 of image processing.... REMEMBER YOUR BITS. I've been working on a project that utilizes some simple image processing.... and a number of times I've been bitten by the fact that I've forgotten my bits. Basically my project includes reading in a 16-bit JPEG2000 image using the Kakadu library, and then doing a simple histogram equalization, then spitting it out as a PNG. So while there are numerous libraries out there that can do this.... the project I'm on has some licensing issues that prevent me from going out and grabbing them.

Anyways... first off Kakadu's documentation is a bit frustratingly lacking.... or at least I thought it was.... I did what I thought I was suppose to do... and well it didn't seem to be working... so I brought in Boost's GIL package to develop some quick debug tools.... and when I wrote out the png.... well it looked completely screwy.... my first thought was that the image that I thought was 16 bit was in fact 8 bit.... no... I was just doing something dumb.... I was attempting to read in the image with Kakadu's 8 bit reader instead of the 16 bit read...BIT FAIL 1.

But that was not all.... then I remembered that I was reading in the image to a 2d array of doubles... well that needed to be translated to GILS pixel types.... BIT FAIL 2.... converted to 8bit instead of 16 bit for printing....

So then I got all that working and went on to my equalization routine.... well BIT FAIL 3... I scaled the image from 16bit to an intensity value needlessly causing my histogram normalization to go wonky.

Got that working.... my image still looked wonky... BIT FAIL 4.... the whole point of equalizing the image basically turns the image into an 8 bit image.... but I was scaling it up as if it was an intensity image when I wrote it out.... BIT FAIL 5.... disabled all use of intensity but still didn't work... well that was again because now I was attempting to write out an 8 bit image as a 16 bit image.... BIT FAIL BIT FAIL BIT FAIL 8..... well basically once I remembered that I needed to convert from 8-bit to 16-bit to properly print... it all worked....

The worst part is .... the project really doesn't need to output any images... the output was all for verification that the various steps were working.... so basically everything was working except that well.... my debug tools made me think I had implemented everything wrong.... sorry I can't post images of my dumb mistakes, but I don't know the distribution of the source data and don't want to inadvertently post something I shouldn't.... but lesson learned... with doing any kind of image processing.... remember your BITS. 

Tuesday, October 08, 2013

App Review: Stitcher vs Player.fm for podcast playing

So from time to time I attempt to review apps that I use or am deciding between. Way back I use to do reviews and post for PalmAddict when I was using my old Treo600/650... regardless occasionally I like to share what I'm using on my phone. The latest internal debate I've been having is over podcast players (yes I'm again listening to podcasts, occasionally I run out of audiobooks to listen to and have to wait for one on hold to become available). There are a number of players out there, but I have 3 main needs: 1. android app, 2. web-based player and 3. syncing across devices and web. The two players I've discovered:

So both have my basic 3 needs... so what does one add over the other.... not much.

So what I've come to notice is that Stitcher does a much better job at synchronizing between devices, but the queue functionality of Player.fm is much more to my liking. Interesting enough, one of the features I liked best about Player.fm was its offline listening, but today (10/8) Stitcher released an update to its app providing the same functionality. So ultimately it comes down to UX... for the moment Player.fm is winning in terms of the mobile app. I find the interface easy to use (not that Stitcher is not) and clean. This said, from the webapp perspective I have to side with Stitcher. Player.fm's web interface to me just doesn't work, thankfully 90% of my podcast interaction is mobile, so for now I'll be using Player.fm. I'm hoping that their webapp gets some needed love in the near future.

Friday, October 04, 2013

Cheaper the Case, the happier I am :-)

So a few months ago I picked up a Kindle Fire HD 7" (well before the new one was even rumored). So first (and really only), accessory I wanted was a decent case. I had some reward bucks for Staples so I picked up the Speck FitFolio Hard Case (http://www.staples.com/Speck-FitFolio-Hard-Case-Cover-For-Amazon-Kindle-Fire-HD-7/product_188495) on sale only costing me a few bucks, but it was a $30 case... it worked... I didn't like it almost from the start but really only because it didn't auto-sleep/wake the Kindle. Also the way the case was setup you couldn't charge the device while the case was closed.

Second I picked up from Amazon the Fintie Case (http://www.amazon.com/Fintie-Magnetic-Tri-Fold-Lightweight-Feature/dp/B009PFBS5W/), it also worked. This one had the auto-sleep/wake functionality, but its ability to prop the Kindle up didn't work well. It has a bunch of levels, but non are upright enough to make it functional for Skype-ing hands free. But on the positive side, I only paid $4 for it, while being a $40 case (list price at time). The case also felt a bit bulky, but I will say this my kindle felt extremely secure.

But this week I decided to order another case... also for $4 (list $60) .. the ThanksCase slim fit case (http://www.amazon.com/gp/product/B00C1AILVM/). Of the three cases I've this one by far looks the cleanest and most professional. Additional benefits... well... auto-sleep/wake (check), can charge with case closed (check), self standing (check) and on that topic the angles are great. Used it today to attend a Cisco Webex meeting and it was great. (Speaking of... I was pleasantly surprised how well the kindle worked with Webex).

Anyways... so ultimately this post should be titled: the larger the savings the happier I am... each of the three cases cost me no more than $6 out of pocket, but this last one at 93% off..... currently is my favorite. Then again this case is only cheap now because Amazon released the new Kindles :-(