Physical key cryptography

People don’t choose secure passwords, and they don’t generally use different
passwords for secure (online banking) vs insecure (mailing lists)
authentication. Public-private key cryptography is even more of a hassle for
the average person. However, now that ‘plug-n-work’ connection technologies
like USB and FireWire are fairly pervasive, and products like this USB Drive are available, it
should be fairly simple to build something that works as a ‘data key’ much like
a car or door key does. A device small enough to fit on a keyring would be
unobtrusive enough to take everywhere, and people understand physical keys, so
the learning curve would be minimal. Just plug it into your PC to ‘unlock’ your
data. It could work for encrypting your personal data on disk as well as for
sending secure messages. Even (by today’s standards) moderate storage capacity
(say 64 Mb) could store hundreds of contact details, including public keys, so
sending encrypted email could become much more transparent.

Just some thoughts that occurred while I was reading ‘Java Cryptography’.

Inside the Penumbra

Every day that I use Eclipse I am more a believer in it. I’ve never used an IDE as much as I’ve used Eclipse – it just works so great. With more and more plugins coming every day, cool stuff on the way in 2.1, and companies like IBM and Borland steering the project it’s going to dominate for sure. I’m totally with you on this one. Sorry all you IDEA guys… enjoy your favorite while it lasts.

-Russ [Russell Beattie Notebook]

Have to disagree with you here, Russ. It would be a real shame if Eclipse killed IDEA. IDEA is one of those things that just continually brings a smile to your face as you discover new things it can do, and new keyboard shortcuts. I can spend hours in IDEA without ever having to touch the mouse. And you haven’t lived (IDE-wise) until you’ve done some major refactorings that would have taken orders of magnitude more time in any other product (Eclipse included). Eclipse is good, but IDEA is like an extension of my hands.

We’ll have no casting here…

Spam, Spam, Spam, Spam, Spam, Spam, Spam.. Java’s Casts of Thousands More than any other programming language Java forces programmers to embed hard-coded knowledge throughout their code about the types of data items. The numerous explicit cast [Small Values of Cool]

Generally speaking, numerous explicit casts are a sign your design is a bit suspect. Chances are there’s some duplication to be removed (so numerous casts become just one), or the design is attempting to be too generic ie. ‘built for flexibility’, which often (ironically) results in a very brittle and inflexible codebase. I tend to find myself using casts when (a) dealing with the collections framework, and (b) writing framework code. Be suspicious if there are lots in ‘normal’ code.

Added later: having followed the post to its source, here, it looks like the code is suffering from from the ‘too generic’ problem. The Additive interface appears to be far too general to be useful. This is just my opinion of course, but I find that very specific and well defined interfaces lend themselves to flexible code far more than vague ones do.

J2EE Performance

I just got word from one of our developers, who have been testing our portal/CMS
product using WebStress. Turns out that with a combo of Apache/Tomcat/JBoss and
50 concurrent users (i.e. no “think time”) we consistently get an average page
rendering time of about 30-40ms, and this is on quite moderate hardware. Each
page has a bunch of portlets on it which displays texts, forums, images, etc.
I.e. a normal portal/website.

This is pretty good, but remember this: while the recent benchmarks of PetStore
was done with architectures that were optimized for performance, our
architecture is created entirely focusing on good design patterns and
maintainability. Plus, everything in our system is an AOP object (e.g.
Server,Site,Page,Forum,Message,Thread,Link,etc.etc., even a persistence manager
is an AOP object), so it’s pretty complex (yet simple). No corners have been cut
with regard to the design of our product. [Random Thoughts]

There is no substitute for good design (or excuse not to do it). “We must
strive to reach that simplicity that lies beyond sophistication.” – John Gardner
(courtesy of Russ).

Make it run, make it right, make it fast. I find that the third rule is often
not an issue if the first two have been followed.

Great stuff Rickard, now when can we get our hands on this monster you’ve
created? 🙂

CookWork WebBook

WebWork Advocacy.

People just don’t understand how damn cool WebWork is – so I’ve started my own mini-webwork-education-crusade.

The WebWork Cookbook  contains useful hints, tips and techniques that you probably didn’t know you could do from reading the docs. (Oh – and try to do that in another framework!)

Let’s call them ‘lessons from the trenches’

Got a use WebWork tip? Email it to me!

[rebelutionary]

Superb! This is just what I need.