Thursday, May 31, 2007

Summer of Code as a Learning Experience

As I watched Summer of Code students discussing their projects on the IRC channel, something occurred to me: while SoC is a fantastic learning experience, there isn't much student-to-student learning. Student coders can learn from their projects, mentors, books, Google, etc, but not as much from each other.

I'd love to see more explanation of what other students are doing. Many of the students are light years ahead of me in terms of coding abilities, and I think there's a lot I could learn from them. There are so many projects working with concepts I don't understand and I would like to.

People seem to be blogging a lot more this year than they did last year, and that's awesome. The Planet SoC feed seems to be busier this year as well. We should use this increase in blog popularity to teach each other about what we're doing. Not just saying what our project deals with, but taking the time to explain concepts and maybe even mini tutorials - teaching in general.

Anyone else with me?

XForms/OpenOffice Resources

I'm going to use this post to collect useful resources that I find regarding XForms and OpenOffice (and general OpenMRS info). I'll update it as I find more, and I encourage anyone that has anything to add to leave comments.

Using XForms in Office Applications
The OpenOffice.org XML Project
OpenOffice.org module xforms
Wordpress search for "XForms" tag
W3C's XForms Specification
OpenMRS - Administering FormEntry
OpenMRS - InfoPath Notes
OpenMRS Data Model
GUI Architectures (useful MVC info)
OpenMRS - HL7
Office 2003 XML Reference Schemas

Tuesday, May 29, 2007

OpenMRS on OS X

I successfully got OpenMRS up and running on OS X. Instructions can be found here.
Just for fun, here's a screenshot.

Monday, May 28, 2007

Cloud

Hooray, I have a cloud now. Thanks to this frivolous motion post. The larger the word, the more frequently I've used that tag, and vice-versa. Click on any word to see all posts with that tag. Very cool.

One Laptop Per Child Game Jam

According to this PCWorld article, One Laptop Per Child is holding an educational game development jam on June 8th. Oh how I wish I actually had game development skills since this is something I'm very, very much interested in.

If anyone reading this plans to participate, please let me know what you plan on doing! I'd love to know. Also, if anyone has an idea and wants a Python coder, I might be interested...

Saturday, May 26, 2007

More Widgetry

I'm getting a little better with Dashcode now, although not at the point past simple RSS feeds. I'd like to learn how to add configs to filter the feeds by tags, but I'm not quite there yet.

I've made a simple reader for PlanetSoC, which can be found here. Hopefully this will be useful to someone...please let me know if any suggestions/comments.

UPDATE: Dashcode doesn't show the author of posts by default it seems. Big thanks to KillerX for modifying the Widget so it now shows author names!

Friday, May 25, 2007

OpenMRS Widget

I've just been playing with OS X's Dashcode beta, which is a preview of the Dashboard development IDE in Leopard. It's pretty cool, although a lot of very useful features aren't implemented yet, so you have to open up the Widget and manually change several things to customize your Widget.

As my first Widget, I created an RSS feed reader for the OpenMRS feed. If you're running OS 10.4.3+, you can grab the Widget here. I want to make this something that's actually useful to people, so if you have any comments or suggestions, please let me know.

Book Reviews

In preparation for both Google Summer of Code and my computer science writing course's final paper, I read several books. Since both subjects are about open-source software, I bought three books on this topic:

The first was Open Sources 2.0, edited by Chris DiBona (of Google fame), Danese Cooper, & Mark Stone. I thought this book was just a second edition to Open Sources: Voices from the Open Source Revolution, but it turns out it's more of a second volume. I'll have to get the other one to read as well.
This book really blew me away and kept my interest. It's a collection of essays regarding creating open-source software and the culture around it. The introduction takes the reader to the Burning Man festival, and compares its culture with that of open-source. I found that this introduction really got me in the mood for the rest of the book. A few chapters that I found particularly interesting were Chris DiBona's "Open Source and Proprietary Software Development", Jeremy Allison's "A Tale of Two Standards", and Bruno Souza's "How Much Freedom Do You Want?" Considering the wide range of topics covered on both proprietary and open-source software development, I feel that anyone and everyone interested in writing software professionally should have to read this book.

The second was Producing Open Source Software by Karl Fogel. This book could very well be considered "The" book on administrating and participating in open-source projects (and in fact, its subtitle is "How to Run a Successful Free Software Project"). Fogel gives an overview of all of the components of open-source projects, as well as things that can go wrong and ways to prevent them from doing so. In terms of books for my paper, I probably could have just read this one and had all the information I needed. Definitely a good read and highly recommended.

The last was The Success of Open Source by Steven Weber. Since I had already read Producing Open Source Software, I found this book to be mostly a rehashing of information. It focuses more on administrata, law, and culture rather than the specific components of free software, but Fogel's book had a lot of that as well. In terms of writing style, I found it to be a bit dry but interesting enough to keep me reading. A good read if you're interested in the above topics, but not so much if you'd rather get into the more technical side of things.

In order to prepare for my work with OpenMRS, I picked up a few books about XForms, XML schema, and OpenOffice.org macros.

The first book I started reading was Definitive XML Schema by Priscilla Walmsley. This is a pretty good (and thick) book with everything you'd need to know about XML schema. There are plenty of examples to look at and understand, and Walmsley seems to give pretty sufficient treatment to the topics covered. I chose this book over the O'Reilly version because O'Reilly's seemed too dry and terse for what I needed.

I'm currently working through XForms Essentials, an O'Reilly book by Micah Dubinko. So far I'm loving it. It gives an introduction to XML forms (and tells why they're better than HTML forms), and describes all of the components that make up XForms. Examples are given, and this book could also serve as an XForms reference since it gives listings and descriptions of things like XPath functions and XForms datatypes. Definitely worth picking up if you're looking to work with XForms.

I haven't had a chance to sink my teeth into it yet, but I also picked up OpenOffice.org Macros Explained by Andrew Pitonyak, published by Hentzenwerke Publishing (I make special mention of the publisher here because their motto is "Moving from Windows to Linux", and I'd like to explore what other books they have on this subject at some point). While I haven't read much of it yet, it looks like a pretty solid guide to working with OpenOffice.org macros and using the OpenOffice.org Basic language. It should also serve as a handy reference for when I need to look up a specific function. Unfortunately, it doesn't seem to go into advanced topics like accessing the OpenOffice.org API from Python/Java(script)/etc.

All in all, some really exciting books. Open Sources 2.0 is probably the coolest, so pick it up. Also, I have several more books on my Amazon wishlist, so feel free to be my best friend and buy me one =)

Thursday, May 24, 2007

First Post

Here's the inaugural post for my new blog which I hope will be filled with my general thoughts and experiences with coding, and most importantly, my progress for my summer internship with OpenMRS.

I'll be working on their data entry tools to migrate them from proprietary software like InfoPath to open-source tools like OpenOffice.org which utilize XForms. I'm extremely excited and can't wait to get started!