Как стать автором
Поиск
Написать публикацию
Обновить
-20
@apanasenkoread⁠-⁠only

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

Отправить сообщение

Стартап: составление туристических маршрутов

Время на прочтение1 мин
Количество просмотров1K

User story:


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

Имплементация:


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

С помощью визарда пользователь вводит свои предпочтения и ему составляется маршрут.

Всё это на основе Google Maps.

Бизнес модель


1. Очевидная: реклама гостиниц, ресторанов, тур агенств
2. По сути ведь будет создана универсальная engine, можно продавать её — мерии Нью Йорка или Амстердама, скажем

Доказательства возможной популярности


1. Большие объемы самостоятельного (без групп) туризма
2. Гугл постепенно на свои карт добавляет всё больше маршрутов прогулок (но они Гугла hardcoded)

Сам я такое на коленке не напишу, инвестиции искать не буду, кому идея интересна — берите!

Отличная идея для стартапа? Хм… Вряд ли

Время на прочтение4 мин
Количество просмотров4.5K
Это вольный перевод-пересказ этой статьи 2006 года, на которую я наткнулся около mailinator.com, за авторством Paul Tyma. Упоминаний на хабре не нашел, да будет перевод!

Итак, у вас есть отличная идея.


За годы работы я запустил небольшую кучку проектов и создал несколько компаний. Например Mailinator, Preemptive Solutions, Inc., и Classhat. На самом деле я наделал их гораздо, гораздо больше, но про большинство слышала разве что моя бабушка. Всё потому, что преимущественно это были глупые идеи, неудачные попытки что то сделать, или чересчур масштабные начинания, чтобы я мог довести их до релиза. Поучившись на своих ошибках, я теперь каждую новую идею проверяю на соответствие определённому набору правил, чтобы отсеять хорошие идеи от плохих. Ну или тех, которые мне кажутся таковыми.
Не забывайте, эти правила для канонічного стартапа — когда из сотрудников только вы и ваш друг, а денег — на пиво и чипсы. Если у вас в загашнике завалялись лишние пару миллионов — вы можете творить магию и без этих советов.

Что же там пишет Paul о стартапах?

Виртуальные сети: VXLAN и VMware NSX

Время на прочтение5 мин
Количество просмотров37K

Созданные почти четверть века назад виртуальные локальные сети VLAN были для своего времени неплохим способом управления узлами сети. Но в условиях массового перехода на облачные технологии и повсеместным внедрением виртуальных машин возможностей традиционных VLAN для современных ЦОД стало явно недостаточно. Причем самыми болезненными вопросами стало ограничение доменов второго уровня на четырех тысячах VLAN при невозможности переноса виртуальных машин через границы L2.

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

И как это делается?
Читать дальше →

Как работает CPU: интерактивный урок для начинающих

Время на прочтение2 мин
Количество просмотров117K
Simple CPU — маленький урок, который знакомит новичка с ключевыми понятиями информатики. Хотя урок далеко не полный и предназначен для «самых маленьких», но даже образованному человеку приятно видеть, насколько доступно и элегантно можно изложить сложный материал.

Урок состоит из 8 интерактивных примеров.

1. Бинарное счисление.

2. Логические операции на примере штриха Шеффера (NAND gate).


Штрих Шеффера (NAND gate)
Читать дальше →

Как рубисту пережить апдейт OSX 10.10 Yosemite

Время на прочтение3 мин
Количество просмотров23K
На днях вышла очередная версия OSX 10.10 Yosemite, и если для обычных пользователей маков вопрос «обновляться или нет» не стоит, то разработчики подобным вопросом вполне могут задаться. Редкий большой апдейт прошлых лет не приносил нам тех или иных проблем с софтом, библиотеками и консолью. Не может похвастаться отсутствием проблем и нынешнее обновление.

Одним из лучших советов тут конечно было бы подождать месяц-другой и только затем обновляться — избавит от многих проблем и потери времени. Но ждать не хочется, а посему после обновления у вас гарантированно всё сломается (речь далее в основном идёт о ruby и rails): будут выскакивать seg fault'ы, не будут собираться некоторые гемы, возникнут проблемы со скриптами в консоли.
Исправление некоторых проблем нагуглить будет легко, а для некоторых предлагают лишь хаки в виде задания дополнительных параметров компиляции и переменных окружения.
Читать дальше →

Свои карты на leaflet.js

Время на прочтение2 мин
Количество просмотров47K
В городе Красноярске намечено проведение Универсиады в 2019 году, в связи с этим и не только администрация Красноярска проводит разработку генерального плана территориального развития города до 2033 года. Недавно чиновники выложили схемы генерального плана на сайте администрации города для общественного обсуждения. Но вот незадача: просмотр и анализ схем неудобен, потому что файлы имеют большие размеры и разрешение. Например, файл основной схемы имеет размер 43,34Мб и разрешение 19256x16019px. У меня компьютер тормозит при просмотре такой картинки.

Немного поскриптовав с коллегами, сделали вот такую интерактивную карту antirek.github.io/krskmap/main/index.html



Далее немного подробнее, как сделать свою карту на leaflet.js из картинки с большим разрешением.

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

Pivot: подводные камни и выводы на примере стартапа MoneyHero

Время на прочтение12 мин
Количество просмотров26K


Как показывает практика, бизнес-идея в большинстве случаев доходит до своего реального воплощения как минимум после значительных переработок, а зачастую – только после pivot’а – полного перезапуска стартапа, сопровождающегося радикальной сменой бизнес-модели. Связано это, в первую очередь, с тем, что на этапе формирования бизнес-модели основатель еще не знает точно, как она будет реализована в определенном бизнес-сегменте. Другими словами, если вы не работали в данной области раньше, не «погружены» в тонкости ведения бизнеса в конкретной сфере, эта самая сфера вашу бизнес-модель наверняка (и достаточно серьезно) скорректирует или вообще поставит перед фактом невозможности ведения бизнеса в такой форме, в которой он изначально задумывался.

Один из показательных примеров успешных pivot’ов: Groupon, который первоначально задумывался как альтернатива Kickstarter для некоммерческих проектов (в таком виде он не понравился инвесторам, которые не были уверены в возможности монетизации бизнеса). В качестве еще одного показательного примера часто приводят историю Twitter: прежде чем прийти к идее микроблогов его основатели разрабатывали платформу для подкастов Odeo, которая в итоге не выдержала конкуренции с iTunes.

В программе акселерации ФРИИ также принимали участие компании, которые столкнулись с подобными проблемами и с достоинством вышли из сложившейся ситуации, одна из них – стартап MoneyHero. На примере его истории мы попытаемся разобраться в том, как (на примере чужих проб и ошибок) выработать подходы, которые помогут вам оценить выбранную область бизнеса на предмет жизнеспособности вашей идеи, как можно быстрее проверить идею в деле и не совершать распространенных ошибок, сопутствующих стартапам на этом этапе.
Читать дальше →

Брутфорсим EFI с Arduino

Время на прочтение23 мин
Количество просмотров105K
Приветствую Хабравчан!

Думаю, данной темой не многих удивишь — достаточно набрать в поисковике фразу arduino bruteforce и сразу станет понятно, насколько распространен перебор паролей при помощи платформы Arduino. Я же хочу рассказать о том, как это быстро организовать с наименьшим наборов компонентов, без разводки/травления плат и пайки. Сразу оговорюсь, что описанные мною действия носят ознакомительный характер и никому не причинили вреда, ни морального, ни физического… разве что мошенникам.


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

Выразительный JavaScript: Введение

Время на прочтение9 мин
Количество просмотров470K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



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

Кортежи в Swift

Время на прочтение7 мин
Количество просмотров33K
В поиске информации о работе с Кортежами (Tuples) в Swift работая над своим приложением, я решил, что будет лучше объединить в одну статью всю информацию, которую я изучил или нашел, чтобы ее можно было легко использовать.

Кортежи в основном являются значением, которое может содержать несколько других значений. Составной тип может содержать также “именованные типы”, которые включают в себя классы, структуры и перечисления (также протоколы, но так как они не хранят значения непосредственно, я знал, что должен упомянуть их отдельно), а также другие составные типы. Это означает, что кортеж может содержать другие кортежи. Другой составной тип, который может содержать кортеж, является “функциональным типом”, который различным способом ссылаться на тип. Он описывает замыкания в частности стиля типа “() >() ”, чьи функции и методы соответствуют ему. Также функциональный тип может содержать другие составные типы, как кортеж, и замыкания, про которые Вы читали в моем предыдущем посте "Замыкание и Определение в Swift".
Читать дальше →

Опыт применения Go в продакшене Яндекса

Время на прочтение7 мин
Количество просмотров75K
Хочу поделиться опытом использования языка Go в продакшн-системах Яндекса. Вообще мы здесь довольно консервативно относимся к тому, какие языки использовать для реальных систем. И это лишь добавляет полезности тому опыту, который мы получили в этот раз.

Мы начали разрабатывать на Go летом прошлого года. Тогда появился фреймворк Go для облачной платформы Cocaine. До этого приложения серверного API Браузера писались в основном на C++ и Python. Серверный API в это время как раз переходил на облачную платформу, и мы по большей части только определялись с тем, какие технологии использовать в будущем для него. API выполняет следующие функции: получить данные, обработать, отправить во внутренний сервис Яндекса, ещё раз обработать, отдать назад Браузеру. Набор простых приложений.



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

Убить всех человеков с помощью кота, или конечные автоматы на Akka.FSM

Время на прочтение21 мин
Количество просмотров24K
Как я уже писал в своей первой статье, не так давно я перешел c С++ на Scala. И вместе с этим я начал изучать модель акторов в исполнении Akka. Наиболее яркое впечатление на меня произвела лекгость реализации и тестирования конечных автоматов (finite-state machines, FSM), которую предоставляет эта библиотека. Уж не знаю, почему именно так получилось, учитывая изобилие остальных прекрасных и полезных вещей в Akka. Но теперь в моем первом проекте на Scala я использую конечные автоматы при каждой выпадающей возможности, подкрепленной целесообразностью (как я искренне надеюсь). И вот я решил, что готов поделиться с сообществом теми знаниями об Akka.FSM, а также некоторыми хитростями и личными наработками, которые я успел накопить. Подобной темы на хабре я не нашел (да и вообще со статьями про Scala и Akka здесь как-то не густо), и решил, не затягивая, исправить положение и выговориться, пока кто-то не сказал всего раньше меня. А чтобы было не скучно — предлагаю вместе реализовать поведение самого настоящего электронного кота. Хотелось бы верить, что какая-то одинокая романтическая душа, вдохновившись моей статьей, доработает предлагаемый в ней функционал до полноценного «Тамакотчи», в качестве домашнего задания. Главное, чтобы такая душа не забыла после поделиться своими результатами с сообществом в комментариях. В идеальном варианте можно было бы создать проект на гитхабе с общим доступом, чтобы каждый желающий смог привнести свой личный вклад в развитие идей трансгуманизма. А теперь — в сторону шутки и фантазии, закатываем рукава. Начинать мы будем с самого нуля, а я для пущего 7D и эффекта присутствия я буду проделывать каждый шаг вместе с вами. TDD прилагается: с неоттестированным робокотом уж точно будет не до шуток.

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

Как становятся менеджерами: 4 карьерные истории с разбором и выводами

Время на прочтение8 мин
Количество просмотров46K
В предыдущей статье «Почему люди не растут: чем больше вариантов роста, тем хуже», мы договорились продолжить препарирование этой темы и перейти к ответу на вопрос «А как все-таки расти?»

Особенно, видимо, вопрос зацепил тех, кто сейчас работает больше всех и начинает что-то подозревать…

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

История 1: не пофигическая


Начинать надо с себя, хотя это как делать самому себе аппендицит: страшно и занятно. Хотя кое-что про свои карьерные открытия я и так уже вам рассказал в двух предыдущих статьях, так что вздрогнули.

Как все запущено

Слава Панкратов, бизнес-тренер, управляющий партнер Школы менеджеров Стратоплан.

Моя схема получения первой менеджерской позиции – «Карьерный лифт»: мой менеджер стал директором новой компании и позвал меня на позицию руководителя отдела тестирования ПО. Я учился на 4 курсе института (первая вышка), стационар, 22 года.
Читать дальше →

BookTitres.com — изучайте языки по иностранной литературе в оригинале, слушая и читая

Время на прочтение7 мин
Количество просмотров16K
Многие используют фильмы с субтитрами, чтобы слушать речь и одновременно читать. Хочу предложить альтернативу — слушать аудио книги и читать их текст с подстрочным переводом и доступом к каждой отдельной фразе. Они доступны онлайн на сайте BookTitres.com .

Самое интересное


Уже доступные для чтения книги вы можете найти в разделе "Слушайте и читайте" на сайте. Книга "Хоббит" закончена — это 11 часов аудио и 13800 фраз. Пройдя её полностью, вы ощутите заметное улучшение своего английского. Особенно, если будете повторять за чтецом каждую фразу. От других книг в основном сделаны несколько первых глав. Если хотите продолжения — ответьте на опрос и укажите желаемую книгу.

Я не столько преследую цели пиара, сколько хочу рассказать о самой идее и попросить советов, как её развивать. Вы можете оставить пожелания, заглянув на сайт по ссылкам выше. А если интересно почитать о возникновении идеи и её технической реализации, то загляните под кат.

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

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Время на прочтение20 мин
Количество просмотров84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


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

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →

Справочник по Java Collections Framework

Время на прочтение6 мин
Количество просмотров795K
Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?


Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия


На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

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

За смарт-тележками будущее ритейла, или Как я изобрел колесо

Время на прочтение6 мин
Количество просмотров35K
Однажды прочитал в умной книге, что любое изобретение, по сути, является следствием негативного опыта. Мол, так уж человек устроен, что раз набив себе болезненную шишку, в следующий раз он обязательно соорудит себе на голове что-то вроде каски. Утверждение спорное, не ко всему применимо, но в большинстве случаев верно.

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



Были, конечно, и те, кому по жизни больше всех надо, кто в силу гениальности привык думать за всех без привязки к личному опыту (да Винчи и Тесла, например), но это отдельная песня. В основном же, изобретения являются логическим итогом собственного эмпирического пути. Вот так примерно я недавно «изобрел» смарт-тележку для супермаркета.
Читать дальше →

Боевой арсенал Erlang разработчика

Время на прочтение4 мин
Количество просмотров23K
Доброе время суток, уважаемая аудитория хабра.

В данной публикации я хотел описать свой опыт перехода с корпоративного Java на Erlang.

Погружения в Erlang в первом приближении

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

После довольно продолжительного времени Java/Python разработки, я решил кардинально изменить сферу деятельность и открыл для себя Erlang.
Читать дальше →

Повышение конверсии с помощью Big Data: 9 платформ прогнозной аналитики

Время на прочтение5 мин
Количество просмотров23K
Прогнозная аналитика — это технология, опирающаяся на большие массивы данных для прогнозирования будущего поведения людей с целью принятия оптимальных решений. Она задействует множество методов из статистики, интеллектуального анализа данных, учитывает как текущие данные, так и данные за прошлые периоды, на основе которых составляет прогнозы о будущих событиях. В бизнесе модели прогнозирования используют паттерны, составленные на основе данных за определенный период, чтобы оценить потенциальные риски и возможности. Модели выявляют связи среди многих факторов, чтобы сделать возможной оценку рисков или потенциала, связанного с конкретным набором условий. Итогом использования прогнозной аналитики является принятие верных (максимально эффективных для бизнеса) решений.

Как прогнозная аналитика может пригодиться e-commerce?
Читать дальше →

Оптимизация образов Docker

Время на прочтение9 мин
Количество просмотров68K
Образы Docker могуть быть очень большими. Многие превышают 1 Гб в размере. Как они становятся такими? Должны ли они быть такими? Можем ли мы сделать их меньше, не жертвуя функциональностью?

В CenturyLink Lab мы много работали над сборкой различных docker-образов в последнее время. Когда мы начали экспериментировать с их созданием, мы обнаружили, что наши сборки очень быстро раздуваются в объеме (обычным делом было собрать образ, который весит 1 Гб или больше). Размер, конечно, не столь важен, если мы говорим про образы по два гига, лежащие на локальной машине. Но это становится проблемой, когда вы начинаете постоянно скачивать/отправлять эти образы через интернет.

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

Информация

В рейтинге
Не участвует
Откуда
Fremont, California, США
Зарегистрирован
Активность