Older blog entries for nymia (starting at number 1894)

Cursors Can Be Deadly

When planning on writing SQL code, especially stored procedure code, you really need to think twice about employing the use of cursors. Here’s why:

  1. A single cursor will do just fine, provided you don’t mix it up with joined tables/views.
  2. A nested cursor will surely bring your server down to its knees. Mix it up with temptables and it will even slow down to a crawl.

At first, when you get it coded and tested, make sure that code runs against 10 gigabyte logfile. You will surely reward yourself for doing this test first before the code goes to prod, though.

In my case, the DB broke the 1Gigabyte barrier very early, by about 2 to 3 weeks after rollout. At that rate, we’ll be maintaining a huge DB soon, perhaps it will morph into a VLDB within 2 years.

Google Docs

I’ve never heard or read about Google Docs, what it does or what advantage it has over the competition, until I got into this odd situation.

I was firing-through the given assignments and noticed something not right with the way I was using technology in setting-up a repo for my assignments. it turns out Google has these nifty small tools for creating and publishing docs online. So I fired-up the browser and started using the following:

  • Presentation - Most of the lecture notes were converted into this format. I was able to convert all my notes in one sitting. it’s all online now, presentation format. Man, I’m telling you, this is cool.
  • Spreadsheet - This tool is a time saver, I simply entered all the numbers. Did all the standard steps in setting up the financial statements like Income Statement, Statement of Owner’s Equity and the Balance Sheet. Google Spreadsheet handled it very nicely. The cool thing about it is–its now available online.

Syndicated 2007-10-04 05:38:22 from Freedom Culture

Crunch Time


We passed the crunch and somehow glad to know I’m still in one piece. The experience we went through was highly intense, enough to sink the entire ship. But, at the end of the day, we finally broke through the thick fog to finish and deliver the code–ON TIME! 

I really would like to write the details, the intense emotions of my teammates. That experience probably showed a lot of how we worked as a team. But I’m not really good at describing intense emotional moments, the thought of not getting it right in time for QA and demo.

One quality or trait required to pull this through is this thing called optimism, you have to have a lot of it, no matter how grave or impossible the situation is, you have to believe you will make it.

Man, I wish that was the last we will ever do.

I wish there is a way of not going through crunch time.

Maybe it’s part of the culture?

Wait until crunch time, then work like hell to finish the job.

What do I know, this practice has been going on since forever.  All I know is the code gets completed and delivered during crunch time.

Syndicated 2007-09-07 07:02:55 from Freedom Culture

18 Aug 2007 (updated 18 Aug 2007 at 19:10 UTC) »

Alpha Test: Server-Side Code

I got the design narrowed down to its basic form, with only the needed feature coded for this test. I chose to write the first one to sit on an el- cheapo GoDaddy Windows Server. Then someone mentioned I shouldn’t do it because it will flood the box with hundreds of requests (i.e. webservice calls). So I changed my mind and built a test Windows Server just for that. The effort alone took several days to complete. And now I got the server side code sitting nice and pretty.

The first round of testing will be writing a client. I’ll cut a FlashMX client first and see how fast the server can dish-out Zone States via SOAP. I got a sample code already with only minor code tweaks needed to implement SOAP server interface.

The second round is another test using IrrLicht library. There is a sample code for loading Quake level maps and one low-poly actor mesh.

I’ll work on the setting-up the Linux server code next week.

Syndicated 2007-08-18 18:44:00 from Freedom Culture

Decoding V at N

OK, I’ve got to write this down before I lose this one.

It would be nice to know how fast clients pull data from a server for refreshing local client data. So I need to setup a test environment for that, a client that simply pulls data using the simplest method which is xmlprc or System.Net.*.

The server basically holding states of each client, gets updated M times a second, bombarded by asynch clients.

To get the vector at client N, we use the network data to calculate V at N.

 Two variables will have to be monitored, both upstream and downstream.

The thing to watch out for are burst moments, like simultaneous logins of students/users during the start of a class session. Secondly, monitor lag when threshold is reached. The spike, just milliseconds wide, could send the server down locked-up in an infinite loop.

Syndicated 2007-08-14 23:23:12 from Freedom Culture

Research Project With A New Website

Recently, a lot of interesting things have been going on, in relation to my pet projects which seems to be occupying most of it. It’s like a second job except this one doesn’t pay and it doesn’t have any business/commercial value. It’s very boring, as I’ve tried describing it to several young people and all I got was a couple yawns and stares.

Most of the tools I now use are either MIT or L/GPL. I’ve finally got rid of the ones with some royalties stipulated on the license, so I’ve come to a point where most of the stuff I’m dealing can be used freely, which is what this weblog is all about.

At this point, choosing the right network lib is still up in the air, so I’ll keep working with several API libs close until I see the one that will outshine everyone.

Also, I found out setting-up the correct numerical values to fit the V=IR formula was not a walk-in-the-park, partly because I saw something that may throw the entire system off, and that one was the figuring-in vectors and all that LinAlge stuff.

Upload values can be calculated easily as given, with packet size also a given, the remaining values can the calculated to figure the parameters for setting-up a zone. The thing to watch out for are the nodes that attach to zones, so the code may have to keep track of what node is connecting and where they are connecting.

Then someone mentioned a number representing the ceiling for a given zone, it turned out to be 16 connections per zone, excluding other parameters.

I’ve found several forums dealing with these kinds of stuff, though. I’ll just have to lurk more and read the stuff their talking about.

Syndicated 2007-08-14 19:43:15 from Freedom Culture

Temporal Control Widget

This feature I read from my brother sounded like a time machine, implemented as a slider control. That darn thing is so powerful, it can mutate objects across time. It also has the ability of making a player/avatar appear and disappear depending on a timeslice they are allowed to exist.

Man, this is one feature that will probably never get implemented, though. But I will try, nonetheless.

Syndicated 2007-08-08 23:33:33 from Freedom Culture

Simplification Yields The Formula V=IR

Well, it turned the formula wasn’t complicated at all, I remembered the classic formula used in measuring Voltage which is expressed as V=IR. And it all fell into place, even the calculation of V at node J became familiar by simply following the established formulae.

So, yeah. I’ll use this system for the time being until I see a need to switch to a hybrid, perhaps a new way of measuring perf at node J.

 Awesome. And I thought I’d lose my hair on this problem.

 By the way, to arrive at this formulae, you must have faith. There is no way you will arrive at this formulae by means of science (Lat:scio). argumentum primum

Syndicated 2007-08-07 09:41:42 from Freedom Culture

Spatial-Temporal Objects

I’ve been reading spatial-temporal reasoning as a way of clearing up the mist of mystery surrounding it.  

 A distributed network of nodes connected to N servers and M untrusted clients. Assuming servers are 100% trusted and not compromised, an estimated perf number at each node can be formulated, though.

Would it be possible for node I to be connected simultaneously to N nodes and still maintain the required flow? Assuming the rate is constant, and the size of spatial-temporal objects are at minimum, would the world rendered at node I be within usable range?

I could plot this as a node within a mesh, the height determines the rate and radius figures the connection count.

Syndicated 2007-08-05 23:53:07 from Freedom Culture

Thinking About Stuff

I’ve been busy with work and aside from that, here are some of the wacky things I’m looking into. Not necessarily bone-shattering nor biblical in proportion, it’s just a simple idea that may or may not happen.

BitStreams In UDP

I think packet bitstream is definitely the solution I was looking for, simply creating the object and writing to it is OK compared to casting structs to char, though. Sending it to the cloud using p2p topology. I’ve spent several hours already just fooling around with this technique and it might be good to do some benchmarks just how many users can it handle before it starts to break.

SOAP v. Roll-your-own UDP Library

Searching about perf numbers comparing SOAP and a Network Library returned zero. I’m guessing there is a big difference between the two nobody has even tried writing an article about it.

Manual Patching v. Auto Patching

Given a world wherein N servers dealing with untrusted M clients, the idea of a distributed patching system could mean a very complicated one. Though if there is a way of reducing the number of untrusted clients to zero then auto patching can be simple.

One World v. Multi Worlds

It would be nice to start off with a one-world implementation and then later on, use the experience learned from the one-world design to come up with multi-world implementation.

Writing The History

The exciting part of it is writing the history of it. The explosion of this technology and the rate of it spreading is simply amazing. It won’t be long before a new wave will come this way.

Syndicated 2007-08-05 08:14:07 from Freedom Culture

27 Jul 2007 (updated 28 Jul 2007 at 00:31 UTC) »

Nobody Knows You’re Four-teen On The Internet

One of the first maxim of this so-called lifestyle was derived from the truism: Nobody knows you're a dog on the internet. If you're fourteen and want to become a really smart math-wiz programmer, then take the first maxim as your pill to freedom.

The corollary to that is simply: Nobody wants to hire a fourteen year old. Teen-age economy is basically a consumer ecomony when you're fourteen, you're basically damned to sit through long hours of boredom with the short moments of excitement, like going to the mall or something. But there's an alternative to that boring economic state. Become a really good math-wiz programmer, then create a really cool 3D program and by the time you're sixteen--you never know--you are already a millionaire.

Though you have to do this in utmost secrecy. You will never tell your friends you have this lifestyle, because nobody should know you're doing this thing when you're fourteen.

And if you blow it, then say goodbye to your rep and be eternally damned to being labeled as a freak. Your guitar playing friends who bask in the melodies of Dep Leppard and Others, singing to the tune of 'Wee Don nee no educa-shun...yo juz a brik in the wo' will see you then as a leper. Goodbye freak.

This is the time to do it, use that time to develop that skill, hidden and covered. By the time you're ready, you'll be smoking them while they figure out what eigenvectors are.

Syndicated 2007-07-27 16:52:57 from Freedom Culture

1885 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

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!