Friday, July 28, 2006

NewI\O Hosting Site

Google just set up a hosting site for open source projects. I created one for NewI\O just to check it out. You can access it here:

http://code.google.com/p/newio/

Open Source Fest


Here is a shot of me giving my lecture at the impressive facility at the Advanced Technology Center of the San Antonio Community College. What you can not see, is that only 7 people showed up! So that was quite a big disappointment.

However, it was not a total loss. Two of the seven who attended were college computer science professors and one was their star protege. They brought up the possibility of pointing exceptional students to assist with this real live project rather than some make work student project. This I thought was a great idea, and I encouraged them as much as possible to do this. The students are probably already better computer programmers than I (remember, I was a history major), and further, as they progress in their studies, they will only get better. So this is an excellent opportunity if it works. I will need to follow up on it.

My good friend Darron, who was my college roommate, came along on the trip with me which made it alot of fun. He was very helpful to me, and he came up with the idea to put out the (many) handouts we did not use to see if anyone wanted to take them to others. The college profs took a big stack to hand to students. Darron also provided some important feedback to my presentation which should improve my performance next time.

Lastly, we both had an excellent dinner at Outback Steakhouse.


Open Source Fest Remarks

The following are the remarks I made in San Antonio for the Open Source Fest.

Introduction



Wow. Nice crowd here tonight. So far I have only presented NewI\O to smaller user groups.

I suppose I should start out by telling you who I am and why I am up here. I am Chris Nystrom. I work as a System Admin for Oracle Corporation. I am really happy to be with you here tonight to brief you on my personal project, which is NewI\O. I recently spoke to the San Antonio Linux User Group, so I wanted to add something new to the presentation, so I decided to tell 2 stories. The first is "How Richard Stallman Got Me Started".


Story 1: How Richard Stallman Got Me Started



About 1990 or so I was a big DOS PC guy. My computer at that time was a Tandy 1000, which at the time was hailed as the computer that should have been the IBM PCjr. I still remember the excitement when Windows 3.0 came out. What a breakthrough!

But as cool as things were, we kept hearing rumors of something bigger, and cooler, and that was the Internet, and the main computer for the Internet was a Unix workstation. At that time, a PC was a toy computer compared to a workstation, but nowadays the line is blurred and is really quite gone.

Anyway, by then I had already given up BASIC programming for C programming. However, I did not have access to the Internet or access to a Unix workstation, but I was interested. So one day, I picked up a copy of one of the Unix magazines like Unix Review or something, and on the cover was Richard Stallman, and of course, the article was all about free software, and the Free Software Foundation (FSF), in particular.

At that time, I had a friend named Hanan who was in junior high school, and he decided one day to call up Richard and ask if the FSF had any opportunities for young people, and RMS said, "Sure, come on up." Since my friend was too young to drive, naturally, I offered to take him.

So we show up off the street and walk into the FSF offices. Noah Friedman, who was the sysadmin at the time, set us up with accounts, and they parked us in front of internet connected Unix workstations, and they basically ignored us after that. We did our best to stay out of the way. But that day, and the follow on days, we learned a lot about Unix, and about the Internet.

Looking back, I am still amazed that they gave us guys off the street full access to the computers and network. But you have to understand, back then free software was part of a larger vision of open access to computers. The vision was to give everyone free access to computers, and the complaint was that you could not give free access to computers, because the software was proprietary. You had to protect it, so the solution was to create free software.

That vision changed shortly after we got there. They had one or more users log into the FSF computer and delete important files, and so RMS had to get a secret password. This was quite traumatic to RMS, and one day he was in tears about it, saying that his life's work was ruined, etc. My friend and I were in the office at the time, as they were all discussing it. As usual, we were trying to stay invisible, but we were shooting messages back and forth, saying, "Can you believe this? Do you think he will really leave the FSF?", etc. I remember it was such a big event that it made the NY Times. But apparently RMS got over it, as he is still with the FSF today.

And through the generosity of RMS and the FSF this History major was able to use the skills that I gained to make a good living and provide for my family. For that I will always be grateful.


Story 2: Oracle and NewI\O


There are many stories of how techs have had ideas that they wanted to freely give to their employers, but their employers were not interested, the most famous of which perhaps is the story about how Steve Jobs and Steve Wozniak offered their Apple computer to both HP and Atari and were turned down. I have my own story along this line with NewI\O, and I tell it not because I have any bitterness towards my employer, but rather because I find it amusing and interesting, and I hope you do, too.



In the mid 90s I was big fan of the internet and I was a programmer, so naturally I wanted to write internet programs. At that time, the one true answer for internet programs was Java, so I took Sun's java programming classes, and then started coding. I was working on a game called JavaTrek! But no matter what I did, I could never get the screen to paint when I wanted it to. So I got frustrated and gave up. A couple years later, I tried my same code on a newer version of Java and it worked fine, so it must have been an early Java bug. But anyway, in the meantime, I gradually became aware of other things about the Java system that I did not like, which I will share in a minute.

Over the years, other methods of creating internet applications arose, but nothing really inspired me, and instead, I started imagining in my mind the way it ought to be, the system that I would really like to use.

If you recall the Internet prior to the WWW, or even computers prior to the Internet, there was (and still is) a standard I\O. This was a text based interface. You could dial into or telnet into remote computers and since everything was text based, you could use programs on that computer with no problem, even if your computer was a totally different make and model. Everything was standard. What I envisioned was to split the program logic from the display, and connect them via a network layer and create a New Standard I\O (which I call NewI\O) that took advantage of more modern concepts such as pointing devices, graphics and sound, and networking, but still standardized for all platforms. This is similar to how X works.

Then about late 2001, during the tech bust I lost my job, which is a scary thing if you have a wife and kids, but about 4 months later I was able to land a job with Oracle. So I wanted to learn more about my new company so I read one of the many books about the Leader of Oracle Larry Ellison, and I learned that he is tired of being #2. Larry badly wants to be #1. And it occurred to me that I knew how he could do it. The answer was simple: paradigm shift. (This reminds me of that Star Trek episode where the the Enterprise is crashing down to the planet surface, and the problem is explained to Q, and Q said the answer is simple: change the gravity constant!). Simple! Change the Paradigm! If you are the company ahead of the change, expecting the change, driving the change, then you can easily be #1.

Further, there was no need to come up with something. The paradigm had already changed and that was the internet, but in my mind, no one had (or has) really taken advantage of the change yet. Oracle was sort of right when it tried to advocate the network computer, but it got burned because that was the wrong system to take advantage of the change. The right system, in my opinion, was what I had been dreaming about for a number of years, and that was my own NewI\O.

So at Oracle, in the employee handbook, under a section entitled "Open Door Policy" it states that if any employees had any ideas for senior (and it specifically states senior) managers, that they should send it on in. Secondly at Oracle, there is an employees data base that is hierarchical you can look up yourself, and it also lists your manager, and you can keep clicking up the chain, and I learned there was about 7 people between Larry and I. So I created a nice presentation (which is still available on the NewI\O website). I called it Project Dreadnought, named after the battleship that was such a paradigm shift, that all battleships were classified as dreadnoughts, or not dreadnoughts. And I sent it to everyone in my management chain up to Larry. What do you think happened?

Well what happened is I learned something. I learned that Employee handbooks are for employees, but not for managers. I never did hear from Larry, but I heard from my manager right away. So anyway, for suggesting a method we might become #1 I got a letter of reprimand. They said it was not necessarily for having an idea, it was for sending it to all of the managers at the same time. They said I should have gone to one manager at a time up the chain of command.

So I said, Great! I will do that then! Sign me up for the first manager! Then they said, sorry we know that that is what the letter we just handed you says to do, but you can not do that either. We are just not interested.

I was afraid of that. The problem is that I am on the system admin side of Oracle. There are no developers anywhere around where I work. I was hoping to lob it over the fence to where someone might be interested, but apparently that did not work.

So anyway, now days I just keep my mouth shut and do my job. But on my own time, I keep working on my project: NewI\O.


Inspirational Transition to Tech Discussion


This is why I am here tonight for Open Source Fest. There is one common denominator for all open source projects. Do you know what it is? Have they told you yet? All open source projects are recruiting. Did Linus create Linux? No he inspired and coordinated a community to help him build it. That is why Open Source is so great. We can all help and contribute to create something great that we can all then freely use. We can all participate in this process, whether you are a coder than can help build, or a user that can help test, or a writer that can help document. You, too, can help build the future.

So what I will be showing you tonight, is not a finished product. It is the kernel of an idea. When Linux was first announced it did not have a filesystem, it did not have X, it did not have networking, but people on the minix mailing list could picture in their minds how great it would be when these things were all added, and since it was open source, they could be added by anyone. In the same way, I need you to extrapolate on the possibilities of my approach with NewI\O. I hope to show you enough tonight to inspire you to participate. In short I am here tonight to recruit you to join the NewI\O community.

I can not pay you anything, but someday when you can list on your resume that you were a core developer for NewI\O you are going to get a very good job!

I will have a discussion on the reasons and vision for the project, as well as a technical discussion of how it works currently, and lastly I will demo the system.


Monday, July 17, 2006

'LIVE" Era is Coming


Despite platform problems, internet based applications are on their way, even from Microsoft, ready or not.

Thursday, July 13, 2006

Flash 2

I read this article and I just get confused. When would you use Flex / Flash, and when would you use Ajax, or Java?

Open Source Fest

I will be speaking on NewI\O at the Open Source Fest in San Antonio tonight. If you are in the area, please stop by and check it out.

Back Button Problems

Here is an example of part of the problem with web based applications and programming them. I do not want to have to deal with this.

The Web is a page-by-page medium. The backward and forward buttons on your browser's toolbar direct the browser from page to page. When Macromedia's Flash became all of the rage, developers and users started to see how Rich Internet Applications (RIAs) break this metaphor. You might click around a few sites, land on a Flash-based Web site, then click around in it for a few minutes. One click of the Back button and the ride is over. Rather than going one step backward within the Flash site, you completely lose your place.