Warning: include(/home/ensonik/public_html/wp//wp-content/plugins/google-buzz-er/google-buzz-er.php) [function.include]: failed to open stream: No such file or directory in /home/ensonik/public_html/wp/wp-content/themes/lightword/header.php on line 3

Warning: include() [function.include]: Failed opening '/home/ensonik/public_html/wp//wp-content/plugins/google-buzz-er/google-buzz-er.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/lib/php') in /home/ensonik/public_html/wp/wp-content/themes/lightword/header.php on line 3
August « 2008 « the higher you fly

the higher you fly

25Aug/080

Interesting math and the impact of a 7% growth rate

I always mean to school myself to be better with math, and good presentations like this make me want to do that.

I am constantly sidetracked on my learning paths by different things (leadership, patterns, another language, ....).

I'll at the very least try to track down these good presentations and link to them. That 7% growth rate was something else. I knew about the grains of rice story, but the rest of the presentation brought it all together really well.

Tagged as: No Comments
22Aug/080

Yes, foreign keys are necessary

Agreed. Especially this.

Whatever the reason, by putting the data validation as close as possible to the data munging, you make it harder to circumvent.

I'm a stickler for clean data. A while ago I came across an interview with one of the senior EBay architects and he mentioned that they don't use them. And it makes absolute sense for them.

In most of cases, there is no need to bypass foreign keys in the name of performance. Mr. Ted, said it best:

You're going to get, at most, 1,000 people on your app, and maybe 1% of them will be 7-day active.  Scalability is not your problem, getting people to give a shit is.

Tagged as: No Comments
21Aug/080

Hibernate session load vs. get gotcha

The Hibernate documentation (3.2) for the session.get() and session.load() methods state:

load Returns: the persistent instance or proxy

get Returns: a persistent instance or nul

Notice "or proxy" in the load documentation. This last part took me an hour to figure out while debugging an application. In my case, for whatever reason (which I haven't figured out), the load method was returning a proxy instead of an full instance, resulting in a state exception (closed session). For some unknown reason, this was only happening while running inside the web container and access the method through a transactional service. Test cases ran fine.

So changing my dao method from:

return (User) getSession().load(User.class, id)

to

return (User) getSession().get(User.class, id);

fixed everything.

Tagged as: , No Comments
17Aug/080

links for 2008-08-17

Filed under: Links No Comments
15Aug/080

Delicious 2.0 impressions

I've been a slow adopter of Delicious. But V2, combined with the new habit of publishing thoughts through Wordpress - commonly called blogging - has pushed me to use it much more:

  • Useful Javascript snippet which delicious offers to insert a link roll on Wordpress.
  • Delicious can post daily summaries through xml-rpc *
  • The Firefox add-on is awesome. With the death of Google Sync (which really wasn't great anyway), I've found a great alternative to centralizing my bookmarks.

* I can't get this to work right now, but I'm obviously doing something wrong because it's working for others. [08/15/08 02:30:01 PM -0700] Sorry, you are not allowed to publish posts on this blog." When I figure it out, I'll let you know.

Note: No, I don't work for Yahoo. I just really like the new version.

Filed under: Uncategorized No Comments
14Aug/080

Unmentioned SCM benefit

Cleaner code = more maintainable code

I'm a notorious code deleter. If I see something that doesn't seem to be used, I won't hesitate a second to delete it because I know that code is easily retrieved from SVN. The name of the game is maintainability. I don't care for code that might be useful. If it's not useful now, it's in the way of me understanding what you're tying to tell the computer.

Speaking of which, here's a quick tip for the young ones. Never comment a block of code and check it into your SCM. This is a sign of weakness and uncertainty. If you're checking something into a production branch, you better be sure it works!

This code committed to SVN tells me that the committer wasn't sure what he was doing.

Fail

Fail

13Aug/080

About Continuous Partial Attention

I stumbled on this article through this Oreilly Radar entry. I'd say that a lot of people "suffering" from this already know it implicitly, but she words it efficiently.

Continuous partial attention describes how many of us use our attention today. It is different from multi-tasking. The two are differentiated by the impulse that motivates them. When we multi-task, we are motivated by a desire to be more productive and more efficient. We're often doing things that are automatic, that require very little cognitive processing. We give the same priority to much of what we do when we multi-task -- we file and copy papers, talk on the phone, eat lunch -- we get as many things done at one time as we possibly can in order to make more time for ourselves and in order to be more efficient and more productive.

To pay continuous partial attention is to pay partial attention -- CONTINUOUSLY. It is motivated by a desire to be a LIVE node on the network. Another way of saying this is that we want to connect and be connected. We want to effectively scan for opportunity and optimize for the best opportunities, activities, and contacts, in any given moment. To be busy, to be connected, is to be alive, to be recognized, and to matter.

What's difficult is getting this through to a boss, colleague or friend who also is bogged down by it. As a programmer, it's important that I be extra careful. I tend to easily sink into this pattern to the detriment of my work (and family).

(I figure there is possibly an RSS feed somewhere with all of Linda's posts, but still, I created a Yahoo Pipes feed of the entries posted on the Huffington Post under her name. The pipe is accessible here)

12Aug/080

Jackrabbit first steps – Getting the bunny hop to work

I just got hired by a company that's into content. Specifically, they're building a product/platform on top of JSR-170. Should be pretty exciting to learn the new domain ...

While I wait to start, I'm getting ready by reading up and trying out a few things so I can jump in right away.

Initial setup wasn't as easy as I'd like ... what can I say, I'm lazy and I like nicely packaged downloads. Jackrabbit doesn't offer that except through maven, and I'm still not on board with maven, so I had to download the 56 dependencies manually (brand new home computer being used for the first time in dev - so I have none of the usual suspects which a dev machine would have; lucene, commons-x, ...).

(Interestingly, this is the first project I see which uses the sl4j library. I've always been lazy and stuck to log4j cause it "just works", so never bothered. This might be a good occasion to indirectly see it at work.)

Seems, up to now (yes, by now, I've done more than just the first hop), that this is a great abstraction for any content platform ... wish I'd known before. A failed project in my current company was greatly due to a data model deemed complicated by the PHP guys ... (yes, ellipsis denotes an unfinished or unexpressed thought or opinion)