Как стать автором
Обновить
1
Карма
0
Рейтинг

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

  • Подписчики
  • Подписки

Психогеография 4.0

INFOLUST *
83.74 КБПсихогеография, как форма радикального искусства, возникла с подачи шизанутых постмодернистов середины 1950-тых, а затем взята на вооружение более поздними любителями глубинного заныривания в собственную голову, часто не без помощи галлюциногенов.

Суть фишки в том, что за каждым географическим объектом тянется какая-то история – как личная, так и общественная. Каждый город опутан поверьями, мифами, легендами, событиями исторического и просто личного характера — каждая забегаловка, лавочка, автобусная остановка, станция метро связаны с чьими-то личными воспоминаниями.

Участники психогеографического движения стремились сделать эту эмоциональную часть городского ландшафта явной. Превратить улицы в общественное СМИ и в конечном итоге «рупор революции».

Появление Интернета и мобильной телефонии позволило превратить психогеографию в интерактивное и массовое развлечение. В 2004 появляется проект Yellow Arrow, а затем проект Grafedia . Оба предназначены для того, чтобы позволить народу «метить» городские объекты. Если человек решает поделиться с обществом своим восприятием какого-то объекта, он загружает на сайт своё сообщение в аудио– или текстовом формате и получает специальную метку, которую следует разместить поблизости соответствующего места.

Читать дальше →
Всего голосов 47: ↑42 и ↓5 +37
Просмотры 3.5K
Комментарии 33

Nested Sets + MySQL TRIGGER

MySQL *

Задача


Задача такая же как и в предыдущей статье, только применимо к MySQL.

Грабли


Хорошая новость ребята! В MySQL нет проблемы с рекурсивными триггерами! Разработчики MySQL просто тупо лочат изменяемую таблицу даже на уровне триггера, вот редиски. Но, собственно, нас может остановить только отключение электричества.
Есть небольшая лазейка, с… объединенными таблицами. Хотя я не нашел в документации подтверждения того, что это так специально было задумано, но и отрицания тоже не было. Правда есть вероятность того, что эту лазейку могут прикрыть, хотя я не вижу в этом смысла.
Увы, механизм триггеров в MySQL новый и довольно сырой, что накладывает некоторые ограничения на его использование, но все же его достаточно для решения нашей задачи.
Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Просмотры 9.2K
Комментарии 47

Компьютерная фирма: «за кулисами»

Я пиарюсь
После вчерашнего топика про комп. фирму много читателей заинтересовалось проблемами, с которыми мы столкнулись на своём пути, и причиной «падения» нашего детища.
Также многим полюбилась фраза «про грабли» — так что о них собственно речь и пойдёт.
Читать дальше →
Всего голосов 298: ↑292 и ↓6 +286
Просмотры 2.8K
Комментарии 160

Рецепты хорошей типографики

Типографика *
Судя по результатам голосования, которое я проводил в своём блоге, большинство пользователей никак не типографируют тексты перед публикациями (НЛО не считается). Те, кто работают над текстами, в большинстве своём делают это вручную, поэтому я решил попробовать собрать воедино рецепты экранной типографики, дабы не забывать самому и напомнить другим. Не думаю, что статья будет чем‐то новым для опытных верстальщиков. Новички узнают, профи исправят :)

Содержание

  1. Дефисы, тире, минусы и другие палочки
  2. Кавычки и чёрточки
  3. Скобки
  4. Многоточие
  5. Заголовки, списки

Читать дальше →
Всего голосов 154: ↑133 и ↓21 +112
Просмотры 53K
Комментарии 90

Учебник по языку программирования Python (хабраиндекс)

Python *

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

Читать дальше →
Всего голосов 164: ↑161 и ↓3 +158
Просмотры 308K
Комментарии 61

FMSPy, релиз Alpha (0.1)

Разработка веб-сайтов *
FMSPy Flash Media Server written in Python (FMSPy) — это еще один RTMP-сервер для приложений на Adobe Flash/Flex/Air. FMSPy является аналогом Adobe Flash Media Server, с гораздо меньшими возможностями, однако FMSPy — совершенно бесплатный проект с открытым исходным кодом. Проект находится на ранней стадии развития, но в активной разработке.

Итак, что есть на сегодняшний день:
  • Реализация RTMP-протокола: кодирование/декодирование пакетов, разрезание и склеивание из chunks и т.п.
  • Поддержка базового RPC (Invoke) клиент-сервер и сервер-клиент. То есть из Flash-приложения можно вызывать с помощью класса NetConnection методы приложения на стороне сервера, и наоборот со стороны сервера вызывать методы приложения.
  • Инфраструктура для написания приложений (в качестве плагинов к FMSPy) со своим API на Python.

Читать дальше →
Всего голосов 39: ↑34 и ↓5 +29
Просмотры 2K
Комментарии 26

Простейший плагинчик для Internet Explorer при помощи html, javascript и .inf

Internet Explorer
Даже если вы сами не пользуетесь IE, возможно вы пользуетесь HTML help или у вашего сайта есть пользователи на IE, которым вы хотите облегчить жизнь.

Лично мне на IE не хватало возможности Оперы выделить кусочек вебстраницы, который не оформлен как ссылка, и по нему перейти как по URL. Немного порывшись в интернете, я сварганил себе такую штуку

Читать дальше →
Всего голосов 22: ↑14 и ↓8 +6
Просмотры 1.9K
Комментарии 6

Загадочный водяной мостик (видео)

Я пиарюсь
image
Австрийские ученые из Технологического университета в Граце относительно недавно провели интересный эксперимент. Оказывается, что под воздействием постоянного тока между двумя соседними стаканами, наполненными водой, возникает довольно устойчивый водяной мостик длиной до двух с половиной сантиметров. Пока точного научного объяснения этого явления не существует.

Смотрим!

Читать дальше →
Всего голосов 122: ↑98 и ↓24 +74
Просмотры 1.9K
Комментарии 170

Как правильно использовать исключения

PHP *
Жаль, если ваше изучение концепции исключений закончится чтением соответствующего раздела официальной документации по вашему языку.

Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
  • Начать тут же использовать исключения. Скажем, прикручивать их к системе, в которой они никогда не использовались. Или приколачивать их к проекту, в котором ООП и не пахнет. Или, что самое ужасное, пытаться использовать их повсеместно, особенно там, где это не нужно.
  • Попытаться понять, где их применять, как делать это правильно, и зачем они нужны.

Читать дальше →
Всего голосов 122: ↑109 и ↓13 +96
Просмотры 14K
Комментарии 98

Popup с затухающим фоном с помощью jQuery

jQuery *
imageМногие из нас сталкивались с всплывающими окнами, когда при этом постепенно потухает фон. Взгляд пользователя невольно фокусируется только на той части экрана, где что-то требуется от этого самого пользователя. Достаточно полезно, не правда ли?

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

под катом пример и описание
Всего голосов 83: ↑63 и ↓20 +43
Просмотры 42K
Комментарии 71

Построить свой Яндекс

Блог компании Яндекс

Месяц назад мы объявили о начале конкурса «Интернет-математика 2009». Напомню, что задача участников — на основе признаков пар «запрос-документ» и оценок релевантности предложить собственную формулу ранжирования. За это время на сайте конкурса зарегистрировалось более 1000 команд, 90 из них на данный момент прислали результаты.

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

До окончания конкурса еще месяц — присоединяйтесь! Это хорошая возможность попробовать свои силы в интересной и перспективной области анализа веб-данных. Если у вас есть вопросы, можно задать их в клубе «Интернет-математика 2009».

Павел Браславский

Всего голосов 4: ↑4 и ↓0 +4
Просмотры 378
Комментарии 0

Рестарт демона mod_wsgi

Django *
Долго откладывал разобраться, так и релоадил апач целиком :)

@never_cache
def restart(request):
    ''' Перезапуск демона '''
    if request.META['mod_wsgi.process_group'] != '':
        import signal, os
        os.kill(os.getpid(), signal.SIGINT)
        ret = 'restarted'
    else:
        ret = 'not find porcess_group'
        
    return HttpResponse(ret, mimetype='text/plain')


UP: touch yourfile.wsgi
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 1.8K
Комментарии 6

Drupal как MVC Framework

Drupal *
«Архитектура программного обеспечения» — эти слова обычно пугают большинство веб-разработчиков фрилансеров. 3-Tier, MVC, Singleton, Factory… «Стойте! прекратите! зачем всё усложнять?» — сказали бы вам в ответ, — «Вот есть же, например, Drupal — темку сверстали, модули докрутили-настроили и в принципе сайт готов.» Действительно, CMS Drupal предоставляет отличную платформу для быстрой разработки, требуя при этом минимальное количество вложенных усилий.

Многие наверняка слышали о таком понятии, как «идеология Drupal» — это как раз то, благодаря чему данная CMS стала такой удобной и эффективной платформой. Но возможно немногие догадываются, что в основе упомянутой идеологии лежит широко известный паттерн MVC, или Model-View-Controller.

Читать дальше →
Всего голосов 63: ↑43 и ↓20 +23
Просмотры 5.7K
Комментарии 33

PHP_Exceptionizer: преобразование E_NOTICE в исключения (Exception)

PHP *
Очень простая, но полезная библиотека PHP_Exceptionizer позволяет преобразовывать нотисы (E_NOTICE), предупреждения (E_WARNING) и т. д. в исключения PHP.

// Где-то в начальном коде инициализации скрипта.
error_reporting(E_ALL);
if (<is debug mode active>) {
    $exceptionizer = new PHP_Exceptionizer(E_ALL);
    // И оставьте эту переменную, чтобы она не удалялась до окончания 
    // скрипта. Удаление переменной вызовет отключение PHP_Exceptionizer.
}
...
// Далее можно ловить нотисы как исключения:
try {
    echo $undefinedVariable;
} catch (E_NOTICE $e) {
    echo "Notice raised: " . $e->getMessage();
}
...
// Если вы ловите E_WARNING, то поймаете и E_NOTICE тоже:
try {
    echo $undefinedVariable;
} catch (E_WARNING $e) {
    echo "Warning or better raised: " . $e->getMessage();
}
...
// А можно и не ловить, тогда нотис вызовет завершение программы.
echo $undefinedVariable;

Читать дальше →
Всего голосов 68: ↑49 и ↓19 +30
Просмотры 2.4K
Комментарии 97

Серия 50+ советов по оптимизации PHP кода. «За» и «против» такой оптимизации. Первые 10 советов.

PHP *
Перевод
Это перевод первых 10-ти советов статьи по оптимизации PHP кода. На хабре есть перевод более старой версии статьи — 40 советов по оптимизации вашего PHP-кода

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

Пишу по частям, иначе получится очень много материала сразу.

Это моя первая статья на хабре, надеюсь она получилась интересной.

Читать дальше →
Всего голосов 98: ↑71 и ↓27 +44
Просмотры 20K
Комментарии 142

Seaside 2.9: Частичные продолжения

Программирование *Smalltalk *
Перевод
Некоторое время назад на хабре проскакивал топик про «континуации» от ХабраЮзера qmax. Он был весьма впечатлен идеей, а вот подробно рассказать не вышло. И вот недавно один из разработчиков Seaside, Джулиан Фитзелл написал потрясающую по своей доходчивости статью. С его разрешения я сделал ее перевод и хотел бы поделиться с хабрасообществом.

Сразу хотелось бы сказать о терминологии. В качестве перевода слова continuation я использую наиболее близкое по смыслу «продолжение». Общая же терминология статьи для неискушенного в Smalltalk разработчика может показаться непривычной. Так, вместо стека вызовов используется «цепь контекстов», а вместо потока — «процесс». Если у вас останутся вопросы после прочтения — смело задавайте их в комментариях. Спасибо.
читать полный текст статьи
Всего голосов 36: ↑31 и ↓5 +26
Просмотры 1.3K
Комментарии 22

Начинающим Java программистам

Java *
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →
Всего голосов 120: ↑113 и ↓7 +106
Просмотры 1.2M
Комментарии 58

USB в VirtualBox

Настройка Linux *
После установки VirtualBox в Ubuntu не подключаются USB устройства в виртуальных машинах.
Дело в том, что информацию об устройствах VirtualBox берет из файловой системы /proc/bus/usb, которая в Убунте не примонтирована. Чтобы ее смонтировать, пишем в /etc/fstab следующее:
none /proc/bus/usb usbfs devgid=125,devmode=664 0 0
Сохраняем файл, и выполняем в консоли sudo mount /proc/bus/usb
Теперь можно подключать устройства к виртуальным машинам.
Всего голосов 52: ↑37 и ↓15 +22
Просмотры 55K
Комментарии 24

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность