Saturday, March 7, 2015

MongoDB Cookbook by Amal Nayak

MongoDB Cookbook by Amol Nayak is a succinct, yet thorough, cookbook for anyone interested in working with MongoDB.  The code examples (“recipes”) are well explained, although some recipes focus on scenarios that seem, to me, to be unrealistic in their execution.  The book also covers some basic information on using MongoDB and where to get it.  The structure and layout of the book lends itself to legibility of code, especially when being read on smaller devices (Kindle, tablet, etc.).  The book includes recipes for Python, Java, the Mongo Shell, but oddly lacking are recipes focused on JavaScript - especially since MongoDB features so prominently in NodeJS.  That isn’t to say that there are none - simply not as many as I would have expected.

Will this book be useful for you?  It depends on your approach to programming, and whether or not you find cookbooks to be of use to you and your coding style.  If you enjoy code cookbooks, then this is a well-written and well-explained example of such.  If you prefer books of a more traditional sense - focusing on a specific topic and leading you through steps to learn the ins and outs of the system or programming language, then you will not find this here.  Depending also on your specific need for MongoDB (i.e. using it with NodeJS), this book may not offer enough recipes on that topic to suit your needs.  Before purchasing it, I recommend thinking about your exact needs, and skimming the table of contents.

Monday, December 15, 2014

"Responsive Web Design with CSS3 and HTML5" by Ben Frain Review

As the title of the book implies, it is focused very much on responsive web design, and how HTML5 and CSS3 contribute to this.  If you’re well-versed with responsive web design, CSS3 and HTML5, this book is not for you.  If you feel like there are gaps in your knowledge of any of those three aspects, this book may be of great benefit to you.  Even if the end result is simply knowing what you don’t know.

For those of you new to CSS3, HTML5 or responsive web design in general, this book is an excellent source of information.  It covers the theoretical aspects of responsive web design, down to practical, real-world problems you face with some elements (i.e. iFrames).  HTML5 is introduced fairly well, supplying information about the new HTML elements, as well as outlining HTML documents.  CSS3 is covered very thoroughly, and should leave you with a working understanding of the new features of CSS3, as well as a basic understanding of CSS in general.

The last chapter of the book is dedicated to cross-browser issues, and designing for high resolution devices.  This is beneficial, as some issues are recurring, and this chapter gives you a good basis from which to design solutions to these issues.

The book generally puts the chapters in context, explaining why responsive web design (or certain aspects) are worthwhile in a project, and when something like a dedicated mobile site is a better solution.  It offers numerous images, and explains what makes the example image good or bad (in terms of responsive web design), while also giving you the background understanding of how grids are created, while suggesting some grid frameworks.  The author has managed to cover every topic I feel a responsive web developer and designer needs to know.  Some topics are most beneficial when studied with previous knowledge of HTML and CSS, but even with little to no knowledge, you should be able to follow the chapters and understand what is happening.

Sunday, November 9, 2014

Review: Learning Zurb Foundation by Kevin Horek

Zurb Foundation is a framework that offers many capabilities for any website, and this book manages to illustrate the ins and outs of most of them.  The book is structured well, and each example includes the code, and a description of what the result should look like.  Unfortunately, for many of the early chapters there are no diagrams or screenshots of what the results should look like.  The introductory chapters may actually be the chapters where readers run into issues, as opposed to the last chapters, and so it seems a little remiss.

The language in the book is easy to follow, while remaining formal enough to sound professional.  The examples given, as well as the premise of the book (prototyping via Foundation) are both applicable, and useful.  The second half of the book is dedicated to creating a prototype, as well as focusing on what’s required to run foundation in your project.  Some of the chapters on configuring your project folder seemed a little brief for those unfamiliar with the tools being used, but overall conveyed all important information.  This is hardly a fault, as the book is focused more on using Zurb Foundation than installing it (which is covered fairly well on their website as well).

To sum up:  The book is a well-written example of how to use Zurb Foundation to create a prototype, while offering some further information into the features available, as well as how to configure and test your website.  While it could use a few more visual examples in the introductory chapters, it is otherwise a good resource for developers interested in using Foundation to prototype websites.

The book can be found here, if you're interested.

Wednesday, October 29, 2014

Review: Web Development with MongoDB and NodeJS

Summary: An excellent guide to both web development (in general), as well as NodeJS and MongoDB specifically.

This eBook manages to do almost everything right.  By the end of the book, you’ll have been led through the entire process of designing and testing a web application using Node.js and MongoDB, as well as having some extra information in the last few chapters.  The one problem I ran into was in Chapter 4 (Express.js).  The current version of npm (at the time of writing: 2.1.2) did not allow me to install a working version of Express.js 3.5.1, due to changes in dependency packages.  Instead, I had to follow the instructions while taking into account the information at the end of chapter 4 (on Express.js version 4).

Apart from this one small setback (which, in all honesty, cannot be attributed to the author) the book is written very clearly, and laid out in the way one would approach such a project.  The formatting of the book allows the reader to clearly understand what sections of code are relevant to the explanation, and the supplied downloads offer working examples for each chapter (while some changes may be required for the Express.JS files).  By the end of the book, you should have a good idea of how to approach such a project, as well as having a working application.  From there, you should have a good foundation for starting a project of your own design.

If you’re interested in gathering as much information as possible on this topic, the book also offers relevant links and as much extra information as can be included without detracting from the actual material of the book.  Along with this abundance of information, the formatting of the book (the pub version at least) offered a very thorough table of contents, and a linked index section at the back of the book.  Couple this with the ability to search the ebook, you should be able to find any relevant information as quickly and efficiently as possible.

The book can be found here, if you're interested.


Sunday, June 24, 2012

aLaska Fingerpicks & Glass Slides

In March I ordered some fingerpicks to try to improve the clarity of my fingerpicking (since my nails were rather short), and a glass slide.  Specifically, I ordered the aLaska fingerpicks (a mixture of their medium and large for my fingers), and a Dunlop 215 glass slide (20mm inside radius, 69mm length, "Heavy Wall").  I ordered the picks from Eagle Music Shop in the UK, since my local shops didn't have any at the time (currently, however, Hieber-Lindberg stocks some, for anyone living in the Munich area).  As such, I can't really comment on the price, since the exchange rate has fluctuated, and I had to pay shipping.  The slide I had ordered off Thomann for about 5,90€.


To start this review off, I need to mention that I had a stainless steel slide that I bought in Canada at Bud's Music.  As it came with no packaging, I'm not sure what the specifications are, or even what company it was from.  In any case, slides are the sort of thing you need to try on to find the right fit for your hand.  Also, you should decide what finger you'll use it on in advance.  My slide can fit on either my ring finger or my pinky, though the best fit is on my ring finger.  This was intentional (and prompted by Davy Knowles' slide playing).  It allows me to keep my last joint on my ring finger free, giving me a bit of freedom for moving the slide, and keeping it out of the way of my chords.  I'm by no means a slide player, I just tend to dabble.  As such, all my observations on sound are compared directly to the steel slide, in an attempt to reduce the impact of my poor playing on this review.

The steel slide gives you a very tinny, metal-like sound (obviously) when playing.  I think it would be a very pleasing sound when played on a resonator, due to the inherent metal-like sound from those types of guitars.  However, on my jumbo or electric, I couldn't quite warm up to the sound.  The glass slide, however, offers a much warmer sound (to me, at least).  I actually find that the mixture of steel strings/glass slide tends to offer a better approximation of vocal melody than the steel string/steel slide mixture.  For anyone curious for a sound sample, try giving either Derek Trucks a shot (for an SG electric coupled with a glass slide), or Davy Knowles' performance of As The Crow Flies by Rory Gallagher.  Davy has played the song on a PRS acoustic for the Salute Beer Festival, as well as a National Triolian Resonator for the Rory Gallagher Tribute (using the same slide, as far as I can tell).  Definitely something to listen to if you're interested in slide guitar.

aLaska Fingerpicks

The first thing to mention about these is how important it is to get the right size.  In my first order I had to measure and estimate what size I needed, and ended up getting a set of sizes too small.  Sending them back would have cost the same as simply ordering a second batch, so I instead ordered a new set, keeping the first batch as spares.  You could probably adjust and bend them into a better shape/size, but I haven't tried it, so I'm not sure how easy it would be (and how much of an impact it would have on stability/sound).  These fingerpicks sit over your fingernails, and then loop down under the nail in the front, offering a fairly good approximation of playing with your nails.  I find them a lot easier to use than most other fingerpicks I've tried that sit on the pad of your finger.  The sound, as well, is very good for fingerpicks.  Sungha Jung has used these for a number of videos, for anyone looking for a sound sample.  I will note, however, that you do need to have slightly longer nails (not as long as is ideal for playing without picks, but longer than you would usually keep your fretting hand nails).  This is because the picks sit under the tip of the nail, and so you need to have nails for them to sit under.

While these fingerpicks are pretty good for sound, clarity, and the almost natural-feeling to playing "with your nails", I still much prefer playing with my actual nails.  Due to the fact that these fingerpicks require a slightly longer nail than normal anyways, I have simply let the nails grow to the point where it's comfortable to play the guitar with them.  If, however, your nails are too weak for fingerpicking on a steel string, or you simply want to have a set of fingerpicks to use in case your nails get trimmed/broken, I highly recommend these.  The only thing I could recommend doing is getting a normal thumbpick, as opposed to using one of these aLaska fingerpicks on your thumb (it leads to you holding your hand in what I find to be a very uncomfortable position).  Sure, it's the same position you'd hold your hand in to play with your thumbnail, but I tend to play with the side of my thumb (or a thumbpick), instead of that nail.  I find it to be a more natural position.  If you're looking for fingerpicks, definitely give these a shot (and, if you're like me and have a thumbpick, and tend to play with your index, middle, and ring fingers, you'll only need to buy 3).  However, if you play with your pinky too, you'll need a minimum of 4.  I find that these picks are slightly more expensive than normal fingerpicks, so keep that in mind too.

Overall, both of these items (the fingerpicks and the slide) come down to personal preference.  Do you want to play with fingerpicks?  Then definitely look at the aLaska picks.  If you want to have a sound similar to Davy Knowles or Derek Trucks, a glass slide is probably the right choice for you.  However, finding one that fits you (and you can play comfortably with), will be up to you.

Ernie Ball Earthwood/Cobalt Strings

In my last batch of updates (back in March), I mentioned that I was waiting for an order of strings (along with other things, which will get their own post).  That order arrived about a week later, but I haven't had time to write my review on them before now.  For the sake of clarity, the strings I ordered:

Ernie Ball Earthwood Acoustic Medium Light (0.12-0.54)
Ernie Ball Cobale Electric Slinky (0.10-0.46)

I used these to replace my Ernie Ball Coated Acoustic Light (0.11-0.52) and Coated Titanium Regular Slinky (0.10-0.46) strings on my acoustic guitar (an Epiphone Artist Series EJ-200), and my electric (and Epiphone Les Paul Tribute '60).

Acoustic (EJ-200)

The first thing I noticed when using these strings for the first time was the strong textured feel of the strings (compared to the coated ones I was using before).  I actually think these are a little "rougher" feeling than other normal strings I've played - which is by no means negative.  Once I got to strumming the strings, I was blown away by the bright sound of the bronze.  Combined with the jumbo size of my acoustic, it led to quite a powerful sound.  Even though the strings (and guitar) can be loud when played forcefully, they keep their definition of tone.  Also, playing softly results in a perfect volume for intimate acoustic performances, or for practicing in a room without bothering anyone else.  I find that the .12's are still very bendable on the jumbo, and I don't think I'll be using any other gauge on this guitar in the future.

I've experimented a little with recording this setup too, and the sound can be picked up extremely well from various positions.  The microphones I was using didn't manage to cope with the low-ends of the jumbo, so I won't post any sound samples, but I highly recommend these strings if you have a jumbo (the smaller gauges will probably have a similar effect on any dreadnought or folk guitar you try them on).

Besides tone, of course, is the question of durability and price.  The coated strings I was using earlier lasted very well, but were about double the price of the Earthwood strings.  I estimate that the coated strings lasted me about 4 months (I admit, I failed to mark the date on the pack, which I usually do).  So far the Earthwoods have been on my acoustic for a little over 2 months, and, while looking a little worn, still sound extremely pleasing to my ear.  I don't think I'll need to swap these strings out for another few weeks, possibly as late as the first week of July.  And yes, I have played the guitar a lot since putting them on.  I tend to play between 1 and 4 hours of guitar a day (depending on factors like other work I need to do).  Also, since my preferred playing style is fingerstyle guitar, the strings have been in contact with fair amounts of corrosive oils from my hands.  The weather has also been rather hot, putting further wear and tear on the strings.  If the muted color of the bronze doesn't bother you, you'll be more than capable of using them for extended periods of time.  The price, at the time of writing, is 6,90€ = £5.57 = $8.67 at

Electric (Tribute '60)

The first thing you notice about these strings, even before you put them on the guitar, is the dark color of the metal.  I actually find that it looks quite nice, though I have to admit that the guy at the guitar shop asked me if I had ever changed the strings since buying the guitar (I had to take it in to get adjusted, since I just wasn't able to find settings I liked).  If that doesn't bother you, then I think you'll be extremely happy with these strings.  Played on clean settings, these strings offer better tone definition (it's hard to describe exactly what I mean with this - I think the best description is that, regardless of what you're playing over, you'll be able to distinguish the notes fairly well).  I also find that the pickups on my guitar tend to have better output (since iron and cobalt are both ferromagnetic materials).  Ferromagnetic materials are simply materials that can form permanent magnets, or refers to metals that are attracted to magnets.  Since cobalt and iron attract the magnets in the pickups more than titanium, steel, or nickel, it results in a more accurate translation of string vibrations into the amp via the pickups. True to the name, the Regular Slinky pack is, well, slinky.  Bends are easy on the fingers, and the higher tensile strength of cobalt reduces string breakage.  As for how they feel.  I don't find they feel any different than any normal strings I've ever played on an electric.  They do, however, feel a lot more like normal strings than coated strings do (even Ernie Ball coated strings, which are the closest facsimile to non-coated strings I've found).

Due to the high corrosion resistance of the cobalt, these strings should last you a fairly long time (also why Ernie Ball doesn't offer them coated).  I'd be hard-pressed to say the strings look any different than when I first put them on the guitar (about 2 months ago).  It's also possible that I can simply not see the difference, due to the darkness of the cobalt itself.  In any case, the strings sound just as good as they did before.  I admit, I don't play my electric nearly as much as my acoustic, but it has still seen a fair amount of use.  As for price: These strings were a bit cheaper than the coated strings I was using, but not by much.  These days, I think they're priced about the same.  In any case, I find the quality of these a little better than the coated strings, so it's a price I'm more than happy to pay.  (at the time of writing, it's 10,90€ = £8.79 = $13.70 from


If you play guitar, and you want a nice and bright acoustic sound, I highly recommend giving the Earthwood strings a shot.  I certainly wasn't disappointed, and these strings sound great when flatpicked or fingerpicked.

Similarly, if you play an electric, especially with coated strings, consider trying a package of cobalt strings.  The price is the same as the coated strings, but I find these a bit better than the coated strings (with hardly any trade-off on durability).

Monday, March 19, 2012

Zowie Celeritas Mechanical Gaming Keyboard

Over the course of the last week I've been hunting for a new keyboard to replace my slowly failing Logitech G11 keyboard.  I had a few requirements:

  • Good tactile feedback
  • left-hand windows key (for my XMonad keybindings)
  • Media keys (play/pause/forward/back/volume)
  • "Normal" QWERTZ layout (i.e. no shortened keys, or messed up/mangled key configurations).

After a lot of testing and looking, I decided that a mechanical keyboard was most likely to fulfill my most important requirement (feedback).  I looked at things like the Das Keyboard Model S, and Razer Black Widow and the SteelSeries 6vg2.  Each of them had something that was missing (the Das had no media keys, the Razer's build quality seemed to be lower than the others, and the 6vg2 had a few missing/changed keys).  I stumbled upon a guide on geekhack mechanical keyboard guide that included a review of the Zowie Celeritas keyboard (which was also briefly mentioned as good value/quality on a different guide I was reading).  So I figured: "Let's see what it looks like".  The Zowie website had a decent series of pictures of even the German layout keyboard, and I was able to see that the keys were all there and in the correct locations.  To make a long story short, I ordered a "used" (it had been returned) version of the keyboard from amazon for 95€ (the keyboard was sold out/unavailable from most stores I looked at).

A quick list of features of the keyboard:

  • n-key rollover (when using the supplied PS/2 adapter)
  • up to 8x RTR (basically how quickly a held key registers as a repress)
  • a function key (instead of a right-hand windows key) for media buttons (on the F1-F6 keys)
  • Cherry MX Brown switches
  • Standard layout (numpad, home block, arrow keys, etc.)
  • Option to switch the windows key on the left to a second control key (for gaming) via the function key + windows key (though it only seems to work when using the PS/2 adapter).

The Zowie Celeritas

Here are my thoughts on the keyboard:

  1. The tactile feedback is excellent (compared to the G11).  I'm not very experienced with mechanical keyboards, having only bought this one, and having tried out one or two over the course of my life (usually without any idea as to switches within).  My opinion of the Cherry MX Browns are that they are comfortable, and give decent feedback.  I'm still typing more heavily than I need to, but I'm pretty sure I'll get used to the fact that I don't need to depress the keys entirely fairly soon.
  2. Media keys work fine, and don't use any weird keycodes, meaning X can register them as the standard media keys (XF86PLAY, for example).  This means that all my keyboard shortcuts are preserved.
  3. The layout is extremely comfortable, and similar to my G11, meaning I'm not hitting alt when I mean to hit the windows key, etc.
  4. Slippage will be a thing of the past.  They keyboard itself supposedly weighs 1.4kg (if I remember that correctly - I haven't checked this myself).  Also, the four feed on the bottom of the keyboard are some of the most effective I've ever seen on anything.  Pushing against the keyboard takes quite a lot of effort to get it to move, meaning it shouldn't shift as you type, unless you use a lot more force than necessary.
  5. The space bar key does tend to slant a bit before registering as a key press when not hit directly in the center, but it's not much of a difference to the G11, so it doesn't bother me.
  6. the RTR functions (1x, 2x, 4x, 8x) seems like it might be useful for some, but I don't forsee myself using it for any reason.  As such, it doesn't bother me that it seems to not function in Linux.  As far as I read, it should have been done in-hardware, but since it isn't something I'll use, I won't be researching it any further.
  7. Windows/Ctrl switching works fine in both Linux and Windows, for those of you who want to avoid hitting the windows key when gaming.  The Zowie logo is lit, and red means normal windows key functionality, and blue means control key functionality.  Seems to be implemented very well, and it's nice to have the option (as opposed to simply having no windows key on the left).
  8. Comfort:  I find typing on this keyboard is much smoother and more comfortable than typing on my G11, even with a foreshortened palm rest.  I may be raising the keyboard a bit simply to offset the slant caused by my desk chair (my desk is lower than the arm rests of my chair, leading to my hands hovering a bit above the keyboard - same thing happened with the G11).  The keyboard does not have feet, and as such can't be angled.  This isn't an issue (for me at least), because the rows of keys are raised as you move from palm rest to cable, making it very comfortable to type on (and allowing me to reach all the keys as I would usually).  The keys are (logically) a bit louder than my G11, but once you get into the habit of half-pressing keys (which is all that is required on mechanical keys for it to register as a key press) it will get much quieter.  Cherry MX Brown switches have no audible feedback, unlike the Blues, meaning whatever click you hear is simply the key bottoming out.  I haven't found anything uncomfortable (or irritating) about this keyboard, whether I was playing Star Wars: The Old Republic, or typing this blog post.
Conclusion: If you're looking for a nice mechanical keyboard with media keys, and tend to type a lot, I would have no issues recommending this keyboard to anyone.  However, it does seem to be rather difficult to purchase (not sure if they're planning another production run of these or what the reason is for them being unavailable).  If, however, you can find a decent deal on a used one, I'd advise you to give it a shot.  If it's too grimy, you can always switch out the key caps (one of the benefits of a mechanical keyboard).

On a more general note, if you are undecided between a normal membrane keyboard and a mechanical keyboard (this applies mainly to Browns or Blacks, as I've tried both), then I would highly recommend the mechanical one.  As always though, if you're going to buy something without trying it out first, make sure you can return it.  For those of you wondering, the difference between Cherry MX Browns and Cherry MX Blacks is simply that the Blacks lack a tactile cue on half-press.  Basically they tend to show up more on gaming keyboards, and are slightly harder to press, as you bottom them out every time.  The browns are (generally) seen as more comfortable for longer typing.  Having tried the Black Widow out briefly (with Blacks), I'd say that it feels a bit more like a membrane keyboard with a bit more feedback.

For anyone confused about the differences, skip on down to the Appendix section where I (very briefly) discuss a few differences.  I hope anyone who's considering a mechanical keyboard finds this review helpful.  I realize that a review after only a few hours of use is hardly an extensive test, and as such I will update this review in the future, if I find I need to add to (or remove) some part of it.  If you don't see an edit on this post in 6 months time, I've either forgotten, or I have nothing to add to the review!


For those of you who aren't sure of the difference between a mechanical and a membrane keyboard, I'll briefly outline it here (however, the link above to the guide goes more in-depth).

The basic difference is that mechanical ones use switches as opposed to a circuit board with membrane nodes per key (anyone who has yanked a key off a laptop keyboard will know what I mean).  Mechanical keyboard are rated for a rough estimate of 50 million key presses, as opposed to the 5 million membrane ones are rated for.  As such, the mechanical keyboards are generally more expensive, but also last longer.  Another plus point for mechanical keyboards are that they can be repaired easily - you can get new key caps.  I'm not sure about replacing the actual switch mechanism, though I wouldn't be surprised if that were also possible.

A more subjective difference is that mechanical keys cause less fatigue (as they don't require as much force to register, i.e. a half-press) than other keyboards.  As such, they can be more comfortable to work on for longer periods of times.  Of course, if you're using an ergonomic keyboard already, you probably won't find this to be a compelling reason to consider one.