Posted by: tjcoppet | March 29, 2014

Java 8

I recently Installed Java 8. The first thing I needed to know was how to get back. If you are using OSX you might be interested in this little tool.

The biggest problem I found so far is not Java itself, but Javadoc. More specifically, doclint. The short of it is you might want to disable it just to get your projects to build. That’s of course assuming you use Javadoc at all. In any case, the incantation is:


I write specifications and try to get developers to conform to them. This is always a mixed bag. I’ve done my share of compliance testing and prodding along the way. Here’s what pisses people off: checking for something you never cared about before and causing things not under active development to break. Not even a warning for starters.

Much of it is good actually since I’m not that much of a mess.

  • no broken references in @param, @return, @throws, @link
  • make sure you have @param, @return, and @throws where applicable
  • valid HTML

That last one is problematic. It’s not that we all don’t know to close our tags and not put block elements inside inline elements. Javadoc is trying to be compliant with W3C HTML 4.01, sort of. Who still writes HTML4? Apparently Oracle does.

After HTML4, XHTML was the next big thing. Lower case elements, quotes around attributes, validate, validate, and validate. I got used to it. So used to it I never saw what all the fuss between XHTML 2.0 and HTML 5 was about but here’s nothing that gets a specification off the ground faster than the other guy’s specification. Anyway, I embraced HTML 5 although it now looks more anal-retentive than most people’s who didn’t swallow the XML kool-aid. But this is a post about Javadoc…

"self-closing element not allowed"

Apparently, there are different interpretations of self-closing elements in HTML4 such as <br/> and <hr/>. The W3C validator issues warnings but doclint fails hard. I don’t really know and it’s so last millennium. I could go on about the speed bumps in getting inline documentation and enabling any kind of validity checking. I could go on that strict conformance to an obsolete specification isn’t the noble path. My problem is these are freaking everywhere in the OSID docs.

Maybe I should question why on earth there are forced line breaks in there. Maybe in the end it is a good thing to fix the semantics. I don’t have time for this. Bye bye doclint. Now it all looks valid!

Posted by: tjcoppet | March 15, 2014

What’s the Obsession with Colorizing TTY Output?

$ git config --global color.ui false
Posted by: tjcoppet | January 30, 2014

Found some time to look into these errors when loading excel 2004:

XML ERROR in ExcelWorkbook description
REASON: Missing Tag
FILE:   sheet.xml
GROUP:  Styles
TAG:    Style

Turns out excel is writing out a bunch of Style elements with no ID like the ones below.

 <Style ss:Parent="s16">
   <Alignment ss:Vertical="Center" ss:WrapText="1"/>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"/>
<Alignment ss:Vertical="Center" ss:WrapText="1"/>

Removed all the Style elements with no ss:ID attributes and the xml spreadsheet opened up!

Posted by: tjcoppet | January 12, 2009

Replacing Text & Preserving Formatting in a Cell

I found that if you use the built-in Excel functions to manipulate text, the formatting goes out the window if you have mixed formats within a single cell. I discovered the little written about the Characters class and wrote a grotty VBA function to help me out.

Private Sub ReplaceText(row As Integer, col As Integer, pos As Integer, 
                        oldsub As String, newsub As String)
    Dim fontName As String
    Dim fontSize As Integer
    Dim nlen As Integer
    nlen = Len(newsub)
    With Cells(row, col)
        fontName = .Characters(pos, 1).font.Name
        fontSize = .Characters(pos, 1).font.Size
        .Characters(pos, 1).Insert (newsub)
        .Characters(pos, nlen).font.Name = fontName
        .Characters(pos, nlen).font.Size = fontSize
        .Characters(pos + nlen, Len(oldsub) - 1).Delete
    End With
End Sub

Posted by: tjcoppet | December 21, 2008

Get It While You Can

I was sitting at my desk when the fog rolled in. Another wave in our weekend storm. I thought it would be great to try some evening shots in the Public Garden playing the Christmas lights against the fog, the recent snowfall, and the clouds reflecting the light of the city.

3 hours later I’m still typing at my keyboard and there’s no more fog and no more clouds. I missed it.

Posted by: tjcoppet | December 21, 2008

Boosting Web Browser Performance

If you use Firefox 3, you can enable HTTP Pipelining to give your browser a performance boost for web sites that support pipelining. It cuts down the additive latency you get from a ping-pong style of protocol by submitting the requests for the same server together. On low-latency connections it won’t matter as much but it may be more noticable for those long-distance web sites with a gazillion little gifs.

HTTP Pipelining isn’t enabled by default because apparently it can have negative effects with servers that don’t support it (it’s only been 10 years since HTTP 1.1 was published). So far so good with me, perhaps those servers have an I and an S in their name.

Go to about:config and search for network.http.pipelining. It can be enabled for http and https connections as well as set the number of requests. I jacked it up to 16 and will see what happens. I don’t use firefox as my regular browser so I’m just playing around. Safari feels “lighter” to me as an application, and gives me the illusion of performance.

But Safari doesn’t support HTTP Pipelining. Maybe in another 10 years? I did stumble on SafariSpeed which is a little utility that sets various Safari preferences such as disabling the built-in page display delay and turning off the favorite icons. If you can never remember the names of the preferences, this tool might come in handy. I can feel the difference by disabling these two “features” in Safari.

For Internet Explorer, the best thing you can do for a better web experience is to change browsers. The best thing you can do for my web experience is to change browsers.

Posted by: tjcoppet | December 18, 2008

City of the Future

I attended a lecture from Richard Dimino, CEO of A Better City. Although I’m quite familiar with most of the development projects and activities in Boston, especially those related to the CA/T project, what hadn’t occurred to me that many of the ideas were rooted in activities that occurred 30-40 years ago in Boston. And how much of a difference it makes when the communities are involved in design and decision making to preserve neighborhoods and reclaim usable space.

Dimino’s lecture centered around the theme that transportation projects can provide the biggest opportunities for urban development. Despite its problems, there is no greater example than the Big Dig. It wasn’t just about building tunnels underground. And to say that it restored downtown is an understatement. The project left a new city in its wake.

I had come to believe that the next big challenge for Boston is dealing with its aging transit system. Here is an opportunity that not only effects downtown Boston but can positively impact the life an economy throughout this region. I was disheartened to hear that the continued strategy will be based on incremental improvements and bus lines.

I first heard of the proposed Silver Line many years ago. A modern light rail system to connect the unfortunate radial design of the current T system. The improved connectivity would release pressure in Boston’s congested core, restore transit to the South End after the relocation of the Orange line, and expand the reach of the system to neighborhoods in Cambridge and Boston not conveniently situated near the existing lines. What we got was a bus to the airport.

To be fair, this plan falls under the Urban Ring and is a visionary idea that dates back to the 70’s. However, my hope for Boston in 2030 isn’t a bunch of buses stuck in traffic bringing people to and from the Red Line that stops every 50 feet in rush hour. The Green Line is cute, but it shouldn’t take 20 minutes to travel a mile. Whether or not the Urban Ring is constructed, what is to come of this growing metropolis in 25 years if we don’t start taking on the big problems.

The solutions are expensive. It is evident that the downtown subway infrastructure needs to be replaced along with many of the tunnels. The old streetcar pathways cannot support rapid transit. Control systems need upgrading to pilot and manage more capacity. My all time favorite is watching a train stopped on the Longfellow because another hasn’t cleared Park Street. When you can walk faster than rapid transit, it isn’t rapid transit.

Commuter rail in eastern Massachusetts needs to be designed as rapid transit. The city has sprawled and real estate prices have forced both residents and businesses to move further out. The frequency of service forces many people to continue drive to the subway stations, if they can find a parking space, if they bother coming into town at all.

Although the current financial situation with the MBTA does not allow for implementing big ideas, it doesn’t mean we can’t have them. 35 years ago, there were big ideas put on the table, probably crazy to most at the time. We could have simply replaced the bents of the Fitzgerald expressway or run a new harbor tunnel through East Boston. These incremental actions would have been considered safe bets for the economy of the time. Incremental approaches in long range planning lead to mediocrity. If Boston wants to compete globally it also needs to compete with new urban centers that are building 21st century transit systems.

Posted by: tjcoppet | December 9, 2008

IE6 Usage Dropping

IE6 usage on has dropped to 21% from 39% last year. Interesting, IE7 has only risen 7%. I imagine the increase in Firefox accounts for some defection from Microsoft altogether (however I personally prefer Safari).

While these are both good trends, I wouldn’t mind seeing IE6 disappear altogether. I got used to the CSS tweaks but the PNG alpha channel hacks are flaky at best.

Posted by: tjcoppet | December 9, 2008

The Uprising

Those of us in Boston like our little rebellions. There appear to be a number of people arguing over whether or not the intro price to the Nikon D3X is reasonable and debate over who needs how many pixels.

The poor reaction comes from surprise. I think many of us assumed that the D3X would follow the same path as the D2X. It didn’t. Those who tried to time the product at $5K lost, at least for the time being.

I’m still a D2X owner and feeling more like a mainframe person every day. I have 3 pain points with this camera.

  1. ISO range: D3 does well here but the D3X will likely not be that much better than the D2X (we shall see).
  2. dust bunnies: I was really really looking forward to a button to push.
  3. megapixels: don’t tell me I don’t need any

The D3 solves one of my 3 pains, and the D3X also solves one. Though if I had to choose, I’d choose ISO and dynamic range over MP. And for $8K? It better knock all three out of the park and make me dinner.

Nikon sat on this since they leaked out the sensor type in a firmware release last April. Anticipation built. People are disappointed and they want Nikon to know it — so stop giving them grief.

And remember what happened when the tax on tea didn’t drop enough?

Posted by: tjcoppet | December 9, 2008

Nikon D3X

Nikon announced their new flagship camera. I feel like this guy.

Older Posts »