Как стать автором
Обновить
9
0

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

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

Кто придумал электронную сигарету: ретроспективная заметка с восстановлением исторической справедливости

Время на прочтение6 мин
Количество просмотров39K
Прежде, чем я скажу несколько слов, я должен напомнить, что курение наносит непоправимый вред вашему здоровью и здоровью окружающих и ведет к необратимым последствия!

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


Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии123

Ликбез: почему дома интернет по Wi-Fi тормозит

Время на прочтение5 мин
Количество просмотров285K


Классическая схема включения услуг Интернет в многоквартирном жилом доме выглядит следующим образом: ТКД (точка коллективного доступа) — витая пара — роутер в квартире клиента, к которому подключены клиентские устройства по проводу и по Wi-Fi.

Характерные жалобы абонентов – скорость ниже тарифа, и возникают регулярные «замирания» при работе в интернете, что выражается долгим открыванием страниц в браузере, прерываниями видео, потерей связи с игровыми серверами и т.д. Данное поведение носит нерегулярный характер, а наиболее часто возникает в часы наибольшей пользовательской активности примерно с 18:00 до 23:00 в зависимости от города.

Есть несколько простых шагов, которые позволят определить возможную причину подобных проблем и решить 90% пользовательских ситуаций. Они ниже.
Читать дальше →
Всего голосов 87: ↑54 и ↓33+21
Комментарии164

Размышления о стандартной библиотеке JavaScript. Core.js

Время на прочтение64 мин
Количество просмотров104K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Всего голосов 87: ↑82 и ↓5+77
Комментарии40

Читать книги на английском и учить язык легче с помощью WordMemo

Время на прочтение3 мин
Количество просмотров109K
Я хочу рассказать о некоммерческом сервисе wordmemo.ru, а также о связанной с ним программе WordMemo для устройств с ОС Android. Наш сервис предназначен для людей, которые хотят читать англоязычные тексты (например, художественную литературу). Сам я отношусь к тем людям, которым легко прочитать небольшие фрагменты “технической литеатуры”, а абзац из классики — невозможно. В основе сервиса, который мне очень помогает в этом деле, лежит «читалка» с возможностью смотреть переводы слов, выписывать их значения, и — самое важное! — тренажёрами, позволяющими эффективно заучивать выписанные слова. К примеру, для каждого незнакомого слова сохраняются контексты, в которых оно встречалось.
Главная идея сервиса состоит в том, что учить слова лучше всего не взятыми по отдельности, как в словарях, а в составе реальных предложений. Что-то вроде англо-русского разговорника и учебника, который вы создаете сами!
Читать дальше →
Всего голосов 55: ↑40 и ↓15+25
Комментарии28

Ebay. Украина. О таможне и пересылках — 2012

Время на прочтение7 мин
Количество просмотров192K
Небольшое предисловие. В 2010 году на Хабре был опубликован пост Ebay. Украина. О таможне и пересылках, в котором aevdox рассказал о нюансах доставки товаров с Ebay применительно к Украине и, особенно, об украинских таможенных правилах. Прочитав этот пост, я почувствовал, что мне есть, что к нему добавить, и, не будучи хабражителем, написал письмо автору. Так там появился «Upd # 3».

Вчера вечером со мной неожиданно связался aevdox и сообщил, что, во-первых, ему пишут, что информация 2010 года устарела и было бы полезно привести статью в актуальное состояние, во-вторых, он готов стать моим хабрапапой. Таким образом и получился этот пост. Далее по тексту я предполагаю, что читатель уже знаком с первоначальным постом и воспринимает этот как его логичное продолжение.

А теперь к сути. С принятием в 2012 году нового Таможенного кодекса Украины (далее – ТК) и его вступлением в силу информация в статье «Ebay. Украина. О таможне и пересылках» сразу же безнадёжно устарела. Прежде всего потому, что новый кодекс отменил нормативно-правовые акты, на которые я ссылался в своём дополнении (Закон № 2681-III, Постановление Кабмина № 1652), и теперь эти отношения регулирует сам кодекс. Регулирует он их уже иначе. Я попытался разобраться с тем, что же изменилось для нас, простых покупателей с Ebay, и соответственно актуализировать информацию в статье.

Если вкратце – «жить стало легче, жить стало веселей».
Подробности далее
Всего голосов 154: ↑149 и ↓5+144
Комментарии97

Создание Warcraft (часть 2)

Время на прочтение10 мин
Количество просмотров77K
От переводчика

Вторая заметка о создании Warcraft от одного из создателей серии — Патрика Вайата. В первой части он обещал нам рассказать о многих интересных деталях и сдержал обещание. Правда рассказал о совсем других деталях, но они от этого еще интереснее.

Под хабракатом — о том, что именно, помимо любви к Dune 2 подтолкнуло на создание Warcraft; почему в Warcraft такая яркая графика; какие здания не попали в Warcraft 1; откуда растут ноги у героев в Warcraft III и еще несколько интересностей, включая заднюю обложку коробки первого издания и несколько скринов для того, чтобы пустить слезу ностальгии.

Традиционно буду рад замечаниям, исправлениям. И спасибо всем, кто писал по этому поводу в прошлый раз!

Читать дальше →
Всего голосов 107: ↑102 и ↓5+97
Комментарии30

Почувствуй себя марсоходом! Интерактивные панорамы Марса

Время на прочтение1 мин
Количество просмотров14K


Благодаря panoramas.dk у нас теперь есть возможность посмотреть снимки NASA, склеенные в панораму, которую можно крутить и зумить.

Сама панорама тут.

Если вдруг их сервак ляжет — под катом несколько фото.
Читать дальше →
Всего голосов 96: ↑90 и ↓6+84
Комментарии144

900 терабайт на 1 г бактерий

Время на прочтение2 мин
Количество просмотров7.3K
Группа исследователей из Китайского университета Гонконга нашла способ шифрования и хранения данных в бактериях. В 1 г живого материала помещается примерно 900 ТБ информации. Проект называется Bioencryption (см. презентацию), и создан он был для международного конкурса iGEM-2010 (International Genetically Engineered Machine).

Шифрование осуществляется методом перемешивания ДНК (DNA shuffle). Считывание информации из бактерий подтверждается контрольной суммой.

Для хранения данных, как и можно было предположить, используется четверичная система счисления, по количеству нуклеотидов (0 = A, 1 = T, 2 = C, 3 = G).
Читать дальше →
Всего голосов 130: ↑115 и ↓15+100
Комментарии214

Алгоритмы поиска путей на JavaScript

Время на прочтение1 мин
Количество просмотров32K


Поиск оптимального маршрута юнита к цели на неизвестной карте — одна из самых сложных задач при разработке игры. К счастью, существует некоторое количество алгоритмов, которые решают эту задачу. Есть и отличная библиотека PathFinding.js с поддержкой 11 таких алгоритмов.
Читать дальше →
Всего голосов 65: ↑47 и ↓18+29
Комментарии14

Authomatic: python библиотека для аутентификации и авторизации

Время на прочтение6 мин
Количество просмотров41K
imageПрактически любое веб-приложение предоставляет возможность авторизации пользователя с использованием учетной записи пользователя, в каком либо из известных социальных сервисов.

Магия авторизации происходит строго по протоколу OAuth 1.0а и OAuth 2.0 и значительно упрощает жизнь и владельцу веб-приложения и самому пользователю.

Остается сущая мелочь, реализовать нужный протокол применительно к конкретному веб-приложению. Регистрация и вход в веб сервис TheOnlyPage с использованием учетных записей Facebook, Google, LinkedIn и Microsoft Live работают благодаря python библиотеке Authomatic.

Согласно документации Authomatic обладает следующими замечательными особенностями:
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии7

Поляк построил музыкальный инструмент, спроектированный Леонардо да Винчи (+видео исполнения)

Время на прочтение1 мин
Количество просмотров175K


Эту новость сложно определить в какой-либо хаб, да и для Хабра она не совсем подходит, однако, новость заслуживает нашего с вами внимания. Все дело в том, что великий Леонардо да Винчи некогда спроектировал музыкальный инструмент, который мог бы стать интересным дополнением для инструментария классической музыки. Но инструмент не был построен ни при жизни великого мыслителя, ни, в течение очень долгого периода времени, после его смерти.

Читать дальше →
Всего голосов 132: ↑128 и ↓4+124
Комментарии78

Использование памяти в Python

Время на прочтение7 мин
Количество просмотров111K
image

Сколько памяти занимает 1 миллион целых чисел?


Меня часто донимали размышление о том, насколько эффективно Python использует память по сравнению с другими языками программирования. Например, сколько памяти нужно, чтобы работать с 1 миллионом целых чисел? А с тем же количеством строк произвольной длины?
Как оказалось, в Python есть возможность получить необходимую информацию прямо из интерактивной консоли, не обращаясь к исходному коду на C (хотя, для верности, мы туда все таки заглянем).
Удовлетворив любопытство, мы залезем внутрь типов данных и узнаем, на что именно расходуется память.
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии30

«Охота на тайл» — тайлящаяся текстура за 5 минут на базе фотографии (цикл: Работа с текстурами и изображениями)

Время на прочтение8 мин
Количество просмотров44K


Вступление


Чтобы уравновесить кислотно-щелочной баланс после моей предыдущей, скорей всего неудачной, с точки зрения зрительских симпатий, публикации и чтобы принести ресурсу больше пользы, чем вреда – я публикую новый туториал. В отличие от всех предыдущих уроков он будет короче и будет напоминать по длине вот эту статью. Скажу даже более, он будет ей вторить, словно подпевая вполголоса. Надеюсь нам удастся спеться и вместе мы выдадим слаженный дует. Там речь шла о блендинге тайлов – здесь же речь пойдет о самих тайлах. О создании тайлящейся текстуры на базе любой фотографии. Это базовые знания, еще базовей чем это может быть только изучение интерфейса пакета Photoshop. В случае если мой тенор будет фальшивить — гоните его долой.

Итак, главный вопрос сегодняшней ночи – как сделать качественную тайл-текстуру за 5 минут? Хороший вопрос я думаю, и на него вполне можно потратить 5-10 минут вашего времени. Возможно после этого для ваших собственных прототипов вы будете использовать оригинальные тайлы, созданные вашими руками, не тратя времени на поиск художника или текстурщика, который смог бы вам помочь. Заманчиво?

Первым делом находим удовлетворяющую вас фотографию из тех, что не имеет копирайта (как правило на полях или по центру изображения). Внимательно следите за этим, потому что игровая индустрия богата курьезными ситуациями и эта далеко не последняя из могущих произойти с вами. Хотя. Что может быть веселее забыть в пред-релизной версии текстурной даты текстуру от игры Unreal Tournament? И такое случалось. Правда я не видел на лицах людей улыбок и не слышал их радостного смеха.

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


Читать дальше →
Всего голосов 107: ↑95 и ↓12+83
Комментарии62

Организация кода в больших AngularJS и JavaScript приложениях

Время на прочтение5 мин
Количество просмотров40K
От переводчика: Думаю, что статьи по архитектуре приложения и организации кода наиболее важны на начальном этапе, т. к., в отличие от всего остального, основу приложения поменять очень трудно. [Оригинал статьи]

Многие разработчики изо всех сил стараются организовать кодовую базу приложения, как только оно вырастает в размерах. В последнее время наблюдал это и в ангуляр и в яваскрипт приложениях, но исторически такая проблема присуща любым технологиям, включая Яву и многие флекс-приложения, с которыми работал в прошлом.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии21

Смешивание текстур ландшафта

Время на прочтение3 мин
Количество просмотров91K


В данной статье я расскажу об алгоритме смешивания текстур, который позволяет привести внешний вид ландшафта ближе к естественному. Этот алгоритм легко может быть использован как в шейдерах 3D игр, так и в 2D играх.

Статья рассчитана на начинающих разработчиков игр.
Читать дальше →
Всего голосов 243: ↑237 и ↓6+231
Комментарии27

Советы Google по кодированию на языке Python. Часть первая: советы по программированию

Время на прочтение13 мин
Количество просмотров114K

Хай, Хабр!
Сегодня я хочу представить, дорогому хабрасообществу свой первый хабраперевод. Программировать на языке Python — подобно песне. Но еще лучше, когда Ваш код читаем и понятен, а значит чуть более поэтичен, чем обычно бывает производстве. У каждого свои правила и свои стереотипы относительно написания и оформления исходного кода, на каком бы языке он ни был написан. Множество копий сломано о щиты на форумах, но, как ни крути, нельзя не считаться с мнением авторитетных товарищей. Так что сейчас будет представлен перевод первой части стайл-гайда для языка Python от Google. Коснется он именно постулатов написания кода (вторая часть тоже скоро появится, а посвящена она будет форматированию исходного кода). Сразу предупреждаю: тут много (если не большая часть) прописных истин, которые все знают уже давно. Но я искренне надеюсь, что Вы сможете найти тут что-то новое или хотя бы вспомнить старое. Приступим под катом. И pdf тут как тут.
Читать дальше →
Всего голосов 122: ↑109 и ↓13+96
Комментарии58

Пишем модуль расширения для Питона на C

Время на прочтение9 мин
Количество просмотров27K
OMFG! — может воскликнуть читатель. Зачем писать что-то на С когда есть Python, и будет во многом прав. Однако, к счастьюсожалению наш зелёный друг не всесилен.
Итак...
Всего голосов 96: ↑93 и ↓3+90
Комментарии41

Canvas в GIF на Javascript

Время на прочтение9 мин
Количество просмотров24K

Расскажу об особенностях с которыми я столкнулся при сохранении изображения из canvas в GIF.
Тут будут рассмотрены готовые решения и мой собственный javascript код квантизации изображения (то есть уменьшение палитры до 256 цветов). Так же будут затронуты вопросы быстродействия некоторых javascript конструкций.
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии33

#MongoUA — Первая встреча сообщества разработчиков MongoDB в Украине (Киев 23.01)

Время на прочтение2 мин
Количество просмотров3.3K
23 января 2013 года будет создана первая в Украине MongoDB User Group. Мы хотим, чтобы больше людей изучили и полюбили более гибкую, масштабируемую, документо-ориентированную СУБД «MongoDB».

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

Первая встреча организована при поддержке внутреннего движение по свободному обмену знаниями Ciklum Practice Leaders, но это только начало.

UPD: для всех желающих организована прямая трансляция докладов на сайте сообщества http://mongoua.tk/
Вопросы докладчикам можно задавать с хеш-тегом #MongoUA

Что в этот раз?
Всего голосов 12: ↑11 и ↓1+10
Комментарии13

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность