Skip to content

Weblog About Jim Jim's Resume Discussion Mailing List Search
  You are not logged in Link icon Log in Link icon Join
You are here: have browser, will travel

Twitter Updates
Pro Services

Jim Roepcke specializes in WebObjects (Java), Plone (Zope, Python), and Cocoa (Objective-C).

  • consultation
  • development
  • documentation
  • mentoring

Contact Jim for more information.

Python Tutorial

I presented the Introduction to Python for Plone developers tutorial at the first Plone conference in October 2003. Slides and Video are available to all on the plone.org site.

Badges

Proud Member of the ACM

Proud Member of the Association for Computing Machinery

RSS reader for Mac OS X

NetNewsWire: More news, less junk. Faster

Fantasy Trading of HBWT at:

Listed on BlogShares

Design by:

Powered by Plone
Blog Directory - Blogged
Log in
Name

Password

 
I forgot my password; please send me a new one.
 


Friday, December 28, 2007

Apple bug # 5664745: Terrible performance copying large number of small network files

28-Dec-2007 03:17 PM Jim Roepcke:
Summary:

When I try to copy a large number of trees of files from a remote network share using the Finder, it takes nearly as much time just to "prepare to copy" as it does to actually copy. If it would just start copying right away instead of counting how many files it needs to copy, it would go much quicker.

Steps to Reproduce:

1. Mount a remote volume in the Finder.
2. Select a large number of directories containing many files to copy
3. Copy (Cmd-C)
4. Create a folder on local Desktop.
5. Open new folder.
6. Paste (Cmd-V)
7. Wait while the copy window counts how many files it's going to copy.
8. Wait.
9. Wait.
10. Wait.
11. Do something else.
12. Come back thinking it would be done but it's still counting.
13. Wait.
14. File a bug report about how Finder could just be copying instead of counting.
15. Check on the copy after writing step 15.
16. Still "6 minutes" (read: 20 minutes) to go, keep writing the bug report.

Expected Results:

I expected the copy to begin when I did the Paste (step 6). I know there's a lot of files, I know it's not enough to fill up my disk, and I'd like files to start copying right away. If it must count, can't it do that while it's copying?

Actual Results:

I had to wait way too long to copy files from a network share.

Regression:

Copying a small number of large files wouldn't cause a huge counting delay, just a large number of small files.

Notes:

Perhaps a "stop counting, start copying now" checkbox in the copy window would help.

Thanks!

Thread: 0 replies. reply Last updated: 5:19 PM

Wednesday, December 19, 2007

Done for the term

Finally, I'm done school for the term. Just returned from my last exam. I expected it to be really hard but it turned out to be really easy. :-)

It would be nice to take some time off but thanks to shitty circumstances that I hope improve soon, I don't have that luxury.

Thread: 0 replies. reply Last updated: 11:10 PM

Patched Oracle's code

I'm upgrading an old WebObjects 5.2.x application to run on WebObjects 5.4 on Leopard with Java 1.5. The old Oracle classes they were using didn't seem to work with the new stack, so I'm using their latest JDBC jar now. While I can at least connect with the new jar, WebObjects punts when it asks the JDBC driver to fetch the data type metadata from the database.

At first I thought it was a bug in my code, but it turns out it's actually a bug in Oracle's code. Using the debugger, breaking on SqlException and digging around in memory, I found the SQL string that the Oracle code had generated to send to the database, and found a typo in it.

It should have read "SELECT ..., 93 as data_type, ..." but instead it said "SELECT ..., 93as data_type, ...".

Using the javap tool I was able to inspect the JVM instructions the OracleDatabaseMetaData class was using, and confirm there *is* actually a space missing before the word "as" in the SQL and it's out of my control.

Then I got the bright idea to patch the bytecode. :-)

There's a tool called the Class Construction Kit available from the old BCEL site on Sourceforge. It lets you inspect AND modify Java class files.

I loaded the class file using CCK, it was trivially easy to fix the code. Then it was just a matter of putting the exploded jar file into my classpath and bingo, problem solved, no more SqlException, and my application runs!

It's a good thing I just learned the JVM instruction set for our compiler class this term, it would have been a lot harder to diagnose and fix this problem without that experience.

And people say going back to school was a waste. Hardly.

Thread: 0 replies. reply Last updated: 1:10 PM

Thursday, December 13, 2007

oil += pringleRecycler.process(garbage)

PopSci's Best of What's New 2007

'Everything that goes into Frank Pringle's recycling machine-a piece of tire, a rock, a plastic cup-turns to oil and natural gas seconds later. "I've been told the oil companies might try to assassinate me," Pringle says without sarcasm.'

Thread: 0 replies. reply Last updated: 4:16 PM


December, 2007
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  
Nov  Jan
 
Sponsors
Research

Jim Roepcke is Willing to Fail

Books

I'm currently reading:

I'm currently reading Programming Erlang

I co-authored:

I co-authored this book