Mar 13 2008

Top 5 Ruby Presentations on Google engEDU Tech Talks

JRuby: The power of Java and Ruby, presented by Ola Bini.

I work for ThoughtWorks Studios, and recently published the book Practical JRuby on Rails at APress. I’m very interested in Artificial Intelligence, Lisp, Ruby and the fuzzy lines between languages…

Ruby 1.9, presented by Yukihiro Matsumoto

Yukihiro Matsumoto (Matsumoto Yukihiro, a.k.a. Matz, born 14 April 1965) is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language.

He was born in Osaka Prefecture, in western Honshu. According to an interview conducted by Japan Inc., he was a self-taught programmer until the end of high school. He graduated with an information science degree from Tsukuba University, where he associated himself with research departments dealing with programming languages and compilers.

As of 2006, Matsumoto is the head of the research and development department at the Network Applied Communication Laboratory, an open source systems integrator company in Shimane prefecture. He is a member of The Church of Jesus Christ of Latter-day Saints and served as a missionary for the church. Matsumoto is married and has four children.

How To Design A Domain Specific Language, presented by David Pollak

David Pollak has been developing commercial software for 28 years. He founded Athena Design and wrote Mesa, the first real-time spreadsheet. David wrote Integer, the first online, collaborative spreadsheet. Since 2000, David has been developing domain specific languages for security and general web development.

ABSTRACT
David will describe a framework for developing DSLs which includes: Identifying the constituents in a development project; Determining the costs and benefits of a DSL for a particular constituency vs. hand-coding functionality for that constituency based on interviews and specs;

Ruby And Google Maps, presented by Andre Lewis

Andre will be covering topics such as the following:
– ImageMagick and geographic data: creating custom Google Map overlays with RMagick
– Google Maps custom controls: creating a better (or at least different) zoom control
– Demystifying the geocoder: you, too, can create a geocoder

Code Generation With Ruby, presented by Jack Herrignton

Jack Herrington, the author of Code Generation in Action (Manning, July 2003) , will talk about code generation techniques using Ruby. He will cover both do-it-yourself and off-the-shelf solutions in a conversation about where Ruby is as a tool, and where it’s going.

Technorati Tags: , , , , ,


Mar 10 2008

Repair A Crashed MySQL Table

I went through a bit of a scare with my blog today. All of a sudden I keep getting a barrage of emails informing me that my new WordPress blog had been successfully set up at Juixe TechKnow. I was like, WTF! I immediately emailed the technical support for my hosting provider but they did not know and give me any insight as to what happened to my blog. At first I thought I had been infected with a WordPress virus, or that someone at my hosting provider had inadvertently deleted my blog. As it turned out, as i dug around I discovered a ton of WordPress database errors that read like the following…

Table 'wp_options' is marked as crashed and should be repaired

As it turned out, only the WordPress options table had been corrupted and this was easy to fix simply by repairing that table.

To repair a MySQL table, log into your database using phpMydmin web client. Select you database from the database drop down on the left hand side. At this point, you should be looking at a list of all the tables in the database. Check the database table that has crashed and at the select repair table from the drop down options at the bottom of the list of tables. That should fix crashed or corrupted MySQL tables.

If you don’t have phpMyAdmin web client, you can just run the repair table command. From your MySQL query console enter the following.

REPAIR TABLE wp_posts

Technorati Tags: , , , ,


Mar 6 2008

iPhone and iPod Touch SDK

At a press conference earlier today, Apple released the much anticipated native SDK for the iPhone.

iPhone applications will be created using Cocoa. To develop native applications for the iPhone, developer will be using the XCode IDE and the newly released iPhone SDK and iPhone simulator. Third party applications will be made available through an iPhone App Store. The applications developed on the iPhone SDK also work on the iPod Touch.

The App Store is the exclusive distribution channel to deliver applications to the iPhone. From the press conference, it is reported that the developer picks the price of the application and get to keep 70% of the sales. The developer can release applications for free to the end user, Apple will not put charge fee for free applications.

The SDK is available right now, but the App Store might not be released to end users until sometime after June, perhaps in the next upgrade release of the iPhone kernel and software.

The iPhone SDK is free but Apple has a iPhone Developer Program starting at $99. At this point it is not entirely clear what you get from the iPhone Developer Program, but I imagine that you need to be in the program for you to actually sell your applications on the App Store.

At the press conference, John Doerr of the Kleiner Perkins Caufield & Byers venture capital firm said, “best way to predict the future is to invent it. At Kleiner, we say the second best way is to fund it.” Doerr announced a $100 million iFund to fund companies and ventures developing application for the iPhone and iPod touch.

Apple had a few demos at hand at the press conference, which all seemed to make use of the iPhone’s great touch ui, touch gestures, and accelerometer.

Back in July of last year, I was at the iPhone Dev Camp where I had a small part in developing Tilt, perhaps the first iPhone motioned controlled game for the iPhone. Having full access to the accelerometer and location data will open the possibilities for a wide array of new applications.

Prior to the SDK being freely available, the only option for custom applications for the iPhone was web development.

Technorati Tags: , , , , , , , ,


Mar 2 2008

Nobody Knows Shoes

Nobody knows Shoes and once you know that, you know all you need to know about Shoes. You may think you know Shoes but nobody knows Shoes. Nobody Knows Shoes is a freely available artwork API documentation for the Shoes framework, developed by the prolific Ruby hacker, writer, and cartoonist Why the Lucky Stiff.

Nobody Knows Shoes

I have tried to know Shoes, and written about my findings and providing code and samples here.

Technorati Tags: , , , , ,


Mar 1 2008

Make and Delete Directories

As a programmer, you need to be quick from the command prompt. One of the most common tasks is make and delete directories. In Unix and Linux flavored operating systems, including OS X, you can create new directories with the mkdir command.

mkdir juixe

To create nested directories you can use the -p option.

mkdir -p juixe/src/java

You can also create more than one directory at a given time by using brackets.

mkdir {lib,src,doc}

The above command will create three directories, lib, src, and doc. The kewl thing about mkdir is that you can mix both nested directories structure with with brackets to create a complete directory structure.

mkdir -p juixe/{lib,src,doc/html,doc/pdf}

To delete a directory you can use the rmdir command, but I hardly ever use that command because the directory needs to be empty and does not delete directories recursively. To remove directories recursively you can use the rm command with the -r option.

rm -r juixe

Technorati Tags: , , , , ,


Feb 27 2008

Perforce ClientSpec

Working for a startup, when you use a tool or technology once and you instantly become an expert. One of my many invisible hats at my current employer is apparently the Perforce Guy. As the Perforce expert in my team, yesterday I got a distress email from a junior team member that tried to sync with Perforce but was unable to. They sent me a screen shot of every dialog box, error message, environment variable, and perforce IP address, etc. After looking at the status bar of Perforce I figured out the problem, here is my reply…

When you sync you get a message in the Perforce status bar that reads “Client ‘xp-laptop’ can only be used from host ‘wxp-ibmt4502.’ From this message I gathered that you are NOT trying to sync from your laptop. In Perforce you need two things, a username and a client spec. Your client spec is xp-laptop. Your username can own and use different client specs, but each client spec can be associated to one physical machine.

So, the client spec xp-laptop can only be used in the machine named wxp-ibmt4502. If you are using a different machine you need to create a new client spec for that machine. If you renamed your machine, update your current client spec with the new machine name

Technorati Tags: ,