Обзор двухколесного городского велосипед для гика


Пуще прежнего жена браниться:
Не хочу быть владычицей морскою,
Хочу быть велосипедисткой,
На которую все оглядываются!

Жена захотела новый велосипед. До этого у неё был Старт-Шоссе от ХВЗ (слишком неудобная посадка), Ашанобайк (слишком тяжелый), Merida (слишком много скоростей)… Походы в магазины заканчивались в том же духе — слишком маленькое седло, слишком большой вынос, слишком яркий цвет…

Я отчаялся угодить ей и успокоился на время осенне-зимнего периода. Зимой внезапно выяснилась проблема с транспортной доступностью нового офиса: свободных мест на парковке нет, остановка общественного транспорта далеко, а до ближайшей электрички 5км — пешком не находишься (хоть это и полезно). Я стал искать способ быстро преодолевать пару последних миль. Такси — дорого. Спортбайк (как и скутер) не для дорог общего пользования и тротуаров. Мотоцикл за счет стоянки сравним по цене с такси. Остается велосипед. Сразу обратил внимание на Strida (и даже попробовал на ней покататься) и её аналоги A-bike, Citybike, McFly. Так появилось основное требование — компактность.

О цене

Цены на Strida LT в России начинаются от 600$. Покупать жене Strida, чтобы выяснить, что у нее гранаты не той системы, мне не хотелось. Даже если его взять себе, боязно оставлять на проходной такую движимость. Принял решение: куплю аналог.
Если жене понравится — останется ей, если нет — сам буду ездить на работу летом. Захочет Strida — будет ей Strida, но это будет уже осмысленным желанием.
Случайно увидел на просторах китайских интернетов аналог за 120$ на FOBе — заинтересовался, поискал по ключевым словам folding bike 16 inch, выяснил, что диапазон цен “у них” колеблется от 100$ до 150$ в зависимости от комплектации (MOQ, сумка, размер колес, спицы или литые диски и т.п.). Но доставка съедает весь интерес покупателя. С доставкой выходит 300..360$. Нашел уже на просторах нашего интернета приемлемый вариант и…
купил.

Первое впечатление

Велосипед стал сюрпризом для жены. Привез, она села, проехалась и влюбилась в него. Даже жалобы на жесткое седло были вполне конструктивны — седло заменить (на фото седло уже не родное). Веселенького красненького цвета, мало весит (около 11 кг), занимает мало места, и, видимо, главное — ни у кого в нашем городе такого нет!

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

Упаковка

Упакован велосипед в огромную коробку (1150х300х600мм) объемом 0.2 куб.м — в такую же коробку можно запаковать и полноразмерный велосипед. Вес нетто около 15кг.

Для сохранности груза используются пенопластовые вкладыши. Для надежности велосипед в коробке обмотан пенополиуретановой лентой.

В мою комплектацию входит

  • коробка, с упаковочными вкладышами и обмоткой
  • велосипед
  • багажник (уже установлен и с красным катафотом)
  • звонок (некоторые предлагают его в подарок)
  • чехол для переноски
  • силиконовые наклейки (уже наклеены)
  • сумка с инструментами (четыре шестигранных ключа 4мм, 5мм, 6мм, 8мм)
  • инструкция (ура! на английском языке).

Габаритные размеры в сложенном состоянии 1120х500х280.

Ограничения

В характеристиках заявляется рост велосипедиста от 145 до 190см. Видимо это китайские сантиметры и надо относится к ним с осторожностью. Для велосипедистки ростом до 160 см требуется максимально опустить седло, что приведет к невозможности установки багажника. Т.е. в диапазоне роста 145..160см багажником без доработок пользоваться нельзя, потому что нижний упор багажника не может быть зафиксирован из-за изгиба рамы (показано стрелкой).

Велосипедист ростом 190 см независимо от расположения седла может доставать коленями руль. При моем росте 180 иногда задеваю коленями руль на повороте.

Так что перед тем как дистанционно покупать такой велосипед, попробуйте найти его в реале и примерить на себя.

Педали складные и пластмассовые. Запрещается вставать на педали, ехать на педалях, запрыгивать на бордюры. Также в инструкции запрещается: кататься в гололед, скатываться с лестницы, кататься на заднем колесе.
При движение в горку возможно проскальзывание приводного ремня. Регулировка натяжения при необходимости производится перемещением педального узла. Стрелочками показаны винты крепления узла к раме.

Это городской велосипед, Карл!

Допилинг

Традиционно перед поездкой необходимо проверить тормоза и при необходимости провести их регулировку.
Левый и правый (передний и задний) приводы тормозов «перепутаны». Нажатие на правую рукоятку вызывает (по мотоциклетному) срабатывание переднего тормоза, на левую — заднего. Перебросить тросики можно, но для этого надо доставать их из рамы.

4-ре винта крепления седла имеют длину резьбы 30мм и глушатся пластмассовыми контрагайками. В процессе изменения высоты седла я их немного погнул, а затем закручивая, пропорол контрагайки насквозь.

Больше менять высоту седла я не собираюсь, поэтому заменил винты на 20мм, посадив для надежности на клей для фиксации резьбового соединения. Теперь винты не выступают. На фото верхний укороченный винт, нижний как это выглядело раньше.

Жена жаловалась на неудобное седло. Пришлось его заменить. Внимание: наклон седла не регулируется.

В сложенном виде шарнир трется о раму. В Strida в этих местах есть специальные накладки. В купленных велосипедах предусмотрена силиконовая накладка толщиной 0.5мм. Её толщины не хватает, кроме того она смещается. Не только синяя изолента нам поможет избежать царапин.

В результате неаккуратного приведения в боеготовность, уронил часть велосипеда с педалями на камень. Удар пришелся на пластиковую звездочку, от которой откололся кусочек. Кстати на фото единственный бренд «Great Wall”. Больше никакие бренды и маркировки не найдены.

Итоги

Велосипед хорошо едет по асфальту или лесной тропинке. Хуже по брусчатке и гравию. Песок и слякоть не переносит. В дождь вода попадает на цепь ремень, что может вызвать его проскальзывание.
Большую скорость на этом велосипеде не разовьешь: мешает парусность посадки, сама посадка. Максимум 20км/ч.
Долго не поездишь: особенности посадки. Руль острый. Прогулка в 2 часа — в удовольствие, больше уже напрягаешься.
Колеса сравнительно маленькие — 16 дюймов. Из-за разборной конструкции рамы по бордюрам не попрыгаешь.

Но, он очень маленький. Бросить в багажник 3 велосипеда (правда один из них классический — детский), не снимая колес, поехать в парк — легко!

Велосипеды радуют. Поднимают настроение. Прохожие оглядываются.

Отмазка

В процессе написания обзора ни один прохожий не пострадал. Автор не получает коммерческой выгоды от публикации, а просто делится впечатлениями.
Вам нужен такой велосипед?

Никто ещё не голосовал. Воздержавшихся нет.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

ссылка на оригинал статьи http://geektimes.ru/post/251266/

Лекции Технопарка. 2 семестр. Java

В эфире очередной выпуск материалов рубрики «Лекции Технопарка». На этот раз вы можете изучить лекции курса, посвящённого углублённому программированию на Java. Цель курса — получение студентами практических навыков создания клиент-серверного приложения на примере разработки сервера простой многопользовательской online-игры в малых группах (4-6 человек).

Лекция 1. Знакомство, платформа Java, инструменты. Сервлеты

 
История появления Java. Определения понятия «кроссплатформенность». Структурный состав Java-приложения. Цели, ради которых создавался язык, его преимущества и недостатки. Обзор платформы Java. Сборщик мусора. Версии Java. Именование в Java. Инструменты разработчика. Создание проекта. Знакомство с Jetty. Java Servlet. Примеры кода.

Лекция 2. Авторизация пользователя. Шаблоны, коллекции

Постановка задачи по авторизации пользователя, описание условий. Модули и процессы, задействованные в операциях регистрации, авторизации, обработки учётной записи и выхода пользователя. Знакомство с шаблонами Java. Класс с шаблонным типом. Метод с шаблонным типом. Синтаксис. Сужение области параметра. Специфика использования шаблонов. Шаблоны и наследование. Определение коллекций. Интерфейсы для работы с коллекциями. Иерархия контейнеров. List, Set, Queue, Map. Интерфейс сравнения Comparable. HTTP-сессии.

Лекция 3. Углубленные основы языка, развёртывание проекта

Наследование в Java. Множественное наследование. Работа с классами. ClassLoader — загрузчик данных о классе. Основные методы класса. Примитивные типы и их обёртки. Boxing и Unboxing. Массивы в Java. Строковые переменные. Размер объектов в Java. Администрирование сервера. PORT в параметры. Maven — средство сборки. Сборка и запуск проекта. Остановка сервера.

Лекция 4. Тестирование и нагрузка

Обеспечение качества ПО: критерии, оценка соответствия критериям, формальные проверки. Автоматизация обеспечения качества: статический анализ кода, тесты, коммит-хуки, непрерывная интеграция. Подходы к тестированию. Юнит-тесты. Функциональное и нагрузочное тестирование. Проверка отдельных модулей. Безопасный рефакторинг. Совместимость модулей. Защита от повторения багов. Требования к тестам. Первый тест. Терминология тестирования. Абстракция. Интерфейс и реализация тестов. Дублёры: Fake, Dummy, Stabs, Spies, Mocks, Mockito. Правила проведения тестирования. Ожидание исключения. Функциональные тесты. Организация, инструменты и результаты нагрузочного тестирования. Сборщик мусора. Интерфейс Autoclosable. Сборщик мусора в Java 7 и 8. Логирование. Удалённый дебаггинг. Использование расширения Java Management eXtension.

Лекция 5. Интерфейсы. Аннотации. Игровая механика. Утилиты

Организация кода. Интерфейсы. Сервисы и дескрипторы. Изменения кода. Реакторинг. Аннотации — метаданные о коде. NotNull. Стандартные аннотации. Синтаксис, обработка и виды аннотаций. WebSockets. Разбор игровой механики и соединения с пользователем на примере игры «Кто больше накликает». Шаблоны Singleton и Context. Исключения и их роль. Класс Throwable. События, их регистрация. Pattern Observer. Коллбэки.

Лекция 6. Работа с файловой системой

Потоки ввода-вывода. Байтовые потоки (Byte Streams). Шаблон Decorator. Закрытие потоков. Понятие сериализации. Интерфейс Serializable. Что подвергается и не подвергается сериализации. Запись в файл. Десериализация. Reflection: разбор объекта и его перевод в массив байт. Возможности Reflection, его недостатки. ReflectionHelper. Сериализация XML-документа. SAX-парсер, его методы. Десериализация XML. Обработчик. Использование Reflection. DOM-парсер. Ресурсная система, интерфейс Resource, фабрика ресурсов.

Лекция 7. Работа с базами (часть 1)

Термины и сокращения. Инструменты. Определение и особенности JDBC, его API. Управление драйверами JDBC. Соединение с базой (Connection). Состояния соединений (Statements). Объект ResultSet. Решение задачи передачи интерфейса в Java 7 и Java 8 (лямбда-выражение). Объект Executor, содержащий методы для работы с запросами. Обновление и выбор состояний. Вызов execQuery. Типизация.

Лекция 8. Работа с базами (часть 2)

Связь между объектной моделью программы и реляционной моделью базы (Object-Relational Mapping). Java Persistence API. DataSet — объект, содержащий данные одной строки таблицы. Объект доступа к данным (Data Access Object), варианты операций над базой. Интерфейс UsersDAO. ORM-библиотека Hibernate, её конфигурирование. Создание или проверка схемы базы при создании SessionFactory. Фабрика сессий (Session Factory). Аннотации для DataSet. Знакомство с Hibernate Query Language. Вставка и чтение HQL, поиск по ключу, получение всех записей. Сервис, скрывающий работу с базой (Database Service). Транзакции на две и более таблиц.

Лекция 9. Многопоточность

Определение процессов и потоков. Роль операционной системы при работе с потоками. Интерфейс Runnable. Класс Thread. Доступ к объекту потока. Остановка выполнения и прерывание выполнения потока. Остановка текущего потока для окончания другого. Термины, связанные с многопоточностью. Критический участок кода. Семафор, Mutex. Мягкая и обязательная блокировки. Высокоуровневая конструкция Monitor. Взаимодействие потоков. Возможные ошибки одновременного доступа. Модель взаимодействия потоков через общую память. Синхронизация, её методы и состояния. Блокировка объектов. Ситуация Deadlock. Служба в отдельном потоке. Методы wait() и notify(). Контейнеры, безопасные для многопоточного доступа.

Лекция 10. Система обмена сообщениями

Архитектура сервера, вариант без многопоточности. Понятие системы обмена сообщениями в рамках сервера. Взаимодействие потоков. Объект для обмена данными MessageSystem. Классы Address, Abonent и Message. Сообщение об авторизации. Иерархия сообщений. Использование MessageSystem. Взаимодействие потоков Frontend и AccountService. Состояния. Балансировка нагрузки: AddressService.

Предыдущие выпуски

Технопарк:

Техносфера:

Подписывайтесь на youtube-канал Технопарка и Техносферы!

ссылка на оригинал статьи http://habrahabr.ru/post/259125/

Вред табака: курильщикам требуется больше наркоза для операций

imageУченые из Турции на конференции Евроанестезия-2015 в Берлине представили результаты исследования, согласно которым курильщикам и пассивным курильщикам нужна большая доза препаратов для наркоза во время операции, сообщает ТАСС.

В исследовании приняли участие 90 женщин, которым было необходимо провести операцию по удаленю матки. Женщин разделили на курильщиц, пассивных курильщиц и некурящих. Ученые постоянно проверяли кровь пациенток на котинин — продукт переработки никотина в организме, а затем сравнили количество препаратов для наркоза.

Операция проводилась под общим наркозом. Анестезиологи использовали пропофол и обезболивающий ремифентанил.

Для нужной глубины наркоза у курильщиков анестезиологи использовали 102 мг снотворного, у пассивных курильщиков — 84 мг, а женщинам, которые никогда не курили, хватило 63 мг. Глубину наркоза оценивали по биоспектральному индексу: он основан на электроэнцефалограмме головного мозга пациента при операции.

Ученые считают, что никотин влияет на метаболизм анестетиков в печени или на работу нервных клеток, связанных с ощущением боли.

ссылка на оригинал статьи http://geektimes.ru/post/251260/

Руководство менеджера: как понять, что разработчики действительно работают

Данная статья является переводом материала, расположенного по ссылке.

Вы когда-нибудь встречали менеджера, довольного скоростью разработки? Лично я нет. Но иногда все гораздно хуже, чем просто скорость… мне доводилось слышать много воспитательных бесед с клиентами о работе разработчика — почему вы не можете писать код 8 часов к ряду и почему сидя и рассматривая стену или даже играя в настольный теннис, разработчик тоже может работать, потому что обдумывает решение задачи в этот момент. Однажды один из топ менеджеров зашел в мою комнату с криком: «Они не работают! Они сидят в интернете!!! Что мы можем с этим сделать?»

История

Итак, я расскажу вам историю о двух командах. Обе они работали над мобильным продуктом одинаковой сложности. Одна из команд упорно работала все время — 10-12 часов в день, часто работая в выходные дни. Каждый релиз для них был сражением — им почти всегда удавалось выкатывать его вовремя, но это было непросто, очень непросто. Каждый знал, как упорно они работают — было постоянное движение, и каждый мог понять, просто взглянув, что вся команда занята делом. Довольно часто у них были «критические блоки» перед релизом и вся команда собиралась для решения этой задачи. Вы могли увидеть их стоящими возле компьютера и что-то обсуждающими. Если им улыбалась удача — найденный фикс не приводил к возникновению новых багов, но иногда их была целая цепочка — одна проблема возникала за другой. Таким образом, они должны были работать всю ночь, чтобы подготовить билд к релизу.

Вторая команда была абсолютно другой — они начинали работать в 11 часов утра, а уходили домой в 6-7 вечера. Они тоже регулярно делали релизы и практически никогда не было задержек. Они много работали над архитектурой приложения, чтобы сделать ее понятной и лёгкой в поддержке. Архитектура не была идеальной, но они пытались ее улучшить. Они не были в панике перед релизом, разработчики могли более или менее предсказать сложности нового фунционала. Да, они также тратили много времени на юнит-тесты и интеграционные тесты. Они могли потратить половину спринта на рефакторинг. Были ли у них более легкие задачи, чем у предыдущей команды? Нет.
hard work

Как это выглядело со стороны менеджеров? Бьюсь об заклад, вы предложите что-то вроде «Первая команда усердно работает, вторая — нет.» Менеджеры даже пытались измерить «продуктивность», сравнивая показатели затраченных часов — первая команда постила почти в два раза больше рабочих часов в Jira. Итак, для всех было очевидно, что вторая команда очень ленивая.

Но что на счет результатов? Они были почти одинаковы для обеих команд — работающие приложения в продакшене, более менее счастливые клиенты) Я даже не скажу вам, что второе приложение работало лучше и содержало меньше багов (и это правда)

nobody cares

Итак, как понять, что ваши разработчики усердно работают

Эта история демонстрирует то, что нельзя судить о производительности команды по тому, насколько занятыми выглядят разработчики.

Лично я считаю, что настоящие разработчики должны быть ленивыми. Если они делают одну и ту же вещь дважды — они слишком ленивы повторять это, поэтому пытаются придумать, как автоматизировать этот процесс. Они ленивы, поэтому не могут позволить себе повторов — избавляются от них настолько, насколько возможно. Они всегда ищут более удобные и продуктивные варианты.

Итак, когда менджер жалуется «они смотрят видео на youtube в рабочее время», я обычно спрашаиваю его/ее — «Но почему это является проблемой? Вы не удовлетворены результатами команды?»

Вот небольшая инструкция для менеджеров проектов. Первое, определите, с чем есть проблемы.

Если нет проблем и ошибок в разработке, но вы чувствуете, что «это не правильно»:

  1. Невозможно писать код 8 часов в день. Вам нужно время хотя бы на обдумывание, потому что вы не печатная машинка — вы сперва должны решить что напечатать. Время на обдумывание иногда может занимать во много раз больше печатания.
  2. Что касается обдумывания — вы не можете думать 8 часов к ряду (И здесь я не имею ввиду мысли о предстоящем отпуске — лично я могу думать об этом весь день). Я имел ввиду «изобретать». Вам нужно время для придумывания идей. Вы не можете просто быть машиной-генератором идей. Поэтому всегда должен быть небольшой «пробел» в рабочем дне.
  3. Менеджеру проектов очень тяжело понять, как работает разработчик — для менеджера день состоит из прерываний, это «поток менеджера». Поток разработчика наоборт — непрерывен, когда вы загружаете всю информацию о задании себе в мозг — переменные и их значения, объекты, связи и т.д. Вы должны держать все это в своей голове, чтобы писать код, в добавок к «модели» решения. Вы устаете от этого. Ваш мозг хочет небольшой отдых. Это все равно что нести тяжелые коробки в течение нескольких часов — вам просто нужно отдохнуть. И вы выгружаете все из своего мозга и открываете Reddit. И в этот момент заходить ваш менеджер и «Эй, почему ты не работаешь???»
  4. Прогресс. Вы не можете прогрессировать если все время загружены. У вас просто нет времени для изменений. Поэтому должно оставаться время дл этого — для экспериментов, для роста, для обучения
  5. Это не фабрика. Вы не можете судить о производительности, используя простые метрики вроде «количество выпущенных элементов». Все эти простые метрики, такие как количество строчек кода или «количество фич» за определенное время. Разработчики не дураки (к сожалению, они слишком умны) — когда вы начинаете измерять их — они взламывают вашу метрику. Единственный способ извлечь из этого пользу — задать метрику «успеха» — достижение каких-то командных целей, релизов, прибыли, счастливых клиентов. Нет с этим проблем? Значит нечего исправлять.

work hard

Есть ошибки в разработке
Попробуйте найти первопричины. Самый легкий способ — это сказать что разработчики ленивые. Даже если разработчик не работает… просто не работает в течение всего дня. Попытайтесь выяснить почему. Может потому что вы, как менеджеров проектов, делаете свою работу плохо: разработчик не заинтересован в проекте? Потому что все очень скучно? Потому что «нет смысла что-либо делать, я все равно буду виноват в конце концов»?
Да, иногда вам попадаются разработчики, которые просто не хотят работать. Это не сложно понять. Решение простое — вы их уволняете.

Итак, не пытайтесь изменить людей. Измените окружающую обстановку, измените управление, удалите препятствия. Будьте садовником — вы не можете сделать настоящий цветок своими руками, но вы можете вырастить его.

ссылка на оригинал статьи http://megamozg.ru/post/15986/

Solar Impulse 2 начал пятидневный перелёт через Тихий океан

Solar Impulse 2 продолжает кругосветное путешествие на самолёте на солнечной энергии. Андре Боршберг вылетел из аэропорта в Нанкине, Китай, и через Тихий океан направляется к Гавайям.

image

В марте 2015 года самолёт на солнечных батареях Solar Impulse 2 вылетел в кругосветное путешествие. По плану путешествие включает в себя 25 дней полета в течение 4-5 месяцев с остановками, во время которых команда будет участвовать во множестве мероприятий на тему возобновляемых источников энергии и экологии.

image

Несколько недель команда ждала подходящее погодное окно для седьмого по счёту перелета — из китайского Нанкина на американские Гавайи через Тихий океан. Этот полёт должен стать моментом истины для всего проекта. Solar Impulse 2 преодолеет 8000 километров за пять дней полёта.

ссылка на оригинал статьи http://geektimes.ru/post/251258/