Google Notebook has been rocking my world

As I’ve been scouring the internet for data I often find that I’m searching for the same things over and over. Google Notebook let’s me keep track of anything that I think is useful. Just install the browser plug-in and information storage is just a select and right click away.

I started using Google Notebook a couple years ago,  but then gave it up. Now that I spend more time seeking information throughout the web-o-sphere it is just about a must have. I might even start coordinating my shopping list on it again!

Here’s my published programming notebook, if your interests are in Ruby or Rails then there is probably something of use to you in there.

The Future of the Internet – Top 5 List (Part I)

1. Peer to Peer Global Wiki-eque Nature

Users will be able to modify content from all websites. Portions of sites such as ads and low quality content will be filtered and disappear from view. If you see something you don’t like rate it low and if enough other users do the same then your browser or browser plugin will automatically filter it out. It does not matter that the sites themselves might not add these capabilities, they will be maintained in external data distributed among your peers.

It works in the positive vector too. You will be able to view comments attached to sites by your friends. Cool or useful content can be highlighted and shared easily. Relevant links can be added on the fly based on what other users who liked the page you are on also like.
The maintainers of current sites don’t need to ‘upgrade’ to achieve this functionality. It will grow organically whether sites care to embrace it or not.

2. Amazing Collaborative Projects

Open source projects are achieving new levels of interactivity. Look at the success of Wikipedia. Users from around the world are able to contribute to all kinds of amazing projects. The newest internet users are starting to take this for granted, for the next generation it will be a given.

Software is getting as big a boost as anything. Look at github for massive social collaboration. New software is able to reach an increasing number of people; projects can be improved, forked, and maintained long after the original developer has moved on. The greatest ideas will be iterated and improved rapidly and spread throughout. The success of Ruby and Rubygems is a testament to this.

"I take care of the place while The Master is away" said torgo.rb

I just released the pre-alpha version torgo on RubyForge. It currently probably only works on linux, I need to figure out how to create the bin file appropriately. Also it currently only works with wine running uTorrent, or straight uTorrent on Windows.

So what’s it do?

I’m glad I asked… usage:

>torgo Manos the Hands of Fate

This searches a popular torrent indexing site with your query (soon to be many), downloads the first torrent file (soon to be best), and starts the uTorrent application (soon to be your choice).

It generally finds the correct one even though it is so simple. Eventually it will be strong, and it’s real strength will come when combined with other apps for download monitoring and playback. These apps might sit on a media center PC behind your TV and be remote controlled (literally!).

Give it a whirl if you have the patience and send me patches so that I can get it working on other systems.

Git repo here.

Some Tips and Tricks with Tweenlite

Well partaking of some forays into AS3 I came across this sweet utility: TweenLite. I highly recommend checking it out.

Here are some cool tricks that I wish I had known earlier.

1. Tweening scrollRect

        const scroller:DisplayObject; // This is the object that we want to display a portion of via scrollRect
	const scrollRect:Rectangle; // This is the scroll rect we tween the properties of
        private function centerScroll(player:Player) {
            TweenLite.to(scrollRect, 1.2, {x:player.x, y:player.y, onUpdate:updateScroll});
        }
	private function updateScroll():void {
		scroller.scrollRect = scrollRect;
	}

It is seriously that easy. The trick is knowing to use the onUpdate parameter to get around being unable to tween scrollRect directly.

2. Random Assemblage

Say you have a logo built out of dozens of tiny stars. You want this logo to assemble from a random starting configuration, but who has the time to micro-manage a bunch of little instances? Well, now, no one needs to. Behold:

for(var i:int = 0; i < numChildren; i++) {
	star = getChildAt(i);

	TweenLite.from(star, duration, {x:String(Math.random()*800 - 400), y:String(Math.random()*800 - 400)});
}

Just place this little snippet in the actions of your MovieClip. The secret here is using the iteration over all the child elements so we don’t have to name them. Also, we can use random numbers so we don’t have to bother laying them out, they just end up in the correct layout from wherever they happen to start.

I’m sure there are many more ways to utilize TweenLite to simply accomplish many amazing things, and I’d like to hear about them!

Web-ad((minn)|(amantiumm))-ing

I’ve been on hiatus from programming recently and instead have been focusing on getting the STRd6 site up and running. It is now to the point where content can start growing up out of it like a fertile ground. Soon it may even have a forum. I decided to use Joomla to power the site, it provides many things I need and takes much of the trouble out of getting a site that is easy to maintain, cross-browser compatible, and easy on the eyes. I’m going with Joomla 1.5 RC3 right now, which should save the trouble of upgrading later. One disadvantage is that there are limited extensions at present, but that should change over the next couple of months.

In other news, my computer has been on the fritz for ages, it freezes occasionally, but only occasionally. After an elaborate and boring diagnosis I tried doing random things. I uninstalled my Programmer Dvorak keyboard layout and switched to the ANSI Dvorak; that didn’t fix it. I updated the drivers to just about everything. Then I tried updating the BIOS and that’s when it got mad. Reset… power on … blank screen … “Beeeeeeeeeep. Beep. Beeeeeeeeep. … Beeep. … Beeeeeeeeeeep. Beeeeeeeeeeeeeep. … Beep.” I couldn’t find that exact sequence in the “Award BIOS Beep Code” section of my motherboard user’s manual, but the message was clear. “Ooohhhhh Shhhhhhiitt. … Beep” was what my motherboard was telling me.

After confirmed, please follow steps below to relief.
1. Clear the CMOS data.
(See "Close CMOS Header: JCMOS1" section)
2. Wait for seconds.
3. Power on the system again.

Oh, I cleared the CMOS data (after seeing “Close CMOS Header: JCMOS1” section). Oh, I waited for seconds. Oh, I powered on the system again. It made it. How many times have you been ballz deep in your PC toggling a CMOS jumper? I might try another BIOS update now that I have learned the knowledge to fix it when I mess it up. For now I’ll just live with the freezing… for now… !!!