Pull to refresh
2
0
Соловьёв Евгений Евгеньевич @suenot

User

Send message

Вариант эргономичной компьютерной клавиатуры и проблема «упаковки» нескольких «функциональных зон» стандартной клавиатуры в одну

Reading time11 min
Views16K
Благодаря начинаниям широко известного в узких кругах ibnteo (Вольки) задумался о разработке концепции эргономичной клавиатуры, удобной не только для набора текста, а и для полного управления компьютером (ага, люблю использовать в программах так называемые «горячие клавиши» — из-за них даже фотошоп использую англоязычный, да и «страшная синяя программа» FAR — это основной мой рабочий инструмент, им и файлы «гоняю», и просматриваю, и «запускаю» документы).

В стандартных компьютерных клавиатурах меня не устраивает прежде всего диагональное смещение клавиш, унаследованное от механических печатных машинок (там в этом, по утверждениям, была необходимость — хотя, были пишмашинки и без этого смещения). Затем, конечно же, хотелось, чтобы при работе не было необходимости переносить руки между функциональными «зонами» клавиатуры (основное поле, поле навигации и редактирования, цифровой блок, функциональные клавиши).
Ну и «на закуску»: неудобно расположены «шифты» (так я называю «одним словом» клавиши-модификаторы Ctrl, Shift, Alt и Win) — когда работаешь на клавиатуре двумя руками, то достаточно удобно, если привыкнуть, жать «шифты» одной рукой (но, всё равно, приходится «снимать» эту руку с основной позиции), а «горячую клавишу» — другой (а копи-паст — Shift+Ins, Ctrl+Ins и Shift+Del), но, когда в другой руке (в правой — я «правша») находится мышка, да не просто «находится», а ею активно работаешь — нажать «одной левой» горячую клавишу в сочетании с модификаторами — це́лая проблема (даже простейшие Ctrl+Z, Ctrl+X, Ctrl+C и Ctrl+V), я начинал работать с компьютерами давно и привык нажимать Ctrl больши́м пальцем, а ZXCV — указательным (ну непривычно мне Ctrl жать мизинцем! он слабый и неуклюжий!)…

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments23

Удивительно простой, но красивый CSS-эффект

Reading time4 min
Views67K
Наткнулся на очень простой в реализации, но интересный rollover-эффект для кнопок на CSS. Автор — некий японец ksk1015.



Демонстрация эффекта и процесс написания.
Читать дальше →
Total votes 141: ↑130 and ↓11+119
Comments31

Оптимизация Windows для использования SSD диска: мифы и реальность

Reading time6 min
Views851K


Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

Кто заинтересовался, прошу под кат.

Читать дальше →
Total votes 129: ↑81 and ↓48+33
Comments293

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views178K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23+265
Comments208

Клавиатура Октодон в поисках Правильного Клика

Reading time10 min
Views51K
Эта статья – продолжение истории о возникновении мобильной клавиатуры Октодон.
Начало истории: Октодон: Какой должна быть удобная клавиатура для смартфонов.

В этой части я расскажу, как идея создания этой клавиатуры подвигла меня к двум новым и нетипичным для меня занятиям – программированию микроконтроллеров и конструированию миниатюрных элементов ввода.



Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments27

Erlang для самых маленьких. Глава 3: Базовый синтаксис функций

Reading time6 min
Views22K
imageДоброй ночи, Хабр! Мы продолжаем изучение Erlang для самых маленьких.

В прошлой главе мы рассмотрели как объявлять функции и как объединять их в модули. В этой главе мы рассмотрим синтаксис функций более подробно.


Хм, это интересно...
Total votes 31: ↑30 and ↓1+29
Comments4

Самодельная эргономичная клавиатура CatBoard ][

Reading time16 min
Views146K


CatBoard — это самодельная эргономичная компактная клавиатура с открытым исходным кодом, имеет множество нестандартных решений, таких как: нестандартная аппаратная раскладка со стандартными клавиатурными сочетаниями; быстрый автоповтор нажатой клавиши; Fn слой с клавишами управления курсором, цифровым блоком, функциональными клавишами; отдельные клавиши переключения раскладок; более удобное расположение Ctrl и Shift; отдельную кнопку AltTab; режим совместимости с Macintosh, позволяющий работать на нём точно так же, как и на PC; возможность прошивки без дополнительного оборудования; возможность устанавливать поверх ноутбучной клавиатуры. Благодаря открытому коду, с клавиатурой можно делать что угодно, новая прошивка заливается в считанные секунды, поэтому экспериментировать можно прямо на ходу.
Читать дальше →
Total votes 111: ↑102 and ↓9+93
Comments127

Suggest.io: на пути к идеальному поиску

Reading time2 min
Views16K

Живой поиск для вашего сайта


Поиск по сайту — проблема для большинства Интернет-ресурсов. Создание собственного поиска занимает время и требует навыков тонкой настройки поисковой системы. Если владелец сайта заинтересован, чтобы его поиск оставался актуальным, ему нужно иметь «под рукой» специалиста, который постоянно занимается совершенствованием алгоритма релевантности, индексом, базой запросов и т.д. Всё это хлопотно, поддержка собственного поиска требует серьезных затрат.

Suggest.io восполняет этот пробел. Новый сервис ближе других подошёл к решению задачи организации живого поиска по сайту c минимумом затрат времени на установку.

image

Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments43

Функциональное программирование на Javascript

Reading time15 min
Views128K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

Читать дальше →
Total votes 123: ↑114 and ↓9+105
Comments54

Отличный плагин для проверки верстки

Reading time1 min
Views29K
Существует множество способов тестировать верстку. Большинство из них были описаны в статьях или комментариях хабра. Упоминаний данного способа я не нашел.

XPrecise



Утилита разработана командой xhtmlized.
Совместима со всеми браузерами, потому как подключается в виде плагина jQuery.

Установка и настройка

Для тестирования верстки вам нужно подключить jQuery, а за ним XPrecise

	<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
	<script src="_xprecise/xprecise.min.js"></script>

Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments26

Asana в деталях, и как ее использовать

Reading time6 min
Views221K

Проекты над которыми трудятся разработчики можно часто рассматривать как одну (или несколько) больших задач. А чтобы было проще решать большую задачу, ее нужно разделить на более мелкие. Для этого отлично подойдет Asana — collaborative task management application. Под хабракатом описание данной системы и один use-case который мы успешно используем при разработке сайтов. Статья большая и с картинками. Кому интересно только то как мы используем Asana на работе, можете перейти сразу к примеру, или к примеру в картинках.
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments42

Шпаргалка по MV-паттернам для проектирования веб-приложений

Reading time7 min
Views68K
mv-patterns
В Интернет можно найти множество различающихся реализаций и схем, уже набившего оскомину, паттерна MVC. В разных книгах я также встречал разные схемы. Это порождает некоторую путаницу и комментарии к моей предыдущей статье: "Реализация MVC паттерна на примере создания сайта-визитки на PHP" тому подтверждение. В поисках истины, я попытался расставить все по местам… перечитал некоторую литературу и статьи по паттернам проектирования и написал дополнение к упомянутой статье. Но решил запостить это дополнение, как отдельный топик в надежде на фидбэк. Под катом вы найдете несколько часто встречающихся схем MVC и MVP с описанием жизненного цикла приложения, а также описание менее популярных паттернов HMVC и MVVM. Разумеется, некоторые из перечисленных паттернов применимы не только к веб-приложениям, но в статье они рассматриваются именно в этом контексте.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments22

Панель направляющих для Adobe Fireworks

Reading time1 min
Views2K
Я давно уже пользуюсь Adobe Fireworks и рад настолько, насколько дизайнер может радоваться графическому редактору. В нём намного удобнее, чем в Photoshop, редактировать вектор, он поддерживает Photoshop Live Effects, и есть мелкие вкусности вроде произвольного сглаживания шрифтов. Конечно, повелителем растра как был, так и остается главный продукт Adobe, а вот для непосредственно подготовки макетов, как-то: рисование кнопочек, меню, выравнивание блоков, доведение до ума шрифтов — Fw чуть не идеален. Но есть у него одна проблема — никакая работа с направляющими (Guides). Они как бы задуманы, но только если созданы в Ps. Приходилось экспортировать макет в Ps, вставлять направляющие, открывать в Fw и там уже работать со спокойной душой до того момента, пока не понадобятся новые направляющие. Вобщем, не жизнь, а мучение. Ничто не предзнаменовало удачу, но я наткнулся на замечательное расширение к Fw, подходящее как для CS3, так и для CS4.
Ну, и что это за расширение?
Total votes 32: ↑27 and ↓5+22
Comments18

Я.Субботник: БЭМ в разработке интерфейсов

Reading time1 min
Views5.7K
8 сентября 2012 года в Москве пройдет первый этой осенью Я.Субботник.

Он будет посвящен БЭМ-экосистеме, которая появилась и развивается в Яндексе.

Сотрудники московского и симферопольского офисов Яндекса подробно расскажут про существующие компоненты и поделятся своим видением будущего БЭМ.

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

На нашем Я.Cубботнике вы узнаете про:
  • историю создания БЭМ;
  • шаблонизаторы вообще и BEMHTML в частности;
  • внедрение БЭМ в существующие системы;
  • миксы;
  • I-bem.js и зачем он нужен;
  • тестирование блоков;
  • автоматическую сборку и bem-tools.

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

Программа и тезисы Я.Субботника

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

Регистрация на мероприятие заканчивается 7 сентября в 18:00 по московскому времени.

Количество мест ограничено.

Для тех, кто не попадёт в число участников или не сможет лично присутствовать на Я.Субботнике, будет организована онлайн-трансляция.

Яндекс.Events, делимся знаниями
Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments15

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1

Reading time11 min
Views113K
(от 27 июля 2012)
При написании нативного веб-приложения легко начать чувствовать себя богом, способным работать просто с библиотекой работы с DOM (такой как jQuery) и горсткой сервисных плагинов. Вскоре возникает проблема в виде груды вложенных возвратных функций jQuery и разбросанных DOM-элементов без всякой структуры вместо приложения.

Короче, мы застреваем в спагетти-коде. К счастью, есть современные JS-фреймворки (библиотеки, задающие, кроме функций, правила организации кода --прим. перев.), помогающие поддерживать структуру и организованность в проекте, облегчающие ремонтопригодность в будущем.

■ Что такое MVC или, лучше сказать, MV*?


Эти современные библиотеки дают разработчикам простой путь к организации кода, используя вариации паттерна проектирования, известного как MVC (Model-View-Controller). MVC разделяет задачи в приложении на 3 части:
Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments23

Про jQuery и велосипеды — мое дополнение

Reading time6 min
Views64K
Сразу спешу сообщить вам, что я никоим образом не связан с автором предыдущей статьи. Однако, прочитав ее и увидев такой положительный отклик сообщества на статью, я тоже вдохновился и решил добавить немного своих наблюдений и знаний, к тому же это может послужить моей входной точкой в круги хабрасообщества.

Для затравки начнем с простого.
Читать дальше →
Total votes 242: ↑230 and ↓12+218
Comments126

Велосипеды на Javascript и jQuery

Reading time4 min
Views76K
В очередной раз открыв код коллег и ужаснувшись, я решил написать эту статью. Надеюсь для кого-нибудь это будет полезным, заодно и мне будет проще новичкам объяснять что у них в коде не так, просто кинув ссылку на эту статью.
Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.
Читать дальше →
Total votes 258: ↑246 and ↓12+234
Comments189

Один компьютер на двоих (и более) или multiseat на базе Ubuntu 10.04 LTS

Reading time22 min
Views48K
В данной статье рассматривается реализация multiseat на базе Ubuntu 10.04 LTS с аппаратным ускорением. Пример, рассмотренный в этой статье, уже введен в эксплуатацию и работает около полугода в обычном Минском офисе. Описываются проблемы реализации и внедрения готовой системы в работу с точки зрения обычного студента-электроприводчика, который подрабатывает на полставки системным администратором.

Вступление



Вот время работы системным администратором в небольшом офисе при обновлении парка компьютеров появилась небольшая проблема. Современные компьютеры дают уровень производительности, много превосходящий необходимый для офисных компьютеров. Причем реалии рынка таковы, что различия в производительности мало сказываются на цене. И вроде бы дешевые компьютеры на базе Atom по ценовому признаку практически не отличаются от более производительных компьютеров на базе обычных процессоров Amd и Intel (материнская плата с процессором Atom стоит около 100-150 у.е. на май 2010 года, Минск, и та же цена на октябрь 2010 в том же Минске).

Та же ситуация и с жесткими дисками: для офисной работы нет необходимости в объеме диска более 40-80 Гб. Но на рынке такие жесткие диски уже практически не представлены. На момент написания статьи в продаже были жесткие диски емкостью 160 Гб (38$), 250 Гб (39$), 320 Гб (40$), 500 Гб (41$), дальше различия по ценам заметны сильнее. Цена за гигабайт жестких дисков малого объема довольно высока. Та же ситуация и со всеми остальными комплектующими.

Возникает закономерный вопрос, как рационально все это использовать? Давайте подойдем логически — чтобы удешевить систему можно либо купить комплектующие похуже (не сильно удешевляет), либо отказаться от некоторых комплектующих. По сути, в рабочем месте обязательными являются устройства ввода (клавиатура, мышь, планшет и т.д.) и устройства отображения информации (монитор, проектор и т.д.). Остальная часть системы пользователей особо не касается, и от нее можно избавляться. Безусловно, от всего избавиться не получится. Давайте заглянем под крышку системного блока. Тут мы обязательно видим материнскую плату, видеокарту (может быть уже на материнской плате), процессор (тоже может быть на материнской плате) и память. А вот остальные комплектующие уже не так важны. Оптический привод мало востребован, и поэтому его, скорее всего, не будет.
С жестким диском тоже интересная ситуация. Его может и не быть, тогда у нас будет так называемая бездисковая станция. Тут вся информация загружается по сети с сервера (реализация PXE+NFS и немного бубна). Но хочется чего-то большего.
Тогда и возникла идея подключить к одному компьютеру две клавиатуры, две мыши и два монитора и заставить их работать независимо. В зарубежных источниках такие системы называются multiseat.
Но можно на этом и не ограничиваться, а делать бездисковую multiseat-станцию. Этот вариант отлично подойдет для пары multiseat-станций с сервером. В данной статье не рассматривается.

Читать дальше →
Total votes 153: ↑145 and ↓8+137
Comments125

Оптимизация длинных списков логических значений на JavaScript

Reading time5 min
Views4K
Очень часто в веб-разработке (и в программировании вообще) необходимо сохранить длинный список логических значений (yes/no, true/false, checked/unchecked и подобные) в виде строк. К примеру, вы захотите записать такие данные с помощью localStorage, в cookie, или отправить их в теле HTTP запроса. У меня возникала такая необходимость сотни раз.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments19

Бесплатные книги по JavaScript

Reading time2 min
Views66K

Javascript Enlightenment


Cody Lindley


Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

Открыть

Eloquent Javascript


Marijn Haverbeke


Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Открыть

Building A JavaScript Framework


Alex Young


Уровень знаний: продвинутый
Избранные статьи из цикла«Let’s Make a Framework».
Открыть

Читать дальше →
Total votes 77: ↑73 and ↓4+69
Comments15

Information

Rating
Does not participate
Location
Дзержинский, Москва и Московская обл., Россия
Date of birth
Registered
Activity