All streams
Search
Write a publication
Pull to refresh
2
0
Александр Тимофеев @ATimofeev

User

Send message

Как создавалась Айчиталка. Часть 1: движок

Reading time10 min
Views28K
Совсем недавно мы выпустили в свет первую бета-версию нашей онлайн-читалки, с которой можно ознакомиться, почитав книгу Михаила Лермонтова «Герой нашего времени». Эта читалка — результат почти семимесячной работы, пять из которых ушло только на разработку движка. Казалось бы, в интернете уже есть бесплатные и открытые JavaScript-движки для чтения электронных книг и такой долгий срок может вызвать сомнения в профпригодности разработчика (то есть меня). Но есть одно большое и жирное «НО». Мы поставили перед собой слишком амбициозную и трудновыполнимую задачу: мы хотели использовать один и тот же движок на разных устройствах, в том числе маломощных, таких как айфон или электронная читалка.

В чём же заключается трудновыполнимость задачи? В первую очередь — в очень низкой скорости работы веб-приложений на айфоне. Например, мобильный Сафари по моим прикидкам работает раз в 100 медленнее своего десктопного собрата. Если на декстопе одна и та же операция выполняется 10 мс и совершенно незаметна для пользователя, то на айфоне она может выполняться больше секунды. Для сравнения: первая версия движка разбивала небольшую главу на страницы примерно за 15 секунд. Сейчас, спустя полгода, он делает то же самое менее, чем за секунду и вполне сносно работает в нашем приложении booq.

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

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

Построение интерфейса: описание паттерна «Активные фильтры» (Active Filtering)

Reading time5 min
Views7.4K
image image image image
Фильтры — мы сталкиваемся с ними постоянно, они на сайтах и в приложениях. У кого, при поиске той или иной информации, не возникала мысль: «Здесь бы фильтр не помешал»?

Мы предлагаем поговорить о фильтрации. Зачем она нужна? Ведь кто ищет, тот всегда найдет? И проанализирует? Или все же нет?

Предположим ваш сайт или приложение содержит необходимую для пользователя информацию, причем в большом объеме. Обратиться ли пользователь к Вам? Да, конечно. В худшем случае человек просто запутается в объеме данных, в лучшем сможет самостоятельно отобрать необходимое и отправиться сводить и анализировать все предоставленное ему в отдельных документах и таблицах, которые он будет создавать самостоятельно. Вернется ли он к вам, или пойдет искать более удобное представление необходимым ему данным? Скорее второе.

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

10 способов облажаться в программировании

Reading time5 min
Views7.5K
10ways
Недавно по наследству от грязного, вонючего контрактора (который утверждал, что его знания и умения так хороши, чтоб не трогать его пока, он не закончит проект) мне досталось веб-приложение. К сожалению, мы поверили ему на слово. На первый взгляд большинство функционала веб-приложения работало как надо. Однако, как только клиент начал использовать приложение в реальных условиях, – весна показала, кто где срал оно начало барахлить. Контрактор исчез после оплаты (умри репутация!), а я остался, чтобы попытаться починить то, с чем пока мучился клиент.
Я решил описать некоторые из тех ошибок, с которыми столкнулся. Это ошибки, которые, каждый хороший программист давно уже должен уметь избегать… но, очевидно, что некоторым людям нужно о них напоминанать.

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

Simkl запускает Промо-менеджер — инструмент для раскрутки стартапов и онлайн-магазинов

Reading time2 min
Views904
image
Simkl выпустил "Промо-менеджер" — бесплатный сервис для продвижения Вашего веб-сайта, стартапа или интернет магазина в Twitter и блогах в обмен на раздачу инвайтов и промо-кодов вашим пользователям.

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

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

Монетизация проекта: 8 + 4 способa заработать ничего

Reading time6 min
Views3.5K
WEBO SoftwareЭто, видимо, уже третья статья (первая, вторая) на тему построения софтверного бизнеса в России «с нуля». В прошлой просили рассказать о наших моделях монетизации — рассказываю (акцент сделан на самих моделях, а не на построении каналов продаж программного обеспечение вообще.)

Если коротко, то выбор модели монетизации (по моему личному твердому убеждению) индивидуален для каждого проекта/бизнеса. И сама модель может и должна изменяться с течением времени и появлением новых тенденций/парадигм на рынке.

Но все по порядку.
Читать дальше →

Хочу сайт или 5 ступеней познания Дао

Reading time5 min
Views22K
«Вы знаете, что в Китае живут китайцы, и даже сам император – китаец». Так, помнится, начиналась знаменитая сказка Ганса-Христиана Андерсена «Соловей». В подражание Андерсену мы решили рассказать типичную китайскую притчу о некоем человеке и его пути к просветлению.

image

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

Ступень первая. «Хочу сайт».


В провинции Сычуань жил человек по имени Ляо. Ляо торговал джинсами и ничего не знал об Интернете, методах продвижения, оптимизации, блогах, социальных сетях и прочих виртуальных прелестях. Единственное, чего он страстно желал – заработать денег.
Читать дальше →

Мы это сделали — онлайн бухгалтерия для ООО

Reading time2 min
Views35K
Мое делоПолгода назад я сделал свой первый пост на хабре, в котором рассказал о нашем проекте онлайн бухгалтерии, призванной упростить жизнь всему малому бизнесу. Концепция простая — онлайн бухгалтер, способный заменить живого и делающий всю бумажную работу — от расчета налогов до выставления счета клиенту.

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

Сейчас мы уже обрели вес, и хотя так и не привлекли инвестиций (инвесторы, ау), чувствуем себя очень уверенно. И с кем, как ни с хабром делится главной новостью за последние полгода.

Бета версия бухгалтерии MoeDelo.org для ООО на УСН готова!



Мы перебрали более десяти различных вариантов представления всех ООО-ных заморочек в UI и наконецто пришли к решению.
Читать дальше →

Сброс пароля, редактирование реестра Windows из Ubuntu

Reading time2 min
Views41K
В связи с вирусами в винде и невозможностью запусить regedit, понадобилась возможность редактировать реестр извне. Нашел, пока, единственную утилиту в линуксе chntpw, которая изначально разрабатывалась для сброса паролей, а потом приобрела функцию редактирования реестра.
Читать дальше →

Память наше все!

Reading time4 min
Views17K

Память наше всё!


Я думаю ни для кого не секрет, что память для человека это все. Все что мы делали, делаем, и хотим сделать – все хранится в памяти и без нее это все стало бы невозможным. И если память у нас плохая, то и делаем мы все из рук вон плохо. А у меня память не из лучших, и это постоянно сказывается на моей жизни.
Читать дальше →

Django vs Rails: дилемма начинающего web-разработчика

Reading time2 min
Views24K
Добрый день, хабралюди!
Хотел бы обратиться к вам с просьбой помочь мне в выборе моего жизненного пути. Я интересуюсь веб-разработкой, уже имею некоторый (очень небольшой) опыт в этой области и хочу дальше развиваться в этом направлении. Поскольку я студент, 9 месяцев в году мне приходится тратить много времени на скучную и не очень полезную ересь учёбу, но за лето я хотел бы более-менее основательно освоить одну из приведенных в заголовке технологий. Понимая, что стать профессионалом во всём и сразу очень сложно и начинать надо с чего-то одного, прошу вашей помощи в попытке определится.
Под катом мои личные, очень субъективные наблюдения.
Читать дальше →

Используйте голову

Reading time8 min
Views26K
Какой главный инструмент работы айтишника? Компьютер? Я думаю иначе. Прежде всего мы работаем головой. А как работает мозг? Почему-то об этом нам не рассказывают в школе, университете и на работе, или рассказывают очень мало. Чтобы работать эффективно, нужно не только уметь прекрасно пользоваться необходимым программным обеспечением, но и знать, как настроить свой мозг на работу.

Специально для Хабра (для людей с техническим складом ума) я подготовил краткую версию статьи о мозге, в которой описано, что полезно для мозга, а что нет. Добро пожаловать под кат.
Читать дальше →

Заметки ИТ-стартапера

Reading time3 min
Views1.7K
Кто заинтересован в ИТ-стартапах?

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

Фактически же мы видим огромное количество новых ИТ-компаний, с разным размахом (зависит от объема инвестиций) стартующих, но крайне редко достигающих результатов. И даже самые успешные проекты очевидно достигают менее значимых в финансовом плане результатов чем строительство, торговля, работа в госорганах и т.д. Четкой статистики не имею (да и нет ее), но сами решите — когда у Вашего дома паркуется автомобиль за 100-150 тысяч у.е. — какие первые десять профессий приходят на ум? а еще десять? а еще?… когда в списке тех кто потенциально может позволить себе такую машину появится владелец ИТ-компании?
Читать дальше →

Наш вклад в поиск жилья без посредников: проект «Море летом»

Reading time3 min
Views983

Общественность негодует


Не далее как сегодня в блоге «Я пиарюсь» появился пост про аренду жилья, посредников, которые повсюду, и про сайт, который призван с ними бороться.

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

Предыстория


Так вот, перейдем от теории к практике.
Как-то летом, я с друзьями впервые в жизни собрался на наше черноморское побережье. И не куда-нибудь, а в Абхазию. Очевидно, что ситуация с проникновением интернета там была плачевной (то был 2008 год). Я, привыкший находить информацию в интернете максимум за несколько минут, был обескуражен. Информации было мало, и чуть более, чем полностью она представляла собой контакты посредников. Телефоны настоящих владельцев пришлось отрывать на форумах и в прочих сомнительных местах.
Отдохнуть в тот раз я съездил, но желание что-то изменить к лучшему во мне затаилось.
Читать дальше →

Притча о потерянном состоянии

Reading time5 min
Views1.3K
— Здра…
— А-а-а!
— Ну ты чего?
— Я вас боюсь!
— Чего это?
— Вы вечно меня унижаете…
— Хех, ну ладно, больше не буду.
— Правда?
— Доо, хочешь конфетку с аяксом?
— Конечно!
— Тада давай, лети к нам в Питер. Вот список авиарейсов на которые есть билеты отсортированный по цене: rasp.yandex.ru/search?cityFrom=Санкт-Петербург&cityTo=Москва
— Эм… что-то вы наврали дяденька — там вообще все рейсы из Москвы в Питер, отсортированные по времени отправления.
— Гм… действительно, не хорошо получилось… а значешь почему?
— Нэ?
— Потому что состояние приложения не отражается на uri. Поэтому каждый раз заходя на эту страницу из закладок, тебе придётся заново устанавливать фильтрацию и сортировку.
— Блоо, как же быть?
а далее самые жёсткие порносцены

Как побеждать на фриланс-конкурсах, или Откуда в Боливии алмазы

Reading time5 min
Views10K
Думаю, много кого волнует вопрос, как побеждать на фриланс-конкурсах? Постараюсь дать универсальные советы-и-правила-в-виде-инструкции-по-применению :)

Предисловие. Купила краски пачку.

Клиент, разместивший конкурс для фрилансеров, — это неуверенный в себе субъект. В 90% случаев он не способен выбрать подрядчика (поэтому и идет на конкурсы, собственно), чаще всего не способен даже грамотно сформулировать задачу, плюс ко всему он испытывает дикий финансовый голод, а также очень искренне надеется на то, что за его $200 он получит на выходе чудом родившееся у исполнителя гениальное решение его проекта, и приводит в качестве примера логотип компании Nike, нарисованный за $50 в прошлом веке.

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

Правило первое — трезвое.
Знайте, на что идете. Подумайте, почему тот или иной клиент пришел делать конкурс с фрилансерами. Дайте этому трезвую оценку, и не будьте идиотом ждите чуда чудесного от этой затеи.

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

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

Какого начальника себе выбрать и как с ним взаимодействовать?

Reading time5 min
Views5.2K
Недавно я начал собственный бизнес, и у меня больше нет начальника. Подводя итог своей жизнедеятельности в качестве наемного работника, хочу поделиться накопленным за почти 15-летнюю карьеру опытом общения с разными видами руководителей. Надеюсь, что мои наблюдения окажутся полезными при выборе тактики общения со своими руководителями и в момент выбора начальника при перехода на ту или иную работу.

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

Harumambu.ru — все фриланс-проекты рунета

Reading time1 min
Views1.3K
image

Решил сделать в свободное время доброе дело и немного облегчить жизнь фрилансерам. На сайте harumambu.ru отображаются все фриланс проекты рунета, причём:
  • проекты отображаются мгновенно, то есть без задержки;
  • при помощи поиска можно выделить проекты, которые подходят по ключевым словам;
  • звуковой сигнал будет оповещать вас о поступлении нового подходящего проекта;
  • не нужно обновлять страницу по 10 раз в минуту в надежде первым увидеть свежий проект, новые проекты отображаются автоматически.
Сейчас очень нужна обратная связь, чтобы понять, нужно ли развивать этот сайт, и если нужно, то в каком направлении.

UPD: Как не сложно заметить, оформление сайта хромает. Это из-за того, что я программист, а не дизайнер. Если у кого-то есть возможность в свободное время откарамелить сайт, буду очень признателен.

Миф об обязательном поле

Reading time6 min
Views19K
В мире разработки программных продуктов бытует немало мифов и заблуждений. Чтобы двигаться вперед, а не топтаться на месте, их совершенно необходимо разрушить. Сегодня об одном из самых закоренелых заблуждений, которое к тому же достаточно вредное — называется «Миф об обязательном поле».

Речь пойдет о практически любых системах, использующих для ввода информации формы. Обязательное поле — это поле формы, без заполнения которого система не примет у вас информацию. Среди подавляющего большинства разработчиков ПО бытует мнение, что обязательными полями должны быть:
  1. Все необходимые с точки зрения предмета поля (например, ФИО и дата рождения человека, если речь о паспортном столе);
  2. Все необходимые для функционирования системы поля (те, без которых не будут работать алгоритмы — например, дата, с которой начинается предоставление услуг, чтобы делать по ним начисления);
  3. Важные поля — такие, которые не необходимо, но желательно заполнить (например, обоснование вносимого изменения) — с той мотивацией, что пусть лучше пользователь попотеет, когда не нужно, чем забудет ввести значение, когда будет нужно.
Как видите, тут целый комплекс мифов, развеивать которые нужно скрупулезно и планомерно. Поэтому начнем с двух других заблуждений.
Читать дальше →

5 самых распространенных ошибок менеджеров

Reading time3 min
Views5.5K
Множество проектов разработки программного обеспечения проваливаются исключительно благодаря плохому управлению. Следующий список, по моему мнению, содержит 5 самых распространенных и опасных ошибок, совершаемых менеджерами в области разработки программного обеспечения.
Читать дальше →

Модели реальности и их роль в жизни людей

Reading time4 min
Views17K
Есть модель мира, и есть реальный мир.
Как в физике — есть какое-то явление, а есть его модели.

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

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

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

Вот только отличий от физиков тут три. Первое — это незнание природы работы мозга. И отсюда вытекающая уверенность, что все, что человек видит, думает и знает — и есть истина. То есть человек себя убедил (читай сделал себе модель) в том, что Windows лучше, чем Linux — все, теперь в его модели мира может быть только этот факт. Второе отличие как раз в уточнении модели. Люди не уточняют модели реальности, как правило, более того, мозг специально отсекает факты, противоречащие модели, либо вырабатывает «адаптеры» в виде «логических объяснений», чтобы не нарушить комфорта в восприятии мира — все знают нелюбовь к изменениям, боязнь, что «мир встанет с ног на голову».
Читать дальше →

Information

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