Павел Попов @schmooser
User
Покупка в Apple Store с доставкой в Россию
7 min
126KДля чего я пишу этот пост?
На многих форумах не устают задавать одни и те же вопросы, суть которых сводится к одному — “Где и как дешевле купить определенный девайс?”. Некоторые, осознав, что лучший способ это заказать заграницей и в этом нет ничего сложного, решаются на покупку в иностранном интернет магазине, но получают не совсем то, что ожидали, например, недавний пост «Так ли выгодно делать покупки за рубежом (на примере ebaytoday.ru)».
Особенно ярко это проявляется при покупке техники Apple, так как официально техника, если и поставляется, то с большой задержкой и в большинстве случаев по заоблачным ценам. Данная статья не сможет решить первую проблему в полной мере, так как Гонконг не является, так называемой “страной первой волны”, где в первую очередь появляются устройства от Apple, а вот метод борьбы со второй я и попытаюсь описать далее.
Итак, о чем же данный пост?
В данном посте я хочу описать весь процесс покупки техники на Apple Store HK через посредника(Shipito), начиная от основных моментов работы с shipito.com, заканчивая объединением нескольких посылок в одну и оплатой доставки в Россию. Описываемый способ может использоваться и для США, но, к сожалению, я не пробовал этого делать и, по некоторым отзывам, Apple Store US отказывается высылать на адреса Shipito, на этом моменте я постараюсь остановиться подробнее в заключении.
UPD: получил посылку, публикую Tracking #: CP839884595HK и пишу сроки внизу статьи.
+150
Краткое введение в SIM-карты
6 min
228KКогда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».
В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.
На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.
В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.
На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.
В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
+466
Красивые названия цветов или Королевский синий
1 min
29KВсе началось с того, что клиент, как бы между делом, написал: "Смените цвет иконки на Королевский синий." (на английском — Royal Blue) Сказать честно, для меня такая постановка задачи показалась необычной. Вот есть темно-синий, светло-синий и просто синий, но никакого королевского я не знаю. Пришлось искать.
Оказалось, что уже многие века существует целый список названий цветов и оттенков. Причем, некоторые названия весьма забавные:
Почему бы не использовать активнее эти названия в профессиональном лексиконе дизайнера? Не бездушные цифро-буквы вроде #C41E3A или R:196 G:30 B: 58, а красивые слова — цвет «Кардинал». Тогда речь дизайнера будет звучать как стихи. Например: "Я считаю, что сочетание текста цвета Светлая Вишня и фона цвета Шартрез делают композицию очень необычной. Если добавить нефритовых пятен в качестве акцентов, то вообще будет опупенно."
Оказалось, что уже многие века существует целый список названий цветов и оттенков. Причем, некоторые названия весьма забавные:
Почему бы не использовать активнее эти названия в профессиональном лексиконе дизайнера? Не бездушные цифро-буквы вроде #C41E3A или R:196 G:30 B: 58, а красивые слова — цвет «Кардинал». Тогда речь дизайнера будет звучать как стихи. Например: "Я считаю, что сочетание текста цвета Светлая Вишня и фона цвета Шартрез делают композицию очень необычной. Если добавить нефритовых пятен в качестве акцентов, то вообще будет опупенно."
+110
Как наши суды исполняют закон? Проверим экспериментально…
2 min
7771 июля 2010 года в силу вступил федеральный закон «Об обеспечении доступа к информации о деятельности судов в Российской Федерации». Он расширил обязанности судов по раскрытию информации: теперь все свои решения, за некоторыми исключениями, они обязаны публиковать в Интернет. Кроме того, граждане могут запрашивать у судов информацию об их деятельности и изучать дела, хранящиеся в судебных архивах.
Однако, на практике наши суды очень неожиданно подошли к исполнению этого закона: они его просто игнорируют.
Однако, на практике наши суды очень неожиданно подошли к исполнению этого закона: они его просто игнорируют.
+98
+223
Раздуваем таблицы и пожираем tablespaces
4 min
16KДоброго времени суток!
В интернете вообще и на Хабре в частности немало публикаций о ремонте битых блоков. Например, здесь о выдергивании неповрежденных данных, а тут история победы над битым LOB сегментом.
Приводить легионы ссылок на инет с подобными статьями не буду. Но есть в большинстве этих статей общая черта. Когда данные спасены (или уничтожены, как получится), предлагается победить поврежденный free block захватом всего свободного места в tablespace. И почему то это предложение описательно.
Так добавим конкретики!
+8
Java Stored Procedure в субд Oracle на примере формирования PDF-файла
4 min
19KВсем доброго времени суток!
Недавно имел опыт создания функций (хранимых процедур) на языке Java в СУБД Oracle (Java Stored Procedures). Постараюсь описать шаги по созданию таких функций, расмотрев пример работы с pdf-файлом.
Вот, что для этого потребуется:
Недавно имел опыт создания функций (хранимых процедур) на языке Java в СУБД Oracle (Java Stored Procedures). Постараюсь описать шаги по созданию таких функций, расмотрев пример работы с pdf-файлом.
Вот, что для этого потребуется:
- СУБД Oracle (в моем случае версии 10)
- библиотеки iText (версия 1.4.8)
- Java-код, реализующий требуемые функции
+6
Сети для самых маленьких. Часть восьмая. BGP и IP SLA
43 min
654K
Все выпуски
8. Сети для самых маленьких. Часть восьмая. BGP и IP SLA
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
До сих пор мы варились в собственном соку – VLAN’ы, статические маршруты, OSPF. Плавно росли над собой из зелёных студентов в крепких инженеров.
Теперь отставим в сторону эти игрушки, пришло время BGP.
Сегодня мы
- Разбираемся с протоколом BGP: виды, атрибуты, принципы работы, настройка
- Подключаемся к провайдеру по BGP
- Организуем резервирование и распределение нагрузки между несколькими линками
- Рассмотрим вариант резервирования без использования BGP – IP SLA
+98
Релиз гема TheSortableTree 2.0
3 min
3.7KПриветствую!
Рад сообщить, что в прошедшие выходные, после долгого затишья, состоялся релиз моей небольшой, но смею надеяться, полезной поделки — гема TheSortableTree (rails 3, rails 4).
TheSortableTree — это гем, который помогает организовать отрисовку Nested Set деревьев. Но самое главное то, что он позволяет легко и просто управлять вашим Nested Set деревом с помощью удобного перетаскивания элементов в нужное место.
В текущей версии гема решена самая главная проблема — скорость отрисовки. Раньше она была чудовищно медленной. Сейчас (в среднем) можно получить скорость отрисовки 1500-2000 узлов в секунду. Я считаю эту скорость приемлемой и достаточной для большинства прикладных нужд.
Ниже (если вам интересно) немного истории создания гема, благодарности, планы, и рассказ о том, как на open source проекты влияет распитие крепкого черного чая вечером после работы.
P.S:
Anonym, возможно, ты будешь удивлен, но в этом релизе гема самую большую роль я отвожу тебе, хотя, я тебя практически не знаю и, возможно, ты никогда не программировал на ruby.
Рад сообщить, что в прошедшие выходные, после долгого затишья, состоялся релиз моей небольшой, но смею надеяться, полезной поделки — гема TheSortableTree (rails 3, rails 4).
TheSortableTree — это гем, который помогает организовать отрисовку Nested Set деревьев. Но самое главное то, что он позволяет легко и просто управлять вашим Nested Set деревом с помощью удобного перетаскивания элементов в нужное место.
В текущей версии гема решена самая главная проблема — скорость отрисовки. Раньше она была чудовищно медленной. Сейчас (в среднем) можно получить скорость отрисовки 1500-2000 узлов в секунду. Я считаю эту скорость приемлемой и достаточной для большинства прикладных нужд.
Ниже (если вам интересно) немного истории создания гема, благодарности, планы, и рассказ о том, как на open source проекты влияет распитие крепкого черного чая вечером после работы.
P.S:
Anonym, возможно, ты будешь удивлен, но в этом релизе гема самую большую роль я отвожу тебе, хотя, я тебя практически не знаю и, возможно, ты никогда не программировал на ruby.
+14
Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL
6 min
200KВ одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД
+93
Ленивые вычисления
8 min
17KОдной из «визитных карточек» Хаскеля являются отложенные, или ленивые, вычисления. Эта особенность языка не только открывает множество возможностей, но и создаёт некоторые проблемы, особенно со скоростью работы программ.
В этой статье я постараюсь объяснить: что такое ленивые вычисления, для чего они могут применяться и как избежать потери производительности при их использовании.
В этой статье я постараюсь объяснить: что такое ленивые вычисления, для чего они могут применяться и как избежать потери производительности при их использовании.
+34
sjFilemanager — Reloaded. AJAX + PHP файловый менеджер версия 1.0 бета
4 min
7KМного воды утекло с тех пор когда я сел за написания своего файлового менеджера. В то время поддержка ИЕ6 считалась обычным делом, а про фичи HTML5 можно было только мечтать. В общем вот ссылка на версию 0.1.0 альфа. В конце первого топика, я написал, что планирую сделать в будущем, можно сказать я сдержал свое обещание и хочу представить Вам версию 1.0b. Из того, что планировалось, была отброшена идея внедрения авторизации в менеджер, потому что, как говорили здесь, это пятое колесо. Рассмотрим, что изменилось и что улучшилось, но для начала скрин
+54
Некоторые примеры нестандартных возможностей синтаксиса Oracle SQL
5 min
45KВведение
Примерно полтора года назад я сдал экзамены на OCP Advanced PL/SQL Developer, далее специфика работы несколько изменилась, и после стандартного производственного использования Oracle я занимался разработкой архитектуры двухуровневой клиент-серверной системы на основе Oracle для нужд компьютерной лингвистики. Далее был этап развития системы и решения наукоемких задач на ее основе, пришлось заниматься использованием иерархических запросов в решении нестандартных задач и другими специфическими вещами. Результатом углубления в специфику стало некоторое «проседание» базы, а значит, наступило время снова просмотреть материалы, использовавшиеся для подготовки к экзаменам.
Ниже будет приведено несколько нестандартных примеров использования sql-запросов. Такие примеры обычно приходят на ум во время просмотра конспекта, проверяются, обсуждаются с другими специалистами и забываются. В этот раз мне захотелось сохранить некоторые из них в sql-файле, позже стала понятна необходимость в комментариях к каждому запросу. Так и появилась эта заметка.
+26
Заметка про NULL
10 min
187KВсем привет!
Долго думал, что бы написать полезного про Оракл, перепробовал кучу тем. Каждый раз получалось слишком длинно, потому что уносило глубоко в дебри. Поэтому решил начать с максимально простой темы, чтобы оценить интерес аудитории и её отношение к моему стилю изложения материала (имхо, писатель из меня не очень). Несколько замечаний:
Основная особенность NULLа заключается в том, что он не равен ничему, даже другому NULLу. С ним нельзя сравнить какое-либо значение с помощью любых операторов:
Долго думал, что бы написать полезного про Оракл, перепробовал кучу тем. Каждый раз получалось слишком длинно, потому что уносило глубоко в дебри. Поэтому решил начать с максимально простой темы, чтобы оценить интерес аудитории и её отношение к моему стилю изложения материала (имхо, писатель из меня не очень). Несколько замечаний:
- заметка относится к СУБД Oracle, но большинство написанного касается и других СУБД;
- не получилось симпатично оформть код: тег source lang=«sql» подсвечивает слишком мало, как сделать по другому не в курсе. Если кто покажет, быстро всё приведу в более читабельный вид.
Основные положения
Специальное значение NULL означает отсутствие данных, констатацию того факта, что значение неизвестно. По умолчанию это значение могут принимать столбцы и переменные любых типов, если только на них не наложено ограничениеNOT NULL
. Также, СУБД автоматически добавляет ограничение NOT NULL
к столбцам, включенным в первичный ключ таблицы.Основная особенность NULLа заключается в том, что он не равен ничему, даже другому NULLу. С ним нельзя сравнить какое-либо значение с помощью любых операторов:
=
, <
, >
, like
… Даже выражение NULL != NULL
не будет истинным, ведь нельзя однозначно сравнить одну неизвестность с другой. Кстати, ложным это выражение тоже не будет, потому что при вычислении условий Oracle не ограничивается состояниями ИСТИНА
и ЛОЖЬ
. Из-за наличия элемента неопределённости в виде NULLа существует ещё одно состояние — НЕИЗВЕСТНО
. +71
Верстка почтовых рассылок
6 min
71KTutorial
Привет, Хабр!
В этой статье я бы хотел поделиться своими познаниями в кроссбраузерной и кроссмейлерной верстке почтовых рассылок. Под словом кроссмейлерность подразумевается — корректное отображение верстки во всех почтовых клиентах. Я считаю, что статья вполне актуальна, в виду того, что на хабре эта тема несколько раз освещалась, но некоторые нюансы были неточными, а другие просто устарели. По долгу службы я долгое время занимался версткой html расылок по всему миру, и приведенные ниже правила будут касаться следующих почтовых клиентов и веб-интерфейсов: MS Outlook 2003-2010, mail.ru, rabmler почта, Яндекс почта, Gmail, Yahoo! Mail (Classic), Thunderbird 2.0-3.0, Hotmail, Windows Live Mail, Apple Mail 3-4, AOL Mail, Lotus Notes 8-8.5.
В этой статье я бы хотел поделиться своими познаниями в кроссбраузерной и кроссмейлерной верстке почтовых рассылок. Под словом кроссмейлерность подразумевается — корректное отображение верстки во всех почтовых клиентах. Я считаю, что статья вполне актуальна, в виду того, что на хабре эта тема несколько раз освещалась, но некоторые нюансы были неточными, а другие просто устарели. По долгу службы я долгое время занимался версткой html расылок по всему миру, и приведенные ниже правила будут касаться следующих почтовых клиентов и веб-интерфейсов: MS Outlook 2003-2010, mail.ru, rabmler почта, Яндекс почта, Gmail, Yahoo! Mail (Classic), Thunderbird 2.0-3.0, Hotmail, Windows Live Mail, Apple Mail 3-4, AOL Mail, Lotus Notes 8-8.5.
+142
NumPy, пособие для новичков. Часть 1
19 min
243KTranslation
NumPy — это расширение языка Python, добавляющее поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых математических функций для операций с этими массивами.
Первая часть учебника рассказывает об основах работы с NumPy: создании массивов, их атрибутах, базовых операциях, поэлементном применении функций, индексах, срезах, итерировании. Рассматриваются различные манипуляции с преобразованием формы массива, объединение массивов из нескольких и наоборот — разбиение одного на несколько более мелких. В конце мы обсудим поверхностное и глубокое копирование.
Первая часть учебника рассказывает об основах работы с NumPy: создании массивов, их атрибутах, базовых операциях, поэлементном применении функций, индексах, срезах, итерировании. Рассматриваются различные манипуляции с преобразованием формы массива, объединение массивов из нескольких и наоборот — разбиение одного на несколько более мелких. В конце мы обсудим поверхностное и глубокое копирование.
+61
Еще раз про Oracle standby
13 min
165KПредставим себе ситуацию, когда наш проект, использующий в качестве СУБД Oracle, неожиданно (или с надеждой ожидаемо) стал критически важным для бизнеса (соответственно, появилась готовность выделять средства на обеспечение надежности системы).
До этого момента мы вполне обходились ежедневным или даже еженедельным бэкапом («горячим» или «холодным» копированием, а может и просто экспортом данных) и нас устраивало время восстановления системы порядка суток (будем считать, что данных у нас на пару терабайт).
И вот оказалось, что на восстановление системы нам отводится не более часа, и никакие данные нам терять нельзя.
Итак, все указывает на то, что нам придется поднимать standby сервер.
В принципе, большая часть из того, о чем говорится в этой статье, описано в «Oracle Data Guard Concepts and Administartion», а также в куче мест на просторах Сети, но, по большей части, это инструкции, содержащие последовательность команд, без особого описания их смысла и, главное, без рекомендаций, что делать, если что-то идет не так.
Я постараюсь описать процесс развертывания физической standby базы максимально подробно с указанием тех грабель на которые когда-либо натыкался.
Указание на случайно не обнаруженные мной проблемы, а также любые уточнения и дополнения всячески приветствуются.
До этого момента мы вполне обходились ежедневным или даже еженедельным бэкапом («горячим» или «холодным» копированием, а может и просто экспортом данных) и нас устраивало время восстановления системы порядка суток (будем считать, что данных у нас на пару терабайт).
И вот оказалось, что на восстановление системы нам отводится не более часа, и никакие данные нам терять нельзя.
Итак, все указывает на то, что нам придется поднимать standby сервер.
В принципе, большая часть из того, о чем говорится в этой статье, описано в «Oracle Data Guard Concepts and Administartion», а также в куче мест на просторах Сети, но, по большей части, это инструкции, содержащие последовательность команд, без особого описания их смысла и, главное, без рекомендаций, что делать, если что-то идет не так.
Я постараюсь описать процесс развертывания физической standby базы максимально подробно с указанием тех грабель на которые когда-либо натыкался.
Указание на случайно не обнаруженные мной проблемы, а также любые уточнения и дополнения всячески приветствуются.
+26
Лучшие шрифты для программирования
4 min
247KTranslation
Статья написана в 2009 году, и с тех пор многое изменилось, в том числе появились некоторые альтернативные шрифты для программирования, например, Anonymous Pro.
Как разработчик и настоящий гик в области типографики, если речь идёт о шрифте, на который придётся глазеть целый день, то я буду выбирать очень тщательно. Когда я недавно заметил, что мой друг использует довольно невзрачный шрифт для консоли и в редакторе кода (он слишком ужасен, чтобы здесь упоминать), то у меня отвисла челюсть, а сердце на секунду перестало биться, и я понял, что мне пришло время написать эту статью.
Я выкладываю список из десяти моноширинных шрифтов, готовых к использованию. Некоторые из них идут в комплекте с современными операционными системами, но большинство можно бесплатно скачать из интернета. Отдельные, в том числе Consolas, являются частью коммерческого ПО.
Как разработчик и настоящий гик в области типографики, если речь идёт о шрифте, на который придётся глазеть целый день, то я буду выбирать очень тщательно. Когда я недавно заметил, что мой друг использует довольно невзрачный шрифт для консоли и в редакторе кода (он слишком ужасен, чтобы здесь упоминать), то у меня отвисла челюсть, а сердце на секунду перестало биться, и я понял, что мне пришло время написать эту статью.
Я выкладываю список из десяти моноширинных шрифтов, готовых к использованию. Некоторые из них идут в комплекте с современными операционными системами, но большинство можно бесплатно скачать из интернета. Отдельные, в том числе Consolas, являются частью коммерческого ПО.
+144
Vim magic — Регистры
4 min
16KПро регистры в Vim уже писали в предыдущих постах, но я решил собрать инфу воедино и немного дополнить. Прочитав эту статью, вы станете настоящими мастерами копи-пастинга (в хорошем смысле этого слова) :)
Сложно представить себе работу в редакторе без использования операций скопировать/вырезать/вставить. Vim предоставляет очень мощные средства, для этого. Итак, регистры — это то, куда Vim складывает те куски текста, которые вы копируете с помощью y или удаляете с помощью c или d, но не только. Есть ещё несколько специальных регистров, куда Vim помещает, например, текст, который вы искали с помощью / или текст, который вы drag-n-dropнули в окно редактора. Чтобы указать, что вы хотите скопировать или удалить текст в определенный регистр, нужно указать его имя перед командой. Например, «ayy скопирует строку целиком в регистр »a. Но не во все регистры можно писать, некоторые из них только для чтения (и даже есть один только для записи).
Ещё немного особой, Vimовской магии, связанной с регистрами, для затравки, чтобы было не лень дочитать до конца:
— Vim хранит небольшую историю удалений, так что вы можете вставить удалённый ранее текст, даже если после этого вы удаляли или копировали другой текст.
— Vim предоставляет вам 26 именованных «буфера обмена», в которые можно надолго складывать текст и он не будет потерян при операциях копирования или удаления.
— Vim может копировать или удалять текст, не затирая содержимое регистра, а дополняя его.
Сложно представить себе работу в редакторе без использования операций скопировать/вырезать/вставить. Vim предоставляет очень мощные средства, для этого. Итак, регистры — это то, куда Vim складывает те куски текста, которые вы копируете с помощью y или удаляете с помощью c или d, но не только. Есть ещё несколько специальных регистров, куда Vim помещает, например, текст, который вы искали с помощью / или текст, который вы drag-n-dropнули в окно редактора. Чтобы указать, что вы хотите скопировать или удалить текст в определенный регистр, нужно указать его имя перед командой. Например, «ayy скопирует строку целиком в регистр »a. Но не во все регистры можно писать, некоторые из них только для чтения (и даже есть один только для записи).
Ещё немного особой, Vimовской магии, связанной с регистрами, для затравки, чтобы было не лень дочитать до конца:
— Vim хранит небольшую историю удалений, так что вы можете вставить удалённый ранее текст, даже если после этого вы удаляли или копировали другой текст.
— Vim предоставляет вам 26 именованных «буфера обмена», в которые можно надолго складывать текст и он не будет потерян при операциях копирования или удаления.
— Vim может копировать или удалять текст, не затирая содержимое регистра, а дополняя его.
+1
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity