Pull to refresh
Ворч Ун @sav1812read⁠-⁠only

Разработчик

Send message

AniJS – библиотека для декларативного описания CSS-анимации

Reading time1 min
Views25K
На днях занимался созданием лэндинга с приличным набором анимации, возникающей во время взаимодействия со страницей. Прям чувствовал, что должна быть какая-нибудь крутая библиотека для решения задачи. И тут я нашёл AniJS, которая меня совершенно покорила!

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

Обновление Firefox Developer Tools

Reading time1 min
Views22K
Вместе со свежей версией Firefox Aurora представлены новые инструменты разработчика Firefox Developer Tools, в которых реализован ряд очень интересных нововведений. Например, в редакторе кода появилась возможность множественного выделения (удерживая Ctrl/Cmd).



Это позволяет одновременно редактировать несколько строк кода. Кроме того, теперь можно выделять произвольный прямоугольник (Alt), отменять и возвращать отменённые выделения (Ctrl-U/Cmd-U и Alt-U/Shift-Cmd-U).
Это далеко не единственное новшество

Интерфейс Firefox 29+ и его кастомизация

Reading time10 min
Views66K
Как известно, 29-я версия браузера Firefox получила новый интерфейс под названием Australis для своей оболочки (табы, строка поиска, кнопки навигации и закладок; устранение Addon Bar и замена его на попап под кнопкой «инструментов» (три горизонтальные чёрточки, общепринятый знак для многих веб-интерфейсов)). Рассмотрим, что мы потеряли на сегодня из рычагов управления интерфейсом, которые до сих пор существовали в виде нескольких расширений браузера.

Конечно, для разработчиков расширений интерфейсов это не было неожиданным — за две версии нововведения объявляются и появляются в альфа-версиях, затем отрабатываются в бета-. Это — приерно 3 месяца на возможность подготовиться заранее (но большинство расширений поддерживают энтузиасты, которые не всегда могут выделить на это свободное время). Предусмотрена возможность частичного отката интерфейса к прежним версиям с помощью установки официального расширения Classic Theme Restorer.

Если посмотреть, на что больше всего жалуются пользователи новой версии:
1.'Это странная традиция: всё время менять интерфейс'

Конспект по веб-безопасности

Reading time3 min
Views66K
Простите, но накипело.
Много шишек уже набито на тему безопасности сайтов. Молодые специалисты, окончившие ВУЗы, хоть и умеют программировать, но в вопросе безопасности сайта наступают на одни и те же грабли.

Этот конспект-памятка о том, как добиться относительно высокой безопасности приложений в вебе, а также предостеречь новичков от банальных ошибок. Список составлялся без учета языка программирования, поэтому подходит для всех. А теперь позвольте, я немного побуду КО.


Итак, каким должен быть безопасный сайт?

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

Linux для профессионалов: видео-монтаж (и немножко композинг)

Reading time9 min
Views85K
Привет коллеги. Думаю, пришло время продолжить начатый некогда цикл «Linux для профессионалов». Сегодня я бы хотел рассказать о монтаже видео на примере ролика, который мы сняли прошлым летом для нашей пражской затеи с электронным GPS аудио-путеводителем.

Собственно ролик (если быть точным, то это демонстрационный мини-фильм).



Весь цикл постобработки и монтажа выполнен с использованием программного обеспечения под управлением ОС Linux.

По-правде говоря, есть один нюанс. Я для подготовки титров сперва использовал AI, запущенный под Wine. Связано это было отчасти с тем, что я, будучи скован врененными рамками, не уделил должное внимание поиску native альтернатив. В действительности, как оказалось, такая альтернатива, вполне лежащая на поверхности, существует. Ниже расскажу подробнее.

Итак, по-порядку.
Читать дальше →

ФЗ-229 — руки прочь от основного мобильного счёта

Reading time2 min
Views86K

Закон


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

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

Очередная умная розетка для очередного умного дома

Reading time5 min
Views196K
Много лет мечтал о создании умного дома, но каждый раз останавливала проблема связи модулей (розеток, датчиков и выключателей) с центром и между собой. Но прогресс не стоит на месте, все чаще и чаще встречающаяся информация о микроконтроллерах со встроенными трансиверами подтолкнула меня опять вернуться к моей давней идее. В этом посте я расскажу о том, как создавалась «умная розетка» (на самом деле сетевой фильтр), который и представлен на фото ниже.



Все остальное под катом. Осторожно! Много картинок.
Читать дальше →

Замолвим слово об отладке и профилировании [PHP]

Reading time5 min
Views40K
Все идет от лени. Вы получили чужой очень большой проект в котором нужно сделать небольшие правки, или же написали скрипт и сразу не очевидно, что в нем еще требует оптимизации. Как быть? Читать и анализировать код, выводить каждый шаг на экран или в файл (var_dump() и т.д.) не всегда эффективно, ведь можно воспользоваться средствами отладки, которых на сегодняшний день очень много. Кратко перечислю часто встречающиеся…
Читать дальше →

Доживет ли Рунет до 2015 года?

Reading time5 min
Views23K
В конце апреля состоялась крупнейшая отраслевая конференция Рунета РИФ+КИБ 2014.
Мне удалось не только побывать на данном мероприятии, но и поучаствовать в одной из секций данного форума в качестве докладчика.

Секция «Доживет ли Рунет до 2015 года?» во второй день работы конференции как и планировалась получилась интересной и резонансной, хотя мы изначально планировали с ведущим (коим выступил крутой шеф-редактор TJournal Султан Сулейманов, ex-LentaRu) часть времени уделить условному круглому столу с присутствовавшей аудиторией и более глубоко всем вместе покумекать / помозгоштурмовать, что может сделать IT-сообщество и интернет-бизнес в текущей ситуации со все нарастающим гос.наездом на Рунет. Но времени, к сожалению, на это не хватило, что оставляет за нами моральную обязанность и, естественно, желание организовать такой круглый стол отдельно.

image


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

Видеозапись сюда не встраивается — поэтому даю ссылку на него на RuTube.

Спикеры, по порядку выступления:
Артем Козлюк, ваш покорный слуга, «РосКомСвобода»
Арсений Бобровский и Екатерина Романовская, KermlinRussia
Иван Засурский, МГУ, медиаперсона
Саркис Дарбинян, адвокат и правозащитник, «Пиратская партия России»
Владимир Харитонов, «Ассоциация интернет-издателей»
Читать дальше →

Работа с регистрами внешних устройств в языке C, часть 3

Reading time6 min
Views18K
Все хорошо, что хорошо кончается

Теперь, когда мы рассмотрели, как с помощью средств языка С мы сможем определить фиксированное расположение регистра в адресном пространстве МК (часть 1), как мы сможем определить отдельные битовые группы в регистре (часть 2), самое время рассмотреть как мы можем с этими группами работать. Работа с группой битов, как с целым, не представляет никаких проблем, опирается на их описание в виде битовых полей и уже демонстрировалась, однако нам может потребоваться и работа с отдельными битами поля, причем по соображениям эффективности либо понятности программы разделять группу на отдельные поля нецелесообразно.
Читать дальше →

Siklu — беспроводной гигабит без частот. Опыт инсталляции

Reading time2 min
Views69K
Перед провайдерами очень часто встает задача быстро пройти 2-3 км с высокой скоростью — подключить новый дом или группу домов, перейти реку или шоссе. Согласование и прокладка оптики занимает месяцы.
Сегодня я вам расскажу о решении, позволяющем построить гигабитный линк за пару часов — SIKLU. И не нужно проходить долгую процедуру согласования частот — оборудование просто регистрируется в Роскомнадзоре.

Диапазон 70-80 ГГц — это новая страница развития беспроводных технологий. Для беспроводной связи выделено целых 10 ГГц (71-76 и 81-86 ГГц), а такая широкая полоса дает возможность развить гигабитные скорости. До недавнего времени оборудование миллиметрового диапазона было очень дорого — многие десятки тысяч долларов за пролёт, что отпугивало большинство провайдеров. Но вот появилось первое недорогое решение (от $4000 за пролёт), и рынок тут-же оживился. В результате уже за первый год системы EtherHaul компании Siklu заняли доминирующие позиции на рынке. Мы протестировали доступное решение со встроенной однофутовой антенной, позволяющее создать надежный (99,995%) канал на расстоянии до 2 км при любой погоде. Само устройство компактное, лёгкое, с медными и оптическими гигабитными интерфейсами на борту.


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

И дождь и снег. Или опыт долговременного использования радио миллиметрового диапазона в дождевой зоне H

Reading time3 min
Views17K

Ранее мы писали о радиорелейных станциях безлицензионного миллиметрового диапазона, практически единственном способе получить радиоканал гигабитной емкости без длительного и дорогостоящего получения частотных присвоений.
В комментариях нас часто спрашивали, насколько устойчива будет связь в условиях средней полосы. Ведь красивые графики и расчеты производителей- это хорошо, но как будут обстоять дела на практике?
Рады Вам сообщить, что некоторые наши каналы отметили недавно два года работы, а в этой статье мы рассмотрим почти годовую статистику производительности канала и уровня сигнала.
Читать дальше →

Разбор RAW в браузере: как мы это делали

Reading time4 min
Views23K
Привет, Хабр.

Хочется поделиться радостью — мы закончили разбор проприетарных RAW форматов с камер Canon и Nikon для нашего сервиса Pics.io. Для тех, кто не в курсе: основная идея Pics.io заключается в том, чтобы дать людям возможность работать с RAW фотографиями прямо в браузере. Без установки каких-либо программ, плагинов и расширений – настоящий zero footprint.

Когда мы начинали работать, было понимание, что в ближайшие годы цифровая фотография переедет в «облако». Мы знали, что тренд мобильности будет усиливаться, а цены на облачные хранилища снижаться. Тогда web’у не хватало только одного кусочка мозаики — адекватной обработки снимков. Было множество онлайн редакторов, в большинстве своём написанных на Flash, которые не могли удовлетворить фотографов в силу ряда ограничений: они работали с 8-bit JPEG, PNG и имели ограничение на размер файла. Мы решили сделать редактор с поддержкой RAW.

На тот момент у нас было несколько прототипов, работающих с DNG, которые доказывали, что всё это можно сделать на JavaScript и WebGL. Но мы, к сожалению, не могли заставить всех людей мира конвертировать свои фотографии в DNG. Даже у Adobe это не получилось. Мы понимали, что была необходима поддержка «родных» форматов, и несколько месяцев назад мы взялись за самые распространенные проприетарные форматы от Canon и Nikon.
Читать дальше →

Функция reduce

Reading time7 min
Views77K
JavaScript в последние годы набрал нешуточную популярность, в связи с чем его подводные камни также стали явственно видны. Справедливости ради, стоит отметить, что любой язык в некоторой мере имеет как своё legacy, так и подводные камни.
Конкретно JavaScript обладает целым огородом камней. Подводным огородом.

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

Меня заинтересовал вопрос номер 3:
Каков результат этого выражения (или нескольких)?

[ [3,2,1].reduce(Math.pow), [].reduce(Math.pow) ]

В качестве ответа авторами, на выбор, даются следующие варианты:
* ошибка
* [9, 0]
* [9, NaN]
* [9, undefined]

Попробуйте и вы, без запуска интерпретатора, пользуясь только своим умом ответить на этот вопрос.

Несмотря на то, что пример достаточно отстранённый, аппликация функций и частично определённых функций к коллекциям это распространённая практика для JS, и, при здравом использовании, она способна сделать код чище, как в плане исполнения — избавить его от лишних замыканий, так и в визуальном плане — меньше скобочного мусора (вопрос использования препроцессоров оставим для другой статьи).

А в этой статье вы найдёте:
* Разбор задачки.
* JavaScript reduce с чисто практической точки зрения.
* Несколько акробатических этюдов с reduce (reduce с академической точки зрения).
* Репозиторий с плюшками к статье.
* Несколько других reduce.
reduce, reduce, reduce

Быстрое веб-приложение — трепанация сети

Reading time10 min
Views33K
Психология — интересная и иногда полезная наука. Многочисленные исследования показывают, что задержка в отображении веб-страницы дольше 300 мс заставляет пользователя отвлечься от веб-ресурса и задуматься: «что за хрень?». Поэтому УСКОРИВ веб-проект до психологически невоспринимаемых значений, можно ПРОСТО удерживать пользователей дольше. И именно поэтому бизнес готов тратиться на скорость: $80М — чтобы уменьшить latenсy всего на 1 мс.



Однако, чтобы ускорить современный веб-проект, придется кровушки пустить и основательно покопаться в этой теме — поэтому базовое знание сетевых протоколов приветствуется. Зная принципы, можно без особых усилий ускорить свою веб-систему на сотни миллисекунд всего за несколько подходов. Ну что, готовы сэкономить сотни миллионов? Наливайте кофе.
Читать дальше →

О недостатках современных синтезаторов и как с ними бороться

Reading time8 min
Views42K
image

Все любят музыку. Но не все способны её играть. Лишь немногие способны её создавать, и ещё меньше людей создают для этого музыкальные инструменты. Легендарные инструменты, наравне с легендарными композиторами и музыкантами, входят в историю, но мало кто интересуется этими самыми инструментами. Мы интересуемся. Так почему бы не внести в историю свою микроскопическую лепту?
Читать дальше →

Макрорельсы на MSP430

Reading time4 min
Views32K
Привет, хабр!
Майские праздники шествуют по стране, а значит фотосезон уже открыт. Кто-то едет в дальние страны, кто-то остаётся поближе к природе где-нибудь в деревне, ну а я снимаю всякую мелочь. Как облегчить себе жизнь при макросъёмке? Об этом я сегодня и решил рассказать.
Читать дальше →

Спам-бот Stealrat

Reading time35 min
Views64K
imageНе слышали еще о спам-боте Stealrat? Возможно во время чтения данного поста ваш любимый сайт рассылает тысячи спам собщений через ваш же почтовый сервер. По поводу спам-бота Stealrat на Хабре не было еще упоминаний, что очень странно.

Один из наших серверов был заражен. На сервере в основном размещались сайты на Wordpress. Проблему локализировали, все вычистили и прикрыли. Все бы хорошо, но есть одно но…

Спам-бот Stealrat построен по принципу ботнета. Размещается на таких популярных CMS как WordPress, Joomla!, Drupal и других не защищенных, уязвимых сайтах.
Читать дальше →

CSS 3 Timing Functions и с чем их едят

Reading time15 min
Views106K


Хей народ, пристегните ремни и держитесь покрепче, ибо наступил действительно волнительный момент: вам предстоит разобраться в тонкостях чрезвычайно интересных временных функций CSS!


Окей, ваша кровь, конечно, вряд ли закипела от предмета данной статьи, но шутки в сторону: временные функции — своего рода скрытая жемчужина, когда дело касается CSS, и, вполне вероятно, вы удивитесь тому, сколько всего интересного с помощью них можно сделать.

Полетели!

12 малоизвестных возможностей CSS

Reading time8 min
Views138K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →

Information

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