Learn more Shop now Shop now Shop now Shop now Shop now Shop now Learn More Shop now Learn more Click Here Shop Kindle Learn More Shop now Shop Women's Shop Men's
Profile for Kartones > Reviews

Personal Profile

Content by Kartones
Top Reviewer Ranking: 7,766,652
Helpful Votes: 14

Learn more about Your Profile.

Reviews Written by
Kartones (Madrid, Spain)

Page: 1 | 2
ASP.NET 4 Social Networking
ASP.NET 4 Social Networking
by Atul Gupta
Edition: Paperback
Price: £30.99

2 of 2 people found the following review helpful
3.0 out of 5 stars Not bad, not incredible, 24 Aug. 2011
This book is about how to build a Social Network (a fish owners one as an example), by using ASP.NET, C# and some frameworks: MEF, EF, ADO.NET EF.

Some of those frameworks are not lightweight but at the same time they are very ordered and the code is well structured so swapping is easy.

Some interesting points or highlights after reading it:

Uses an events-based newsfeed, same principle as facebook does. Nice details as being able to hide stuff.

Friendly urls for profiles and other sections, in fact, sometimes is a bit overabused to search for SEO, when a social network might be more private. But just having the concept of forums... means the authors wanted to add as much "social stuff" as possible, even if doesn't't fully fit.

Precalculates and stores different photo sizes on upload (right), but does it synchronously (wrong, can get to long waits or timeouts).

Lazy loading vs eager loading, the endless discussion (here decides to do eager loading of some things).

User search is pretty basic, using LINQ to search in a few fields.

Blogs are curiously created: Allow to publish public posts (even with friendly urls), but doesn't syndicates in a RSS feed so limits that public exposure.

Builds a forum, quite extrange and atypical in a social network (is among the RSS one of the things they have semi-killed). Voting, marking forum replies as answers and user rankings are... a bit out of scope for a social network, more fit for a pure forum. At least the ratings are correctly decoupled and system-wide usable (providing good extensibility).

Very simple privacy management in general: Either public or private, with just some cases of membership/access requests.

Last chapter presents scalability advices: Moving to a SOA architecture (with WCF), separating frontend servers to a farm with load balancing, service servers and DB tier, caching using AppFabric's Caching component or Memcached. Also moves the email sending process to a queued, async. system. Also mentions logical deletion and then system process to wipe deleted items, DB Indexing and data partitioning (does SQL Server level partitioning instead of handling it via code), and Lucene.NET for searching.
But also has some cons:

Uses database table relationships (referential inegrity via DB), uncommon due to caching problems
HTML inside messages in service layers
Favors code-behind dynamic html generation instead of using subviews
Stores profile avatar images in the DB (ouch!)
Friendship defined as one-way relation (instead in the more flexible two-way friend-friend relation).This results in crap code related to it (like friend search), because it must have "originator ID is friend of X" OR "destination ID is friend of X".
Presentation entities to lessen the problem of eager loading (but not avoiding it, just lowering memory usage).
And the .NET 4 in the name... would have worked equally with 3.5 (I can't recall anything FW4.0 specific in the book).
Dynamic attributes idea is nice but not scalable (even less needing to rows in different tables for each attribute.
The book mentions or implements nany tiny details not obvious but even sometimes missing on large websites (e.g. Terms of Use versioning and tracking of last accepted version by the users, Easy and mockable configuration manager).

As a conclusion, the book won't show you groundbreaking secrets nor incredible algorithms, but will set the basis for a decent social network with low usage and quite some features. You will probably want to cut out some unwanted features but code is clean and well structured. But at least the code is not badly written.

Sphinx Search Beginner's Guide
Sphinx Search Beginner's Guide
by Abbas Ali
Edition: Paperback
Price: £24.99

4.0 out of 5 stars Good view of how Sphinx works, 8 May 2011
Sphinx is an opensource search engine that instead of doing real-time searches, works by building indexes of the data and then allowing really fast search operations using those indexes.

This book explains all basics (including setup), then goes into deep detail of searching: modes, modifiers, attributes, filters (both basic and advanced/low-level), grouping, indexing and delta indexing...

It also deals with how to modify configuration, from sources to Sphinx API specific parameters, change or extend the charset tables..

My complains about this book are two:

From 244 pages it has around 100 of two PHP examples. Having a "full PHP website example" is ok, but two of them looks more like "page filling" than real interest on explaining concepts (both could just be combined).
And more importantly, the author seems to deriberately avoid complex stuff like partial word matches: For example, how does Sphinx matches "Ser" or "Serg" or "Sergi" if we have indexed "Sergio"? Do them all get the same weight for the result? What happens with each different SPH_MATCH_xxx machting mode?
To compensate a bit for those complains, we'r explained a few interesting and non-basic concepts:

How to setup distributed indexes (distributed among multiple sphinx servers).
How the morphology works, how to use it for stemming (reducing a word to their stem) and how the morphologic processor works in sphinx. This is not used by default so is a good addition. It even mentions "wordforms", mappings of words to handle synonyms.
The book ends with a brief introduction to SphinxQL, to use it from MySQL if you feel more confortable writing SQL queries.

So, overall you get a really good view of how this search engine works, including some advanced topics. It just lacks more depth in some of the explained subjects instead of so many (trivial) examples.

Writing Secure Code for Windows Vista® (Best Practices (Microsoft))
Writing Secure Code for Windows Vista® (Best Practices (Microsoft))
by Michael Howard
Edition: Paperback

5.0 out of 5 stars A must read if you develop for Windows Vista, 3 April 2011
Initially I didn't liked Windows Vista. A resource hog, some incompatibilities... But I had to use it at work so I installed it and worked with it for two months. After that, I really like the security features it has, but I felt like missing more details about specific topics... So I decided to buy this book.

Writing Secure Code for Windows Vista comes as a, mostly C++ oriented (although contains some C# examples), "how to use all new features" book. Very well structured, with lots of code examples, best practices, direct to the topic, and one thing I liked a lot: very sincere. If something is working bad, the authors state it clearly (for example, the Windows Firewall API, which has bugs), and they even provide workarounds to avoid them.

Down to the content, the book covers a lot of topics: New safer C functions, banned APIs, new APIs, UAC, token manipulation, integrity levels, code signing, virtualization, buffer overrun defenses, IPv6, Secure Socket extensions, Windows Firewall (Vista version, of course), IE7 security mechanisms & defenses (very interesting), Windows services development best practices, protected mode API and DEP, and the new CNG (Cryptography API: Next Generation).

Even if you don't usually develop with C++ I highly recommend this book. With it you will learn a lot about all the new security features of Vista. You just need some basic knowledge of standard Windows security features and some C++/API programming.

The Design of Everyday Things
The Design of Everyday Things
by Don Norman
Edition: Paperback

5.0 out of 5 stars Open your mind to usability, 3 April 2011
The Design of Everyday Things is not a common book. It is a book about thinking how things are made, and more important, why they are made that way. It's a fantastic way of speaking about usability, about utility, and about design.

After you read it, you'll start to look all around you. You can apply it to software design: Remember those hellish tools nobody could master even reading once and again the help? Or remember that tool that was so easy to use you didn't even opened the help... And analyse them, extract that factors make it good (or bad).
But you can apply it to your life. Are you dumb because you can't program your dishwasher, or maybe is that having 10 buttons is a mess?
I am left-handed and a lot of times I've thought "I can't do this well because it's designed for right handed". Now, sometimes I look more closely and see that even for them it's hard to use.

Something not common to read to learn something about usability and design, but a good source to learn them.

Microsoft® .NET XML Web Services Step by Step (Step By Step (Microsoft))
Microsoft® .NET XML Web Services Step by Step (Step By Step (Microsoft))
by Adam Freeman
Edition: Paperback

4.0 out of 5 stars Quite good, and what the title says, 3 April 2011
I've recently readed this book while travelling to and from work, and my goal was to learn more about Web Services, and precisely those that gave XML responses, so this book was a good candidate.

The book contains what it says: all about web services in .NET. This is good, because you can always have it as a reference book whenever developing web services. It covers SOAP, HTTP POST and GET protocols, ASMX web services and WSDL-created proxy classes, UDDI and DISCO files, state management, caching, session and state management, and even asynchronous examples.

The only "bad" thing about the book that I've found is the "STEP BY STEP" sub-header... At least in this book it means "complete examples in every chapter".
The book is 373 pages long (apart from the appendixes), at least one third of that being code examples. And of that 100+ pages of code, the majority is trivial basic WS code that seeing one is ok, twice maybe, but the third time you just skip to the bold part that marks the "important" code.

The authors could have avoided full samples from later chapters, instead only showing the relevant code snippets.

But anyway, as I started saying it is a recommended book to learn (or get deep into) .NET web services development.

Coder to Developer: Tools and Strategies for Delivering Your Software
Coder to Developer: Tools and Strategies for Delivering Your Software
by Mike Gunderloy
Edition: Paperback

4.0 out of 5 stars Good for learning to develop better software, 3 April 2011
I'll point out small bits of comments of this book.

For example, the author misses the usefullness of virtual machines, encouraging readers to buy cheap pcs to test their software projects. Having Virtual PC or VMWare for free, it is a much cheaper solution.

Another "warning" comes from the lists of tools, maybe too much in my opinion. A developer can unfocus from the most important point: coding and thinking correctly. At least, the author notices that they should be used with caution.

Overall, gives very good advices and practices for developing, bot lonely and in small groups. It gives good tips about managing projects too.

There are chapters about source code control, testing, visual studio tooltips, code analysing and generation, bug tracking, logging... even automation techniques and tools (continuous integration software included!). Great for newcomers to this critical components. The documentation chapter is very good too, mentioning even developer diaries and postmortems.

Some of the tools mentioned are outdated, and some tools like Resharper, Virtual PC or Reflector are missing, so their chapters seem uncomplete, but software development is a very fast-evolving world so it's logic.

I recommend it to anyone who just have developed with Visual Studio "standard applications" and wants to learn more professional tools and techniques oriented to the development lifecycle.

The Pragmatic Programmer
The Pragmatic Programmer
by Andrew Hunt
Edition: Paperback
Price: £31.99

1 of 3 people found the following review helpful
4.0 out of 5 stars Improve your skills as a developer, 3 April 2011
This book is similar to "Coder to Developer": Gives advice on a lot of topics to improve your skills as a developer (to stop being a simple developer and get into the path for an analyst or software architect). One difference though is that this book doesn't even talks about .NET, using C++ or Java examples instead (if you work with C# that shouldn't be any problem!).

Overall, the book has an inspiring, motivating speech. The authors have fought a lot of battles when developing software and most of the tips are really useful and will make you avoid common (and not so common) mistakes.

In each chapter, small tips and advices are given to the reader, even with small tales and metaphors to make you understand easily some concepts or problems.

In some advices they are a bit too extreme, like "learn one new programming language each year" (a bit hardcore), or ttrying to have 100% of your code uncoupled (performance, or customer requirements to give two examples may force you to tightly couple some components). But this are the minor ones.

It gives a lot of intersting principles, like the DRY (don't repeat yourself), WYSIAYG (what you see is all you get), "design to test" or the very interesting "testing saboteur" (place someone in the project to brach the source and place bugs to see if the test batteries catch them or not).

I like the "tracer code" concept. Instead of prototyping (throwing away code and redoing it), making a framework and adding code in tiny bits, with constant feedback to change what is wrongly implemented. Looks like saving future effort, and we sometimes do it unconsciously. It just requires having a clear view of the overall system.

The book has chapters about prototyping, estimations, "basic tools", code coupling, code structure, the Law of Demeter, multithreading, design patterns (including the now so famous Model-View-Controller), testing, using use cases in requirements definitions (I actually did this recently at work!), web-based documentation ...

Touches multiple ways of doing "defensive programming": Design by contract, knowing when the impossible has happened, assertive programming,...

Another nice point is that along the whole book the message for the reader is "you're not just a developer, think!"

Some topics lack a bit more of depth, but the starting point given is more than enough for becoming a "pragmatic programmer".

The Horus Heresy Collected Visions: Iconic Images of the Imperium, Betrayal and War (Warhammer 40000)
The Horus Heresy Collected Visions: Iconic Images of the Imperium, Betrayal and War (Warhammer 40000)
by Alan Merrett
Edition: Hardcover

4.0 out of 5 stars Good, but with inconsistencies, 3 April 2011
I'm almost finished reading this book, a compilation of the four volumes containing the history of how the warmaster Horus betrayed the Emperor and the Space Marines, and the battles that took place in the heresy era.

When I was a child, this story were a mere few pages explaining that the warmaster made a pact with Chaos, and converted four chapters of space marines, with vage details of what happened, except that the Emperor defeated Horus but resulted heavily injuried in the battle.

This (big) book extends the history, explaining and telling how was the conversion to chaos, how he defiled the emperor and converted the four chapters to embrace the chaos forces, and even the status and inner battles of the Cult Mechanicum at Mars.

The first two volumes are a bit slow, repeating some tales and advancing slow in the events. Then, the action speeds up and gets a better pace.

The book is full of illustrations, some of them quite good, some decent, and a few ones really bad. The bad ones are mostly sketches that seem to be full-page just to fill more pages of a single image instead of written content, but overall I enjoy reading it.

One point against the pictures is the inconsistency of some of them. Those who, like me, have played Warhammer 40.000 since the 2nd edition, probably know that until then, the Space Marines used the MKVI armor, and had Rhinos and Land Raiders. In the second edition, MKVII armor is the standard, and few years later Games Workshop remade the Rhinos and Land Raiders to "MKII" models, similar but with visual differences.
Some of the artists seem to have focused just on the newer armors and vehicles, just drawing them with the chaotic chapter colors, or placing just one or two different details, which gives a "historical" inconsistency with the technology at that era.

Same happens with Terminator armour and Dreadnoughs: Some of the pictures represent really different and ancient-looking armors, while some appear to be too similar to the current venerable dreadnoughs and termies.

Apart from the inconsistencies, overall the book is good. It is not too expensive so if you like to get a deep understanding of the events that led to the current Chaos Space Marines I recommend this book.

World War Z: An Oral History of the Zombie War
World War Z: An Oral History of the Zombie War
by Max Brooks
Edition: Paperback

1 of 2 people found the following review helpful
5.0 out of 5 stars Spooky and realistic, 30 Mar. 2011
Being a zombie films addict, I must say I was predisposed to enjoy the book, but it has been a real surprise...

The book is a compedium of small stories, told 10 years after World War III, aka World War Z because it was not fought between humans, but between humanity and a world-scale zombie plague. With this curious but not nobel-winning plot you could expect anything, and the results are amazingly good.

Brooks has taken a "realistic" approach, explaining as much as possible (taking into account we're talking about zombies ;) of the science of the plague, how it spreads around the world, how different countries, governments and cultures react to it, how each of the survivors is able to tell his/her history, etcetera.

I really like the approach. You never get tired of a history you don't like because they are at most 10 pages long. In fact, sometimes you end with the desire of knowing more of particular histories or survivors, more about what happened.

We have all sort of histories, from frozen zombies in the northen part of the globe, to military mistakes that end with heavy decimation of the US forces, doctors, rich and powerful people...

The author touches a lot of cliches, from typical zombie movies ones, adaptations of "I Am Legend" (even the military call some survivors LMoE, Last Man on Earth, for their surviving skills), interesting (and some very clever) tactics to detect and avoid zombies (using trained dogs, placing tape on the perimeters of the bases so that if a tape is broken a zombie is inside,...).

I enjoyed a lot the scientific approach to how to survive a global zombie plague, how would each government reach, what would happen if you were in the coast, in a city, in a small village, in the jungle, in a boat... Even how you could try to make money from the situation.

Really a lot of situations and themes have been cleverly though and depicted in the short stories.

The book hooks you until you finish it. It felt a bit short for my personal taste, and the finale was a bit too typical (very... "patriotic").

Definetly a recommendation for reading as soon as possible ;)

The Zombie Survival Guide: Complete Protection from the Living Dead
The Zombie Survival Guide: Complete Protection from the Living Dead
by Max Brooks
Edition: Paperback

3 of 3 people found the following review helpful
5.0 out of 5 stars So detailed it feels real, 30 Mar. 2011
This book was written before World War Z so I have been able to compare things on both books in inverse order (I've readed first WWZ).

This book tries to be a "serious" guide to defend yourself from zombies. As simple as it sounds :D

It is sometimes funny, and has a bit of black humour on it, but mostly tries to be as serious and applied as possible.

It gives all sort of advices, from how to defend your home to how to establish a contingency plan, how to "attack" and raid zombie-infested zones, tactics, and some historical zombie attacks (backgrounds for the supposed guide ;)

So basically we can say the book is 85% a manual of "how to live fighting zombies on a daily basis" and 15% a collection of zombie short-stories themed in the past.

The guide is really well documented, so much that a movie director wanting to do a zombie movie could use this guide as a manual of "how to make a zombie movie". Some tactis explained are funny but clever ones.

Some of the stories are really well thought and even scarier than the future depicted in World War Z (the one of the slaves ship is my favourite), and look like the seed that Brooks planted for WWZ (or maybe was a "playground" to see how well could he tell small zombie tales?).

If you enjoyed World War Z, or just like zombie movies, go grab this book before the apocalypse comes!

Page: 1 | 2