Search
Write a publication
Pull to refresh
31
0
Александр Лотохов @olekl

Пользователь

Send message

Немного магии: как взять и сделать call-центр реально эффективным

Reading time5 min
Views71K
Вы звоните провайдеру. Приготовившись к разговору с вымученно-жизнерадостной девушкой о количестве зелёных лампочек на чёрной коробочке, даже немного теряетесь, когда вам отвечает натуральный сисадмин. И сразу же понимает суть проблемы и решает её. Вы кладёте трубку через 25 секунд разговора в лёгком шоке.

Потом перезваниваете с телефона сестры и получаете ласковое «А какого цвета у вас Интернет?», и начинаете понимать, в чём дело.

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

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

CircuitLab: создаем схемы в браузере

Reading time1 min
Views57K
Если вы хотите избежать пожара, неисправности, а также других несчастных случаев, неплохо было бы спроектировать схему, прежде чем начать пайку. Бесплатное веб-приложение CircuitLab является свободным, веб-базированым инструментом, который может упростить этот процесс: просто размещаем резисторы, конденсаторы, источники тока и остальные детали схемы на чертежной доске и соединяем все это вместе. Создатели говорят, что вы также можете моделировать, как ваш проект будет вести себя, и если у вас есть проблемы, вы можете обратиться к сообществу за помощью, расшарив ваши схемы, пометив их как публичные. Кроме того, так как приложение веб-базированое, оно должно хорошо работать на всех платформах.



Upd: спасибо int_index за ссылку: Ссылка

Проектирование интерфейсов, ориентированных на маленьких детей

Reading time3 min
Views5K
Предлагаю вашему вниманию вольный перевод статьи Avi Itzkovitch Designing Experiences for Young Kids: Child Proofing your Application

Мне недавно посчастливилось работать над интерактивной книгой для детей дошкольного возраста (2-5 лет) для платформ IPad и Android. При проектировании для маленьких детей необходимо смотреть на вещи с точки зрения ребенка, и, в процессе работы над проектом, я получил для себя несколько важных уроков.
Дети любопытны и хотят все исследовать. Как правило, они касаются руками всего, что видят, и могут заметить то, что взрослые обычно не замечают. Например, дети не подвержены баннерной слепоте, для них это еще одна возможность узнать, что произойдет, если на него нажать. Большинство проблем у молодых пользователей вызывает возможность перемещаться в приложении, потому что они боятся нажать что-то не то. Реклама, случайное прикосновение или просто кнопка меню могут затруднить пользование приложением ребенку.
Читать дальше →

Как сделать электродвигатель за 15 минут

Reading time4 min
Views75K
Всегда интересно наблюдать за изменяющимися явлениями, особенно если сам участвуешь в создании этих явлений. Сейчас мы соберем простейший (но реально работающий) электродвигатель, состоящий из источника питания, магнита и небольшой катушки провода, которую мы сами и сделаем.
Читать дальше →

Уроки Python от компании Google

Reading time1 min
Views120K
Отличный способ освоить Python — учебный класс Python в Google Code University. Уроки для этого класса написал Ник Парланте из Стэнфорда, и прошедшие курс люди отмечают не просто высокое, а фантастически высокое качество уроков.

Курс включает в себя шесть видеолекций на Youtube, где Ник проводит обучение новичков-гуглеров и подробно рассказывает о разных хитростях и фичах Python. Некоторые видеолекции длиной до 50 минут.

Есть ещё скачиваемые задачки. Они довольно простые и созданы специально для начинающих. Курс идеально подходит для изучения Python программистами, имеющими опыт работы с другими языками программирования.

Не компьютерная мышь и высокие технологии

Reading time3 min
Views10K
В древние времена слово «мышь» трактовалось однозначно, затем настали новые года, другие нравы и вот уже приходиться отмечать — статья не про компьютерную мышь.

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

Восстановление расфокусированных и смазанных изображений

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

Почему же для устранения смаза и расфокусировки практически ничего нету (unsharp mask не в счет) – может быть это в принципе невозможно? На самом деле возможно – соответствующий математический аппарат начал разрабатываться примерно 70 лет назад, но, как и для многих других алгоритмов обработки изображений, все это нашло широкое применение только в недавнее время. Вот, в качестве демонстрации вау-эффекта, пара картинок:



Я не стал использовать замученную Лену, а нашел свою фотку Венеции. Правое изображение честно получено из левого, причем без использования ухищрений типа 48-битного формата (в этом случае будет 100% восстановление исходного изображения) – слева самый обычный PNG, размытый искусственно. Результат впечатляет… но на практике не все так просто. Под катом подробный обзор теории и практические результаты.
Осторожно, много картинок в формате PNG!
Читать дальше →

Юникод для чайников

Reading time8 min
Views329K
logo
Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.

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

Неубиваемая флешка :: 2

Reading time5 min
Views43K
“Неубиваемая флешка”, “Бронефлешка”, “Флешка Бумбурума” — как только мои друзья не называли этот, казалось бы, простой кусочек металла. Но как недавно было подмечено в твиттере, именно с него началась моя активность на Хабре — пост про первую версию “неубиваемой” флешки действительно был дебютным. И если первый блин был больше похож на ком, то сегодня в статье речь пойдёт о втором релизе флешки — в декабре 2013 с выжившими одноклеточными организмами она будет праздновать годовщину конца света )



Продолжение под катом

Как написать дополнение для GIMP на языке Python

Reading time11 min
Views20K

Или Script-Fu — это так называемый «фильтр массовости»? Далеко не каждый может с ним разобраться и большинство даже не пытаются делать какие-то плагины к GIMP.

RPG


Введение


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

В качестве языков, на которых можно писать дополнения, годятся Scheme и Python. Существует возможность писать дополения и на других языках (Perl, Tcl/Tk и т.д.), но модули, которые реализуют эту возможность, плохо поддерживаются либо вовсе не работают со свежими версиями GIMP.

Избрав языком для написания дополнения Scheme, вы автоматически оказываетесь в выигрыше, так как не существует в мире такой сборки GIMP-а, в которую бы интерпретатор Scheme не входил, и написаное вами дополнение гарантировано будет работать на всех платформах «из коробки», однако, писать на Scheme — то ещё удовольствие… Scheme является диалектом LISP. LISP — это аббревиатура, расшифровывается как LISt Processing, то есть, язык для обработки списков. Существует и другая расшифровка: Language of Idiotic Silly Parentheses (язык идиотских глупых скобок), спорное, но не лишенное смысла утверждение, — несоблюдение баланса скобок — один из главных источников ошибок программы, написанной на LISP и ему подобных. Далеко не каждый может разобраться с непростым синтаксисом этого языка, и большинство даже не пытаются писать какие-то дополнения для GIMP. Но сложный синтаксис — это мелочь по сравнению с отсутствием ряда возможностей. Например, нельзя использовать свой графический интерфейс, сохранить настройки дополнения в конфигурационный файл, подключить некий внешний модуль с дополнительными функциями и т.д. и т.п. Но есть язык, лишённый большинства недостатков Scheme и обладающий рядом достоинств. Этот язык — Python. О нём и пойдёт речь.
Читать дальше →

Уроки Ruby для детей

Reading time1 min
Views12K


Среди преподавателей сложилось мнение, что Ruby — наиболее подходящий язык для изучения программирования. Первый в жизни ЯП должен быть максимально простым в использовании и, разумеется, объектно-ориентированным. В нём не должно быть каких-то двусмысленных концепций или странных особенностей синтаксиса. В общем, Ruby подходит идеально, решили ребята из компании The Hybrid Group и выпустили приложение KidsRuby (код на github) — уроки Ruby для детей.

Несколько скриншотов

Основы фрактального сжатия изображений

Reading time4 min
Views35K
Фракталы — удивительные математические объекты, подкупающие своей простотой и богатыми возможностями по построению объектов сложной природы при помощи всего лишь нескольких коэффициентов и простой итеративной схемы.
Именно эти возможности и позволяют использовать их для сжатия изображений, особенно для фотографий природы и прочих сложных самоподобных изображений.
В этой статье я постараюсь коротко дать ответ на простой вопрос: «Как же это делается?».
Узнать, как это делается

Джон Кармак о статическом анализе кода

Reading time4 min
Views14K
«Самой важной вещью, которую я сделал как программист за последние годы — это начал агрессивно применять статический анализ кода. — пишет Джон Кармак в статье, опубликованной на AltDevBlogADay. — Не так важны сотни серьёзных багов, которые удалось предотвратить, сколько смена ментальности и моего отношения к надёжности ПО и качеству кода».

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

Код в стиле «дамп потока сознания»

Reading time5 min
Views9K
Некоторое время назад в одной из своих статей я описал понятие пластилиновой архитектуры. В продолжение я бы хотел описать один из самых распространённых «стилей программирования», который, к сожалению, очень часто встречается у молодых и неопытных специалистов.

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

Теперь давайте посмотрим, как поступит в этом случае типичный джуниор. Есть задача – её надо решить. Их так учили в университетах. Многие из них ещё находятся под влиянием маргинального лозунга «пиши код, б##дь!». Итак, он наливает себе растворимого кофе, надевает наушники с чем-нибудь пожёстче и погромче и уходит в поток на пару-тройку часов.

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

Рисуем картинки с помощью кривой Гильберта

Reading time5 min
Views46K
В субботу на прошлой неделе «дело было вечером, делать было нечего», и мы с хабраюзером sourcerer разговаривали не понятно о чём. И почему-то речь зашла речь о задаче обратной к задаче построения графика функции по её выражению. То есть, например, у нас есть выражение y(x) = (cos0,5x ⋅ cos 200x + |x|0,5 − 0,7)(4 − x2)0,01. График такой функции чем-то напоминает сердечко. Но нам был интересен обратный вопрос, как, имея, например, изображение сердечка, получить выражение для функции, графиком которой будет это самое сердечко.

Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):



Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)

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

О том, как идея побеждает маркетинг, а сельские дети калькулятор. В уме

Reading time6 min
Views5.3K

Вместо предисловия


Гуляем в субботу с друзьями на одной московской площади. Вокруг празднично, много народу. Хороший приятель с исключительно гуманитарным образованием, работающий в продажах, неожиданно поворачивается и говорит: «Слушай, забыл сказать: вы своим приложением спасли меня от скуки. Мозг кипит, очень здорово! Особенно неметрическая система радует».

Воскресенье, вечер. Раздается звонок на мобильный: «Алло, Антон? Слушай, тут в задаче 925 нет подсказки с переводом вершков в аршины. Не забудь поправить в обновлении!» И это человек, который в пятницу жаловался, что считать в уме тяжело, выдержки не хватает.

Понедельник. Сижу рядом с домом в кофейне, дописываю код версии 1.1. Заходит мужчина лет тридцати. Хорошее пальто, костюм. Берет кофе, достает iPad и открывает новости. Через 15 минут вижу знакомый экран. Говорю: «Я — разработчик!» Он: «Врешь?» Показал паспорт, пообщались.
Читать дальше →

История одного уральского стартапа

Reading time30 min
Views2.7K


Я решил написать подробный рассказ (серьезный, несмотря на картинку) о том, как появился и развивался наш проект 9facts, как мы представляли его Стиву Бланку, участвовали во всероссийском инновационном конвенте и двух StartupPoint-ах, а так же обо всех проблемах, с которыми столкнулась наша команда. История еще далека от завершения — пожалуй, сейчас у нас наиболее сложный и драматичный период: уже известно, что именно не работает, и примерно ясно, в какую сторону нам стоит двигаться, но времени на принятие решений не так много, так как первые "поднятые" нами инвестиции подходят к концу. Думаю, такая история вполне типична для стартапа.

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

Всесторонняя оптимизация сайта на WordPress

Reading time8 min
Views57K
Уважаемые жители Хабра!

Вашему вниманию представляется история о том, как мы оптимизировали свой сайт. Сайт работает на движке Wordpress (на этой фразе большинство читателей должны поморщиться, зная, как обстоят дела у WordPress со скоростью). Однако все-таки у нас получилось, и сайт стал летать. Сразу скажу, что меня вряд ли можно считать профессионалом по серверной оптимизации, однако то, чего удалось достичь, меня сильно радует. Также, был получен бесценный опыт, которым я хочу поделиться с читателями Хабра.
Читать дальше →

Десяток ресурсов, которые помогают быть дизайнером

Reading time2 min
Views37K
Работать дизайнером очень интересно. Это творческая работа. И как любому творческому человеку, дизайнеру нужна муза или вдохновение.

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

Естественно, если вы расскажите о своих ресурсах, я буду благодарен.

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

Расширения для Google Chrome. Часть первая. Getting started

Reading time7 min
Views60K
Добрый день, Хабр.

Я хочу написать цикл статей о создании расширений для Google Chrome. К этому меня побуждает, во-первых, практическая польза самого процесса разработки и последующего использования: вы сами определяете, какие ещё задачи хотите решить не выходя из браузера и, во-вторых, отсутствие каких-либо внятных гайдов, туториалов и справочников на русском языке, за исключением, пожалуй, этой и вот этой статей на Хабре. Основная цель цикла — систематизировать разрозненную информацию и облегчить поиск потенциальным разработчикам, благо индексируется Хабр хорошо :)

В первой (этой, то бишь) статье, на примере простейшего расширения, будут рассмотрены все основные моменты, связанные с разработкой, отладкой и использованием расширения, конфигурационный файл manifest.json и начала chrome.* API. Первая же статья, думаю, будет не очень полезна опытным разработчикам (это дисклеймер).
Читать дальше →

Information

Rating
Does not participate
Location
Словения
Date of birth
Registered
Activity