Для многих начинающих провайдеров достаточно сложно задачей становится подбор необходимого оборудования для легальной деятельности. Сразу предупреждаю пинать на тему выбора оборудования не надо, я ориентировался исключительно на свой опыт и наличие сертификатов для беспроблемного проектирования, последующей экспертизы проекта и сдачи в РосСвязьКомНадзор. Вот минимальный набор который я мог бы посоветовать:
Шамов Андрей @lomaster
Веб-разработчик
Пост счастья — Jabber на своём сервере за 10 минут
2 min
11KПубликую в персональный блог — потому что тут не будет подробного описания, инструкций и прочего.
Это просто пост счастья человека, открывшего для себя Jabber с другой стороны.
Суть в том, что мне понадобился свой Jabber-сервер на Debian с https-соединением для параноидального общения из офиса по ICQ.
С прошлых экспериментов помнил, что Jabber-сервер — штука сложная, хитрая и не всегда податливая без чтения мануалов.
Но в этот раз я решил начать не с eJabberd и прочего, а с OpenFire.
Это просто пост счастья человека, открывшего для себя Jabber с другой стороны.
Суть в том, что мне понадобился свой Jabber-сервер на Debian с https-соединением для параноидального общения из офиса по ICQ.
С прошлых экспериментов помнил, что Jabber-сервер — штука сложная, хитрая и не всегда податливая без чтения мануалов.
Но в этот раз я решил начать не с eJabberd и прочего, а с OpenFire.
+15
AMD Brook+: с места в карьер
3 min
2.9KПро nVidia CUDA хабровчане уже наслышаны, теперь настал черед и AMD Brook+. Brook+ позволяет вам писать программы на С и запускать их на видеокартах AMD (ну и как опция — автоматически можно сгенерировать CPU версию со средним качеством кода). Достижимая производительность — порядка 600млрд операций на AMD 4870.
NB: Статья — краткое введение, не стоит ожидать освещения тут всех аспектов программирования на Brook+ :-)
NB: Статья — краткое введение, не стоит ожидать освещения тут всех аспектов программирования на Brook+ :-)
+26
Разгон Firefox при помощи TmpFS
4 min
12KFirefox использует SQLite для хранения большинства служебной информации, что делает его работу заметно медленнее. Во время доступа к своей SQLite-базе, Firefox «замирает», когда другие процессы в системе активно используют IO-операции с диском.
Однако, есть решение по переносу профиля Firefox в раздел RAM, используя TmpFS.
Однако, есть решение по переносу профиля Firefox в раздел RAM, используя TmpFS.
+28
Пульт ДУ для ПК
1 min
5.4KОднажды мне надоело каждый раз вставать с дивана, чтобы поставить на паузу фильм или трек. И озадачился я выбором пульта ДУ для ПК. Поиск по гуглу показал, что есть множество готовых решений (например такое: http://irlink.ru) но, как мне показалось, везде используется свой проприетарный софт, работающй только под Win. Такое положение дел меня не устраивает, т.к. я использую Ubuntu.
+34
Еще десять маленьких программ, с которыми уютно
4 min
14KВсем привет.
В этом посте я опишу несколько маленьких и удобных windows-программ, к тому же абсолютно бесплатных. Предыдущий пост вызвал бурную дискуссию, в результате которой, как водится, родилась истина :)
Итак, этот пост — дань благодарному хабрасообществу — в комментариях по крупицам собрались полезные программки, о которых, возможно, мы бы никогда и не услышали. Заранее извинюсь перед людьми, которые предлагали свои программы, не вошедшие в этот обзор — в каментах было много утилит, так или иначе дублирующих функции друг друга, и опробовать их все, сравнить и разложить по полочкам — задача для википедии. :)
Ну что ж, от слов к делу.
01) Сворачиваем окно в заголовок и не только — куча возможностей в обмен на 90 килобайт
02) Сворачиваем окно в трей правым кликом по «крестику»
03) Создаем виртуальные рабочие столы — теперь с помощью бесплатной программы
04) Двигаем кнопки окон на панели задач как табы в браузере
05) Клейкие листочки на рабочем столе — когда не хочется заносить в ToDo
06) Мини-консоль для быстрого запуска программ по алиасам
07) Мгновенный поиск по компьютеру — программа-индексатор жесткого диска
08) Копируем текст откуда угодно, даже из рисунков
09) создаем хранилище заметок с вложениями посредством быстрой и бесплатной программы
10) управляем буфером обмена — теперь можно запомнить больше!
В этом посте я опишу несколько маленьких и удобных windows-программ, к тому же абсолютно бесплатных. Предыдущий пост вызвал бурную дискуссию, в результате которой, как водится, родилась истина :)
Итак, этот пост — дань благодарному хабрасообществу — в комментариях по крупицам собрались полезные программки, о которых, возможно, мы бы никогда и не услышали. Заранее извинюсь перед людьми, которые предлагали свои программы, не вошедшие в этот обзор — в каментах было много утилит, так или иначе дублирующих функции друг друга, и опробовать их все, сравнить и разложить по полочкам — задача для википедии. :)
Ну что ж, от слов к делу.
01) Сворачиваем окно в заголовок и не только — куча возможностей в обмен на 90 килобайт
02) Сворачиваем окно в трей правым кликом по «крестику»
03) Создаем виртуальные рабочие столы — теперь с помощью бесплатной программы
04) Двигаем кнопки окон на панели задач как табы в браузере
05) Клейкие листочки на рабочем столе — когда не хочется заносить в ToDo
06) Мини-консоль для быстрого запуска программ по алиасам
07) Мгновенный поиск по компьютеру — программа-индексатор жесткого диска
08) Копируем текст откуда угодно, даже из рисунков
09) создаем хранилище заметок с вложениями посредством быстрой и бесплатной программы
10) управляем буфером обмена — теперь можно запомнить больше!
+102
«Моя правда» о ASUS Eee PC 1000H
18 min
18KЦель покупки
Процесс покупки
Внешний вид
Смена ОСи
Тестирование
Плюсы-минусы
Заключение
Процесс покупки
Внешний вид
Смена ОСи
Тестирование
Плюсы-минусы
Заключение
+171
Раздача инвайтов на Camspace — системы управления компьютером с помощью веб-камеры.
1 min
738CamSpace — это система, с помощью которой вы сможете управлять курсором или играть в различные игры, используя почти любой предмет в вашем доме, имеющий однородный цвет и не слишком сложную форму. Вам нужна лишь веб-камера и компьютер, под управлением ос Windows.
В настоящий момент проект находится в стадии закрытого бета-тестирования — я уже писал о нем где-то месяц назад, с тех пор он сменил еще три версии и в данном топике я хочу поделиться серийными номерами к программе. Все равно они ограниченные по времени(несколькими днями) и предназначены лишь для повышения интереса к проекту, так как разработчики обещали сделать его бесплатным. Можно записаться в очередь и на официальном сайте, но когда будут высланы очередные приглашения, неизвестно.
Поэтому, вы скачиваете программу, она выдает вам уникальный идентификатор оборудования, сообщаете в комментариях и я говорю ваш регистрационный код. Сколько получится раздать кодов не знаю, но думаю тут есть и другие, кого уже пригласили на бета-тестирование и они присоединятся.
Update: На сегодня закончились, ищутся другие зарегистрированные пользователи.
Update 2: Отдельное спасибо и множественные плюсы в карму kurokikaze.
+14
Ресурсы по программированию панели задач для Windows 7
1 min
2.2KВ течении последнего месяца я публиковал статьи о том, каким образом мы можем программировать панель задач в Windows 7. В этом месте я бы хотел собрать ссылки на все ресурсы.
+32
Оформление кода, оптимизация процесса проверки качества кода
5 min
36KTranslation
JavaScript, the winning style
Код написанный в одном стиле, имеет много преимуществ: меньше мелких ошибок, многие ошибки легко обнаружить почти сразу, другие же можно легко отладить еще на стадии разработки. Новым же программистам не придется тратить лишнее время на изучение вашего кода (это не значит что им не придется разбираться в самом коде, а значит лишь что его легче будет читать) и им будет проще влиться в проект.
Качество кода станет только лучше, если вся команда будет придерживаться заранее определенного стиля. Это безусловно стоит того, чтобы потрать немного времени на выработку общих правил.
В отличие от Питона у которого есть единый свод правил «Style Guide for Python Code», у языка JavaScript такого нет. Однако на выбор есть целых 6 популярных гайдов:
- Google JavaScript Style Guide
- npm’s coding style
- Felix’s Node.js Style Guide
- Idiomatic JavaScript
- jQuery JavaScript Style Guide
- Douglas Crockford’s JavaScript coding style
Помимо гайдов, не стоит так же забывать об автоматических анализаторах кода, таких, например, как JSLint и JSHint. И в них уже заложены свои настройки. Вопрос в том, какой же все-таки максимально правильный способ писать код на JavaScript, который был бы актуален и максимально соответствовал бы большинству рекомендаций? Давайте попробуем объединить большинство рекомендаций в этой статье и подумаем как можно оптимизировать процесс проверки качества кода.
+49
Восстановление расфокусированных и смазанных изображений. Практика
10 min
352KНе так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.
В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.
Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.
И вот результат обработки:
Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.
Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.
Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.
И вот результат обработки:
Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.
Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
+453
HTML5 History API уже сегодня и без ограничений
6 min
63KБиблиотека для работы HTML5 History API
Изначально этот проект был задуман добавить поддержку HTML5 History API в старые HTML4 браузеры. Первые версии библиотеки были нацелены именно на эти потребности, но с учетом прошедшего времени и пожеланий многоуважаемых разработчиков использующих эту библиотеку, она выросла до уровня того, что выполняет некие промежуточные действия по добавлению/исправлению того функционала что описаны в спецификациях по интерфейсу History.
На сегодняшний день библиотеку я могу смело назвать, на мой взгляд, полноценно законченной. Конечно же, ошибкам в работе библиотеки думаю, место будет, тестировалась библиотека мною в разных условиях и браузерах, но как вы понимаете, все не уловишь, да что-то упустишь. И так давайте приступим к описанию возможностей и тонкостей библиотеки.
+83
Mele A1000 — интересный конкурент Raspberry Pi
1 min
26KЕсли вы помните, мини-компьютер Raspberry Pi продается в двух версиях, за 25 и 35 долларов США. Вероятно, это самый дешевый миниатюрный ПК в мире. Тем не менее, успех Raspberry Pi побудил и других производителей создавать подобные компьютеры. Компания Mele представила собственную версию мини-ПК, который может стать конкурентом Raspberry Pi.
+56
Пусть утро станет добрым или Sleep as Android
4 min
158KДоброго времени суток!
Как известно, утро добрым не бывает, но аудитория хабрахабра знает, что сон можно обхитрить, и проснуться полным сил для нового дня. Выделю три группы высыпающихся людей, кто-то просто много спит, другие правильно готовятся ко сну, третьи пользуются хитрыми будильниками. С недавних пор, я переехал из разряда не высыпающихся в группы пользователей будильников с фазами сна. На переезд было затрачено минимум усилий, потребовалась лишь бесплатная программа для моего android смартфона.
Upd. Владельцы iOS и Windows Phone 7.5 не остались забытыми.
Как известно, утро добрым не бывает, но аудитория хабрахабра знает, что сон можно обхитрить, и проснуться полным сил для нового дня. Выделю три группы высыпающихся людей, кто-то просто много спит, другие правильно готовятся ко сну, третьи пользуются хитрыми будильниками. С недавних пор, я переехал из разряда не высыпающихся в группы пользователей будильников с фазами сна. На переезд было затрачено минимум усилий, потребовалась лишь бесплатная программа для моего android смартфона.
Upd. Владельцы iOS и Windows Phone 7.5 не остались забытыми.
+61
Библиотека для регистрации и отлова нажатий 'горячих' комбинация клавиш
3 min
6.3KПод комбинацией клавиш понимается любое количество одновременно нажатых клавиш, нажатых в любом порядке, которое может позволить ваша клавиатура. Для конечного пользователя, однако, не стоит превышать количество более пяти в одной комбинации, т.к. игровые клавиатуры есть не у всех.
Другой вариант добавления, где в качестве комбинации берутся текущие нажатые клавиши, удобно в случае когда пользователь назначает комбинацию сам. В демке есть пример подобной записи комбинаций.
Теперь при нажатии комбинации LeftCtrl+H (или H+LeftControl), мы увидим приветственное сообщение.
Пример использования
HotKeysManager manager = new HotKeysManager();
manager.AddHotKey(new HotKeyCombination(() => { MessageBox.Show("Привет, Хабр!"); }) { Keys.LControlKey, Keys.H });
Другой вариант добавления, где в качестве комбинации берутся текущие нажатые клавиши, удобно в случае когда пользователь назначает комбинацию сам. В демке есть пример подобной записи комбинаций.
manager.AddHotKey(new HotKeyCombination(HookManager.CurrentDownedKeys.ToArray(), () => { MessageBox.Show("Привет, Хабр!"); }));
Теперь при нажатии комбинации LeftCtrl+H (или H+LeftControl), мы увидим приветственное сообщение.
+21
Равномерное выравнивание блоков по ширине
4 min
19KПродолжая свои «css-раскопки» возникла новая идея, разобрать по косточкам ещё одну актуальную тему, которая касается равномерного выравнивания блоков по ширине. В принципе мои доскональные исследования я уже запостил у себя в блоге, но так как прошлая моя работа очень понравились Хабра-сообществу, то я решил сделать здесь небольшой краткий обзорчик этой статьи, чтобы ни одна хабра-душа не пропустили её наверняка. Так что, как говорил Гагарин: «Поехали».
В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
+154
Simplify.js — JavaScript-библиотека для упрощения ломаных линий
2 min
10KРад представить вашему вниманию еще одну крохотную, но полезную open-source-утилиту своего авторства — Simplify.js.
Simplify.js — очень быстрая реализация упрощения ломаных линий на JavaScript. Изначально написав ее для Leaflet (библиотеки для интерактивных карт), после небольшого эксперимента по оптимизации захотелось выпустить ее в качестве отдельной библиотеки без зависимостей, которую можно использовать как в браузере, так и на серверных платформах, таких, как Node.js, и применять и для 2D, и для 3D-точек.
Подобное упрощение позволяет на несколько порядков уменьшить количество точек в ломаной линии (например, представляющей длинный маршрут на карте или график), при этом максимально сохранив ее очертания (с заданной точностью). Соответственно резко уменьшается занимаемый линией размер памяти и время, требуемое для ее обработки.
Simplify.js — очень быстрая реализация упрощения ломаных линий на JavaScript. Изначально написав ее для Leaflet (библиотеки для интерактивных карт), после небольшого эксперимента по оптимизации захотелось выпустить ее в качестве отдельной библиотеки без зависимостей, которую можно использовать как в браузере, так и на серверных платформах, таких, как Node.js, и применять и для 2D, и для 3D-точек.
Подобное упрощение позволяет на несколько порядков уменьшить количество точек в ломаной линии (например, представляющей длинный маршрут на карте или график), при этом максимально сохранив ее очертания (с заданной точностью). Соответственно резко уменьшается занимаемый линией размер памяти и время, требуемое для ее обработки.
+124
JavaScript. Оптимизация: опыт, проверенный временем
10 min
41KПредисловие
Давно хотел написать. Мысли есть, желание есть, времени нету… Но вот нашлось, так что привет, Хабра.
Здесь я собрал все идеи, которые помогали и помогают в разработке веб-приложений. Для удобства я разбил их на группы:
- Память
- Оптимизация операций
- Выделение критических участков
- Циклы и объектные свойства
- Немножко о DOM
- DocumentFragment как промежуточный буфер
- О преобразованиях в объекты
- Разбитие кода
- События перетаскивания
- Другие советы
Сейчас речь не пойдёт ни о каких библиотеках. Я постараюсь передать знания о механизмах самого языка, а не их реализациях в библиотеках.
Память
Хоть это и не должно волновать клиентского программиста, но не забываем, что память всё-таки не бесконечна и когда-нибудь может закончиться, например, когда запущено несколько массивных программ: офис, графический редактор, компиляция большой программы и др. Несмотря на то, что приведенный пример тривиален, у меня действительно такое случилось, хоть и не из-за браузера, но он тоже сыграл свою роль: 1,3 Гб оперативы (отладчик, около 30 вкладок), начались тормоза по перегрузке страниц ОП в файл подкачки.
Чтобы уменьшить расход памяти, я предлагаю несколько способов:
+71
О разработке специальной версии сайта Госдумы для людей с нарушениями зрения
8 min
2KИз серии статей о новинках на сайте Государственной Думы. Предыдущие: первая, вторая и третья.
В начале декабря была запущена специальная версия сайта Госдумы для людей с нарушениями зрения. Нам хотелось бы поделиться информацией об особенностях разработки такого рода сайтов.
Адрес спецверсии: spec.duma.gov.ru
Всю разработку специальной версии можно логически разделить на 4 этапа:
В начале декабря была запущена специальная версия сайта Госдумы для людей с нарушениями зрения. Нам хотелось бы поделиться информацией об особенностях разработки такого рода сайтов.
Адрес спецверсии: spec.duma.gov.ru
Всю разработку специальной версии можно логически разделить на 4 этапа:
- Анализ действующих стандартов и ГОСТ-ов;
- Анализ существующих решений;
- Обобщение проанализированных данных;
- Разработка сайта.
+48
Полупроводниковая электроника
30 min
374KTutorial
Полупроводниковая электроника существенно изменила мир. Многие вещи, которые долгое время не сходили со страниц произведений фантастов стали возможны. Чтобы знать, как работают и чем уникальны полупроводниковые приборы, необходимо понимание различных физических процессов, протекающих внутри.
В статье разобраны принципы работы основных полупроводниковых устройств. Описание функционирования изложено с позиции физики. Статья содержит вводное описание терминов, необходимых для понимания материала широкому кругу читателей.
Иллюстраций: 34, символов: 51 609.
+470
Information
- Rating
- Does not participate
- Location
- Ижевск, Удмуртия, Россия
- Date of birth
- Registered
- Activity