Markdown Test

Markdown

Markdown is a lightweight markup language with plain text formatting syntax. Its design allows it to be converted to many output formats, but the original tool by the same name only supports HTML. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor. Since the initial description of Markdown contained ambiguities and unanswered questions, the implementations that appeared over the years have subtle differences and many come with syntax extensions. Wikipedia

It is a delightful way to simply work with text and formatting in a single place. It really only gets tricky when you want to view the final stylized product. Anything that can save plain text can save the file, but some interpretation of the file is required to transform it to its marked up view.

This is a simple test of an iOS app called MWeb which has the facility to push to a WordPress site. I wanted to see how that worked and here we are!

Getting my new old job

I just upgraded my blog a new version and found this old draft from October 19th 2011. I’m not sure why I never published it but I am now. It is not particularly interesting or inciting but enjoy my thoughts.

This past Monday I started a new job, well sort-of new anyway. I find myself at a former employer of mine again, this time as a contractor.  “Always move forward, never back” is my philosophy when it comes to jobs. Vesting in my work is part of my method and it is difficult to untangle business from this investment. It’s just easier to keep moving forward, never mind the tangential concept of being able to follow opportunities that otherwise may have not come your way.

Opportunities seem to work in a very subtle way. I find I am much more likely to spot an opportunity when I need an opportunity. I bet they are everywhere and I simply do not see them,  or fail to act.

The story starts at our annual Weenie Roast this past summer. A good friend of mine is there and I mention my concerns with my contract at the time. The job was great, the people were great, the commute was awesome! Unfortunately their standard contract term of 2 months at a time was proving difficult.

If you’ve never spent a few years as a contractor, you may not know. The most difficult time to get a new gig is the last two-thirds of the 4th quarter. There is a small burst near the end as any remaining budget surpluses are used to avoid being allocated less next year.

I mentioned my fears to my buddy and he told me to polish up the resume and he would put it in the process; an opening was in the pipe. In the interest of permanent employ, I did exactly that.

This was mid summer and was squarely in a contract with plenty of projects and budget on the horizon and the time was right to lay some groundwork . I fully wanted to and expected to stay where I was. A good team is hard to come by and special in my industry, and worth hanging on to.

Tick-tock, time passes and mid September comes along and my team lead voices some concerns about project and budget showed some signs of beginning to lag. He used to be a contractor and appreciated the need to move light and maintain your reputation. This daddy’s got bills to pay!

I gave my recruiter at the contracting company I work for and gave her the heads up. And I will say this, I really appreciate the way that this place has handled me and my career. Very professional and made me feel like a person and not just contractor number QQ3984.

In the meantime, my buddy’s organization had contacted me and I had a few phone screens and had to fly out to Oklahoma (beautiful state, I wish I had been able to take in some sights.) I really liked everyone I spoke with and met, truly a great group of guys and gals! The one thing that worried me was that primary management was in California, and was a marketing company. This, in and of itself is not a big deal but if you’re in IT goals for a marketing company differ from those of a systems or business company. Goal alignment may mismatch. This has been my experience, mileage may vary.

The day after the trip to OK, my recruiter called with an opportunity from a former employer of mine. I’ll be honest, I was at this place for 4 years and I truly enjoyed every second of the people I worked with. The politics, I was not so fond of. But, the culture was great as well so, which I find I appreciate more the older I get. I have earnestly been trying to get back in there since I left. Their HR department is a hard nut to crack. So I quickly accepted and then had a phone screen.

Now here’s where the story begins to get weird, at least for me. I ended up receiving an offer from both my buddy’s place, and my former employer, and it looked like my current employer would be able to renew me for two or three more terms based on what was pending. Three options, I am never that guy with options.

 

Symbolic Links on Windows 10

Screenshot of Link Shell Extension
This is not meant as a tutorial in any way, I’m simply trying to not forget this as I need it about once every two years or so and always forget how to do it. The information was found here: https://superuser.com/questions/1020821/how-to-create-a-symbolic-link-on-windows-10 The option I went with was the PowerShell route suggested by Peter Hahndorf:
Open a PowerShell session as elevated administrator:
New-Item -ItemType SymbolicLink -Path E:\Data\MyGames -Target "C:\users\UserName\MyGames"
or using less verbose syntax:
ni E:\Data\MyGames -i SymbolicLink -ta "C:\users\UserName\MyGames"
Another approach is a Windows Shell extension which looked interesting but probably overkill for my current needs (from odvpbre):
If you want a GUI Tool for making/editing that symlinks use http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html Link Shell Extension (LSE) provides for the creation of Hardlinks , Junctions , Volume Mountpoints , and Windows7/8’s Symbolic Links, (herein referred to collectively as Links) a folder cloning process that utilises Hardlinks or Symbolic Links and a copy process taking care of Junctions, Symbolic Links, and Hardlinks. LSE, as its name implies is implemented as a Shell extension and is accessed from Windows Explorer, or similar file/folder managers. The extension allows the user to select one or many files or folders, then using the mouse, complete the creation of the required Links – Hardlinks, Junctions or Symbolic Links or in the case of folders to create Clones consisting of Hard or Symbolic Links. LSE is supported on all Windows versions that support NTFS version 5.0 or later, including Windows XP64 and Windows7/8/10. Hardlinks, Junctions and Symbolic Links are NOT supported on FAT file systems, and nor is the Cloning and Smart Copy process supported on FAT file systems.
Screenshot of Link Shell Extension
Link Shell Extension
  Some additional information on different types of links from http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html#hardlinks : Hardlinks are a feature common to many Unix based systems, but are not directly available with NT4/W2K/WXP. It is a feature, which must be supported by the file system of the operating system. So what are Hardlinks? It is common to think of a file as being an association between a file name and a data object. Using Windows Explorer, the file system can be readily browsed, showing a 1:1 relationship between the file name and the data object, but this 1:1 relationship does not hold for all file systems. Some file systems, including UFS, XFS, and NTFS have a N:1 relationship between file name and the data object, hence there can be more than one directory entry for a file. So, how does one create multiple entries for the same data object? In Unix there is a command line utility ln, which is used to create link entries for existing files, hence there are many file names, or so called Hardlinks, for the one data object. For each HardLink created, the file system increments a reference count stored with the data object, i.e. it stores how many file names refer to the data object, this counter is maintained (by the file system) within the data object itself. When a file name referencing a data object is deleted, the data object’s reference count is decremented by one. The data object itself only gets deleted when the reference count is decremented to zero. The reference count is the only way of determining whether there are multiple file name references to a data object, and it only informs of their number NOT there whereabouts. Junctions are wormholes in the tree structure of a directed graph. By browsing a Junction a maybe far distant location in the file system is made available. Modifying, Creating, Renaming and Deleting files within a junction tree structure operates at the junction target, i.e. if you delete a file in a Junction it is deleted at the original location. Symbolic Links are to files what Junctions are to folders in that they are both transparent and Symbolic. Transparency means that an application can access them just as they would any other file, Symbolism means that the data objects can reside on any available volume, i.e. they are not limited to a single volume like Hardlinks. Symbolic Links differ from Shortcuts in that they offer a transparent pathway to the desired data object, with a shortcut (.lnk), something has to read and interpret the content of the shortcut file and then open the file that it references (i.e. it is a two step process). When an application uses a symlink it gains immediate access to the data object referenced by the symlink (i.e. it is a one step process).

Limitations

  • Supported platforms are NT4/W2K/WXP/W2K3/W2K3R2/W2K8/W2K8R2/W2K12/W2K12R2/WXP64/Vista/Vista/Windows7/8/10 in 32bit, 64bit or Itanium.
  • Hardlinks can only be made on NTFS volumes, under the supported platforms.
  • Hardlinks can only be made within one NTFS volumes, and can not span across NTFS volumes.
  • Junctions can not be created on NTFS volumes with NT4.
  • The Pick Link Source and Drop … choices are only visible, if it’s possible to create Hardlinks/Junctions/Symbolic Links. E.G.: If you select a file on a FAT drive and press the action button, you wont see the Pick Link Source in the action menu, because FAT file systems, don’t support Hardlinks/Junctions/Symbolic Links. This also happens, if you select source files on a network drive, or select a file as destination, etc.
  • There is an OS limit of creating more than 1023 hardlinks per file. This is less known, but it is there.
  • ReFs does not support hardlinks.

My first run with my new Moov 2

This week I received my new Moov fitness tracker, two in fact because some sports that it supports makes use of multiple trackers (Boxing) but he makers claim they are working on supporting it multiple trackers for all of their supported activities. 

I ordered them maybe two months ago before they were released and got them at $50 a piece instead of the $75 they are selling for now. I will probably try the boxing cardio just to check out but my main interest, right now anyway, is running and walking.

The Moov device is billed as a fitness trainer who monitors your movements in 3D space and recommends changes to make you more efficient or safe in form. She (I’ll call her she as the application has a woman’s voice, this may be changeable someday but not at the time of this writing) also tracks your activity as it progresses and announces your split times and distances or other activity specific data you might be interested while you are performing he activity.

When you go to use your Moov, there is a required free smartphone app that you download and pair to the tracker. You then pick an activity (like Running &Walking, Swimming, Cycling, Boxing, Isometric workouts) then you choose a goal for that activity. Running & Walking has “Run farther and easier” which addresses running efficiency, “Improve my pace and distance” for speed endurance, “Walk to Sweat” for brisk walking, “Push to the limit” for sprint intervals, and “Run my own way” to address open run / walk training.

I chose the Run & Walk activity and did a Run my own way workout. For running, the tracker goes around your ankle. The Moov package comes with two bands, a longer one meant for the ankle and a smaller one meant for the wrist. They are very easy to switch between the two. 

The Moov also supports a Daily Moov concept where you wear the device all day and night on your wrist and it tracks your steps and sleep patterns as well. That is great but it seems weird that as a runner I would have to keep switching between Daily Moov for most of my day, then onto my ankle for my runs. Maybe it really doesn’t matter but the video on Moov’s site says to wear it on your wrist. 

I am using the device just for the training aspect at this point so I only strap it on to my ankle when I’m running and it is sitting on my nightstand the rest of the time for now because my FitBit HR (with display) is already covering that duty and I can just glance at the device instead of navigating through the smartphone app, which while good, makes a poor clock. Maybe an Apple Watch app can change that?

For the run, I decided to go with a free 5 mile run which is what I typically log for a “regular” run distance. From recent memory, my average pace for 5 miles is somewhere in the 9:06 to 10:05 miles per minute. I ended up finishing it in 48 minutes. 

I fired up my music, started the Moov activity and got to running. After about two minutes Moov gave me some preliminary metrics like current pace and average impact and maybe mentioned something about cadence. After that she was pretty quiet only announcing audibly at the mile marker with some quick splits info. 

Each time an audible announcement played my music volume lowered and the Moov lady’s voice was very cleanly mixed in. It really was very unobtrusive.

I’m not sure exactly what I expected but I was surprised to not get more direction or hints or tips. Maybe my dorm isn’t as bad as I thought (probably not, complete self-taught amateur here.)

Overall I was happy with the implementation. And the feel of the device. Thankfully my iPhone has a pretty decent GPS, I am not so sure the experience would have been as good on my last phone (Samsung Note 4 which definitely had some GPS tracking issues.)

I am looking forward to trying he isometric 7-Minute workouts as well as three speed walking and interval running and cycling this winter, although most will be indoor as I am not a fan of cold.

Below are some screen captures from the application that show the analysis of the run.

sdsd

Display of the Cadence + Range of Motion screen
Cadence and Range of Motion
The route display of the Moov iPhone application.
GPS courtesy my iPhone.
Splits info
Don’t judge, I ran out of juice after the 4th mile of a 5 miler.
The elevation display of the Moov iPhone app.
Not too much of a climb.
The Elevation details graph, page 1.
The Elevation details graph, page 1.
Detailed elevation graph 2.
Detailed elevation graph, page 2.
Impact Detail data.
Impact Detail graph
Range of Motion Graph.
Range of Motion Graph
Cadence Graph.
Cadence Graph
Pace graph.
Pace graph

Musings on a plane

As Rachel and I fly to Charlotte, North Carolina to visit Cristian at school for Dinner at the school restauraunt, Phidon. He has the role of General Manager for this project. As I sit here, I realize I want to write down a few thoughts.

We are on the first leg of our journey, from Cleveland to Atlanta and our first and only layover until the return flight tomorrow night. Our flight boarded around 6:00 am at the Akron-Canton Airport. It’s a smaller airport and much quicker to get through but it’s a farther drive to get there, especially at a quarter to five in the morning; thank goodness Rachel was driving.

I have a window seat and as I write this I am   looking down I to the top of clouds, the view is amazing! My seat is directly next for the engine and I can see most of the wing in my frame of view out of the window and when I look out it, I can’t help but marvel at the engineering that lets us play in places where people aren’t made for.
We must be descending because the clouds below are now closer and larger. The view is amazing, these phone pictures just don’t really do it justice.

Out the window and up

This Is the first airplane trip that Rachel and I have taken together. We have been on trips that involved planes however we both have never been on the same o e at the same time. I (well both of us honestly) have been looking forward to this trip because though short, it’s just her and I traveling now that the kids are old enough and this is some exciting new territory for us as LJ is a sophomore now and will be college bound soon enough, we will be able to travel more and hopefully move somewhere who’s climate agrees better with us.

Looking out the plane window above the cloud line.
Break on through to the other side!

Up here above the clouds, i am reminded that on the ground, when the skies are dark and overcast, just above the clouds, the skies are bright blue and it’s a beautiful day. I hope I can remember that when my feet are back on the ground.
We are descending now to land in Atlanta, GA at around 8:01 am. As we go through the clouds, you can’t see anything but grey out the window; I can only hope the pilot has ways of seeing through this (ok ow they do 😉).

 

How do you navigate through this pea soup?
How do you navigate through this pea soup?

We’ll be landing soon, here’s hoping the landing gear works!

A quick test of WordPress for Android on my phone

This post has absolutely no purpose other then to try out the Android WordPress app which is very nicely done.

I haven’t given it a complete once over, but it’s nice. Could use more support for the plugins, but as far as admining the cite WP features, it will do for sure.

Decent posting interface. Obviously, the biggest drawback is using the phone’s keyboard. Although it isn’t too bad with the Swype keyboard app, which happen to come stock on my phone.

I will say, it’s good enough to dash of a quickie and include media, so hopefully this will help keep the word flowing, which is always good.

I’m surprised you stayed this long, surely there’s something better to do 🙂

Here is a picture of a Coleman cooler to try out the image inclusion.

Regards!

And for good measure, here is an image of Mario I just happen to have on my phone.

image

A hard start

I was fortunate enough to be able to buy a great house exactly where I wanted to live in December of last year. It was a long road, albeit by choice, to get here. I am a big fan of flexibility and in fact, my life for quite a while involved a lot of travelling across the country to see my family.

I’m not complaining, that is just how it went down for me and it was great. But I bought this house, which again, I really do like. Feels very homey to me now, more so every day in fact. This morning I stepped outside with my coffee and realized I was too warm in my tshirt and hoody and had to take it off. If you know me personally, you’ll likely recall that I am usually cold and winter makes me cry like a little child :'(

At any rate. Last weekend, the garage was finally emptied of all boxes and we could park in there, which is awesome (thank you Rachel!) However, there is now a ton of boxes back in the house again. Its somewhat overwhelming.

I feel like I waste too much time winding down from a day at work. Don’t get me wrong, I love working and I love developing software of any kind on any platform. But being a person, I do have some personal preferences which I consider ideal. I find when they are not met it physically and emotionally takes a toll on the energy allotment I have to live with.

Well, this stuff is not going to put itself away, I guess I just wish I felt more like doing it. I’m sure when it’s done, I’ll feel great about it, just that damn motivation.

Anyway, wish me luck, tomorrow is looking like it’s going to be a busy one. Oh yeah, and then Boy Scouts at 7:30. Make that, it looks like it’s going to be a long, busy one 😉

Impressed but not impressively- A friend’s interview code sample

So a friend of mine is currently employed at a large multi-national IT contracting company. Well, that’s not entirely true, the company does staff augmentation for many sectors, IT being one of them, and while they can provide full software development life cycle services, they are typically staff augmentation.

That being said, he’s a developer. And a developer who came to developing later in life after learning, living, and dumping a previous career. He’s been doing professional development (i.e. it is his sole income) for 6 years and of the many developers I know he’s a natural, learns quick and the “right way” and the why’s. I’d hire the man for a senior developer position in a minute.

However, the economy being what it is, he is currently working a junior developer position. By which I mean doing senior developer work for junior developer money. Hey, it’s beats unemployment, no doubt, however things could be better along the compensation lines. As I’ve said, the man does not play around and he’d be a bargain at 3 times his salary (straight up.)

Well like any sane person (well as sane as one can be and still want to be a software developer), he’s taking the initiative and looking around for other employment where the compensation will be more commensurate with his efforts, and the challenges will be developmental and not overcoming ridiculous arbitrary management process (again, you’ll have to take my word that the problems are ridiculous and that he can not change them.)

So one of the places his recruiter is submitting his resume to is requiring he write a small windows console application that satisfies the following requirements:

  • Counts from between 1 and 100 inclusively
  • When the number is evenly divisible by 3, it should print “One
  • When the number is evenly divisible by 5, it should print “Two
  • When the number is evenly divisible by 3 and 5, it should print “OneTwo
  • When the number is not evenly divisible by 3 or 5, it should print the number
  • Ok, fair enough. I love that they asked for a code sample. At the end of the day, writing the code is part and parcel for software developers and I feel that the trend of those “what did you have to do”, “what were the results of doing it”, and “what could you have done differently” interviews… Sure you need to make sure the person is a good fit for the team as far as socializing, personality, not an asshat, but if they are a good fit, can they design and/or write the code.

    Well, I’ll say you have to at least consider it for a second but the above is not that challenging. Basically it will show you know how to nest/cascade if’s and perhaps know about the modulo operator.

    I would have been more impressed if they asked for a super and derived classes using interfaces to model a car, motorcyle, and airplane. But, I don’t know the company’s true needs so I’ll give them the benefit of the doubt.

    Anyway, good luck my man!

    Below is what I did… I feel it could be more performant but is pretty readable and gentle enough on resources for most stuff (I had to take a swing right?!?) …

    static void Main(string[] args)
    {
        StringBuilder valueBuilder = new StringBuilder();
        for (int counter = 1; counter <= 100; counter++)
        {
            if (counter % 3 == 0) valueBuilder.Append(“One”);
                if (counter % 5 == 0) valueBuilder.Append(“Two”);
                if (valueBuilder.Length == 0) valueBuilder.Append(counter.ToString());
                Console.WriteLine(valueBuilder.ToString());
                valueBuilder.Clear();
            }
        }
    }

    Another Amazon.com Win

    Recently, a friend of mine switched his web hosting to an Amazon Elastic Compute Cloud (EC2)  and was very pleased with the results; so much so that I decided I needed to look into this myself as a currently provide web hosting for a number of small domains and while I am satisfied with my current provider, as it turns out Amazon offers deep discounts for longer term agreements (one or three years) which are very competitive.

    As I like to do, before I get into the Amazon.com win, I’d like to provide a little backgroundSmile

    Amazon’s description of their service is (ref: http://aws.amazon.com/ec2/) :

    Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

    EC2 is Amazon’s version of Virtual Private Server hosting which in a nutshell is renting a an actual server computer that is located and run by the hosting provider and they give you an administrator account to that server such that you can use to install and maintain any software the server can run, such as web servers, DNS servers, source control, even video games. The advantage to a VPS hosted environment over traditional web hosting is that you get to decide exactly what services the server runs. Traditional web hosting generally provides you with a web server and usually an FTP server, and sometimes SSH access to a remote command line. You can then upload content to and not what web server software you’d like to use, or install any additional custom services.

    Currently (1/15/2010) Amazon has a Free Tier which, if you are eligible for, you can get a linux based micro instance free for a year. This tier comes with a limited but what I feel is a generous amount of bandwidth and storage use.

    From Amazon’s AWS Free Usage Tier product page:

    AWS Free Usage Tier (Per Month):

    • 750 hours of Amazon EC2 Linux Micro Instance usage (613 MB of memory and 32-bit and 64-bit platform support) – enough hours to run continuously each month*
    • 750 hours of an Elastic Load Balancer plus 15 GB data processing*
    • 10 GB of Amazon Elastic Block Storage, plus 1 million I/Os and 1 GB of snapshot storage*
    • 5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests*
    • 15 GB of bandwidth out aggregated across all AWS services*
    • 25 Amazon SimpleDB Machine Hours and 1 GB of Storage**
    • 100,000 Requests of Amazon Simple Queue Service**
    • 100,000 Requests, 100,000 HTTP notifications and 1,000 email notifications for Amazon Simple Notification Service**
    • 10 Amazon Cloudwatch metrics, 10 alarms, and 1,000,000 API requests**

    In addition to these services, the AWS Management Console is available at no charge to help you build and manage your application on AWS.

    * These free tiers are only available to new AWS customers and are available for 12 months following your AWS sign-up date. When your free usage expires or if your application use exceeds the free usage tiers, you simply pay standard, pay-as-you-go service rates (see each service page for full pricing details). Restrictions apply; see offer terms for more details.

    ** These free tiers do not expire after 12 months and are available to both existing and new AWS customers indefinitely.

    The price, is Free for the limits above (assuming you are eligible). Were you to exceed any of the limits, you will be charged the normal fees for a linux micro instance (generally under $.20 USD an hour for the exceeded limit.) For full pricing structure see: Amazon’s EC2 Pricing page.

    The eligibility requirements may be found on Amazon’s AWS Free Usage Tier Offer Terms page, and as of this writing, are as follows. (I high-lighted one in particular for it’s relevancy to this post) :

    Terms and Conditions

    • Only individuals who have not previously created an AWS account are eligible to participate in the Offer. You will not be eligible for the Offer if you or your organization create(s) more than one account to receive additional benefits under the Offer or if the new account is included in Consolidated Billing. You will be charged standard rates for use of AWS services if we determine that you are not eligible for the Offer.
    • You must create and maintain an AWS account in good standing (including a valid credit card) to participate in the Offer. Your participation in the Offer and your use of the AWS services is subject to the AWS Customer Agreement. The Offer is a Special Pricing Program under the AWS Customer Agreement.
    • Only accounts created after October 20, 2010 are eligible for the Offer. The Offer does not apply to any use of the AWS services prior to November 1, 2010.
    • You will be charged standard rates for use of the AWS services prior to November 1, 2010 or after the Offer expires. You also will be charged AWS’s standard rates for any use that exceeds the free usage amount provided under the Offer.
    • If you have not used the AWS resources provided under the Offer during the previous 3 months, we may reclaim those AWS resources after giving you 30 days notice. Even if your AWS resources are reclaimed, you may continue to participate in the Offer using new AWS resources.
    • You may participate in the Offer for one year from the date you first sign up for any of the services provided under the Offer.
      Unused usage amounts remaining at the end of the month do not roll over to subsequent months.
    • When calculating your use of AWS services under the Offer, we will aggregate your use across all AWS regions.
    • We may stop accepting new registrations for the Offer at any time.
    • Existing free tier offers for Amazon SimpleDB, Amazon Simple Queue Service, and Amazon Simple Notification Service are subject to separate terms and conditions described on the pricing pages for those services and the AWS Service Terms.

    So, as I stated before, I was pretty excited about the offer to check out what Amazon had to offer, especially in that I am a software developer that frequently works with web services and internet connected applications and Cloud Computing is a Big Thing in my world these days. So I grabbed my credit card and signed up immediately!

    Well as it turns out I completely forgot that I did in fact already have an AWS account that I had gotten a number of years ago to play around with some of their web API’s. This made me ineligible for the Free Tier.

    I proceed to load the server up and get it running the way I wanted to and two days later I checked back at the billing page to ensure I hadn’t messed anything up during the sign-up process. I found the process to be slightly confusing. The way what you are ordering is clearly defined and great, what was not intuitive was if what I was ordering was eligible under the micro account. You can absolutely get a Free Tier instance and purchase and pay for anything above and beyond what’s in the Free Tier, no problems. Which is great, but I found myself wishing for a way to limit the products and services to those only included in the Free Tier.

    And they may actually be, I am not certain because I was not eligible at sign-up and the UI may very well have been tailored to that of a long time user. I’m certainly not going to slight them much for that, but if that was the case, it would have been nice to know before I pulled the trigger.

    At any rate, I ended up being charged $.71 USD for 2 days of the service. Completely no big deal but if money keeps adding up and being budget wise is never a bad thing. So I quickly filled out a customer support form asking about it. This was a Friday evening and I heard back on the following Sunday morning.

    Below is a portion of the response:

    Hello John,

    I’ve researched your account and it appears your AWS account was created before October 21, 2010. This would ordinarily make you ineligible for the Free Usage Tier Offer.  However, because of your limited use of our services, as an exception I have manually signed you up for the free tier services of EC2 and S3 effective January 1, 2012.

    I was completely satisfied with the outcome. I wasn’t really sure what to expect, I was not aware that I was ineligible. I figured, worst case scenario, I pay the $.71 USD and cancel the account. And I feel that Amazon would have been completely within their right to rigidly stick to their terms. But they sure surprised me!

    Amazon’s customer service is simply excellent. It’s one thing that, I feel, sets Amazon apart from its competitors. Their commitment to making their customers happy is truly one of the reasons I keep giving them my business. I’ve had to contact customer support a few times for my regular shopping using their site, and have always been happy with the outcome. It really is nice to see a company provide the same great service across all their product offerings.

    Tip of the hat Amazon.com, thank you!

     

    Two things I heard that I can’t un-hear

    Without further ado, here they are. These both happened years ago, so I’m likely paraphrasing, but here’s they retain the spirit in which they were given.

    “If I am going to be spending time reading anyway, I may as well read something that will help my career.” –Timothy Flory

    “If it took you ten hours to write a program, and you make $20.00 / hour at your day job. You’d be better off spending that ten hours earning $200.00 and spending $85.00 for an app that does it.” –Craig Lubitz

    Well, pretty good advice, that’s for sure. Nothing bad ever happened to anyone for doing either or both of those. More likely, and I can attest first hand to some degree, that both of these has helped me out over the years.

    <rant type=”tongue-in-cheek”>

    Every damn time I am in a bookstore, or browsing Amazon.com and I come across a tasty fantasy (I’m looking at you Elric of Melniboné) or some sci-fi gem (take a bow Mr. Asimov (mmmm, old school baby)) I am inevitably plagued by Tim’s voice and it honestly makes me feel a bit guilty.

    Likewise, every time I feel a little urge to write some not for work code, I think of Craig and feel a bit inefficient.

    Now don’t get me wrong, this is completely my own idiosynchrocies, and I have no problem doing things just because I want or need to. They both need to be applied, like anything, with moderation and it’s all good. I guess I’m just surprised that it still happens.

    </rant>

    Thanks fellas 🙂