357 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
Token bucket!
Sun, Jun 8th 2014 289
"Employee of the Quarter" (not)
Fri, Dec 27th 2013 327
Geek-o-Terica 17: Accuracy vs. Precision, The Time Drift Chronicles
Mon, Sep 9th 2013 177
Some Interesting Tech I’ve Been Involved With Lately
Sat, Apr 20th 2013 198
The Interesting Difference Between "Exception" and "RuntimeException" (Java)
Sat, Feb 2nd 2013 163
Geek-o-Terica 14: How Using "LimitEntries" Can Mess Up Db Replication (Unintended Side-Effects)
Wed, Jan 16th 2013 187
"Reflections on Reflecting Light" - Java program
Wed, May 9th 2012 143
Top 10
How to get ALL of the documents: db.search() vs. db.AllDocuments vs. AllDocuments view
Mon, Oct 25th 2010 638
"Employee of the Quarter" (not)
Fri, Dec 27th 2013 327
Token bucket!
Sun, Jun 8th 2014 289
Geek-O-Terica 15: Easy conversion of Notes documents to MIME format (Part 1)
Mon, Mar 21st 2011 288
Geek-O-Terica 16: Easy conversion of Notes documents to MIME format (Part 2)
Mon, Apr 4th 2011 213
Some Interesting Tech I’ve Been Involved With Lately
Sat, Apr 20th 2013 198
Geek-o-Terica 14: How Using "LimitEntries" Can Mess Up Db Replication (Unintended Side-Effects)
Wed, Jan 16th 2013 187
Geek-o-Terica 12: Finding databases by Replica ID vs. by path
Mon, Nov 15th 2010 182
Using Fiddler to monitor HTTP traffic in Domino Java agents
Mon, Mar 14th 2011 179
Geek-o-Terica 17: Accuracy vs. Precision, The Time Drift Chronicles
Mon, Sep 9th 2013 177


Bob Balaban
 
Blog Title In Theory...
Blog Description Bob Balaban’s Blog
Blog URL http://www.bobzblog.com/tuxedoguy.nsf/
RSS Feed http://www.bobzblog.com/tuxedoguy.nsf/feed.rss
PlanetLotus Feed http://planetlotus.org/profiles/rss/bob-balaban
Validate Feed feedvalidator.org or validator.w3.org
Feed Last Checked Sep 01, 2014 5:23:37 PM EST. Realtime Update:
Languageen-us
Landed Here Dec 17, 2007
Location
Posts: # / 1st / Latest - -
Total Hits 5,536. myPL RSS Selections: 139


Recent Blog Posts
289


Token bucket!
Sun, Jun 8th 2014 11:10a   Bob Balaban
Greetings, geeks! I came across this problem on a project I'm doing: given a RESTful API on a web application server, how do you "throttle" calls so that a given authenticated user can only make a certain number of calls (N) per time interval (W), where both N and W are configurable. The solution I came up with is basically a “Token Bucket” with a sliding time window. What surprised me when I got something working was how easy it really was to implement. The context in whi [read] Keywords: application applications java server twitter
327


"Employee of the Quarter" (not)
Fri, Dec 27th 2013 2:20p   Bob Balaban
Greetings, geeks! This one is not a technical topic, so feel free to move on. In my work email today, I received a shotgun message announcing the current "Employee of the Quarter". The lucky designee receives preferential parking (near the building entrance) for 3 months. There was a long-ish description of how great the EotQ is, and why they were selected for this honor. Not to take away from someone who is obviously (from the email description) a very hard worker, get-it-done typ [read] Keywords: email twitter
177


Geek-o-Terica 17: Accuracy vs. Precision, The Time Drift Chronicles
Mon, Sep 9th 2013 5:20a   Bob Balaban
Greetings, geeks! Ever need a software timer to see how long it took to do something? This is a common task, right? And the basic technique is simple: capture the current time, do your thing, preferably for a while so that you average out a large number of operations to eliminate random perturbations, capture the current time again, and report on the difference between the two times. Sounds easy, right? But there are complications. Such as: What is the relative granularity of the time span you a [read] Keywords: applications java laptop network server twitter vm
198


Some Interesting Tech I’ve Been Involved With Lately
Sat, Apr 20th 2013 8:00p   Bob Balaban
Greetings, geeks! Some of you have been wondering what I've been up to lately. No, not a stealth-mode startup, not a new API for Notes/Domino, nothing like that. In fact, I'm at about the 6-month mark in a whole new (to me) tech area: storage and storage management. It's one of those things that's a whole lot more complicated than you'd ever think, until you start to dig into it. Me, I thought a "disk" started and ended with that box on the end of a USB cable that you plug into a la [read] Keywords: domino notes laptop twitter
163


The Interesting Difference Between "Exception" and "RuntimeException" (Java)
Sat, Feb 2nd 2013 6:30p   Bob Balaban
Greetings Geeks! I hope everyone who attended Lotusphere IBMConnect '13 had a good time and has returned home safely. I didn't attend (again, I stopped going after the first 17), but I've been hearing that it was pretty good. I learned something new about certain types of exceptions in Java programming the other day. Here's the context: I had an Enum class with a few items in it I had a String that came from outside the program that I wanted to convert into an enum'ed constant Thi [read] Keywords: lotusphere application java twitter
187


Geek-o-Terica 14: How Using "LimitEntries" Can Mess Up Db Replication (Unintended Side-Effects)
Wed, Jan 16th 2013 12:12p   Bob Balaban
Greetings, Geeks! This one is going to get uber-geeky real fast, so hang onto your gaming consoles. We need a little background, but I'll keep it brief. Most of you probably know that whenever a document is saved (written to disk in the NSF), 2 list items automatically get updated: $UpdatedBy is a list of the names of the people who modified (and, initially, created) the document. The $Revisions item is a list of date/time values indicating the times at which the updates occurred. So, t [read] Keywords: lotus notes ods application database development properties twitter




143


"Reflections on Reflecting Light" - Java program
Wed, May 9th 2012 6:10p   Bob Balaban
Greetings Geeks! Today it is my very great pleasure to introduce to you a new guest blogger: my son David. He has graciously allowed me to prevail upon him to write about his recent science fair project, titled "Reflections on Reflecteing Light". That may sound innocuous, but to quote one of my favorite movies, "That's no ordinary rabbit!". David took this project through our local high school's science fair, was invited to the regional fair, and then to the Massachusetts state science [read] Keywords: blogger email java
144


Happy 5th? Yeah, 5th
Tue, Apr 10th 2012 8:40p   Bob Balaban
Greetings Geeks! So. March 30, 2007 was my first blog entry. Evidently I missed my own 5th Blanniversary! :-( Better late than never, I suppose. In theory, anyway :-) I know I don't post here often, but I do hope that when I do post, it's worth reading. For some people, anyway. I'll quote from a nice person who commented on that first post: "energetic,funny,cute--that's what I feel about you from your special explanation about "In Theory".I think you must be very content while wr [read] Keywords: lotus notes xpages application development twitter
135


"Programming Domino With Java" - Final Flush
Mon, Jan 2nd 2012 3:10a   Bob Balaban
Happy New Year, Geeks! Here's the 7th (and final) installment of the book. Thanks again for all the positive feedback. The first installment can be found here The 2nd installment is here The 3rd is here The 4th is here The 5th is here and the 6th is here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and ex [read] Keywords: domino ibm lotus notes R5 application development java twitter
140


"Programming Domino With Java" - Sixth Sip
Tue, Dec 6th 2011 10:30a   Bob Balaban
Greetings, Geeks! Here's the 6th installment of the book. Thanks again for all the positive feedback. The first installment can be found here The 2nd installment is here The 3rd is here The 4th is here The 5th is here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 ye [read] Keywords: domino ibm lotus lsx notes R5 application development interface java microsoft twitter
105


"Programming Domino With Java" - Fifth Slug
Mon, Nov 28th 2011 4:30p   Bob Balaban
Greetings, Geeks! Here's the 5th installment of the book. Thanks again for all the positive feedback. The first installment can be found here The 2nd installment is here The 3rd is here The 4th is here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 years old. There are [read] Keywords: domino ibm lotus notes R5 bug java
122


"Programming Domino With Java" - Fourth Hit
Sun, Nov 20th 2011 12:50p   Bob Balaban
Greetings, Geeks! Here's the 4th installment of the book. Thanks again for all the positive feedback. The first installment can be found here The 2nd installment is here The 3rd is here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 years old. There are lots of things in [read] Keywords: domino ibm lotus notes R5 eclipse java
124


"Programming Domino With Java" - Third Gulp
Mon, Nov 14th 2011 5:50p   Bob Balaban
Greetings, Geeks! Here's the second installment of the book. Thanks again for all the positive feedback. The first installment can be found here The 2nd installment is here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 years old. There are lots of things in it that are a [read] Keywords: domino ibm lotus notes R5 applications database java
126


"Programming Domino With Java": Chunk the Second
Wed, Nov 9th 2011 3:40p   Bob Balaban
Greetings, Geeks! Here's the second installment of the book. Thanks again for all the positive feedback. The first installment can be found here All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 years old. There are lots of things in it that are amusingly dated, even laughab [read] Keywords: domino ibm lotus notes R5 java
106


"Programming Domino With Java" - First Installment
Wed, Nov 2nd 2011 6:11p   Bob Balaban
Greetings, Geeks! Here's the first installment of the book. Thanks again for all the positive feedback. All of the book content (as is all of the content on this blog) is Copyright 1998 and 2011 by Looseleaf Software, Inc. You may not reproduce or distribute the book's content without permission from me. Some Caveats and explanations: - This book is now 12 years old. There are lots of things in it that are amusingly dated, even laughable. One example: the absurd emphasis on Java [read] Keywords: domino ibm lotus notes R5 database interface java
74


Anyone interested in me posting my 1998 book?
Sat, Oct 29th 2011 8:50a   Bob Balaban
Greetings, Geeks! In 1998 I published a book titled "Programming Domino 4.6 With Java" (see the Amazon page here). It did fairly well, but of course it's a bit dated now, and it went out of print in 2000. While you can apparently get a used copy for $0.59 (plus shipping), I was thinking I might post the PDF version of the whole thing here on my blog (the rights to the book reverted to me when the publisher declared it out of print, so it's legal). There are bugs in there, which I suppo [read] Keywords: domino ibm notes java
78


Check out CouchConf in New York, October 24
Mon, Oct 10th 2011 5:10p   Bob Balaban
CouchDb has gained notice in recent years as an innovator in the "NoSQL" data management space. CouchDb was invented by Damien Katz (http://damienkatz.net/), a former colleague of mine from the old days at Iris Associates. Couch is now open-sourced (via Apache, I think) and Damien's new company, CouchBase (http://www.couchbase.com/), helps organizations use it effectively to solve all sorts of business (and other) problems. If you're in the New York City area on October 24th, check it out. [read] Keywords:
213


Geek-O-Terica 16: Easy conversion of Notes documents to MIME format (Part 2)
Mon, Apr 4th 2011 5:10a   Bob Balaban
Greetings, Geeks! Recently I posted some sample code showing you how to convert Notes documents to MIME format on disk, using the Notes Java APIs. Unfortunately, if you need to do this kind of conversion using some other platform (such as .net), the job is a bit harder. A key method on the Document class (doc.convertToMIME()) is missing in the COM classes for Notes. Why? No idea, someone should ask Lotus about that. Probably has something to do with fear (but that's just speculation on my p [read] Keywords: lotus lotusscript notes application development integration interface java twitter
288


Geek-O-Terica 15: Easy conversion of Notes documents to MIME format (Part 1)
Mon, Mar 21st 2011 4:10a   Bob Balaban
Greetings, Geeks! MIME is a data format that has become central to transmission of email over the Internet. The nice thing about it is that everyone uses it for mail interchange, and that it's standard. The Domino server converts incoming MIME-formatted messages into Notes documents, and outgoing Notes email documents into MIME formats. As of (I think) Notes v6, you can specify that you want incoming MIME messages to remain in their native format within the NSF database. In these cases, the [read] Keywords: domino lotus lotusscript notes notes client R5 rich text application database development email java server twitter wiki
179


Using Fiddler to monitor HTTP traffic in Domino Java agents
Mon, Mar 14th 2011 4:00a   Bob Balaban
Greetings, Geeks! If you're writing Domino Java agents that use HTTP requests to talk to the Internets, you might need to debug your code by capturing the actual bits that leave your computer as Web requests, or even by looking at the responses that come back. I recently had to do just that for a customer project. I could write debug logs for the URLs and "payloads" that I was sending and receiving, but you don't easily get to see the HTTP headers that come and go. I found that I cou [read] Keywords: connections domino lotus lotusscript notes application development eclipse java network twitter vm
110


Backup your GMail account to NSF
Mon, Feb 28th 2011 10:30a   Bob Balaban
Greetings, Geeks! I read with concern the recent reports of some GMail accounts disappearing, as I use a couple of them for business and other purposes. I thought about writing a program to download all my mail and store as backup in a Notes database, but then I remembered that Notes already has a built-in feature for doing that: IMAP integration. It took me 5 minutes to set it up and download over 7000 messages from my (thankfully still operating) GMail account. It even converted GMail " [read] Keywords: lotus notes application database development integration server twitter
105


Geek-o-Terica 14: How Using "LimitEntries" Can Mess Up Db Replication (Unintended Side-Effects)
Fri, Feb 18th 2011 2:30p   Bob Balaban
Greetings, Geeks! This one is going to get uber-geeky real fast, so hang onto your gaming consoles. We need a little background, but I'll keep it brief. Most of you probably know that whenever a document is saved (written to disk in the NSF), 2 list items automatically get updated: $UpdatedBy is a list of the names of the people who modified (and, initially, created) the document. The $Revisions item is a list of date/time values indicating the times at which the updates occurred. So, t [read] Keywords: lotus notes ods application database development properties twitter
93


Presenting at "IDoSphere" - Debug Domino Java Agents With Eclipse
Wed, Feb 9th 2011 5:50a   Bob Balaban
Greetings, Geeks! Suffering from post-Lotusphere let-down? Never fear, sign up now for "IDoSphere"! It's cheap, it's got great content, and it's all online, no need to leave the comfort of your own desk. Register HERE for the special 10% discount, use the coupon code IDS2011BB My session is: Debugging Notes Java Agents With Eclipse There is still no Java debugger (that humans can use) built into Domino Designer. If you want to build a complex Notes or Domino agent using Java, h [read] Keywords: agent domino lotusphere notes eclipse java
113


Geek-o-Terica 13: Notes Response Hierarchies - Without Views
Mon, Dec 6th 2010 3:00a   Bob Balaban
Greetings Geeks! So. Everyone who's written any interesting amount of LotusScript (or Java) code in Notes or Domino has done the whole "get a view, get a document, get the first response to that, travel the (possibly deeply nested) response hierarchy..." thing. Probably more than once. It can be tedious, and you often have to create special views in your app that are used only for code navigation, which can blow up the size of the NSF. Yes, you can use the NotesViewNavigator class to manag [read] Keywords: domino lotus lotusscript notes application database development java properties twitter
182


Geek-o-Terica 12: Finding databases by Replica ID vs. by path
Mon, Nov 15th 2010 3:00a   Bob Balaban
Greetings, Geeks! Everyone who writes application code (LotusScript or Java) in Notes/Domino uses Session.GetDatabase(, ), if not all the time, then at least frequently. I haven't done a "Geek-o-Terica" post in a while, so this seems like a good topic with which to revive the series. First of all, let me state that this article is NOT about whether you should use hard-coded database server/path names in your code, because you shouldn't, end of story. Why not? Because databases can ( [read] Keywords: admin domino lotus lotusscript notes notes client application best practice database development java profile server twitter
76


Busy 2 Weeks: ILUG and DNUG
Sun, Nov 7th 2010 4:40a   Bob Balaban
Greetings, Geeks! Welcome to USian Standard Time (1 hour earlier in most states). I'm off later today for an 11-day swing through Northern Ireland (note proper spelling as supplied by Mr. Steve McDonagh: "Norn Iron") and Germany for ILUG2010 and DNUG. ILUG continues its tradition (and I believe it was the first to establish this tradition) of having people attend for free: the sponsors pay the freight. The conference is organized and staffed by volunteers. It's a terrific event, [read] Keywords: agent domino ilug notes application development email google java server social software twitter xml
638


How to get ALL of the documents: db.search() vs. db.AllDocuments vs. AllDocuments view
Mon, Oct 25th 2010 4:20a   Bob Balaban
Greetings, Geeks! Have you ever had to write an agent that looks at ALL of the documents in a database? As is usual with LotusScript/Java and the back-end classes in Notes, there's more than one way to do that. Actually, there are (at least) 3 common techniques: 1) Database.AllDocuments 2) Get the "All Documents" view and iterate 3) Database.search("@all") I used to always use (and recommend) Database.AllDocuments, which returns a DocumentCollection instance. It's very efficien [read] Keywords: agent lotus lotusscript notes application database development java twitter
129


32K limit exceeded, huh?? Why SUMMARY is not always your friend
Wed, Oct 20th 2010 5:40p   Bob Balaban
Greetings, Geeks! So there I was (don't you love stories that start out that way?). I was writing an agent to take journaled email messages, expand group names in the various recipient lists (SendTo, CopyTo, etc.), and then save a copy of the message with expanded lists in another database. The group expansion issue was a little tricky, because Notes lets you nest group names (an email or security group can include the name of another group). That was fun to solve, maybe I'll post that [read] Keywords: agent lotus notes rich text application database development email java security twitter
84


Tri-State LUG slides and demos posted
Tue, Oct 12th 2010 10:40p   Bob Balaban
Greetings, Geeks! Had a great time yesterday at Tri-State LUG in New York. We had a good turnout (more than 100 people), and it was fun. I've posted my slides and sample Java code on their site: http://tristatelug.org/tristatelug/tslug2010.nsf/session.xsp?action=openDocument&documentId=5C0A5710D1B8B6F780257791005AA0AE The "download" demo is nearly identical to my "Drain Google" sample, which you can also find here. Enjoy! (Need expert application development architecture/cod [read] Keywords: ibm application development google java twitter
73


Tri-State LUG is Happening October 11
Fri, Sep 17th 2010 6:40a   Bob Balaban
Greetings, Geeks! Tri-State Lotus User Group are having their annual day-long event in New York on 11 October. Attendee registration is free! I did a session at last year's gathering, it was a terrific group of sessions, and a great chance to really interact with the "showcase" sponsors. This year I'm doing a session titled "Cloud" Computing with Notes: Using Google APIs to get stuff done". Here's the abstract: If you're like many, many people these days, more and more o [read] Keywords: agent domino lotus notes email google java server xml
68


Market Opportunity: Someone should create a directory service based on RDBMS
Fri, Sep 10th 2010 7:10a   Bob Balaban
Greetings, Geeks! I had an idea a few years ago that it would be a great idea for IBM (or someone) to create a directory service that could be used BOTH for server and application security AND for application services. Like the directory in Domino does for Notes and Domino app builders today, but based on a platform (RDBMS) that everyone already has. When I (re-) joined IBM in 2005, I wrote it up on an internal blog site. I think I got 3 comments. But I still think it's a good idea, and, [read] Keywords: admin collaboration domino foundations ibm lotusscript notes application applications database development enterprise google microsoft password security server sql twitter
79


Slides and demo code from ATLUG presentation: Debugging Java Agents for Humans
Fri, Aug 27th 2010 9:00a   Bob Balaban
Greetings Geeks! I had a great time at the Atlanta Lotus User Group (ATLUG) meeting yesterday. Many thanks to IBM for helping me with expenses, and many many thanks to Darren and Lisa Duke for letting me sleep at their house! The presentation I did was a slightly updated version of my "2-headed beast" deck, which you can also find here and here Here is the revised slide deck: balaban2HBeast..pdf And the associated java files: Agent1.java Agent2.java DebugAgentContext.java [read] Keywords: domino ibm lotus notes application development eclipse java twitter
69


Drain Google: Sample code to get all your stuff back from GoogleApps
Mon, Jul 26th 2010 11:45a   Bob Balaban
Greetings, Geeks! Have you tried out Google Apps yet? Are you using any of their facililties for file sharing, email, collaborative web sites, or even for posting videos (YouTube)? If so, the you may have noticed that over time you've accumulated a lot of assets in Google's "cloud". But what happens when you want all of that stuff back? What if you gave lots of people free GMail accounts, but then you decide you need to upgrade them to a real enterprise messaging system? Or what if yo [read] Keywords: agent domino notes quickr application database development eclipse email enterprise google java password security twitter
65


Want to debug Java agents INSIDE Designer? You can! (sort of)
Wed, Jul 7th 2010 1:20p   Bob Balaban
Greetings, Geeks! Here's a little something I stumbled upon last night: (using Designer 8.51) a way to actually debug Java agents *without exiting Domino Designer*! I'm pretty sure this is not documented, or actually, even supposed to be possible. But, here's the scoop. First, this only works if your agent is also set up to be a Java "application", i.e.,it has to have a main() method in it. To see how to do that, visit my previous posts on the "2-headed beast" technique. A [read] Keywords: agent domino ntf application development eclipse java properties twitter workspace
80


I’m speaking at ATLUG (Atlanta Lotus User Group) in August
Thu, Jul 1st 2010 3:30p   Bob Balaban
Greetings Geeks! I am very pleased to report that I've been invited to speak at the August ATLUG meeting, in Atlanta, on the 26th. My topic will be: "Debugging Java Agents for Humans", basically a demonstration of some techniques, collectively called "The 2-headed beast", that allow you to code and debug Domino agents in Eclipse, then paste them into Designer without changing a line. So, Come On Over! Should be a rockin' good time. Check out http://www.atlug.org for details. Thank [read] Keywords: domino ibm lotus eclipse java
74


Two-Headed Beast redux
Fri, Jun 4th 2010 4:29p   Bob Balaban
Greetings, Geeks! Just a quickie to let you know that my friend and colleague, Chuck Connell, has posted some very cool enhancements to my original 2-headed beast samples on his downloads page. LOTS of other very interesting stuff there too, so go check it out. My write-up on Two-Headed Beast is here. (Need expert application development architecture/coding help? Contact me at: bbalaban, gmail.com) Follow me on Twitter @LooseleafLLC This article ©Copyright 2010 by Looseleaf Softwar [read] Keywords: domino lotus notes application development eclipse java twitter
69


I am doing 3 sessions at The View Admin/Developer Conference this week
Mon, May 10th 2010 3:18a   Bob Balaban
Greetings, Geeks! This week is a big annual geekfest here in the Boston area: The View's Admin/Developer conference. This year I am presenting 3 different sessions: Debugging Notes Java agents with Eclipse (the "2-Headed Beast" technique) Advanced programming with Notes/Domino COM classes (stuff you never thought you'd be able to do) Deconstructing Web services: How do they really work and what to do when they don't Tuesday is "jump-start" day, and the regular ses [read] Keywords: admin domino lotus notes eclipse java




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition