Как стать автором
Обновить
13
0
icukeng @icukeng

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

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

Вы тоже можете стать жертвой паралича разработчика

Время на прочтение3 мин
Количество просмотров93K
Дорогие разработчики, вы чувствуете себя неуютно, потому что вы быстро пишете только на восьми языках для трех семейств устройств? Вздрагиваете ли вы, едва заслышав о переходе на очередной фреймворк? Откладывали ли вы любимый проект из-за того, что не могли определить, какая облачная платформа подойдет лучше всего?
Возможно, у вас тоже паралич разработчика. Бойтесь! Это не лечится.

Богатство доступных программистам опций сегодня просто чудовищно. Мы задохнулись под тем, что извергает рог изобилия. Последние несколько лет я зарабатывал на том, что писал на Java, Objective-C, C, C++, Python, Ruby, JavaScript, PHP (прошу прощения) с разными вариантами SQL/баз данных (MySQL, PostgreSQL, MongoDB, BigTable, Redis, Memcached и другими). Нравится ли это мне? Черт побери, нет. По большей части я просто чувствую вину за то, что не делал ничего на Erlang, Clojure, Rust, Go, C#, Scala, Haskell, Julia, Scheme, Swift или OCaml.
image

Я — жертва паралича разработчика: чувства ущербности из-за того, что индустрия софта развивается быстрее, чем может успеть один человек.
Читать дальше →
Всего голосов 201: ↑168 и ↓33+135
Комментарии149

Граф ключевых слов

Время на прочтение2 мин
Количество просмотров1.6K
В начале мая этого года в разговоре с коллегой по работе (в ходе обсуждения одной задачи на практическое применение множеств) вспыл вопрос о построении связей между объектами одного сайта. Этот сайт представлял собой каталог аналогов Windows и Linux программ, и одной из «фишек» этого каталога была выборка ПО по разделам а-ля фасет (визуально фасет, а внутри все на множествах реализовано насколько я понял из обсуждения (реализацию сайта делал другой человек – нужно будет еще и с ним обсудить этот вопрос)). В общем говоря я несколько удивился задаче и… заявил, что она довольно тривиальна, и если при проектировании базы данных связи между таблицами делать как многое-к-многому, то решается все одним запросом. Поговорили и разошлись, но идея сидела в подсознании и долбила «можно же и лучше сделать».
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии7

Поиск картинок 2.0

Время на прочтение2 мин
Количество просмотров3.4K
Недавно открылся интересный сайт: tineye.com, о котором уже как-то писал Mitesha, но тогда он был в стадии закрытого тестирования.



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

Например:

исходная картинка



найденные


Читать дальше →
Всего голосов 191: ↑185 и ↓6+179
Комментарии145

Windows с интерфейсом Gnome

Время на прочтение1 мин
Количество просмотров16K
Здравствуй Хабр.

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

Началась история с того, что я попытался перейти на Linux. У меня до сих пор стоит Ubuntu 8.04, но окончательно отказаться от Windows я не могу (изза проблем с модемом и тюнером). Мне очень понравился дизайн и юзабилити Gnome, и я начал искать возможные способы реализации всего этого на Windows. Первое решение, которое я нашёл — Gnome под Cygwin'ом. Но меня этот выход не устроил. Очевидно, что подходящее решение — альтернативная оболочка. Я пробовал несколько, но не одна из них мне не подошла.
И вдруг, после месяца поисков, я нашёл SharpEnviro. Проект, написанный на Delphi, распространяющийся с исходниками. Также он позволяет писать дополнительные скрипты на Delphi. В ходе недолгих и несложных манипуляций я смог сделать интерфейс приближённо похожим на Gnome.

Мой десктоп


Кликабельно.

Немного разъяснений по настройке. В уголке каждой панельки и каждого модуля есть мааленькая кнопочка. Это опции. Там всё интуитивно понятно. Также на рабочем столе есть ссылка на SharpCenter. Это отличный инструмент для настройки SharpE.

Также я использовал тему Human для Windows. Надеюсь кому-то это поможет. Если нужны разъяснения по поводу настройки SharpE, пишите в комментах.

P.S. Если кто-нибудь поможет с LT Win Modem и BeholdTV под Ubuntu 8.04, буду очень благодарен.

UPD: Представьте себе. Я задавал вопрос на Ответах Гугл: Как сделать оболочку Windows максимально похожей на Gnome. Так вот, мне дали ссылку на мой же топик)) Мир тесен)

UPD2: Для всех желающих пишу сейчас мануальчик по настройке.

UPD3: ПРОДОЛЖЕНИЕ
Всего голосов 63: ↑50 и ↓13+37
Комментарии169

Цветовая идентификация

Время на прочтение1 мин
Количество просмотров775
function get_username_html_color($username )
{
   return '#' . substr( md5($username ), 0, 6 );
}

Я, например, вот такой subz. Первые попавшиеся под руку %username%: rost, anvar, navosha.
Пытливым умам посчитать хватит ли краски для всех хабраюзеров.

Спасибо Dreadatour за реализацию dreadatour.ru/username
Спасибо salvator за реализацию ssalvator.googlepages.com/colorizer.html
Читать дальше →
Всего голосов 80: ↑71 и ↓9+62
Комментарии116

Цифровая ручка от IOGEAR

Время на прочтение1 мин
Количество просмотров2K
Компания IOGEAR представила собственный вариант цифровой ручки – GPEN200N, при помощи которой можно «набирать» текст старым дедовским способом. Т.е. не вводить его при помощи клавиатуры, а просто писать.

Это устройство не уникально. Но своя «изюминка» в нем есть: ручка оснащена накопителем, который позволяет, в случае, если рядом нет компьютера, хранить сделанные записи. Подключается GPEN200N к компьютеру по mini-USB. Импортировать написанное (и нарисованное) можно напрямую в текстовый или графический редактор.

Состоит это устройство ввода текста из двух модулей. Самой ручки и «базы», которая к тому же выполняет полезные функции зажима для бумаги.

Стоимость GPEN200N равна $129,95.

via 3DNews
Всего голосов 16: ↑13 и ↓3+10
Комментарии17

О кадровых перестановках в top4top

Время на прочтение2 мин
Количество просмотров467
Сайт – это мелочно и попахивает дешевой коммерцией. Поэтому нужна как минимум социальная сеть, а лучше Портал.

Но портал и даже социальная сеть — это массовость. Но массовость — это лохматый юзер, пахнущий пивом, который старается в каждой ссылке найти сиськи и цитату с башорга. Нужен путь к избранным, а именно портал для элиты.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии24

11 порталов для выбора Иконок

Время на прочтение1 мин
Количество просмотров5.4K
Коллекция ссылок больших порталов и поисковиков, для выбора всевозможных Иконок(Icons) разного типа. Практически на всех есть широкий выбор размеров.

В этой коллекции я уверен что вы найдете что вам нужно ;)

Ну интересное так точно!!!

1. http://www.iconspedia.com
Читать дальше →
Всего голосов 100: ↑99 и ↓1+98
Комментарии32

Пару слов о программировании и непрограммистах

Время на прочтение4 мин
Количество просмотров2.9K
А также о тех, кто хочет научиться этому искусству. Очень субьективно.

Я горжусь своей профессией, но очень не люблю говорить людям мало сведущим в программировании и в ИТ в частности, кем я работаю.
Люди сходятся во мнении, что программист — это тот, кто связан с компьютерами. На этом сходства заканчиваются. Один думает, что я печатаю бумажки в Ворде, другой то, что ремонтирую компьютеры и прочую периферию. Я это не придумываю. Вот случай произошедший как-то в нашем замечательном военкомате. Узнав род деятельности, прапорщик обрадовался:
— О, а у нас принтер не печатает!
— Какой принтер?
— Ну такой, с лентой.
Читать дальше →
Всего голосов 163: ↑159 и ↓4+155
Комментарии200

Вы пишете блог? У вас будут проблемы!

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

Читать дальше →
Всего голосов 87: ↑67 и ↓20+47
Комментарии129

Азбука хорошего разработчика. Книжки для чтения

Время на прочтение2 мин
Количество просмотров3.5K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Всего голосов 73: ↑72 и ↓1+71
Комментарии66

Мое творчество: Киберпсихоз

Время на прочтение1 мин
Количество просмотров697
Грандиозные мысли… Зачем? shift+f8;
Подождем. Под[дождем]. `wait`.for.rain (где же осень?);
Секс, наркотики [детство]. find / -name «happy»; not found =(
cat '[пробел]' > /var/logs/life[точка]log #новый раунд;

На вопрос "как на личном?": ps a | grep`я 'чувства';
Грустным 'ноль' отвечая, наблюдая лишь пустошь;
tar с ключом zxv; ввод; 'архив моих мыслей':
чтобы history shell`a продолжала быть чистой \

от имен.файлов/логов; "welcome to Paranoia";
сорок символов страха — сорок байт на пароли;
`cd /etc`; нужно.[опять].убедиться;
Что в моем passwd лишний не появился;

control+d # выхожу из себя [из-под root`a];
`date [плюс] %H:%M`: 4:00; на минуту…
`at 4:02 >poweroff`; и в мир грез \
я уйду. Я усну. Чертов _киберпсихоз_…
Читать дальше →
Всего голосов 102: ↑82 и ↓20+62
Комментарии76

История Искусственного Интеллекта, часть 2. Нейросетевой ИИ — неизбежно или невозможно?

Время на прочтение6 мин
Количество просмотров9.8K
Когда я еще только задумывал писать эту статью, я знал о нейросетях только то, что они вроде как копируют процесс мышления нашего мозга. Я и не подозревал, как я тогда ошибался.
В то время, когда кибернетики еще только начинали играть в свои игрушки, другие более серьезные ученые, работали над более серьезной проблемой. На основании нейрофизиологических данных о строении нейронов, клеток нашего мозга, они пытались воссоздать их структуру. Это было за несколько лет, до того самого семинара, где впервые заговорили об ИИ.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии84

Скрытые возможности Google Reader’а

Время на прочтение1 мин
Количество просмотров1.4K
Оказывается, Google Reader тайком записывает нашу активность. Через интерфейс вы ничего не найдете, однако есть несколько команд, чтобы посмотреть на историю некоторых своих действий:
  1. Все посты, которые вы отправили по почте — www.google.com/reader/view/user/-/state/com.google/tracking-emailed
  2. Все посты, отмеченные, как непрочитанные (галочка «Отметить, как прочитанные» внизу поста) — www.google.com/reader/view/user/-/state/com.google/tracking-kept-unread
  3. Все посты из предыдущего пункта, но которые вы еще не прочитали — www.google.com/reader/view/user/-/state/com.google/kept-unread
  4. Посты, у которых вы нажали заголовок, чтобы посмотреть пост в самом блоге — www.google.com/reader/view/user/-/state/com.google/tracking-item-link-used
  5. Посты, в которых вы нажимали ссылки — www.google.com/reader/view/user/-/state/com.google/tracking-body-link-used
  6. Прочитанные посты, расположенные в порядке того, как прочитывались — www.google.com/reader/view/user/-/state/com.google/read
  7. Фиды, на которые вы подписаны по рекомендации Гугла (раздел «Рекомендации») — www.google.com/reader/view/user/-/state/com.google/recommendations-subscribed
  8. Рекомендованные Гуглом фиды от которых вы отказались («Нет, спасибо» в разделе «Рекомендации») — www.google.com/reader/view/user/-/state/com.google/recommendations-dismissed

Подсмотрено в блоге «Google Operating System»
Всего голосов 58: ↑54 и ↓4+50
Комментарии17

Дух времени (Zeitgeist), фильм о современных мифах

Время на прочтение1 мин
Количество просмотров3.4K
Всего голосов 49: ↑34 и ↓15+19
Комментарии203

Мобильный офис на линукс. часть 2

Время на прочтение6 мин
Количество просмотров867
Вторая статья цикла «Мобильный офис на Linux», первая здесь
Содержание
  • Выбор ПО и критерии выбора, часть I


Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии59

Как я храню свои пароли

Время на прочтение2 мин
Количество просмотров11K

Недавно на «Хабре» вышла пара статей, касающихся паролей и удобства работы с ними. Авторы предлагали алгоритмы создания «легкозапоминающихся» или «удобонабираемых паролей». Я предлагаю иной способ и удобный инструмент.



Я не беспокоюсь об удобстве запоминания или набора паролей, предпочитаю держать голову свободной от таких вещей. У меня почти 150 паролей (почты, аськи-шмаськи, хостинги, статистики, сервисы), и ни один из них не повторяется. Сами пароли выглядят примерно так: 96DtL`yL\,B C#@2w'QEP

Читать дальше →
Всего голосов 78: ↑68 и ↓10+58
Комментарии236

Запрет индексации сайта поисковыми ботами при помощи.htaccess

Время на прочтение1 мин
Количество просмотров5.8K
При активной разработке многие используют копии сайта в других доменах, для эксперементов или доработки сайтов (не на работающем же вносить изменения).
И вот многие сталкиваются с проблемой как отгородить поисковики от этого домена и притом оставить рабочую версию сайта.

Проще всего и без вмешательств в код это сделать при помощи .htaccess
Создаем файл .htaccess и пишем в нем:

SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

Order Allow,Deny
Allow from all
Deny from env=search_bot


для проверки работоспособности можно использовать следующий PHP-скрипт

<?php
if(empty($_POST)) {
?>


ну вот теперь можно полностью эксперементировать и никто не узнает про существование экспериментальной копии Вашего сайта ;)
Открываем сайт представлясь под любым User-Agent
User-Agent
Всего голосов 30: ↑27 и ↓3+24
Комментарии23

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность