the word no

“No” is perhaps the most important expression/utterable in all of human language. It is one of the first words we learn and marks the dawn of our existence as individuals possessed of both the power and liability of free will. Those who master it’s use increase their odds of success in life many times over for having bothered. Those who struggle with it are likely to lead diametrically composed lives full of avoidable failures and frustrating regrets.  No one likes to hear it.  Most of us don’t even like to say it.  If you find yourself in this latter group, I urge you, for your own good, to give “no” additional consideration and use in your life.

To Do List

As someone who has tried almost every self help strategy/angle out there, I have a fairly good understanding of most of them and have learned from personal experience what works and doesn’t work.  Here is perhaps one of the simplest I’ve tried and it works for me every day.  It is a to do list.  Most people use to do lists in some way or another.  I my approach to this was suggested to me in a book by Hung Pham, one of my favorite self help authors.  Please check out his books if you have not already.  Each day when I sit down at the computer, I create a short, 3 item list of things I want to get done that day.  Instead of going in to a lot of detail and outlining my entire day step by step, I distil my goals in to 3 simple statements.  To most of you, it would seem that I am setting the bar pretty low.  Just 3 things?  Why not try and get 10 done.  Here is the logic.  Creating a large list tends to result in negative feelings about your ability to reach your goals.  Any interruption to  your schedule and you fail to complete some of your  items.  Then these items get pushed to the next day and you end up with another un-doable list.  The cycle repeats and repeats with you never reaching an end point or a time when you feel you have succeeded.  This is not good in the way it makes you feel and results in lower productivity in the long run.  The best strategy by far is to start with a notecard, post-it or as I do, Tomboy Notes in Linux.  Write down 3 tasks that you know you can complete that day.  Don’t be too general or specific.  Try to stay somewhere in the middle.  A good rule is to choose things that will take between 10 minutes and 2 hours each.  Try to list things that are not every day tasks.  Like for example, “go to work” on your list every day is not something for your list.  These need to be things that you intend to accomplish in addition to what you normally do.  Choose things that are critical to your well being and personal advancement.  “Go to the dmv and register the car”  is a good one.  “Watch video on Backbone.js and try some examples” is also good.  Keep your list handy so that you can easily refer to it all day.  Regularly return to it as even with just 3 items it is easy to forget about it as you go through your day.  When you complete items, draw a line through them or annotate on your computer with DONE.  You will be surprised how keeping to this short list every single day will add to your over all productivity.  I hope the 3 things list is as helpful to you as it has been to me.  It is a good habit and good habits make successful people.

 

Removing Ghost Spam from your Google Analytics Reports

Upon logging in to the Google Analytics summary page for this blog the other day, I noticed a surprising jump in traffic.  While, of course, being happy to see this increase, I decided to dig a little further and check in to the actual source of this new traffic.  As was not surprising, it wasn’t the case that somehow this site had become dramatically more popular over night, but instead that I had encountered a new type of spam known commonly as Ghost Spam or Ghost Referrers.  Ghost Spam consists of hits to your GA account that originate not from hits to your actual site pages, but instead from faked traffic emanating from entirely different hosts.  The short term fix I have applied to this was to apply a filter to the data collected by GA.  The process is fairly simple.  First I looked at a report of the hosts responsible for recent referrals to the site.  After determining this sites valid hosts from this list, I created an “include” filter specifying these valid host and thus rejecting referrals emanating from others.  In looking in to this, I also made sure to check the new “known bots and spiders” button in GA’s settings.  While doing this should defend the site against another common attack, crawlers, using the same filter functionality allows you to protect your site against web crawler attacks.  These illegitimate hits mimic payload day to appear as if they originate from good sources.  The solution to this would seem to be the application of an exclude filter listing specific Campaign Sources to exclude.

Checking again the following day, it appears that my problem has been solved, at least for now.  However, I am still rather irritated by the whole situation.  It seems that for every person on the internet working to build things and  add content and value, there is another working to tear what they have done down.  I am usually the last person to suggest regulation as a solution to anything, however, sometimes I wish that those who spend their time in this way were subject to some sort of penalty.  Since Obama has not managed to give the Internet away yet, maybe the US could push policing of such activity upon the countries producing the majority of this nonsense.  For example, if you exceed a certain threshold of spam production, your country’s internet gets shut down for a week.  I believe a policy like this would be very effective  towards the goal of motivating other governments to solve the problems emanating from within their borders.  While this comment is likely to be irritating to quite a few people, so is spam.

Removing Author from your WordPress Post

While you probably don’t mind the readers of your blog having your contact information, having your email at the top of each post invites spam to your inbox in a big way.  To remove this field from your posts try this css in your style.css file for your chosen template.  I would recommend doing this in a child template so that it doesn’t get wiped by an update, however, it is simple enough to re-do in the case that you don’t use one.

Simply add this to your style.css:

.entry-meta .meta-sep, .entry-meta .author { display: none; }

This is the most simple way of doing this that I am aware of as you do not have to modify any php files.

 

Tolkien’s Kennel, The Best Kennel in Richmond Virginia. http://dogkennelrichmond.com

While I am sharing 🙂 I want to mention a friend’s business and the web site I made from them a few years ago.  I believe this was also a WordPress site.  As I have stated before, I don’t necessarily consider myself much of a web developer in the artistic sense.  I do like the way this one turned out though and also highly recommend their business for those who own a dog.  If you love your pet, it is always an anxious time leaving it when you are away for work or vacation.  This is much worse if your dog is older or possessed with more than average anxiety itself.  While some of this feeling is unavoidable and you will always miss each other, things are much better when you both like your kennel.  During the 12 years I was blessed to have my Doberman, Pookie, a trip out of town for me most always meant a vacation stay for her at Tolkien’s.  I understand that a review of a business by a friend can hardly be considered unbiased, however, my best friend over these years was my definitely my dog and without such a wonderful place as Tolkien’s to leave her, my travel would have been limited greatly.  Having helped with other dogs and lived in other towns in the past, I do have experience with other kennels and dog day care businesses.  Most have been sufficient if not better than good.  I have also visited kennels that did not meet my expectations and moved on.  I’ve never missed a flight over it, but trust me, I would not leave a loved at one of these places for a week unless I was certain of them receiving high quality care.   If you live in the Richmond area and love your dog as I loved Pookie, please do both of you a favor and check out Tolkien’s for your next trip.  I can think of no other kennel in the city or surrounding counties for which I can offer as high of a recommendation.  The people at Tolkien’s are dog lovers through and through having shown American Staffordshire Terriers competitively for years.  The runs are spacious, clean and well outfitted.  Their attention to detail regarding dietary requirements and medication is flawless and their prices are quite reasonable if not low for the area.  Furthermore, they pay close attention to your pet’s health during their stay, which actually may have saved Pookie’s life once.  Basically, my dog was a dedicated underwear consumer and occasionally this habit resulted in life threatening complications.  Thank goodness the people at Tolkien’s were paying attention when a week after the fact she began to display symptoms.

I could tell as I pulled up in their drive that Pookie loved staying there too.  She seemed absolutely thrilled each time we arrived, jumping out of the car and dragging me through the gate and back to her run without the slightest bit of direction or prodding.  It feels so much better leaving your pet somewhere when they are clearly happy with the arrangement.  If you have not given Tolkien’s a try, please do and let me know what you think.  You and your pet will be glad you did.

Woot!

While I would imagine most of you out there are familiar with the site Woot! I have actually run in to a few people lately that were not.  Woot is an online shopping site featuring interesting items that fall into the “I don’t need it but I really want it” category.  When the site started, it would feature just 1 item a day, usually a special purchase with a great price.  They have since expanded significantly offering somewhere between 100-200 items a day in such categories as home, electronics, computers, tools & garden etc.  Each item is run for a day or so at a time or until it sells out.  Most everything is at a fair discount however note that many items are re-manufactured and  therefore not brand new in case that bothers you.  I have purchased quite a few re-manufactured items, many of them from Woot!, and have never had a problem.  Also, while the prices are almost always lower than elsewhere, it definitely pays to check around as occasionally they are not the best deal.  For the most part though, the prices are great, sometimes even ridiculously so.  Shipping except for very large items is a flat 5$.  If you order several items, you are usually just charged shipping for the first one so it can makes sense to buy a few items at a time.   Is there anything I don’t like about Woot?  I would have to say, besides their ability to prey upon my impulse shopping tendencies, the only thing i can find fault in is their shipping.  Once in a while, they are spot on, but for the most part, expect to wait for your new toy.  While this is acceptable if you are saving a few hundred bucks, on an item where the price is average, I might choose another vendor just to be sure of getting it quickly.     So, if you haven’t yet been out to Woot!, go on and check them out.  I highly recommend them.  I usually check the site  at least once a day in the morning.  The best deals can sell out quickly.  If there is a particular, high dollar item that you are after, it can pay to check at end of day  pacific time (2am eastern) when the items switch up.  Definitely give them a look if you are after a computer or peripheral.  They can be hard to beat.

Pinterest Quora and Experts Exchange or The Most Annoying of the Web

Google needs to stop indexing Pinterest and Quora until they change their sites significantly.  While I appreciate that both of these sites have every right to operate as they do, I don’t believe information that requires registration should be used in search results PERIOD!  Experts Exchange used to be the major offender here.  Among the answers to a programming question, this site would always pop up high in the results.  Upon accidentally clicking on it I would end up on a page requiring login and payment.  Yes, I do know that in their case you could just scroll to the bottom but the intention was to execute a version of the old “Bait and Switch”.  I have no interest in becoming a Pinterest or a Quora subscriber, yet, using Google as my primary search engine, I constantly end up on these sites trying to see a grayed out answer obfuscated by a registration requirement.  It seems that Google got wise to the Experts Exchange scheme.  The same needs to be done for these two sites a s well.  If I were to use similar, questionable SEO tactics on this blog, Google would no doubt penalize me for it.  I don’t hide keyword text on backgrounds of a similar color and the like for this very reason.  Why are Pinterest and Quora still getting away with it?  I, for the most part, am not interested in social media.  I do not want to share my search habits, likes and interests with other surfers much less corporations.  Of course I will not register with either of these sites and permit them to mine, share and profit from my information.  Google’s most important product is their search and it’s results are directly related to the composition of and value inherent in the World Wide Web as we know it.  Indexing content that is not accessible without registration, participation or payment is detrimental to the value of the entire medium.  Please continue working to maintain, preserve and enhance our web by ignoring text which is accessible only to spiders and customers.

Play Framework 2.4.3 – Problems Building Example Templates in Activator

 

If you have downloaded the Play Framework version 2.4.3 code lately and are “playing” with Activator, you will probably notice that most of the examples will not build successfully.  The error you encounter will look something like this:

(*:update) sbt.ResolveException: unresolved dependency: com.typesafe.play#sbt-fork-run-plugin;2.3.6: not found

Here is the fix that worked for me:

You need to load a more current sbt-plugin.  Wish there was a cleaner way to demo Play as I do like it a lot so far.  Go to “code” and select Project.  Select the “plugins.sbt” file and edit the line under “//The Play Plugin” to read:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.9")

Then, in the same directory level, either edit the “play-fork-run.sbt” file to match changing the version number to 2.3.9 or you may even be able to delete it as it usually will be rebuilt when the project is built again.  I would suggest editing it as I’ve seen a few projects that die during the build because they are looking for it.  Not sure why as I am not an expert on this build system yet 🙂  At this point, if you have activator set to a”compile on file change” it should already be working.  If not, click compile and everything should work for you now. Have fun with play!

Disable Automatic Startup of MySQL on Ubuntu

After installing MySQL or MariaDB on your Ubuntu machine, you will notice that it is configure to automatically start.  The install sets rc.d up for it on all runtime levels.  While a running database server isn’t a huge strain on the machine, why waste memory when you don’t have to.  I generally disable this the way you would any init.d service that you don’t use all the time.  Simply type this at a command prompt

sudo update-rc.d mysql disable

and your development machine will no longer start the database automatically.  If you are going to be using MySQL a lot and want to re-enable automatic start, simply type the same changing disable to enable.  With auto-start disabled, you can start/stop your database service by typing

/etc/init.d/mysql start

/etc/init.d/mysql stop

/etc/init.d/mysql restart

Simple enough but I had to look it up the first time 🙂

Problems Installing Mariadb 5.5, 10.1 on Ubuntu 12, 13, 14.04 etc.

Just a quick note to help anyone who runs in to the same thing I normally do when installing mariadb on a dev machine.  Without going in to all the hows and whys of the problem, when installing maria on ubuntu, it is highly likely that you will run in to some problems related to the mysql client stuff already on your machine.  As you go back an forth updating and upgrading to try and get your machine back to a state in which it will install any software at all, you will likely end up with apt reporting duplicate sources or some sort of conflict between the maria stuff you’ve tried to install and the mysql stuff that was already there.  In the end, the whole upgrade process is messed up and you still don’t have a working database.  For me, the simple way out given that I’ve managed to do this to myself again is to purge both clients and try the install once more.  Hopefully this will work for you.

First, completely get rid of the two conflicting clients:

sudo apt-get –purge remove libmariadbclient1

sudo apt-get –purge remove libmysqlclient18

and then try the mariadb install again.  It should work now.

sudo apt-get update

sudo apt-get install mariadb-server-10.1

Finally try a

sudo apt-get upgrade

to see that everything is back in order.

All should be back to normal on your Ubuntu 14.04 trusty machine.  Have fun with the best MySQL fork!