Ryan Twomey
Web developer and entrepreneur in Woburn, MA.
Blech. I seem to be coming down with something.
RT @invotrak Invotrak for the iPhone version 2.0 released to Apple for approval! See the details at http://bit.ly/4F8edd/
Sorry to see Lowell go. It’ll be cool to watch him at 1st in Texas though. http://bit.ly/4XcKnZ #redsox
Chrome for the Mac is nice but I don’t like using something that’s an afterthought and crippled (no extensions).
Trying out Chrome for the Mac. It’ll take a lot for me to switch from Safari though.
OH: The hardest kind of person to retrain (ie switch courses) is the Ph.D.
RT @TUAW AT&T offers app so you can report crappy service. Huh? http://bit.ly/5qZ3hX [post]
What’s up with $AAPL? Down some 12+ points in the last week.
Just found a neat trick in photoshop: command click a layer’s icon in the Layers screen to create a selection of it. Great for masks.
RT @engadget FusionGarage plans media event to tell its side of the CrunchPad story http://bit.ly/5C9qTw
RT @joefiorini here’s how http://to./ was done http://news.ycombinator.com/item?id=974148. pretty neat. (via @ryanbriones)
RT @qrush How the… http://to./
Ugh
Too bad the formatting for that previous entry got all screwed up. Check out the link to really get a good idea for what’s going on. The explanation behind that graph is fascinating.
J is for JVM: Why the ‘J’ in JRuby?
From a post at the Engine Yard blog:
For starters, I’ll say that although Hotspot is a mystery, it does a generally great job at performance. The truth is that dynamic profiling is the path to excellent performance. HotSpot is much more clever than we are. It has the benefit of profile data from the running application to inform itself.
It also has the ability to de-optimize code. As strange as it sounds, this detail ends up being the catalyst to great performance. When Hotspot does an optimization it puts a cheap guard in front of the optimization to make sure the rationale for the optimization still holds true. If the guard ever fails then it de-optimizes back to a slow path. The reason why this rocks, is that Hotspot can then be super speculative with aggressive optimizations. If the informed bet pays off, it pays off huge. If it doesn’t pay off, it gets reset with additional knowledge for a future potential optimization and some extra cost for trying out the not-quite-right optimization.
Here’s a demonstration of Hotspot in action:
In this graph we’re running a mandelbrot generator many times and plotting the amount of time it takes to generate it each time. If you look at JRuby 1.4.0 on the right side JRuby isclearly smoking Ruby 1.8.7 and doing very well against 1.9.2preview2. If you look at the progression as JRuby starts, you can see that we start slower than 1.8.7 but rapidly pick up steam as Hotspot kicks in.
Very interesting to see the performance of using JRuby (i.e. the Java Virtual Machine with HotSpot) versus a straight Ruby run.
OH: blocking an IP range to stop spam is equiv to “We’ve gotten spam from the state of CA so we’ll block email from there”. @cwalcott





