Monday, August 11, 2008

Falling in Love with Programming

The other day I was reading Dreaming in Code, it's a book that talks about software development and why we still have bugs after more than half a decade since the invention of computers, when I found a saying by Jaron Lanier that I've been thinking about since I learned about OOP, here's what he said "We start off writing little programs--'Hello World,' or whatever it might be. Everyone has a wonderful experience. They start to love computers. They've done some little thing that's just marvelous. How do you get over that first love? It sets the course for the rest of your career. And yet, as you scale up, everything just degenerates."

It's true, I started programming when I was 8! I started with BASIC, just writing sentences that are executed one after the other from top to bottom. Then I was introduced to VB, I never knew about classes or anything then, I just dragged controls to the form, I set their properties, put code in events and voila! I have a working GUI application, which is probably why people recommend against it for beginners.

Then I moved to C, there were some features that I wasn't aware of (recursion, pointers, etc) but that wasn't hard to get used to.

Then came C++, I borrowed a book from the library and started reading it, I thought the only difference was just in the sentences and the libraries used (iostream, cout, cin, etc) but then I reached chapter 7, it started talking about OOP, it was complicated and I started thinking "Why on earth would I want to learn this?", so I just read it because I didn't want to skip anything, what made it worse is that chapter 9 (chapter 8 is about OOP too) was about programming for windows which is the main reason why I borrowed the book.

It wasn't until recently when I started using Flex and started planning for Deviyo that I realized that OOP is important.

All this time I've been in love with programming, I used to think it's the coolest thing on earth, I'm taking a course in IT, I'm convinced it's what I'll be doing for a living.

The result is? I fell in love with programming, it rejected me and I can't seam to get over it, but I'll keep fighting for it.

Sunday, August 10, 2008

Ideas are killing me!

I have so many ideas and so many potential projects and they're all simple but "revolutionary" if they work and I don't know which ones to try to do and which ones will be a waste of time.

Here are some of the ideas I have:
1. 3D TV: You've seen one of those 3D TVs that don't need glasses, right? I have an idea to create one,it's simple but... It's too simple to be true.
2. Holographic displays: Yup! The idea I have, scientifically, should work, but I can't find any references to it online. And again, if it can be done then it's just amazing that no one has thought of it before.
3. Deviyo: *rolls eyes* Yes, it is revolutionary if it works like I hope it does.
4. Graphical programming: Uh... I can't explain this more because someone might just do it, but lets just say it'll make bugs much less.

AND MORE! GOD! I DON'T KNOW WHAT TO DO WITH ALL OF THESE IDEAS!

Friday, August 1, 2008

Now what?

OK, so I'm back from my "vacation", it was nice, I had lots of fun but I'm starting to wonder what I'm gonna do now.

Should I work on Deviyo? Should I read the book I downloaded about design patterns in Actionscript 3? What about the game of the generals? I don't know.

The most probable thing is that I will try to finish reading the book ASAP and then I'll resume working on Deviyo, meanwhile, I'll be working on GoG especially that I received an email from a guy asking about it :)

That's all for now.

Tuesday, July 8, 2008

I'm on "vacation"

Sorry for not posting for over 2 months now (as if anybody's following up), I've been busy with my assignments, exams, etc...

3 days ago my parents and I came to Malaysia on a vacation (not really, my dad is doing his PhD here and he took us with him.

Just when I thought I'll stay away from programming and computers for a month, I was asked to create a system for a local company, and I can't complain; this is the best vacation I've ever had, I'm not "hired" so I'm not obliged to do anything but I did say I will create it for them and I will.

Why am I doing this? Well, first of all, I can't help it, second, it's a good thing to add on my CV, and last but not the least, I can submit this as my final project in college.

Monday, April 21, 2008

Comics

Here are some episodes of comics I like:








And more :D

Friday, March 28, 2008

Deviyo

First of all, Junia is now known as Deviyo.

I've been working on Deviyo for the past few days and I have to say that more and more ideas are popping, it's not just a website anymore, it's not just an RIA (Rich Internet Application) anymore, it's much more than that.

Here are some of the things it'll have:

1. An on-line desktop with amazing effects (window rotation, tiling, etc).
2. Fully tag-powered (no hierarchies anywhere).
3. Integrated applications.

And much much more!

Honestly, I didn't expect it to be this big at first but...

Saturday, March 8, 2008

Tag FS

I really don't know where to start this post, but let's start with imagining the following scenario/situation/fact:

You have different files on your disk ranging from music to videos to documents to pictures to applications to system files, all these files are arranged in a hirarchial way, for example, you have your My Music folder under My Documents wich is under your name and so on... Under My Music you probably have different folders for different artists inside which you have folders for each album which in turn have your music files, what if you wanted to see all your rock song files in one page? (forget about media players for now).

You also have documents ranging from tutorials you downloaded from the net to your work, and just for the sake of explanation, let's assume that your source code files are documents too (which they are), now, what if you wated to organize your files, you've been working on a prjrct for your school where would you put your source files? Will you put them in the folder in which you keep your school work and assignments or in the flder in which you keep your projects? What about the tutorials you used to learn more about some library you used to create your prject? Where will that go?

You see, it is really hard to organize files in a hirarchy and find them easily, if you want to access one of your songs, say Rise Inside by Killswitch egaged you're gonna have to navigate through C:/Documents and Settings/<your username>/My Documents/My Music/Killswitch Engaged/Alive or Just Breathing/Rise Inside.mp3, I know, I know, you can have shortcuts in windows and links in *nix sytems but that's not an answer, smply because if you click on the My Documents shortcut on the desktop you don't actually open a My Documents that's in your dekstop, it's the same one, think of command line users, they can't even use these shortcuts, links in *nix systems are a bit better but they still can't solve the problem, you can link files but you can't link directories, well, you can create symblic links for directories but what if you dcided to delete the original one? The link is useless now!

Now, lwt's imagine the same situations with a tag file system.
For the first scenario you can simply add tags your music files with generes, years, artist names, etc... So if you want all the rock songs that were released in 1965 all you have to do is to open /rock/1965/ and you should find all the artists, albums, etc... If you want to view all the files that have these tags you can use /rock/1965/*/ where the astirisk means all the tags that are here...

For the second scenario you simply have to tag the files with college, prject and you're good to go, if you want to view your college files it will show there and if you want to view your projects fils it'll show there too, it's the same file, in the same place only accessed using different tags.

For the third scenario, tags do the trick and more, if you want to access your my documents you just have to open /My Documents/ and you have youe My Documents folder open, it's the same one that you can access from somewhere else.

What can I do? Well, I've been wondering about tha myself, don't know if I should merge it with Junia, make an FS for *nix systems based on libfuse (note that there is one already and it's called tagsistant), or just stick to theory.

Vista was supposed to ship with WinFS which was supposed to do something similar to this, but it didn't ship with it.

Tags have been getting more popular these days, take chandler for example, it was supposed to be a revolutionary PIM that gets rid of hirarchies but, it's been years sonce it started and they haven't reached version 1.0 yet.

On the other hand, you can see may websites using tags to arrange their content, from bookmarks to emails.

Laith Juwaidah
http://www.ljuwaidah.org/