Pull to refresh
34
0.1
ionicman @ionicman

User

Send message

2 млн точек на карте? легко!

Reading time3 min
Views15K
Не так давно для создания сервиса (да и «в загашник» положить модуль) потребовалось придумать способ как быстро из sql базы делать выборки точек расположенных на карте.
Кода будет мало, что бы не отвлекать от понимания системы в целом.



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

XNA Draw: улучшаем графику игры

Reading time6 min
Views23K


Всем привет.

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

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



Если интересно — под хабракат.
Читать дальше →

Отправка бесплатного sms сообщения в linux

Reading time3 min
Views43K
UPD: Рыская на просторах интернета набрел на новый более простой способ, без танцев с питоном( а можно и с ним если необходимо).
Оказалось что сайт sms.ru уже более полугода предоставляет Бесплатные СМС для программистов.image

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

После регистрации можно отправлять до 60смс в день на свой номер, указанный при регистрации. Уже почти месяц как перевел все свои сервисы с гугла на данный сервис. Радует отсутствие минутной задержки перед отправкой и возможность получения статуса сообщения.

Отправить можно разными способами, на сайте, в разделе «Программистам» есть множество готовых примеров:

  • HTTP
  • curl для командной строки (UTF-8)
  • php (с включенным модулем curl)
  • php (без curl)
  • php (усиленная авторизация)
  • PERL (усиленная авторизация)
  • Python

Самый простой способ это открыть страницу:

sms.ru/sms/send?api_id=xxxx-xxxx-xxxxx-xxxx-xxxx&to=номер_телефона&text=hello+world
,где - xxxx-xxxx-xxxxx-xxxx-xxxx это id доступный после регистрации.

Так же есть возможность пересылки email на смс. В разделе «Почта sms.ru» можно настроить свой почтовый ящик name sms.ru письма на который будут пересылаться на телефон в виде смс. При включенной опции «обрезать до 1смс» все сообщения на свой номер будут бесплатны.



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

Верстаем PDF для Kindle

Reading time2 min
Views46K
Доброе время суток, Хабр!

Недавно, я приобрел Kindle 4 и обнаружил, что читать на нем pdf не очень удобно из-за того, что шрифт слишком мелкий. Как говорится если нельза, но очень хочется, то можно!

Для экспериментов я создал тестовую pdf страничку, с помощью которой, подбирал различные параметры.

Замечание 1


Для того, что бы максимально использовать весь экран книги, я изменил размеры страницы и межстрочный интервал:
\usepackage{geometry}
\geometry{left=0.2cm}
\geometry{right=0.2cm}
\geometry{top=0.5cm}
\geometry{bottom=1.25cm}

\linespread{0.95}


Версия 1.0. Оригинал


\documentclass[12pt, a4paper]{article}


image

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

Программируемый выключатель света с дистанционным управлением

Reading time3 min
Views98K
image
Продолжение ранее опубликованных статей, первая, вторая.
В этой статье речь пойдет о программируемом выключателе света с дистанционным управлением. Как и прошлых проектах для отладки и прототипирования, я использую Carduino Nano V.7
Читать дальше →

Триггеры — спасители

Reading time5 min
Views103K
Уже много статей в интернете есть про sql триггеры, но добавлю еще одну с адекватными примерами, что бы закрепить материал для тех, кто «в теме» и что бы лучше понять материал тем, кто только начал постигать «дзен sql». Заодно и создам дискуссию по теме.

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

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

Обзор беспроводного 3G-роутера Huawei E560

Reading time7 min
Views23K
Доброго времени суток, друзья!

Волна всеобщей интернетизации страны и мира, к сожалению, обходит стороной старые деревенские домики, в которые раньше не был проведен даже проводной телефон. Один из таких домиков есть и у меня (точнее, у моих родителей). Единственным способом доступа в Интернет всегда был, есть и, вероятно, будет мобильный интернет. Сначала через телефон в качестве модема, а потом и через USB-модем Option iCon 225 (на официальном сайте Option его больше нет), купленный когда-то за 3 тыс. рублей в офисе Билайн. Словами я не смогу передать всего того счастья, которое испытал, увидев однажды, как мой старенький USB-модем поймал заветный 3G-сигнал. Скорость Интернета по сравнению с EDGE возросла в разы и с годами только увеличивалась. Сейчас 2-3 Мбит/с в недождливую и неветренную погоду — это обычное дело. Но вот беда — модем стал перегреваться и, как следствие, автоматически отключаться. Причем все чаще и чаще. Качество сигнала в нашей местности не самое лучшее, а потому модем работает на пределе возможностей. Надо отметить, что USB-модемы Option очень чувствительны. Там, где телефон Samsung или Nokia с трудом видит 2G сеть, модем этой компании ловит 3G-сигнал процентов на 25-40. Но за это, вероятно, приходится платить повышенной теплоотдачей.

С постоянным отключением я мириться не стал, и было решено заказать новый USB-модем. Конечно, хотелось, чтобы новый модем имел такую же превосходную чувствительность, как Option, но, имея опыт эксплуатации поставляемых в комплекте с операторскими SIM-картами для домашнего Интернета модемами компании Huawei, я пришел к выводу, что надо брать только Option.

Вот только моя решимость поубавилась, когда я узнал цены. Модемы Option стоили несоизмеримо дорого — 6-7 тыс. рублей без учета доставки в Россию. Официально в России, видимо, не продавались и не планировались к продаже. Тогда же я наткнулся на обсуждение беспроводных 3G-роутеров. Варианты роутеров с поддержкой внешних USB-модемов я сразу же отмел по причине наличия многостраничных тредов на форумах о совместимости/несовместимости того или иного модема с конкретным роутером. Покупка же роутера с встроенным модемом от своей любимой компании Option — GlobeSurfer III+ — стала для меня лишь мечтой. Дороговато — 9-11 тыс. рублей без учета доставки в Россию. Потому выбор пал на Huawei E560, как на компромиссный вариант.

Модемы Huawei не славятся качеством приема сигнала. В городе, конечно, все ок, но не за ним. Этот недостаток в какой-то мере должен был компенсироваться тем, что роутер можно поместить в любую точку дома и, следовательно, найти оптимальное место для приема.

В итоге решение было принято. Роутер был куплен тут за ок. 3,5 тыс. рублей включая доставку. Отмечу, что продавец отличный, — охотно отвечал на мои вопросы и надежно упаковал роутер. В общем, мне все понравилось. Планирую брать у него клавиатуру. Доставка роутера в город Батайск Ростовской области заняла ок. месяца обычной Почтой России. Девайс пришел пару недель назад в идеальном состоянии.
Под катом сам обзор и много кликабельных картинок

Как создать свой Color Picker на Javascript?

Reading time3 min
Views28K
Я знаю что в сети много подобных скриптов на разный вкус и цвет. Но мне захотелось написать свой с нуля и первое что я сделал полез в Гугл искать алгоритм создания(сolor picker). В итоге я был разочарован так как не нашел нечего кроме готовых скриптов, наверно поэтому после того как я разобрался и написал свой color picker, я решил поделится своим опытом в его написание.

Так как я пишу на чистом js без библиотек (не считая той которую я пишу сам:)) в данном посте будет только хардкор чистый javascript.
Что нужно знать что бы написать cp (сокращенно color picker):
  • Основы Drag'n'Drop
  • Немного разбираться в Canvas (на нем будет рисоваться шкала оттенков Hue)

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

Свежее сено от коровы, или 3000 иконок подано!

Reading time2 min
Views4.6K
После выпуска 2000 иконок FatCow прошло более года. Пошел четвертый год рисования. Страницу посетило 560,096 (288,511+235,221+36,364) посетителей. Чтобы дойти до 3500 иконок, работы хватит до февраля 2013 года. Если добавить размер 64x64, то до середины 2015-го года. Пока вложено $76778 и 2000 часов работы. Тут выложили 3000 иконок, за неделю до выпуска на официальном сайте, ибо владельцы коровы (Bluehost) заняты покупкой крокодила (HostGator).

image

Чтобы понять, какой набор иконок самый уникальный в мире, пришлось рассортировать 7422 иконок. Результат не подвел…

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

Драйвер — это просто

Reading time7 min
Views102K
Многие считают что самому создать драйвер для Windows это что-то на грани фантастики. Но на самом деле это не так. Конечно, разработка драйвера для какого-то навороченного девайса бывает не простой задачей. Но ведь тоже самое можно сказать про создание сложных программ или игр. В разработке простого драйвера нет ничего сложного и я попытаюсь на примерах это показать.
Читать дальше →

Однострочники на С++

Reading time2 min
Views62K
image
На хабе появилось несколько топиков об «однострочниках» на разных языках, которые решали простые задачи. Я решил опубликовать несколько алгоритмов на языке C/С++.
Итак, поехали!
Читать дальше →

JPEG сжатие картинки с альфа-каналом или SVG masks

Reading time5 min
Views11K
Привет, Хабр! Недавняя статья про сжатие в png-8 с сохранение полупрозрачности, напомнила мне об одной технике, которая позволяет применять на сайтах изображения с альфа-каналом, при этом используя алгоритм сжатия с потерями — JPEG, что позволяет существенно сократить их объём.
Читать дальше →

Пять полезных сервисов для социальной интеграции вашего сайта

Reading time2 min
Views16K
Все мы, программисты, любим писать велосипеды. Безусловно, занятие это интересное, помогает развиваться, но иногда есть резон воспользоваться чужими, уже проверенными временем решениями. Информацию о сервисах, добавляющих на ваш сайт немного социальности без какого либо программирования я и решил собрать в этой статье. О каких то наверняка слышали многие, какие то будут внове. Если хоть один человек отыщет в данном посте что-то новое — значит этот текст писался не зря!

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

Я не могу написать бинарный поиск

Reading time11 min
Views208K
Недавно (буквально два года назад) тут пробегала статья Только 10% программистов способны написать двоичный поиск. Двоичный поиск — это классический алгоритм поиска. Мало того, это еще чрезвычайно простой алгоритм, который можно очень легко описать: берем отсортированный массив, смотрим в середину, если не нашли там число, в зависимости от того, что в середине — ищем это число этим же методом либо в левой части, либо в правой, откидывая средний элемент. Для функций также, просто берем не массив, а функцию. Все очень и очень просто, алгоритм описан почти везде, все баги словлены и описаны.

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

А в чем, собственно, проблема?

Файервол для Linux с простым интерфейсом

Reading time4 min
Views22K
Файервол представляет из себя bash-скрипт, который интегрирует с помощью соответствующих пакетов следующие функции:
  1. Файервол внешний и внутренний (пакет iptables).
  2. Учёт трафика внешнего и внутреннего (пакет iptables).
  3. Прокси-сервер для локальных сетей (пакет Squid).
  4. Контент-фильтр для локальных сетей (пакет DansGuardian).
  5. DNS-сервер для локальных сетей (пакет BIND).

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

Ресурсы, которые помогают дизайнерам. Часть 2

Reading time2 min
Views12K
Привет, наверное многие читали мой пост Десяток ресурсов, которые помогают быть дизайнером. Как я понял эта тема интересная (147 плюсов как никак). А раз так, я решил не останавливаться на достигнутом и вот наконец-то закончил работу над своеобразным продолжением первой части. Надеюсь получилось не хуже. Итак, кому интересно, что получилось, прошу под кат.
Читать дальше →

ПИД-регулятор своими руками

Reading time17 min
Views287K

I. Постановка задачи


Нужно держать температуру на заданном неком уровне и менять задание. Есть микроконтроллер, к которому прицеплены измеритель температуры, и симистор для управления мощностью. Не будем греть голову на ТАУ, ни разностными схемами, просто возьмём и сделаем «в лоб» ПИД-регулятор.
Читать дальше →

Метаклассы в Python

Reading time10 min
Views205K
Как сказал один из пользователей StackOverflow, «using SO is like doing lookups with a hashtable instead of a linked list». Мы снова обращаемся к этому замечательному ресурсу, на котором попадаются чрезвычайно подробные и понятные ответы на самые различные вопросы.

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

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

Information

Rating
6,783-rd
Registered
Activity