Archive for the ‘Technology’ Category

The harsh (maybe imaginary) scrutiny of the git push

Monday, December 20th, 2010

When you’re thinking about how other people will think about your code, it changes the way you code a little, doesn’t it?

I am in the really early phases of Complykit, so I have the freedom and the luxury to do whatever I want right now. I can just go straight to code, I can use some modeling software, and I can dig around in my backpack for that wadded up piece of paper I scratched some ideas on a few weeks ago while I was getting my oil changed. I don’t care where the ideas are or how I wrote them down as long as I don’t forget them.

But now that I have Github set up and I’m checking things in now and then, I’m not feeling quite as care free as I normally would. It’s like I’m having a conversation with some mythical, hypothetical, nonexistent stranger—maybe even a hostile stranger much smarter than myself (not hard). Maybe the reviewer will misunderstand and see my kludgy, temporary stuff out there and assume that it’s the best I can do. And that thought makes me just a little insecure.

I may have been sitting by myself in a bagel shop writing code, but I suddenly felt like I was under the harsh glare of scrutiny “social coding” and the git push. For now, however, I just want to think in code, make a bunch of mistakes, have a bunch of half-baked ideas, write lots of kludgy but fun stuff just so I can see it working. I don’t want to care about what you think right now but I don’t want to not check in until it all looks “perfect.” There will be time to make it all pretty later, for now I just want to play.

I’m going to pretend nobody’s there for a while.

First JUnit test run

Monday, December 20th, 2010

It’s kind of a slow blog day, so I just thought I’d point out that there are a handful of new changes to Complykit on Github, and that I got the first JUnit test to run tonight:

Making some progress on Complykit

Thursday, December 16th, 2010

I was listening to a free hour with Robin Sharma on my iPhone Audible app today, and he had some good advice: just go for 1% per day. His point is all the great things happen slowly, but with persistence. So, here’s my 0.01 for the day. I made some mild improvements to the Complykit website, created a Nabble email list for Complykit, and added some skeleton code based on American wage and hour regulation.

As it turns out, there are some really interesting wage and hour regulations that I think will  showcase the kind of features I want to demonstrate in Complykit very nicely. Even something as simple as complying with minimum wage can be kind of complicated sometimes. And it’s a problem that almost everyone in the business world understands, so it’s a good starting point. (Sheesh, it’s even a good ending point: PeopleSoft was practically built on stuff like this and even rebuffed a $7 billion offer from Oracle once).

I mocked up some code based on what I learned about the wage and hour compliance requirements tonight and pushed itto the Complykit repo on Github. Click around a little, Github will make you giddy.

Finally, I took some screenshots of the skeletal code to make a few improvements to the Complykit homepage. There’s still not much there, but I hope you’ll sign up for the mailing list. That way I can stop talking to myself, and I can start talking to you.

Complykit is now available on Github

Saturday, December 11th, 2010

… not that there’s much there. More about complykit later.

https://github.com/mrice/complykit

First Drools rules written and run

Wednesday, December 8th, 2010

I’m pretty excited. I’ve been working on Drools off an on for the past week or so. I finally got down to writing some DRL code, and I got it to work. It’s really simple, but it works.

A weekend with Ubuntu and Drools

Sunday, December 5th, 2010

Since I can’t afford a Mac right now and I’m absolutely sick of my old Windows machines, I freaked out on Friday night and upgraded one of my old little Dell netbooks to Ubuntu 10.10. Overall, I’m thrilled with it. It’s pretty, and it’s pretty fast.

I also got my Java development environment all set up and finally got the Drools IDE extensions wired into Eclipse. It’s pretty slick, actually. However, the installation was really tough–an issue I’ll try to write up and explain to the community eventually. But I made it, and here’s the proof:

In case I didn’t mention it before, here’s what I’m trying to do: I want to experimentally take a variety of legal compliance issues and translate them into business rule syntax. Even though there are as many business rule syntaxes as there are business rule engines, I thought I should stick with Drools. After all, most of my background is Java enterprise development, especially on JBoss…

My example company is Airtrans, a fictional cross between Boeing and Airbus.

Business rules to the rescue?

Tuesday, November 30th, 2010

As you know, I’m working on a book I call the Compliant Capitalist. It tries to solve the problem of streamlining enterprise legal compliance. My hypothesis is that an enterprise needs three key business processes: (1) awareness, (2) adherence, and (3) dispute resolution. The awareness process becomes aware of legal compliance issues and the adherence process ensures, well, adherence. Dispute resolution is irrelevant to this post (I think).

The problem I’m meditating on tonight is how to use software to bridge the awareness and adherence process.

So, I’m messing around with rules engines like JBoss Drools and Jess to see if they might help. I have a feeling they are too complex and the IT absorption rate is still too low, but it’s an intriguing idea. I just wish there were lighter, faster, and simpler guides for getting started with Drools.

My Cyber Monday at oreilly.com

Monday, November 29th, 2010

I can’t believe I finally bought into Cyber Monday, but I did–for myself! O’Reilly was selling all their e-books for 60% off, and I couldn’t resist. But I also wasn’t really prepared. So, I picked a few things at random.

First, I bought Beautiful Code by Andy Oram. I was a huge Code Complete fan back in the day, so I’d love to read something a little more modern.

Next I bought a pretty new edition of Enterprise JavaBeans. Yeah, I know… don’t look at me that way. As much as I wanted to get something about Rails or Python or something, I just realistically don’t have the time to invest in any new languages right now. And besides, I really love Java–even now. And it’s still a huge factor in the enterprise, and I think I want to use it for QuickComply and OpenECA. So there.

Finally, I took a flier on The Art of Community by Jono Bacon. I thought I might get around to reading it eventually, but it’s been the one I can’t stop reading. Bacon really hit a nerve when he talked about the importance of belonging. I have these huge intellectual  ambitions  that pulled me all over the map, and I really miss feeling like I belong anywhere.

Why not use heat maps for legal GRC?

Wednesday, November 10th, 2010

Most of the GRC vendors I’ve taken a look at so far use heat maps. Heat maps seem like a great tool for assessing risk in GRC, but I never used a heat map when I was doing pure technology consulting in the enterprise.

Now that I’ve got legal interests, I wonder why I never learned to use heat maps in law school (ok, for those of you who’ve been to law school, you can stop rolling your eyes) to help clients understand risks. It’s easy to construct: You project the likelihood of the risk on the Y-axis (e.g., “certain,” “likely,” “possible,” and etc.) Then you project the impact to the organization on the X-axis (e.g., “insignificant,” “minor,” moderate,” “major,” and “catastrophic”). The most likely and most damaging risk shows up in the top right in red.

A heat map is so simple that your board of directors can instantly assess enterprise risk in the time it takes to ride from the second to third holes on the links. So why not do it for legal GRC?

While I’m asking questions about the heat map, I have two more: (1) can the heat map be automated as the enterprise tooling assesses and scores the key risk indicators and (2) should the level of risk vary at the level of reporting (e.g., risk to team, department, subsidiary, legal entity, etc)?