I learned quite a bit about Play, though most of what I learned feels like "guess I need to go learn Scala?" As the3 stars is generous; more like 2.5?
I learned quite a bit about Play, though most of what I learned feels like "guess I need to go learn Scala?" As the title suggests, the book does a pretty good job of laying out the essential parts of Play Framework (the foundational components, tools, and techniques), but I feel like you're only going to get a "scratch the surface" view of Play unless you're already familiar with Scala. Granted: Play also comes in a "plain Java" flavor, and the author includes equivalent examples (where possible) that are in Java, but these wind up feeling more like a distraction -- like you keep context switching.
I really feel like this book could have been made much better by two things:
(1) A quick introduction to Scala -- just like the quick introduction to Groovy that shows up as Chapter 2 of Grails in Action.
(2) Drop the Java examples -- or move them into some kind of appendix. They just feel like they distract from the main point. (And honestly, I just skipped most of them.)
As the book stands right now, it seems like it's a pretty good introduction to Play (again: I learned most of what I was hoping to learn) but it does gloss over some points, and (more importantly) if you don't know Scala, you're probably going to feel a little lost....more
I'd like to write a review at some point but for now, just some notes: (potential spoilers?)
1. Ending was pretty right-on. With that epilogue it was aI'd like to write a review at some point but for now, just some notes: (potential spoilers?)
1. Ending was pretty right-on. With that epilogue it was almost like trying to say "and everything went back to normal and they lived happily ever after" except that like two pages before that we know that that's simply not true.
2. Overall: chilling, esp. in light of Haldeman's own war experience. How much of it is extrapolated? vs. echoes of that experience?
3. Easy to see how much this informs a lot of the other sci-fi (Mil. or otherwise) that's out there, even if it's at arm's length, indirect, or incidental....more
Review forthcoming but short version: lots of good ideas, mostly overlapping nicely (or directly) with Scrum; still some unanswered challenges w/r/t/Review forthcoming but short version: lots of good ideas, mostly overlapping nicely (or directly) with Scrum; still some unanswered challenges w/r/t/ larger organizations. ...more
Decent intro reference to several of the bread-and-butter commands of the Unix/Linux/OS X command line world. It also introduces several of the importDecent intro reference to several of the bread-and-butter commands of the Unix/Linux/OS X command line world. It also introduces several of the important operators re: I/O redirection. I was a little disappointed because I was hoping for a little bit more (e.g., differentiating between STDOUT and STDERR) but I would still strongly recommend it to anyone that needs to quickly learn their way around a modern shell....more
I borrowed this one from a friend; he said: "It gets pretty mathy toward the end." I think he meant in Part IV ("Theory") but "it gets mathy" happenedI borrowed this one from a friend; he said: "It gets pretty mathy toward the end." I think he meant in Part IV ("Theory") but "it gets mathy" happened for me on like... page 2. Which is fine because we're talking about feedback control loops which need to make continuous inferences about the state of an observed system &c. but... heads-up: there's some calculus.
Which isn't to say that you can't get anything out of this book if you are not yourself "mathy". Janert does an excellent job of explaining the principles behind feedback control (esp. w/r/t/ applying them to computer systems and software problems), and by the end of the book you should have at least a good enough understanding of the types of questions to be asking when assessing a system that you expect to put under some kind of feedback control mechanism. In other words, you may not know how to do the math ("yet!") but you'll know to ask things like: "If I increase servers, I should see a decrease in... overall latency?"
The other thing to take away from this is that Janert knows that despite the math, applying the feedback control principles is as much an art as it is a science. It's hard to get these exactly right on the first try, and it's expensive to experiment in production. So he also provides a bunch of simulation code to help bootstrap you.
Lastly: the colorized graphs are a nice touch....more
Disclosure: I didn't read it cover-to-cover as I have most other technical books over the past... couple years? (Always?) Regardless: I read the GC biDisclosure: I didn't read it cover-to-cover as I have most other technical books over the past... couple years? (Always?) Regardless: I read the GC bits in-depth and skimmed a lot of the rest of the text. There is a ton of useful information here -- some of it (like the sections on alternate JVM languages ) is mostly just for curiosity's sake, but there's also lot of really good stuff about the JVM itself (like the performance tuning bits). With the recent release of Java 8, this book (which was new when Java 7 was new) feels a little bit dated. But only a little bit.
Required reading for anyone doing anything more than just dabbling in the JVM.
Ian Darwin's Java Cookbook is out and it's a great resource for developers working in Java that are out there and scratching their heads asking "How wIan Darwin's Java Cookbook is out and it's a great resource for developers working in Java that are out there and scratching their heads asking "How would I go about...?"
The thing that makes Java Cookbook stand out is its comprehensive scope. Darwin has done an excellent job of gathering a wide array of common problems faced by Java developers and presenting solutions to those problems that are decipherable using just the language's standard library features. (Which isn't to say "ignore libraries" -- just that there are few (any?) recipes in this cookbook that require external dependencies.) By and large, the recipes are practical and are organized into sensible categories. This isn't a book that I'd recommend you read front-to-back, but if you're programming in Java, it's worth having it handy to help kickstart your thought process on a number of different problems. (Plus, 3rd edition has been updated to include solutions that highlight Java 8 features.)
In addition to the above, it's worth noting that while Java Cookbook isn't a great book to learn from, that if you have stumbled your way into Java with an otherwise solid software engineering background, that you could use it as a leg-up or crutch while you're otherwise getting up to speed....more
Reading this book, I am reminded first of my friend Mike. Of an evening in Baltimore at a mutual friend's home. Of vodka consumed and books given convReading this book, I am reminded first of my friend Mike. Of an evening in Baltimore at a mutual friend's home. Of vodka consumed and books given conversational chase and perhaps not a small amount of hero-worship on my part as he accelerated into his chosen field and I languished behind a copy machine at the worst-performing Kinko's in the country. [^1] House of Leaves may have been involved.
And I am reminded of my friends David and Jeffrey. Of our many lunches together and how they would veer wildly from one niche subject to another. Obsessive discussion of the high-precision clock in the Web Audio API lapses into puns cobbled together from pop songs which climb slowly into something about the Stoics.
And in this, it is delightfully illustrative. [^5] It shows those many approaches. It shows off those many language features. It shows off what one might accomplish with them. And in this, the astute reader [^6] will get some cheer from the light-handed (if overt [^7]) mockery Croll has made of The Good Parts -- but that same reader will also recognize the places where one's personal style and whimsy might become impenetrable to others. (But we'll acknowledge that those are all decisions we must make for ourselves, and at runtime.)
To Angus Croll: thank you for asking me to read this, and thank you for sharing it with the world. It's a real treat, and a book whose time has come.
[^1]: The actual performance ranking of that particular store is apocryphal.
[^2]: And looking again at that quote, it maybe doesn't say exactly what I remember it. But the gist is basically the same. And I know an awful lot of front-end developers that are formerly (and/or aspiring) musicians or physicists or novelists or farmers or what have you.
[^3]: And the Fibonacci assignment is so well-executed it's almost absurd. (And did you enjoy that progression? And did you get the joke re: from Hemingway to Brown?)
[^4]: And in so doing, takes a little dig on Java and its verbosity and ceremony and its own idioms and maybe just maybe he's being just a little hard on Java in the introduction there, but it's still worth laughing aloud.
It's got some great pictures, and it's not that it's not informative, but it's just not as detailed as something like How to Brew or The Complete JoIt's got some great pictures, and it's not that it's not informative, but it's just not as detailed as something like How to Brew or The Complete Joy of Homebrewing. What's weird about this book is that because there's so little detail, it seems to jump right into all-grain brewing. This is fine (all-grain is something that at least this homebrewer aspires to) but that translates into the author seeming to gloss over some of the fundamental mechanics. (Example: how exactly does one rack for secondary fermentation? Example: there's only like two pages on sanitation which let's face it isn't as sexy as choosing malts but is maybe way more important.)
Despite those criticisms, it's a pretty good book. The many (and large) color pictures are attractive, and make it a good book to show to beginners to get them excited. (...and/or interested children.) The pictures help to give a good picture of what the equipment looks like and how to use it. (Which of course was part of why I was disappointed that there wasn't more in there about racking (though maybe I wasn't reading closely enough?) and sanitizing.) There's also a couple of good quick reference charts (e.g., for different types of hops, grains, yeasts) and a ton of recipes, some of which even have malt extract variations.
I don't know that I'd recommend this as a stand-alone homebrew book, but it would make a good companion to one of the classics (i.e., Palmer or Papazian)....more
Was on the fence between a 3 and a 4... There was a time-honored hook at the beginning there, but it took a long time for the book to really grab holdWas on the fence between a 3 and a 4... There was a time-honored hook at the beginning there, but it took a long time for the book to really grab hold of me. I was about halfway before I was really into the story; and even then I wasn't sure that I thought it was great. (Quite good yes, but not great.) What pushed it from a 3 to a 4 for me were two things: (1) the ubiquitous gender-mashing that Leckie uses by having the narrator use "her" to refer to every character; and (2) the not-so-latent dig into social and economic injustices.
Now that I've finished it, I'll likely seek out a few reviews of the book to see why others celebrated it so much throughout 2014. I'm sure her awards are well-earned, but to my eye this is a good-not-great space opera with interesting narrative conceits and thoughtful themes.
Short version of what may turn into a longer review:
Overall a good introduction to the Java language and its standard library. I quipped throughout thShort version of what may turn into a longer review:
Overall a good introduction to the Java language and its standard library. I quipped throughout that the book was as verbose as the language, but this is a good-natured jab, especially considering that the authors have done an excellent job in organizing and presenting the material, and in showing good concrete examples.
The book itself covers Java through version 1.7. One of the things that I really appreciated about the text (and have seen mentioned in many other reviews) is that it is not a guide to basic syntax or computer programming fundamentals. There's an assumption coming in that you already know about variables and if statements and for loops etc. They're only talking about things that are specific to Java so as to help you learn idiomatic Java. They also build a really strong case for why Java is a "good" or "productive" language, taking the time to talk about its philosophy, the language design choices, and other underpinnings (e.g., JVM bytecode) -- helping one to understand the why of Java and not just the how. (There's also a pretty sweet glossary in the back to help you get through some of the language's more arcane keywords.)
What didn't I like? A couple things jump out:
(1) Better coverage of the JVM eco-system. I realize that the book is about Java (the language itself) and not "the JVM", and I realize that the book is already 1010 pages long but I could really have used a little more about "the JVM eco-system" and less about Swing. Again, I get it: Swing is part of the core Java platform, and things like Groovy and/or Tomcat are not but... still. I don't know anyone programming in Swing, and we got basically half a chapter on servlets. Maybe that's all it needs but it seems like the biggest part of Java these days is "JVM eco-system" and not "Java by itself".
(2) More on garbage collection. Maybe I'm expecting something too low-level here but we got about... 4 pages (?) worth of coverage on GC. And what we got was basically just an explanation of what GC is. I'm as in the dark as ever about the actual GC settings, Eden, Young and Perm gen, survivors, etc. And "heap" doesn't appear in the index at all?
So I guess... a few more things at the high-level? and a little bit more at the lowest-levels? The former is definitely an expectation on my part that the book doesn't even promise to fulfill, but would have been nice to see a bit more of (though it does have pointers to good resources); the latter just seems like the editor came through and said "let's not go there".
All in all? A worthwhile book for learning the language (if you already have a solid programming and/or CS foundation), and it provides a good layer of "why Java" on top of "how to Java", but expect to use it as a springboard for further learning depending on where your work Java actually takes you. I would recommend it to any competent developer that's looking to add Java to their toolkit.
PS - So. Much. Swing. 3 chapters... 148 pages of it. And plenty of references to it in the 2 chapters that follow. And then a chapter on applets. Who does this anymore?
PPS - JavaBeans chapter winds up feeling like tautology. ("The following bean class example is considered a bean because it follows the bean class paradigm." Yay!)...more