19/05/2010
16/05/2010
Is Static Typing the Root of All Evil?
Anders Janmyr has written recently an interesting article why he hates static typing:
Donald Knuth wrote in his famous paper Structured Programming with go to Statements (PDF)
We should forget about small efficiencies, say about 97% of the time: pre-mature optimization is the root of all evil
Since compilation is premature optimization, it is therefore, the root of all evil. Simple!
Pretty “smart” reasoning but stupid, IMHO.
14/05/2010
Inbound Marketing by Dharmesh Shah
Dharmesh Shah, Hubspot (and author of the popular On Startups blog) presents “Inbound Marketing” term, mostly how to attract customers to your product using SEO (Search Engine Optimisation) techniques.
He believes “Outbound Maketing” (traditional channels like TV, phones, …) that gives results in ~1% cases will be replaced by “Inbound Marketing” in future (allow the people to find your product). Dharmesh shows three main channels of “Inbound Marketing”:
- Google (and search engines)
- Blogs
- Social Networks (Like Facebook)
01/05/2010
commons-logging.jar considered harmfull?
During recent 2nd level cache implementation research I noticed EHCache has a very funny dependency: slf4j. Hey, WTH, yet another log library implementation? – I asked myself. No commons-logging as everywhere?
I googled around and found “The evils of commons-logging.jar and its ilk” article. It highlight some problems related to commons-logging usage:
- Different commons-logging versions in one project mirrors DLL-hell problem
- Collection logs from all sources into one stream has no bigger value for a developer
- Advanced configuration is logging back-end dependant (appenders for log4j for example), so unified layer is not valuable here
- Configuration is not intuitive and hard
I agree with 1, 3 and 4. 2 is questionable: sometimes logs sorted in one timeline allows for better error analysis.
slf4j is proposed as an alternative. It’s more modular and (probably) simpler that commons-logging. All configuration is a matter of placing selected implementation (slf4j-jdk14-1.5.8.jar for instance) jar on classpath. And voila! – logging is done thru JDK 1.4 logging. Quite simple.