2013-07-31

Kindle vs Nook

Kindle - light or set fire. Arouse or inspire

Попытка номер один. Читалка, которая, внезапно, позволила удобно работать с книгой: делать закладки (это, в принципе, и раньше делал), выделять фрагменты, добавлять комментарии. Но самая крутая фича, конечно, - встроенные оксфордские словари (Oxford English и New American English) позволили, просто наведя слово на курсор, видеть определение слов, что качественно повысило понимание книг при чтении в оригинале. 

2013-07-28

EVE. Век эмпирей

Денис, помня про мою тягу к фантастике и интересу к ЕВЕ, посоветовал книгу Тони Гонзалеса. Новеллизацию по вселенной игры. Прочитал за пару дней на одном дыхании, добротнейшая фантастика даже для не фаната. Четыре расы слестнувшиеся в отчаянной битве всами доступными средствами: от дипломатических до военных. Могущественные незнакомцы тайно дергающие за нити, наследие потерянной Терры.

Некоторые фрагменты, кстати, напоминают Дюну, есть даже свой барон Харконен.

Всё, жду продолжения. Сражаться с дикой тягой загамать становится все труднее.

2013-07-25

The Art of Unit Testing

Великолепная книга от Roy Osherove. Однозначно попадает в категорию 'И почему она не попалась мне пять лет назад?', однозначный мастрид. Не смотря на то, что все примеры идут для .NET, польза будет и для явистов, поскольку принципы работы отличаются только деталями.

Книга состоит из 4 разделов: базовые принципы, моки и стабы, тестируемый код, внедрение тестирования в легаси среде. И если первые два раздела я уже освоил, достаточно натанцевавшись по граблям (читал чтобы убедиться, что ничего не пропустил), то последние дали богатую пищу для размышлений.

A unit test should have the following properties: 
❂ It should be automated and repeatable.
❂ It should be easy to implement.
❂ Once it’s written, it should remain for future use. 
❂ Anyone should be able to run it.
❂ It should run at the push of a button.
❂ It should run quickly.

These are the FICC properties: fast, isolated, configuration-free, and consistent. If it’s hard to write such a test, or it takes a long time to write it, the system isn’t testable.

Противоречие между инкапсуляцией и тестируемостью решается очень легко:
Some people feel that opening up the design to make it more testable is a bad thing because it hurts the object-oriented principles the design is based on. I can wholeheartedly say to those people, “Don’t be silly.” Object-oriented techniques are there to enforce some constraints on the end user of the API (the end user being the programmer who will use your object model) so that the object model is used properly and is protected from unforeseen ways of usage. Object orientation also has a lot to do with reuse of code and the single-responsibility principle (which requires that each class has only a single responsibility). When we write unit tests for our code, we are adding another end user (the test) to the object model. That end user is just as important as the original one, but it has different goals when using the model. 

Ну и, в заключение, совет от Мастера: Finally, as a friend once said, a good bottle of vodka never hurts when dealing with legacy code.

2013-07-22

О лидерстве



Интересное интервью как-то запостил Голодный. Скачал, несколько месяцев валялось, пока наконец не посмотрел. Очень понравились идеи осознанного выбора и принятия ответственности; про группу, которая не группа а набор людей с общественным договором; про мониторинг и коррекцию; про засучить рукава и сделать лучше всех.

Случайные совпадения

Буквально через пару дней после просмотра, разговор с другом (тот самый успешный троечник из интервью, который, по словам учителей, умрет под забором от голода) зашел о бизнесе, принятии ответственности. Он сказал, что сотрудники безинициативные, их нужно постоянно пинать, чтобы они начали что-то делать и хорошо бы им сходить в армию, дескать, их бы там научили, как его в свое время. После этого почти дословно повторил описание армейского опыта Гандапаса – я про себя очень удивился этим множественным совпадениям. Хотя и не согласился с другом: модель поведения изначально была правильно сформированная – армия лишь позволила ей проявиться.

2013-07-17

vN - The First Machine Dynasty

Книга от начинающей писательницы Madeline Ashby. Недалекое будущее, рядом с человеком живут синтеты. Ранее они создавались для определенных целей: восстановление лесов, ухаживание за больными после разрушительного землетрясения – каждая модель обладала определенными навыками. Серия моделей с одинаковой функцией называлась клайдом.

"What are you doing?" Amy asked.
"My job." Javier picked up one pinecone with his good hand and screwed it into the sand until it stood upright. "Planting trees."

Синтеты обладают возможностью размножаться, если в наличии достаточно материала. Всех их объединяет одно: failsafe, механизм блокирующий причинение вреда человеку.

Весь сюжет завязан на сбое этого механизма у одной из таких моделей, девочки, живущей в смешанной человеко-синтетической семье. Морально-этические проблемы и противоречия, не уступают аналогичным у Азимова в цикле Я робот, хотя и более "человечны".

Понравилось описание процесса итерации: "It's just the stemware copying itself. First my search engine clones itself in him, then it just goes hunting for relevant data and imports it."

Интересные отсылки на другие фантастические произведения: Like the Rusty Innards, all the items on the menu had goofy names that somehow related to robots, although Amy sometimes didn't understand the references. There was a cocktail called Tears in the Rain, for example, that she had no clue about. But it was meant for humans, so it didn't matter. Даже на игры:   "Let me check into it," Amy said, and returned a moment later with the last slice of opera cake and a crowd of her fellow servers, all of whom sang the Electric Sheep's birthday song:  
This cake is for you  
This cake is for you  
This cake is no lie  
And it's just for you.

Происхождение синтетов весьма оригинально: "It's total bullshit, is what it is. This whole culture, it doesn't give a good goddamn about women." Shari pointed at Amy. "There are only two industries in this world that ever make any kind of progress: porn, and the military. And when they hop in bed together with crazy fundamentalists, we get things like you." She rested her elbows on her knees and grinned at Amy. "I'm telling you. Big men with their little heads. You know?"  Синтетов создала церковь:   The angel investor supporting the development of von Neumann humanoids was not a military contractor, or a tech firm, or even a design giant. It was a church. A global megachurch named New Eden Ministries, Inc, that believed firmly that the Rapture was coming any minute now. It collected donations, bought real estate, and put the proceeds into programmable matter, natural language processing, and affect detection – all for the benefit of the few pitiful humans regrettably left behind to deal with God's wrath. They would need companions, after all. Helpmeets. And those helpmeets couldn't ever hurt humans. That was the Horsemen's job.

Итог: весьма интересно, хоть и на любителя. Когда выйдет вторая книга, обязательно прочитаю.