/ #blog 

Certifiying an expired Notes ID

Dept. My-outsourced-memory When you move past the expiration date, here’s the procedure to recertify a user ID You have a user ID that has expired and you would like to manually recertify it. The ID can open Notes, because the password is valid, but the user cannot do anything else, as the end date has expired. If the user selects File, Tools, User ID, Certificate, Request Certificate, a message is generated indicating the certificate has expired. ...

Jens-Christian Fischer
/ #blog 

Looking for a all-in-one office printer/scanner/fax

And boy does this seem to be difficult… Here’s what I need: b/w printing (color nice, but not fundamental) duplex printing a big plus Color scanner (good, but not pro quality) Fax - manual and from computer Network enabled (wireless plus) Postscript plus I don’t care about ink / laser. Price is secondary, I want a high-quality experience. This for an office with 2-3 people and small-medium volume. No high-end machines please. ...

Jens-Christian Fischer
/ #blog 

Finding side effects with IDEA

I was on a bug hunt the last couple of hours. When I looked at a web page served by our application server, it’s content showed up. When I pressed reload, only the summary of the content showed up. Somehow, someone changed my ( my! ) private variable somewhere. I sprinkeld the code liberally with print statements (ahh - nothing goes over a good dose of those) because the app would be quite cumbersome to run in the debugger. ...

Jens-Christian Fischer
/ #blog 

Finding a URL in a text

How do you find a URL in a normal text and turn it into a HTML link using regular expressions? That was the challenge I faced recently. Oh - and of course not only well formed url’s (with the https:// in front of them, but any kind of url. Why invent something, when there’s google to search? I found Ben Forta’s “How to match a URL” but unfortunately it was way to forgiving in what it parsed, so I had to expand it a bit. Here are the results of a couple of hours of labor: UPDATE: There was a nasty bug, that truncated all urls where the host started with the letters of one of the TLD’s to the reminder … www.invisible.ch got truncated to visible.ch. The code below is corrected and simplified a bit (removed a couple of unneeded groups) ([\s]|^|<p>) (https?://)? (([\w]+?[-\w\.]+?\.)+ (a[cdefgilmnoqrstuwz]|b[abdefghijmnorstvwyz]| c[acdfghiklmnoruvxyz]|d[ejkmnoz]|e[ceghrst]| f[ijkmnor]|g[adefghilmnpqrstuwy]|h[kmnrtu]| i[delmnoqrst]|j[emop]|k[eghimnprwyz]| l[abcikrstuvy]|m[acdghklmnopqrstuvwxyz]| n[acefgilopruz]|om|p[aefghklmnrstwy]|qa| r[eouw]|s[abcdeghijklmnortvyz]|t[cdfghjkmnoprtvwz]| u[ugkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]| com|edu|mil|gov|org|net|int|info|biz|name|pro |museum|aero|coop){1})+ (:\d+)? (/([\w/_\.]*(\?\S+)?)?)? ([\s]|</p>|<br />|$) and then replace it with: $1>a href="$2$3$6$7"<$2$3$6$7>/a<$10 ...

Jens-Christian Fischer