Google I/O 2008 – Josh Bloch talk – Effective Java 2nd edition
Now days, technology eager and innovation craving programmers can find abundant amounts of learning material online, served in an easy to swallow and digest form, such as video casts. One of the most prolific sources of technical info is Google, which now posted video sessions from the “google I/O”, may 08, dev gathering.
In this video Josh Bloch (formally at sun) gives an hour long session about his new second edition of the Effective Java book. I found the session to be only somewhat interesting (Enum sets are not my main point of interest), plus the video quality is not ideal for reading through source code.
The discussed book is a well gathered compilation of 78 Java best-practices (although, to be honest, I’ve only read about 20% of it). Another great book of his, that I’ve read and planning to post here about, is Java Puzzlers.
Listed below are other sessions I watched, or plan to watch (sadly, most sessions are about web programming and client side – not my cup of tee).
Google I/O 2008 – Underneath the Covers at Google – GFS, big table, and the parallelism library MapReduce.
I wonder what similar constructs for parallelism IBM have up their sleeve…
Best Practices – Building a Production Quality Application on Google App Engine (Production stuff – I like the news from the front)
Dalvik VM Internals (That’s Google implementation of Java to avoid paying Sun royalties for JME)
How Open Source Projects Survive Poisonous People (programmers intrigues always interesting)
Painless Python for Proficient Programmers (I’m starting to work my way through Python these days)
|
This entry was posted by Gili Nachum on July 25, 2008 at 18:04, and is filed under Java, Operating Systems. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
No comments yet.
No trackbacks yet.
Case insensitive Map key – code smell
about 1 year ago - No comments
Here’s the bug that had me working today (a Sukot holiday): _myMap.put(key.toLowerCase()) … _myMap.get(key) // without lower casing the key. At first you might think of this as a common human error, but I claim that it’s no less of a code smell: Why trust yourself to always remember to lower/upper case all of the…
IBM’s PLDE seminar 2010 – Review
about 1 year ago - No comments
I spent today at the IBM Programming Languages and Development Environments Seminar 2010, that took place at the beautiful Haifa Research lab mount Carmel campus. Things worth mentioning: Gilad Bracha, father of Java Generics and auto-boxing, spent 60 minutes repenting Sun’s Java 1.0 early design mistakes, such as allowing primitives and static members into the…
ConcurrentHashMap fat memory footprint
about 1 year ago - No comments
While running product sizing tests, we’ve found that an over enthusiastic usage of ConcurrentHashMap (CHM) had evaporated a good ~170MB of much needed heap space (we ran with a 1.5GB heap). As it turns out, a empty CHM weighs around 1700B. Yes, I’m talking about a map with no entries at all, just the plumbing!…
Concurrent Modification Exception
about 1 year ago - No comments
I ran into a ConcurrentModificationException (CME) during stress testing. What does CME actually mean? It means that you’ve modified (add, remove, update) your Collection while you’ve been iterating over it (usually in a multi-threaded fashion, but it can occur in a single thread that modifies while iterating). A few more things to note about CME:…
Myth busting – String.intern() object allocations are never garbage collected
about 2 years ago - 7 comments
Java is becoming quite old (version 1.0 came out in 1996 if I’m not mistaken). When something turns old, legends, myths, and other perceived truths are quick to form around it (just imagine an old Gothic mansion with its stack of scare tales). Most of the accumulated knowledge is beneficial and helpful, but some of…
Google is pregnant again – Noop
about 2 years ago - No comments
After the zillion new dynamic languages that had flooded the earth (groovy, ruby, …), Google is concocting Noop; a new type-safe language to join Java, Scala, and the rest. The new language sets out to excel in testability, dependency injection, and readable code (see the proposed features). More interesting than whether Noop will gain a…
Why is Thread.sleep() inherently inaccurate
about 2 years ago - 2 comments
Avi Ribchinsky, a friend and a college of mien, is transitioning from C++ to the Java world. He had been playing with Thread.sleep(), when he noticed that the sleep method might oversleep more than ordered, and moreover, it could also under sleep (see Fig 1). Coming from the C++ world, that surely caught him surprised…
Extanding your troubleshooting facilities – Always on verbose GC
about 2 years ago - 4 comments
Getting it right the first time What happens when customers are experiencing problems with you application in production? The customer would send you the various logs artifacts and, ideally, you should be able to diagnose the problem and provide a resolution. If you find yourself sending the customer back and forth in an effort to…
My first question at Stackoverflow.com
about 2 years ago - No comments
Could stackoverflow.com, or any other programming Q&A service, be the alternative for a serious think process, in which you just put in your question and immediately granted with the perfect answer? Hopefully it is. To test that I’ve submitted the following “how to regulate the amount of logging printouts” question. Let’s wait, pray, and see…
Why catch Throwable is evil – A real life story
about 2 years ago - 6 comments
Disclaimer: Now I know that this is an old idiom, I’m just presenting my own real life incident taken straight away from the bloody Java trenches. Exceptions can be threads assassins when running on top of Websphere thread pool, any Runtime exception that isn’t caught by the applicative code, will bubble up in the stack,…
Via e-mail