Friday, October 29, 2010

Quality Star Wars never gets old

Here are two awesome Star Wars videos.



Wednesday, October 27, 2010

Vilifying

I have recently been thinking about vilifying. I tend to view things as either black or white. Not a lot of grey, if any. This is not to say that I am always correct in my associations. I'm not. I am ashamed to admit that I sometimes take a while to shift my position when it is incorrect, but I do feel like I shift when I discover what I thought was white is black or vice-versa. I just mention this so you know a little bit of where I am coming from and why it might be to question the accuracy of the villain label.

Villains are great in fiction. They act as the antagonist and give the protagonist (often a hero) someone to measure up against. In a created universe it is easy to paint a villain as either one-dimensionally bad or maybe just seriously misguided. I think that we are too quick to apply the label of villain in the real world. There may be some who actually deserve it, but I feel like almost all groups make villains in order to either have antagonists or scapegoats.

I really started to think about this a while back when I was looking for LDS films on Netflix. Eventually I found States of Grace. A more familiar description of it to most mormons would be God's Army 2. Richard Dutcher, the director, pioneered modern LDS commercial cinema. I have not yet seen States of Grace, but I found the first film thought provoking and fairly well done. It was definitely hyperbole, but that's Hollywood.

I was a little shocked to discover he had left the LDS church a few years back (letter announcing his departure, second follow-up letter, interview at the beginning of this month). Like God's Army, a lot of what he said stoked my brain. In particular I enjoyed his apology of Thomas Marsh from the second follow-up letter. Thomas Marsh really is reduced to a one-liner Sunday School lesson. There has to be more depth. He was the chief apostle, after all. A similar apostolic example is that of Judas. Do you think Jesus would pick him just so he would be in a position to fail? That is not very charitable. I think Judas must have been a valiant disciple and good apostle, at least at the start. I have heard that Jesus Christ Superstar deals with this theme more, but I have never seen or heard it (but I did wiki it).

Continuing on the mormon theme, what happens when we apply this line of questioning to characters in the Book of Mormon? While I think the order of Nehor, the King-men, and the Gadianton Robbers, are difficult to justify, the Lamanites are often painted negatively. Especially in the beginning of the book. There are times, when this depiction is obviously unjustified. Jacob calls the Nephites out by pointing to the fidelity of the Lamanite husbands. The sons of King Mosiah lead an extremely successful missionary effort about midway through Nephite history. Numerous dissenting Nephite groups are accepted and embraced into Lamanite culture. I propose that the issue is all are about how the Nephites looked at their Lamanite brothers. Nobody likes being viewed as ignorant villains.

One of my favorite scenes from The Lord of the Rings: The Two Towers (the movie) is when Faramir turns over the fallen Southron and says:
The enemy? His sense of duty was no less than yours, I deem. You wonder what his name is, where he comes from, and if he really was evil at heart. What lies or threats led him on this long march from home, and would he not rather have stayed there... in peace? War will make corpses of us all.
In other words, he ponders if the Southron is really a villain, or if maybe the Southron even viewed the men of Gondor as the villains.

The last aspect I want to touch on is that of politics. The modern political scene in America is a horrible example of vilification. Each side of the aisle tries to make the other look like the bigger villains, while neither seems to care about actually making progress. Television ads, news stories, campaign debates, and strategists/pundits all focus on talking points and slander instead of the actual issues. People are fed up with this behavior in Washington, with the unfortunate result of a bunch of crazies (the TEA party) gaining a foothold. See! Even I can't help it. I made them into the villains.

I'll end with a clip from this past Monday's Daily Show about the firing of Juan Williams:

The Daily Show With Jon StewartMon - Thurs 11p / 10c
NPR Staffing Decision 2010
www.thedailyshow.com
Daily Show Full EpisodesPolitical HumorRally to Restore Sanity

Monday, October 25, 2010

New England's Best Movers

On Thursday I put our old couch on craigslist. Within a few minutes I received an email from someone who wanted it. Last night he came by and picked it up. A similar thing happened with our old wood stove. This time I was expecting it so I pulled the ad as soon as I heard from the first person. Anyway, another success from craigslist. One can almost always count on somebody wanting something that's free.

On to the point of this post: New England's Best Movers. The fellow who picked up my couch used the opportunity to give me some business cards. He has recently started a moving/removal/delivery/anything company called New England's Best Movers. The emphasis in the name is on moving, but it sounds like they'll do just about any job.

I have not actually used their service (yet), but the guy was nice and I thought I could express my gratitude for taking our couch away by giving a little shout out. They are based in Revere, Massachusetts.

Saturday, October 23, 2010

Brief notes on wiki setup

I have been trying to learn a little bit about setting up a nice wiki, but the project has not kept my interest as much as I had hoped. The main thrust of this project has been figuring out how to get the Navbox template working on a wiki at my office, so most of my research has centered on that.

The Navbox template is a fairly slick way of grouping articles in the midst of a fairly flat structure. I would propose that anyone wanting to make nice looking wikis needs to learn about templates or at least understand them enough to use them well. They are used extensively for navigation, which is important for a hierarchy that continues to grow.

A good place to start with getting templates on a wiki is the Navbox template talk page. At the top of that page it has a description of what you will need to get going, including a link to HTML tidy. It even points to a deprecated version in case you can't get the current one to work. I have found that wiki development is like HTML development: easiest way to learn is to learn from examples. Wikis have pages for copying templates from one wiki to another.

Finally, a few notes about installation. Installation is more-or-less straightforward, although you need a number of pieces. It is all freely available for download. Installing on Fedora is fairly easy. You can even get going with yum install mediawiki.

Thursday, October 21, 2010

What about OAuth? Gesundheit!

I volunteer some of my time to serve as a board member for the the Educational Foundation of the PDMA. Our product for facilitating business education is still in preliminary development, but it is coming along nicely. There are security and privacy concerns which complicate what we are trying to do, so we are investigating existing solutions.
  • OAuth - One approach I hope we take with privacy is to limit the amount of private data we store. We still want to have access to people's social media, so for that we should use OAuth. OAuth allows a site to access private data without having to reveal your password to the site. My understanding of OAuth does not extend much beyond the introduction of a beginner's guide, but Twitter, Facebook, and Google all have OAuth interfaces.
  • Open Social - Open Social is Google's suggested (and open) API for web services. I do not think we will be creating web services, but we should definitely follow this if we do.
  • Friend Connect - Google's social overlay for sites. Unfortunately, it doesn't seem to have legs. Sometime soon Google will make an announcement about social that will either replace or revamp this.
  • Facebook Connect - Our website uses Drupal for its content management system. A plugin exists for putting Facebook Connect on a Drupal site. Facebook Connect is basically Facebook's version of Friend Connect.
  • PayPal - I have generally stayed away from this site because when it first started it had some privacy/security issues. They seem to have ironed them out now and are a very easy resource for setting up payments.
Any other neat technologies I should take a look at? Anything I should stay away from?

Tuesday, October 19, 2010

Farewell, faint-hearted

I was shocked and appalled to see that my follower count in Google's friend connect has gone down. Alright, not really. My wife's blog once again has more followers than mine. This is not surprising since she can actually write funny and insightful posts, but it still hurts my pride because her blog is private (which is why I did not link to it).

C'mon people! Stand up and be counted! I actually understand why the follower left: I probably got too geeky for them. While I hope to have a heavy tech bent on this blog, for a while the only things I blogged about had to do with my involvement in the LDS church. I even briefly changed the name of the blog to "Mormon Yankee Hacker." I have now refocused on tech, but there is a button on the right to my mormon.org profile. I also reserve the right to talk about whatever I want to. It is my blog after all.

The point of this post is to ask for you to follow me on Google friend connect. Then subscribe to my feed. I know everything I write may not be gold, but every once in a while I hit something good!

Sunday, October 17, 2010

Mac Software

I do not use a Mac. I never have used one. There is a lot of cool software available for Macs, and now that they use Intel chips you can pretty much run any Windows software on it that you want too. Below are some sites I found that seem to have a good selection of good software. They all come from a family of sites by Worcester LLC.

Friday, October 15, 2010

Building the first computer

Everyone knows of the great Charles Babbage. What? You don't know who he is? He originated the idea of a programmable computer! That was back in the early 1800s. Hopefully that explains for you why you folks down in Texas buy your video games from Babbage's.

Anyway, this programmable computer idea that Babbage thought up never actually got built as he thought it up. A hundred years later we had the first computers, which used electricity and vacuum tubes. Nobody has actually built an Analytic Engine, the name Babbage gave to his mechanical programmable computer. That's right: mechanical. As in powered by steam, not electricity. There are two Difference Engines, a mechanical calculator he thought up, but no Analytic Engines.

This week on TWiT, John Graham-Cumming explained how he has just started a project to build Babbage's Analytical Engine. He is looking for funding and has elected to attempt a grass-roots collection effort using pledgebank. If 50,000 people commit to $10 (or £10 or €10), then he can get started. He estimates that the project will take about $1,000,000 because of the necessary compilation and research regarding Babbage's notes. He worked on the design throughout his life, so there is no single blueprint to use.

I committed to give $10. Please pledge to give. If you need some more explanation then you can contact me or listen to TWiT or both. You are, of course, welcome to donate more. Leo Laporte pledged to donate $1,000.

I should mention that even though the Analytic Engine has never been built, it was programmed by Lord Byron's daughter: Ada Lovelace. That is where the name of the contemporary programming language comes from. It is speculated that she may have helped with the design of the Analytic Engine as well.

Wednesday, October 13, 2010

Android Hacker

My manager at work put together a simple AndroidTM app last weekend. It was just a toy app, but he plans to continue to mess around with things on the side (in his vast spare time </sarcasm>). He encouraged me to do so as well. For one, the development platform we are using to experiment can run Android. More importantly, we always want to be "sharpening the saw" in order to stay competitive. Unlike his suggestion that I learn python, the suggestion to learn android is something I can get excited about.

I also am intrigued here by the apparently successful efforts of a former fellow grad-student. He now works for lolo developing iOS apps. The apps look pretty cool (I do not have an iPhone or an iPod touch): lolo burn lite, lolo burn, and tempomagic. I do not know how their apps are doing, but they look impressive to me (I'd buy lolo burn if I had an iPod Touch).

Here are the steps I took to download the SDK and get it installed:
  1. Go to the Android Developers website. I found myself getting a little bit of that "Christmas morning anticipation feeling" when I went there, but that might be due to my download of the latest KNOPPIX I have going.
  2. Click on the "Learn more" link under Download to get the SDK!
  3. View the system requirements and then download Eclipse (triple check to make sure I get the version I want). Install Eclipse by extracting the zip file into the Program Files directory (or wherever you want it).
  4. Download the Android SDK (more exciting than the Social Network, I know). Unpack it somewhere (I unpacked it into Program Files too) and then add it into your PATH. Do this by right-clicking on your computer (either on your desktop or in the taskbar) and then selecting properties. You then want to get in the advanced system properties and select "Environment Variables." Edit the path variable to have an additional semi-colon and then the absolute path to the Android SDK.
  5. Use the ADT instructions to install Android Development tools in Eclipse.
  6. Install all the "extra stuff." I am not sure what I need, and I have plenty of space, so I just installed everything. Yay for free software!
That is all for now. Next I move on to Hello, World. After that: profit! Or not. While profit would be nice, I think it will just be fun to tinker around a bit.

Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.

Monday, October 11, 2010

Social networking for finding a job

Cool Blog Sociale - 10 July 2008 - I Heart Job Offers Resume T-shirt by BlackBirdTees A One of my former roommates is currently looking for a job. Not exactly something one wants to be doing with the economy barely starting to come out of a steep dive (or so they tell us). On top of the lousy climate, his chosen field is fiercely competitive and volatile.

I am by no means a job-finding expert. However, it has worked really well for me a few times. By the end of my undergraduate degree and then by the end of my graduate degree I could pretty much get an interview with almost anybody I wanted. Of course, about half the time (or more) I then proceeded to bomb the interview, but that is a separate post.

This roommate has been searching for a little over a year, and he asked me for a bit of help with the social networking aspect of things. I got my current job through Facebook and am a big believer in the power of social networking. I think it applies better to some fields (like mine) than others, but it can help everybody.

Just a few quick thoughts on social networking:
  • Don't overlook your family and friend connections. Let everybody you know keep an eye out for you and help you. It may take some humility to open up and ask for help, but if you don't ask you'll never know
  • Always collect contacts. Even if you have a job, collect contacts. Put it in a file somewhere so that you can pull it out when you need it. Cool jobs you see, recruiters that contact you, people who move on from your company. Everyone. Keep email, addresses, and web pages.
  • LinkedIn and Facebook are your new BFFs. Learn to use them and love them.
  • Spend an afternoon or so one day bolstering your web presence. You can make an on-line resume that includes everything you've ever done. It does not need to be limited to a page. Update your profiles to be resumes and portfolios. Make sure some contact information is available (get a Google Voice number if nothing else).
  • Think creatively about jobs and your experience. Some jobs just need smart people who can get trained to do something well. Some jobs just need trusted people. Some jobs just need creative people. Not every job needs 5+ years experience programming in C++.
The advise I gave my roommate was a little more specific to him, but those were the main points. Finding a job is a job itself. Don't use a pistol when you can use a howitzer.

Saturday, October 9, 2010

Grandpa Jim's web from the 90s

I recently updated the links on my Oklahoma Web Awards page. That page is the latest landing page for my small tribute to my grandfather, Jim Cooprider. He passed away on June 10, 2007. One of his many skills was as a graphic artist. He also liked to explore the world through the web. Around the turn of the century (that sounds weird and makes me feel old) he created some web award badges and would give them out to websites he found noteworthy.

You young 'uns may not understand the idea behind these badges. Everybody on the web gave out and collected badges back when the web was new, connections were slow, and browsers were boring. This was before the analytics of a web site were well understood. It was also before Apple's comeback and re-instantiation of elegance in design. This was even before Google got big. In this formative state, people valued badges as identification of quality.

Of course, most of the sites that my Grandpa awarded these badges to are laughably bad by today's standards of web design. However, they still have great content. Take a look around! If you happen to see one of those badges while surfing and I do not know about it, please let me know. Thanks.


Thursday, October 7, 2010

Hangin' with celebrities

I hang out with celebrities. Virtually. Sort-of.

Okay, fine. That's not even close to true. However, over the last year I have had a few experiences on Twitter where I tweeted back and forth with famous people. Alright, people famous among nerds.

A little over a year ago, the TWiT network started a new show called This Week in Google. Since I was already a Google fanboy, I subscribed and started listening. At first, one of the panelists got on my nerves because of how often he promoted his book. The panelist is Jeff Jarvis and his book is What Would Google Do. So I voiced my opinion over twitter:
The grotesque self promotion of @jeffjarvis was pretty thick on TWIG 7! We get it, you wrote a book. Talk about something else! #twit
I import my tweets into Facebook, plus I wasn't sure I had gotten my point across in that tweet (140 characters is very limiting), so I clarified what I wanted:
I want to see if @jeffjarvis can go the entire episode of TWIG tomorrow without saying "WWGD" a single time. I bet he can't do it. #twit
I then felt a little bad shouting out into space about someone I barely knew and who probably wouldn't have the chance to defend himself (plus he had just undergone surgery for prostate cancer). So I tweeted:
Lest you think I'm a hater: I actually like a lot of the ideas @jeffjarvis shares and am glad his surgery went well http://bit.ly/2UZpCN
While I knew it was a possibility he'd read it, I did not think he would respond. Well, he did read it and he did respond. I do not have his response saved, but here is what I said in answer to his response:
@jeffjarvis Sure. I would normally expect a little self promotion. I just think you went overboard with it this last week.
I also said:
@jeffjarvis It was probably just a function of @leolaporte mentioning @audible_com saying to plug other books besides yours
He then responded saying the more complaints he received, the more he would keep on doing it. So I said:
@jeffjarvis Doh! I better stop complaining.
During the next week's episode, Jeff did not mention his book title at all. Not even once. Leo did it for him when he found out Jeff wasn't going to, but Jeff did not do it any that week and was much better about it in the future. So I ate crow:
Finally got around to listening to TWIG. Props to @jeffjarvis for not plugging his book any this week! #twit

Needless to say, I feel more loyalty to Jeff now that he responded and changed because of my (and probably other's) comments. In a later podcast he mentioned "the ethic of the permalink" and a couple articles he had written about it. I asked him for the references to the articles:
@jeffjarvis Any suggestions for good reading on the "ethic of the permalink?" #TWiG #TWiT
I thought that lightning would not strike twice, but it did! He responded. I do not have his response, but he sent me the references to two articles which I retweeted:
@jeffjarvis Excellent articles. Thanks for the response. RT: http://bit.ly/2uxxqk http://bit.ly/3uFcOo

The reason I write about this now is that it happened to me again a couple weeks ago. This time I found myself getting disgruntled listening to This Week in Tech. Kara Swisher was on for the third time. The previous time she was on I found her grating against the TWiT flow, and the same thing happened again this time. So I tweeted:
Not really a big fan of @karaswisher on TWIT. She's obviously good at what she does, I just think she doesn't mesh with the TWIT feel well.
Kara co-hosts and co-produces The D Conference, which basically makes her a journalistic goddess in the tech industry. This is one of the reasons I was confused by both my dislike of her on TWiT and her response to my tweet:
@ncooprider hmm, not in love with tech enough?
First off, why would she even bother responding to me, a lowly software engineer on the other side of the country? Second, what the heck did she mean? My first instinct was that she was making fun of me by saying I was not in love with tech enough. My wife's first instinct was that she was referring to herself. At first I found this laughable. However, I thought about it some more. I responded to her again, but the conversation really had no legs and she did not bother to answer my second tweet:
@karaswisher I've been trying to put my finger on what I think is off. Maybe you are just different and come on less often, so it is jarring
I did eventually figure out the difference. I think most panelists on TWiT are nerds and geeks first and journalists somewhere after that. Kara, on the other hand, seems like a professional journalist first, and she covers nerds and geeks. It makes her less of a "buddy" on the show.


My wife and I recently watched Notting Hill. I think the theme of that movie applies to my experiences with Jeff and Kara. We tend to put these people up on a pedestal and consider them other-worldly. However, they really are normal people. Sometimes they read our tweets. Sometimes they respond. Even though they are normal people, it still made my day every time.

Tuesday, October 5, 2010

Thank you so much for-to playing my game!

One of my best parenthood moments came when I realized my firstborn enjoyed watching me collect stars on Super Mario 64. She still loves to watch Mario jump around and get the stars (although she does NOT like it when I die repeatedly). I finally succumbed to getting a Wii after watching her adore Super Mario Galaxy when some friends brought over their Wii.

Fast forward a couple years: Super Mario Galaxy 2.

I actually found this game to be a great improvement on the original (which was pretty good to start out with). The original game has 242 stars, but the second 120 stars are just repeats using Luigi instead of Mario, and the last two are just glorified cut scenes. Yes, I got all the stars. A couple weeks ago I got all the stars in Super Mario Galaxy 2 as well. However, the second 120 stars in that game are hidden in the levels and thus not as redundant as in the first game. Also, the last two stars come from a "Grand Challenge" galaxy that is easily the hardest level in the game.

Here's proof of all 242 stars in Super Mario Galaxy 2:
I tried to just find this picture on the net, but the only one I could find was badly focused and in a foreign language. Since the Wii doesn't allow for exporting pictures to email, I had to just take a picture myself.

Full disclosure: I did not beat either Super Mario Galaxy game by myself. During both games I had my wife helping out as the second player. This helps immensely. I may have eventually been able to beat all the levels without her, but I more likely would have given up and moved on. During Super Mario Galaxy 2 I had my kids watching and helping too (that is actually helpful when we looked for the hidden green stars).

Friday, October 1, 2010

Python

Yesterday I wrote my first python script:
os.system('lookAtStuff.pl')
Awesome, no? Alright, that was not really the script. I have used perl as my scripting language of choice since High School.

My current manager has been trying to convert me to python for many months. The problem has been that I only use a scripting language when I want to do something quick, and if I want to do something quick I do not want to learn a new language before it gets done. That is kind of lame excuse, but it is all I have.

There are really two powerful features in perl that keep me coming back. Yesterday, I dug around and found out how to do those features in python.

  • Regular expressions - I spent a summer writing regular expressions to tag corpora for Kurzweil Applied Intelligence (right after they were sold to Lernout & Hauspie). Since that time I have used perl's regular expressions extensively. At first glance, python's regular expressions are a bit clumsy and awkward, but at least it has them. I found the official documentation very useful. The main tricky points being the "The Backslash Plague" and using search instead of match. I think they did that just to be ornery. Python has to "compile" the regular expression before using it, but I am used to that from C++.
  • System commands - I normally use my perl scripts to glue together other programs or batch runs together. I have perl call these other programs directly, and sometimes I pipe in the output as a file. Python can do that to, but (like regular expressions) it feels a bit clumsy and awkward to me. The official documentation is useful. For my little script I used listdir and popen. I expect I will use the system command in the future.
I have so far found printing in python to be a nuisance, but I also have not had any kind of epiphany there yet either. I expect that after I use it for a while I will "see the light."

That's my $0.02, and my journey in the world of python has officially started. Know of any quality, free, online, and concise references for Python?