The Abstract Truth

  • Get the Album

  • Twitter Updates

    Error: Twitter did not respond. Please wait a few minutes and refresh this page.

  • I Joined AngelList!

    Posted by rbpasker on March 4, 2010

    I’m very pleased to announce that I have joined the VentureHacks.com Angel List.

    The Angel List list reads like a who’s who of the angel investing world, and you can pitch all of us at once.

    This is a great way to get your company funded.

    Special thanks to Nivi and Naval for putting this together.

    Posted in tech | Leave a Comment »

    Servo Secures $5M in Series B Funding to Grow Business

    Posted by rbpasker on December 15, 2009

    Conrgrats Christof and the Servo Team!

    http://www.getservo.com/press/12152009/

    Posted in tech | Leave a Comment »

    Cameron Purdy blogs about WebLogic under Oracle’s Aegis

    Posted by rbpasker on March 28, 2009

    I don’t often blockquote other people’s articles, but I couldn’t resist this time.

    Coherence March 2009 Update

    A week ago Oracle massively exceeded expectations, completely crushing the hopes of the doomsday crowd. Part of those results stems from the growth in Fusion Middleware, which includes BEA WebLogic. This past quarter I saw a big jump in the number of accounts switching from WebSphere back to WebLogic on the high end, and (quite surprisingly, considering the economic climate) from JBoss to WebLogic. I could mark it up solely to a great sales organization, but there are some really interesting things at work that have made a huge difference in the ability to win business with WebLogic:

    WebLogic is getting a higher level of technology investment as part of Oracle than it has seen in a long time, and those investments are starting to pay real rewards for our customers.
    We showed a plan for WebLogic and the other BEA products. We have been steadily delivering on the plan. Customers appreciate the “ability to execute” combined with actual execution.
    Several of the technologies in the Fusion Middleware stack just can’t be found elsewhere. Start with jRockit, the real-time JVM that dominates all of the performance records (see here, here, here and here for example.) Add reliable cross-platform, multi-portal session clustering with single sign-on support via Coherence*Web, and the ability to globally load-balance a single application across multiple data centers. Top it off with end-to-end operational monitoring. Wow!

    Posted in tech | 1 Comment »

    New blog domain, same great content!

    Posted by rbpasker on July 15, 2008

    Now that sonic.net has added self-service subdomains, you can now read this blog at: http://blog.pasker.net . i would have added theabstracttruth.pasker.net, as well, but WordPress wants $10 for each separate domain, and it didn’t seem worth it.

    Note that this is in addition to http://theabstracttruth.wordpress.com . both will work, but in case I decide to change blogging systems, its probably better to use http://blog.pasker.net for web and RSS .

    Posted in tech | 1 Comment »

    You Might Need Messaging If…

    Posted by rbpasker on June 16, 2008

    I recently gave a presentation to the technical management and architects at a Very Large Web Property on messaging systems, AKA Message-Oriented Middleware, AKA Enterprise Services Bus, etc.

    This was not meant to be an introduction, because they already have messaging systems in use. Rather, I wrote this presentation (in about 15 minutes) as a springboard to remind everyone what messaging system are capable of, so we could talk further about how to capitalize on the products they were already using.

    Posted in tech | 2 Comments »

    T3Server, Tengah, BEA WLS, and now: Oracle WebLogic

    Posted by rbpasker on June 12, 2008

    According to this article, it looks like the B E and A have finally been purged from WebLogic.

    BEA did everything in its power to conceal the fact that none of its other revenue-generating products ever amounted to much of anything.

    With this widely expected move crowning WebLogic Application Server as Oracle’s go-forward appserver product, while “continuing to support” (shorthand for “silently kill”; see “PeopleSoft” and “Seibel”) every other revenue-generating product, Oracle tells us what we already knew from its last 8 years of near-stagnant revenue numbers : BEA couldn’t develop a product from scratch to save its life (literally).

    That is not to say anything negative whatsoever about any of the individuals people who worked on the rest of the products: BEA had many talented engineers, but the culture was so political and full of fear, that everyone was always more worried about their next paycheck and pleasing the powers that be, rather than striving to build the best thing they could. And many BEA executives I knew who were talented and well connected in the organization were eventually jettisoned because of eventual clashes inside the power structure, only to be replaced by plodders. That’s no way to run a company.

    The other non-surprise in the article is that Oracle is keeping JRockit. What an awesome piece of technology. The open secret about JRockit is that BEA barely paid anything it, either in acquisition costs (“BEA Acquires Appeal Virtual Machines”) or in ongoing development. Think about it: For a company that wouldn’t budge an inch on its $10K/CPU app server licenses, JRockit doesn’t generate a single cent in direct revenue. How did that happen? Intel paid for it. Lock. Stock. And Barrel.

    Intel (an investor in WebLogic, Inc.) was concerned that Sun would poorly support Java on x86 architectures in favor of Sun’s own SPARC, so they funded BEA’s acquisition and ongoing development of a superlative Java platform for Intel hardware. Besides the fact that it was free to BEA, the other pieces of information crucial to understanding the JRockit’s success inside the company are: unlike most of the other products, it didn’t have any internal competition; it was located in Stockholm, Sweden, far away from the trenches in San Jose; and it has fantastically talented engineers and management. Certainly JRockit was crucial to the ongoing success of BEA’s Java “own the whole stack” strategy, but would BEA, who famously would only acquire companies that could be accretive within a year of acquisition, have continued to sink tens of millions of dollars per year into a non-revenue generating product?

    At one point in time (before I turned 40 and started balding!), I had shoulder length hair. At the time of the acquisition, I told my colleagues that I would shave my head when “BEA Systems” changed its name to “WebLogic.” I guess that was pretty arrogant, but the point was that WebLogic would become the most important brand in BEA’s toolbox, and that nobody would remember its up-until-then flagship product “Tuxedo” or its CORBA-based successor “M3″ (now called “Weblogic Enterprise”).

    I don’t think there’s much chance that Oracle, one of the strongest brands in the technology world, will change its name to WebLogic, but there’s little likelihood that the product will continue on as “BEA WebLogic.”

    Posted in work | 2 Comments »

    Twitter versus The Stock Market

    Posted by rbpasker on May 6, 2008

    A friend sent me a link to a page with the Twitter Stats.

    Wow, 3.5 million tweets per week, not counting locked and direct tweets. That’s about 350 tweets PER MINUTE (rules of thumb: ~10K minutes in a week; ~PI*10^7 seconds in a year). Even if the number of private tweets and direct messages drive the volume 5x to 1750 tweets per minute, its still not much. A 1750-person company delivers an average of 1 email message/minute/person. Even Exchange can handle that.

    The data feed produced by the Options Price Reporting Authority contains every transaction on every stock and option exchange around the world. The current projections for OPRA are here, but let me republish the table for you:

    Yes, that’s 701,000 messages PER SECOND, or about 423 BILLION messages per week.

    Where’s the bottleneck again?

    Posted in tech | 8 Comments »

    Solving The Twitter Problem(s)

    Posted by rbpasker on May 6, 2008

    The net is atwitter with solutions to the “Twitter Problem,” which is that Twitter keeps going down, and it is annoying the bloggers themselves, who use it as a broadcast platform.

    But there are really a bunch of different problems, many of which will be solved independently:

  • Decentralization, a la DNS, of the network of servers/services providing Twitter-like functionality, for redundancy.

  • Scalability using a server-side implementation that can handle the volume of messages on the busiest nodes efficiently. I’ve proposed Tervela’s product as the hub

  • Inverting the protocol from “pull” to “push,” to reduce the amount of unproductive polling that takes place.

  • A universal addressing scheme, based on existing standards, like RFC 822’s mailbox addressing. (This is what Jabber uses). A URL-based system would work, too.

  • Proper language mappings (such as Actors) that are designed to handle large numbers of messages with minimal overhead.

  • A common API/wire format, hopefully something much simpler than XMPP, to make it simple to write applications that can participate in this network.

  • Gateways to other messaging systems, such as email and SMS

  • Bridges (PDF) to synchronous protocols, like HTTP

    The good thing is, lots of people are finally starting to think about this problem. The bad thing is, lots of people are finally starting to think about this problem (which means it will take a LONG time to solve).

  • Posted in tech | 2 Comments »

    JIE: Solving the Robustness Problem

    Posted by rbpasker on April 18, 2008

    In his latest polemic, Herr Hildebrand interprets my robustness problems as a dichotomy between the Thread and the Process. (Just joking, Hal!) Like earlier authors, I will also refrain from providing precise definitions, except to bastardize Justice Potter Stewart’s old saw, “I know a [process|thread] when I see one.”

    Well, Hal is exactly right that the process model has huge robustness benefits over threads due to the memory and scheduler isolation enforced between processes by the OS and MMU. He is also correct that much robustness is lost when running many applications in a multi-threaded environment (like the JVM), creating operational behavioral dependency among applications that didn’t exist at design time.

    But rather than bowing to the false architectural dichotomy between the Process Model and the Thread Model, I propose an architecture that uses each of them to their best advantage, using processes to separate applications, and threads to separate transactions within applications, and also proposing a number of improvements to the JVM that would make this hybrid model as cheap to run as the monolithic JVM model we currently had.

    Before continuing, let’s imagine for a minute a JVM that has some special properties:


    1. it has no transactional state, which most people would read as “share nothing”
    2. the transactional state is cached locally, and the ACI (but not D) cache is shared across all processes via shared memory
    3. a fully operational JVM can be launched from scratch, ready to process transactions, in, say, under a second

    With such a JVM, it is not hard to imagine the proposed solution: the runtime architecture consist of one jar file (i.e., one application) per JVM, and that each JVM handles multiple simultaneous transactions in separate threads. An errant application could then be recycled by recycling the entire JVM around it. For greater robustness within a single application, multiple JVMs could run the same jar.

    What you now have is a mini-cluster that provides the robustness of the Process Model with the multiprocessing and “forking” speed of the Thread Model.

    In order to achieve this, the JVM would:


    1. have to be “pickle-able,” by which I mean that you can run a VM, get it to a steady state ready to process transactions, and then pickle it to disk, just like a VMWare image.
    2. support sharable read-only data, for all code and constant data
    3. the ability to pass TCP endpoints around among processes, so that a dispatcher process can funnel transactions to the right JVM without a copy.

    I know some of these things have been worked on in the past, but I wonder if some of the specialized JVM vendors who have a stake in enterprise software (Oracle/WebLogic/JRockit, Azul Systems, Sun, IBM) shouldn’t start looking at this problem again.

    Posted in tech | Leave a Comment »

    JIE: Solving the Distributed Lock Management Problem

    Posted by rbpasker on April 18, 2008

    Yesterday I wrote about the pitfalls of trying to do Distributed Lock Management. Well, it turns out my friends at Terracotta have been hard at work on an awesome management tool to let users detect the problem in a console. Nice job! I wonder, however, how easy it will be for a developer to spot the problem in the case where there are more than two locks involved in the deadlock.

    What I would like to see is an automatic solution to the problem, one that detects such a deadly embrace and chooses a victim to kill. Detecting the deadlock would have to be heuristic, in the sense of watching the locks to see how long they usually take, and considering only those locks which exceed the normal holding time.

    In a distributed locking case, such as with Terracotta, the deadlock detector could System.exit(), let the other VM continue along, and the management system would automagically restart the victim VM. It wouldn’t prevent the problem from happening again in 10 seconds, but it might at least ring lots of bells so someone can come look at the problem, rather than having the whole cluster deadlocked. In the single VM case, we’d have to wait for a proper solution to Thread.stop(), which I also talked about yesterday.

    The other question I have about deadlock detection is whether some of it can be done via static analysis, but this is not my area of expertise. An alternative would be to use AOP to instrument the locks. I’m sure someone has already done this.

    Posted in tech | 1 Comment »