I just finished reading Dan Brown’s new novel - the Lost Symbol.  Aside from being a great read, he touches on something that seems incredibly like science fiction, however, if you think about it makes total sense.

The premise goes like this (I’ve added my own points to help explain it further) -

+ The earth has mass, and because of that mass has gravity. (OK we can all agree with this - Earth Science 101, right?)
+ Everything that has a mass has gravity (again sure. - now we’re probably entering Physics 101)
+ Gravity has an effect on the physical world around it (See Issac Newton and the apple).
+ If you get 2 large objects with gravity near each other, the total force of gravity increases (you don’t wanna see the math behind this)
+ Energy waves have mass (however slight - because waves are made up of photons / light waves, radio waves, etc)
+ Brain waves are a form of energy wave, and therefore have mass (there are a ton of sites that argue both sides of this)
If the above are all true (you can see where I’m going)  then :

+ Brain waves have gravity (again however slight) and can therefore have an effect on the physical world.

So if you get a large group of people with the same thought - the associated gravity would not only converge it would actually multiply and have a larger effect, and therefore have an effect on the physical world around them.

Thoughts can move objects.

Take this further if you will.

Note that I am a born again Christian, so please don’t think I’m some terrible person for thinking this as a possibility.

Use the above theory and apply it to group prayer.  Have you ever been to a large  gathering? I went to a Promise Keepers men’s conference one time many years back.  10,000 guys filling a stadium praying all about the same thing.  You could feel it, something palpable.  Ever sit in a prayer meeting and just ‘feel the spirit’ ?  I know it sounds goofy, New-Age-y, mystical, or somehow wrong, right ?  Actually in the novel it is based on old mystical practices, which could arguably be Satanic, and rightfully so.  But I’m not taking God out of the equation.  He gave his disciples the ability to perform miracles, to heal, to cast out demons.  Maybe it was an ammped up thought process that actually gave them the ability to effect the world around them. To focus their thought and ‘aim’ it at the afflicted person.  Interesting, right?
I can’t explain miracles, thoughts, consciousness or the soul and the last thing I want to do is take anything away from God and how he does things, but I thought if the above were true, we’re missing something very cool that God enabled us to do.  Or at least, missing the understanding of how things work in our world.

Just wait till you read my take on the soul …

I have a “Dispair Inc,” calendar.  I love these things, they’re so funny, and actually inspirational in their own way.  The sayings on their merchandise are SO TRUE it’s scary. Anyway, May’s theme is “Tradition”.  It states - “Just because you’ve always done it that was doesn’t mean it’s not incredibly stupid.” - :)

I love that quote, however, that’s a huge deal for programmers with vision.  Granted there are countless people (not just programmers) that have no vision and continue doing things the same old way because it works.  Ya gotta give them credit, what they’re doing works.  Change takes effort (or seems to). It is usually quite difficult to get people to even see the possibility that it may have been the best way to do it years ago, but not any more. If I can even get a sliver of hope through their thick shell of tradition, I’m fairly certain that I can break through and get them to change.

Ahhh, but then what.  Its MUCH easier to build a new process for someone than to build an improved process for someone.  There’s more pressure to make it simpler, faster, cleaner.  The entire time your client will be comparing the new system to the old one.  You’ll get the “well, the other one could…” or “with the old one it was easier because…”.

This is where your professionalism come in and where you get to shine, if you indeed have the vision and abilities.  Plan ahead.  If you’re rewriting an application, you better know 100% of everything it does, because that one feature you didn’t know about, or leave out because its stupid, they’ll rely on.  Trust me. If you are indeed rewriting an application, and you choose to leave out a feature because it is outdated, or the new way doesn’t need it, you better convey that to your client in some obvious way.  Don’t let them come to you and say - “I used to be able to click here to sort it this way”.  Have on screen ques directing them to how it operates now.  Maybe default sort the list, maybe make a header clickable to change the sort order, create a sort wizard, I don’t know, but it better be apparent.

Read more

Smashing Magazine LogoSMASHINGMAGAZINE.COM is my new favorite website, I visit it every day.
This website has become (to me) a core resource, giving tips, tricks, code, demos, thoughts and tutorials about everything web related. Need to know more about CSS ? Check out 70 Expert Ideas For Better CSS Coding or how about some AJAX for your new web application ? 70 New, Useful AJAX and Javascript Techniques

Ok, they’re not all 70’s but you get the idea. The unfortunate thing is the vastness of the site. I have no idea how large it is, it just goes on and on and on. Beware, you’ll spend a lot of time here, sometimes too much time. I still go from page to page like a wide eyed kid in a toy store, clicking on demos, and bookmarking articles. I realize an hour has passed, but the good thing is that you’ll be a better ______ after it (programmer, designer, interface architect … whatever). So to deal with amy slight guilt for cruizing the web, I chalk it up to professional development. No one had to pay for me to drive/fly somewhere, put me up in a hotel for a couple days and attend a boring class. I ‘blew’ 2 hours online and I can almost always instantly improve something I’ve already written or get a head start on accomplishing something I need to do.

Fantastic resource, great reading - I’d recommend to to everyone.

I use Dreamweaver all day long, and if you use it and you’ve ever gotten a synchronization notice, you may have seen a button that allows you to compare files.  This is a fantastic feature, however, recently my BeyondCompare trial timed out.  There’s no budget to purchase it - even though its under $50.  So I asked around, and a co-worker mentioned an open source project called WinMerge.

This tool is a fantastic find.  Granted it isn’t as feature rich as BeyondCompare, but really, I just want to see the differences in files.  Sometimes its just a space that I don’t care about, something minor that trips up the synch algorithm or sometimes an actual code difference I didn’t remember.  Its saved my bacon many times.
I would highly recommend using this open source tool if you don’t have a file compare utility defined in Dreamweaver.  After installing it, simply go to : Edit | Preferences | File Compare and enter the path (for me that was : C:\Program Files\WinMerge\WinMergeU.exe)

You can also compare local files in a site if you select them both in the Files pallet, right click and choose compare files.  This is great if you have Copy[5] of process.php and want to see what’s different in Copy[2] of process.php or even process.php :)

Its a fact.  The public library here has tempted me to perform illegal acts.  What? you may ask … well here’s the deal.

I was told by a friend that worked at the library in a neighboring town that they offer downloadable audio books. All you need is a library card and you can set up an account and download books to listen to on your computer or mp3 player.

Awesome.  I love listening to books while I’m running, driving, or mowing it makes the time go by faster.  So I drive in to town, hit the library and get myself a card.  Excited, I head back to my office and log into their website.  I end up over at NetLibrary.com - who is the actual offering site for these audio books.  I create an account and start browsing downloads.  They don’t have a ton of books, but there’s a couple thousand in all different subject areas and genres.  I settle on one that I’d like to listen to and download it.

While its downloading I decide to read the instructions on the screen and read about how they use DRM (Digital Rights Management) to control the loan period.  Basically its a time-stamp on the audio file that only allows it to play until the license expiration is reached.  So for example the book I downloaded will only work for 20 days.  After that, any attempt to play it will result in a message alerting the user they have to update / renew the license.

Reading further, I see that the files will not work with an iPod.  Screetch, hold on … beep-beep, back the truck up.  Doesn’t work with an iPod ???  By far the most popular music player out there, and these audio books - designed for portable playing can’t play on them ?

I do a little research and it appears that Apple’s iPod doesn’t support DRM.  great.  wonderful. Read carefully because this is where the illegal part comes in…

I would never have thought this - ever - but what thought went through my mind… There has to be a utility to remove the DRM stamp so I can play this on my iPod.  … illegal, instant criminal, law breaker

yes I could go to the library, check out the book on cd, spend 30 minutes ripping the cd to mp3, copy to my ipod and delete it all when I’m done (because frankly they take up too much space) - but that’s a pain.  I want to download the book straight to my iPod and listen … and now I can’t.

…or apparently I could if I wanted to break the law and use a utility to strip the DRM stamp out…

Up to this point robots perform tasks. They’re quite helpful actually, in automotive plants moving massive pieces of metal into place precisely so another weld-bot can move in and place welds perfectly where they belong. Newbies to the robots world build kits that follow lines, follow instructions, move around avoiding objects, learning about their environment, getting slightly ’smarter’ (however you decide to define that word).

Being the nerd that I am, I get Robot magazine. Its tailored to enthusiasts from beginner to competitor. I mean lets face is, the robotics experts in the military and MIT probably don’t subscribe to this. Anyway, in the Spring 2008 (Issue 10) there is an article under Future Bytes about how the National Science Foundation (NSF) is funding research on robots that will design and build themselves.

Now that’s cool ! The concept being that a robot learn its environment, what resources it has available, and then adapt itself to that environment to better function.

Robots that Think and Build
Led by Daniela Rus (MIT), along with Eric Klavins (University of Washington), Hod Lipson (Cornell University), and Mark Yim (University of Pennsylvania) and titled, “Controlling the Autonomously Reconfiguring Factory” (grant #0735953).

This project offers a radical approach to creating autonomous reconfigurability based on the team’s work with small robots. The Rus team proposes a new kind of robotic system for construction in which available materials and the final structure are not clearly known. The robots sense changes and variables, diagnose them, adapt and, together, successfully build themselves into a structure best suited for its environment. Such a system could be a tool not only for future construction challenges, but also for optimizing current construction practices.

(http://www.nsf.gov/eng/efri/fy07project_summaries.jsp)

Real quick - take that a bit further. You have a robot that can learn about its environment, and that can modify itself to better serve in that environment. What if its a hostile environment? Say its a graffiti washing robot, that through its learned knowledge of the various surfaces and paints used can augment itself and either obtain new chemicals, brushes and other implements to clean the surfaces. Pretty neat and makes sense. I’ll use a stereo-typical scenario that most areas where there is graffiti are high in crime, so the robot eventually comes across guns and violence, and quite possibly that is the only ’society’ is encounters. Eventually, it learns about guns and violence. Quite possibly, it may even get ‘mugged’ or bothered when cleaning the walls.
All this scrubber knows about people is that they’re violent, one person wins a confrontation, all parties involved may do their best to survive and sometimes don’t. They might use weapons to defend and harm the other person, gun, knife, club, pipe, rock, etc.
Maybe that night it decides to build a weapon? Then what happens? Now you have a weapon toting, wall scrubber that reacts to any human contact with violence. nice.

Having a robot enhance itself is still a cool concept, one I can’t wait to see how it turns out.

We’ve purchased some land and are building a new house. What does that mean? It means that my house is for sale.

Here’s the scoop :

2 Story Colonial, Gray siding (pictures below)
Approx 2250 sf
3 bedrooms (plus finished Bonus room - 4th bedroom)
Family Room
Living Room
Formal Dining Room
Kitchen with half-height counter overlooking family room and breakfast nook
Fully windowed breakfast nook
Mud room / washer and dryer / utility sink
2 1/2 baths
2 car garage
Full basement ready to be finished
Large deck with arbor
Appliances included
1.25 Acres / quiet country setting, 1 mile off of Rt 15 Horses behind, corn field across the street
Backyard looks out on South Mountain / Sunsets
3-season creek runs though lower backyard
Asking $279,900

Here’s a Google Map Link if you want to drive / stop by : google map

Contact Information :
Jon / Pam Wheat 717-502-0735
Call if you’d like to see the house

Now as promised - here are some pictures :

Front ViewFront View AngledDeckBack YardBack Yard 2

Actually its the plague of anyone in a support role, but since I’m a programmer I’ll disperse the insanity from my point of view (although much of what I’m telling you any support person will agree with)

As a programmer, I pride myself on the way I attack a web application. With the inception of Web 2.0 and AJAX there’s NO EXCUSE for a web page to not behave the way the client expects. No matter what they do, it should react in such a way to give them immediate satisfaction, that is our goal. If a user double-clicks on something, something should happen. If they enter a word in a box that is expecting a number, they should be told the proper thing to enter. Yes its a lot of work on our end, but just think of all the support calls you’ll avoid if you plan ahead and build it right. To alter a quote from Field of Dreams : If you build it right … they won’t call!!  … or so I thought.
Now, when they do call, I (selfishly) expect as much detail out of them as I give them when they do something stupid with my applications. Here’s a true story that is near and dear to my heart. Picture if you will an order form, say a purchase request form to be exact. People of all types of technical levels use this from from fellow programmers and IT folks to faculty and maintenance people. This was one particular application I laced with help, form validation, interactivity, tool tips, instructions etc.

For example, if they enter “three” in the quantity field, a message box pops up that says “Hey stupid, enter a number”. Well, not exactly, if you read the comments in the code, that’s what it says :P the error really says

“I’m sorry, You seem to have mistyped something on the form. Simply enter the quantity of the product you want using digits. Please don’t enter spaces, or any other special characters in this field.”

How can you mess this up? Not sure. My only hypothesis is that people don’t really read polite messages like this. They’re not used to it. They’re used to senseless messages from Microsoft that say something like :

An error has occurred a 0xdhf8a88aas7d7d7a8sd6as8d76ad8as6dqwetf3s8ad.
Please contact your administrator

And when they call us - we say - “huh? You didn’t actually type out the word three did you? That’s the only way that would pop up.” Then we hang up and quickly IM our co-workers and submit them for ID10T award.

What really happens when they call is what started this post. I attempt to debug the problem over the phone in a polite way, always giving them the benefit of the doubt. What did you type in the quantity box? … “3″ … ok, that shouldn’t be a problem. Can you try it again? … “It does the same thing” … Can you send me a screen shot? … “Sure” .. then I see it, “three” is entered in the quantity box. priceless.
Better yet is an email I received. Keep in mind this is the first contact about this problem, its not a follow-up.
This is a direct cut-n-paste from the email

>>> Xxxx Xxxxxx 6/2/2008 1:43 PM >>>
Hi Jon,
Can you please help Xxxxxxxx Xxxxxxx, ID: Xxxxxxxx, groupwise acct. Xxxxxx@xxxxxx.xxx
His mom called and said that they cannot get into see anything. They click on it but nothing happens. Can you help?
Thanks,
Xxxxx

Questions that come to mind :

  • What are they trying to do
  • Can not get into where?
  • Can not click on what?
  • Are there error messages
  • Does “nothing” really happen when they click
  • What does nothing mean - its different for different people (that’s a whole other blog post)
  • Is it a link they’re clicking on? A form button ? An image?
  • What are they expecting to happen?
  • Why is mommy doing this - you’re in college for cripe sake?
  • What help can I give since I have no idea what the heck you’re talking about? I want to, I really, really do, but come on.  Vanna can I buy a clue?

Before you get all defensive, I’m in-charge of many, many web applications so to be this vague - is no help at all. The best part is that after I emailed back for more information, I personally contact the mom via email and NEVER got a response back. nothing.

…maybe it was her email link?

This seems to be the mantra of most websites nowadays. Granted there are a hundred reasons the site is slow from 35 programs and services using processing power on your machine, to the lack of bandwidth available from the 1000s of students on campus downloading torrents. Whatever the reason, if you’re responsible for a website, you don’t want one of those reasons to be YOU and how you built it.

What am I talking about? There are many different ways to streamline a site and make it faster. The bottom line is the overall size of a page in kb. This includes ALL source files such as external stylesheets, javascript files, flash, wav, mp3, mov, embedded objects like you-tube videos and the easiest to fix - Images and icons.

There is a current discussion on the Luminis Developer’s Network (SHAMELESS PROMOTION) regarding making the Luminis portal software faster. It is a JAVA and XML based system that has some issues with load times (depending on its load) and developers are looking to ways to speed it up. Out of the box it isn’t too bad, but once you start hacking and moding it (to make it useful) it starts to lag. … Hmmm - that leads me to believe that the mods are the cause of the problem :)

Actually, this is kind of the case. The mods are typically one off things produced by various developers, usually without much collaboration. It is up to the admin to meld it in with their portal when they implement, there are reasons for this methodology I won’t go into now.

That all brings me to the point of this post. One of the topics being discussed on the LDN post is that of Image Concatenation. The developer (Matt from Plymouth State) that brought it up is quite knowledgeable on the subject and has a fantastic blog post about it. To explain what this is I’ll snip a piece from his post (and apparently some images as well) to help demonstrate what this is :

The basic idea is this: Change X number of image downloads to 1 image download by making 1 big image that contains the X images.

As an example, lets say we have these icons:

help settings maximize shade grow close

While those are pretty tiny in size, on page load the user must still deal with downloading 6 individual images. Instead, we can simply concatenate those images using whatever image software that suits your fancy. Like so:

icons

What does this get you? It achieves a couple things.

First and foremost - there’s 1 http request that goes to the server instead of 6. During high bandwidth times, this will help overall performance. Figure 1000 people hit the site within a 30 second period - that’s 6000 requests in 30 seconds vs only 1000. In bandwidth terms, what does that mean?

Matt has these stats posted on his blog :

The individual icon sizes are:
574 bytes
571 bytes
583 bytes
569 bytes
572 bytes
574 bytes +
——————-
3443 bytes

The concatenated image (sprite, tiled image, whatever you want to call it :D ) size is: 1802 bytes

Back to the example above.

6000 requests = 20,658,000 kb = 20.6M in 30 seconds
1000 requests = 1,802,000 kb = 1.8M in 30 seconds

That’s a HUGE difference.

I won’t go deep into how to do this, you can read it in his post but here’s a the Reader’s Digest condensed version : you position the icon using CSS.  Think of it as a View-master (remember those from way back?) and you’re moving the concatenated image around so the next image is displayed in the little view finder.  Pretty slick.
Matt has a nice scalable example on his site, so read through it and start to tackle your pages.

Now its my son

Filed Under AI | 1 Comment

In a previous post my daughter blew me away with her use of eLocker to access her school files from home. Last night my son used MyAccess to write an essay online. Big whoop - right? Get this - it analyzed and graded it in an instant. Took about 3 seconds tops and he was looking at a score that broke out scoring elements not only in spelling and grammar (Word can do that) - things like content and delivery, organization, completeness of development. It was like having my 5th grade English teacher right there - red pen in hand. It saves all of his essays and projects and graphs out a cumulative progression over time, showing improvements and areas to work on. Incredible.

Here’s a snip from the site :

With MY Access!®, students are motivated to write more and attain higher scores on statewide writing assessments. By using MY Access! in the classroom, teachers can provide students with the practice they need to improve their writing skills. The program’s powerful scoring engine grades students’ essays instantly and provides targeted feedback, freeing teachers from grading thousands of papers by hand and giving them more time to conduct differentiated instruction and curriculum planning.

I have some friends that are teachers, and while at first you might read the above and say - Wait - don’t they get paid to grade papers? Isn’t that their job? Well yes - I’d be interested to hear from some teachers to see if they like this idea of a computer grading their students. If they put those grades int the grade book or if this is just a learning mechanism. Whether you trust the computer to grade it properly. Computers do mess up, lock up, programs break, upgrades sometimes cause more problems than they fix.

I love the idea of this helping students learn to write better. If I had this growing up, My poor English teacher would have saved so much red ink on me it isn’t funny. I was the KING of run on sentences, and still am. Its the way I talk, its the way I write, get used to it. Unfortunately, she didn’t see it that way at all.

I think this is a great learning tool for students. It saves the teacher the mundane job of the continued hammering of basic writing skills into kids heads. I will say I am uncomfortable with a program like this having an impact on my son’s English grade however. I’m not sure if that grade is headed to the grade book, my son didn’t know if this was just a ‘classwork’ exercise. Plus at his age (10) I’m not sure he really grasps some of the data that is reported on the scoring page. He knows where the final grade is and a couple other elements and can see what he needs to work on - which is still a help in my opinion.

Programs run on logic and rules. There are strict grammar rules that Word follows that underline items in green that are perfectly natural to write, and probably acceptable in a school paper. I’m curious how/if the program conforms to the grade level, how it adapts to changing culture and the rules of writing.

Being a programmer gives me insight on the complexity of programs like this. I have a deep appreciation when I come across things like this - finally some technology that actually helps.