Pull to refresh
3
0
hayk @hayk

User

Send message

Превращаем один компьютер в два

Reading time4 min
Views138K
Вывод любого нового продукта на рынок почти всегда — задача непростая. Особенно в узкой(малоизвестной) нише. Особенно софта в стране, где за ПО пока платить не привыкли.

Хочу поделиться успешной историей продукта, к которому имею некоторое отношение уже на протяжении нескольких лет.

Для начала коротко о сути софта. Это программа для «форточек», которая позволяет от 2 до 10 пользователям работать с одним компом так, как будто у каждого свой индивидуальный. Подключаем к системнику мониторы(через дополнительные видео-карты), мыши-клавы(через USB-хабы), ставим программу – и можно смотреть одновременно разные фильмы(правда, для этого либо сплит звуковухи 5.1 надо сделать, либо дополнительные установить), пользоваться Инетом и банально работать с документами.

Аналоги, несомненно, уже были. Это и железячный вариант — плата JetWay, Buddy B-210 и еще живой софтовый BeTwin и другие… Но об этом мы узнали уже потом.

Родилась идея создания «Астер» в тот момент, когда стало очень грустно смотреть на супер-компьютеры, которые покупаются для того, чтобы работать с Word и прочей бумагомарательной софтиной. Фактически, получился следующий виток спирали. Очень давно, когда компы были большими, все ресурсы делились между терминалами.
Под катом - наш маленький, но заметных успех
Total votes 70: ↑53 and ↓17+36
Comments107

Обфускаторы (и деобфускаторы) для .NET §0

Reading time3 min
Views21K
Ни для кого не секрет, что из скомпилированных сборок (exe и dll) для платформы .NET может быть легко восстановлен код на языках высокого уровня (C#, VB.net). Это означает не только то, что если в программе имеется система лицензирования, то она может быть легко снята; но и то, что ваш исходный код могут скопировать, например, нечистые на руку конкуренты. Чтобы обезопасить себя от подобных угроз большинство разработчиков коммерческого софта используют разного рода обфускаторы.
Читать дальше →
Total votes 41: ↑27 and ↓14+13
Comments30

Текст любой ценой: Miette

Reading time3 min
Views2.7K
Да, вы не ошиблись, и это не дежавю. Вы наверняка когда-то (если завсегдатай) видели этот топик. С тех пор прошло много времени, а мне продолжают ходить письма с вопросами и просьбами о совете на тему чтения текстовой информации из бинарных форматов данных. А это значит, что тема до сих пор актуальна, интересна для программирующей общественности.

За этот год (а ведь и вправду прошло больше года) я поменял место работы и занимаюсь совершенно другими вещами и давно уже не программирую (много не программирую, если быть точным) на PHP. Новый проект обязал меня совершенствоваться в python'е (и ощутить его силу), поэтому однажды воскресным вечером было решено переписать и, главное, улучшить некоторые из своих библиотек для чтения текста. Сегодня я представлю на суд публики молодой opensource-проект Miette («вкусняшка», если переводить с французского), который призван (в каком-никаком будущем) читать файлы пакета Microsoft Office.

Основной задачей Мьетт будет в первую очередь чтение чистого текста из офисных форматов, но в этот раз мне хотелось бы пойти дальше и сотворить невозможное: заставить парсер читать форматирование (хотя бы минимальное). Задача сложная, но вполне посильная, если будет время по вечерам и интерес (а возможно посильная помощь в виде тестирование и совместной разработки) со стороны страждущего народонаселения. Но это всего лишь планы и, так сказать, хобби.

Естественно python во многом отличается от PHP и, на мой взгляд, имеет несколько больший функционал, поэтому и принцип построения библиотек в проекте несколько другой, нежели старая «поделка» на PHP. В данном случае было решено запретить себе, как разработчику и заказчику в одном лице, загружать какие-либо большие блоки в память. Мьетт читает данные постепенно, по требованию, как это делает сам Word. Это делает его легковесным и нетребовательным к оперативной памяти. В будущем, я постараюсь пройти исходные profiler'ем и найти узкие горлышка, которые стоит оптимизировать дальше.

Идём дальше?
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments17

Текст любой ценой: WCBFF и DOC

Reading time9 min
Views28K
Несколько позже, чем хотелось, но продолжаем наш разговор о получении текста из разных форматов данных. Мы с вами уже познакомились с тем, как работать с изначально XML-base файлами (docx и odt), прочитали текст из pdf, преобразовали содержимое rtf в plain-text. Теперь перейдём в вкусненькому да сладенькому — формату DOC.
Читать дальше →
Total votes 72: ↑67 and ↓5+62
Comments25

Обзор: 10 русских SaaS-систем управления проектами

Reading time1 min
Views15K
Столкнулся с задачей подбора системы управления проектами для своей команды. Порадовало, что на Хабре есть много полезных статей и обзоров по этому поводу (и не менее полезных комментариев к ним). Помимо этого переворошил еще множество обзоров и отзывов разных людей и в ходе поисков наткнулся на интересную сводную таблицу Обзор: 10 русских SaaS-систем управления проектами.

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

Посчитал табличку достойной внимания Хабра, но чтобы не обижать автора и не копипастить, ограничусь ссылкой на табличку в его ЖЖ. Если автор присутствует на Хабре, буду рад познакомиться.
Total votes 51: ↑34 and ↓17+17
Comments31

Практические советы тем, кто хочет построить веб-сообщество ч.2

Reading time4 min
Views1.3K
В виду того, что к моему предыдущему посту набралось больше положительных отзывов, чем отрицательных, а также я получил много писем с вопросами в личку (и даже ВКонтакте, аське и на самом автотуристе были отзывы), решил продолжить свою писанину про то, как я делал свой проект, с чем сталкивался на пути реализации и, собственно, давать советы.

Глава 4. Куда сеем? В контент!

Многие спросили, как я набрал первоначальную массу пользователей, после набора которой сообщество, собственно, как-то задышало. Было дело так: когда я на одном из бесплатных LiveStreet'овском (CMS моего проекта) дизайне только-только открыл проект, сразу же встал вопрос о привлечении на него аудитории. Но на что придёт аудитория, не на голое же место?

image

Читать дальше →
Total votes 122: ↑106 and ↓16+90
Comments83

Особенности дизайна сайта для мобильных устройств

Reading time3 min
Views8.7K
Речь пойдет о мобильных устройствах, которые на данное время занимают большой % на рынке WAP’a (телефоны без ОС, Symbian и прочие), об Android и iPhone сегодня говорить не будем



Читать дальше →
Total votes 60: ↑48 and ↓12+36
Comments51

Javascript виджет авторизации OpenID

Reading time3 min
Views7K
Где то полгода назад я сильно увлекся OpenID и всем что с ним связанно. Моим главным занятием в это время стало — неспешное чтение спецификаций, форумов, блогов и хабрапостов OpenID тематики.

Все знания, которые мной были получены за это время, я «материализовал» в проекте компании, в которой собственно я работаю.

Изучая спецификацию OpenID и прочих его расширениях (SREG, AX) и надстройках, мне пришла идея разработать JavaScript виджет со своим API-прослойкой, в помощь другим разработчикам нежелающим «коротать» дни и ночи изучая спеки различных способов авторизации и их расширений.

Собственно об этом далее.
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments70

Конкурс по труднорешаемым задачам для программистов

Reading time4 min
Views11K
Здравствуй, хабрачитатель.

С недавних пор мне нравится проводить конкурсы для программистов-математиков, но эти конкурсы несколько отличаются от олимпиад по программированию, хотя бы тем, что я предлагаю задачи, не имеющие эффективного алгоритма решения. Кроме того, предлагаются задачи, которые либо вообще никто раньше не решал, либо решали очень мало, но серьёзных успехов не добились. Последняя особенность этих задач в том, что они так или иначе связаны с перечислительной комбинаторикой, той областью математики, которая в России была похоронена вместе с другими полезными областями науки «сами знаете когда». Но это менее важно.

Читать дальше →
Total votes 66: ↑60 and ↓6+54
Comments51

Отладка Javascript на мобильных устройствах

Reading time2 min
Views13K
Как я уже недавно писал, в настоящее время я занимаюсь разработкой мобильной версией одного сервиса. Вчерашняя статья про особенности дизайна сайта для мобильных устройств показала, что у аудитории есть интерес к разработке сайтов, адаптированных под телефоны, коммуникаторы и т.д.
Читать дальше →
Total votes 51: ↑41 and ↓10+31
Comments22

Hg Init: Часть 1. Переобучение для пользователей Subversion

Reading time9 min
Views123K
Hg Init: Учебное пособие по Mercurial.


Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

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

Часть 1. Переобучение для пользователей Subversion


В каком же я был смятении, когда программисты в моей компании решили сменить Subversion на Mercurial!

Для начала, я начал приводить всевозможные тупые причины, по которым нам не надо ничего менять. «Мы должны хранить репозиторий на центральном сервере, так безопаснее», — сказал я. Знаете что? Я был неправ. При работе с Mercurial у каждого разработчика на жестком диске хранится полная копия репозитория. Это, на самом деле, безопаснее. В любом случае, почти в каждой команде, использующей Mercurial, центральный репозиторий тоже существует. И вы можете делать резервное копирование этого репозитория со всей необходимой одержимостью. А еще можете устроить трехступенчатую защиту с Сайлонами, Штурмовиками и прелестными лабрадудлами или что там требует ваш IT-отдел.

Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments125

Инструментарий веб-разработчика под мобильные устройства

Reading time2 min
Views11K
С каждым днем количество веб-сайтов и сервисов под мобильные платформы становится все больше и больше. Я уже как то писал про эмуляторы, а сейчас хочу представить несколько полезных инструментов, начиная от самых простых, показывающих как будет сайт выглядеть на том или ином устройстве, заканчивая различными оптимизаторами контента.
Читать дальше →
Total votes 80: ↑70 and ↓10+60
Comments22

В помощь веб-разработчику: эмуляторы мобильных устройств

Reading time7 min
Views25K
Я думаю некоторые из веб-разработчиков сталкивались с задачей создания сайтов и сервисов под мобильные платформы. И проблема возникает в том момент, когда надо протестировать свое творение. И если найти тот или иной девайс все же не проблема, то протестировать на максимальном количеством устройств достаточно сложно. И тут на помощь приходят ОНИ — эмуляторы. В данном посте я рассмотрю вопросы установки и запуска эмуляторов следующих мобильных устройств, с целью запуска на них нужного сервиса: Win Mobile, iPhone, BlackBerry, Android, Symbian^3.
Читать дальше →
Total votes 76: ↑73 and ↓3+70
Comments36

Разбираемся с проблемой мертвого кода и инклудами

Reading time5 min
Views1.8K
В этой статье мы поговорим о некоторых иногда упускаемых разработчиками аспектах, влияющих на общую производительность веб приложения. В частности рассмотрим как влияет на производительность множественные подключения внешних файлов, наличие «мертвого» кода, акселерация путем кешеров опкода и FastCGI для PHP.
Читать дальше →
Total votes 80: ↑67 and ↓13+54
Comments85

Серверный редирект на мобильную версию сайта

Reading time2 min
Views37K
image
Предлагаю вашему вниманию простое и дешевое (по ресурсам) решение для перенаправления пользователей мобильных устройств на легкую версию сайта. Решение ориентировано на highload сайты, оптимизация которых основана на кешировании гостевых запросов.
Проверка, является ли клиент мобильным устройством, производится веб-сервером nginx и в случае успеха клиент перенаправляется на поддомен или локейшн. Это существенно экономит ресурсы и позволяет добиться большей масштабируемости по сравнение с PHP методами.
Читать дальше →
Total votes 77: ↑68 and ↓9+59
Comments35

apache+nginx+gzip_static+yuicompressor

Reading time6 min
Views15K
В этой статье я опишу принципиальные различия Apache и Nginx, архитектуру фронтэнд-бэкэнд, установку Apache в качестве бэкэнда и Nginx в качестве фронтэнда. А также опишу технологию, позволяющую ускорить работу веб-сервера: gzip_static+yuicompressor.
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments71

Тестирование PayPal Direct Recurring Payments. Проходилка квеста

Reading time2 min
Views9.2K
Если Вы собираетесь прикручивать на сайте поддержку оплаты через PayPal, а точнее Website Payments Pro (WPP), а точнее Direct Recurring Payments, то скорее всего вы уже ознакомились с документацией от самого сервиса: Integrating Recurring Payments.

Но если Вы раньше не прикручивали именно этот тип платежей, то Вы, наверняка, ещё не подозреваете о некоторых особенностях его тестирования.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments19

Примеси VS делегирование: преимущества и недостатки при реализации «плагинов»

Reading time5 min
Views2.4K
В данной статье я предлагаю вам свой взгляд на выбор использования примесей или делегирования в проектах для добавления в класс нового функционала.

Начальные условия такие: мы рассматриваем примеси, имеющие свое состояние и имеющие доступ ко всем членам класса-агрегатора. Все публичные члены класса примеси становятся частью агрегатора. Мы оставляем за кадром вопрос быстродействия. Вопрос исследуем на примере добавления нового функционала в модель выдуманного ORM.

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

Читать дальше →
Total votes 35: ↑25 and ↓10+15
Comments32

Information

Rating
Does not participate
Location
Туапсе, Краснодарский край, Россия
Registered
Activity