RSS LinkedIn Twitter

Archive for the ‘Architecture’ Category

In my opinion, having dual-writable master MySQL databases (in a replication configuration) is not worth the hassle. There are a host of problems, enough that you should seriously consider what you’re trying to gain when attempting it. However, the master-master replication scheme still has some very good uses when used in an active-passive way. The […]

Tuesday, February 9th, 2010 at 10:34 0 comments

Client-server programming is one of my passions, and I enjoy doing it in almost any language. Which makes it fitting that Flex (ActionScript) is one of my favorite languages to develop in, because it truly is a client-side technology which pretty much means it’s open to just about any type of backend server. I suppose […]

Monday, February 8th, 2010 at 22:39 6 comments

I’ve been doing a lot of research (not cutting edge type stuff) into MySQL scalability, and the first exercise I went through was configuring a simple master-slave replication setup. It was much simpler than I thought it would be. Here are the steps. Editing the my.cnf Files Because of the way replication works in MySQL, […]

Saturday, February 6th, 2010 at 15:33 0 comments

I’ll start off by going over the basic high level architecture for my self registration procedure: There is a register.php script residing on the load balancer, accessible via HTTP. There is a deregister.php script residing on the load balancer, accessible via HTTP. There is a register_with_lb.pl script residing on the web server, in /usr/local/bin/. There […]

Thursday, February 4th, 2010 at 16:25 0 comments

Load balancers are great, but they become even more powerful when servers have the ability to self-register when they come online, and deregister when they go offline. This is especially true with services such as EC2, when the size of the server group might grow or shrink in response to need. This is a tutorial […]

Wednesday, February 3rd, 2010 at 14:39 1 comment

Just this afternoon, one of my colleagues and I were discussing our feelings about the “semicolon-class” of bugs that developers will inevitably spin their wheels on from time to time. I’ve had just such an experience the past two evenings with what started out as a simple recipe from the Apache Cookbook, entitled “Load Balancing […]

Tuesday, February 2nd, 2010 at 22:09 14 comments

One of my ongoing weekend projects is an AIR chat application, recently rechristened “JUICE” a.k.a. “John’s Ultimate Internet Chat Experience”. I realize that may only be the case for myself, but the project has been very educational and entertaining for me. The initial release used AIR/Flex as the front-end, ColdFusion and MySQL for the backend, […]

Tuesday, December 22nd, 2009 at 14:05 9 comments

I’m about ready to sleep on my ShortcutManager, I figured I might as well finish off the series. I added context to it, while still maintaining backward compatibility with the non-context enabled version. I don’t think I posted it, so it probably won’t matter so much to my readers. For those who haven’t read the […]

Wednesday, August 19th, 2009 at 19:43 2 comments

I’ve put some more thought into my shortcut manager, and have decided on a way to implement the shortcut context, as well as curb the Dictionary explosion that my previous architecture would have had. The new version uses one Dictionary to store all functions, the keyCode, combo keys, and context is all encoded into the […]

Wednesday, August 19th, 2009 at 17:07 0 comments

Although a TCP client is fundamentally different from a TCP server, setting up the socket is very much the same. For a server, we called these methods in this order: socket()→bind()→listen()→accept(), followed by sequences of read() and write(). For a client we will call these methods in this order: socket()→connect(), followed by sequences of write() […]

Tuesday, August 18th, 2009 at 10:15 0 comments