Archive for the ‘Tools’ Category

A while back I had written a new documentation system called unidoc, this technology is different then most other systems out there because it is a language independent. Rather then trying to decypher what is going on within a bit of code the parser leaves that up to the developer (which is what most documentation systems do anyway). Documentation of what various bits of code are doing is first defined through a very rudamentary language.

The parser extracts out the comments and generates a xml data stream sending it to a langauge-specific xslt template, some data items are parsed in such a way that the xslt can further process, define,  and lay out langauge specific properties.  In the end generating language specific documentation through a xslt definition. Right now things are pretty simple, it took a weekend to write the whole thing but what I would like to do is re-write it using antlr+xslt, because right now things are just a simple regex parser that I wrote.

I also have a planned extension to the processor which focuses more on outputting a data format instead of documentation, and finally I think it would be neat to wrap this all up with a publishing system of some sort effectivly allowing people to comment on documentation.

I would also like to create a few simple xslt templates as proof of concept, so if anyone is interested in any of what I am talking about drop me a line and I will have something for you to do.

~matt

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark

Alpha Edition!, e-mail spelling/grammer/topic suggestions to mattprokes@gmail.com

previous1next1The Professional Developer Series
Volume 2, Web Development

Chapter 1.4 Web Development Trends

Page: #26



With great tools comes great power, and virtual machines are great tools! I do not think that I have mentioned this yet, but I am a huge linux fan. I have been using the operating system at home, and at work for nearly 10 years. One of the problems I had with linux early on though when it came to web development was the fact that internet explorer was not able to run on the operating system.

Linux back then had better development tools for programmers (as is the case today as well). So I was torn between wanting good development tools and needing to test my development with the most used internet browser (explorer).  At first I reverted to something called dual booting, this didn’t work out to well though because I would need to constantly shut down an operating system and start the other one.. Gahh.. Whats a programmer to do?

After searching and searching, it became clear that maybe I should start getting into virtual machines. Back then the only one that was any good was a product called VMWare, it costed money but it was well worth it at the time with the increase of productivity. These days you can find free virtual machines for pretty much any platform out there, my favorite is virtual box when it comes to linux.
virtualbox

As you can see starting up a windows environment using virtualbox is a snap, there is no need to re-start my operating system! I can test everything within the virtual machine and be confident everything all works. Todays virtual machines make things even more easy by allowing the host operating system (in this case linux) and the guest operating system (windows) to share a folder. Thus making it even more easy to work with files on both systems seemlessly.

For you mac users out there, you have several choices of virtualized software including parallels, virtualbox, vmware, and many others. Virtual environments are also used by administrators to set up development environments, and are very handy if you need to emulate a development server. Just ask your administrator to re-create a development server on a virtual box image, and send it to you. Allowing you to run a virtualized development server on your computer.

The core concepts of cloud computing and VPS’s (virtual private servers) are for the most part virtualized server environments often using a Xen hypervisor to manage resources or some other virtualization software (bochs, vmware, virtualbox, you name it). Cloud computing may leverage other technologies.

My favorite use for virtual machines though is still to leverage them for testing and development. Some things to note though, virtual machines can have significant resource overhead. So that is something to watch out for if you do not have a particularly powerful machine. Although if your machine was built in the past 2 years optimizations for VM’s have been integrated into the hardware to make these applications less of a problem.

I hope everyone goes out and tries out a virtualized environment, especially if you are a windows user. Go out and get a virtual machine, and download a version of linux (this one is open geu), and play around with it (can’t hurt anything). There are several tutorials out there on how to install linux under virtual box, so just kinda search around.

Here is a compairison list of all the virtual machines out there.

  • Reddit
  • StumbleUpon
  • Bebo
  • Yahoo Buzz
  • Delicious
  • Twitter
  • LiveJournal
  • Netlog
  • HelloTxt
  • Share/Bookmark