Once I start adding string-manipulation and bit-banging, the gap grows to 5x or so. Didn't realize how big of a gap there was (none of the artificial benchmarks really test heavy DOM manipulation, do they?).
- Matt Mastracci
The gap for the Chronoscope benchmark which bangs on DOM and JS is 4x-6x. Remember all that trash-talk about Trace-JIT based optimizers vs "class based" (you can feel the anti-Java blood boiling) approaches? Show me the money. :)
- Ray Cromwell
I think class-based optimizers are going to have a big win on GWT code, considering the shape of those GWT objects very rarely change.
- Matt Mastracci
2012 kind of lost the plot an hour and a half in. Not terrible, but sort of Armageddon meets discovery channel doomsday documentary.
D'oh, had to abandon my GWT 2.0 migration for now due to some blocking issues. Some of the generator APIs changed, so I can't use a hybrid approach (hosted in early 2.0, build in 2.0-RC1). The bits in 2.0 look really cool. In the meantime, I'll be working on restructuring the code so it's easier to just drop 2.0 in when we're ready.
One big improvement to our code is that I'm now re-using the hosted.html file from GWT for extensions in hosted mode so I don't have to keep chasing changes to the file. Far easier to maintain. :)
- Matt Mastracci
I meant to say "when we're ready" to adopt GWT 2.0. :)
- Matt Mastracci
"EARTH HAS 4 CORNER SIMULTANEOUS 4-DAY TIME CUBE IN ONLY 24 HOUR ROTATION. 4 CORNER DAYS, CUBES 4 QUAD EARTH- No 1 Day God."
- Matt Mastracci
from Bookmarklet
I think it has more to do with security and stability than anything else. You need a way to ensure that something nasty doesn't insinuate itself into the system that you can't get rid of.
- Joel Webber
I think it's very OLPC-like (layers of trust, etc). If I'm not mistaken, the engineer responsible for OLPC's bitfrost is now at Google and likely in charge of this. For an OLPC machine, you basically need a key signed for your particular machine to override the default safeguards.
- Matt Mastracci
Took me about 5 minutes to shave off 15% of total runtime. Works really well with gwt.style = DETAILED (practically a full class/method signature dump in the profile).
- Matt Mastracci
Apparently String.replaceAll is an order of magnitude slower than calling string.replace(/../g, ...) in JS if you know the pattern ahead of time.
- Matt Mastracci
How much of this is due to translating the regex between Java and JS format, and how much of it is Regexp(pat) vs /pat/?
- Ray Cromwell
One example: profiler says 1.39% of total time in replaceAll, 0.01% in translateReplace, 0.11% in the RegExp constructor and the rest "in method" (assuming the actual replacement call). Once I replaced that with a JSNI call, it dropped to a negligible part of the trace (the method calling replaceAll was now 0.01%). I suppose it's possible that it's a profiling artifact as well, although my wallclock timings of the test case are *way* faster now (nearly 33%!)
- Matt Mastracci
"I can’t say what to make of that really. For years Sun has been saying that there is no consensus on closures and delayed the formation of a JSR or expert group on the subject despite having three proposals, all with prototypes."
- Matt Mastracci
from Bookmarklet
I'm pulling for the BGGA/Gafter proposal. It's way more powerful and brings great DSL/macro functionality to Java. For example, you could write a function called map(), that can be used like this: map(String a : list) { a = "Hello "+a; } Essentially, you can introduce new control constructs into the language, by allowing the closure parameter to occur after the parentheses, and allow...
more...
- Ray Cromwell
Here's how runAsync could look: runAsync(Id, failure) { .... code ... }
- Ray Cromwell
I like BGGA, but I've been torn on how it would affect the language. User-defined constructs are pretty powerful, but it comes with the downside of being slightly more magical. Something about having a closure that you call returning from your function is a little strange. It might not be too bad once you get used to it I suppose.
- Matt Mastracci
Hey @IE team: can you put your videos in a format we can watch without Silverlight? Commitment to the open web starts here.
oh, no - I was looking at timeline in the resouces view. I think the Timeline thing (and some of the other ones?) is new!
- Nick Lothian
Yeah, this one tracks loading/scripting/rendering, vs. pure load time of resources. It has some slider handles so you can narrow down the time as well.
- Matt Mastracci
I will confess. We were among the "sneakers". We focused mostly on building some traces through some key parts of WebCore (http://googlewebtoolkit.blogspot.com/2009...). Timothy Hatcher and Pavel Feldman built the UI in inspector.
- Kelly Norton
Thanks, Kel. That seems like potentially useful information.
- Bruce Johnson
from BuddyFeed
I'm so clueless, I just noticed the "console" the other day that lets you view JS errors and even pause the load if an error occurs. Had no idea that was there. I'd been switching to Firefox every time something went wonky with my script, just so I could debug.
- Curtiss Grymala
HTML JS cookie API needs a good reboot. document.cookie setters as an interface has been awkward for more than a decade now.
"In-Vitro Meat -- aka tank steak, sci fi sausage, petri pork, beaker bacon, Frankenburger, vat-grown veal, laboratory lamb, synthetic shmeat, trans-ham, factory filet, test tube tuna, cultured chicken, or any other moniker that can seduce the shopper's stomach -- will appear in 3-10 years as a cheaper, healthier, "greener" protein that's easily manufactured in a metropolis. Its entree will be enormous; not just food-huge like curry rippling through London in the 1970's or colonized tomatoes teaming up with pasta in early 1800's Italy. No. Bigger. In-Vitro Meat will be socially transformative, like automobiles, cinema, vaccines."
- Matt Mastracci
from Bookmarklet
I would eat this. Edit: but I don't think point 6 in that story is for me.
- Matt Mastracci
I love to eat animals, but I can see a time when humans will look back at such acts as barbaric. Great article, IMO.
- Kurt Starnes
Was hoping to give my decade-old Olympus digital camera to our toddler, but it's just plain dead. Was a great camera, kind of sad.
That's a shame. If it's anything like my dad's old Olympus digital camera, it really was great. It's hard to find digital cameras anymore that take pictures as quickly as those older ones did. As soon as you press the button, it snaps a pic. With modern digital cameras, you wait anywhere from 1 to 5 seconds before it actually snaps the pic.
- Curtiss Grymala
Yeah, and it's whopping 16MB memory card meant you had to make sure your snaps were good before taking then too!
- Matt Mastracci
I'm guessing it also took Compact Flash, which, last time I checked is about 3x the price of SD, right?
- Curtiss Grymala
i have one of those camera's - i think it still works. 2.1 mp. haven't used it in years.
- Mike Nencetti
Nope, SmartMedia even. This was the 1.3MP version of the camera (really old version of it).
- Matt Mastracci
On a whim I tried it again tonight and it works. Must have shorted out when I cleaned the battery contacts with vinegar. I guess the kid gets a camera after all.
- Matt Mastracci
from iPhone
PBS becoming human is a great documentary. Neat to see how we evolved from ape ancestors slowly. Lots of power in millions if years.