Wednesday, July 04, 2012

Summer reading (if you like technology)

I've been meaning to share these links for a while now.

I spent a few days digging up a few, interesting computer science algorithms we were introduced to in school (a while ago). Back then we didn't have ubiquitous internet access nor did we have 10 years of cumulative collective knowledge via Wikipedia, blogs, articles and tangible "computer sciencey" use cases like the ones at Google, Twitter, LinkedIn to demystify them for me. During my recent wanderings on the interwebs I found these nice articles:

Folks doing interesting work experimenting with BerkleyDB and also LevelDB type of LSM stores at Yammer, VoltDB and LinkedIn.

A very detailed and thoroughly researched presentation on the state of the art in Metrics-monitoring-logging.

The Google Chrome and Android guys have been writing and presenting about the how they've been pushing browser and mobile technologies. I'm pretty sure Apple also does these things but they don't seem to talk about them openly. What impressed me was how far Web technologies have come - in terms of tooling and profiling. The sophistication is almost at par with high performance server side technologies
The confusing array of Java Web technologies requires some sorting out - Comparing JVM Web frameworks

Being a Java developer (meaning clueless about lower level, system stuff), sometimes I try to find articles about what others are doing in lower level languages, to help me stay grounded (I wish). Last month I found some on bit twiddling and other native stuff. Although I have to admit I forgot almost everything the moment I finished reading them.
Networking and latency - they go hand in hand.
The guys working on and using Lucene also have interesting things to report

I know all this has been "nice to know" or "file it for later" kind of reading. So, here's a really useful, simple Java article on handling properties and configuration files in Java using Apache Commons Configuration.

Enjoy your 4th of July holiday (for those in the US)!

Wednesday, June 06, 2012

Trip to Mt Shasta

2 weeks ago we visited Mt Shasta over the Memorial Day weekend. It was not too bad, we visited Hedge Creek Falls and McCloud Falls. We also went kayaking on Lake Siskiyou because the water was too cold to go swimming and almost didn't get to see the summit of Shasta because it was always covered in clouds. Nothing spectacular but a relaxing weekend.

On our way we visited Sundial Bridge near Redding and on our way back we spent 2 hours around Whiskey Town Lake which was a lot warmer than any of the lakes any near Shasta.



View May-2012-Memorial-Day-Trip in a larger map


Sundial Bridge, Redding:
Sundial bridge, Redding CA

20120526_184829

20120526_201324

Hedge Creek Falls, Dunsmuir:
20120527_102351

McCloud Falls, McCloud:
McCloud falls

20120527_115119

20120527_120538

Mt Shasta, at last:
Finally, a clear view of Mt Shasta

Sunday, April 15, 2012

LSM, HMM, SQL, JVM and other TLAs (Three Letter Acronym)

Here's a bunch of articles that I read recently and were worth sharing. But before that, a minor digression:

Just JVM!

I remember having a conversation with my manager at my first job, she told me that I should stop learning Java and move to C# because Java will never survive. I just smiled politely and went and did exactly the opposite. That was almost 11 years ago. Today you see so many high end startups in Silicon Valley and in other places (including the hipsters who are not Ruby'ing) running a lot of their infrastructure on the JVM.

C# is a great language but you also need libraries and a lot of shared, community knowledge to develop good software. I think C# lacks in that area.

And then there was J2EE which was absurdly complex, but not as bad as CORBA which it replaced. That led to Spring and now Spring is complex and bloated. Just last week, my wife (she is doing her Masters in Software Engg) had to use JEE and Spring for a project submission said "The JEE 5 project was cake walk" compared to Spring. I burst out laughing saying how things have changed (again).

I've always wondered what Spring was all about. Then I watched this presentation that had "NoSpring movement" on a slide - borrowed from NoSQL movement but very apt, it brought a smile to my face.

A random and incomplete list of folks using the JVM platform for high volume data/transactions - #1, #2, #3, #4, #5, #6, #7, #8 and so on...

For a variety of reasons I love Coherence. In my mind it is the original Java NoSQL system - at least for the enterprise. Here are some recent articles I read up about Coherence:
Some stuff about SQL and it's cousin NoSQL.

If you've managed to reach this paragraph, then here's a nice treat for you - real Comp Sci stuff:
Until next time!