WebGL 3D Wireframe using GLGE

webgl

This is the same as the 3D wireframe example which was done in OpenGL, only ported to the new technology known as WebGL. WebGL is still a new technology that uses GPU acceleration to render 3D graphics in a web browser and it has shown vast potential to modernize the web.

Many browsers do not even fully support WebGL at the moment. As such, to view this example you will need an updated, modern browser such as Firefox, Chome, or Opera. Internet Explorer does not support WebGL rendering at the moment unless you install a plugin.

This demo relies upon the GLGE and GLGE_math libaries in order to render.

Book Review: JavaScript: The Good Parts by Douglas Crockford

http://akamaicovers.oreilly.com/images/9780596517748/cat.gifJavaScript, which was originally thrown together over a span of 10 days, has its share of bad parts. Of course, many of these have been remedied over the years thanks to ECMA standards process and the creation of high performance JS engines such as Google’s V8. Enter the highly divisive and opinionated book from the original JS guru, Douglas Crockford.

I thoroughly enjoyed this book and felt that I learned so much from it even though it is a shorter book. Though it is necessary to state that this book is not for JS beginners. The main thing that I did not enjoy are the reliance upon the railroad diagrams, which are not very intuitive to anyone who has previously not implemented some sort of context-free grammar (which I would wager is a majority of JS programmers).

Beyond this singular drawback, this book is filled to the brim with nuggets of wisdom. The sections on functions, patterns, and closures was a huge eye opener to the mystery of JavaScript’s inner workings. Chapters 3 and 4 alone were so insightful to me that I feel as if they should be required reading for all serious JS programmers.

I love the opinionated style of the writing displayed in this book. The author is very knowledgeable and passionate so he is able to get away with it. The appendix, appropriately titled “Awful Parts” and “Bad Parts” is far more entertaining than you would expect and provides examples and evidence backing up the author’s assertions.

All in all, this book is highly recommended and is a must read for all serious javascript developers.

GridView Column Grouping in ASP.NET

If you are writing code to show a large amount of records in an ASP.NET GridView control, you should do your best to make them easily readable since it can be overwhelming. I’ve ran across a few different hacks using JQuery to enhance the presentation of GridView records, but this seems to lag the user’s browser when a large number of rows is encountered. I have wrote a small function that performs this action server-side and rids the user of the content-rendering JQuery lag spike.

Continue reading

SAS Data File to PostgreSQL friendly CSV using Perl

In my database course at Marshall University, I helped my professor with a side project involving Cancer research data that has been collected since 1973 by the National Cancer Institute. My first job was to take the SEER data and load it into a postgreSQL database.

The job was simple enough. The only problem? The data files were in SAS format. Basically the format was CRLF delimited entries composed of fixed-length fields. Here is a list of the fields and lengths that I used for the script.

Continue reading

Windows – Unable to delete a file or folder with a long filename (256+ characters)

So I was using a 3rd party iPod management program to copy songs from my iPod back to my hard drive and the program somehow made a folder with a name that was absurdly long. So long that even windows refused to delete it no matter what. The exact error says: “The filename or extension is too long”. The official MS documentation gives 5 suggestions and none of them seemed to work for me. Here is what I did to fix the problem.

Continue reading

Mandala

mandala

This is a Mandala I created in Adobe Photoshop from scratch for the RST department at Marshall University.

Click the thumbnail to see the full size image.