Saturday, January 04, 2014

Does that site have an RSS feed?

A while ago I gave our daughter my old DroidX phone and since then, she has increased her use of it.  She now has a free texting app that she uses with her friends (not that I am completely comfortable with it, but, baby steps), and today, discovered the news widget, which grabs article title and summary from rss feeds.  

Well, I found the sites for the tween/teen magazines she reads and after examining all the different areas of each site (having my IQ drop with each link click), I determined that I really needed a more definitive way to find the rss feed links for the site(s).

So, on a whim, I opened up the page source for the main page of each site and searched for "rss".  What do you know, if there is an rss feed, its typically mentioned in there.  Good stuff to know if you have tweens/teens and need to set this stuff up for them.  


Friday, January 03, 2014

URL For This Blog

A little while ago, I purchased a domain that I liked, and that goes along with the naming of my site (ParsedContent).  Although I had bought it, I unfortunately did not have the time to implement anything with the domain.  

So, about a month ago, while doing some work before bed, I got a bug up my preverbal butt and decided to set up the domain to point to this blog.  

So, without any more ado, the URL that you can use to get to this blog is http://www.parsed.co/.  Please note that the 'www' portion is necessary as it is required by Google when setting up a URL for your blog.  If you remove it, you will get a pretty, blank white page.

Thursday, January 02, 2014

Free Hosting (a.k.a. Yes, you can use Amazon AWS for free)

When I started at the job that I have now (and absolutely love), I got my first foray into the world of Amazon AWS.  Before starting here, I did not have any experience in the cloud, but cannot say that I was not absolutely intrigued by it.  Sure I had a Dropbox account and Bitcasa account, among others, but that's not the type of cloud experience I am referring to.

Amazon AWS (which stands for Amazon Web Services) is Amazon's cloud services platform.  There are an absolutely plethora of companies that use it on a daily basis, including Amazon, which uses it for its own store.

Sure, to use it there is quite a bit of a learning curve associated, but believe it or not, its not that difficult, it just requires the time to dedicate to learn it.  Amazon keeps quite an array of documentation for you to reference and learn from, and if you or your company have enough in the budget to support it, they have training available around the country.

But, believe it or not, one does not have to spend a cent in order to get started with Amazon AWS, so long as you stay within their guidelines, which are outlined on their Free Tier page.

You could use it to setup a website (even database backed) and have it up and running for a full year before you have to pay a cent to Amazon.  That is truer than you think.  Amazon gives you 750 free hours a month of free running instance time.  Which means, unless they decide to extend the number of days in the calendar for each month, you can leave your single instance running 24x7 without going over.

Amazon has quite an incredible cloud platform to work with, but be careful, because once you start paying, if you do not monitor your activity, the bill can grow exponentially.  But that's not to say it cannot be done, it is done every day by companies that use untold amounts of amazon's services.

I hope you not only enjoyed this article, but that you let curiosity be your guide and try the cloud.  Its quite fun.

Sunday, December 29, 2013

MacVim Won't Start...... Hmmmm

Being a good Mac user, I applied the recent updates to my Macbook, updating it to OSx 10.9.1.  I tested a few things out and thought all was ok, until I attempted to open a file with MacVim.

I sat there, patiently waiting for the app to open, and waiting and, well, you get the idea.  I killed the attempt, tried again, checked the logs, nothing.  The only thing I could figure out was that I had just updated.  So, to the Googles I went.

It didn't take me too long before I found this link, where the exact problem I was having was described.  On that page, you are provided a link to download the newest version that works on 10.9.x.

I don't know if any of you have been experiencing this same issue, but if you have, please enjoy this solution.

Happy New Year!

Wednesday, November 06, 2013

Get Away From Adobe Products

Adobe revealed back on October 3rd that their network had been infiltrated.  According to one article, 39 Million accounts were compromised.  On top of that wonderful news, Adobe also revealed that the invaders were also able to grab the source code to pretty much all of their products.  This is pretty insanely scary on many levels.  With the source code, one could find vulnerabilities or, even more unscrupulous, they could input vulnerabilities and release the version into the wild via torrents.  Adobe's products are widely torrented and it wouldn't take much to get people to unknowingly adopt the hacked versions.
The company that I work for has completely purged itself of any Adobe products, and from what I hear, there is a global ban going on in a plethora of companies.  My suggestion is to follow suit.  You don't need Adobe's products where there are other viable (some free) options.  I don't use anything much beyond Adobe reader and their flash player.  I have long ditched their reader anyway and gone with a free reader.  As far as the flash player goes, I am researching a viable option as too many sites still require flash.  Hopefully we will see a change in those sites as well.

Sunday, November 03, 2013

Progvember....

I was perusing Hacker News this morning and came across an idea called Progvember.   The idea is taken from the concept of National Novel Writing Month (NaNoWriMo as it is known to those who like to put pen to paper and tell the magical story ideas that flow through their active minds).

For the month of November, NaNoWriMo members work diligently to write a novel in 30 days.  The goal is 50,000 words put to paper (electronically or physically) during the month of November.

Progvember is the brain child of Andy Still and the idea is to create your application/web site/app in 30 days.  I visited the website and kind of like the way that you can 'register' your project in a hack-a-thon type of manner, and even have the project open to people helping you out.

This is a short post, but simply meant to just let you know about this interesting and cool idea.  Here is hoping that it takes off and keeps going.

Saturday, November 02, 2013

A Guide to Installing Java on Ubuntu 12.04

I recently re-installed my desktop and switched from Debian to Ubuntu (personal choice for my own reasons).  Doing a fair amount of Python lately, I have gotten to really like using the Community Edition of Pycharm.
Unfortunately, while Pycharm is pretty sweet, its also written in Java (not a favorite of mine).  So, with that tidbit of info, I will now go through the steps necessary to install and setup Java on Ubuntu 12.04.


The first thing your going to need to do is download the JDK from Oracle. After you download it, you will need to unpack it (below I used the name of the version I downloaded):

     tar -zxvf jdk-7u45-linux-x64.tar.gz

After you unpack the tarball, you will have a directory with the software in it (mine was named jdk1.7.0_45).  You will want to move the new directory to a usable location.  I moved mine to the /usr directory as such:

     sudo mv ./jdk1.7.0_45 /usr/

You will need to make sure to do this as sudo, as root owns /usr/.  

Next, you are going to want to set the JAVA_HOME variable, which is done in either your .profile or your .bashrc in your home directory:

     export JAVA_HOME=/usr/jdk1.7.0_45

Just for giggles, I added a path to the bin directory where the java executables are located.  To do this I simply edited my .profile and added "/usr/jdk1.7.0_45/bin" to the PATH variable.

You now have to execute the following:

     sudo update-alternatives --install "/usr/bin/java" "java" "/usr/jdk1.7.0_45/bin/java" 1
     sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/jdk1.7.0_45/bin/javac" 1
     sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/jdk1.7.0_45/bin/javaws" 1

Now, create a plugins directory for Mozilla:

     mkdir ~/.mozilla/plugins/

And create a link to the necessary file:

     ln -s /usr/jdk1.7.0_45/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

After that, your JDK is now installed.  Just a bit of informaiton. Some people have said that you don't need the "update-alternatives" lines in order to complete this, just the path addition.  Actually, for me, it did not work until I did those links.  

Enjoy and hope it works for you too.

Thursday, September 19, 2013

Small Side Project

The other day, while on lunch, I decided to write a quick bash script to determine the IP of my machine.   For the first incarnation of this script, I chose Bash as it is just a quick and dirty way to achieve my goal.  
Well, after working on it for a little bit on my Linux machine, I looked to my right and saw my Macbook sitting next to me.  Being a *nix backed OS, I decided that the script also needed to support it, as well.  What the heck, why not throw Solaris into the bunch as well, seeing as I also have access to a Solaris machine.
Once I decided to take a break, I created a new repo up on Github to host the project, created a license and readme file and got my script checked into the repo.  Shortly after I put up a facebook post about the new repo, a colleague downloaded it, tested it and quickly posted a suggestion for improvement.  
I will be the first to admit that my initial design was a bit short-sighted and didn't take into account interfaces that were not active.  
I quickly went about a re-design to determine which interface(s) were active, and report their IP's.  After getting the script working as hoped on Mac, I turned my attention to Linux and Solaris.  I quickly realized that when dealing with servers, you will most likely have multiple active interfaces, including virtual (vnet) interfaes. 
Sitting here writing this, I think I may simply report each one, and also print the interface name in the output, which is currently not done.  The code is a work in progress, so if you are interested, please stay tuned and watch the updates flow.  
As always, if you have any suggestions for script improvement or if you find any bugs, please open an issue through the project on Github.  

Thursday, September 05, 2013

Effing ARGH!!!!!

Let me just say how painful it is when you have been pouring tons of time into a pet project that you feel strongly about, and that you had a "grand plan" for, only to literally stumble upon another site that has already implemented the idea.  ARGH!!!!!

My idea was to be a nutritional information site.  It would cover not only standard foods and processed foods from your grocery store, but also the food at restaurants.  I wanted this thing to be the one-stop-shop for anyone conscious about their health and what they eat.  

One of the main reasons this is near and dear to me is that I am a Diabetic, and earlier this year changed my entire eating style to be Paleo.  Its been an amazing journey thus far and I wanted this site to be the nutritional information bible.

Well, while downloading restaurant nutritional information last night, I noticed that one of the PDF's was not hosted at the restaurant's site, but instead another site all together.  I went to the root url only to discover that this site, where the info was hosted, already provided what my site was going to provide.  And on top of that, it was pretty slick.  A friend suggested I use their data as my source and make a better site, but to be honest, it wouldn't be right.  Yes, I am one of those honest people and believe in doing the right thing.

You can say 'C'est la vie'..... move on..... whatever you choose, but it doens't take the sting out of the fact that I feel robbed and completely screwed over having been totally beaten to the fully implemented concept.  

I am going to just have to ensure that the next idea that I have gets to fruition quicker, before someone else does it.

Monday, September 02, 2013

Do My SSL Keys Match Up?

Recently, at my day job, we had an issue where the SSL certificate that we had in place for one of our URL's, was expiring and needed renewing.  One of my colleagues had renewed the certificate, but did not have time to install it immediately.  So, the day that its expiring we had to do a bit of scrambling to get it replaced on the server.

So, having been given this task, I logged on to the server and noticed that the public key, signing keys and private keys were all put into the same directory.  Cool, I don't have to figure out where to put them.  So, I downloaded the certificate bundle from our issuer and unzipped it.  It was then that I realized that the bundle only contained the public key and the signing certificate(s).  

So here I am, with the new key and no private key.  Plus, looking on our issuer's site, there was no way to tell what private key was used.  Thus became my quick search of the Googles to determine how to compare a public key with a private key to see if they are a pair.  

If you have manually created SSL certificates before, then you should already (hopefully) be familiar with the openssl software.  Thankfully, that software can also be used to pair up public and private keys.

In order to match up two keys, you need get some output from the keys themselves.  On the public key, you want to run the following:

openssl x509 -noout -text -in cert.crt
You will then want to run the following on the private key that you suspect may match up:

openssl rsa -noout -text -in cert.key
As part of the output of both of those commands you will see a section called "Modulus", which looks something like this:

Modulus (4096 bit):
                    00:e4:86:e3:fb:49:07:1d:a6:11:df:3b:1f:d8:1b:
                    65:c8:97:06:28:fa:73:d2:bc:d2:05:94:b3:f3:0d:
                    69:6d:ae:fa:80:a5:4d:63:6f:bf:1e:62:67:fe:3d:
                    be:96:ab:17:25:87:b5:ac:04:15:70:20:e7:d3:0b:
                    e3:fe:99:53:eb:10:60:2e:48:a2:0d:00:de:9c:c4:
                    7c:79:f4:ff:66:e7:40:37:2a:4a:7c:93:8a:af:66:
                    17:f1:04:60:94:c7:62:86:83:e0:1f:28:b8:4d:8e:
                    dd:30:59:47:76:ba:b9:60:b5:a7:2a:af:1d:be:2c:
                    bb:1f:58:6d:56:f0:36:a4:72:f7:1b:9e:c9:f6:57:
                    99:e2:3d:3a:7b:db:9a:2d:50:47:3f:3e:15:27:5a:
                    b2:fe:84:4b:4d:68:a7:ca:32:6d:4c:59:1a:a4:74:
                    39:f0:f3:10:a8:fa:9f:de:cb:4f:c8:b1:86:24:aa:
                    01:48:32:8b:e9:06:1f:71:43:2d:64:1a:30:73:d3:
                    7c:9f:46:f9:17:59:1a:db:0b:fa:a3:49:b0:56:90:
                    e5:37:79:42:35:05:24:e5:82:80:59:4c:16:94:3f:
                    9c:d3:d3:f5:ea:03:87:d6:5f:c8:23:1a:08:9c:43:
                    78:be:7d:98:a0:e0:82:05:74:de:1a:bb:4a:2e:d6:
                    a3:cd:70:24:a3:5d:05:06:a6:28:2c:f8:75:2d:61:
                    34:28:a6:44:69:b6:f8:cc:ea:9d:f1:97:35:3c:cd:
                    46:b5:69:e6:7e:7d:a5:07:7d:cb:bc:98:d1:80:18:
                    f9:87:fa:d8:db:c7:42:4d:93:54:36:4b:83:45:0c:
                    79:b3:0f:1c:28:e1:f7:92:0b:56:86:f2:17:80:55:
                    fe:31:67:c9:31:5c:7b:87:d2:ea:ea:a8:38:0e:b1:
                    37:68:ef:a1:d1:be:a1:69:8e:37:45:bb:96:b7:9d:
                    27:1e:a9:d5:6a:be:36:a8:20:ae:ab:4f:5e:a1:40:
                    f6:92:57:17:ff:68:c6:9b:4e:ee:d1:2f:47:b9:9f:
                    9c:be:4b:21:ad:20:a7:12:38:89:2b:12:0e:62:cc:
                    44:65:e7:af:31:fe:ba:c7:e7:60:e3:cc:65:b2:91:
                    15:73:2c:d7:17:95:53:f9:d6:f8:6a:4c:3c:5a:62:
                    c7:5b:c9:2b:52:37:66:ec:56:be:4a:75:49:0b:9e:
                    32:a1:e3:62:0a:a3:de:3a:a5:00:03:d8:01:79:df:
                    9b:46:1f:44:a2:06:71:28:0d:8a:61:00:5c:7f:5a:
                    0c:37:c0:dd:dc:3b:80:a1:b7:ad:df:1d:08:fa:95:
                    f8:35:42:3f:4c:e6:8e:f3:94:12:d6:83:63:84:63:
                    89:bb:61 

What is really nice is that if they are the correct pair, the modulus of both keys will be identical.  To finish my anecdote regarding work, I got lucky and the first key that I chose (which was the private key previously used), ended up being a match, proving that they new key was generated using it by our provider.  

I hope this has helped someone find their long lost matching keys.  
 
Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.