Kilroy Balore, CyberFOX! ([info]foxcode) wrote,
@ 2005-08-08 01:35:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Current mood: happy
Current music:(Peter Gabriel)-Sledgehammer
Entry tags:coding, ebay, jbidwatcher, release, sniping

JBidwatcher 0.9.8 is released (Fly! Be Free!)
Greetings,
...and it's away!

JBidwatcher 0.9.8 is released, with fixes for the Search and Drag-and-Drop problem (eBay's URL change), and more...

Straight out of the changelog, here's the latest...

  • Fixed eBay's URL format change that broke search & drag-and-drop
  • HTTPS Proxy support in the Configuration Manager
  • System Tray support on Windows
  • New customizable columns: Location, Feedback, Feedback %
  • Speedups for bidding and sniping
  • PayPal Icon for auctions which appear to support PayPal payments
  • Some fixes for eBay changes can be done w/o having to download a new version.
  • Time is synchronized on a more consistent schedule
  • Sign-in failures are recognized during bid attempts
  • Much more detail on each step of bid/snipe attempts
  • You can place bids/snipes over the BIN price if you really want to
  • You can disable .html.gz archival of the auctions you've monitored
  • Several other minor bug fixes and code improvements
From a coding perspective, I'm starting to seriously use the TQM (TimeQueueManager) code I put together several versions ago, which uses a heap to manage a queue of items that will occur in the future, and instead of doing them itself, it requeues the events onto their appropriate queue. It's so cool that I named it 'SuperQueue' in the thread names. (One of the code changes this version is that I actually named all the threads, so debugging and such, tools will see names that make sense instead of 'Thread 5'.)

I eliminated the hackish way time was being synchronized; every time the 'time data' was being checked, it was checking if it needed to update, which put logic all OVER the place, and made it non-deterministic when the time would update. Instead the time is now synchronized every half hour, firmly. This stripped out a bunch of code, which always makes me feel happy.

The System Tray feature, a benny for Windows users who have been feeling neglected as I focused on making JBidwatcher work especially well on the Mac, works in a particularly hackish way. It actually extracts, via homemade code, a .DLL from the .JAR that it ships in, and puts it into ${user.home}/.jbidwatcher/platform/tray.dll and then loads it as an external library.

So JBidwatcher kind of acts as its own installer, now. I think one of the next things I'm going to have to do is provide an 'Uninstall' menu item, that gets rid of all the cruft in ~/.jbidwatcher.

With this version, and the way things appear to be cleaning up a whole lot. I need to rebuild the screenshots on the homepage, including multi-platform shots, and document everything that's shown, and turn that into a PDF or something that can act as a manual, and then maybe I can think about calling it a 1.0.

For all those who want to know what's coming, here's the list of things that I put off as potentially being '0.9.9':
  • Allow direct machine-to-machine synchronization
  • When network fails after waking (sleep wakeup), pause the network-related threads for 10-15 seconds, so it doesn't spam the logs with network failures and mark items as unreadable
  • A 'Properties' sheet for tabs, which allows setting the tab completed items are moved to, the background color, and anything else I can think of.
  • Document how to use a USB pen-drive with JBidwatcher. (One of my ingenious users figured this out, and I think it should be shared...)
  • Synchronize auctions.xml to a 'known location' on the filesystem, so tools which can't find it in .jbidwatcher can do their own network synchronization, and potentially allow loading from that location too.
  • Show how many bids you've made through JBidwatcher, either under the affiliate program or not. (Some users were curious, and I think it's a cool stat.)
  • Save search window location and size, and maybe the same for the config window and which tab is open.
Several people have recommended recently using JNLP. I plan to do that, using the extremely nice collection of JNLP fixes supplied by Nick Minutello, but it will have to wait until I go to my own server for web hosting, instead of being on Sourceforge. I've paid for the new hosting already, and am configuring it as I find time. The switchover to the new 'jbidwatcher.com' server should be completely transparent, and will allow me to do a few tricks I've always wanted to do, like allow 'bugs.jbidwatcher.com' to go straight to the bug list. I will still be using Sourceforge's bug and feature tracking, and forums, etc., of course, I just feel the need for more control over my own web server (and it's necessary for JNLP hosting, imo).

I'm also going to admit something, since I've been testing timing heavily lately. The affiliate program loading code does slow down bids a bit. Specifically, in recent tests, doing a snipe/bid with the affiliate program turned on took 3-4 seconds to pre-load the item, another 1-2 seconds to do the bidding, and then 4-5 seconds to load the post-bid data. Now the post-bid data is important, but by that point the snipe is already done. So the actual snipe takes 5 seconds, but it feels like 10. Now, with the affiliate program off, it takes roughly 1-2 seconds to place the bid and check the status, and it's done. So sniping and bidding via affiliate program feels a lot slower, but in truth it's only a few seconds slower for the critical part. (If you're shooting for the mythical 1-second snipe, I hate to admit this, but I've never gotten a 1-second snipe out of JBidwatcher, although I haven't tried in around a year.) Anyhow, JBidwatcher tries to adjust for the extra load time, but don't try for 1-3 second snipes. Leave at least 5-7 seconds of buffer, and I recommend 10 seconds for those on the fastest connections. I use 10 myself, usually, and have never had it fail to bid in time, and really rarely with enough time for anyone to respond. I'll see if there isn't some way I can asynchronously post-back the result of the snipe, while it's loading the post-bid page in the background.

All this is with the new speed changes I made in this version. The primary fix was to make it so JBidwatcher doesn't try to update any other items during a bid, so there's no network conflict with itself.

Anyhow, that's the news, and I'm outta here... Enjoy the new version, the new features, and as usual let me know ASAP if there's anything wrong!

-- Morgan Schweers, CyberFOX!



Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…