Pull to refresh
0
0
Ваня @van1sh

User

Send message

Боремся с RSI — обзор клавиатуры Truly Ergonomic 209

Reading time7 min
Views81K
Truly Ergonomic 209


Говоря кратко, после пары десятков лет работы за компьютером я вдруг стал чувствовать на себе признаки «туннельного синдрома» (RSI). Более подробно изложено в лирическом отступлении.

Лирическое отступление
Последние годы на Дни рождения все больше вместо «денег» я стал получать пожелания «здоровья». И хоть по человеческим меркам мне еще не так много лет (30), для айтишника это уже практически пенсионер. Впервые сесть за свой компьютер мне повезло в возрасте шести лет, а с восьми это был уже PC-совместимый компьютер с типичной для тех времен классической 101-клавишной клавиатурой формы кирпича, за которую современный хипстер отдал бы свой айфон.

Шло время, менялись конфигурации, оставалась лишь привычка дни напролет проводить за компьютером, с годами закономерно переросшая в профессию программиста. Тем временем, мой интерфейс понемножечку эволюционировал вслед за прогрессом — сначала я отказался от стрелочного блока клавиатуры, став покупать модели без его наличия (детская привычка гамать на цифровом блоке с выключенным NumLock взяла свое), затем та же участь постигла и цифровой блок, оставив вместо него лишь вертикальную дорожку Home'ов и PageUp'ов. Потом я и вовсе переполз на ноутбуки, несколько лет работая только на них.

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

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

Жило бы и дальше, если бы однажды вечером я вдруг не почувствовал довольно сильное жжение в левом запястье. Некие неприятные ощущения в кистях бывали и раньше, но значения этому не придавалось — мало ли, что там побаливает. Здесь же жжение было весьма назойливым, к тому же на следующий день оно повторилось к середине дня. Став замечать, пришел к выводу, что руки мои потихоньку кричат о помощи, а почитав материалы про RSI, понял — это признаки того самого туннельного синдрома, о котором так много говорят.

Проблему нужно было решать скорее, запускать болезнь чревато осложнениями. Изучив интернет (в частности, некоторые материалы на хабре), пришел к печальному выводу, что выбор эргономичных клавиатур не столь велик, как кажется. Если не рассматривать откровенно гиковские приблуды, остается шорт-лист из продуктов Microsoft, Kinesis и Truly Ergonomic. Microsoft Ergonomic Keyboard хороша тем, что ее легко купить в наших магазинах — больше я хорошего в ней не нашел. Да, клавиатура удобная, популярная, относительно недорогая. Однако она очень широка — правый ненужный мне блок клавиш ставит мышку слишком далеко от плеча, а это неудобство. Мультимедийные кнопки сверху это вообще за гранью добра. На легендарный Kinesis Advantage я периодически посматриваю с начала нулевых, и вот наконец-то могу его позволить ($300 с копейками, зависит от модели), однако все так же смущает ширина и уж слишком далекая от стандартов посадка клавиш — есть мысль, что периодически свитчить с нее на ноутбук в будущем станет большой проблемой. Выяснилось также, что Kinesis не доставляет в Россию, поэтому заказывать нужно через одного из их европейских реселлеров, но это просто к слову.

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments109

Как обмануть Корпорацию Добра или покупаем Nexus 7 в России без гуглолотереи

Reading time4 min
Views260K
В недавней статье на Хабре уже шла речь о том, как закупаться на Google Play в разделе Devices прямо из нашего захолустья. Тема бесспорно интересная: Nexus 7 пока в России и близлежащих странах вообще не водится, а Galaxy Nexus, скорее всего, просто обойдется вам значительно дороже, если, конечно, вы не живете в Москве или Питере. Проблема только в том, что рецепт оказался несколько нестабильный: лично меня Самая Добрая Корпорация небезосновательно заподозрила в подтасовке личных данных, а судя по комментариям – я такой оказался далеко не один.

Неделя мучений и попыток обмануть Google Wallet привела-таки к положительному результату в виде возможности покупать что угодно и где угодно на Google Play, более того, решение, строго говоря, лежало на поверхности и никаких сложных действий не требовало.

Под катом новый рецепт и совсем чуть-чуть скриншотов.
Читать дальше →
Total votes 99: ↑91 and ↓8+83
Comments110

Устраиваемся программистом за рубежом

Reading time16 min
Views63K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →
Total votes 208: ↑188 and ↓20+168
Comments160

Нейронные сети и распознавание символов

Reading time7 min
Views125K
В последнее время на Хабре появилось, а также существует много содержательных статей, описывающих работу и принцип понятия “нейронная сеть”, но, к сожалению, как всегда очень мало описания и разбора полученных практических результатов или их не получения. Я думаю, что многим, как и мне удобней, проще и понятней разбираться на реальном примере. Поэтому в данной статье постараюсь описать почти пошаговое решение задачи распознавания букв латинского алфавита + пример для самостоятельного исследования. Распознавание цифр с помощью однослойного персептрона уже сделано, теперь давайте еще разберёмся и научим компьютер распознавать буквы.
Немного желания и можно начинать...
Total votes 92: ↑75 and ↓17+58
Comments57

Мой опыт восстановления зрения

Reading time9 min
Views278K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →
Total votes 495: ↑398 and ↓97+301
Comments208

Настраиваем внешний вид Windows 7

Reading time4 min
Views345K
В последнее время я стал замечать, что большая часть пользователей «семерки» используют стандартную тему оформления, которую разработчики ласково назвали Aero.

На мой взгляд, она излишне ориентирована на планшеты. Об этом нам говорят огромные кнопки управления окном и излишне широкие заголовки и рамки окон — все это придает интерфейсу некоторую громоздкость. Кроме того, разработчики перемудрили с разнообразием цветовой гаммы: все эти прозрачности, переливания, градиенты и прочие изыски создают своеобразный эффект грязи.

Возможно, кому-то так нравится, кому-то безразлично, кто-то привык, а кто-то попросту не знает, что все это можно изменить.

Поехали!
Total votes 263: ↑182 and ↓81+101
Comments167

Неправда о компьютерщиках: что там сочиняют про нас?

Reading time2 min
Views3.9K
Мой знакомый системный администратор ездит на собственной спортивной машине, знакомый программист участвует в заграничных покатушках на яхтах, еще один программист активно занимается дайвингом, системный архитектор – заядлый охотник. Ни один из них не вписывается в разрекламированный в народе образ кривого прыщавого и забитого ботана-компьютерщика, ни по внешнему виду, ни поведению, ни по образу жизни, ни по увлечениям. Да кто же это все придумывает и для чего? Предлагаю найти примеры такого творчества и собрать их здесь в этом посте.


Читать дальше →
Total votes 173: ↑131 and ↓42+89
Comments201

То, что вам никто не говорил о z-index

Reading time3 min
Views357K

Проблема z-index в том, что многие просто не понимают, как он работает.
Всё, описанное ниже, есть в спецификации W3C. К сожалению, не все её читают.

Описание проблемы:


Итак, пусть у нас есть HTML код, состоящий из 3 элементов.
Каждый из них внутри себя содержит по одному . А каждый , в свою очередь, имеет свой фон: красный, зеленый и синий, соответственно. Плюс ко всему, каждый позиционирован абсолютно левого верхнего края документа таким образом, что он немного перекрывает собой следующий за ним . Первый имеет z-index
, равный 1, у остальных двух z-index не задан.
Читать дальше →
Total votes 112: ↑109 and ↓3+106
Comments30

В поисках идеального css-фреймворка. Требования, реализация, maxmertkit

Reading time14 min
Views70K


Я обожаю twitter bootstrap. Прост, местами логичен, достаточно красив, подходит для быстрого прототипирования веб-интерфейсов. Но этого оказалось недостаточно. Взяв twitter bootstrap в большой проект, мне пришлось целиком его разобрать и переосмыслить css-фреймворки как боевые единицы в веб-проектах. В результате переосмысления родились требования к любому css-фреймворку, удобному как верстальщику, так и frontent-разработчику.
Требования и реализация
Total votes 208: ↑199 and ↓9+190
Comments135

Простой шаринг c Facebook и Twitter

Reading time6 min
Views28K
    Сейчас трудно встретить сайт без кнопки «Share» (Я уже не говорю про «Like»): это быстрый и удобный способ поделиться интересной информацией с друзьями и недругами через всевозможные социальные сети. Эту же «кнопку» можно использовать и в своем Android-приложении. При этом не обязательно, чтобы приложение представляло из себя клиент Facebook'а: можно просто предоставить пользователю возможность послать себе на стенку простое сообщение, типа «Я использую Android Yorshik! Попробуй и ты!» Ну это гипотетически.
    А на деле в последнем проекте мне пришлось обеспечить пользователю возможность отравлять сообщения (и картинки) на Facebook и в Twitter о своем прогрессе, и конечно же и тут не обошлось без подводных камней (куда ж без них). Перед написанием статьи Я решил вычленить часть кода, отвечающую за шаринг, в отдельный компонент, для демонстрации работы с Facebook API и Twitter API. Но потом Остапа понесло, и в результате получился реюзабельный инструмент для простого шаринга в Facebook и Twitter (а в перспективе и в другие соцсети). Под «простым шарингом» Я подразумеваю возможность только послать сообщение или картинку. Никаких «зафрендить» или «ретвитнуть» простой шаринг не предполагает. Простой функциональности — простой интерфейс! Я попытался скрыть все сложности работы с API за красивым фасадом. Но об этом далее…
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments12

Упрощаем себе жизнь с помощью Sublime Text 2

Reading time7 min
Views52K
image
Недавно открыв для себя Sublime Text 2, я удивился тому, как можно было придумать настолько эффективный инструмент. Тот кто избалован всяческими IDE, обычно не видит никаких достоинств, кроме красивой подсветки кода (хотя именно это меня изначально и привлекло).

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

Читать дальше →
Total votes 100: ↑76 and ↓24+52
Comments189

Аутентификация в rails-приложениях с помощью facebook, vkontakte

Reading time7 min
Views39K

Аутентификация в rails-приложениях через facebook, vkontakte



В данной статье будет рассказано, как сделать простейшую аутентификацию в rails-приложении через социальные сети vkontakte и facebook, помогают в этом гемы omniauth, omniauth-facebook, omniauth-vkontakte. Материал рассчитан на новичка. Хоть это и будет учебное приложение, но для придания законченности используем bootstrap с помощью гема twitter-bootstrap-rails.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments33

Кастомизация Skype для Linux. Оповещение о появлении «избранных» контактов в сети

Reading time3 min
Views5.4K
Основное средство общения в нашей компании — это шашлыки чат Skype. Статус «в сети» означает присутствие на рабочем месте. Иногда ждёшь кого-то, начальству не напишешь «зайди плиз срочно» — в общем, уведомление о появлении в сети определённого человека было бы полезно.

В Skype для Linux нет такой «галочки» для отдельных контактов (думаю, что и пользователи других ОС с этим знакомы). Зато есть неоспоримое преимущество — почти безграничные возможности командной строки:
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments8

Вникаем в include и extend

Reading time3 min
Views67K

Примечание переводчика: перед прочтением этого поста рекомендую сначала ознакомиться с постом Вникаем в метаклассы Ruby.

Все рубисты знакомы с формальными определениями для include и extend. Вы делаете include модуля, чтобы добавить методы экземпляра класса, и extend — чтобы добавить методы класса. К сожалению, данные определения не совсем точны. Они не могут объяснить почему мы используем instance.extend(Module), чтобы добавить методы объекту. Разве не должны мы в этом случае использовать instance.include(Module)? Чтобы разобраться в этом вопросе, начнем с выяснения где же хранятся методы.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments27

Руководство по оформлению HTML/CSS кода от Google

Reading time12 min
Views356K

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →
Total votes 295: ↑286 and ↓9+277
Comments168

Git Wizardry

Reading time17 min
Views450K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

Неназойливые регистрация и вход на сайт

Reading time5 min
Views28K

Надоело отправлять пользователям подтверждения аккаунта и сброса пароля по утере на почту?
Пользователи уходят, устав заполнять вашу форму регистрации?
Вы точно уверены, что у посетителей вашего сайта есть аккаунт на Facebook или Вконтакте?
Не хотите хранить никакие персональные данные?
Ваши пользователи устали вводить логин и пароль?
Вашим пользователям лень даже нажать на кнопку «Войти»?
Видели, как это сделано на stackoverflow и хотите так же, и даже лучше?

Ниже о том, как сделать вход на ваш сайт ненавязчивым, автоматическим, и без особых затрат.
Читать дальше →
Total votes 64: ↑52 and ↓12+40
Comments71

Создание гемов — Руководство

Reading time3 min
Views9.8K
Хотя на Хабре уже проскакивали статьи о создании гемов, они либо содержат устаревшую, либо неполную информацию.

Как же на самом деле надо создавать, развивать и публиковать свои гемы?

Современный подход заключается в использовании Bundler совместно с другими инструментами, такими, как Git, YARD и RSpec-2.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments12

Mugeda, анимация на HTML5

Reading time2 min
Views12K
Привет %username%!
Хочу поделится замечательным сервисом для создания анимации на платформе HTML5 под названием Mugeda. Сразу оговорюсь, сервис не мой, но пройти мимо и тем более не рассказать о нем я не мог.



Подробнее
Total votes 58: ↑56 and ↓2+54
Comments25

JavaScript для чайников. Всё что вы хотели знать о функциях но боялись спросить

Reading time4 min
Views23K
Как-то незаметно для себя, я решил отойти от возни с классами и паттернами, и разобраться с самыми обычными Js функциями. Думал, что будет достаточно скучно, но ошибся — оказалось очень даже интересно.

В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)

Читать дальше →
Total votes 106: ↑99 and ↓7+92
Comments43
1

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity