My book, A Programmer’s Guide to Data Mining: The Ancient Art of the Numerati, is to be translated into Chinese and published by Posts and Telecommunications Press, the largest publisher of computer books in China. This Chinese version will be available in Mainland China, Taiwan, Hong Kong, and Macau. I am super excited about this opportunity to help more people learn about data mining. As always, the English version of the book is available for free at guidetodatamining.com. Also forthcoming is an English paperback edition for under $20. Now I just need to finish the revisions.
Programming
Cluster by Night
If you are a student looking for a cool individual study project or are just interested in a project for its own sake, you might consider updating the existing resource, Cluster by Night. Cluster by Night (CnB) is a live CD approach to setting up an HPC (High Performance Computing) cluster for MPI work. (MPI is a programming library that allows you to write programs for computing clusters.) We’ve used CnB for the last several years in our operating systems class. What distinguishes CbN from other approaches (for example, the popular PelicanHPC) is that it can work with an existing network. With other approaches the master node on the cluster hands out IP addresses; with CbN the cluster nodes receive their IP addresses from the existing DHCP server. I think Cluster by Night is an awesome resource.
How can you help? Continue reading
Writing a Flex Application – part 2
I finally have a reasonable demo of this application. Now I need to do a thorough job of testing and debugging. As I mentioned in the previous post, this is a chat client where two people can be messaging in different languages and the chat system translates from one to the other. One feature of the chat client is shown in the screenshot above. If you mouse over any translation, you can see alternative translations. So if one translation engine did a poor job in translating a chat message, you can look at translations from other engines. We hope that this feature, as well as several others, will improve the usefulness of this chat system.
The backend of the system is in PHP connected to a MySQL database server. I am using Flex for the client side component.
As I mentioned in my previous post, this system will be used to evaluate the effectiveness of multilingual instant messaging systems and is a continuation of Bill Ogden’s work on Computer mediated multilingual translation.
Writing a Flex application
This summer I have been doing some contract work with the Bill Ogden of the Psychology Department at New Mexico State University. For years he has been investigating the usability of IM systems that have a machine translation component. In order to perform more nuanced experiments he needed custom designed IM system and he contracted with me to perform the work. When you log into the chat system you select a language and all messages from other participants will be translated to that language. For example, this would enable a Korean speaker and an English speaker to communicate with one another. The server-side system which does all the translation and maintains the chat is in PHP. The client side app is in Adobe Flex. I was going to use AJAX but my son recommended that I look at Flex. I think Flex is fantastic, but learning it has been a challenge. Most of my problems have been with understanding gui components. The screenshot above is of the system right now, about midway through the project. Throughout the course of the last month I have worked through the following Flex books:
Adobe FLEX 3: Training from the Source. 2008. Jeff Tapper, Michael Labriola, and Matthew Boles with James Talbot. Adobe Press. This is the book I started with and I got about half-way through the book before getting bogged down. The book is based on building a single application and each chapter builds on the preceding ones. So, one really needs to go through this book in order. About midway through I knew what I needed to about gui components and what I really needed was information on how to interact with a PHP server. That information was much later in the book and it was difficult to jump to that without covering the intervening material.
Flex 3 Cookbook. 2008. Joshua Noble and Todd Anderson. O’Reilly. From the not-so-great experience of having a book based on a single application I thought this book would work well. Each chapter is self-contained and is a recipe on how to do a single thing. This book worked quite well but is not a good beginner’s book.
Learning Flex 3: Getting up to speed with rich internet applications. 2008. Alaric Cole. O’Reilly. After working through the night and not making much progress on the IM system, I headed to the local Barnes and Noble in Mesilla Valley Mall to do some browsing. They only had the Flex 3 Cookbook and this book. This book looked pretty basic. I read about a third of it at the bookstore. It covers the basics well and I found the information I needed to fix my code. I ended up buying the book and finished reading it and working through the examples that day. Even though it is pretty basic, I would recommend this book to you if you are just starting to learn Flex.