Quick Notes

November 3, 2007

It looks like I may have chosen the wrong product cycle stage in the example I wrote in the discussion. What is finally coming down to is definetely this one: that the market is already mature and the marketing strategy being employed by my example company is based on price, more specifically getting efficiency up while competing in price–yes, a price war.

What initially I had in mind was a product ramping up growth, in which growth is increasing alongside profits.  Yes, the company I described may have changed plans several times, but the market it is competing in is still the same market, having the same set of competitors.

Marked by declining profits, the company will play the race-to-the-bottom game in order to grab a slice of the pie, which translates to even more saturation. I have not heard any news from management how this will eventually drive the competition to the ground, and when that happens, I am sure the status quo will change into our favor.

Thoughts And Insights

May 2, 2007
  1. Sixteen hexadecimal digits are popping on and off some websites. These numbers are keys used to unlock DVD-HD protection. 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0.  See http://www.downloadsquad.com/2007/05/01/hd-dvd-key-fiasco-is-an-example-of-21st-century-digital-revolt/ for details.
  2. Roslyn Chapel shows up again with an interesting twist. See http://www.youtube.com/watch?v=cy2Dg-ncWoY
  3. First time I saw a Microsoft employee blogging about his desire to recapture a lost past. See http://makingtheswitch.wordpress.com/2007/04/28/when-did-i-become-such-a-tool/
  4. Flash killer unveiled at Mix07. See http://arstechnica.com/news.ars/post/20070501-microsofts-flash-killer-steals-the-show-at-mix07.html
  5. Bad blood between Adobe and Microsoft seems to be really boiling now. http://blogs.business2.com/utilitybelt/2007/04/bad_blood_betwe.html
  6. Found a nice tool binding OpenGL and C-sharp. http://csgl.sourceforge.net/

Guy Kawasaki

September 13, 2006

Tuning to LifeOnline by Bob Parsons, they interviewed Guy Kawasaki asking him several questions. Turns out Guy worked at Apple as an evangelist building up developers and users around the Macintosh. Bob asked questions related to marketing and investment. At the end of the segment, Guy mentioned his weblog at blog.guykawasaki.com

Sad, because…

September 7, 2006

One of my favorite online community forum is closing down. Most of the users have left and only a few remain there watching the cobwebs accumulate. The heyday has long past and it is now a silent place. The users moved on to better forums, though the few users that remain seems to be prepared to go as well.

A total of four or even five years worth of entries have been logged in that forum, though. A small fraction of my life was spent writing those entries. Now, the site is closing down I have nowhere to go. Perhaps this blog will then be my next home. I’m sure there’ll be a place for me on the Net.

Javascript API Array Object

April 26, 2006

Introduction

If you're writing an application using Javascript API, the chances of setting up an Array object would probably be high. Array objects hold elements that can be referenced via JS script. For C programmers, the API provides a way of creating these objects and later on add elements to them.

You will need to be familiar with several function calls and they are listed below:

  1. JS_NewArrayObject – returns a JSObject of array type.
  2. JS_DefineProperty – create a property that will store a array object
  3. JS_NewStringCopyZ – translate C string to JS string.
  4. JS_DefineElement – add array element JSval to array object.

Discussion

argsObj = JS_NewArrayObject(cx, 0, NULL);
    if (!argsObj)
        return 1;
    if (!JS_DefineProperty(cx, globalobj,
                 "arguments",
                 OBJECT_TO_JSVAL(argsObj),
                 NULL, NULL, 0)) {
        return 1;
    }           

length = argc - i;
    for (j = 0; j < length; j++) {
        JSString *str = JS_NewStringCopyZ(cx, argv[i++]);
        if (!str)
            return 1;
        if (!JS_DefineElement(cx, argsObj,
                              j, STRING_TO_JSVAL(str),
                              NULL, NULL, JSPROP_ENUMERATE)) {
            return 1;
        }
    }

A Trip To Da Sing

April 10, 2006

Introduction

Near the Beaverton Transit Center along Lombard road sits a humble and simple store named Da Sing. The name itself tells something about the owner, an immigrant from Asia who managed to set up a store selling fish, crabs, vegetables and processed foods.

Description of store–external

Da Sing occupies approximately fifteen to twenty feet of store frontage, providng parking space for at least four including an extra space at the right end of the building. It has a store window plastered with signs and other similar cultural related signs, dominated by mostly red color. At the left side is the glass door containing little stickers pasted randomly. Pushing the door reminds one of a door when entering small-town shops where it simply takes you in right at the heart of Da Sing.

Description of store–internal

Da Sing's interior is humble. It is surrounded with simplicity for the customer who simply want to wander the eyes around. The rectangular vat of assorted frozen fishes lined-up vertically beside the crustaceans like the crab and shrimp.

Looking to the left of the vat, at eye level you will see the water tank filled with crabs. I was surprized to see their eyes moving in and out of their sockets. Water is pumped into the tank, a waterfall effect is created as the water flows out at the top and into the collection tank below.

Description of customers

Customers of Da Sing are mostly buyers of the fishes. A lot of them are immigrants coming from Asian countries. Communication is largely a matter of speaking simple english words decribing an item. The storeowner surprised me when he mentioned several words foreign to his native tounge showing his experience dealing with a variety of customers.

Picking up a fish, I held before placing it into the plastic bag. Took it to the storeowner standing behind the counter. He took the fish carrying it to the sink, got hold of the scissors and started removing the internal organs. He then handed over the fish back to me along with the bill.

Closing

Da Sing is typical store owned and operated by an immigrant. Most of its customers are immigrants as well. This match creates a feeling of being in a different place outside the sights and sounds of a mall or supermarket. Da Sing is great from those who want to experience what it is like to buy from an immigrant store.

Hodie

February 16, 2006

Is Penalty Necessary?

I’ve been thinking about the algorithm that rolled-out several days ago. In it, any token not matching the key receives a penalty. This is necessary in order to implement security for authorized users. Unauthorized users will be placed in limbo where they will deal an uncertain delay.

Was that necessary? I’m starting to believe it to be a yes. The stats show attacks slowed matching the low number per hour.

Landscape Photos

At Outstanding Landscape Photos, they have lots of impressive landscape shots. I’ve downloaded several, putting them on the desktop background.

Getting Jabberd Up

December 29, 2005

Finally got jabberd up and running after a recomp/rebuild using –enable-debug. That helped a lot in figuring out what was going on. Also got rc.d and init.d scripts copied over . Several lines of jabberd init script code were modified to suit Ubuntu. Turns out the code used killproc() which was not used in Ubuntu, start-stop-daemon() was used instead to set the Start(), Stop() and Restart() going.

First test, took Gaim out and added admin@localhost/GAIM to the list. Registration went fine, no hiccups.

Another set of test codes will be written to tap into other ~c~0~o~l~ features of Jabber.

Ubuntu: Enabling FTP

December 28, 2005

A freshly minted Ubuntu box does not have FTP enabled. To enable FTP, the following steps are taken:

  1. Open Synaptic Package Manager.
  2. Click search and enter vsftp at the search box.
  3. Right click on vsftp and select Mark for Installation.
  4. Click Mark button.
  5. Click Apply button to update.
  6. Edit /etc/vsftp.conf to suit taste.

Hello world!

December 28, 2005

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Follow

Get every new post delivered to your Inbox.