Обновить
1
0
Артемий Титов @apnix

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

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

Високосные годы

Время на прочтение3 мин
Просмотры61K
Надеюсь, вы отлично встретили новый год, и сейчас у вас отличное праздничное настроение. По крайней мере у меня это именно так — мы не пили никакого алкоголя, и чокнулись в полночь бокалами с водой из пятилитровой канистры, поэтому мы проснулись, погуляли, и тут я вспомнил одно из вчерашних поздравлений с Новым годом:

Желаю, чтобы в конце каждого года ты, вспоминая то, что было за последние 366 if ((year%4 == 0 and year%100 != 0) or (year%400 == 0)) else 365 дней, думал про себя:

— Ох, нифига себе, какой был экшен. Обязательно буду рассказывать внукам или напишу об этом потом книгу.

Итак, выше достаточно простой inline-способ определить количество дней в году (переменная year), который, по сути, полностью раскрывает их суть: в григорианском календаре високосными годами считаются те годы, порядковый номер которых либо кратен 4, но при этом не кратен 100, либо кратен 400. Иными словами, если год делится на 4 без остатка, но делится на 100 только с остатком, то он високосный, иначе — невисокосный, кроме случая, если он делится без остатка на 400 — тогда он всё равно високосный.

Например, 2013 год невисокосный, 1700, 1800 и 1900 — опять же невисокосные годы, а вот 2000, 2004, 2008 и 2012 — високосные.

Но что, если мы не помним, сколько дней в високосных (366 дней) и невисокосных (365 дней) годах, или просто хотим написать определение количества дней в году максимально быстро? Можно ли сделать так на Python? Конечно же, можно.
Читать дальше →

Начат сбор предзаказов на virt2real (Виртурилку)

Время на прочтение2 мин
Просмотры51K
Вы думали мы куда-то пропали? Ничего подобного. Мы всё ещё в строю, этот топик — тому подтверждение.



После первой публикации на Хабре мы получили мощный фидбек — шквал писем, сообщений в скайп и стучаний в аську. Тематическое сообщество отнеслось к нашей затее благосклонно, так что почти все сообщения были позитивно-одобрительные. Мы познакомились со многими интересными людьми, которые нам написали, с некоторыми даже пообщались лично. Коллектив пополнился ещё одним человеком. В общем, процесс пошёл.

Сейчас в полную силу идёт доработка тиражного образца и просчёт разных вариантов производства, ищем набившее оскомину оптимальное «соотношение цена/качество». Знаете, говорят соотношение цена/качество придумали китайцы — цена всегда низкая, а на ноль делить нельзя. Поэтому хотим сделать все грамотно, дабы не делить потом на ноль. Процесс этот очень небыстрый, но, надеемся, что концы с концами благополучно сойдутся и весной (этой) мы выпустим первый тираж.
Читать дальше →

Webshell.io — командная строка для интернета

Время на прочтение1 мин
Просмотры14K
Webshell.io предназначен для создания прототипов и мэшапов на основе JavaScript API различных веб-сервисов. Что-то вроде IFTTT, но для программистов. С его помощью можно в интерактивном режиме писать запросы на JavaScript и CoffeeScript к клиентским и серверным API Google, Facebook, Twitter и многих других популярных сайтов и видеть их ответы в консоли, а так же создавать свои приложения, API которых, в свою очередь, будет доступен другим разработчикам. Webshell также поддерживает рендеринг HTML из шаблонов EJS.
Читать дальше →

Уязвимость в skype, позволяющая угнать любой аккаунт

Время на прочтение2 мин
Просмотры444K


Месяца три назад я писал об этой критической уязвимости в skype support, но она до сих пор не исправлена (уже исправлена).

Сразу скажу, что саму уязвимость я целиком не знаю(уже известна), но в последнее время начались массовые угоны аккаунтов.

Для реализации атаки необходимо лишь знать логин скайпа и e-mail жертвы.
Читать дальше →

Steam под Linux: началось закрытое бета-тестирование

Время на прочтение1 мин
Просмотры50K
Сегодня первым счастливчикам в почтовые ящики упало приглашение в закрытое бета-тестирование клиента Steam под Linux, о чём было сообщено в официальном сообществе:

«Первая волна инвайтов выслана!
Если вы прошли опрос*, но вам так и не пришло письмо, не отчаивайтесь. Мы расширим бету в будущем большим количеством участников опроса.

Спасибо за вашу поддержку, помогающую выпустить Steam под Linux,
Команда Valve Linux.»


(*опрос, проводимый недавно на сайте Valve, в котором желающие могли заполнить некоторую информацию о своём Linux-е и железе).

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

Алгоритм Диффи — Хеллмана

Время на прочтение1 мин
Просмотры166K
Одна из фундаментальных проблем криптографии – безопасное общение по прослушиваемому каналу. Сообщения нужно зашифровывать и расшифровывать, но для этого обеим сторонам нужно иметь общий ключ. Если этот ключ передавать по тому же каналу, то прослушивающая сторона тоже получит его, и смысл шифрования исчезнет.

Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.

Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.

Как обойтись без капчи?

Время на прочтение2 мин
Просмотры130K
К сожалению, на многих сайтах без особой необходимости используют капчи. Хотя можно побороть спам и незаметными для пользователя способами. Особенно, капчу больно видеть на небольших коммерческих сайтах в форме обратной связи, поскольку, капча заметно снижает конверсию таких сайтов. Для больших сайтов, которые могут специально спамить, такие методы не применимы. Однако, в большинстве случаев, без капчи можно обойтись

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

Амазон анонсировал дешевое хранилище под бекапы

Время на прочтение1 мин
Просмотры3.3K

И назвал его Amazon Glacier.
А теперь немного вкусного:
1) Стоимость 1 цент за гигабайт.
2) Только секьюрная передача данных по ssl.
3) Надежность, она же доступность 99.999999999%, что выше чем у s3.
4) Расширяемость, можете хранить сколько хотите данных если у вас есть на это деньги.
5) Простота использования.
6) Поддержка передачи данных из некоторых сервисов амазона, к примеру с s3(я там храню бекапы и думаю перенести их на новое хранилище, думаю это будет очень легко).

Ещё инфа aws.amazon.com/glacier

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

Джулиан Ассанж получил политическое убежище в Эквадоре

Время на прочтение1 мин
Просмотры3.4K
Президент Эквадора Рафаэль Корреа согласился предоставить убежище основателю проекта WikiLeaks Джулиану Ассанжу.

Интересный момент: в конце июля мать активиста Кристин Ассанж прибыла в столицу Эквадора, чтобы лично просить власти республики предоставить политическое убежище ее сыну.

Вот полная новость.

Остается поаплодировать смелости и решительности правительства Эквадора.

Радиоэлектронный фриланс

Время на прочтение10 мин
Просмотры118K
Окончив институт и устроившись на работу, я осознал, что совершенно не создан для офисной или выездной работы, четких распорядков, начальников и прочей рутины. А ходить на работу каждый день было ну совсем невыносимо. Хватило меня на пол года :) Потому, несмотря на не пыльную работу, весьма высокую зарплату, а по меркам вчерашнего студента, так вообще шикарную, я дождался первого же срача с начальством и красиво хлопнул дверью. С тех пор развлекаю себя сам и доволен жизнью. О нюансах вольной жизни бывшего фрилансера электронщика я и хочу поведать в этом посте.
Все нижеследующее это исключительно мой практический опыт и я не уверен, что у вас все получится именно так.

Бабло
Начну с самого интересного, с денег. Скажем так, под конец моей деятельности (примерно 2010), не особо напрягаясь, работая около двух-трех дней в неделю, можно было смело делать тысяч по 50-70 рублей. Это в Челябинске. Если работать каждый день, то легко было делать от 150 тысяч рублей в месяц и более, но я для этого был слишком ленив. А теперь по порядку.

Далее Война и Мир, написал как сумел

ARM + WiFi в формате SD карты

Время на прочтение2 мин
Просмотры55K
Сегодня копаясь в интернете нашел интересную штуку: Electric Imp.
Из себя представляет готовый модуль, на борту:
ARM Cortex M3 (какой именно пока выяснить не удалось) и WiFi


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

Прямая печать плат на текстолите

Время на прочтение3 мин
Просмотры186K
Вот периодически мне бывает нужно сделать печатные платы для моих поделок. ЛУТ для меня чрезвычайно капризный метод — то тонер переплавится и растечется, то качество бумаги не сгодится, то еще какой- нибудь геморрой — нервы нужны стальные-железные. Для фоторезиста реактивы специфические и ламинатор.

«А если для этого станочек специальный соорудить? Чтоб сразу краской печатать?», — подумалось мне. «Принтер переделай!», — резонно заметила лень. Поиск в интернете выявил, что люди успешно переделывают для печати на текстолите струйники, однако это довольно трудоемкий процесс (нужно допиливать и поднимать рамку с печатающей головкой и т. п.), к тому же, своим струйным принтером я дорожу, как мадам Грицацуева ситечком (МФУ, все-таки). А вот ненужный лазерный HP lj 6L у меня валялся без дела — в общем, довалялся. Полез смотреть характеристики и случайно наткнулся на статью (кэш статьи, на всякий пожарный) по переделке именно этого принтера под текстолит. Но тема в статье так и не раскрылась до конца — в частности, там не рассказывается, как сделать так, чтобы тонер прилипал к фольге текстолита, чем потом этот тонер запекать и, главное, — нет видеодемонстрации работающего образца, поэтому я довел это дело до ума самостоятельно. Я настоятельно рекомендую ознакомиться с вышеупомянутой статьей, потому что повторять описанное там во всех деталях не буду — нечего плодить копипаст. Под катом много фотографий.
Читать дальше →

Мобильный интернет в Финляндии. 3G от Saunalahti

Время на прочтение4 мин
Просмотры122K
Очень многие жители северо-запада часто ездят в Финляндию за покупками и на отдых. В таких поездках очень не помешал бы нормальный интернет для звонков по СИПу/Skype'у (друзья просят привезти им чего-нибудь вкусненького из магазинов, а по скайпу им можно показать витрину), да и гуглокарты с он-лайн переводчиком очень полезны.

В своей первой же поездке в Лаппенранту я озаботился мобильным интернетом. В Финляндии развита контрактная система, поэтому для приезжих остается только «Prepaid» (т.е. предоплатная система расчётов, которая как раз сильно развита у нас). Вариантов с препейдом в Финляндии три:
  1. DNA Dataprepaid, от оператора DNA. Даёт определенное количество трафика на 180 дней на скорости 21 мбит/с
  2. SaunalahtiPREPAID, от оператора Elisa. Безлимитка на скорости до 4 мбит/с с оплатой по дням или пакетами на несколько дней.
  3. Sonera Easy Prepaid безлимитка за 1.9€/сутки. Со скоростью не очень ясно.

Т.к. я езжу в Финляндию периодически и особые скорости мне не нужны, то меня заинтересовала Saunalahti.
Об этом тарифе и поговорим

Восстановление расфокусированных и смазанных изображений. Практика

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

В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →

Перевод официальной документации по Backbone.JS

Время на прочтение1 мин
Просмотры9.9K
Доброго времени суток!



В полку Open Source прибыло! Мы (@kulakowka, k12th, dhomich и я) рады представить вашему вниманию перевод официальной документации по Backbone.JS — каркасу для создания RIA приложений на JavaScript, автором которого является Jeremy Askenas — создатель CoffeeScript.
Читать дальше →

Онлайн-репетитор по Python

Время на прочтение1 мин
Просмотры24K
Для курса по программированию MIT разработан интерактивный инструмент Online Python Tutor, он в графическом виде показывает изменение стека и кучи на каждом шаге выполнения кода. Таким образом, онлайновый «наставник» как бы наглядно объясняет студенту работу программы.



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

Python sqlite3: Находим медленные запросы

Время на прочтение2 мин
Просмотры6.1K
Привет, коллеги!
При работе с базами данных sqlite передо мной возникла задача поиска медленных запросов и их логгирования.
Спросив всезнающий Google я к сожалению не обнаружил ни одного решения (плохо искал?).
Поэтому я хочу предложить свой вариант протоколирования.
UPD: Спасибо за подсказку, нативный вариант решения называется APSW

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

Красивые кнопки для Twitter Bootstrap

Время на прочтение1 мин
Просмотры12K
Классное расширение для фреймворка Twitter Bootstrap v2.0 — CSS-генератор кнопок. С помощью ползунков выбираете цвет, насыщенность, яркость и выпуклость кнопки.



Потом забираете CSS-код из соседнего окошка. И больше никогда не кодируйте цвет кнопок вручную!

P.S. Ещё один генератор кнопок: Button Maker, ну и вдобавок: CSS генератор градиентов.

Qt — статическая линковка библиотеки под Windows

Время на прочтение2 мин
Просмотры59K
Всем доброго времени суток, решил написать эту статью специально для тех кто хочет или еще захочет чтобы его программка написанная c помощью Qt под Windows работала даже там где о Qt и не слышали, на Хабре есть статья где данная проблема решается сопровождением нашего .exe библиотечками от skazkin. Сам очень долго искал решение этого вопроса, но практически везде об этом говорили говорили, но ничего действенного так и не получалось. В итоге собирая и анализируя все что приходило мне из разных источников, я наконец-то сделал это и если кому ещё интересно всех прошу под кат
Читать дальше →

Информация

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