Обновить
141
0
Игорь@ZIJ

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

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

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

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

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

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

Читать дальше →

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

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

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

Читать дальше →

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

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

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

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

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

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

Читать дальше →

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

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

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


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

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

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

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

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

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

Время на прочтение1 мин
Охват и читатели16K
image

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

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

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

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

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

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

JRE 6.0 update 17

Время на прочтение1 мин
Охват и читатели1.2K
17е обновление содержит в основном багфиксы, связанные с безопасностью. Вместе с ним вышло и 22е обновление для JRE 5, которое станет последним общедоступным в 5й ветке.
Страница загрузки
Прямая ссылка (windows, offline)

Вышел Firefox 3.6 beta 1

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

Страница загрузки
Инсталлятор (русский, windows)

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

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

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


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

больше хоткеев!

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

Время на прочтение1 мин
Охват и читатели11K
image

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

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

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

image

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

не спешите с выводами

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

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

image

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

еще фото

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

Время на прочтение1 мин
Охват и читатели4.1K
image

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

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

Время на прочтение1 мин
Охват и читатели3.6K
Нужно заменить ровно один (любой) символ в следующей строке, причём так, чтобы она скомпилилась и было выведено ровно 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
Не читайте комменты, поломайте мозг!

решения

Browser Chooser

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

screenshot

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

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

Cтраница загрузки (есть и portable)

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

Время на прочтение1 мин
Охват и читатели1.3K
image

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

Ещё фото - под катом
1

Информация

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