Google creates social network app middleware
It's nice to be right sometimes.
More details at ZDNet, and closer to the metal by Marc Andressen.
Blink of the Day is a link blog. Usually software related stuff with a note about what is, IMHO, interesting about it. Blink at the link; if you want a second look go deeper.
It's nice to be right sometimes.
More details at ZDNet, and closer to the metal by Marc Andressen.
Labels: Facebook, Google, MySpace, Social Network
Sometimes, you really, really need to get picky with your memory management (lwn.net):
"it is clear that there are many, many opportunities for programmers to influence a program's performance, positively or negatively. And this is for memory-related operations only. We will proceed in covering the opportunities from the ground up, starting with the lowest levels of physical RAM access and L1 caches, up to and including OS functionality which influences memory handling."
I've always been curious about how picky the Java, .NET and other managed runtimes are. Curious because we completely trust them and they are designed to be so very general purpose. I should take a look.
I can, at least, do that with the Java and Mono runtimes. Of course, the same is true in unmanaged code - how often have you, just out of curiosity, looked at how smart the memory management is in your compiler's C or C++ runtime? Exercise for the intermediate C coder - improve your runtime's memory performance (speed and space) by 10%. Shouldn't be too hard (for extra credit, do that for 10% of the runtime routines. Some are shockingly poorly implemented).
Of course, implementing general purpose fixes to the memory management is terribly difficult, which is one reason we leave it to the runtime developers.
But sometimes your tweak may make a huge difference to your application, especially in embedded cases. Java, Mono and C/C++ allow you to embed a private tweaked runtime in your application so that you don't mess up anyone else's application.
You can't do this with .NET - the CLR is opaque (no source code available, and of course no build procedure) and you can't have a private CLR (although Silverlight has, essentially, a private CLR). Well, ok, you could I suppose but it would take some changes to the standard .NET CLR loading. Which would require MS to provide the source code to the CLR ...
But it's not a phone, it's (according to the Wall Street Journal) an open source phone OS. So far, so, well, kinda interesting.
But the WSJ article goes onto say:
"Google-powered phones would have applications like Google Maps that are already in some handsets ... The most radical element of the plan, though, is Google's push to make the phones' software "open" right down to the operating system ... That means independent software developers would get access to the tools they need to build additional phone features."
Radical? It isn't exactly an innovation to have a Linux or open-source based phone. How do I know? Well, I knew already, but I Googled "Linux phone OS": the link above is the 2nd one in the list. Not hard to do some basic research is it?
The article implies that the Google apps (like maps and GMail) would be open source too. Ok, it implies it, but it might not be reality, which makes the whole thing a lot less interesting.
I also think that the WSJ is out to lunch when it says an open source OS implies that ISVs "would get access to tools" they need. These are 2 are entirely different issues. Developers have excellent tools for closed OS' like Symbian, iPhone (well, coming soon) and Windows Mobile. Symbian's tool chain even uses an open source based IDE: just Google "Symbian Eclipse"; I give up with the direct links.
So, WSJ scoops that the GPhone exists (although this was admitted by Google awhile ago), but gets all the implications screwed up. *Sigh*
And here's another "aggregate and share" thing, only this time with a Semantic Web twist: Twine.
(10/31/07: Edited to add tags)
Labels: mashup, non-professional, programming
Dapper is difficult to describe. The best I can come up with is that it is a very smart way of aggregating and repackaging web content into any format you want.
Probably the best way to let their own demo describe it for me.
Their business model isn't clear yet but they do sell various services on top of the platform.
(10/31/07: Edited to add tags)
Labels: mashup
I don't normally mention the day job here. But now I have a day job, the company is definitely worth mentioning.
Alpha Software's Alpha Five while not (shamefully) on anyone's radar screen (yet) as a great application development platform is, well, a great application development platform.
It's aimed squarely at the sort of developers who aren't developers and never want to be, and so IMHO has huge upside potential.
We're working on all sorts of good stuff. Watch us.
(10/31/07: Edited to add tags and correct the rendition of the product name (oops))
Labels: database, programming
Dell has a really, really nifty sub-notebook (the D430)with an (optional) 38GB Flash drive. Since the sad death of my MacBook I've been looking for a replacement.
It's only available in the "Business" store, not the "Home" store. Ok, no big deal. I go through the checkout and find that my Dell Consumer line of credit is no good. You can only use a Business line of credit!
For what possible reason would Dell do that? Are home users not smart enough for it? And eBay is not my friend this time. Perhaps I'll wait for the rumored Mac sub-notebook.
*Sigh*
(Yes, I know I could use a credit-card. But that's not the point - I have a Dell line of credit because, historically, I've bought a lot of Dells.)
(10/31/07: Edited to add tags)
In my recent experiments with Diet Coke and a MacBook (hint, it turns a MacBook into shiny white brick), my Mac Mini's old but functional keyboard also bit the bullet big time.
I hied me to the Mac store, where a shiny new keyboard caught my eye:
Unfortunately if you attach it to the similarly shiny Mac Mini, the boot time key commands no longer work, like boot from the install DVD, boot into Safe Mode etc. The link is to an Apple support discussion thread. This I need, since my Mac Mini's disk needs repair. I'm stuck. I really don't want to spend the time at a Mac Genius bar while they simply connect an old keyboard. And, BTW, the new shiny keyboard appears to be the only one you can buy direct from Apple. eBay is my friend.
I never thought I'd say this, but you know, Window's chkdsk is just so much easier to use.
(10/31/07: Edited to add tags)
According to eWeek.
Now I just have to sharpen my IDE and get to work on that cross-platform middleware thingy to make your social network add-ons write once-run anywhere (I'll cover Ning's API too while I'm at it).
(10/31/07: Edited to add tags)
The Amazon's EC2 Cloud - the Elastic Computing part of their cloud services - has just come moved from limited Beta to "unlimited" Beta.
Particularly nice is that they've added 2 new types of VM (sorry, instance): a 64 bit 2 CPU, 2 Core 64 bit instance with 7.5GB of memory and 850GB disk, and a nifty 64 bit 4x4 CPU 15GB memory, 1.65GB disk instance. Each CPU is equivalent to a 1.0-1.2 GHz 2 core Opteron or Xeon processor.
These additions are compelling: previously you were limited to a 32 bit 1.75GB low end Xeon instance, which pushed you into a pure horizontal blade architecture with some interesting clustering needed for database scaling. Now you have more choices and more traditional scaling architectures available.
You still have to deal with the transitory nature of the instances and other interesting side-effects of scaling up, but with a nicely-growing eco-system of solution providers these services adding to the new instance types, EC2 is looking more compelling than ever.
DBSlayer is a lightweight JSON DB layer written to help NYTimes.com scale beyond the traditional LAMP stack scaling techniques.
As they say, apart from a real number of advantages it gives: "it just seemed really cool to have a JSON-speaking DB layer that all our scriptable content could talk to. Thus, the DBSlayer was born." It's licensed under the Apache v2 license.
I like open-source projects born in the heat of real high load, fast moving media sites. Django is another one, and is used for the Washington Post's site, among others.
(10/31/07: Edited to add tags)
Labels: database, NY Times, open source
There is an increasing (inevitable?) layering of standards to facilitate Enterprise software integration.
In case you can't quite keep track, and frankly who can outside this rarified world, Service Orientated Architectures (SOA) - last years essential resume buzz word - has now settled in nicely and become the platform for new enterprise integration frameworks: Service Component Architecture (SCA), Service Data Objects (SDO) and Enterprise Service Buses (ESB).
Now, enterprise integration is hard, and the development of these layers on layers is somewhat inevitable, and if you've been around the block enough times you'll recognize the pattern - CORBA or DCOM anyone? - as we shift technology bases.
To many developers, the burgeoning complexity leads to a reaction back to simpler solutions like REST and Ruby on Rails, although these really don't address the needs of enterprise integration.
So in a sense dismayed at the complexity of the SOA/ECA/SDO and ESB worlds, and there is concern that it is too easy to use them to prop up over-complex architectures and so increase the risk of failed projects, I think that they are necessary. A necessary evil perhaps?
So, I disagree with Dave Chappelle when he says that Microsoft shouldn't support SCA. If they don't someone will support a .NET binding to SCA, and perhaps Microsoft are content to leave that to 3rd parties while they pursue a Windows Communication Framework (WCF) centered world view. Perhaps I misunderstand his point that as C# binding would not be portable, but since SCA endpoints are in the end Web Services, I don't see how that can be true.
I also disagree with Steve Vinoski's opinion that REST + dynamic languages is the only way to go, although I can understand that perhaps he is allergic to these things after being one of the major CORBA advocates and developers in the past. For me, REST and dynamic languages are great but are designed for much more loosely coupled systems than most large enterprise integration projects.
Bob Familiar, MS Evangelist, has one of the better "getting started" with Silverlight guides around.
Labels: Silverlight
It's a happy day when a blog you've long ago unsubscribed comes back into your life with fresh, quality contents.
ISerializable untangles the many definitions of TDD.
Mozy, thank you. Thank you. Really, thank you.
Turns out that adding Diet Coke to a Macbook makes a white plastic brick. Who knew?
BTW: Their Mac version, while still officially in Beta, works extremely well.
All this messing around with data centers, co-location, and so on is frankly a pain in the IT budget. Plus, unless you've got very predictable and even traffic 24/7 to your site, your servers are sitting wasting a lot of their power (and other costs) for a lot of the time. Never mind the cost of redundancy and the scramble to handle sudden bursts of traffic.
Enter the cloud, or more, specifically for now, Amazon Web Services. Amazon have recently been doing a dog and pony show around the country targeting startups and VCs. It's an interesting market choice: actually an obvious one in many ways. Amazon's cloud provides virtual machines that can be provisioned or taken down in minutes, data storage, message queuing and a few other things at pennies per GB of storage, bandwidth or machine time.
Upside: for startups the cost of a decent infrasture and its management is orders of magnitude lower than buying or leasing. Almost a no brainer.
Downsides? Plenty right now if you want to pick holes: the VMs are anemic (1.7 GHz processors, small memory), the file storage is just object storage - no file system in the sky, once you get over a few systems the application and database scaling issues are umm, interesting, and most telling right now for me is that you can't run licensed software (OS, DB etc.) because the assumption is that the use of (virtual) machines will vary significantly over short time spans (and it should: if you have periods of low traffic, for example, overnight, shut'em down). Existing license schemes just don't work for that scenario. That means no Microsoft, no Oracle. Ok, so no great loss to many people, but a loss to Microsoft and Oracle.
My take is that the cost savings are so persuasive that startups will get around the technical issues (in fact, weoceo is a great example), and "The Cloud" will become profoundly important to software shops in the coming years. If cloud vendors keep working out the kinks there is no reason that at least mid-tier web properties shouldn't be entirely cloud based about 10 years from now.
Microsoft, Oracle and other IT support vendors will have to figure how to license their software (even if only on their own clouds, or in partnership with particular clouds). Microsoft already are great at developer relations in general, and to some extent understand that they need to help startups. But they need to start looking at ways to enable startups to use Microsoft technology in the cloud.
Labels: Amazon Web Services, AWS, Cloud, EC2, S3