|
 |
Friday, May 09, 2008 |
'This looks good in practice. But does it work in theory?'
google-jstemplate is open sourced. (The link points to a slideshow-overview containing the quote above).
I've been pushing much more typically-server-side functionality down to the client in my web apps lately, but am finding a wall at some point when things like performance etc come into play. When this happens, I move the functionality back to the server (5 lines of jquery becomes 30 lines of perl or 100 lines of C#) where I have more control and predictability with things like caching/dom parsing etc.
I am very interested in learning from the google-maps folks who normally blow through this wall on a regular basis.
[via Gregor]
see also Jemplate for client side templating coolness.
7:42:05 AM
|
|
 |
Monday, March 24, 2008 |
Abbreviated Parody of Paul Graham's 'Boss'
People aren't meant to have a spouse.
I saw some married people in the cafe the other day and something
seemed wrong. They weren't passionate. I have a unique perspective
on human relations, having been an eligible bachelor and active user
of various dating websites since the category's inception over 10
years ago. Long term monogamous relationships are especially hard on
people. Relationships are passionate early on, so why bother having
one for longer than that?
Structurally, long term relationships often lead to kids. Kids are
complex. And difficult to fund. Funding them with credit cards is
stupid. For both reasons long term relationships should be avoided.
Now, it's not your partner's fault. I saw lions and monkeys in Africa
one time. Monkeys don't get married, and neither do lions. They're
both happy, so people shouldn't either.
Also, nonmonogamy is definitely something that can be learned. At
AshleyMadison.com, we help married people come out of their shells and
find other people willing to overcome the straight-jacket of the
married/long term monogamous life.
Having seen that happen so many times is one of the things that
convinces me that being non-monogamous, at least in a small group, is
the natural way for people to live.
Watching previously faithful, married, and, frankly dull people get
transformed into passion-filled 'players' makes it clear that the
difference between the two is due mostly to environment — and in
particular that the environment in long-term relationships is toxic to
people.
In the first couple weeks of working on their first affair they seem
to come to life, because finally they're living hedonistically the way
people are meant to.
THE END
Sorry, I couldn't resist.
4:10:23 PM
|
|
 |
Friday, February 08, 2008 |
Debugging My Long Distance Bill
I noticed my long distance telephone bills growing at a rapid clip, since I've been doing a lot more remote-tech-lead work than normal.
It occurred to me that there may actually a solution to the problem of excessive long distance bills. I set up GrandCentral's Address Book view as one of my IE home page tabs, and whenever I have to call the team I use that page's click-2-dial function.
When you click a phone number in GC, their telco provider first dials you, then dials the other party. Since there's no outbound call, so there's no cost. The quality so far has been great. There are occasional issues, but they're probably fewer than my cell phone for comparison.
This seems like a big deal ... maybe not because it's not scalable to the country (yet), but the recent announcement that the non ILEC's were implementing peering agreements for no-cost long distance brings us oh-so-tantalizingly-close to free long-distance for the masses.
8:21:56 AM
|
|
 |
Thursday, February 07, 2008 |
Elastra delivers scalable OLTP. For Real?
Elastra now offers scalable OLTP via Amazon's compute cloud.
Supported Db's include:
MySQL
Postgresql
EnterpriseDB
When Elastra first decloaked late 2007, they were all about scaling read-only BI databases, which is the easy problem to solve and I wasn't very excited.
This Enterprise DB press release, however, implies that they've got a point-and-clicky active-active-active-etc cluster technology, with automatic-versioning for ~ $400/mo (per server).
Quote the release:
EnterpriseDB, the Oracle-compatible database company, today announced EnterpriseDB Advanced Server Cloud Edition, a version of the company’s flagship RDBMS that is built on the Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3) Web services. EnterpriseDB has selected Elastra, the world’s first provider of elastic relational databases on demand, as its premier cloud computing software partner. Elastra’s Elastic Database Technology enables EnterpriseDB Advanced Server to run in a virtual, highly scalable, cloud-computing environment
Wow.

8:26:00 AM
|
|
 |
Friday, November 16, 2007 |
Mono for VM's?
BEA recently announced a version of their app server optimized for deployment via virtualization. They figured that since the Java platform virtualizes/abstracts the OS anyway, why not abstract to virtual hardware and just skip the guest OS completely? Less attack surface, less s/w to manage/update. Wins all around, as it represents a collapse of the distinction between container-based virtualization and OS-level virtualization, combining the often-competing benefits of performance and isolation.
Of course, the argument in favor of collapsing OS and language runtime virtualization applies equally well to the .NET platform. It occurred to me that, while I have every expectation that Microsoft will eventually abandon their unsustainable license-every-vm-instance strategy to both app and OS licensing, it could take a long time. Novell, just as they've jumped into decoupling Netware services from a host OS, has an opportunity to reinvent something that looks a lot like Netware+NLM for the virtualization crowd: a mono app server that runs on a hypervisor. This too seems inevitable, and much more compelling than the current duct-tape-required approach to mono-flavored ASP.NET deployment. Although mono is addressing their web deployment woes by going FastCGI (an absolute must for ISP deployment, and long overdue considering FastCGI amazing cost/benefit), Miguel : consider going virtual as well. I think there's much more chance of mono becoming a viable enterprise deployment option if you leapfrog Microsoft with this, and honestly it's a far worthier dev milestone than playing silverlight catchup with moonlight.
As I've said before, I love the ambition+audacity that mono represents. At the same time, I'm often pessimistic that it will ever appear on my radar, (is it just cygwin++?). I think getting ahead of Microsoft is the key, and until now I haven't seen how that is really possible.
Here's hoping that it is.
11:59:32 AM
|
|
 |
Friday, September 21, 2007 |
jQuery -- Love it

I've been meaning to write about jQuery, a fantastic javascript library that Dossy turned me on to.
jQuery is a new-school javascript library that allows you to do fancy ajax-y special effects in a microscopic amount of code. What sets jQuery apart from other frameworks is it's heavy use of CSS and XPath selectors to determine which elements you want to work on (add events to, hide/show, apply styles etc). Since every project I work on nowadays has an XHTML or XML component, I've invested a lot of time getting good with both scheme's, and as such I had a pretty good running start getting productive with jQuery. jQuery has a perl feel to it, in that you can pack so much expressive power into either a CSS/XPath selector -- they're the regex's of the structured text world. Also perl-ly is that when you're done, you really do have just a handful of unobtrusive javascript code to maintain. Admittedly, not everyone likes tiny code but it suits my scripting-language-addled brain. The base API is concise, easy to keep in your head, and even better: so ridiculously small in KB (14?) the page tax is ~ nil.
If the concise API doesn't do what you want easily, or you're solving a more sophisticated UI problem that should have already been solved (tabs, dialogs, etc), then you'll appreciate that jQuery is even more perl-y (CPAN-y?) in that there is a thriving community of plug-ins you can cherry pick that solve common UI issues.
The recently released jquery UI project offers you a quality assured set of UI extensions that follow certain code guidelines, for those looking for the don't-make-me-cherry-pick, batteries-included approach offered by dojo/scriptaculous/yui.
There have been two occasions recently where I had to implement small tweaks to different web based enterprise application where it wasn't clear to me how to do it with using the vendor's supported API's, or if it was even possible. In both cases, I implemented the customizations by including the jQuery library in a global template, adding an onDOMReady event handler, and writing in some new DOM elements using jQuery in ~ 5 lines of code. Problem solved - fast. Greasemonkey-type short-cuts like this risk not being upgrade friendly, but when implementing something not supported by vendor API's you're usually off the seamless upgrade path anyway. In addition, doing it the vendor way at the Java/C#/php level would almost definitely result in more complex code, and much more of it, that would be harder to maintain/merge anyway. And finally, if the need arises, it's much much simpler to turn off a jQuery page hack by commenting out a single line unobtrusive event-handler-add than it is to undo a compiled or scripting language library modification. It's downgrade friendly.
I now reach for jQuery every chance I get. Take a look.
10:20:14 AM
|
|
 |
Thursday, September 13, 2007 |
Lies, Damn Lies, and Benchmarks
From Curt Monash:
"2. Verticas software is 50X faster than anything non-columnar and 10X faster than anything columnar. Now, some of these stats surely come from the syndrome of comparing the future release of your product, as tuned by worlds greatest experts on it who also hope to get rich on their stock options in your company, vs. some well-established production release of your competitors products, tuned to an unknown level of excellence,* with the whole thing running test queries that you, in your impartial wisdom, deem representative of user needs. Or something like that
lol. Well said, Curt.
11:16:47 AM
|
|
Elastra -- To Infinite Database and Beyond
EC2-ISV Elastra decloaked recently. The website is so-so, but here's a quote blog comment from an employee:
Though a $360/month list price may seem comparable to a hosted solution, you are getting a lot more. Besides not having to buy hardware, software, bandwidth, or storage (we give 1 Terabyte of S3 storage free), you get the ability to really run your solution on demand.
Imagine allocating hardware to set up a 10 node cluster, setting up databases on it, having users or analytical programs hook up to it for a month of heavy traffic or heavy reporting. Imagine having to expand those clusters to 20 nodes or contract them to 3 because you are doing so well, or you no longer need the processing power. Now, think about being able to do these things at a minute's notice.
Imagine having 3 versions of your complete Data Warehouse for testing, running all three at the same time for, say, three days, picking out the best design, tools, analytical engines and taking the other two down by clicking an icon while archiving the other two in case you want to try them later.
The point with ELASTRA is not just that it's the first solution that actually uses S3 as a disk drive and not a tape drive, but that is also helps the application vendor create, scale, manage, and deploy their solution as their enterprise (hopefully) grows.
I know hosting people will scream that they can also add servers easily, but for the screamers: your competition is Amazon, not ELASTRA. We don't have anything against you if you can offer our platform the same capabilities and the same prices as Amazon can and so effectively does.
Sounds pretty cool if you want to run your analytics db apps on EC2. I haven't personally experienced the situation where there were enough BI users to warrant this. Usually BI apps target a handful of decision-makers, and versioning isn't so important with star schemas that capture historical information. Additionally, I don't think it's a stretch to say that BI implementations using open source db's will probably be located on the budget-constrained part of the spectrum, and have even less overlap with customers needing high-end availability requirements. Hmmm. It will be interesting to see if they find a market.
This reminds me a bit of another startup I'd been meaning to mention: SaaS lab management provider Replicate Technologies founded by long-time blog-reader Ken Novak. Ken walked me through some of the scenarios that his team had been enabling, and they sound somewhat familiar to the elastra scenarios, except with a lab management focus on whole system- and network topology- versioning as opposed to database versioning and clustering. With replicate's technology, you of course create and version all the VMs and groups of VMs you like, but you also can simulate and capture network topologies that would otherwise be a big pain
e.g. lossy WAN links if you want to test an Exchange remote failover scenario, or a huge number of low bandwidth connections for testing a sensor-web data collection application ( two actual use cases ).
Replicate is not deployed on EC2 like elastra and 3terra etc - they've rolled their own virtualization platform. But if Amazon's plans to own the grid enabler space (continue to?) pan out I'm sure EC2 deployment will be in the cards.
8:03:26 AM
|
|
© Copyright 2008 John Sequeira.
|
|
|