Pull to refresh
1
0
Send message

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

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

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

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

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

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

Nested Sets + MySQL TRIGGER

Reading time7 min
Views9.9K

Задача


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

Грабли


Хорошая новость ребята! В MySQL нет проблемы с рекурсивными триггерами! Разработчики MySQL просто тупо лочат изменяемую таблицу даже на уровне триггера, вот редиски. Но, собственно, нас может остановить только отключение электричества.
Есть небольшая лазейка, с… объединенными таблицами. Хотя я не нашел в документации подтверждения того, что это так специально было задумано, но и отрицания тоже не было. Правда есть вероятность того, что эту лазейку могут прикрыть, хотя я не вижу в этом смысла.
Увы, механизм триггеров в MySQL новый и довольно сырой, что накладывает некоторые ограничения на его использование, но все же его достаточно для решения нашей задачи.
Читать дальше →

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

Reading time11 min
Views3K
После вчерашнего топика про комп. фирму много читателей заинтересовалось проблемами, с которыми мы столкнулись на своём пути, и причиной «падения» нашего детища.
Также многим полюбилась фраза «про грабли» — так что о них собственно речь и пойдёт.
Читать дальше →

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

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

Содержание

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

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

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

Reading time1 min
Views314K

Серия статей «Основы 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-фреймворк для веб-приложений)

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

FMSPy, релиз Alpha (0.1)

Reading time2 min
Views2.3K
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.

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

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

Reading time2 min
Views2.2K
Даже если вы сами не пользуетесь IE, возможно вы пользуетесь HTML help или у вашего сайта есть пользователи на IE, которым вы хотите облегчить жизнь.

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

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

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

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

Смотрим!

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

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

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

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

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

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

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

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

под катом пример и описание

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

Reading time1 min
Views437

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

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

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

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

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

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

@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

Drupal как MVC Framework

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

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

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

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

Reading time2 min
Views2.7K
Очень простая, но полезная библиотека 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;

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

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

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

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

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

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

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

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

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

Сразу хотелось бы сказать о терминологии. В качестве перевода слова continuation я использую наиболее близкое по смыслу «продолжение». Общая же терминология статьи для неискушенного в Smalltalk разработчика может показаться непривычной. Так, вместо стека вызовов используется «цепь контекстов», а вместо потока — «процесс». Если у вас останутся вопросы после прочтения — смело задавайте их в комментариях. Спасибо.
читать полный текст статьи

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

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

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


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

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

USB в VirtualBox

Reading time1 min
Views57K
После установки 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
Теперь можно подключать устройства к виртуальным машинам.

Information

Rating
Does not participate
Registered
Activity