assertTrue( )'s Image
More about this blog
Latest Post
24 Aug 2010
Total Posts
104
Readers
824
Liked
0
Disliked
0
Views-Per-Post
07.92
vote up
0
vote down

Common User-Agent Strings

Today's post is more of a note-to-self than anything else. I'm always trying to remember how the various browsers identify themselves to servers. The attendant user-agent strings are impossible to carry around in one's head, so I'm setting them down here
 
Kas Thomas
Aug 25 2010 01:23 AM
vote up
0
vote down

Looking back on the Aldus-Adobe deal

There's a terrific interview with Paul Brainerd about the history of Aldus Corporation over at computerhistory.org. In it, Brainerd comments on the why and how of Aldus's eventual acquisition by Adobe (a subject of considerable interest to me, since the
 
Kas Thomas
Aug 23 2010 02:35 AM
vote up
0
vote down

Day Software Developer Training: Days Two and Three

I made it through Days Two and Three of developer training here at Day's Boston office. Under the expert tutelage of Kathy Nelson, the eight of us in the class got a solid grounding in:Apache Sling and how it carries out script resolution. (For this, we
 
Kas Thomas
Aug 21 2010 12:51 AM
vote up
0
vote down

Day Software Developer Training: Day One

Yesterday, I made it through Day One of developer training at Day Software's Boston office. It was an interesting experience.There are eight of us in the class. Interestingly, two of the eight enrollees have little or no Java experience (one is not a
 
Kas Thomas
Aug 19 2010 01:42 AM
vote up
0
vote down

Understanding how script URLs are resolved in Sling

One of the things that gives Apache Sling a great deal of power and flexibility is the way it resolves script URLs. Consider a request for the URL/content/corporate/jobs/developer.htmlFirst, Sling will look in the repository for a file at exactly this
 
Kas Thomas
Aug 16 2010 10:53 PM
vote up
0
vote down

JSOP: An idea whose time has come

The w3c-dist-auth@w3.org list today received an interesting proposal for a new protocol, tentatively dubbed JSOP by its authors (David Nüscheler and Julian Reschke of Day Software). As the name hints, JSOP would be based on JSON and would be a RESTful
 
Kas Thomas
Aug 13 2010 03:27 AM
vote up
0
vote down

Skype heads for IPO of the century

Skype has made its filing with SEC, ahead of what will no doubt be the biggest IPO of the century. Interesting tidbits from the filing:Skype's (top-line) run rate is $812 million per year28 percent of total Internet users have signed up with Skype (506
 
Kas Thomas
Aug 11 2010 02:02 AM
vote up
0
vote down

A "Smart Sobel" image filter

The original image ("Lena"), left, and the same image transformed via Smart Sobel (right).Last time, I talked about how to implement Smart Blur. The latter gets its "smartness" from the fact that the blur effect is applied preferentially to less-noisy
 
Kas Thomas
Aug 08 2010 02:36 AM
vote up
0
vote down

Implementing Smart Blur in Java

Original image. Click to enlarge.Image with Smart Blur applied. Notice that outlines arepreserved, even where the oranges overlap.One of my favorite Photoshop effects is Smart Blur, which provides a seemingly effortless way to smooth out JPEG artifacts,
 
Kas Thomas
Aug 04 2010 01:32 AM
vote up
0
vote down

An image histogram in 30 lines of code

The source image ("Lena").Its pixel-distribution histogram.According to Wikipedia, "An image histogram is a type of histogram which acts as a graphical representation of the tonal distribution in a digital image. It plots the number of pixels for each
 
Kas Thomas
Aug 01 2010 07:51 PM
vote up
0
vote down

First impressions of Acrobat 10

For the past several months, I've been privileged to be allowed to test Acrobat 10 Professional. And although I'm not at liberty to discuss actual features in detail, I can give some subjective impressions of the software.Overall, my impressions are
 
Kas Thomas
Aug 01 2010 03:00 AM
vote up
0
vote down

Compiled languages are too complex

In a talk Thursday at the O'Reilly Open Source Conference, Google distinguished engineer Rob Pike blasted C++ and Java for being overly verbose and too complex."I think these languages are too hard to use, too subtle, too intricate," Pike averred.
 
Kas Thomas
Jul 25 2010 02:05 AM
vote up
0
vote down

Learning about ESP pages in Sling

Lately I've been doing a fair amount of server-side scripting using ESP (ECMAScript Pages) in Sling. At first blush, such pages tend to look a lot like Java Server Pages, since they usually contain a lot of scriptlet markup, like:<%// script code
 
Kas Thomas
Jul 19 2010 01:31 AM
vote up
0
vote down

Crashing the Crash Report Tool

Lately I've been crashing the Mobile Device Crash Report Tool a fair amount. But so, too, have a lot of other people, judging from the buzz on the Googlesphere. Evidently iTunes is fussy (on Vista, especially) when it comes to indiscriminate
 
Kas Thomas
Jul 16 2010 05:37 PM
vote up
0
vote down

How to hack an OpenOffice spreadsheet with JavaScript

One of the most difficult aspects of learning to write OpenOffice macros (in JavaScript) is that there is so little example code available. OpenOffice comes with dozens of useful code examples written in OpenOffice BASIC, but for Beanshell, Python, and
 
Kas Thomas
Jul 15 2010 01:30 AM
vote up
0
vote down

Please, no more Whisky Tango Foxtrot error messages

I've been seeing this monolog box once in a while in Acrobat these days (not only Acrobat 10 Professional, which is still in development, but Acrobat 9 Pro as well). I can't really call it a dialog box, since it is, in fact, more of a monolog. This is
 
Kas Thomas
Jul 13 2010 10:03 AM
vote up
0
vote down

Server-side E4X in Apache Sling

Over the past couple of days, I've been blogging a fair amount about Mozilla Rhino. One of the surprising (to me) things about Rhino is how much faster it is on its own (i.e., when you include js.jar in your classpath) than when you use the Rhino-based
 
Kas Thomas
Jul 12 2010 05:25 AM
vote up
0
vote down

More JavaScript performance data

After yesterday's exercise comparing the execution speed of Rhino-standalone versus Rhino-embedded-in-JRE, I decided to carry out a couple more performance investigations.I was curious to find out, first of all, how much slower Rhino (a pure-Java
 
Kas Thomas
Jul 11 2010 02:36 AM
vote up
0
vote down

How to double the speed of server-side JavaScript

If you're like me, you were probably thrilled to see JavaScript support come bundled into JDK/JRE 6. But if you're using that implementation straight out of the box, you can do far better for execution speed. The trick? Get the Rhino JAR (js.jar)
 
Kas Thomas
Jul 09 2010 09:35 PM
vote up
0
vote down

Using E4X in Acrobat JavaScript

With all the talk of AJAX in yesterday's blog, I somehow managed to never once talk about XML. (How ironic is that?) But it turns out that one of the pleasures of doing JavaScript programming in Acrobat is the ease with which you can manipulate XML,
 
Kas Thomas
Jul 08 2010 08:30 PM
vote up
0
vote down

Doing AJAX from Acrobat: Tips, Tricks, and Travails

Praise ye mighty gods on Mt. Olympus: It is, in fact, possible to do AJAX from Acrobat. That's the good news. The rest of the news is (how shall we say?) not entirely salutary, and certainly not well documented. But it's pretty interesting
 
Kas Thomas
Jul 07 2010 07:28 PM
vote up
0
vote down

In defense of PDF

Can you identify the living fossil?There seems to be a growing perception, not unlike the controversies surrounding Flash, that Adobe's Portable Document Format is (in the modern world of the Web) a legacy format, something of a living fossil, a
 
Kas Thomas
Jul 07 2010 12:47 AM
vote up
0
vote down

A workaround for Acrobat JavaScript's lack of a Selection API

Acrobat has a mind-destroyingly rich JavaScript API (with hundreds upon hundreds of methods and properties, on dozens of object types), but one thing it sorely lacks is a Selection object. Bluntly put, you can't write a line of code that fetches
 
Kas Thomas
Jul 06 2010 12:57 AM
vote up
0
vote down

Designers, please don't make this UI mistake

While we're on the subject of UI faux pas, let me mention another type of blunder I'm running into more and more these days. See if you can figure out from the following screen shot what I'm talking about. (Click the graphic to see a larger version of
 
Kas Thomas
Jul 04 2010 03:18 AM
vote up
0
vote down

Cancel does not mean Done

I keep running into situations in user interfaces for well-known products where the Cancel button is misused. A typical scenario involves a configuration dialog, one that perhaps has several tabs. Because there are so many configuration options, you
 
Kas Thomas
Jul 02 2010 10:02 AM
vote up
0
vote down

Resizing a PDF document from A4 to Letter with Javascript

You'd think (wouldn't you?) that it would be easy to change the native printing size of a PDF document from A4 to U.S. Letter, or vice versa. I'm not talking about simply printing the document out with "Shrink to Printable Area" enabled in the Scaling
 
Kas Thomas
Jun 26 2010 03:45 PM
vote up
0
vote down

Chrome annoyances: Console does not support multiline code entry

I'm dismayed (and shocked) to learn that the Chrome Javascript console still doesn't support the manual entry of multiple lines of code; instead, you have to copy and paste multiline-code into the console to work around the problem, which frankly sucks
 
Kas Thomas
Jun 24 2010 01:55 AM
vote up
0
vote down

Where did Flash go wrong?

Harold McCracken has written a piece about Flash's origins and current condition. He lists a number of reasons why Flash finally flipped the TOO_ANNOYING bit. Among them:Flash got unreliable. "On some of my computers," McCracken observes, "in some some
 
Kas Thomas
May 15 2010 11:16 AM
vote up
0
vote down

IT's new killer app?

Yesterday, at its annual investor briefing in New York, IBM made it clear (if there was any doubt) that it sees a big future in business analytics.Company president and CEO Sam Palmisano outlined a five-year roadmap that includes a reported $20 billion
 
Kas Thomas
May 14 2010 12:25 AM
vote up
0
vote down

Chrome 5 aces browser benchmarks

Google has quietly released a new beta version of its Chrome browser, which not only blows other browsers out of the water in terms of performance, but comes with a handful of important new features, including direct integration of Adobe Flash.In testing
 
Kas Thomas
May 08 2010 04:25 PM
vote up
0
vote down

Steve Jobs details Flash shortcomings

Steve Jobs recently posted an interesting essay called "Thoughts on Flash." It succinctly summarizes Jobs's various objections to Flash technology. Some of his major points:Adobe’s Flash products are 100% proprietary. They are only available from Adobe,
 
Kas Thomas
May 02 2010 08:33 PM
vote up
0
vote down

Lucene and Solr development merged

I note with interest that the Apache Lucene community has recently decided to merge the development of two of its best-known sub-projects: Lucene->Java and Lucene->Solr. As a result, both code bases now sit under the same trunk in SVN and Solr runs off
 
Kas Thomas
Apr 13 2010 03:57 PM
vote up
0
vote down

Solar-powered aircraft makes 87-minute first flight

Wired reports that an aircraft known as Solar Impulse reached heights of 4,000 feet above land, during its 87-minute-long inaugural flight.The craft is said to weigh 3,500 pounds, with a wingspan of 208 feet and a cruise speed between 40 and 45 mph.In
 
Kas Thomas
Apr 08 2010 02:50 PM
vote up
0
vote down

Job recovery trendline for last 11 recessions

This excellent graph from Calculated Risk shows the decline (and recovery) in jobs as a percentage of the work force, over the last eleven U.S. recessions (from 1948 on). Click on graph for a larger view.It's a scary graph, in that it shows the current
 
Kas Thomas
Apr 03 2010 04:33 PM
vote up
0
vote down

Microsoft gets behind SVG -- finally

They say good things come to those who wait. Well, a lot of us have waited a long time (ten years, roughly) for Internet Explorer to support SVG, and some of us didn't think it would ever happen. Some of us have been proven wrong, however. It now
 
Kas Thomas
Mar 28 2010 01:32 PM
vote up
0
vote down

Commodore 64 set for comeback

The Commodore 64 personal computer, not seen on the market since the 1980s, appears poised for a comeback.You may recall that the original Commodore 64 (a follow-on to the earlier VIC-20) was an early home computer running on an 8-bit processor. It was
 
Kas Thomas
Mar 25 2010 03:18 PM
vote up
0
vote down

How to get your software-development priorities right

I've been spending some time reading the 37Signals book Getting Real. It has a lot of common-sense advice for keeping development projects on track. Here's a sampling of some bullet-points that I found particularly worthwhile:Explicitly define the
 
Kas Thomas
Mar 23 2010 01:53 PM
vote up
0
vote down

Are the fat years really over?

Michael Marth makes the interesting case that "the fat years are over" -- referring to the years of predominance of fat-client applications (like Eclipse RCP) over browser apps. He notes that the traditional orthodoxy -- that Web UIs (while faster to
 
Kas Thomas
Mar 19 2010 12:18 PM
vote up
0
vote down

IBM allows sneak peek at M2 Insight Engine

Hadoop World: Enabling ad-hoc Analytics at Web Scale What I found interesting about this presentation is:the existence of a (not-so-)secret IBM Emerging Technology Project called M2, which IBM calls an insight engine for enabling ad-hoc business insights
 
Kas Thomas
Mar 12 2010 11:32 AM
vote up
0
vote down

Microsoft Job Interview Questions

I was surprised to see that Wikipedia has started collecting job-interview questions that have been asked by Microsoft's interviewers during followup (second round) interviews. The questions posted so far include the following:Design a cellphone for a
 
Kas Thomas
Mar 10 2010 06:54 PM