Tomorrow marks the beginning of the National Novel Writing Month (NaNoWriMo, for short), or to most people on this planet, the month of November. This amazing event is absolutely free to participate in, and offers a tremendous potential reward upon completion (that would be personal satisfaction). The only stipulation is that no writing begins before the first of November, and the novel must be at a minimum length of 50,000 words.
As long as I have known about this event - approximately three years - I have longed to participate. Two years ago I created a blog for the express purpose of writing a novel in a month. It contains zero posts. Last year, I actually started writing something, but it was so tremendously autobiographical and laughably bad I gave up after two or three pages (I think that was about 1,000 words or less, to give some perspective).
This year I feel as though I actually have to give it a satisfactory effort. These past few months in school have probably been the worst of my life. The levels of apathy and general unhappiness I've reached are nearing critical mass. I need to at least try to do what I would like to do, so that I can say I tried.
I have an idea for a story that I think is decent, and I've spent the last few days thinking about scenarios and metaphors while my professors have looked quizzically at the empty shell slouching in a desk chair in front of them. Do they really expect me to care about pipelining or networking (of the human variety), when these things are completely devoid of any greater meaning?
I think they do, but I can't be bothered; for it is the eve of National Novel Writing Month, and I've got my own marlin to catch before the sharks leave only the dregs!
Wednesday, October 31, 2007
Sunday, June 03, 2007
New Beginning (That Sure Is Redundant)
I've just started working on an application that is pretty exciting for me. It is built using PHP and interfaces with MySQL. I've only spent one evening on the project so far but it is coming along quite well. I have user registration working but need to read up on PHP's sessions - which is functionality I've never used before - to write the login code for the site.
I don't want to give anything away at the moment. I don't delude myself in thinking there are readers, but I still don't want this idea to get out because I think it has serious promise - even more than I felt Django had, which is saying a lot. I will say that it is an online application that could potentially be used in an intranet as well as the internet, that utilizes user membership, and that revolves heavily around community.
Once I get the project into a "beta" mode I will probably officially unveil it. Until then I will try to update the blog with relative, though obscure, status updates. I would give the tentative name for the application, but it gives too much away. I hope this has piqued at least one person's interest out there.
If you've read this far, I'll give a very small update on Django. Over the three weeks between Spring semester and Summer term I had time to put some work into it. I rewrote the searching approach to completely avoid using Google, instead using Yahoo! Music directly. There is also very limited spell check and recommendation support. Django also now will search Flickr to find artist images in the event that Yahoo! does not have one. The most important update is transparent to the end user - except in the increased rendering time.
In an attempt to speed the page rendering time an XML document containing information about the artist is stored on disc after an initial search, and is loaded directly on a second attempt instead of querying Yahoo! Music. This change typically provided a several second better rendering time compared to the first query.
The code is now mostly object oriented. The problem however, is that the current object model isn't all that great. After Thursday's eight in the morning Tennis class, I wrote what I think is a better approach at modeling the system with objects. I hope to rewrite Django in the coming weeks and find somewhere to host it. It doesn't do anybody much good running from my desktop or laptop on my LAN...
I don't want to give anything away at the moment. I don't delude myself in thinking there are readers, but I still don't want this idea to get out because I think it has serious promise - even more than I felt Django had, which is saying a lot. I will say that it is an online application that could potentially be used in an intranet as well as the internet, that utilizes user membership, and that revolves heavily around community.
Once I get the project into a "beta" mode I will probably officially unveil it. Until then I will try to update the blog with relative, though obscure, status updates. I would give the tentative name for the application, but it gives too much away. I hope this has piqued at least one person's interest out there.
If you've read this far, I'll give a very small update on Django. Over the three weeks between Spring semester and Summer term I had time to put some work into it. I rewrote the searching approach to completely avoid using Google, instead using Yahoo! Music directly. There is also very limited spell check and recommendation support. Django also now will search Flickr to find artist images in the event that Yahoo! does not have one. The most important update is transparent to the end user - except in the increased rendering time.
In an attempt to speed the page rendering time an XML document containing information about the artist is stored on disc after an initial search, and is loaded directly on a second attempt instead of querying Yahoo! Music. This change typically provided a several second better rendering time compared to the first query.
The code is now mostly object oriented. The problem however, is that the current object model isn't all that great. After Thursday's eight in the morning Tennis class, I wrote what I think is a better approach at modeling the system with objects. I hope to rewrite Django in the coming weeks and find somewhere to host it. It doesn't do anybody much good running from my desktop or laptop on my LAN...
Tuesday, May 29, 2007
Surface.
Surface, the moniker of the newly unveiled touch-screen interface technology from Microsoft (purportedly developed by the team responsible for the Xbox 360 and the Zune, arguably the two most important products in Microsoft's image reinvention), is simply amazing. While those around the web might disagree, Surface is looking to be a groundbreaking stride in achieving a seamlessly integrated and transparent user interface for the sole purpose of removing the gap between the “virtual world,” and the “physical world.”
The idea, as far as can be surmised from the Surface product page, is creating seamless integration between reality and technology. Instead of having a coffee table in the living room with a photograph of the family and a few books, Surface allows for all of these things without the burden of occupying physical space on the table. With Surface, the coffee table could play home made family videos or display still images; both of which can be resized in real time with the touch of two fingers. This is merely the tip of the iceberg in the possibilities this technology offers.
Imagine coming home from a long days work, hoping to plan a night out with a loved one. Instead of sitting at the desktop and searching Google Local for restaurants and events in the city, you sit down at the couch and consult Surface's map functionality. With the press of a finger, you're viewing a map of the city with local restaurants - including telephone numbers and addresses - and events for the evening. You find a restaurant you want to try and place your cell phone on the table, dragging the restaurant information to the phone, storing everything you would ever need to know: the hours, the address, a review, and driving directions. While searching for something to eat, you noticed a band you love is playing downtown. You purchase two tickets with the brief touch of a button. So begins the night out.
When you arrive at that special new restaurant, you are led to a table that pulses like water, alternating color between shades of blue and green. There is no menu to be found. Instead, the establishment's menu is accessible on the table with the touch of a finger. You and your company decide what you want and place your dinner order without any interaction with a waiter, or other restaurant staff. In a few minutes your waiter brings over the drinks you have ordered and places them on the table, causing ripples to move across the display, crashing against the borders like waves, while bubbles begin to dance about the glasses. At the end of the meal, you place your credit card on the surface of the table, dragging the items you and your company ordered to the card, finally confirming the purchase with a signature on the digital X. From dinner, you head to the show.
After the concert as you and your girlfriend excitedly talk about the opening band you saw at the show, you both sit down at the couch to unwind. She starts playfully doodling on the table; drawing a blue bird perched on a branch. As she finishes her drawing, you decide you want to find more information about the opening band. She saves her drawing and as it blends into the photo montage, you reach over to access your music library. From here, you queue up a few songs by Spoon and Bob Dylan from your own personal catalog by touching the album covers and dragging the tracks to the circular, jukebox like, playlist. As the songs start to play, streaming wirelessly to the stereo, you search for the band. You are met with a biography, discography, and the most popular songs of that artist. You decide to queue the album version of a song you remember they played at the concert.
Before you and your girlfriend head to bed, you place your digital camera on the table, loading the images stored on the device onto the display. You drag an image of the two of you from the concert and decide you want to forward it to a few friends. You turn the image, which will symbolically be the front of the postcard, and begin typing a brief message on a pseudo postcard interface. When you are finished you drag the email addresses of your friends to the postcard and mail it away. Time to get some sleep...
With the daydream application of the technology out of the way, it is essential to delve into the true significance of Surface. Though all of the possibilities from that small simulated story are quite intriguing and interesting in their own right, it is what Surface symbolizes that is of considerable consequence.
The primary importance and difference of this proposed technology is the nature of removing the classical computer interface from the equation. A slew of comments advising those awed by the demonstration to wait for the "touch-screen Mac" or the "iPhone," seem to have missed this seemingly innocuous, though vital point. The entire purpose of Surface is not to provide a Windows or Mac desktop experience with touch technology (though that IS interesting, don't get me wrong), but instead to completely remove these elements as though the virtual world was the physical world. Surface is a step towards the concept of ubiquitous computing - where computers and their interfaces are non-obtrusive and as transparent to the user as possible - not an advancement in the common concept of the desktop interface.
While this may be a difficult concept to grasp it should be immediately obvious of its merits. Computing advancements can largely be considered simplification of tasks. In other words, making a previously arduous task (setting up a home network and installing hardware come to mind) easier. It would seem that the logical conclusion to this approach is the complete transparency and integration of computing systems. This is what Surface strides toward.
It might be easy to dismiss Surface as an unoriginal rip-off or "vaporware" to the biased eye. I would implore you to truly ponder the nature of Surface and its difference from other semi-similar products or technologies. This product marks the dawn of mainstream seamless integration more so than any iPhone or touch screen Mac computer, and to those disregarding Surface due to some blind allegiance I have but one question...
Why aren't you excited?
Note: I am neither an Apple fan boy nor a Microsoft fan boy. I am simply excited by groundbreaking technology (that includes the iPhone). I don't understand the immediate knee jerk reaction in the community to an opposing faction's products. This article is largely a reaction to these types of comments. So if you felt sick reading this article, ask yourself what you really hate about Surface. If it is anything other than Microsoft, feel free to comment.
The idea, as far as can be surmised from the Surface product page, is creating seamless integration between reality and technology. Instead of having a coffee table in the living room with a photograph of the family and a few books, Surface allows for all of these things without the burden of occupying physical space on the table. With Surface, the coffee table could play home made family videos or display still images; both of which can be resized in real time with the touch of two fingers. This is merely the tip of the iceberg in the possibilities this technology offers.
Imagine coming home from a long days work, hoping to plan a night out with a loved one. Instead of sitting at the desktop and searching Google Local for restaurants and events in the city, you sit down at the couch and consult Surface's map functionality. With the press of a finger, you're viewing a map of the city with local restaurants - including telephone numbers and addresses - and events for the evening. You find a restaurant you want to try and place your cell phone on the table, dragging the restaurant information to the phone, storing everything you would ever need to know: the hours, the address, a review, and driving directions. While searching for something to eat, you noticed a band you love is playing downtown. You purchase two tickets with the brief touch of a button. So begins the night out.
When you arrive at that special new restaurant, you are led to a table that pulses like water, alternating color between shades of blue and green. There is no menu to be found. Instead, the establishment's menu is accessible on the table with the touch of a finger. You and your company decide what you want and place your dinner order without any interaction with a waiter, or other restaurant staff. In a few minutes your waiter brings over the drinks you have ordered and places them on the table, causing ripples to move across the display, crashing against the borders like waves, while bubbles begin to dance about the glasses. At the end of the meal, you place your credit card on the surface of the table, dragging the items you and your company ordered to the card, finally confirming the purchase with a signature on the digital X. From dinner, you head to the show.
After the concert as you and your girlfriend excitedly talk about the opening band you saw at the show, you both sit down at the couch to unwind. She starts playfully doodling on the table; drawing a blue bird perched on a branch. As she finishes her drawing, you decide you want to find more information about the opening band. She saves her drawing and as it blends into the photo montage, you reach over to access your music library. From here, you queue up a few songs by Spoon and Bob Dylan from your own personal catalog by touching the album covers and dragging the tracks to the circular, jukebox like, playlist. As the songs start to play, streaming wirelessly to the stereo, you search for the band. You are met with a biography, discography, and the most popular songs of that artist. You decide to queue the album version of a song you remember they played at the concert.
Before you and your girlfriend head to bed, you place your digital camera on the table, loading the images stored on the device onto the display. You drag an image of the two of you from the concert and decide you want to forward it to a few friends. You turn the image, which will symbolically be the front of the postcard, and begin typing a brief message on a pseudo postcard interface. When you are finished you drag the email addresses of your friends to the postcard and mail it away. Time to get some sleep...
With the daydream application of the technology out of the way, it is essential to delve into the true significance of Surface. Though all of the possibilities from that small simulated story are quite intriguing and interesting in their own right, it is what Surface symbolizes that is of considerable consequence.
The primary importance and difference of this proposed technology is the nature of removing the classical computer interface from the equation. A slew of comments advising those awed by the demonstration to wait for the "touch-screen Mac" or the "iPhone," seem to have missed this seemingly innocuous, though vital point. The entire purpose of Surface is not to provide a Windows or Mac desktop experience with touch technology (though that IS interesting, don't get me wrong), but instead to completely remove these elements as though the virtual world was the physical world. Surface is a step towards the concept of ubiquitous computing - where computers and their interfaces are non-obtrusive and as transparent to the user as possible - not an advancement in the common concept of the desktop interface.
While this may be a difficult concept to grasp it should be immediately obvious of its merits. Computing advancements can largely be considered simplification of tasks. In other words, making a previously arduous task (setting up a home network and installing hardware come to mind) easier. It would seem that the logical conclusion to this approach is the complete transparency and integration of computing systems. This is what Surface strides toward.
It might be easy to dismiss Surface as an unoriginal rip-off or "vaporware" to the biased eye. I would implore you to truly ponder the nature of Surface and its difference from other semi-similar products or technologies. This product marks the dawn of mainstream seamless integration more so than any iPhone or touch screen Mac computer, and to those disregarding Surface due to some blind allegiance I have but one question...
Why aren't you excited?
Note: I am neither an Apple fan boy nor a Microsoft fan boy. I am simply excited by groundbreaking technology (that includes the iPhone). I don't understand the immediate knee jerk reaction in the community to an opposing faction's products. This article is largely a reaction to these types of comments. So if you felt sick reading this article, ask yourself what you really hate about Surface. If it is anything other than Microsoft, feel free to comment.
Wednesday, May 02, 2007
Mostly Finished Project
Because the monitor on which I was demonstrating the application was running at a very small resolution, I've decided that I should probably post some images of what the site looks like at the resolution it was designed for. While I realize that my design is not ideal for the majority of end users, at this point I don't mind. It can be changed with CSS, I just have to get around to it...
Speaking of getting around to things, I'm working on refining my regular expressions to account for failures I've encountered since submitting my final project. I have already adjusted my Yahoo! Music function so that instead of relying on the Google function to return the biography 100% of the time I only assume that Google has returned either the main artist page or the biography page. From there, regardless of whether the correct page was found, I strip the artist ID number from the URL and construct manually the bio URL with another regular expression. This has solved all issues with finding the correct bio page, but there is still a point of failure I need to solve.
With my current regular expressions, if there is no explicit artist image my expression will simply return an erroneous picture that we do not want. I'll need to examine the source code of the Yahoo! pages more in order to truly refine the function.
I've never used regular expressions before this project, but I can say even though they are extremely scary and esoteric, they are really fun to work with. If you are interested in learning how to use regular expressions or find yourself using regular expressions often, I would suggest downloading Regex Coach. It is an awesome piece of software that will provide information about your expression as you write it and how it will behave on a test string.
Finally, I'm thinking about adding some features. I'm working on finding lyrics for the top tracks (if they are available) from LyricWiki. Also, I would like to use the Yahoo Maps API to chart a tour of a band across the States. It would more than likely use GeoRSS to plot the concerts in chronological order (before I start implementing that feature, it would probably be nice to refine the Upcoming function so that the displayed items are only those of the band that is searched for though...).

The top portion of a returned search page.

The middle portion of a returned search page

The bottom portion of a returned search page.
Speaking of getting around to things, I'm working on refining my regular expressions to account for failures I've encountered since submitting my final project. I have already adjusted my Yahoo! Music function so that instead of relying on the Google function to return the biography 100% of the time I only assume that Google has returned either the main artist page or the biography page. From there, regardless of whether the correct page was found, I strip the artist ID number from the URL and construct manually the bio URL with another regular expression. This has solved all issues with finding the correct bio page, but there is still a point of failure I need to solve.
With my current regular expressions, if there is no explicit artist image my expression will simply return an erroneous picture that we do not want. I'll need to examine the source code of the Yahoo! pages more in order to truly refine the function.
I've never used regular expressions before this project, but I can say even though they are extremely scary and esoteric, they are really fun to work with. If you are interested in learning how to use regular expressions or find yourself using regular expressions often, I would suggest downloading Regex Coach. It is an awesome piece of software that will provide information about your expression as you write it and how it will behave on a test string.
Finally, I'm thinking about adding some features. I'm working on finding lyrics for the top tracks (if they are available) from LyricWiki. Also, I would like to use the Yahoo Maps API to chart a tour of a band across the States. It would more than likely use GeoRSS to plot the concerts in chronological order (before I start implementing that feature, it would probably be nice to refine the Upcoming function so that the displayed items are only those of the band that is searched for though...).
The top portion of a returned search page.
The middle portion of a returned search page
The bottom portion of a returned search page.
Saturday, April 28, 2007
What A Difference A Day Makes (Crunch Time)
Almost finished! Things are starting to look a lot better now, and most of the functionality is there. I ran into an issue that I'm hoping I can solve related to encoding the search query to ensure I correct information from Last.fm. Tomorrow I will try to finish that, try to implement the artist biography section, format the search results a little more, and set up the front page.
If I have time I'll update the API documentation for easy reference.

A screenshot of the top portion of an example search result page.

Same search, middle portion of the page.

Again, same search, bottom portion of the page.
If I have time I'll update the API documentation for easy reference.
A screenshot of the top portion of an example search result page.
Same search, middle portion of the page.
Again, same search, bottom portion of the page.
Friday, April 27, 2007
Project Update Two (new Project Name)
A very quick project update. Most of the functionality is finished, I'm just trying to get the formatting finished (CSS headaches). The only real problems I think I'm facing are: I still don't have a source to pull an artist bio from, and I want to use Yahoo! Maps to plot the searched artist's tour (if they are on the road). I guess I could qualify my difficulties with CSS as a small problem, but it really is completely separate from functionality so it isn't quite as important.
I've decided to drop some of the vanity/narcissism in the title and name it django, after the famous Jazz guitarist Django Reinhardt. I wanted the title to be somewhat esoteric but still music related, and give a very small insight into the nature of the service.

Here's a new picture of the header, including the Web 2.0-esque logo created in Inkscape.

Here's an example of the current search return page (missing a few functions as their format has not been finalized)...

This is a continuation of the search return displaying the upcoming events from Upcoming.Org.

Finally, a picture of the slightly revised footer. Not much has changed, just a small gray buffer bar.
Also, if you want to take a look at the XML format of a few of the functions I have implemented head on over here.
I've decided to drop some of the vanity/narcissism in the title and name it django, after the famous Jazz guitarist Django Reinhardt. I wanted the title to be somewhat esoteric but still music related, and give a very small insight into the nature of the service.
Here's a new picture of the header, including the Web 2.0-esque logo created in Inkscape.
Here's an example of the current search return page (missing a few functions as their format has not been finalized)...
This is a continuation of the search return displaying the upcoming events from Upcoming.Org.
Finally, a picture of the slightly revised footer. Not much has changed, just a small gray buffer bar.
Also, if you want to take a look at the XML format of a few of the functions I have implemented head on over here.
Thursday, April 19, 2007
Project Update
I've decided to post a few pictures of my prototype project. It was hosted on the engineering servers but those machines don't have PHP 5 so I had to jump ship. Keep checking back for further updates. I've just started implementing the functionality...
Above is a picture of the header and the search field.
This is a picture of the results of the query for "Ryan Adams," which as you can see returned a few things from Last.fm. At the moment nothing is done with this information, it is simply displayed.
A novelty photo of a simple hover over effect on the elements displayed on the page.
And finally, an embarrassing picture of the footer.
Above is a picture of the header and the search field.
This is a picture of the results of the query for "Ryan Adams," which as you can see returned a few things from Last.fm. At the moment nothing is done with this information, it is simply displayed.
A novelty photo of a simple hover over effect on the elements displayed on the page.
And finally, an embarrassing picture of the footer.
Wednesday, April 04, 2007
Videodrome.
It is amazing how quickly time goes by. I'm embarrassed I've only written two entries related to the course. I've spent some time thinking about my final project, and though it has changed quite often in my mind, I think I finally have made a decision.
I would like to develop a Java application that will, given a directory, search for locally stored movies and store references to them in an XML document. I am hoping to pilfer the approach that XMBC uses for IMDB Lookups as IMDB does not have a public API and I am more or less in the dark as to how to approach the problem. I suppose I could try to use Amazon's public API to receive at least some of the information I would need and attempt to supplement the rest with data from IMDB.
The program would attempt to populate various fields for each found film stored in the system, particularly: director, genre (or genres), starring actors, formal title, and release date (just to name a few). Ideally, the program would support user defined tags and ratings that could be used to search for specific films and differentiate films in a more personal way. For example, a user might have tagged the film "Mulholland Dr." and "Dogville" with "cannes," allowing them to search for "cannes" instead of say "drama" or search by director. This concept allows users the freedom of personal descriptions for the purpose of creating artificial separations beyond the normal criterion (director, genre, etc).
The interface will be a simulated web application, which is created on the fly using XSLT and XML. The idea is to be as unobtrusive as possible, with perhaps a very simple search field at the top of the page and multiple tabs for sorting results (or merely browsing the stored files). It is desired that users could sort films by genre, director, and decade (hopefully more if I have the time/the know how). It would also be ideal if users could search for something, and be able to sort the results in the same manner (by director, genre, decade, tags, etc).
I had initially hoped to use PHP for the project before I had settled on this idea. I am planning to utilize Java for development simply due to familiarity and relative experience in a program semi-similar in nature to this one. It is my goal to write all code myself without use of third party open source software.
I suppose we'll see how it turns out. I will try to post sketches and general prototype pictures once I start truly developing (hopefully within the next few days) mostly for the purpose of documenting the process and evolution of the project (since I will not disillusion myself with the notion that anybody is reading, it is primarily for my own edification).
I would like to develop a Java application that will, given a directory, search for locally stored movies and store references to them in an XML document. I am hoping to pilfer the approach that XMBC uses for IMDB Lookups as IMDB does not have a public API and I am more or less in the dark as to how to approach the problem. I suppose I could try to use Amazon's public API to receive at least some of the information I would need and attempt to supplement the rest with data from IMDB.
The program would attempt to populate various fields for each found film stored in the system, particularly: director, genre (or genres), starring actors, formal title, and release date (just to name a few). Ideally, the program would support user defined tags and ratings that could be used to search for specific films and differentiate films in a more personal way. For example, a user might have tagged the film "Mulholland Dr." and "Dogville" with "cannes," allowing them to search for "cannes" instead of say "drama" or search by director. This concept allows users the freedom of personal descriptions for the purpose of creating artificial separations beyond the normal criterion (director, genre, etc).
The interface will be a simulated web application, which is created on the fly using XSLT and XML. The idea is to be as unobtrusive as possible, with perhaps a very simple search field at the top of the page and multiple tabs for sorting results (or merely browsing the stored files). It is desired that users could sort films by genre, director, and decade (hopefully more if I have the time/the know how). It would also be ideal if users could search for something, and be able to sort the results in the same manner (by director, genre, decade, tags, etc).
I had initially hoped to use PHP for the project before I had settled on this idea. I am planning to utilize Java for development simply due to familiarity and relative experience in a program semi-similar in nature to this one. It is my goal to write all code myself without use of third party open source software.
I suppose we'll see how it turns out. I will try to post sketches and general prototype pictures once I start truly developing (hopefully within the next few days) mostly for the purpose of documenting the process and evolution of the project (since I will not disillusion myself with the notion that anybody is reading, it is primarily for my own edification).
Wednesday, February 07, 2007
Open Source XML Editor (read Free)
After unsuccessfully attempting to use the recommended Oxygen XML Editor, I was reluctant to give it anymore of my time. It's awfully frustrating when a program claims your license key is in an incorrect format, no matter how many different ways you enter the license key (legitimately acquired from Oxygen, there was no piracy involved in this mysterious license key debacle). So I decided to use the power of Google to find something that wasn't so crippled by restrictions.
By way of "xml editor, open source," I eventually stumbled upon XPontus XML Editor. Aesthetically I'm quite picky with software, and although XPontus isn't quite the eye candy that Oxygen is, it isn't ugly in any real capacity. In fact, it is highly utilitarian.
XPontus provides the barest necessities, including validation tools (against external schema's or internal DTD's) and automatic external DTD generation given an XML document. An interesting extension of the validation functionality is a "Batch Validation" process, which when given a path will validate all files matching your user defined file extension. Another useful tool is XMLDiff, which when given two XML documents will highlight the differences between the two. This has proven handy in general comparison of documents throughout the homeworks.
I would highly recommend this application. It is open source and completely free. It provides the basic functionality we need (or have utilized thus far) and is highly intuitive and minimalistic. The program is written in Java, and is cross platform.
By way of "xml editor, open source," I eventually stumbled upon XPontus XML Editor. Aesthetically I'm quite picky with software, and although XPontus isn't quite the eye candy that Oxygen is, it isn't ugly in any real capacity. In fact, it is highly utilitarian.
XPontus provides the barest necessities, including validation tools (against external schema's or internal DTD's) and automatic external DTD generation given an XML document. An interesting extension of the validation functionality is a "Batch Validation" process, which when given a path will validate all files matching your user defined file extension. Another useful tool is XMLDiff, which when given two XML documents will highlight the differences between the two. This has proven handy in general comparison of documents throughout the homeworks.
I would highly recommend this application. It is open source and completely free. It provides the basic functionality we need (or have utilized thus far) and is highly intuitive and minimalistic. The program is written in Java, and is cross platform.
Wednesday, January 31, 2007
"Long Live the Cinema!"
Recently with the great amount of free time afforded by insomnia, the opportunity to view a great deal of films has magically fallen into reach. In the past few weeks it seems that there has been enough time to watch three or four movies a day. This has proved to temporarily satiate my waxing longing for a return to the seats of the cinema…
In the past few days I have watched:
As I understand it "Children of Men" is up for best Cinematography and "Half Nelson" has received a Best Actor nod (Ryan Gosling). I have to say, these two films were the most exciting and interesting of the list albeit for entirely different reasons.
Included however are these brief descriptions of a dissenting opinion of each film... Some people have called "Children of Men" a glorified chase movie lacking character development and any semblance of solid plot. Others have called "Half Nelson" a tedious, white washed suburbanite fabrication, and a minimalist (or "poor man's" if you prefer) "Crash" (no, not Cronenberg's film, that horrid Best Picture winner from last year). Are these evaluations justified?
I can at the very least concede partially to the attacks against "Children of Men," but I see very little reason to give credence to the arguments against "Half Nelson." While the cinematography is in no way a personal favorite (shaky handi-cam shots), the minimalist film making is powerfully effective. The dialogue is amazing and sparse, the soundtrack is highly instrumental with a strong presence from the Canadian super group Broken Social Scene - which serve to aid in the illustration of the nearly tangible despair, and even the acting is equally detached though tremendously nuanced. This calculated simplicity allows the audience the opportunity to synthesize the scenes for themselves. There is no hand holding in this film.
I'd rather think about the film than have its message bashed into my head repeatedly for "good measure."
Speaking of which, I really can't wait to see David Lynch's "Inland Empire." Lynch had no script until the morning of each day of shooting. It was on numerous critics top ten films of the year list. Yet, it hasn't materialized... Until it does I must wait, watching older films, catching up on my viewing...
In the past few days I have watched:
- ”Children of Men” an Alfonso Cuaron film
- ”Idiocracy” a Mike Judge film
- ”Mr. Death – The Rise and Fall of Fred A. Leuchter, Jr” an Errol Morris film
- ”Half Nelson” featuring Ryan Gosling
- ”Shortbus” by the director of “Hedwig and the Angry Inch”
- ”The Ground Truth After The Killing Ends” a documentary on the effects of the Iraq War on Veterans
As I understand it "Children of Men" is up for best Cinematography and "Half Nelson" has received a Best Actor nod (Ryan Gosling). I have to say, these two films were the most exciting and interesting of the list albeit for entirely different reasons.
Included however are these brief descriptions of a dissenting opinion of each film... Some people have called "Children of Men" a glorified chase movie lacking character development and any semblance of solid plot. Others have called "Half Nelson" a tedious, white washed suburbanite fabrication, and a minimalist (or "poor man's" if you prefer) "Crash" (no, not Cronenberg's film, that horrid Best Picture winner from last year). Are these evaluations justified?
I can at the very least concede partially to the attacks against "Children of Men," but I see very little reason to give credence to the arguments against "Half Nelson." While the cinematography is in no way a personal favorite (shaky handi-cam shots), the minimalist film making is powerfully effective. The dialogue is amazing and sparse, the soundtrack is highly instrumental with a strong presence from the Canadian super group Broken Social Scene - which serve to aid in the illustration of the nearly tangible despair, and even the acting is equally detached though tremendously nuanced. This calculated simplicity allows the audience the opportunity to synthesize the scenes for themselves. There is no hand holding in this film.
I'd rather think about the film than have its message bashed into my head repeatedly for "good measure."
Speaking of which, I really can't wait to see David Lynch's "Inland Empire." Lynch had no script until the morning of each day of shooting. It was on numerous critics top ten films of the year list. Yet, it hasn't materialized... Until it does I must wait, watching older films, catching up on my viewing...
Tuesday, January 30, 2007
XML and the Enterprise
I have decided to merge the assignment into this already existing (though that might be a generous description) blog. Potentially this should yield some interesting entries on the topic of XML, and related services.
It is actually quite an exciting topic. It doesn't seem like it would be, but it is.
XML is an emerging technology for data delivery across the internet and beyond. It is utilized in most of the "exciting" new websites (AJAX anyone?), used in the innocuous SVG transparently to the user, and it is even used for configuration files of programs and services.
For me, the most exciting of these utilizations are those related to web services. A pillar of the Web 2.0 explosion is inarguably “mashups,” or services which utilize public API’s of other websites to provide something new and useful. Quite often these services provide a great deal of social interaction or are highly customizable (read personalized) by their intended user base. It is for these reasons that I think these web applications are so popular: they quite typically emphasize democratic and highly social interaction among the community of users.
Hopefully with what I learn in this class I can maybe dust off some old projects and breathe in them some new life. Specifically I would love to finish an Xbox Media Center python script I've been writing off and on for about two years (though that might be difficult as my Xbox was stolen). The script utilizes the Upcoming.org API to bring real time concert and event listings for any area to the Xbox. I had hoped to eventually add information from Amazon’s public API in conjunction with the concert information to allow users a quick bio of an artist in the event they were unfamiliar.
Anyway, my primary hope and I guess goal for this term, is to learn a set of skills which will allow me to realize more of the ideas I have.
It is actually quite an exciting topic. It doesn't seem like it would be, but it is.
XML is an emerging technology for data delivery across the internet and beyond. It is utilized in most of the "exciting" new websites (AJAX anyone?), used in the innocuous SVG transparently to the user, and it is even used for configuration files of programs and services.
For me, the most exciting of these utilizations are those related to web services. A pillar of the Web 2.0 explosion is inarguably “mashups,” or services which utilize public API’s of other websites to provide something new and useful. Quite often these services provide a great deal of social interaction or are highly customizable (read personalized) by their intended user base. It is for these reasons that I think these web applications are so popular: they quite typically emphasize democratic and highly social interaction among the community of users.
Hopefully with what I learn in this class I can maybe dust off some old projects and breathe in them some new life. Specifically I would love to finish an Xbox Media Center python script I've been writing off and on for about two years (though that might be difficult as my Xbox was stolen). The script utilizes the Upcoming.org API to bring real time concert and event listings for any area to the Xbox. I had hoped to eventually add information from Amazon’s public API in conjunction with the concert information to allow users a quick bio of an artist in the event they were unfamiliar.
Anyway, my primary hope and I guess goal for this term, is to learn a set of skills which will allow me to realize more of the ideas I have.
Subscribe to:
Posts (Atom)
