The Next Series: Part 2 – Where Is My File?

, , , Comments Off

In the future, there will be No More Files (and most likely No Folders either).

Have I completely lost it, you probably wonder just about now?

winfs_beta_1All modern Operating Systems, from latest Linux to upcoming Windows 7 or Mac OS Snow Leopard, still share this fundamental flaw. I think designers and engineers have long known that Computer Industry has a major trouble with how it gets our generation brought up and used on the concept of “Files”. Bill Gates was very bold to try and change this notion with a Database based file system, but it was too soon and the biggest issue of backwards compatibility couldn’t be properly solved at the time.

But What am I talking about, seriously!?!

“File” is a primitive concept that brings nothing but challenges as we start to realize that we live in the Ocean of people, places and devices. While many Corporations out there still struggle to figure out how to connect the TV with Internet, think about the future where all devices are ubiquitously connected to one big Net. Does it really seem natural for you to have to “transfer” your latest version of that document from your Central Home System, to iPhone 5.5 GSQ, to Office Presentation Board and back to home system, as you move about your busy day?

Simple limited “Files” as we know them today will have to evolve into interconnected and Live pieces of Content. From the simplest thing (think Corporate Slogan on that Sales Pitch email you sent out) to complex living documents (like Service Level Agreement between major service provider and large Corporation(s)), everything should be “alive”.

Of course it’s hard! We still can’t figure out something as simple as Photo or Video format that everyone can agree and standardize on. How can you expect that corporate board room to show your awesome presentation automatically when you stroll into that meeting, if there are hundreds of video codec standards?!

Ok, short summary – think Tags (same concept as XML and what used to be Categories on this blog), think timelines and collaborative work of many people. But the biggest thing I am waiting for? It’s for that “Ah Ha” moment when developers realize that their software should not come as “Files” or “Packages”, or even be Developed as “Files” or “Packages”.

Ok, now you can officially confirm that I lost my marbles :)

Related Post: Part 1 of the series.

Your Data Is Safe…… Not!!!

, Comments Off

Poor attempt at a Not joke? I had a rough day, but I want to promptly document it for everyone’s benefit. Our story begins during late night hours, somewhere deep in the tough Ulduar area in World of Warcraft Instance.

My computer suddenly hung, though mouse was still moving, which is highly unusual! After simple troubleshooting failed to recover it, I proceeded to a full power-cycle. World of Warcraft promptly crashed again, much quicker this time, with CRC error. Concerned, I scheduled a full HD check-disk and surface scan, and left it overnight.

In the morning, I found situation to be same or worse. Software was crashing left and right, seemingly randomly. World of Warcraft’s handy Repair utility, told me my installation was “Too Corrupt to Repair”. I tried many different things, at first focusing on Hard-drive integrity, and kept finding pretty much all data written to disk, coming back with CRC errors.

Computing TodayLong story short, I recalled a handy memtest utility right on the boot menu of Ubuntu. I ran it, and voila, my screen quickly filled with Lots of RED errors, thousands, in fact. I proceeded to remove all memory modules (I had four DDR2), and put them one by one to the test, and as Murphy would have it, the last module was the faulty one. All others passed long battery of tests with flying colors. I reinstalled the three good memory modules, and computer is back to normal, as if nothing was wrong!

Moral of the story? I see several here – For example, why didn’t self-respecting Vista OS (ahem, funny!) include some sanity checks, to alert me to memory failures, instead of crashing with blue screens and failing “Host Processes”? (Yea, I know there is ECC memory, but I am not sure it would have helped in this strange scenario).

But even more so, what about Cloud? I had Mesh and Live Sync going! Something may have Synched into the cloud, with corruption on it! Any Cloud Backup, and pretty much everything else, would cause a disaster! Amazon’s entire S3 cluster went down not too long ago, due to corruption in status data being passed around the cloud.

I’ve been long excited about ZFS technology, and while I am sure it would have alerted me to problems sooner, I am not certain it could have prevented real data corruption in this case. With faulty memory module, everything written from memory to disk, will most likely become “corrupt for life”. Even an attempt to rescue such data will likely not end well, unless hard-drive is moved to another computer for rescue.

It seems that as computer scientists we are missing this very fundamental issue. We can’t trust our latest operating system to alert us if our underlying hardware is misbehaving?! And that our files are becoming corrupt every time we touch them?!

Back to the drawing board!

Recursive Algorithms and other sins

, , , 2 Comments »

java_recursion My sister is just starting studies for Computer Sciences, and unlike what I remember from my days, in the first Intro course, they are trying to fill her head with nasty recursive algorithms.

What gives? First, I want to hear from the community, who else thinks that studying recursive algorithms is a good introduction to Computer Science, for someone who doesn’t know what is a Parser, Whitespace or Compiler. They used Java as a language for intro course, which I think actually was a good idea, but venturing into recursion, why?!

Seriously, how often in your daily developer career and activities would you use it? Even if it is needed, who among us wants to risk blowing up the stack, when so many other more optimal solutions are usually available?

In general, I think Computer Sciences have lost their way lately. The Science of it, at least. It really needs to refocus on solving real problems. What are real problems, you ask? How about starting off with creating next generation of web-like networking platform? Or new wave of development tools and languages? Object Oriented was invented too many years ago, and the Intentional Programming hasn’t really taken off, nor have other ideas. Surely there are better ways! Who’s trying? There are some novel ideas in XML use as development platform in many areas, especially XAML in Vista‘s WPF layer.

Lets see what they study next, if in the intro course they mastered Recursion, I have high expectations now! Meanwhile, post in comments what you think the next great frontier in CS research should be, lets get some collective wisdom going here!

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in
Close
E-mail It