Обновить
33
0.4
ionicman@ionicman

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

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

Канобувости, 64 выпуск

Время на прочтение1 мин
Охват и читатели8.8K


Здравствуйте, дорогие зрители! С вами Канобувости, которые сегодня прикидываются обычными. Но на самом деле они про ИгроМир 2010 (который проводится на ВВЦ между выставками кошек и креветок), — не зря же наши корреспонденты шныряли по нему всё это время! Ну, и про остальной мир мы, разумеется, тоже не забудем. Обо всём понемногу и, как водится, без лишней зауми

Смотрите в этом выпуске:
Ведьмак 2: Убийцы королей палка о шестнадцати концах
Shogun 2: Total War убей ребенка, спаси самурая
Might and Magic: Heroes VI меньше ресурсов, больше тактик

Регистрация своей фирмы собственными руками, туду-лист

Время на прочтение12 мин
Охват и читатели51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

Пишу эту статью, и представляю себе тебя, читателя Хабра, которой в обеденный перерыв залез почитать что-нибудь для развития. А этот читатель, т.е. ты (да, не отворачивай глаза от букв, именно ты) давно наслышан, что своё дело – это круто. И, может быть, как раз не хватало лёгкого пинка, чтобы выйти из зоны будничного комфорта и что-нибудь, да предпринять.

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.

Новая версия DriverPack Solution

Время на прочтение3 мин
Охват и читатели2.1K

Дорогие коллеги!


Мы рады сообщить о выходе новой версии программы для установки драйверов DriverPack Solution 10.6!

В процессе работы над новой версией мы выделили два направления: первое — улучшение самой программы, второе — развитие Web-сервисов (сайт: drp.su и сервис: devid.drp.su ).


Наша цель – собрать все драйвера в одном месте.
Читать дальше →

Как создаются платежные системы: часть первая

Время на прочтение5 мин
Охват и читатели19K
Летом 2009 года компания Mail.Ru объявила о запуске новой платежной системы, созданной силами собственных разработчиков (напомним, что до этого технологическую и сервисную поддержку проекта Деньги@Mail.Ru осуществляла платежная система «МаниМэйл»). Новый проект должен был, помимо всего прочего, предложить пользователям портала единый, удобный и безопасный механизм оплаты услуг различных сервисов компании — от развлекательных проектов (Игры, Приложения в Моем Мире) до проектов электронной коммерции (Товары, Недвижимость, Рассылки).
Как все начиналось и что в итоге получилось?

Разница в подходах анализа кода компилятором и выделенным инструментом

Время на прочтение8 мин
Охват и читатели16K
У компилятора и сторонних инструментов статического анализа кода есть общая задача — выявление опасных фрагментов кода. Однако существует существенная разница в том, анализ какого типа они осуществляют. Я попробую на примере компилятора Intel C++ и анализатора PVS-Studio продемонстрировать различия подходов, и пояснить, чем они вызваны.

В качестве испытуемого на этот раз выступит проект Notepad++ версии 5.8.2.

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

Использование макросов в MASM на примере создания окна

Время на прочтение6 мин
Охват и читатели12K
В далеком 2001-ом году я проводил много времени за изучением ассемблера под Win32. Тогда после долгих мучений с написанием одного и того же кода по сотне раз я взялся написать для себя небольшую библиотеку макросов. В итоге удалось достаточно серьезно облегчить себе судьбу и уменьшить необходимость повторять огромные полотенца кода, при необходимости написать простейшую программу с одним окном.

Недавно наткнулся на те проекты и решил выложить некоторые из них, может кому пригодится…

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

Вперед в будущее! Переход с ICQ на Jabber

Время на прочтение6 мин
Охват и читатели39K
*Преамбула*
В связи с глобальной тенденцией перехода умных людей на Jabber, и инертного сопротивления этому переходу людьми, привыкшими к ICQ, было принято решение написать качественную аргументированную статью, о том, почему же все таки стоит сменить средство общения.
Итак, статья:


Для многих из нас ICQ является синонимом слов «общение в интернете», мы используем его по делу и для развлечения, находим с его помощью новых друзей и поддерживаем связь со старыми. За годы использования этой программы накопились сотни контактов в списке и длиннющая история переписки. В общем, все вроде бы устраивает, и идея перейти на что-то новое сразу наталкивается на логичный вопрос: «А зачем? Мне и так неплохо».

Итак, Jabber — это не очередной ICQ-клиент. Это система онлайн-общения нового поколения.
Она пришла на смену устаревшим месенджерам, место которых уже давно на интернет-свалке.

jabber
Почему же общаться в Jabber лучше, чем в ICQ?

Пишем свой драйвер под Linux

Время на прочтение8 мин
Охват и читатели69K
image

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

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

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

Лазерное шоу, управляемое через LPT

Время на прочтение3 мин
Охват и читатели44K
image
Я раскажу Вам как можно сделать лазерное шоу управляемое через порт LPT. Используется самая простая схема подключения и самый простой способ управления.
Идеалистическое стремление данного проекта — достижение художественной ценности световых эффектов, возможное лишь при человеческом творчестве. Подразумевается, что игра света может рассматриваться и как самостоятельное произведение.
Читать дальше →

Микрозаметка: Итераторы/Генерация диапазонов дат, чисел и тд

Время на прочтение3 мин
Охват и читатели1.8K
Эта заметка навеяна топиком "подсчет количества событий календаря в каждом месяце года". В ней нет ничего нового, это просто микрозаметка о возможных решениях.
Хотя задача того топика очень типична и вполне спокойно решалась обычным проходом с case или if:
SELECT
sum(
 CASE
  when t.`start_date`<'2010-02-01' and t.end_date>'2010-01-01'   then 1
  else 0
 end
)
AS jan,
sum(
 CASE
  when t.`start_date`<'2010-03-01' and t.end_date>'2010-02-01'   then 1
  else 0
 end
)
AS feb,
...
FROM test t


Но я счел нужным написать о некоторых возможностях избежать излишнюю ручную работу. Например, если нам необходимо бы было агрегировать не за год и не за два, а, скажем, за последние 5 лет помесячно. Согласитесь, в таком случае 60 строк c if'ами было бы как минимум тяжело читать.
Читать дальше →

Канобувости, 61 выпуск

Время на прочтение1 мин
Охват и читатели8.2K


Здравствуйте, уважаемые Канобувости… то есть, зрители! На днях, как мы и обещали, произошёл анонс DotA 2. От него есть только четыре картинки и много слов. Если суммировать всё сказанное разработчиками, это будет совершенно та же игра, только на движке Source. Тогда лучше б уж геймплей показали, злодеи!

В свежем выпуске:

Killzone 3 — трудный путь к бете
Crysis 2 — ещё более трудный путь к бете
Assassin's Creed: Brotherhood — новые трюки в рукавах Эцио
Starcraft 2 — новые коварства студии Blizzard
Xbox Live — нашествие на Россию

UPD: Прямая ссылка на FullHD-версию.

Преобразование даты в международный формат(UTC). Шаблон для версий XSLT от 1.0

Время на прочтение17 мин
Охват и читатели16K
Потребовалось переводить дату в xml файлах из московского времени в международное. Изначально проблема решалась вставкой Java скрипа, но потребовалось сделать используя только встроенные возможности XSLT 1.0.
Сразу предупреждаю комментирующих, версия XSLT 2.0, где есть тип данных Дата, не годится, требуется реализация именно в 1.0.

Скачать пример, шаблон, результат и парсер можно здесь.

Итак, шаги решения задачи:
  • Разбиение исходной даты в нашем формате на составляющие.
  • Определение смещения часового пояса относительно UTC учитывая переход на зимнее/летнее время, для москва летом смещение -4, зимой -3. Переход на летнее время происходит в два часа ночи последнего воскресенья марта, переход на зимнее время в три часа ночи последнего воскресенья октября.
  • Перевод всех частей даты в UTC время
  • Сбор даты в UTC формате.


Подзадачи:
  • Поиск дня недели, используется формула Зеллера
  • Поиск количества дней в месяце
  • Проверка года на високосность


Исходный шаблон даты:
DD.MM.YYYY hh:mm:ss
Подправить XSL под ваш формат можно без проблем, достаточно изменить последовательность разрезания и указать разделители.

Формат UTC даты:
YYYY-MM-DD hh:mm:ss
Подправляется еще проще, при сборе конечной строки.

Если требуется другие значения смещения часового пояса, достаточно исправить их в функции MoscowOffsetTime.

Использование шаблона:
<xsl:call-template name="GetTime">
  <xsl:with-param name="time" select="10.15.2010 14:10:17"></xsl:with-param>
</xsl:call-template>


* This source code was highlighted with Source Code Highlighter.


Посмотреть шаблон

История создания Javascript

Время на прочтение1 мин
Охват и читатели24K
Brendan Eich (создатель языка JavaScript) между делом пишет о том, как язык создавался, и почему он такой, какой есть.

JS был обязан «выглядеть как Java», только поменьше, быть эдаким младшим братом-тупицей для Java. Кроме того, он должен был быть написан за 10 дней, а иначе мы бы имели что-то похуже JS.

что-то вроде PHP, только еще хуже. Его босс Netcsape быстро «зарубил» (в июле 1995, если мне не изменяет память; я сдлелал JS в начале/середине мая), т.к. это был уже третий язык после Java и JS. Было и так трудно обосновать то, что у нас 2 новых языка программирования для web.


В то время мы должны были двигаться очень быстро, т.к. знали, что Microsoft идет за нами.


Считайте, что JavaScript (пожалуйста, только не «JScript») спас вас от VBScript.


10 дней на то, чтобы сделать лексер, парсер, компилятор в байткод (bytecode emitter), интерпретатор, встроенные классы и декомпилятор. Помощь была только с файлом jsdate.c — от Ken Smith из Netscape (который, по нашему излишне оптимистичному соглашению, склонировал java.util.Date — Y2K баги и т.д. Гослинг...).

Простите, времени было мало для того, чтобы сделать правильную оптимизацию хвостовой рекурсии. 10 дней почти без сна, чтобы сделать JS с чистого листа, заставить его «выглядеть как Java» (я сделал, чтобы он выглядел как C), и тайком протащить туда его спасительные фишки: first class functions (замыкания сделал позже, но они были частью плана сразу) и прототипы (примерно как в языке Self).

I'll do better in the next life.

Грабли при верстке HTML писем

Время на прочтение3 мин
Охват и читатели105K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →

Как я делал USB устройство

Время на прочтение2 мин
Охват и читатели8.6K
Где-то когда-то я читал, что создатели первой спецификации USB намеревались сделать этот стандарт простым для реализации в железе за счет усложнения программного обеспечения. Таким образом цель была максимально удешевить производство и сделать USB устройства очень доступными. Сейчас можно сказать, что чипмейкерам это удалось, но так ли уж прост для реализации в железе этот стандарт? Боюсь, что ответ не очевиден.



Предположим мне нужно сделать свое простое USB устройство. Какие у меня есть варианты?
Читать дальше →

Целебное зелье для IE5+ или IE7.js

Время на прочтение2 мин
Охват и читатели7.1K
Разбирая код очередного проекта внутри тега head наткнулся на интересный код:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]-->

Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
Читать дальше →

Алгоритм роя частиц

Время на прочтение8 мин
Охват и читатели69K

Введение


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


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

Канобувости, 60 выпуск

Время на прочтение1 мин
Охват и читатели8.1K


Привет всем, кто устроился поудобнее и готов запустить свежие Канобувости. Для вас – ну и ваших соседей (если вы не в наушниках) мы подготовили шестидесятый выпуск еженедельных игровых новостей. В этом выпуске:

Jungle — новая консоль или старый нетбук?
The Ball – божественный шар
Gears of War 3 – шестеренки простаивают
DeathSpank – сбудется персональная мечта
Assassin’s Creed: Brotherhood – обнаружена профессиональная болезнь

extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)

Время на прочтение4 мин
Охват и читатели21K
Хочу Вам рассказать о штуке, которую я изобрел сегодня, чтобы ускорить процесс загрузки сайтов. Все вы знаете, что <script src="..."></script> задерживает отрисовку страницы, пока не загрузится этот скрипт. Если их десятки — это может сереьезно замедлить работу сайта — в результате пользователь 20 секунд пялится на пустую (или недорисованную) страницу из-за какого-нибудь тупящего социального виджета (умножить на десяток этих виджетов).

Не правда ли было бы круто, если бы можно было сказать <script extsrc="..."></script> ("extsrc" = "грузи потом"), чтобы скрипты загружались после того как страница отрисована?

Все бы хорошо, но есть document.write… Сегодня я наконец решил его проблему — представляю extsrc.js — скрипт, который запустит все скрипты после отрисовки страницы (даже если они содержат document.write — и правильно отрисуется все).

Результат? Супер-быстрая загрузка страниц, даже если там море всяких внешних скриптов.

Использование:

Заменяем <script src="..."> на <script extsrc="...">.

Итого получается:

<script src="http://whiteposts.com/extsrc_js/extsrc.js"></script>
<script extsrc="..."></script>

все остальное под катом

Внедрение Flash с помощью SWFObject 2

Время на прочтение16 мин
Охват и читатели48K
Вопрос о внедрении Flash с помощью разметки соответствующей стандартам возникает достаточно часто, между тем у этой проблемы есть достаточно известное решение — SWFObject. SWFObject 2 не только позволяет внедрять Flash динамически, с помощью JavaScript, но и статически, когда для внедрения используется стандартная разметка, а JavaScript только исправляет неразрешимые с помощью разметки проблемы, при этом даже если JavaScript отключен пользователи все равно увидят Flash.
Читать дальше →

Информация

В рейтинге
2 248-й
Зарегистрирован
Активность