Как стать автором
Обновить
141
0
Игорь @ZIJ

Пользователь

Отправить сообщение

Естественная сортировка строк на JavaScript

Время на прочтение 14 мин
Количество просмотров 46K
Задача сортировки является едва ли не наиболее часто решаемой программистами проблемой. Несмотря на то, что распространённых алгоритмов не так много и все они давно написаны и оптимизированы для любых языков и платформ, в исходниках то и дело мелькают методы SortList() и им подобные. Наверное, каждый из нас не раз писал сортировку пузырьком и удивлялся, почему же она не работает с первого раза.

Однако речь сейчас не об алгоритме сортировки, а о способе сравнения строк. Казалось бы, здесь всё тривиально — достаточно сравнить первые с начала различающиеся символы. А если в строках есть числа? Тогда такая сортировка (лексикографическая) преобразует последовательность [ 'file2', 'file10', 'file1' ] в [ 'file1', 'file10', 'file2' ]. Но человек при чтении текста воспринимает числа отдельно, и эта же последовательность, упорядоченная интуитивно, выглядит так: [ 'file1', 'file2', 'file10' ]. Такая сортировка и называется естественной (natural sort).

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

Читать дальше →
Всего голосов 38: ↑33 и ↓5 +28
Комментарии 16

iPhone: контакты из Вконтакте. Обновление

Время на прочтение 1 мин
Количество просмотров 18K
Недавно апп, призванный упростить дозвон до друзей, уже был представлен на Хабре. Вкратце: приложение позволяет импортировать контакты из популярной социальной сети, а также звонить им, писать личные сообщения и смс.

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

Читать дальше →
Всего голосов 13: ↑5 и ↓8 -3
Комментарии 10

C Java в Mac OS X не все так печально

Время на прочтение 1 мин
Количество просмотров 7.6K
картинка, чтобы не было скучноНе так давно стало известно, что Apple прекращает развитие своей собственной версии JVM. Это событие вызвало широкий резонанс, и было воспринято большинством как однозначный признак заката Java. Да, у платформы сейчас не лучшие времена, разработка новой версии идет не так быстро, как хотелось бы, но умирать еще рано.
И этому появилось подтверждение, снова от Apple: компания активно подключается к проекту OpenJDK c целью создания полноценной открытой Java-машины для Mac OS X.
Если вспомнить, что IBM также подключилась к проекту (покинув Apache Harmony), то можно предположить, что все происходящее — вовсе не закат, а новая жизнь для Java. Ведь JVM прекрасно существует под Windows, не будучи разработанной Microsoft и включенной в поставку системы.
Всего голосов 51: ↑47 и ↓4 +43
Комментарии 19

iPhone: контакты из ВКонтакте

Время на прочтение 1 мин
Количество просмотров 2.2K
Топик опубликован по просьбе Limosha, плюсы и минусы лучше направить ему. Спасибо за понимание. Дальнейший текст — от его лица.

Многие из нас используют небезызвестную социальную сеть, даже несмотря на «трагедию» с микроблогами. И в друзьях у нас там множество людей, большинство из которых, скорее всего, слабые связи. Когда же возникает необходимость позвонить кому-либо из них, а номера у нас нет, что мы делаем? Именно, спрашиваем этот номер у знакомых. А если у знакомых тоже нет? Остается только залезть в контакт, найти этого человека среди друзей, найти номер на странице и позвонить. В общем-то несложно, но хотелось бы немного проще и, главное, быстрее.

Погуглив и убедившись в отсутствии приложения для iPhone, позволяющего решить проблему, я решил написать свое. Целевой функционал — проще некуда: показать список друзей с номерами телефонов. Но возможность быстро написать sms или сообщение ВКонтакте тоже показалась не лишней. Под катом — обзор того, что получилось.

Читать дальше →
Всего голосов 31: ↑16 и ↓15 +1
Комментарии 11

Зачем нужно и как можно учиться быстро печатать вслепую

Время на прочтение 6 мин
Количество просмотров 64K
В связи с повышенным интересом к слепому набору в последнее время я хотел бы поделиться мыслями и опытом по теме. Многое из этого вовсе не ново и уже встречалось на Хабре, поэтому попытаюсь как-то обобщить и систематизировать известную мне информацию, и по возможность добавить уникального контента.

Кому и зачем это нужно?


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

Когда речь идет о преимуществах печати вслепую, обычно говорят о высокой скорости набора. Печатать быстро — значит экономить время, которого порой так не хватает. Плюсы скоростной печати достаточно очевидны, однако не для всех они имеют критическую значимость. Некоторые могут вполне резонно сказать: «Мне не нужно печатать быстро, потому что у меня нет необходимости набирать большие тексты, а для переписки и прочих бытовых нужд вполне достаточно смотреть на кнопки и нажимать их одним пальцем» — и будут по-своему правы, ведь им так удобно. Но дело не только в скорости как таковой — есть два очень важных момента, касающихся здоровья, которые почему-то остаются без внимания.
Читать дальше →
Всего голосов 113: ↑99 и ↓14 +85
Комментарии 135

Переосмысление концепции мобильника

Время на прочтение 3 мин
Количество просмотров 564
Для чего мы используем наши телефоны (смартфоны, коммуникаторы, кому как больше нравится)? Можно выделить 5 основных направлений:
  • Веб (все, что делается через браузер)
  • Голосовая связь (обычные звонки, skype, fring)
  • Текстовая связь (sms, e-mail, IM)
  • Мультимедиа (просмотр и создание контента — фото/видео/аудио, чтение книг)
  • Игры

Разделение весьма условное, потому что все направления тесно переплетены между собой, достаточно вспомнить сообщения, игры и видео в социальных сетях. Интернет стоит первым пунктом неслучайно — его роль в нашей жизни сравнима уже только с теплом и пищей, и продолжает расти. Все большее распространение получают «социализированные» устройства — от телефонов с вшитыми клиентами фэйсбука и твиттера до планшетов.
Читать дальше →
Всего голосов 14: ↑3 и ↓11 -8
Комментарии 19

AquaSkipper — почувствуй себя водомеркой!

Время на прочтение 1 мин
Количество просмотров 13K
image

Этот девайс предназначен для движения по воде и лишен каких бы то ни было двигателей, кроме, разумеется, самого райдера. При этом он позволяет развивать немаленькую скорость — до 27 км/ч, что недостижимо на любых других плавучих средствах без мотора или ветреной тяги. Принцип действия сродни подводным крыльям скоростных катеров — для того, чтобы разгоняться, нужно ритмично приседать или даже прыгать, тем самым заставляя «крыло» под ногами двигаться вперед, ну а набегающий поток воды выталкивает всю конструкцию наверх — как воздух самолет. Похоже, что управление этим чудом не требует каких-либо невероятных усилий или навыков, что не может не радовать. В США стоит $500.
Под катом - видео
Всего голосов 157: ↑99 и ↓58 +41
Комментарии 158

Netvibes Wasabi — конкурент Google Reader

Время на прочтение 1 мин
Количество просмотров 2.2K
image

Netvibes — один из самых известных сервисов домашних страниц, вроде iGoogle. А Wasabi Smart Reader — продвинутая читалка, которая пока что находится в стадии закрытого бета-тестирования. Среди основных фич стоит отметить почти мгновенное обновление, поддержку виджетов (которых много) и 3 способа просмотра фидов, в частности Mosaic View — квадратные превьюшки постов с подписями (очень удобно для лент с картинками и небольшим количеством текста). А вообще, нужно пробовать самому — юзабилити на уровне, лично мне пока нравится больше, чем GoogleReader.
Еще пару скринов
Всего голосов 60: ↑50 и ↓10 +40
Комментарии 82

Сравнительные размеры биологических объектов

Время на прочтение 1 мин
Количество просмотров 780
image
Интересная флешка, в которой показаны разные мелкие штуки — от кофейного зерна до атома углерода. За масштаб отвечает ползунок снизу.
P.S. На закономерный вопрос «Почему хромосома больше сперматозоида?» ответ такой: во-первых, в сперматозоиде содержится не полная по сравнению с обычной клеткой ДНК, во-вторых, ДНК в нём как бы «заархивирована», то есть занимает минимальный объём.
Ссылка
Всего голосов 109: ↑92 и ↓17 +75
Комментарии 47

JRE 6.0 update 17

Время на прочтение 1 мин
Количество просмотров 1.1K
17е обновление содержит в основном багфиксы, связанные с безопасностью. Вместе с ним вышло и 22е обновление для JRE 5, которое станет последним общедоступным в 5й ветке.
Страница загрузки
Прямая ссылка (windows, offline)
Всего голосов 27: ↑15 и ↓12 +3
Комментарии 5

Вышел Firefox 3.6 beta 1

Время на прочтение 1 мин
Количество просмотров 495
image
Наконец, дождались :)
Что нового (кратко):
  • Движок Gecko 1.9.2
  • Смена тем без перезагрузки (поддежка Personas)
  • Передупреждение об устаревших плагинах
  • Поддержка полноэкранного HTML-5 видео
  • Новая страница диагностики about:support, на которой собрана информация об установленных расширениях и изменённых настройках
  • Поддержка Web Open Font Format (WOFF) шрифтов
  • В Window 7 на таскбаре теперь отображаются превьюшки всех вкладок, а не только активных вкладок окон
  • UPD: Вкладки теперь по умолчанию открываются справа от текущей, так что аддон Tabs Open Relative больше не нужен

Страница загрузки
Инсталлятор (русский, windows)
Всего голосов 89: ↑69 и ↓20 +49
Комментарии 66

Горячие клавиши Windows 7

Время на прочтение 2 мин
Количество просмотров 150K
Предлагаю вашему вниманию список хоткеев, использование которых делает работу с Windows 7 ещё более удобной (в скобках — альтернативный способ сделать то же самое):

Управление окнами


  • Win+Home: Свернуть/развернуть все окна, кроме активного. («Потрясти» окно)
  • Win+Space: Сделать все окна прозрачными. (Задержать курсор над небольшой кнопкой в правом нижнем углу экрана.)
  • Win+Up: Развернуть активное окно на весь экран. (Перетащить окно вверх до упора, или дважды кликнуть по верхней рамке)
  • Win+Down: Свернуть активное окно или восстановить размер, если оно развёрнуто на весь экран
  • Shift+Win+Up: Развернуть окно по высоте (Перетащить нижнюю границу окна до таскбара)
  • Win+Left/Right: Занять окном левую/правую половину монитора, или восстановить размер (Перетащить окно влево/вправо до упора)

больше хоткеев!
Всего голосов 54: ↑27 и ↓27 0
Комментарии 18

imo.im — новый веб-мессенджер

Время на прочтение 1 мин
Количество просмотров 9.9K
image

В заголовке написано «новый» — и это не совсем правда, так как imo.im существует достаточно давно, хотя не было никаких громких анонсов. Он обладает лёгким и простым интерфейсом и в то же время предоставляет много интересных возможностей. Не требует регистрации, но умеет запоминать и объединять аккаунты. Поддерживает много протоколов, в том числе skype chat. Потребляет мало трафика. А ещё есть white board — коллективное пространство для рисования. Русский язык тоже в наличии. На мой взгляд, гораздо лучше meebo :)
Всего голосов 17: ↑10 и ↓7 +3
Комментарии 27

Часы с ручным управлением

Время на прочтение 1 мин
Количество просмотров 608
В них нет никакого механизма для обновления времени. В них нет вообще ничего, кроме панели с ячейками и набора деталей цифр. Зато есть полный и самый что ни на есть низкоуровневый контроль над изображением :)

image

Если вы уже решили, что это очередной бесполезный «велосипед» —

не спешите с выводами
Всего голосов 20: ↑9 и ↓11 -2
Комментарии 14

Уютная комнатка в системнике

Время на прочтение 1 мин
Количество просмотров 5.4K
Что вы представляете, услышав слово «моддинг»? Наверняка это светящийся неоном корпус или что-то в стиле стимпанк… А бывает и так:

image

Такой позитивный мод… захотелось там жить :)

еще фото
Всего голосов 192: ↑153 и ↓39 +114
Комментарии 62

Кубик Рубика 2.0

Время на прочтение 1 мин
Количество просмотров 4K
image

Модификаций Кубика существует великое множество, но тут мы имеем дело не просто с одной из них. Ведь в Rubik's TouchCube вообще нет движущихся частей! Вместо вращения сторон теперь нужно возить пальцем по граням — тачскринам и любоваться анимацией. Что ж, ждём сенсорных пятнашек…
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 9

Задачка (без злого умысла)

Время на прочтение 1 мин
Количество просмотров 3.3K
Нужно заменить ровно один (любой) символ в следующей строке, причём так, чтобы она скомпилилась и было выведено ровно 20 звёздочек:
int main() { int i, n = 20; for (i = 0; i < n; i--) { printf("*"); } }

* This source code was highlighted with Source Code Highlighter.

Для тех, кто «набил руку» на особенностях C, задачка, скорее всего, сложности не представляет; но существует как минимум 3 решения, и если вы нашли одно — то это не повод расслабиться :) А может быть, вы найдёте ещё четвёртое, пятое..?
UPD 1: Первое правильное решение предложил lostmsu, остальные два — steck
Не читайте комменты, поломайте мозг!

решения
Всего голосов 65: ↑50 и ↓15 +35
Комментарии 100

Browser Chooser

Время на прочтение 1 мин
Количество просмотров 1.6K
Если вы регулярно пользуетесь разными браузерами — то у вас в таскбаре, скорее всего, большую часть места занимают именно они. Но ведь может быть иначе:

screenshot

Софтина, организующая всё это, называется Browser Chooser. Она определяет установленные в системе браузеры и позволят добавить в список вплоть до 5 штук из числа определённых или по произвольному пути. На выбор есть удобный джамплист на иконке в панели задач и отдельное меню в стиле Aero.

P.S. Поддерживается Win XP (без джамплиста естесственно)

Cтраница загрузки (есть и portable)
Всего голосов 146: ↑92 и ↓54 +38
Комментарии 80

Камера — дырокол

Время на прочтение 1 мин
Количество просмотров 1.2K
image

Идея концепта The Punch Camera проста и оригинальна: камера преобразует снимки в монохромные, формирует «печатающую матрицу» с помощью нехитрой механики, а потом остаётся лишь вставить лист бумаги и хорошенько приложиться — фото «печатается» дырочками разного диаметра. Этакий полароид, только краска не нужна и подходит любая бумага. Правда, качество не то — но ведь так и задумано :) Ещё фото — под катом.

Ещё фото - под катом
Всего голосов 89: ↑73 и ↓16 +57
Комментарии 55
1

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Дата рождения
Зарегистрирован
Активность