Auto insurance

Rubyists Have More Fun: Drug Themed Ruby Gems

Posted in Programming, Technology on December 15th, 2011 by Carl Zulauf

I recently noticed we are using at least two “drug themed” gems in our current Ruby project. In my previous adventures in PHP, Java, and other languages I never ran into any drug themed libraries, so I found this curious, and a bit fun. I thought I’d take a few minutes and see how many Ruby gem authors have had some fun with their gem names by searching through gems for other drug themed gems. Here is the list I came up with:

  • valium – A gem that lets you get around the ActiveRecord instantiation penalty while retaining the awesome power of using ActiveRecord.
  • crack – A simple XML/JSON parsing library.
  • joint – Provides GridFS functionality to MongoMapper… seems kind of like a simple paperclip+fog implementation for MongoMapper.
  • cannabis – Simple permissions gem.
  • psychedelic – A very “psychedelic”, maybe even just “psycho”, syntax colorizer.
  • cocaine – A gem which provides a bunch of functionality for executing system commands.

Can you guess which two we’re using?

I don’t know if these gems are a positive or negative for the Ruby community. Personally, I like that the ruby community has such a great sense of humor. There are other humorously named gems out there that have nothing to do with drugs, like polyamorous and bourbon. I think it’s fantastic the Ruby community seems to remain constantly aware of the fact that programming should be fun, artistic, and expressive. My initial reaction is that these “funny” gems are just a symptom of that awareness; behavior that is generally embraced by the community.

What do you think? Are these gems good or bad for the community? Any other drug themed or humorously named gems I missed? What about libraries from other languages?

PDF Ruby Books for Free

Posted in Programming, Technology on April 9th, 2010 by Carl Zulauf

Many of us carry a device or two around with us capable of reading PDF files and there are often times when a reliable connection to the internet is not available. Whether it be a laptop you’re working on or a companion device like a smart phone (Palm Pre, iPhone, Android, etc.) or something like the iPad or Kindle there are cases where you might want a programming resource for one of these devices which doesn’t depend on an internet connection. Also important to many of us is price. There are several great books related to Ruby programming, but few of them are free and even fewer available as a free PDF download. Below are direct links to some free PDF Ruby books.

I am looking at solutions for cleanly converting the RDoc documentation for ruby core, Rails, and a variety of gems. I will update this post or make a new post if I figure that out.

Tags: , , , , , , ,

Palm vs. Apple: The Battle for iTunes Interoperability

Posted in News and Opinion, Technology on July 24th, 2009 by Carl Zulauf

A week before launching the Palm Pre, on May 28th, 2009, Palm announced their upcoming Pre would have a feature called “Media Sync”. This feature would allow the Palm Pre to sync directly with Apple’s iTunes music software without any additional tools or software. Shortly after the release of the Palm Pre it was discovered that this capability was enabled partly by the Pre masquerading as an iPod when using Media Sync mode.

For over a month all was well and Palm Pre owners who used iTunes could sync their music with the Palm Pre seamlessly. Then, on July 15th, 2009, Apple did what many had feared. Version 8.2.1 of iTunes included an update that appeared to specifically block the Palm Pre from syncing with iTunes. Although many people were outraged and saddened by this, the response I saw was surprisingly small. It appears as though most Palm Pre owners who weren’t already using iTunes used other media managers to sync with their Pre. I myself use Winamp, RhythmBox, and manual syncing.

Today Palm released version 1.1.0 of their WebOS software to Palm Pre owners. Along with many new features this update included a return volley in the battle over iTunes compatibility by restoring the Palm Pre’s ability to sync with Apple’s iTunes. To accomplish this it appears Palm took more steps to disguise the Palm Pre as an iPod. This time not only does the device identify itself as an iPod, it also identifies itself as being manufactured by Apple.

A shallow examination of the methods used by Apple to block the Palm Pre from syncing and the methods used by Palm to re-enable it seem to indicate there are still a few more ways Apple could easily block the Palm Pre. However, it also appears that Palm’s ability to disguise the Pre as an iPod is virtually limitless. If Apple chooses to fight this battle further they may find themselves stuck with the decision of forcing firmware updates on iPod users in order to prevent the Palm Pre from syncing with iTunes, a move that will surely upset many long-term iPod users who have never even heard of the Pre. Even in that scenario it’s possible Palm could yet again re-enable iTunes syncing, meaning Apple could alienate its own faithful customers and still fail to block the Pre from iTunes.

This fight by Apple is not surprising when put in the perspective of Apple’s history with third party hardware and software. Apple has actively fought its own customers on the ability to use third party media managers for iPods/iPhones by constantly breaking compatibility through firmware updates and even threatening those who share information on how to load/unload media from their devices. In the past Apple may have had a valid argument for preventing third party media managers from managing content on iPods due to the DRM present on many tracks purchased through iTunes. Apple no longer sells music with DRM and has not done so for a while, so the argument that they must fight third party software to prevent piracy is outlandish. This stance of Apple makes it extremely difficult for legitimate iPod and iPhone users from using anything else but iTunes to load content onto their devices. For some using iTunes isn’t even an option as iTunes is not available (and does not have any plans to be made available) on Linux, meaning those of us who use Linux cannot use an iPod or iPhone at all.

Palm Pre’s Media Sync capability is different story though. In this case Apple isn’t forcing their hardware users to use their software, they are forcing software users to use their hardware. At first this seemed to me to be slightly less anti-consumer than the previous scenario until I thought about who actually uses iTunes to sync with their Palm Pre. Most people who use iTunes own an iPod or iPhone. iTunes is a decent media player but there is very little incentive for those who don’t own an iPod to use it. Both iPod owners and non-owners are encouraged by Apple to use iTunes for all their music needs and it is the only way to purchase music from Apple’s music store. Many users have invested large sums of money to build a collection of music through the iTunes Music Store, and those users believe they “own” that music. Put yourself in their shoes. Imagine you have purcahse ~$500 worth of DRM-free music over the past couple years and you have stored that music on your trusty iPod. Now, imagine you are shopping for a new phone and for whatever reason you decide to purchase a Palm Pre (maybe AT&T isn’t an option, or maybe Sprint is your current carrier, or maybe even though you are an iPod user you just don’t like or want the iPhone). In the process of purchasing your Pre you discover it actually makes a great media player that allows you to lower the number of devices in your pocket. Sure, you still use your iPod for certain things like jogging, but on a daily basis you don’t want both devices in your pocket so you want to use the Pre for music as well. Now, how do you go about getting your music onto your device? Well, without an iTunes syncing capability there are ways to get your MP3s out of iTunes and onto your device, but doing this manually or migrating to another media manager may be difficult and cumbersome. Plus, you still have to use iTunes for your iPod. Wouldn’t it be great if the Pre “just worked” with iTunes? Yeah, Palm thought so too so they made it happen. Apple’s response to this is to punish their own customers by putting up road blocks to this kind of interoperability.

Apple can try to spin this however it wants, but its hard to deny that they are punishing their own customers. If they continue this fight it may also be tough for organizations like the Department of Justice to ignore these actions in the context of the current digital music market, where roughly 70% of all music sold online occurs through iTunes. Even in the greater music market Apple is now the number one seller of music in the USA. Apple’s position in the market gives them a lot of power, and they appear to be using that power to dictate significantly the terms with which customers shall have access to content. This matches accepted definitions of “monopoly” almost verbatim. Apple can avoid that label by not strong-arming their customers, but if this battle continues that is exactly what they will be doing.

In conclusion, I strongly disagree with critics who claim Palm is wrong for trying to be interoperable with iTunes. The Palm Pre’s ability to sync with iTunes is just one of the many ways Palm allows users to load media onto the Pre. Palm is not attempting to “rely” on iTunes or any single sync method, and is instead taking the approach of giving users as many options as possible. I think this is the right approach and in most cases this allows users, who have already amassed huge media collections, to sync that media with the Pre using their current setup, whatever that may be. I believe Apple is wrong here for trying to punish their own customers who have added a non-Apple device to their collection of devices. Apple’s actions are anti-competitive and, possibly more importantly, anti-customer. They aren’t hurting Palm much by playing cat and mouse, they are hurting their own paying customers.

Tags: , , ,

ExaNotes – An Overdue Introduction

Posted in Programming, Technology on June 17th, 2009 by Carl Zulauf

Several months ago I started working on ExaNotes as a lightweight personal tool to write, access, and search notes from one of the many computers I may use throughout the day. I told a good friend of mine about the simple web app I was building and she said it sounded like a great tool for keeping a journal. I asked her if she could help test the app by keeping a journal and she hesitated. As good of friends as we were the idea of me having access to her journal was not a comfortable one. The convenience of being able to access her journal from any computer was appealing but she didn’t want to trade control of her privacy for convenience. Her desire for privacy gave me the idea of developing a system that was so secure that even the developer or administrator of the tool could not access the content users of the application have stored within it.

I decided to use this as a chance to learn much more about building secure web applications and I spent a few hours diagramming the concept. Then, I spoke with my friend again. I explained the design to her and she agreed the design would keep her journal secure enough that she would feel comfortable testing it and using it. Read more »

Tags: , , ,

A Quick Inventory and Review of Alternative Gnome Web Browsers for a Netbook

Posted in Technology on February 22nd, 2009 by Carl Zulauf

Firefox performance in linux is always a bit lacking, so I thought I’d try some of the many alternative web browsers for Ubuntu (Gnome). All of these were tested on an Acer AspireOne running Ubuntu 8.10 and all were installed through the Ubuntu package repositories.

Midori

A small and simple WebKit browser. I have been looking for a good WebKit browser to use in linux… unfortunately this isn’t it. The performance is pretty decent when loading and using the page itself, but the actual program UI is clunky, slow, and buggy. This one needs some serious GTK+ work before it can expect to be a real choice for Ubuntu users. It hasn’t crashed on me or anything, but the fact that the toolbar can get resized if you switch tabs or use the back/forward buttons should not happen, but it does and it happens slowly.

Epiphany

Uses the Gecko layout engine, like Firefox, and seems to do it a little slower than Firefox. Some of the tab behaviors are odd and difficult to configure. When I click on a link that should open in a new window I generally don’t want it to appear in a new window, I want it in a new tab. Back and forward history seem to be shared among tabs in the same window? I guess I could see how that would be useful, but it is very odd behavior. Double clicking in the empty area of the tab bar doesn’t spawn a new tab? Also odd. All-in-all this isn’t a bad browser, it just doesn’t seem to do anything better than Firefox, which I was really hoping for.

Galeon

This is another browser using the Gecko layout engine. This browser actually feels pretty fast. I have enjoyed using it. However, it is not without issues. On a netbook it is very frustrating that I cannot seem to configure the browser’s UI to take up a minimal amount of screen space. The stock back and forward buttons are huge, and the height of the toolbar they are on is way to large. Even in full screen, the UI takes up too much vertical screen real estate.

These are the only alternative browsers I have tried so far. None of these browsers offer a good alternative to Firefox on a screen-space-constrained netbook. Not a single browser here had a windowed or full screen mode that offered as much screen real-estate dedicated to displaying the web page as Firefox (when properly configured). Even after exploring the various configuration options there appears to be no way to make ANY of these browsers use less or even similar amounts of screen-space for their UI compared to Firefox (not counting the options to remove the toolbar entirely, which is not realistic) . On a screen this small page real-estate becomes very important. There should at least be OPTIONS to make the UI as minimal as possible, but the options provided are simply inadequate. This compounds the fact that Midori and Epiphany both feel slower than Firefox. Galeon, which generally feels as fast or faster than Firefox, is crippled for me by the fact that the minimum usable UI configuration is the largest of the group. Also, not a single one of these browsers offers the ability have a FULL full-screen browser, like Firefox, where the UI auto-hides and the web page is given nearly 100% of the screen. I hope with the growing number of netbook users and the growing number of them running linux this will have to be a form factor each brower’s community will develop for and offer more customizable/minimizable user interfaces.

Tags: , , , , , , , ,

Supercomputers: US Embracing “The People’s” Operating System While China Goes Commercial

Posted in News and Opinion, Technology on December 4th, 2008 by Carl Zulauf

I was glancing through the November 2008 TOP500 list of the world’s most powerful super computing sites, and noticed a few interesting details.

First I noticed that the US increased its dominance at the top of the list. The nine fastest super computing sites are all in the United States. You must go all the way to the tenth fastest to find a computing site outside of the United States. In the previous list (June 2008) the US still dominated, but Germany, France, and India all had computing sites in the top ten. With just six of ten fastest computing sites located in the US only six months ago, the nine out of ten score this time around is a significant improvement. The TOP500 list has been published twice a year since 1993 and looking through all the previous lists this is the most dominant the US has ever been in the top ten, and possibly overall.

The second interesting thing I noticed was that the tenth place site is located in China. This is only China’s second time being listed in the top ten (the last time was in June 2004), and they have yet to reach any higher on the list than tenth place.

However, what really caught my eye was the choice of operating systems in the top ten systems. All nine of the systems located in the US are using some flavor of Linux as their operating system. Linux is built by a community of volunteer programmers around the world and is often considered antithetical to commercial software. By association, some people believe Linux and the Open Source software movement are in direct opposition to capitalism. I found it both ironic and gratifying to see that the most commercial and capitalistic nation on earth is dominating the rankings of the world’s fastest computing sites using a product assumed to be at odds with both commercialism and capitalism. In an even more ironic twist of fate, The People’s Repulbic of China, whose communist leaders often insist on home grown solutions for many industries, are using a foreign commercial software stack to run their fastest computing site: Microsoft Windows HPC 2008.

Beyond being interesting, does this list offer any real economic, scientific, or political insight? Probably not. However, if it did, it appears the list would be saying that the United States is not loosing its relevance as the center of the information technology revolution as quickly as many have suggested. It might also be telling us that the United States is embracing “socialist”, “grassroots”, or “community” tools (when it comes to software) to a greater degree than many realize, and that China may be embracing capitalism and commercialism more quickly than we are often led to believe.

Tags: , , , , , ,