Saturday, December 8, 2007

Gambit

The Gambit feature for Openspace is ready! Inspired by Automator (for Macs), Scheduler (for Windows) and the unix cron, it is a really useful tool to help automate tasks based on a programmable Action -> Reaction rule. E.g. When the clock strikes 10, throw out the garbage, you get what I mean. There are a range of other Actions (something like a listener), such as OnAdminLogon, OnLogOff and etc.

Tuesday, November 6, 2007

Date/Time related Meta-level methods

I had written two new Openspace Meta class methods today. sf_getUnixTimestamp($id,$att,$iatt,$obj) returns the total seconds of a given object value since epoc. The second one (which rides on the prior function) sf_getZendDate($id,$att,$iatt,$obj) returns a ZendDate object. How are these function useful? The first is to do a DB query of a timestamp datatype without having to convert the resulting value into some readable format. ZF docs say this is the fastest means of getting data out of a database, using it to create a Zend_Date object. That is of course, what the second function does. Bottom line, Openspace developers now have a easy way to create Zend_Date objects, and this in turn, makes date and time manipulation so much more easier. Weeehoooooo!

Tuesday, October 30, 2007

Microtime()

Never thought I will ever come across the use of a microsecond but I did today. In churning out temporary files with a unique filename at a rate of about 16 per second, the microsecond comes in really useful, much more convenient and safe than using random numbers to gain uniqueness. The microtime() function is magic.

Monday, October 29, 2007

1U Servers


Check out our new 1U servers running Openspace hosted at an inhumanely cold data-center.

Friday, October 12, 2007

PHP and Oracle

http://www.networksasia.net/article.php?type=article&id_article=2189

This is a good article (see link). What's good:

  • Oracle's Ken Jacobs (VP of Product Strategy) expects PHP to strengthen further
  • PHP makes up 1/3 to 1/4 of web applications on the internet
  • The New OCI8 driver for PHP will up PHP to DB performance

Saturday, October 6, 2007

PHP succeeding where Java isn't

http://www.news.com/Andreessen-PHP-succeeding-where-Java-isnt/2100-1012_3-5903187.html

This article (see Link) "PHP succeeding where Java isn't" is pretty good. Which one dominates does not really matter. Java is my mother tongue, but over the years, I had grown to really like using PHP, mostly for its incredible community, which is less dominant-centric than Java, by the looks of it.

Tuesday, August 14, 2007

DB Metadata: Getting all tables in a tablespace

I was asked by a colleague today:how to show all tables in an Oracle tablespace?:

SELECT UNIQUE(TABLE_NAME) FROM USER_TAB_COLUMNS

There's another way to do it using some form of other metadata available within Oracle. Anyhow, the USER_TAB_COLUMNS table contains a lot of other useful info especially when doing programming at/for the higher metas.

Friday, July 27, 2007

Map of the Web

This is a cool 'map' of the web, based on the rail transport system in Tokyo:




Wednesday, June 27, 2007

OCAMS (Full Class)

Finally!!! Full class creation with class level method creation is fully coded. Besides creating static methods, developers can now code class methods. Persistency is built-in, and recalling a persistant object is automated.

Saturday, April 21, 2007

Enhancement to type sensitivities for ListObject method

Added sensitivities to the ListObject method, the enhanced ListObject can handle Timestamp types better by also echoing the minutes and seconds.

Saturday, March 24, 2007

Restrict on Classes

I'd made the interface to restrict class better. This is part of a larger effort to make managing classes easier. Sajax was used to do up the AJAX function, it seems a little slow with too many variables running on live. Overall, it's a pretty good week.

Saturday, March 3, 2007

Guma

This is something short on medieval fantasy, but what is presented is an idea on security. Specifically, it describes how dual-tasking agents can be used for individualistic authentication and collaboratively as a volumetric defense mechanism. Please feel free to develop this idea, but do drop me a note, an inverse could be applied as some sort of cipher component?

Guma began as a small circular patch of land. This circle is thought of to the ancient Gumaians to be holy. Gumaians are simple people and thought of trade as something that must be done within the realm of God. Hence, they only trade within the holy, circular patch of land. As their civilization grow, the Gumaians started to produce more goods and services. People from foreign lands started to trade with the Gumaians. These foreigners are mainly interested in the Syphora herbs and green stones that can only be cultivated and found around Guma. Nevertheless, Gumaians still maintained their belief of trading only within the circular holy land. They do not travel, and are never merchants. Their life revolves around mining, cultivating and trading them within the circular land.

As their trade grew larger, the circular land became more important. The lack of supply of sought-after Gumaian goods in outside market makes themprecious. The circular land soon was a common target of robbers. Sixteen of the most influential traders in Guma decided to pool their resources to place guard posts around the perimeter of their circular holy land. Sixteen huts carved out of solid stone were built, each spaced equally from one another. Ineach hut, each trader placed his very own guard. Foreign merchants that wish to trade in Guma will have to approach one of the guards to be allowed entry.

Entry is only allowed if the merchant is recognized as a valid trader by the Gumaian guard. Each guard is only in charge of merchants that are associated to his trade house, and this represents the first task of a guard hut.
So it goes, a foreign merchant coming to Guma to trade will have to know which guard hut to approach for entry. Entry will be denied as long as he is not authenticated by the guard hut, and to be on the list of allowed merchants, he needs to establish contact with a Gumaian trader first, either by recommendation or some other means. This initial setup ensures that all merchants that enter Guma are valid ones.

The second task of a guard hut is to participate in collaborative defense of Guma in its entirety. A gang of robbers denied entry will find itself in battle with guards from the 16 Gumaian huts. As time went on, more traders are added to the Gumaian holy circle, and soonafter, the establishment of a guard hut becomes a prerequisite to setup a trading facility in Guma. The number of guard huts grew, partly out of the increased amount of traders in Guma, and partly out of need: as Guma grew, it faces increasing threats from battle-hungry nations wanting to conquer and strong robbers wanting to loot. At the peak of Gumaian civilization, there were 2048 guard huts, forming the Gumaian decentralised-command army.