I bought a macbook. I like it, mostly. Downside – it has a mini display port. That requires buying expensive adapters. In particular, the adapter to go from mini display port to dual-link DVI is a whopping $99, and even worse it gets a lot of bad reviews.
I bought one anyway (what else was I going to do?), and its working fine. I submitted a review to the apple store, to help out other consumers. I’m now staring at this message: “Your review is being reviewed and will be available within the next 3 business days”.
Eek! Do you trust apple to review only for profanity, and otherwise simply publish everything unedited? I know I don’t; more importantly I shouldn’t have to. I’m certainly not going to submit a review again. For your reference, here’s the amazon product page for the adapter.
Bottomline, it’s impressive. A lot of obvious things work in obvious ways. The google team also picked a lot of the right open source libraries to reuse, so I’m sure a lot of things will work well 🙂
Not allowing the creation of threads is not unexpected, but a bummer. At the same time I’m a bit surprised there’s no (documented!) restrictions on memory consumption. API coverage is pretty complete and includes java.net and JavaMail. Missing bits include AWT, ImageIO, Swing, RMI, CORBA.
The most interesting question is “how to do bigtable from java”, and the answer is interesting too. Besides a low-level API, BigTable access is provided through DataNucleus which is the successor to JPOX. I was always fond of JPOX, shame it is gone. But DataNucleus does look reasonable enough.
Google’s written a DataNucleus adapter for BigTable, which has led to the claim that they support JDO and JPA. However, the JPA support today really seems too limited to be of any practical use. The JDO support does seem reasonable, though they don’t exactly fully implement the standard (yet).
I’m sure a lot of people were hoping for Hibernate support. I will guess that the google engineers tried and failed on that one. I will also guess the community will go and succeed, but that the result will often be horrible performance (since no matter what you do, joins will remain expensive).