Мой дед

2 коммент. | добавить комментарий
Вчера брат нашел ссылку. По случаю 9 Мая, размещаю ее здесь.

 

Пенаки Зиновий Федорович, герой Советского Союза, мой дед.


Я помню и горжусь!

Не смог установить Windows 8 Consumer Preview

0 коммент. | добавить комментарий
Пользуя Ubuntu на домашнем ноуте около полутора лет, я довел ее до такого состояния, в котором она работала стабильно, обновляла пакеты, а вот обновить дистрибутив целиком не получалось из-за каких-то битых зависимостей. В общем, отчасти из-за этой проблемы, а отчасти из любопытства я решил попробовать Windows 8 Consumer Preview, вышедшую пару дней назад.

Докладываю:
  • программа установки неправильно определила разрешение широкоформатного монитора - ну да ладно, бывает
  • сначала система отказалась ставиться с формулировкой "Setup was unable to create a new system partition or locate an existing partition. See the Setup log files for more information". Удаление всех существующих разделов, жмаканье кнопки "Format" и пр. не помогло. Погуглив с другого компа, понял, что нужно отключить внешний USB-винчестер и перезагрузиться, после чего установка перешла на этап копирования файлов...
  • ...на котором и зависла - на 27%, реагируя только на вынимание DVD - немедленной просьбой вернуть его на место. Погуглив опять, понял, что такая проблема существует и в Windows 7 - иногда установка может висеть на 27% до 16 часов кряду!
Столько терпения у меня не было, поэтому я выкачал и установил Ubuntu 11.10, при этом разрешение монитора определилось верно, а программа установки сразу предложила подключиться к домашнему WiFi, чтобы скачать апдейты. Также во время установки можно открыть браузер и сёрфить Интернет.

В общем, установка Ubuntu сейчас реально дружелюбней и проще, чем Windows 8. Посмотрим, конечно, как изменится ситуация в релизной версии, но пока мой домашний ноут остается во власти красноглазых.

The Navigame

1 коммент. | добавить комментарий
Just a week remains until the New Year 2012 comes. The last year was the first one we at Luxoft have been able to make the maximum contribution to the development of the next-generation car navigation system which we are working on since 2008. The most prominent thing is the complete responsibility for the production chain, of course. At the same time the software products we are developing have matured a lot - thanks to all my colleagues, past and present.

As I really appreciate what our guys have done and are doing and at the same time I want to remember and cherish the good time we had in 2011, I decided to write a simple computer game on how we work. So, meet The Navigame:


After some trials and errors I decided to make it looking like a paper sketch (most likely soon I'll assemble a new version with enhanced graphics which I've asked my friend for). The good thing is that here I've finally found an application for the TTF-font I created two years ago.

The goal of the game is to develop the navigation system and to compile digital maps - as much as possible. For this you have a pool of skilled developers and map production engineers which can be assigned different tasks. There are developers who create the navigation software and production engineers who build the maps using the map compiler which is a part of navigation. The more the navigation system is feature-complete, the bigger maps can be handled with it. There are also some athmospheric features like customer PM or developers' curses. You basically should (a) finish the navigation development, (b) fulfil the map production plan and (c) earn as much money as possible.

To all people we worked with during the last 2-3 years: there are good chances that you find yourself inside the game - so give it a try :)


The source code, readme and binary download are available on Github at https://github.com/sborodavkin/navigame. It is required to have JRE installed as the game is developed in Java using Slick and LWJGL.

All contributions and feedback are warmly welcome.

Экспертиза

3 коммент. | добавить комментарий
Это только меня передергивает, когда я слышу/вижу это слово? Нет, правда.

Кто решил, что экспертиза в русском языке обозначает то же самое, что expertise - в английском?
  • "Наша экспертиза позволяет нашей компании выполнять проекты самого высокого уровня сложности"
  • "Экспертиза отдела разработки ПО на базе Java составляет 3 года"
  • "Это позволяет EPAM накапливать экспертизу и успешно применять ее в проектах."
  • "Расскажите о вашей экспертизе с Informatica"
Предлагаю определиться. Экспертиза - хоть Ушакова откройте, хоть Брокгауза и Ефрона, хоть словарь иностранных слов - означает примерно следующее:

Экспертиза [лат.; см эксперт] - исследование какого-л, вопроса, требующего спец. знаний, с представлением мотивированного заключения, напр, врачебная э., бухгалтерская э.
 А то, что сертифицированные менеджеры и пубертатные девелоперы пытаются выдать за экспертизу - это калька с английского. По-русски это будет "опыт", возможно "знания" - по контексту, но никак не "экспертиза". Экспертиза - это исследование, изучение чего-либо.



Crow 1.1.0 released

0 коммент. | добавить комментарий
Несмотря на то, что все фичи к релизу были подготовлены уже давно, акт выпуска новой версии произошел только сегодня.

Скачать можно отсюда.

В релиз 1.1.0 были включены 5 новых фич:


  • 3300468 Filter Perforce changelists by description
    •  аналогично предыдущей фиче, в окне добавления Perforce changelists теперь можно делать дополнительную фильтрацию по описанию:
  • 3294913 Support new trace type DD2TRS
    • несмотря на то, что ASPICE запрещает прямую трассировку TRS на детальный дизайн, бывают ситуации, когда описание архитектуры недоступно, и в этом случае установить необходимые трассы нельзя. Поэтому был добавлен новый тип связи, позволяющий трейсить TRS непосредственно на детальный дизайн и обратно.
  • 2946382 Mark some CRS as "should not be traced"
    • иногда в базе CRS есть отклоненные (rejected) или устаревшие требования, которые намеренно не покрыты TRSами, дизайном, кодом и т.д. Чтобы в отчете о трассировке эти CRS не светились красным цветом, появилась возможность обозначать их как "не трассируемые". В отчете это выглядит, например, вот так:

За реализацию фильтров и нового типа трассировки отдельное спасибо Саше Кондратюку!


Приятной работы!
Кстати, в этом релизе мы попробовали CodeStriker - бесплатный инструмент для проведения peer code review. По сравнению с Crucible - ужасно: неудобный интерфейс, корявое отображение исходников, для просмотра комментариев необходимо кликать на закладки (нет режима отображения кода вместе с комментариями).

Is Data a Software?

1 коммент. | добавить комментарий
Сегодня инициировал, а затем полтора часа участвовал в дискуссии, смысл которой можно свести к вопросу "можно ли входные данные, обрабатываемые программой, также называть Software"?

По завершении дискуссии, нашел интересную статью Peter Suber, "What is Software?" Несколько цитат из глав 9 и 11:

To compile a program written in a high level language, it must be treated as data by another program, the compiler. It must passively be worked upon, so that later it may actively do work. Without this step, the programmer might as well have spoken in English. Programs written originally in the binary code readable by the machine do not require this translation, and hence need not be treated as data. But virtually all programs written today are written in higher level languages.
Apart from this critical step in the very functioning of software, programs are treated as data for the purpose of copying (publishing) and transmitting them. Even if a program were originally written in machine language, chances are good that if we are using it, its code has once been treated as data by another program.

Software may essentially be pattern, but how is it to be distinguished from patterns that are used as data rather than software? How does it take the position of natura naturata and then natura naturans? This seems to be the central mystery. How can pattern be read as instructions? How can mere pattern rise from passivity to activity? Why isn't sheer syntactical pattern always inert, perpetually data and never software?
 ...
We can approach answers to these questions by saying that software is pattern in a controlling position, while the same pattern in a different position will be data (and the same pattern under different language conventions will be noise). But what is this "position"? The first thing to observe about it is that it is not part of the pattern. It is the use to which the pattern is put, or the relation between the software-pattern and other patterns that are currently functioning as data. In this, to assume the "controlling position" is similar to meeting the physical requirement of readability; it leaves the pattern unchanged and occurs independently of the syntactic and semantic content of the pattern.

It is this "position" or use of the software pattern that enables its binary code to be taken as code for instructions that are to be executed. The matter is simpler than it may appear. If we write down on one piece of paper directions for copying a page of text, and on another piece of paper directions for erasing or shredding a page of text, then we may give them to a stranger and ask that the top sheet be read and applied to the bottom sheet. It does not matter how they are shuffled; each can apply to the other as it can apply to itself. One is put in a controlling position if the "hardware" (here the stranger) reads one first and one second. Odysseus may command his men to tie him to the mast as his ship passes the island of sirens, and to ignore any commands to be released that he might issue. If his men obey this command, then it "poisons the well" for future commands and causes them to be interpreted as data. But the commands to be released are like the directions written to the stranger: fully satisfactory and "authoritative" as commands. Whether they function as commands or data is a matter of whether they are taken up earlier or later than other contenders.

Вкратце: data также является software. IEEE также считает данные подмножеством software.

Комментарии к методам

0 коммент. | добавить комментарий
Очень понравилась фраза из SQLite coding style; не могу удержаться, чтобы не скопировать сюда:

  1. Function header comment defines the behavior of the function in sufficient detail to allow the function to be reimplemented from scratch without reference to the original code.