Brett Morgan's Insanity Weblog Zilla : Days of our lives. Honestly.
Updated: 24/11/2002; 11:59:48 AM.

 

Subscribe to "Brett Morgan's <Strike>Insanity Weblog</Strike> Zilla" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

 
 

Saturday, 19 October 2002

Coding in the dark

Diagnosing Java code: Unit tests and automated code analysis.
...which is more valuable to producing robust code, testing or static analysis and proofs? ... The main argument in favor of static analysis (including type checking) is that the results hold for all possible runs of the program, whereas passing unit tests only guarantee that the tested components hold specifically for the inputs they were tested with (on the platform they were tested on)...The main argument in favor of unit testing is that it is much more tractable. You can test many constraints of a program that are far beyond the reach of contemporary static-analysis tools... Each tool has a major strength that can be particularly useful to complement the other tool: Unit tests are able to show the common paths of execution, to show how a program behaves. Analysis tools are able to check the coverage that unit tests provide.

The commercial Clover "is a code coverage tool for Java. It discovers sections of code that are not being executed. This is used to determine where tests are not adequately exercising the code." (example: Unit Test coverage report for the Xerces XML parser) JUnitDoclet and JUnit test case Builder are similar open source tools still in alpha. Daikon infers program invariants from unit tests. (Diagnosing Java code: Unit tests and automated code analysis working together , Eric E. Allen) [Lambda the Ultimate]

I have come to the conclusion that a whole bunch of this stuff is about visibility. Unit testing is about giving visibility of unintended consequences of changes. Clover is all about giving visibility to the thoroughness of your Unit testing.

So, if you are programming without Unit Tests, you really are coding in the dark. :-)


11:33:27 PM    

Kill me now

If Architects Had To Work Like Web Designers: "Please design and build me a house. I am not quite sure of what I need, so you should use your discretion. My house should have somewhere between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick one."

[From the Desktop of Dane Carlson] [Dewayne Mikkelson and his Radio WebDog, Shadow]

Oh, and after a day or two of work the client would be ringing up demanding to know why the designs aren't completed yet, because it is merely a job of scribbling a few lines on some sheets of paper, right?
11:26:42 PM    


Language confusion

Sam Talks Languages.

One of the things about Objective-C that I found that really made life good was the typing system. It's loosely typed in a way that makes it easy to get your job done. Now, after so many years in the strongly typed Java world (or at least strongly typed on the surface), this took a while getting used to, but I now find I really like it. As well, Objective-C treats exceptions differently than Java. Instead of being in your face (and tempting people to use them as control-flow statements), they only surface when you really fuck up.

Many other folks in my circle of friends have been talking about languages with similar properties, notably Ruby and Python. Today, I saw this blog post by Sam Ruby and he's saying the same things. Cool. I'm glad that there are others who are looking at the pros and cons of working in other styles as well.

[James Duncan Davidson]

From my very uninformed viewpoint, Objective-C is starting to look a lot like python. Weird.
11:16:07 PM    


Another Blogger, Another EJB naysayer

Listen to the EJB's go Pop.

My friends who still work in the J2EE group at Sun that are charged with telling people how to write enterprise applications are now muttering about how there's a sudden demphasis on EJB's. Everyone is talking about other solutions now. Servlets (and tech built on top of them) and JDBC. Hell of a combo. Hey, I think I said that about 5 years ago while wandering the halls of CUP02. Course, not many people were listening back then. But a few were...

[James Duncan Davidson]

Hmmm. Cool. Another RSS feed subscribed. And another person making me really ponder the truth usefulness of EJBs. Having had a wonderful run down today by Mike on Sitemesh/Webwork/OFBiz EE I can honestly say that I can't see EJB's value proposition. Apart from buzzword compliance.

Which, from my understanding, is still about 80% of most funding decisions ... ;-)


11:13:27 PM    

Feh

I have moved my blog:. http://rinkrank.blog-city.com/ [Aslak Hellesoy's Weblog]

And where the hell is the RSS feed?
10:52:44 PM    


An Axis Tutorial from :: Mabo ::. Which isn't subscribable. D'oh.
10:35:51 PM    

XML to PDF? Oh, FOP It.. FOP is an open source Java API for converting XML data to PDF and other formats. This article shows you how it's done. [O'Reilly Network Articles]

Something else I'm sure I could (ab)use.
10:26:36 PM    


Upgrade treadmill

Source Repository.

javaJava 2 SDK, version 1.4.1_01 now available.

javaJSch is a pure Java implementation of SSH2.

[Erik's Weblog]

Hmm, and I just upgraded my lappy to 1.4.1. Oh well. Btw, is it just me, or did jCraft's ssh2 implementation used to be GPL, as opposed to L-GPL?
10:24:43 PM    


Addictions

Weblog Revue.

Here are a bunch of interesting weblogs, covering a variety of topics:

  • douglasp (Doug Purdy). Recently outed by Dare as a Microsoft blogger, Doug is a Java & CLR geek who is deeply involved with both current and future .NET Remoting - a topic near & dear to my heart! Somwhat surprisingly, Doug's blog has very few .NET-specific references - instead it touches more on philosophy, Doug's reading list & marathon running, Mozilla, Mac OS X/TiBook fiddling and a number of other non-technical topics. Overall, eclectic and personal.
  • Green Hat Journal (Pinku Surana). Pinku's a DevelopMentor instructor and also one of the authors of the Hotdog Scheme compiler for .NET. Topic-wise, his blog runs the gamut: observations on implementing closures in .NET interspersed with references to Justice Scalia's interpretations, thoughts on animal rights & privacy issues, and biotech.
  • Tecno-Geek Weblog (Brian Maso). Brian's another DM instructur who recently started blogging about Java and Web Services. His first contribution to the discussion is a counterpoint to Steve Loughran's excellent The Wondrous Curse of Interoperability, wherein Brian asserts that Web Service interop is overrated. This is obviously a controversial stance...
  • Thinking About Software (Alexis Smirnov). I met Alexis in person for the first time last week at the web Services DevCon, where he'd driven down from Montreal for the conference! Although I had read his blog previously and had seen his posts in Sam & Greg's Groove Experiments project, it is always good to put a face to a URL. Alex's blog tends to focus on .NET & Groove, with a good ratio of linkblogging to commentary.
  • All Things Distributed (Werner Vogels). I met Werner at the last Rotor conference - he's a researcher at Cornell, focused on high-end distributed systems, clusters & cluster management, and scalability/robustness analysis. The scale & scope of the problems that Werner is working on was truly eye-opening - the weblog updates intermittently, but it's a good subscription.
  • Fast Takes (John McDowall). John was CTO for 2Bridge, then mySimon, and is now now the VP Engineering at Grand Central. I met John ~4 years ago when I was interviewing for a spot at 2Bridge Software. John impressed me, coming across as a smart, level-headed manager & technologist. His weblog has a similarly thoughtful tone.
[Peter Drayton's Radio Weblog]

Not more blogs!! :-)
10:22:32 PM    


Beep4J

BEEP. Fed my book-buying habit today with the acquisition of the O'Reilly BEEP book. Build your own network protocol. Cool. BEEP looks very interesting as an alternative for all the contortions distributed application developers have to go through to make them work over HTTP. It provides a framework where most of the complex low-level stuff is done for you, and you just have to build your application-specific stuff on top of it. So the developer gets to decide whether the connection should be pull/push or both, stateless or stateful, pipelined or multiplexed etc. And security appears to be pluggable too.

I seem to remember Paul Hammant mentioning something about writing a BEEP module for AltRMI, which sounds like a great idea, especially for doing asynchronous callbacks. Must read more in case I'm totally wrong...

[Pushing the envelope]

Do let us know how your reading goes. I remember that there was also beep4j, but the named domain is broke for some reason...

[Later ...] http://beep4j.org/ is accessable again. I'm starting to really suspect the technical competence of my ISP. Oh well.
10:18:01 PM    


Working is better than not

Phoenix, a slimmer Mozilla. I'm giving Phoenix a spin after reading the Slashdot story - I'm not usually one for exotic browsers, Mozilla is fine for me, but it was described as Mozilla stripped down to just the browser, and since I don't use the mail, news, or IRC clients it sounded like something that might suit me. [kief.com]

I'm addicted. Why? Because the downloads work.

[Later...] Apparently there is an easy fix to make Mozilla download again. No matter, I think i prefer Phoenix anyway. The broken downloads just got me over the switching cost barrier.
10:12:30 PM    


Featuritis

Sam Ruby: "An Introduction to WSIL. Timothy Appnel: The WSIL model is more RESTful then UDDI. In many ways, WSIL is like RDF Site Summary (RSS) for Web services. RSS is a file format with pointers to published content that can be syndicated and aggregated. WSIL is a file format with references to published Web services that can be discovered and bound."  Not to mention the fact that in the current state of evolution of Web services (being that there are merely dozens and not thousands of serious services available), WSIL is far more practical than UDDI except in fairly specialized cases.  WSIL is simple, easy, extensible, decentralized, practical and cool. [snellspace]

Keeping this for future reference. I think i can guess an app or two that could use this.
10:08:50 PM    


General Purpose Reality

Ed Felten: "If I could take just one concept from computer science and magically implant it into the heads of everybody in Washington -- I mean really implant it, so that they understood the idea and its importance in the same way that computer scientists do -- it would be the role of the general-purpose computer." [lawrence's notebook]

Y'know that the powers that be are never going to "get" general purpose computing, because there is no special interest group funded by some group making zillions in profit off of them. Everyone in the general purpose computer market is pretty much on paper thin profits these days. Apart from Microsoft. Well, given Microsoft's accounting games, maybe even them too. (For instance some 15bn of their 40bn odd in cash reserves is from unpaid taxes.)
10:07:17 PM    


© Copyright 2002 Brett Morgan.



Click here to visit the Radio UserLand website.

 


October 2002
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Sep   Nov

Previous Next
blogchalk: Brett/Male/26-30. Lives in Australia/Sydney/Carlingford and speaks English. Spends 60% of daytime online. Uses a Faster (1M+) connection.
this site is a java.blog