Pull to refresh
8
0
Andrei Iatsuk @gltrinix

Hadoop

Send message

Bootstrap-wysiwyg: крошечный текстовый редактор

Reading time2 min
Views105K



Текстовый редактор bootstrap-wysiwyg — это всего 1.5 Кб в минифицированном и сжатом виде и чуть больше 6 Кб исходного кода, базовые функции редактирования на основе execCommand, drag-and-drop для вставки изображений, поддержка стандартных горячих клавиш и ничего лишнего. Редактор работает в современных браузерах (Chrome 26, Firefox 19, Safari 6) и на мобильных платформах (IOS 6 iPad/iPhone, Android 4.1.1 Chrome). Зависимости — jQuery, jQuery HotKeys и Bootstrap.
Читать дальше →

Nano: И всё-таки его придётся выучить [2]

Reading time2 min
Views200K
Продолжаем. Предыдущий топик (навигация по тексту): тут.

Сегодняшняя тема — работа с выделением, копирование и удаление кусков текста.

Для понимания принципов команд работы с текстом нужно сначала понять принцип выделения текста. Он осуществляется либо мышью, либо с клавиатуры. С клавиатуры выделение происходит так: сначала отмечается начало выделение: Alt-A или Ctrl-^. Далее следует навигация — и до момента выполнения действия над текстом в буффере, выделение сохраняется (обратите внимание, выделение сохраняется даже при вводе текста, в этом оно сильно отличается от выделения в gui-приложениях windows и ближе к persistent blocks в TurboC, DN и соответствующей опции Far Manager'а).

Обратите внимание, применимы все функции навигации, включая переход по номеру строки или поиск (в следующих выпусках).

Далее выделенный текст можно удалить или скопировать в буффер. Это делает комбинация Ctrl-K (или F9).

Выделенный текст можно скопировать в буффер обмена — комбинация Alt-6 (да, мы ЛЮБИМ nano).

Далее мы можем вставить текст из буффера обмена — Ctrl-U или F10. Обратите внимание — в подсказке снизу написана неправда, это не отмена удаления, это вставка.

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

Автономная кроссплатформенная монолитная программа на Java

Reading time21 min
Views63K
Я люблю desktop-приложения. Признаваться в этом нынче, похоже, стыднее, чем в связях с иностранной разведкой, но это так. Нет, это не значит, что я не люблю интернет-технологии. Более того, некоторые я не только уважаю, а даже более-менее знаю. Но, тем не менее, я скучаю по тем временам, когда программа писалась на одном компьютере, потом компилировалась и запускалась на других, разных компьютерах. Тогда везде (почти) была одна система — Windows с одной и той же API, почти не было проблем совместимости на уровне приложений, никто не материл разработчиков браузеров — все берегли нервы на разработчиков WinAPI, которые умудрялись создавать конфликты даже внутри нее одной. Но это я, конечно, иронизирую, а если серьезно — иногда и сейчас хочется написать просто desktop-приложение, да так, чтобы работало оно на всех популярных системах. Трудно? Если подумать и покопать, то не очень.

Еще я люблю языки высокого уровня с аккуратной архитектурой и строгой типизацией. Мои фавориты — Java и C#. Оба они предоставляют разработчику множество преимуществ по сравнению с C++, оба избавляют от ряда забот. Чем приходится платить? Тем, что таскаешь за собой тяжелую колоду, которая называется Oracle JVM, .NET или mono. Все три колоды весят сотни мегабайт и лицензию имеют такую, что каждый пользователь вынужден качать эту штуку сам, не путая при этом разрядность своего компьютера, а главное — программа на Java не может быть совместима со всеми версиями JVM разом, не так ли? И вот — мы приходим к тому, что просто скинуть программку другу (или миллиону друзей) и не заботиться о том, что она у него не запустится, не выходит. Приходится делать хитрые сетапы, вбивать костыли, и это я еще не упомянул .NET — однажды я видел у друга сразу 3 установленных версии, причем все три были нужны разным приложениям…

Стоп! А давайте напишем программу на Java, но так, чтобы она не требовала установки на машину какой-либо JVM, чтобы одним касанием собиралась под Windows, Linux и OS X и чтобы при этом занимала совсем чуть-чуть; так, чтобы никто даже не понял, что она написана, скажем, не на C. Невозможно? Совсем наоборот! (И нет, я имею в виду не gcj, который лишает Java всех ее прелестей. Рефлексия будет работать и даже сторонние jar вы сможете запускать).

Ну и как это сделать?

Пишу игрушечную ОС (о прерываниях)

Reading time4 min
Views50K

Данная статья написана в форме поста для блога. Если она окажется вам интересной, то будет продолжение.

Последние четыре месяца посвящаю свободное от работы время написанию игрушечной ОС для x86_64. Исходный код лежит здесь.

Общая задумка (пока весьма далёкая от реализации) следующая: единое 64-битное адресное пространство с вечно живущими нитями (как у Phantom OS); виртуальная машина, обеспечивающая безопасность исполнения кода. На данный момент реализованы:

1. загрузка ядра при помощи multiboot-загрузчика (GRUB);
2. текстовый VGA-режим (16-цветов, kprintf);
3. простой интерфейс настройки отображения страниц;
4. возможность обработки прерываний на C;
5. идентификация топологии процессоров (сокеты, ядра, потоки) и их запуск;
6. работающий прототип вытесняющего SMP-планировщика с поддержкой приоритетов;

Пропустим описание multiboot-загрузки и работы с VGA-режимом (об этом не писал, разве что, ленивый). Про отображение страниц тоже не хочу писать, боюсь это будет скучно (может, в другой раз). Давайте лучше поговорим об обработке прерываний.
Читать дальше →

Разработка 2D игр под Windows и HTML5 без программирования

Reading time4 min
Views38K
image

Привет Хабраюзеры!

Сегодня я хочу представить вашему вниманию замечательный конструктор 2D игр (для Windows и в частности для HTML5) Scirra Construct.

Основным плюсом данного конструктора является то, что для создания игр не требуется никаких знаний языков программирования, все делается посредством построения действий во встроенной системе событий.
Читать дальше →

Непредсказуемый, но адекватный бот в играх

Reading time5 min
Views94K
Рассказ пойдет о 2D играх от третьего лица (вид сверху). В основном это шутеры, но и стратегия будет тоже затронута. Для простоты сравнения и понимания мы возьмем наших любимых «котяток». Да, да, именно коты нам хорошо в этом помогут.



Почему коты, узнаешь под катом.

DraftSight — бесплатный аналог AutoCAD (в том числе и для Linux)

Reading time2 min
Views187K
draftsight logoДоброго времени суток, хабр!

Сегодня я хотел бы рассказать о прекрасном аналоге САПР AutoCAD под названием DraftSight, работающем под Linux (Ubuntu; Fedora, Suse или Mandriva; ArchLinux и пр.), Windows (x86, x86_64) и MacOS.
Данная САПР разработана компанией 3DS, широкоизвестной в узких кругах такими продуктами как CATIA, SIMULIA и др.

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

Основные возможности:

  • позволяет создавать и редактировать файлы формата DWG (родной формат AutoCAD'а);
  • интерфейс очень напоминает AutoCAD R14, так сказать классический вариант;
  • САПР доступна бесплатно;
  • имеется платная версия Premium для предприятий и для преподавателей.


Основные отличия платной версии от бесплатной (взято с сайта разработчика):

  • Поддержка по телефону и электронной почте
  • Сетевая лицензия
  • Модуль оперативной помощи при внедрении позволяет большим группам пользователей устанавливать и обновлять DraftSight.
  • Доступ в DraftSight APIs и их обновлениям.
  • Обновление продуктов, главные релизы и пакеты услуг.
  • Онлайновая поддержка сообщества и множество обучающих ресурсов.


Самое, на мой взгляд, главное то, что САПР отлично подойдет для студентов, по долгу учёбы которым приходится много чертить. Этот инструмент превосходно заменяет AutoCAD и бесплатен для индивидуального пользования.

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

Почему возникают проблемы со связью в больших городах и как их решают

Reading time4 min
Views44K
Все понимают, в чем заключается процесс расширения сети связи – регион за регионом, город за городом застраиваются новыми вышками, которые включаются в общую сеть. Но что делается там, где сеть уже давно есть, например, в больших городах?
А там, все живет своей жизнью, и чем дальше, тем все более бурно. Там сменяются поколения жителей: подрастает молодежь, которой нужно больше мобильных функций и Интернет на каждом шагу, там сменяются поколения мобильных устройств – от простых звонилок народ пересаживается на смартфоны с поддержкой все больших скоростей передачи данных, там растут потребности в объеме трафика – у многих теперь по 2-3 устройства, сидящих в Интернете. И обмениваются они порой информацией между собой уже без участия человека.


Почему возникают проблемы с качеством связи в больших городах?

1) Огромное количество абонентов, все они скучены в определенных местах, все перемещаются. Но особенно — рост потребностей в пакетном трафике. Транспортная сеть не всегда успевает в своём росте за требованиями клиентов. За 2012 год рост объемов передачи данных составил 8,6%, и каждый бит был доставлен нами в интернет и обратно.
2) Осложнённая электромагнитная обстановка — множество источников излучения и помех во всех диапазонах, военное оборудование (3G частоты 2100 МГц мы делим с военными — их устройства работают в том же частотном диапазоне, соответственно, создаём друг другу помехи).



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

Бесплатная отправка SMS уведомлений в Zabbix

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

Сейчас я активно использую ветку Zabbix 2.0: Удалось прикрутить постоянный контроль параметров абонентских линий ADSL на всех узлах доступа, порядка 200 000 параметров. Описания как это было сделано хватит на отдельную статью. Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.

Я же расскажу как сделать простым и доступным способом оповещение о каких либо событиях посредством SMS, и не использовать для этого специфического железа.
Читать дальше →

Регистрация iOS Developer в Украине

Reading time2 min
Views32K
Здравствуйте, хочу рассказать как зарегистрироваться в iOS Developer Program, и как это на самом деле просто. Если вы программируете в XCode и вы готовы выложить свои творения в App Store, но вы еще не зарегистрированы в Apple как разработчик, тогда этот топик для вас.



Осторожно, много скриншотов
Читать дальше →

Еще одни часы на газоразрядных индикаторах

Reading time4 min
Views67K
За последние пару месяцев на хабре было представлено несколько конструкций часов типа NIXIE CLOCK. Характерной особенностью которых, это вывод времени на газоразрядные индикаторы типа ИН12, ИН18, ИН17 и им подобные. На просторах Интернета я видел много конструкций подобных часов. Что-то в них есть, какая-то мягкая и теплая энергетика исходит от них. Я тоже загорелся сделать что-либо подобное. Но не просто только часы, чтобы они не только показывали время, но и радовали глаз.
Читать дальше →

Более 500 000 пользователей Google Reader перешли на Feedly за два дня

Reading time1 min
Views54K
На сайте Feedly зарегистрировалось более 500 тыс. пользователей в последние 48 часов. Это абсолютный рекорд за всю историю развития сервиса. Владельцы портала с радостью принимают новых юзеров и приветствуют каждого.

Главными задачами Feedly на ближайшие 30 дней являются: 1) обеспечить бесперебойную работу сервиса; 2) прислушиваться к советам пришедших пользователей относительно новых функций; 3) добавлять новые функции каждую неделю. По крайней мере, такие задачи разработчики Feedly поставили перед собой. Чтобы обслужить возросшую аудиторию, пропускную способонсть каналов с хостинга уже увеличили в 10 раз.

Закрытие Google Reader приведёт к тому, что посещаемость многих сайтов упадёт 1 июля 2013 года, но у оставшихся пользователей появится более удобный и функциональный RSS-агрегатор.

Обзор RSS-ридеров — self-hosted альтернативы Google Reader

Reading time6 min
Views128K
По мотивам недавней записи решил опробовать ряд продуктов, которые, во-первых, открытые, а во-вторых, устанавливаются на собственный сервер. В обзор вошли:
  1. rssLounge
  2. Selfoss
  3. Feed on feeds
  4. Managing news
  5. Lilina
  6. Tiny Tiny RSS
  7. ZebraFeeds
  8. Rnews
  9. NewsBlur

Все ридеры требуют PHP (кроме последнего — NewsBlur работает на питоне).
Читать дальше →

Ангелы на фотографии или «НЛО из принтера 2»

Reading time2 min
Views38K
Здравсвуйте, уважаемое хабрасообщество. Не уверен, что вас заинтересует этот небольшой очерк, но, возможно, кто-то как и я не сталкивался с этим вопросом.



Все вы помните не в меру смешную историю с НЛО из принтера, когда человеческое невежество порождает невероятные фантазии. Я думал, такое бывает только по телевизору, но ошибался.

Сегодня, как эникейщику, пришлось зайти к одному человеку, коего я считаю религиозным фанатиком.
Совершенно без какого либо повода он показал мне фотографию 10x15, которую он снял собственноручно. На фотографии церковь (в силу своей религиозной фанатичности, он фотографирует их очень часто) с одним, с позволения сказать, феноменом: по всей фотографии располагались белые полупрозрачные пятна на манер боке. Самой фотографии у меня нет, фанатик отказался его дать.
Читать дальше →

Свой Google Reader методом Бендера

Reading time2 min
Views41K
С момента анонса закрытия Google Reader на хабре появился уже ряд статей о других сервисах, на которые можно уйти.
Во всём этом меня смущает то, что это же не Вконтакт, не твиттер, а хабра, почему я здесь читаю только о сторонних сервисах?
Кто мешает сделать свой RSS Reader с преферансом и мадмуазелями?
image
Под катом немного моих соображений о том, что можно сделать самому для себя. Приветствуется ваш опыт и соображения в комментариях.
Читать дальше →

Учим телефон считать гамма-кванты или вторая жизнь старого советского бытового дозиметра ДБГ-0.5Б…

Reading time3 min
Views114K

Ответ проекту «ДОРА»


habrahabr.ru/post/132351
habrahabr.ru/post/143791



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

Заинтересованных прошу пройти под хабракат.
Читать дальше →

Часы на газоразрядных индикаторах

Reading time5 min
Views232K

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

HabraReader — удобно читаем Хабрахабр на iOS устройствах

Reading time4 min
Views8.6K
Некоторое время назад решил заняться разработкой программ для iOS. Хотелось написать что-нибудь для души и в качестве первого проекта я выбрал приложение для моего любимого сайта habrahabr.ru, так как на тот момент удобной программы для чтения постов сайта, удовлетворяющей моим требованиям, не было. Я представил себе какими свойствами должно обладать приложение, которым бы стал пользоваться ежедневно, и у меня получился следующий список:

  • простой интерфейс
  • возможность почитать посты в дороге, когда нет интернета
  • удобные возможности по работе с хабами/постами/поиском
  • возможность видеть только те посты, которые я еще не читал
  • автоматически синхронизировать список прочитанного и избранного между всеми моими iOS устройствами
  • поддержка habracut


Собственно речь и пойдет о том, как я решал поставленные задачи и что в итоге получилось.
Читать дальше →

Information

Rating
Does not participate
Location
Балашиха, Москва и Московская обл., Россия
Date of birth
Registered
Activity