Now *that* is interesting. An invitation for me to use Table Talk again, but this time to pay. No thanks.
Category Archives: Communications, Connection, Internet, Web, Media
Don’t fear the OOP
A tutorial that teaches object oriented programming and Java that is actually fun. via camworld.
I got children!
Thanks to Brett and Mark for registering at BlogTree. I’m honored guys 🙂
A Costly Affair
With so much talk about why software sucks and bugs are the norm, it’s refreshing to finally hear what I feel is a core issue being mentioned. Nicholas Petreley nails it in the a great ComputerWorld article A Costly Affair.
That brings us to the one remaining obstacle to stable client software, the unpleasant problem nobody likes to address. I’ll give you a tip on how to track it down. Sit down at a Nintendo GameCube or a Sony PlayStation 2 and play some games from start to finish. Then do the same on a PC. Chances are, you finished the console games without encountering any quirks, bugs or game crashes. At most, you might have been able to exploit a programming bug to cheat at the games.
In sharp contrast, you probably encountered your first problem with the PC games when the installer complained that your version of DirectX was out of date. (DirectX is the Microsoft graphics API designed mostly for PC games.)
Assuming you had enough CPU horsepower and memory to make the game enjoyable once it was installed, the game probably crashed at least once, if not several times, before you were done.
Console games are more stable because a game console is a highly predictable platform with a stable API. If you can find any differences between the hardware or software in two PlayStations or GameCubes, the differences will be subtle and unlikely to affect the way a program behaves.
Pick any two PCs, however, and they are likely to have radically different display cards and drivers, different DirectX APIs or different versions of the operating system. They probably won’t even have the same chip sets on the motherboard!
The video game console is the holy grail of application development – a stable environment in which to develop and deploy software. I’m not sure I agree with Petreley on how to get there in the PC realm. Network computers again? I don’t know. You would think that Java itself would get you there….
Some Java notes for today
Congratulate creator of Roller, David M. Johnson, his family is celebrating the birth of their third son!
Elliotte Rusty Harold writes 10 Reasons We Need Java 3.0 at O’Reilly. I largely agree with him.
java.sun.com has a short tutorial I’m reading on Deploying Software with JNLP and JavaTM Web Start.
Scott McNealy suggests Open Source Could Be Hurting J2EE. Read theServerSide.com and the resulting thread. Why is it always the politics of confrontation instead of cooperation?
A Web Start community site
The Saturn Times covers Java Web Start news.
I havn’t written a desktop app in ages. Maybe I will give Web Start a try when I get the time.
Getting HTML text with timeouts rediculously hard in Java
Creating a web crawler in Java is easy – if you don’t need to set timeouts shorter then the defaults. Here is a JavaWorld article and a Sun Developer Connection article on doing just that. But the moment you do require control over timeouts… ouch does it get confusing. Note that this post covers version earlier then 1.4.x.
Here goes some of the major issues I’ve found: 1. The HTTP enabled classes do not expose a timeout property setting method. 2. The lower level socket classes do expose that method, but require a crap load more programming to utilize. This great JavaWorld article covers that approach. Run it on this site though and watch what happens. 3. Trying to hack your way to a timeout with the HTTP classes and threads exposes a registered bug – the HTTP operation may not properly close.
Anyway, after much searching, jGuru pointed me towards Jakarta’s HTTP Client. I recall reading about it over at rebelutionary. But guess what? After who knows how long digging I discovered the timeout property was not exposed in the last release build. Ok I figure, I’ll go grab the latest nightly build and cross my fingers. Now some undocumented depencies are exposed. You will need to download and install the Jakarta Logging Component and Sun’s Java Secure Socket Extention to get it to work.
I could have written the low level Socket code…. but there is a strong part of me… the lazy programmer in me… that believes in never re-writing the wheel. I knew there had to be a set of packages that would allow me do this with as little as possible coding. By finding those packages, especially from a reliable source such as the Apache Jakarta project, I can have a higher degree of confidence in what I’m putting together. And oh yes… just write about 50 lines of code 🙂
Anyway… anyone else with these findings or did I just take a walk I didn’t need to?
Hey I won an award!
Like PhillyFuture before, About Pennsylvania has decided to give paradox1x it’s “Pennsylvania Destination of the Day” award. For other (and most of the time much more interesting sites) related to PA, check out the site.
We’ll miss ya
Citing reasons that are easy to relate to, Shelley is saying bye to weblogging.
What are your top 5 favorite Swing apps?
That’s the title of a very fun thread at JavaWorld. You’ll find plenty of cool desktop Java apps there.