Name: Anthon Pang
Member since: 2002-11-28 18:27:54
Last Login: 2010-09-08 02:29:57
Homepage: http://www.robocoder.ca/
Notes:
[ Recent Entries | Post | Send Message ]
An expert in C, and a proficient/competent programmer in many other languages (including, C++, Java, VB, Perl, PHP, Javascript), my involvement with open-source dates back to my Amiga days. I have contributed to a number of projects, participating in a variety of roles, including advocate, patch submitter, developer, and maintainer. My (eclectic) computing interests include data communications and networking, compiler construction, configuration management, user interface/interaction design, software maintenance, and software quality improvement.
After many years at a leading provider of mobile workforce management solutions, supplying companies in the energy, telecommunications, broadband, public safety, transportation, and field service industries, I am now the principal software developer / software consultant at VIP Software Technologies Inc. I have held a number of IT positions, including Programmer/Analyst, Engineering Team Lead, and Technical Manager, in addition to earlier stints in accounting, sales support, shipping and receiving, and inventory management. My expanding domain knowledge also includes equities and forex trading, and real estate. In fact, I'm a registered real estate sales broker in Ontario.
Location: Greater Toronto Area (GTA), Ontario, Canada (after many years in Greater Vancouver, BC)
Affiliations:
[ ACM ][ IEEE Computer Society ][ Toronto Real Estate Board ]
-----BEGIN GEEK CODE BLOCK-----
GAT d-(++) s: a C@ ULAHS P++ L++ E--- W++ N+ w(++) PS(+) PE@ Y+ t 5 X R- tv+ b+>++ DI+ D G e+>+++ h---- r+++ y+++
------END GEEK CODE BLOCK------
Web-Ring:
[ Robocoder (Web Design) ][ Domain names and Web Hosting ][ Software Development (Vancouver | Toronto | Canada) ][ Wiki: Anthon Pang ][ Anthon & Elizabeth ]
Piwik 0.5.5 was released a couple of weeks ago. One critical bug fix, some index improvements, and an IP anonymizer were the big highlights.
While Matt leads the big feature development in 0.6, I've been contributing small patches and improving our Trac reports. (This was a good opportunity to brush up on SQL JOINS.) Generating the graphs for the project's metrics will hopefully be easy to automate. (I hope to revisit the BMI and Fix Responsiveness graphs at a later date.)
Ok...back to work...
Working on a new plugin for Piwik (and ActiveAnalytics) to provide in-app download/install of plugins. I've prototyped the client and mocked up the digital download store (not pretty). Building our own hosted extension repository (ala Wordpress & Typo3) -- for third-party developers -- may be next on the horizon... (being discussed).
There's no mb_substr_replace() function, so you can't pass a value from mb_strpos() -- ie overloaded strpos() -- and expect it to work. Also, if you use substr() on binary data -- precisely because it's binary safe -- then you really don't want/expect to use mb_substr(). And there's no way to disable this at runtime via ini_set().
I just borrowed a snippet from ZendFramework and applied it to Smarty' s outputfilter.trimwhitespace.
Detecting this and coming up with workarounds is fugly.
So, I just coded/tested/benchmarked a new IP-to-country plugin for Active Analytics -- it'll be an optional, third-party plugin for Piwik. It can search the database in either a flat file or shared memory. (The difference is in the 10ths of a millisecond per query on my antiquated test box.)
In hindsight, I wasted a lot of time over-3ngin33ring the solution. I thought it would be safer to sign and check the integrity of the shared memory segment for users in a shared web hosting environment. I later realized this was a non-problem because shared web hosting doesn't offer access to shared memory (due to security and resource concerns). This came as a relief because signing and verifying killed the performance benefit of using shared memory.
Others have certified robocoder as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!