sab39

... indistinguishable from magic
effing the ineffable since 1977
Making a Japi face - Classpath hackers are awesome

Making a Japi face - Classpath hackers are awesome

12/1/2006
(03:15:01 PM) mjw: BTW. I am going to create the 0.93 branch now.
(03:15:22 PM) mjw: Unless there is something that really, really, really needs to go in in the next 30 minutes.
(03:15:46 PM) sab39: mjw: well clearly we really really need those last 6 beancontext methods and the one in java.text ;)
(03:16:19 PM) mjw: sab39, That is OK. You still have 28 minutes.
(03:16:40 PM) sab39: mjw: well my way of fixing japi errors is to poke other people until they do it
(03:16:52 PM) sab39: mjw: so... wonder how long till my new blog post hits planet ;)
(03:17:03 PM) ***mjw adds a note to keep out of reach of sab39
(03:17:14 PM) sab39: mjw: you're not immune, remember RCSID? ;)
(03:17:20 PM) mjw: sab39, It's there now
(03:17:31 PM) ***sab39 must have timed posting it well
(03:17:36 PM) tromey: your blog showed up on mugshot just now
(03:19:13 PM) neugens: sab39. ping
(03:19:23 PM) neugens: hehe, I've read your blog
(03:19:33 PM) sab39: neugens: pong
(03:19:43 PM) neugens: sab39: I'll try to take care of the missing error for the text package
(03:19:52 PM) sab39: neugens: cool :)
(03:20:00 PM) neugens: sab39: not sure it will be in the 0.93 release though :(
(03:20:06 PM) rkennke: sab39: hey it works!
(03:20:16 PM) sab39: rkennke: never fails
(03:20:31 PM) sab39: neugens: what, you can't get it working in 30 mins? ;)
(03:20:40 PM) neugens: 30 minutes?
(03:20:41 PM) neugens: ouch!
(03:20:50 PM) neugens: I need to push a fix for decimal format first!
(03:20:54 PM) ***neugens rush
(03:20:59 PM) ***neugens is away: I'm busy
(03:21:10 PM) rkennke: lol
(03:21:34 PM) sab39: :)
(03:21:34 PM) mjw: O boy.
(03:22:09 PM) mjw: I can pick up fixes on the release branch later also.
(03:24:01 PM) gnu_andrew: sab39, the problem with fixing those beancontext ones is that I've not seen any real testcases
(03:24:15 PM) gnu_andrew: sab39, I can throw something in but won't be 100% as to whether it's right
(03:24:37 PM) gnu_andrew: sab39, e.g. the proxy ones would intuitively suggest that you have a provider which you call
(03:25:35 PM) ***sab39 is giggling like an evil maniac right now. It really does never fail ;)
(03:26:01 PM) rkennke: sab39: haha
(03:26:23 PM) rkennke: gnu_andrew: I'd say throw it in. As long as noone complains ... B-)
(03:26:50 PM) robilad: rkennke: you're talking to the guy who talked me into starting to merge in classpath into kaffe back in 2003. ;)
(03:27:14 PM) sab39: gnu_andrew: I imagine if there are problems with an implementation you're more likely to get decent bug reports if it's an attempted implementation than if it's just entirely missing, too
(03:27:59 PM) sab39: I don't know whether to feel proud or guilty that the net effect of my gently and not-so-gently nudging other people to do stuff is so vastly disproportionately higher than the amount of actual work I've done myself ;)
(03:28:26 PM) tromey: sab39: arguably motivating other people is harder and more useful than doign the actual work :)
(03:28:26 PM) rkennke: robilad: hehe
(03:29:11 PM) gnu_andrew: sab39, good point, I'll hack something together and stick it in
(03:29:17 PM) sab39: robilad: well your starting that also prompted me to un-abandon japi after 2 years of not having touched it... not that that compares with the amount of work you did of course :)
(03:29:24 PM) gnu_andrew: sab39, no-one has even cried about them being missing yet...
(03:29:30 PM) mjw: sab39, The trick is to create your own reality-distortion-field in which you actually believe all the work was really yours anyway.
(03:29:36 PM) sab39: gnu_andrew: I have ;)
(03:30:00 PM) sab39: tromey: thanks, that's a heck of an ego boost ;)
(03:30:59 PM) robilad: sab39: you're good, and we like you ;)
(03:31:10 PM) sab39: mjw: I'm not sure even steve jobs could create *that* big a reality distortion field
(03:31:14 PM) sab39: robilad: aww, thanks
(03:31:19 PM) robilad: we also like casey very much, but he seems to not be around tonight.
(03:31:31 PM) sab39: <robilad promiscuous=true>/me hugs</robilad>
(03:31:46 PM) sab39: (that never gets old ;) )
(03:32:21 PM) gnu_andrew: sab39, I meant in terms of actually using it of course... ;)
(03:32:33 PM) gnu_andrew: seems sab39 is the Classpath cheerleader... :)
(03:32:43 PM) ***robilad hugs sab39 back .. thanks god it's friday! and heads out for a beer
(03:32:51 PM) robilad: later, mates
(03:32:52 PM) ***sab39 waves his pompoms
(03:32:59 PM) sab39: (now there's a disturbing picture)
(03:33:16 PM) sab39: bye robilad
(03:33:36 PM) sab39: (I'm so blogging this conversation btw)
(03:34:21 PM) Stephmw: I'm sooooo happy I didn't make any sarky comments then
(03:34:25 PM) Stephmw: wooops.
a different perspective
By Dmitri Trembovetski at 2006/12/03 17:57

Is stuffing a bunch of untested unreviewed code into a release brunch with minutes to spare supposed to impress?

Dmitri

Um
By Stuart at 2006/12/03 19:00

Depends what you're trying to achieve. Me, I say that having coverage of an API area that isn't fully tested is better than not having any coverage of that area at all.

It'd be one thing if Classpath were releasing crappy untested code, but if you think that, you really haven't been following the project terribly well.

And when it seems that no application we can find has ever used these methods so it's fairly hard to find a way to test them at all - well, we can leave them unimplemented forever, or put them in untested so that when somebody *does* use them, they at least *might* get some success, or have some motivation to file bug reports.

I dunno
By Dmitri Trembovetski at 2006/12/04 13:23

So, the "api coverage" numbers being quoted around should not really be taken seriously, because who knows how much of it consists of hastily written code put in with no testing or reviews (not that it's having those automatically mean bug-free code, of course, but they do help). Correct?

And no, I haven't been following the project much, so I can't really comment on the overall quality. But posts like this don't offer much confidence.

Dmitri

The API coverage numbers tell part of the story
By Stuart at 2006/12/04 16:22

The other part of the story is the Mauve test results, test coverage reports, and if Sun ever get around to releasing the TCK, the results of that too.

I maintain Japitools so naturally I'm focused on API coverage numbers, but I'm well aware that's only part of the story. And yes it's a nice number to be able to throw around and it could be considered misleading to only throw that number around and not give the big disclaimer every time you do.

But you should also be aware that Sun has plenty of crappy stupid code in their implementation too. There are a number of places where Classpath does a better job already - Roman's HTML work is a great example.

I know
By Dmitri Trembovetski at 2006/12/04 19:17

> But you should also be aware that Sun has plenty of crappy stupid code in their implementation too.

Oh I know, believe me =)

However, it's not an excuse to put untested stuff into your code base =)

Dmitri

Hohum
By Roman Kennke at 2006/12/05 16:28

I wouldn't call the code untested that goes into the codebase. Normally at least the developer does some testing as far as he can make testcases out of the spec or some kind of application that uses the implemented API. Preferably, we also write Mauve tests (that's what I and others normally do when implementing stuff that has no applications that use the API). The overall quality of the code that goes into the codebase is surprisingly quite good, despite the extreme programming model this project.

It is not untested...
By Mario Torre (Email) at 2006/12/08 15:56

The code is not untested. We try to test it as much as we can, and we use Mauve to cover both area that are not widely tested (in applications) and also common code. Infact, mauve is "like" the TCK. When the release is ready, and the code base is almost stable, we freeze it and do testing on the release branch.

Add a comment:
Subject:
Name:
Email:
Url:
Title: Don't enter anything here if you're a human.
CAPTCHA: Don't enter anything here if you're a human.
Comment: