Random Thoughts of a Scatterbrain.
 Friday, November 17, 2006

Down on ASP.Net

11/17/2006 11:51:51 AM (Eastern Standard Time, UTC-05:00)

First, some random stuff.  I got a free t-shirt from Newegg yesterday and I didn't even have to buy anything!  It turns out that scammers have been using Newegg's domain in phishing attacks.  As I was reading through this, I thought to myself: isn't there some way to counter this?  I came up with a pretty simple solution and emailed it to Newegg's customer service email: why not just have all account holders, when they enter their information, also enter three code words -- for example: "Apple", "Frankie", and "Coolio" -- and from that point on, any correspondence would include one of these three words, selected at random, in the subject line.  This way, a customer can easily scan emails which appear to be coming from Newegg and tell which ones are spam and filters can also be set up to simply remove anything from Newegg that doesn't contain one of the code words in the title. 

There would be no way for a scammer to overcome this without knowing the codewords (yes, I did think about it for a while and one codeword would probably work just as well since if you compromise even one, you've compromised the effectiveness of the entire system).

So simple (simple to program, simple for customers), yet so effective...I like simple things.

On another front, I've been working on a consulting project kind of indepenently with a development team in a primarily Java environment.  I've been doing some really nifty UI work and the sort of cutting edge web software that I love to do (I know you can't tell by this webpage :-D and I know his blog is displaying incorrectly in IE7).

Working with this team has reinforced my belief that web UIs have no place on server side applications except in HTML pages and JS files; server side UIs must die.  The entirety of the work that I've done has been in JavaScript classes that are essentially client side renderers which consume data provided by JSP pages as JSON strings.  It's a beautiful thing to behold from a design perspective.  Those guys that have no clue how to do UI are not tasked with doing any of the UI work; they just provide the data services that I need to render my UI.

Since I first came across AJAX, it has always been in my mind that, given this tool (a gift from the web programming gods, I tell you), the ideal way to write web apps goes sooo far beyond what any server web application platform can offer.  Perhaps some view this as a bit radical, but I have proposed that the application server be completely oblivious to the existance of any UI at all; all functionality is exposed as a web service and it is then up to the consumer of those services to decide what to do with it.  What exactly does this mean?  The server delivers what is essentially a base HTML page and from that point on, the server side app has no further involvement in the UI.  All of the rendering is then accomplished by client side scripts through DOM manipulation.

This has HUGE advantages over traditional postback/getback models.

  1. The rendering script can be cached.  That means that while you may bulk up on the scripts, you end up saving a HUGE chunk of bandwidth on not delivering highly redundant HTML.  Using this model, you only ever deliver data, NEVER delivering UI markup.
  2. The design is incredibly clean on the server side.  None of this intertwining of UI postback handling and layout garbage.  The application is responsible for providing data services and data services only.  This is a win-win situation as it does not ask the application programmer to build UI (something which most are terribly incompetant at).  At the same time, given a base set of messages, the UI developer can start working on client side code immediately with mocked up messages.
  3. The application is highly reusable now.  The same web services powering the web application can be retooled a bit to power ANY client.
  4. It offers a better user experience.  This is true for any usage of AJAX.
  5. It offers a clean separation of concerns for the two domains of the application: the UI and the server components.  Completely clean.  No half-assed distinction as with ASP.Net and ASP.Net controls.  There is no concept of UI at the server side -- NONE -- only data.

I can't be the only one that believes in this, can I?

But in any case, I'm really down on out-of-the-box ASP.Net and I'm really down on people that adhere to it because it's easy (don't get me wrong, I love .Net).  It all goes back to the drag-&-drop mentality.  I abhor this approach to software.  When something goes wrong, developers that adhere to this philosophy are like deer in headlights.  Source is your friendGet to know Source.  It'll be good for you in the long run.

Nothing against Infragistics, but has anyone seen the HTML source produced by their ASP.Net controls?  Wow.  Fugly beyond belief and HEAVY to boot (the same is true of SharePoint...it's unbelievable).  Not only that, the markup in the page is horrendous and completely illegible...how do they stay in business?  Oh yeah, the gigantic cadre of drag-&-drop professionals brought up in the drag-&-drop era.  They've sold the idea that these controls save time and money while I would argue that the time & money saved is not that significant it since it leads to hard to maintain code, heavy markup delivered to the client, "cookie" cutter UIs that tend to look alike (even across organizational and business boundaries), and a lack of tailoring to the users.  I mean, it may save what? a few hours of development time?  But you end up with code that is incredibly heavy, hard to read, and hard to maintain.  It's time for server side UI to die.  Completely.

I'll admit: not everyone is as comfortable as I am working in the DOM on the client side and working with JavaScript and raw HTML constructs.  But heck, this stuff isn't brain surgery man.

 Wednesday, November 15, 2006

Quote of the Day #001

11/15/2006 1:25:57 PM (Eastern Standard Time, UTC-05:00)

From November 20 issue of Time:

I also am in favor of toppling dictators, establishing democracy and watching it spread painlessly throughout every region where there is no experience of it.  Not only that: I am in favor of turning sand into ice cream and guaranteeing a cone to every child in the Middle East.  But you can't turn sand into ice cream.  That is not a defect in the execution of the idea.  It is a defect in the idea itself.

-- Michael Kinsley

 Thursday, November 09, 2006

Upstream, Red Team!

11/9/2006 7:43:58 PM (Eastern Standard Time, UTC-05:00)

Go RU!

Who would have thunk it?

The amazing thing is how much attention, both locally and nationally this has garnered.  All of the digital signs on the Turnpike declared "Go Rutgers!"; it kind of caught me off guard.

Now I'm off to watch the game...on my TV :(

Edit:

 

RUTGERS!!!

 

Bill Simmons: NBA Week 1

11/9/2006 3:44:05 PM (Eastern Standard Time, UTC-05:00)

I just had to share, a really humorous look at the week that was in the NBA.

http://sports.espn.go.com/espn/page2/story?page=simmons/061108&lpos=spotlight&lid=tab2pos2

 Wednesday, November 08, 2006

An Early Look At JavaScript 2

11/8/2006 10:45:12 AM (Eastern Standard Time, UTC-05:00)

There's a slide deck over at the Mozilla deverloper site that covers some of the changes/additions/bugfixes to be found in JavaScript 2.  It's interesting and worth taking a look.

With IE7 just out the door, I wonder if JS2 will ever really take off.  Certainly, if Microsoft decides that they have no interest in JS2--and a good question is why would they have interest in JS2 if XAML with .Net is superior, in their minds--then it would end up excluding a large set of browsers and thus a large set of developers and users.

It remains to be seen how Microsoft continues to regularly update IE7.

 Saturday, November 04, 2006

Spirit and Opportunity (a Tribute)

11/4/2006 3:47:25 PM (Eastern Daylight Time, UTC-04:00)

16,500,000,000.

16.5 Billion US dollars.

That's the budget assigned to NASA, all of NASA, for 2006. With this relatively miniscule budget, some of the brightest engineers in the world are asked to scrape by on what amounts to table scraps. These engineers are tasked with performing seeming incredulous feats, when we really consider the scale of things and put their tasks into perspective.

I saw an amazing picture the other day. It was a shot of the space shuttle launching from Earth, as seen from space by our astronauts in the ISS. The plume of smoke, from space, looks oddly organic: as if a tendril from a microscopic organism, reaching out into the space around it, feeling for a safe path. It’s a visual that I don’t think I will ever forget in its uniqueness and the amazing perspective that it provides (both literally and metaphysically).

What happened to the days when our superiority in space exploration was a well of national pride? What happened to the dreamers that dreamt of men on the Moon and voyages to Mars? Nowadays, once relatively technologically backwards countries like China and India are increasingly investing more money into their space programs as it is a source of national pride and profit in some cases:

Operating on a fraction of NASA’s budget, the ISRO has turned itself into the Energizer Bunny of space programs – it just keeps launching and launching and launching. Since 1975, the agency has lofted 43 satellites into orbit, 20 of them from Indian soil. An extraordinary string of successes – 12 consecutive launches without a failure – has attracted European and Asian investors looking to capitalize on growing demand for satellite communication and reconnaissance. A few big deals could turn the ISRO into a moneymaker, boosting India’s prestige… (Scott Carney, Wired, 11/2006)

It’s amazing when you start to wonder what could be if even half the amount of money spent on the Iraq war were given to NASA. What amazing places could we visit? What incredible sights could we see? What mind-shattering breakthroughs would we find in the fields of astronomy, physics, astrophysics, and our understanding of our existence could we encounter in the deeps of space?

I put a lot of blame on the current administration; it is one that has publicly cast doubt on and often put science to the wayside. It is one that has sat by abjectly while controversy swirled, allowing false prophets to cast doubt on evolution, the separation of church and state, and the importance of the science overall.

As I was reading my December issue of Car and Driver, I came across an article on the twin mars rovers, Spirit and Opportunity, and the amazing journey that it has made. These machines are our proxies in the exploration of our solar system, providing us with an amazing view of one of the most promising planets insofar as human habitability goes.

There is something incredibly – and perhaps this is not the best term to describe this – awesome about the idea that this little man made machine is rolling along, millions of miles from the nearest human being.

Millions.

I think the public, in general, has a hard time understanding such scale and take it for granted.

Thus far in human history, about two thirds of the 36 Mars probes have been lost en route or in the creation of smoking holes on the surface… (Aaron Robinson, Car and Driver, 12/2006)

What’s perhaps more enlightening is the following quote from Mark Maimone, a Jet Propulsion Laboratory mission planner:

As long as NASA keeps shoveling in the case – an additional $84 million since touchdown – “The pressure is still on to make use of this national resource”… (Aaron Robinson, Car and Driver, 12/2006).

It is quite incredible when you consider how much of our research of space is done on technology older than I am (25). Our shuttles are from a bygone error using computers which are probably outclassed by most smartphones these days. Of this, Robinson points out:

Because Congress is overdue in authorizing bandwidth upgrades to the Apollo-era global array of radio dishes called the Deep Space Network, the team gets only two brief time slots per day to phone the rovers.  (Aaron Robinson, Car and Driver, 12/2006).

It’s sad to come to this realization. The space program, to me, is a vehicle for inspiration. It should be a source of national pride. A source of dreams – impossible dreams – for a new generation of scientists and engineers. A well from which we draw inspiration for our students and our people. Indeed, it’s an amazing resource, one who’s monetary benefit cannot be measured or counted.

Perhaps the coolest part, at least to me, about the Mars rovers, is their “evolution” in the form of software upgrades. The Car and Driver article also speaks of the amazing journey and longevity of the rovers. Once thought to last perhaps only 90 days or so, the rovers have now surpassed a lifetime of ten times that. Like Replicants in Blade Runner, Man has created this proxy knowing that it would only live for short period of time and here it is, fighting to survive (well, with the help of some human caretakers, of course).

 Tuesday, October 31, 2006

Fitting Halloween Posting

10/31/2006 3:54:39 PM (Eastern Daylight Time, UTC-04:00)

Bones?  Halloween?  Yah?  No?  Wait, I got another one: Charlie "digital", get it? Okay, lame, I know :-).

In any case, that's my finger.

That little piece of bone hanging off of my middle phalange is a chip fracture that I suffered about 4 weeks ago at the gym playing basketball.  Turns out it was more than just a fracture.  As my finger was hyperextended, the tendon at the joint actually tore partially (which explains the excruciating pain and swelling) and as it tore, it actually took a small piece of the bone with it.

The ER doctor had my finger in a straight splint for the last four weeks, which totally messed up my finger because it needed to be in a curved splint to account for the hyperextension and to release stress on the tendon.  Doh!

I've been mostly getting by with 4 finger typing on my left hand, but spelling mistakes are plentiful and I feel as if my WPM is down at least 33%.

Well, looks like it'll be another 2 weeks in a splint for now.  This has me wondering: can/should us keyboard jockeys insure our hands?

In any case: Happy Halloween!

 Monday, October 30, 2006

Just to Share...

10/30/2006 6:36:44 PM (Eastern Daylight Time, UTC-04:00)

Great quote from Jason Kidd on David D'Alessandro's Nets postings:

“I feel physically that I can average a triple-double,” Kidd added. “That’s the way I approach the season, for me to physically and mentally be involved -- rebounding, finding the open guy and scoring points and playing the game in that form of being involved (in everything). If it’s for 30 minutes, then in those 30 minutes I will give ‘em hell.”

Particularly that last sentence.

Wowzers!

10/30/2006 2:58:23 PM (Eastern Daylight Time, UTC-04:00)

From an article in the Miami Herald:

Debra A. Reed voted with her boss on Wednesday at African-American Research Library and Cultural Center near Fort Lauderdale. Her vote went smoothly, but boss Gary Rudolf called her over to look at what was happening on his machine. He touched the screen for gubernatorial candidate Jim Davis, a Democrat, but the review screen repeatedly registered the Republican, Charlie Crist.

Um...wow?

And keep in mind, this is with comparatively light usage in early voting...

What's more interesting is another article I came across:

About 15,000 internal Diebold e-mail messages also found their way to the Internet. Some referred to software patches installed on Diebold machines days before elections. Others indicated that the Microsoft Access database used in Diebold's tabulation servers was not protected by passwords.

Access? AccessThat Access?

OMG! WTF!?

Incredulous!  Does Diebold hire some kiddy junior programmers or something?  As much of a Microsoft fanboy as I am, I would not trust Access as a database to store votes.  No, no, no, and NO.

 Thursday, October 26, 2006

The Most Absurd Piece of Pork Ever??

10/26/2006 10:06:52 AM (Eastern Daylight Time, UTC-04:00)

Something about a 700 mile fence to keep out Mexican immigrants seems like wasteful pork to me.

President Bush signed a bill Thursday authorizing 700 miles of new fencing along the U.S.-Mexico border, hoping to give Republican candidates a pre-election platform for asserting they're tough on illegal immigration.

The measure Bush put into law Thursday before heading for campaign stops in Iowa and Michigan offers no money for the fence project covering one-third of the 2,100-mile border.

Wow.  You know, anouther country--another culture--tried this previously with a much more substantial wall and that didn't end so well.  True, we're not trying to keep out marauding conquerers or anything of the sort, but nonetheless, I think it's been proven time and again, that building these things is pretty much only a symbolic gesture at best; those that are determined will breach it somehow if they want to.  In this case, it's just a pretty useless waste of money.

It all seems like a huge waste of money and resources...I'm not really sure what this wall is supposed to do.  Can't people just dig under it?  Go around it?  Use a ladder or rope and climb over it?  If anything, it gives a false sense of security that may actually weaken border security exactly where the fence is.  I mean, at least without the fence, you can see what's happening on the other side.  Now this thing provides perfect cover for someone digging a hole...

Perhaps the thing that's bothered me the most is how this has turned into a black and white issue pivoting around what is essentially a uselss symbol:

Cornyn said he voted for the fence because he wanted to help demonstrate that Congress was serious about border security.

"The choice we were presented was: Are we going to vote to enhance border security, or against it?" Cornyn said. "I think that's how the vote was viewed."

Wow.  It never ceases to amaze me how bad it's getting.  Lawrence Lessig puts it best in a recent issue of Wired (albeit on a different topic, but his words still ring true):

A citizen was considered dependent when he was not free to act in the public good because his own well-being depended on a particular result.  "Nondependency" meant being able to choose what was right, without worrying about personal consequences--no agenda other than a democratic one.

All but few members of Congress devote the majority of their time to raising money for reelection.  Doing the job we've hired them to do--governing--takes a distant second place.  A good politician comes to understand precisely how much his campaign will gain or lose with each decision he makes.  Like rats in a science experiment learning which lever delivers food, politicians learn the complex dance that keeps them in office.

Rats indeed!

How about growing a pair of cojones and actually explain the issues to your constituency and talking about why the fence is a stupid idea and come up with some better solutions?  I guess it's too much to ask of many of our political leaders to come up with real solutions these days.

RSS 2.0 Atom 1.0 CDF