Archive for the 'Techie' Category

h1

Microsoft Visitor Center

Thursday, June 15th, 2006

Well, when I got to Microsoft Tueday morning it turns out that they weren’t quite ready for me to perform the installation. They wanted to wipe an old machine and install a new OS on it, and of course they wanted to backup all their files which took the good part of two hours. So, after spending 35 minutes on a bus and 10 minutes on foot to get there, I left. Luckily I was close enough to the Microsoft Visitor Center that I got to go and check everything out in there.

There was a decent mix of lameness and awesomeness. There was a little booth with a phone on it that let you record your voice, and then after you recorded a message there was a translate button. I said to myself, “Whoa, real-time voice translation, this should be cool.” However, after pressing the translate button and expecting to hear my message in a different language the thing just started saying “Zero, One, One, One, Zero, Zero, One, Zero, One, Zero, One, One”. Yes, everyone and their freakin’ mom knows the difference between analog and digital.

After that I went and played one of the 8 XBox360s they had setup to blow of some steam, and then I fooled around with the computer they had setup with 9 LCD monitors. The coolest thing, though, was a functional interactive display model they had setup. It was kind of like NYU’s FTIR Multi-Touch interface, but not nearly as cool and with pretty pitiful response time. Also, it was just running mapping software so all you could do was pan and zoom around the world, kind of like Google Earth. Needless to say, I zoomed into the UTD campus so that it took up the whole screen.

h1

Matt Faus Pictures

Monday, May 29th, 2006

After much deliberation, I have finally installed and configured Gallery 2.1 (which I must say is amazing software). The main reason I wanted to use software was to cut back on the time it takes me to upload images, and boy has it been a mission accomplished!

The coolest feature is the integrated Windows XP publishing tool, which works miracles! To use this feature, you setup Gallery as you would for any normal install, and then download a .reg file to merge some entries onto your computer. Once the registry file is run, a link shows up in all folders that contain images that says ‘Publish to the Web’. I can make selections of images in the Windows folder, click that link, and presto! Everything is integrated into Windows, so there is no bulky upload tool or need to install anything, everything is handled through web services! The process I go through to upload and start sharing pictures is as simple as this:

  1. Snap awesome pix with the digital camera
  2. Download image files to local directory in Windows XP
  3. Make selection of all images I want to upload to Gallery
  4. Click ‘Publish the selected items to the Web’ button in the Windows XP folder task pane
  5. Click through a wizard to create a new album with a title and summary information
  6. Specify the thumbnail size I would like to use
  7. Click GO, sit back, and witness the magic!

It now only takes me 5 minutes to upload a set of images as opposed to an hour or more previously. Needless to say, I will be uploading a lot more pictures!

Without, further ado, please check it out: Matt Faus Pictures

h1

Net Neutrality Passes House Committee

Saturday, May 27th, 2006

Just a quick update on Network Neutrality:
http://arstechnica.com/news.ars/post/20060525-6921.html

h1

Network Neutrality

Tuesday, May 9th, 2006

Save The Internet - Fight For Net Neutrality!

Check out the website, and write a letter to your congressional spokesperson. In the words of William Wallace,

FFFFFFRRRRRRRREEEEEEEEeeeeeeeeeddddddddoooooooommm!!!!!

h1

Java Database Connectivity

Sunday, April 9th, 2006

I have recently begun working with databases in Java and I am really starting to like it. It is so much easier to store and retrieve data in a database than I have ever worked with. Flat files are just a pain, XML can be pretty tricky, and both of these are incredibly slow compared to databases!

We’ve been using MySQL in my Advanced Java class and another cool feature about this suite is that it is free! Both Java and MySQL are free platforms and getting up and going with them is not bad at all. I actually got my homework working within an hour. Deployment gets kind of tricky, but once everything is set up the data flows really smooth and FAST.

h1

Java Server Pages and Servlets

Tuesday, March 28th, 2006

I have always enjoyed working on websites, and whenever I have free time I always try to find ways to improve MattFaus.com. Websites, especially personal websites, are a perfect blend of visual and technical creativity. The markup languages that the web uses, such as HTML, CSS, and XHTML have made great strides in enabling web designers to make beautiful and complex websites while maintaining a rather structured framework. The reason I love working on dynamic websites is because they provide an immediate fruit of labor and there is practically zero deployment necessary. Once you have uploaded the website and released it to the public, the entire world can see what you have created by simply pointing their browser to your domain. As opposed to traditional desktop programs that entail downloads, installations, and a broader spectrum of compatibility issues. One limitation that I have felt while I was building dynamic websites up to this point has been their power limitation. I have used PHP and MySQL for my personal site as well as a couple client sites I have built and although PHP is very fun and easy to use, it does not have the power and complexity of an object oriented language.

Enter Java Server Pages and Servlets. With these technologies I can not only create simple and effective dynamic scripts for a website, but I can effectively generate a website that serves as the front-end for a very powerful and complicated object oriented machine running on the backend. I’m sure JSPs could run just as effectively as little PHP scripts for generating dynamic content, such as my pics page on MattFaus.com, but I think the real power with JSPs and Servlets is their access to the entire Java Framework. Without changing any code of a preexisting application, one could easily create a Servlet that performs as a completely usable user interface with zero deployment concerns, and this is amazing.

It seems that Java Servlets and XML Web Services are closely related. However, servlets seem more powerful and easier to implement. Instead of having to create a WSDL, installing a SOAP runtime environment, constructing SOAP objects, and passing them across the wire, and then processing returned SOAP objects, servlets simply use HTTP GET and POST methods to pass data and the output is formatted and returned immediately into the web browser.

I’m sure there are pros and cons of each, but so far I have enjoyed working with Java Servlets much more than Web Services.

h1

Separation of Design and Function

Friday, February 10th, 2006

Although Java provides a very thorough and straight-forward library for creating Graphical User Interfaces (GUIs), this task is always quite cumbersome. The design is often not too hard to create originally but if there ever needs to be anything added, removed, or modified, the code can get pretty messy. This problem arises because Java requires that you program a design, instead of describe it. The most often created graphical user interface is a webpage, and this is because they are so easy to create. The design of a webpage is not programmed, but described using a markup language such as HTML or CSS. This technique makes it much easier to build and maintain complex designs, but it does have limitations. Making applications in Java (and in general) requires a deep level of interaction and customization that HTML or CSS could never supply. Markup languages are used to display data, but Java applications are used to manipulate data, and this presents a problem. There must be, however, some way to abstract the design of a GUI to a higher level. Even a simple GUI in Java requires the instantiation of over a hundred objects, and this is not acceptable. I have seen WYSIWYG tools that will generate Java code from a drag ‘n drop design canvas, but I have never liked working with tools such as these. Ever since I started creating webpages, I have always preferred working with the text, not a design editor. One idea would be to integrate XML more closely with Java and use style sheets and transform files to describe the design, but I don’t envision this happening anytime soon. Maybe I’m just complaining unnecessarily, but I have never enjoyed programming GUIs in Java or any other language and I think something needs to be done to separate design and function. Programming languages are meant to do things, not describe things. That’s what’s great about creating web applications – you can use the language of your choice to provide the functionality and then generate simple HTML or CSS to display the output in a complex way.

(This is post number two for my Advanced Java class)

h1

Code is Poetry

Friday, January 20th, 2006

Over the past few days I have been enjoying a collection of essay by Fredrick P. Brooks, Jr. on Software Engineering and the software development field in general. The book, The Mythical Man-Month, is assigned reading for my Software Engineering class and I have been thoroughly enjoying it. The book presents a rather high-level and philosophical view of my craft and it has been wonderful to see how well I can relate with others of the same passion. From the first chapter, I leave you this quote on the joys of programming:

Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

h1

Collections in Java

Tuesday, January 17th, 2006

Although I have been using the Collections arrays in Java for quite some time, I am reminded every time I use them of the cumbersome nature of primitive arrays that I first learned when I started programming. Not only do the Collections make arrays much easier to work with, they also perform much better than primitive arrays. Most significantly, the Collections arrays use dynamic sizing to conserve memory. This feature is very necessary when writing programs that are meant to be used in diverse situations. Also, the ArrayList provided in Java has the very useful feature of holding items that are of the Object class, which serves as the parent class to every class created in the Java language. With this generic storage facility you can easily “throw” anything you want into an ArrayList for easy storage and retrieval.

Another thing that I really like about Java is how easy it is to create advanced GUI. I never really tired to make GUI programs with C++, but everyone I talked to has said that it is rather difficult. For me, making a GUI in Java is very similar to constructing a web page, which comes very natural to me.

(This is Post #1 for my Advanced Java class)

h1

InfoPathDev.com Article

Thursday, December 15th, 2005

I’ve been working with InfoPath a lot lately (a Microsoft form designer) and as I was making the Sales Proposal form for Mentalix (my part-time job) I started posting on the forum at InfoPathDev.com. I was trying to perform some certain functionality to make the printable version of the form easy to read and apparently I figured out how to do something that no one else had. You see, InfoPath is horrible when it comes to data presentation. The collection and storage part it’s got down pat, but the reporting functionalities are very limited. Anyway, I wrote this code and the owner of the site, Patrick Halstead, asked me if I would write up what I had done in a generic How-To article so that he could post it to his site. I did, and now it’s up. Check it out. You probably won’t enjoy the article unless you’re working with InfoPath and trying to accomplish the same thing, but I thought it was pretty cool that I had my mugshot and biography at the bottom of the page.