Search
Write a publication
Pull to refresh
-24
0
Антон Холодцов @Error_403_Forbidden

User

Send message

IM на ВКонтакте

Reading time1 min
Views851
Не так давно стала доступна новая версия API для ВКонтакте.
Новые возможности действительно позволяют разрабатывать очень мощные приложения, хорошо интегрированные в социальную сеть. Об этих нововведениях можно прочитать здесь.

Так уж получилось, что после выхода нового API захотелось сделать на основе него что-нибудь интересное как в принципе, так и с точки зрения технической реализации. И было бы просто замечательно, если бы это что-то оказалось полезным.

Судить вам :)

Разрешите представить приложение Месагер — систему обмена мгновенными сообщениями.
Читать дальше →

Доступ к приватному видео Вконтакте

Reading time2 min
Views67K
Так вышло, что мне стало интересно узнать, насколько безопасно публиковать приватное видео на вконтакте.ру Оказалось, что сейчас уровень защиты слабый.

Немного копнуть


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

Далее, свое публичное видео я сделал крайне приватным (только для себя), и попробовал снова скачать файл напрямую с завершенной сессией. Ага, качается. Это значит, что сервера на раздаче видео не производят проверки на приватность (и правильно делают, потому как это надо делать в другом месте).
Читать дальше →

текст под произвольным углом без флеш и js

Reading time3 min
Views30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

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

вертикальный текст и текст под углом
Читать дальше →

Нано.Самолётики на карте мира

Reading time1 min
Views6.1K

Хотите увидеть самолёты, которые сейчас находятся в воздухе? Теперь за ними можно следить прямо на карте.

Информация о рейсах и расчет местоположения происходит на основе данных сервиса Яндекс.Расписания. Летают наши самолёты по ортодромиям — кратчайшему расстоянию между двумя точками находящимися на поверхности сферы (хотя в реальной жизни маршруты проложены по специальным воздушным коридорам).

Приятного вам просмотра :)

Почти ОС реального времени: event-driven

Reading time7 min
Views13K
Пару слов введения:
Делаю систему контроля на базе AtMega32. Цель — отслеживать значение датчиков температуры и давления, управление нагрузкой и сброс отладочных логов в компьютер.

Плюс экранчик 2х16 символов и клавиатура на 7 клавиш. Аппаратную часть использовал готовую — набор NM8036 от МастерКита. А вот с программной частью засада: стандартный алгоритм, уже прошитый в наборе, примитивен и универсален, исходных кодов прошивки нет, обновления выходят в зашифрованном виде. Пришлось писать самому.

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

На форумах, посвященных программированию микроконтроллеров, наткнулся на упоминание об rtos — операционных системах реального времени. Почитал, скачал пару бесплатных, попробовал и принял решение: написать свое.

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

Идеальный NAS — Synology DS209+

Reading time11 min
Views55K
Редко, но бывает такое, что я пишу про идеальные устройства. Ну, или почти идеальные, ведь, как известно, идеал — недостижим. Но некоторые производители настолько стремятся к нему, что писать обзоры таких девайсов – сплошное удовольствие!

image

Сегодня речь пойдет о таком устройстве, как Synology DS209+ — пока это последний из NAS-ов, о котором я напишу. Обзор, трафик.
Читать дальше →

Архитектура CMS. Модель данных. Часть 2

Reading time9 min
Views4.1K
Продолжаем тему объектной модели данных. В этой части речь пойдет о модуле Data, являющимся, по сути, ORM системой. Для наглядности работы модуля Data c его помощью будет создано содержимое простого сайта. Предыдущая статья: Архитектура CMS. Модель данных. Часть 1.

Модуль Data состоит из классов Data, Object, Multy, Query и набора классов Cond*. Сам модуль – это статический класс Data, остальные классы используются для представления структур данных, с которыми он работает. Для представления сущностей в программном коде используется класс Object. Не важно, какого типа сущность – класс данных, объект данных или связь между ними – для всех Object. Класс Multy используется для ассоциации с набором сущностей, в частности, для представления множественных свойств. Классы Query и Cond* необходимы для осуществления поиска по объектной модели (в базе данных) с учетом гибких условий.
Читать дальше →

Хабрапоиск + Визуальный поиск в IE8

Reading time3 min
Views667
Категорически приветствую тебя %username%.
Не знаю как у Вас, а у меня ночью наступает «творческий порыв», о чем я обычно утром очень сильно жалею. Но не будем сейчас о плохом, т.к. пока не утро, то я еще успею поделиться одним из
своих маниакальных творений

PHP 5.3: встречаем анонимные функции

Level of difficultyMedium
Reading time3 min
Views3.8K
Итак в феврале этого года была выпущена новая стабильная версия PHP — PHP 5.3.0. Эта версия включает множество новых функций и улучшений, в том числе:
Читать дальше →

Простое сравнение изображений с помощью php

Reading time3 min
Views27K
Алгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.

Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Читать дальше →

Новый взгляд на навигацию по коду

Reading time1 min
Views1.1K
Одна из лабораторий Microsoft Research представила свою разработку под названием Code Canvas. Предназначение Code Canvas — это отработка новых решений при навигации по коду. Code Canvas предлагает пространственную навигацию с глубоким зумом.

Жизнь после фриланса

Reading time4 min
Views12K
По мотивам статьи dmalinovsky «Жизнь во фрилансе глазами программиста».

Сейчас очень много пишут о том, что ждёт web-разработчика, когда он уйдёт во фриланс. Пишут о том, как протянуть первое время без заказов, о том, как потом бороться с наплывом работы, а затем, как побороть собственную лень. Однако, я до сих пор не встречал статьи о том, что же даёт фриланс, когда ты решаешь прервать круговерть из заказов, предоплат, поиска новых клиентов, помощи старым клиентам и всего остального, что составляет жизнь простого фриласера.

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

Построение regexp'a по входным строкам S1..SN

Reading time3 min
Views2K
Вот совершенно недавно столкнулся с задачкой, по которой не смог накопать не то, чтобы каких либо библиотек, но даже теории или алгоритмов. Т.к. время поджимало, решил сам разбираться с задачей. Написал статью для тех, кто с подобной задачей столкнется в будущем, да и интресна критика. Как бы вы решали подобную задачу?

Итак, задача ...


На входе алгоритма есть набор строк S1..SN. Требуется, по данным строкам построить такое минимальное регулярное выражение R, чтобы R(Si)=true, i [1,N] (N порядка нескольких тысяч).
Требование минимальности — не строгое, и доказывать минимальность построенного regexp'a не требуется. Если строки S1..SN обладают некоторой схожей структурой, то regexp должен выявлять эту структуру. Стандартное задание программисту — в меру конкретизировано, но и с некоторой свободой действий.
Читать дальше →

Запуск торрентов с мобильника по фотографии DVD

Reading time1 min
Views764
Вы пришли в магазин DVD-дисков и выбрали хороший фильм. Но вместо того, чтобы покупать, просто фотографируете его камерой своего смартфона на платформе Android. Когда приходите домой — фильм лежит на диске вашего ПК. Именно так работает программа Torrent Droid.



Torrent Droid победил на конкурсе, который проводил сайт Androidandme по созданию программы по сканированию штрих-кодов смартфоном G1 и автоматической загрузке торрентов. Видимо, идея витала в воздухе, а запускать торренты с мобильника — весьма востребованная задача. Главное, чтобы всё работало автоматически и к моменту прихода пользователя домой фильм уже был скачан.

Окончательная версия Torrent Droid появится примерно через месяц на сайте Zerofate. Хотя уже сейчас в ней работает основной функционал, что и запечатлено на видео.

via TorrentFreak

Скачиваем альбомы из Picasa

Reading time12 min
Views1.1K
Собственно все довольно просто:

1. Качаем и ставим Google API [Google.GData.Client.dll, Google.GData.Extensions.dll, Google.GData.Photos.dll]

2. Создаем новый проект на C# (я использую WinForms)
3. Заведем класс основной логики:

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

Программирование — отстой! Или что-то вроде того

Reading time8 min
Views14K
Предлагаю вниманию читателей перевод статьи "Programming Sucks! Or At Least, It Ought To", опубликованной в «The Daily WTF». Публикация рассказывает о том, как избыток профессионализма на практике мешает эффективности и предназначена скорее для опытных разработчиков, нежели для новичков.
Читать дальше →

ExtJS, Adobe AIR и технология PixelBender — красиво, ничего не скажешь!

Reading time3 min
Views1.4K
animsДавно не появлялось чего-то новенького об ExtJS, видимо все готовятся к анонсированной конференции (я уже писал об этом), а те, что останется в уютных домашний креслах — к анонсу ExtJS 3.0. Но сегодня заглянув в официальный блог компании, я нашел интереснейшую заметку. Как уже известно, в последние версии ExtJS начали активно внедрять поддержку платформы Adobe AIR, что не может не радовать, ведь именно симбиоз этих двух потрясающих инструментов может дать, в умелых руках, конечно, просто отличные результаты.

В Flash 10, а значит и в Adobe AIR 1.5 в его именно флешевую часть была внедрена интересная технология, по сути, полного управления всем отображаемым на экране — PixelBender. При помощи специального языка программирования GLSL (OpenGL Shading Language) разработчик может описывать операции над пикселями, при этом программа может быть применена не только к картинке, а к любому флеш-объекту, в том числе и целому окну или веб-странице. Кстати да, вы не ослышались, речь идет именно об OpenGL, а это нас приближает вплотную к возможности создать серьезные графические приложения, оперируя только обычными для веб-разработки инструментами. Если кто разбирается в 3D, то эта технология очень близка к пиксельным шейдерам, которые также программируются на своих языках.
Читать дальше →

Ещё одна возможность использования вашего гео-местоположения

Reading time1 min
Views1.4K
GeotargetingКак часто у вас бывали моменты, когда вы создавали подобные события в своём календаре:

[21:00] Кинуть бутерброд из сумки в холодильник — загниет.
[23:00] Незабыть взять диск для Гоши.


А было ли вам неудобно, если оповещение о них приходило в тот момент, когда вы ещё были не дома? И на следующий день — та же ситуация…

Идея заключается в том, что-бы использовать гео-положение вашего телефона(коммуникатора) как дополнительное измерение(помимо времени) о наступлении события.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity