Friday, November 22, 2013

Creating a word cloud online

I often see word clouds online or in marketing, and I am always jealous about how great they look. Well, a little googling the other day and I found this link that included several online generators that make creating of these clouds quick and easy. These tools seem to fall into 2 categories: basic generators that create a block of text, and advanced generators that generate text in different shapes.

For my purpose, the second option is what I wanted. Specifically, I am looking to create a word cloud containing the fruit of the spirit (Gal 5:22-23) in a heart or other form. For this task, 3 of the sites met my requirements:

  • http://www.imagechef.com/ic/word_mosaic/ - By far this is the easiest site to use and is very intuitive. The only hard part here is realizing that you need to click Resize and More in order to save the word cloud image. The only drawback to this page is that it can only generate a cloud from a list that you provide, as opposed to directing to a web page
  • http://www.tagxedo.com - This site has a great balance between easy to use and powerful. This app can use a web page, twitter feed, RSS feed, or manual list to create the word cloud. The more advanced tools are not as intuitive to access, but are available if you look for them
  • http://tagul.com - This site appears to be the most powerful and useful site. This site requires you to create a login to use the tool, but its a quick and painless sign up. This site has the added benefit of being able to export your image in multiple sizes, as well as in SVG format for publishing.
This image below was created in tagul.com using my list of fruits of the spirit (further below)


Fruits of the spirit (english and spanish):
alegría control humildad modesty
amabilidad disposición humility paciencia
amables dominio joy patience
amor faith kindness paz
autocontrol faithfulness lealtad peace
benevolence fe longanimidad self-control
benevolencia fidelidad longanimity suavidad
benignidad fidelity longsuffering sufrido
benignity forbearance love temperance
bien generosidad loyalty templanza
bondad generosity mansedumbre tolerance
caridad gentileza meekness tolerancia
charity gentleness mildness willingness
compasión goodness modestia hope
compassion gozo

Sunday, October 06, 2013

Determining if your system is a 32bit or 64bit system via PowerShell

During my spare time here in Honduras, I am doing some freelance work for companies via various sites on the web. One of these tasks asked me to build a PowerShell script to perform some basic tasks, however there has been 1 snag - 32bit or 64bit OS?
I need to determine the OS version to execute the right commands, at first this is an easy thing to find, look in the Win32_OperatingSystem for the OSArchitecture attribute. If it's 32bit, then the OS is 32bit, otherwise it's 64bit.

However, a problem comes up with Windows XP systems - they don't have this value in WMI. When I wrote the script initially, I assumed that XP systems were out of scope due to their age (probably silly). So out to the internet I go and I find tons of methods to determine if the OS version is 32 or 64bit.
The most complete posting I have found was at http://depsharee.blogspot.com/2011/06/how-do-detect-operating-system.html, and it seems to suggest that the Win32_Processor.AddressWidth is the ideal WMI key to use. This works in Windows XP through 2012, so it should cover all of my needs.

Another option that isn't listed is to use the Test-Path PowerShell command. 64bit Operating Systems create a folder named C:\Program Files (x86) to separate 32 and 64 bit applications. We could then check for this path to see if the OS is running 64bit. This probably isn't the most reliable method as the OS could be installed on something other than the C:\ drive and with different default locations, but if you are only looking for a file to execute, it may be a shortcut.


Wednesday, October 02, 2013

Rolling your r´s in Spanish

It´s been a little over a year now that Jana and I have been in Honduras. A lot has happened in the past 12 months, including learning how to (poorly) speak Spanish from almost nothing. Jana is doing better than me, but I still have a long way to go - why didn´t I pay more attention to Spanish class in High School?

Learning vocabulary and grammar are fairly simple - start out with some rules and dictionary and practice. However, the one thing about Spanish that I still hadn´t figured out is the rolling of the r.

For example, take the following words: perro and pero. The first is a dog, and the second means ´but´. There are many words like this in Spanish that mean 2 different things, and it is often difficult to say what you mean when you can´t roll the r. Another example: carro y caro. The first is a car that your would drive, and the second means expensive. So it is possible to have a conversation with someone where you are talking about your "caro carro".

Being a child of the internet, I decided to try google. A quick search and I came up with http://www.wikihow.com/Roll-Your-%22R%22s, a nice how-to that describes a few methods of rolling your r´s. I personally have found the "DR" method the easiest - so instead of trying to say carro, I try to say cadro. I dont know if this sounds right to everyone else, but at least it can be understoon.

Sunday, September 22, 2013

A week in Copan Ruinas

Jana and I just got back from Copan Ruinas. School was out for a week, so we decided to take this opportunity to bone up on our spanish a bit more. There was a very nice school in Copan Ruinas that we performed a 1 week crash course in Spanish grammer. Tomorrow as we go back to teaching, we get to find out if we actually learned anything.



























Saturday, June 01, 2013

Creating my first Android application

I have long been interested in programming, especially with the newer mobile platforms (android, IOS, etc..), but never had a need or much time to work with it. Well, this week I got my new Android phone, and I decided now would be a good time to try my hand.
I first began looking at AppInventor as it seemed like an easy entry point. The website includes several tutorials on how to build and test apps using the point and click interface. My only concern is that this tool looks too easy, and once I am done with the tutorials, I may be stuck starting over again. Therefore, for my first pass I will be skipping this tool. I may come back to it later, especially if it allows quick starting point that can later be carried on with other development tools.
As I looked online, I found several tutorials for using the Eclipse IDE and the Android tools to develop apps. As I looked further, it appears that this is the official method that Google encourages, and therefore is the method to learn. I looked through many of the tutorials and it looks like it will have everything I need.
I was just about to download Eclipse and dependencies tools, when I saw that Google recently came out with an early access release of Android Studio, the next version tool for creating Android apps. If this means I can learn the next tool now, then all the better.
First off, downloading everything:


Install the JDK and Android Studio. There is a known error on some systems where Android Studio wont detect the JDK properly. If this happens, follow the instructions on the download page to setup the JAVA_HOME system variable.
From here, I followed the instructions shown at http://lirent.net/2013/05/android-studio-tutorial-for-beginners/ and http://karanbalkar.com/2013/05/tutorial-25-helloworld-application-using-android-studio/ to create my first Hello World! project.

A few things I learned with this first project:

When you  want to test your app on a physical device, you have to download the Google USB drivers through the SDK Manager. Then, you have to go into Computer Management and manually import the drivers.
When browsing the content of the project, MyApplicationProject > My Application > src > main > res > layout > activity_main.xml controls the layout of the display. This can be edited with a GUI, or with the raw XML.
When browsing the content of the project, MyApplicationProject > My Application > src > main > res > values > strings.xml contains the strings used in your project (useful for multilingual apps).

Monday, May 27, 2013

Teaching programming with Light-Bot

This last week was fairly relaxing and fun. Its the end of the semester for the high-school, and once the tests are taken, many of the classes are over until the next semester starts. To help celebrate the end of the semester, I decided the computer lab could play a game.
I looked around for some educational games that were related to computers, somewhat self teaching, and fun to play. After a bit of searching, I decided on Light-Bot (http://armorgames.com/play/2205/light-bot). This is a simple game where you program a robot to complete the task of turning blue squares yellow.

The game starts out fairly innocuous and the first several levels introduce you how to program the robot. Move forward, turn left, turn right, jump, and change colors. But then, it becomes a bit more challenging by the inclusion of functions, and more than that, recursive functions. Nearly every level could be solved in multiple different methods and allowed for creativity and learning.
Out of the 12 levels, I dont think anyone completed level 10. I have played this game off and on for years, and only this last week did I finally pass level 10 myself.

Below are the levels and commands I used to complete them. This is more for my sanity in case I plan on using this game again.

Level 1


Level 2




Level 3


Level 4


Level 5


Level 6


Level 7


Level 8


Level 9


Level 10


Level 11


Level 12