Как стать автором
Обновить
5
0
Андрей @brainworm

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

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

Отдаем файлы эффективно с помощью PHP

Время на прочтение3 мин
Количество просмотров283K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер
Всего голосов 132: ↑108 и ↓24+84
Комментарии59

Эволюция инсталляторов

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

Товар в красивой упаковке проще продавать. А программу в хорошем инсталляторе?

Ведь не факт, что инсталлятор — аналог упаковки. Это скорее процесс вынимания продукта из коробки. Много раз нажать «Next», в самом конце — «Finish», и никакого там аккуратного развязывания ленточек. Порвали слюду, небрежно вскрыли коробку — «Что там у нас внутри?»

Сама коробка не представляет особой ценности. Для некоторых товаров специально делают бюджетную упаковку. Зато важно, чтобы процесс был предсказуемым. Если инсталлятор предсказуем, то его внешний вид и возможности не имеют значения. Но когда что-то пойдёт «не так», или пользователю вдруг не хватит стандартных опций, всплывут все недостатки — как внешнего вида, так и возможностей.
Почитать что нового в инсталляторах
Всего голосов 41: ↑31 и ↓10+21
Комментарии114

Как я делал нотную капчу

Время на прочтение2 мин
Количество просмотров7.5K
Однажды в далеком 2009 году я делал сайт для музыкантов. Единственным средством обратной связи на сайте была гостевая книга. Чтобы не пустить ботов, спамеров и нехороших людей, нужна была капча. Так как сайт для музыкантов, то я подумал, пусть капча тоже будет музыкальной.

То, что получилось, выглядит примерно так:


или так:

Читать дальше →
Всего голосов 154: ↑140 и ↓14+126
Комментарии79

Обзор бюджетных аудиофильских наушников

Время на прочтение15 мин
Количество просмотров160K
Настает время, когда человек, слушая музыку, понимает, что удовольствие от этого процесса можно заметно увеличить, например, прикупив качественный плеер с наушниками. В этой статье, я решил сделать детальный обзор наушников, которые будут по душе начинающим аудиофилам. Из нескольких сотен моделей, представленных сегодня на рынке, я постарался отобрать самое лучшее, самое топовое и популярное, но тем не менее уложиться в скромный бюджет 10 тыс. рублей. Слушая, изучая форумы, читая обзоры и анализируя тесты, я выполнил детальный анализ шести пар наушников, которые должны заинтересовать потенциального покупателя.

Читать дальше →
Всего голосов 160: ↑123 и ↓37+86
Комментарии148

Парсим русский язык

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

В прошлый раз (почти год назад) мы определяли части речи в русском тексте, производили морфологический анализ слов. В этой статье мы пойдем на уровень выше, к синтаксическому анализу целых предложений.

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

"Мама мыла раму":

(предложение
    (именная гр. (сущ мама))
    (глаг. гр. (глаг мыла)
        (именная гр. (сущ раму)))
    (. .)))


Это называется синтаксическим деревом предложения. В графическом виде его можно представить следующим образом (в упрощенном виде):

Читать дальше →
Всего голосов 128: ↑124 и ↓4+120
Комментарии97

В новый микроскоп IBM видно межатомные связи в молекуле

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


Научно-исследовательское подразделение IBM Research в Цюрихе опубликовало картинки, которые удалось сгенерировать с помощью сканирующего атомно-силового микроскопа (АСМ). На изображениях можно различить отдельные атомы углерода в шарообразной молекуле C60. Видны даже химические связи между атомами, то есть перекрывающиеся электронные облака («размазанные» электроны, в терминологии Шрёдингера).
Читать дальше →
Всего голосов 207: ↑200 и ↓7+193
Комментарии220

GIF-сокеты. Коммуникации в реальном времени через анимированный GIF

Время на прочтение2 мин
Количество просмотров46K
Неизвестно, что курил разработчик Альваро Видела (Alvaro Videla) из компании VMware, но созданная им библиотека gifsockets явно должна была выйти 1 апреля, а не сегодня. Это библиотека для установки канала realtime-коммуникаций, используя анимированный GIF в качестве транспорта!

Идея в том, что в формате анимированного GIF'а не указывается количество фреймов, так что после отображения картинки браузер ждёт новых фреймов с сервера до тех пор, пока не получит сигнальные биты о конце файла. Другими словами, сервер может пушить в браузер сообщения по открытому каналу в GIF. Всё очень просто.
Читать дальше →
Всего голосов 129: ↑125 и ↓4+121
Комментарии68

Программу «научили» определять город по архитектуре

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


Поколения архитекторов и дизайнеров (раньше, понятно, такого термина, как дизайнер, не было) работали сотни лет, создавая неповторимые очертания разных городов и отдельных зданий. Само собой, у каждого города с течением времени проявились индивидуальные черты (имеются в виду крупные города, вроде Парижа и Нью-Йорка, у мелких промышленных населенных пунктов индивидуальности практически нет). Понятно, что многие из нас, взглянув на фотографию пары зданий какого-либо города, способны сказать, Париж это, Нью-Йорк или Пекин. Теперь на это способно и программное обеспечение.

Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии19

Машина Тьюринга из Lego

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


Немного поцитирую вики:

Маши́на Тью́ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча — Тьюринга, способна имитировать все другие исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.

В состав машины Тьюринга входит бесконечная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство, способное находиться в одном из множества состояний. Число возможных состояний управляющего устройства конечно и точно задано.
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии8

Используем хабракомментарии как машину Тьюринга

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

Как это вообще взбрело мне в голову?



У каждого хабракомментария есть свой адрес. Строение адреса коментария:
habrahabr.ru/blogs/gtd/135090/#comment_4486120
То что до "#" — это ссылка на топик, а после — якорь, указывающий положение комментария на странице.
Если в комментариях указывать ссылки на другие комментарии, а потом жмякать по ним, то страница будет прокручиваться до нужного места. Еще у самих коментариев есть пара стрелок ↑ ↓ позволяющих перемещаться между ответами на комментарии.
«Эй!» — подумал я, — «что-то в этом есть». Сначала я размышлял над пределом запутанности комментариев, если в них ставить ссылки друг на друга. Но потом понял что тут кроется вообще что-то из элементарного программирования, сильно похожее на машину Тьюринга. Но какой-то детали не хватало, а ссылки в содержании комментариев использовать не хотелось. На помощь пришло добавление в избранное!
Читать дальше →
Всего голосов 227: ↑209 и ↓18+191
Комментарии60

Читаем QR код

Время на прочтение5 мин
Количество просмотров1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →
Всего голосов 623: ↑614 и ↓9+605
Комментарии109

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность