«В образовании точно что-то назревает. Начали поступать предложения выпускать учебники на iPad, но кажется, что это уже вчерашний день, и будущее за онлайн-курсами» [народный фольклор].Читать полностью »
Архив за 14 мая 2012 - 5
Первый опыт разработки портала дистанционного образования
2012-05-14 в 11:16, admin, рубрики: stanford, Udacity, образование 2.0, Учебный процесс в IT, метки: ML class, stanford, Udacity, образование 2.0Правила разработки сложных систем. История одного проекта
2012-05-14 в 11:15, admin, рубрики: c#.net, архитектура системы, Программирование, проектирование, Проектирование и рефакторинг, проекты, метки: c#.net, архитектура системы, проектирование, проектыПривет. Меня зовут Александр. И я хочу поделится своей историей работы над одним крупным и сложным проектом.
В этой статье не будет кода и схем, в ней будет только история создания «от и до» самого проекта. Думаю, многим будет интересна данная статья. Итак, поехали!
Начало
Все началось летом 2011. На тот момент я был 3 года чистокровным фрилансером. То есть моя работа — это фриланс. Работал и работаю до сих пор только с западными заказчиками. Основная специализация — разработка проектов связанных с распознаванием образов, текста и т.д.
Все началось с того, что я, как всегда, с утра проверял почту, чистил спам, занимался рутинной работой. Обычно я не смотрю, что у меня в спаме, но тут я увидел письмо, с вполне реального адреса. Я открыл письмо, в котором одна компания искала программиста для допиливания крупного западного проекта. Причем эта компания требовала программиста именно из моего города и обязательно с опытом работы в области распознавания. Я ради любопытства ответил на это письмо. Буквально через час мне пришел ответ. А через два мы уже созвонились с менеджером проекта. Поначалу мне показалось, что ничего сложного в доработке нет, обычный набор функционала. После непродолжительного разговора с менеджером я огласил свой прайс, то есть ставку в час. И на этом мы попрощались. На следующий день мне сказали, что согласны на мой ценник и дали тестовое задание. Я его успешно выполнил в течении часа, и мы двинулись дальше. А здесь начинается самое интересное. Во-первых, меня пригласили в офис для того, чтобы подписать договор о неразглашении (Non-Disclosure Agreement). Во-вторых, и это логично, исходники проекта мне обещали отдать только после подписания договора. Если честно, меня это смутило, не знаю даже почему. И интуиция меня не подвела. Я потребовал хотя бы часть исходного кода, чтобы оценить сложность работы и попросил рассказать подробнее о проекте. Как оказалось проект на тот момент велся уже три года и я был 4 (!) исполнителем. До меня работала американская компания, потом индусы, потом компания, которая наняла меня, пыталась реализовать проект силами одной девочки-программиста, а потом это все чудо предложили разгребать мне. Меня это не просто удивило, а очень насторожило. Потом я узнал множество удивительных вещей, например о том, что заказчик 2 года не видел программу, а видел только скриншоты, а индусы кормили обещаниями этого заказчика. У меня не укладывалось в голове, как такое можно реализовать. Менеджеру индусов надо дать медаль «За находчивость».
После того как я выслушал удивительную историю, мы договорились с менеджером о том, что он мне отдаст исходный код и я оценю масштаб трагедии. Чтобы было более понятно, я расскажу более подробно о проекте. Этот проект — это инструмент для инженеров, архитекторов, электриков и других людей, которые занимаются строительством домов, небоскребов, одним словом зданий. Он служит для подсчета различных элементов на строительных планах, расчета площадей, измерения длин и составления смет. Грубо говоря есть строительный план и на нем есть розетки. Нам надо распознать и посчитать сколько этих розеток. Для распознавания использовалась библиотека написанная другим программистом. Сам проект написан на C#. Моя задача была собрать все воедино и доработать дополнительный функционал, а также привести программу к более менее стабильному состоянию. Кажется все просто и элементарно. Я тоже так подумал. Но не тут-то было.
После того как я получил исходники, я попытался скомпилировать проект. Это мне не удалось. После краткого анализа, я исправил ошибки и все же запустил проект. Но, к сожалению, он не заработал так как нужно. После нескольких часов анализа кода я пришел к выводу, что вся проблема в библиотеке распознавания. На тот момент у меня стояла 64-битная «семерка», а у менеджера 32-битная. У него все работало, у меня нет. Я попросил, что бы мне скомпилировали библиотеку под 64-битную платформу. Но разработчик библиотеки с пеной у рта доказывал, что не в разрядности дело. Я не мог ему ничего доказать, так как он дал очень немного информации о своей библиотеке и вообще берег ее как зеницу ока. Время шло и мне надо было хотя бы полностью провести процесс поиска. Я плюнул на все и поставил себе 32-х битную версию ОС. И о чудо! Все заработало. Отвлекаясь, хочу сказать о библиотеке, в будущем дело все же оказалось в ее разрядности.
Я начал анализировать код. Первое впечатление было просто отвратным. Я был в шоке. Я приведу список того, что меня возмутило в проекте.
1. Компоненты и контролы.
Проект очень сильно связан с графикой, но для ее вывода и обработки использовался обычный PictureBox. Самый маленький размер плана — 5400x3600 пикселей. Знающие люди поймут, что для PictureBox -это достаточно проблематичная тема с выводом больших картинок и их обработкой. Не стоит забывать, что помимо самих планов выводится еще много информации (площади, текст, найденные символы и т.д.). При запуске проекта с 5 маленькими планами, программа непременно падала с ошибкой «Out of memory». Что было очень большой проблемой, так как основной задумкой было то, что инструмент должен был работать по принципу «запустил и забыл».
2. Логика архитектуры исходного кода программы.
Тестирование и использование аккумулятора для смартфона HTC Desire S на 1800 мАч
2012-05-14 в 11:13, admin, рубрики: HTC Desire S, аккумуляторные батареи, Смартфоны и коммуникаторы, Энергия и элементы питания, метки: HTC Desire S, аккумуляторные батареиВведение
Прочитав пост HeavyRazzer (Опыт использования аккумулятора на 3600 мАч для смартфона HTC Sensation ), было решено провести тестирование аккумулятора для моего смартфона HTC Desire S.
Читать полностью »
121-мегапиксельный снимок Земли
2012-05-14 в 11:11, admin, рубрики: глонасс, обработка изображений, Фототехника, Электро-ЛЭтот снимок был сделан с высоты 35 т. километров отечественный гидрометеорологическим спутником «Электро-Л» №1.
Испытание яблочного радиометра
2012-05-14 в 10:49, admin, рубрики: apple, АЭС, Железо, радиация, разработка под iOS, тестирование, метки: DO-RA, АЭС, радиация, тестирование
Измерение радиационного фона под Медным всадником
Я решил проверить, как работает ДО-РА в путешествии.
ДО-РА это компактный прибор для измерения радиации. Втыкается в аудио-вход iPhone и телефон начинает работать, как бытовой дозиметр. Разумеется, Вам становятся доступны красивые экраны, качественные шрифты и куча дополнительной информации и сервисов iOS.
Мне нравится возможность фотографировать пейзажи и объекты и отсылать приятелям полученные картинки с текущим уровнем радиационного фона. Я люблю неподвижную протоплазму.
Разумеется, история о путешествии иллюстрирована фотографиями из этих писем.
Panasonic укомплектовала ноутбук Let’s Note J10 с экраном диагональю 10 дюймов процессорами Intel Core i3 и i5
2012-05-14 в 10:43, admin, рубрики: Новости, метки: новостиКомпания Panasonic сообщила о пополнении ассортимента портативных компьютеров моделью Let’s Note J10, сочетающей мобильность и высокое быстродействие: аппарат, даром что наделен экраном диагональю 10,1 дюйма, комплектуется процессорами Core i3 и i5. Правда, как результат, при небольшой длине и ширине корпуса (251,9 х 171,7 мм соответственно) аппарат получился не тонким: минимальная толщина корпуса — 27,3 мм, максимальная — 35,1 мм.
Piano podcast — spring atmosphere
2012-05-14 в 10:41, admin, рубрики: весна, музыка, подкасты, радость, метки: весна, музыка, радость Здравствуйте.
Предлагаю вам уделить несколько минут для прослушивания нового выпуска Piano podcast.
Подкаст фортепианных импровизаций создан в первую очередь для людей, которые любят спокойную музыку и хотят расслабиться.
На Хабре большинство людей работают умственным трудом и очень важно иногда дать себе отдохнуть.
Треки помогают найти внутри себя новые идеи, силы для работы или просто поразмышлять над чем-либо.
Команда LinguaLeo едет в Черногорию на 2 месяца. На борту 5 свободных мест! Миссия команды — выпустить важнейшие релизы
2012-05-14 в 10:40, admin, рубрики: LinguaLeo, offshore, startup, Блог компании LinguaLeo, Веб-разработка, Идеи для стартапов, команда, продукт, разработка, Черногория, метки: LinguaLeo, offshore, Startup, команда, продукт, разработка, Черногория
История лингвистического веб-сервиса LinguaLeo началась с 6-ти месячной разработки на этом острове в Таиланде. Именно там маленькая команда выпустила бета-версию сервиса. Море и Джунгли помогли!
Прошло два с лишним года. Сегодня на LinguaLeo 1.300.000 зарегистрированных пользователей, суточная аудитория — около 80.000 человек. Но пока LinguaLeo доступен только для русскоязычных пользователей… Есть iPhone-приложение и бета-версия WinPhone-приложения, но нет Android приложения… Есть Джунгли, удобный личный словарь и тренировки для расширения словарного запаса, но почти нет инструментов для освоения грамматики и работы с фразами… А все это так близко, так нужно и так важно для человечества качественного изучения иностранных языков. Кроме того, у миллионной аудитории сервиса еще нет возможности общаться между собой вживую и практиковать английский язык…
Читать полностью »
Как заработать на десктопном приложении?
2012-05-14 в 10:32, admin, рубрики: Новости, метки: десктопные приложения, Микрозаймы, монетизацияСегодня у многих компаний как крупных, так и не очень, возникает желание получить доход и испробовать различные направления. Ориентация на один узкий сегмент рынка — это ошибочная стратегия в условия бурного и высоконкурентого развития современных технологий по всем направлениям и тематическим нишам.
Многие компании разрабатывают небольшие полезные приложения не под заказ, а для себя. Такие приложения составят хорошую репутацию компании в качестве портфолио, позволять познакомить пользователей приложения с компанией, а также получить бесценный опыт разработки. Такие приложения, как правило, распространяются бесплатно, с целью привлечения наибольшего количества активных пользователей. Но рано или поздно становиться вопрос о монетизации приложений. Любой бизнес любит счет и баланс, и если инвестированные в разработку затраты не окупились, то это сигнал для руководителя.
Читать полностью »
Тестирование видеокодеков. Эпизод II: энкодеры атакуют
2012-05-14 в 10:25, admin, рубрики: intel, mediasdk, Блог компании Intel, видеокодеки, тестирование, метки: intel, mediasdk, видеокодеки, тестирование Продолжаем познавать тайны тестирования видеокодеков. На этот раз поговорим про энкодеры.
Ссылка на первую часть.
Читать полностью »