Pull to refresh
0
0
Send message

Алекс Шульц (часть 2): введение в growth hacking

Reading time8 min
Views12K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments4

Об удобной навигации и отладке C++ кода в Vim

Reading time7 min
Views42K
Компания, где я работаю, разрабатывает программное обеспечение на C++ под Linux. Долгое время мы использовали Qt Creator, с редкими ребятами работающими из Emacs и Vim. Когда я сам попытался пересесть на Vim, я понял, что ситуация с плагинами для разработки на С++ очень не простая. Поработав немного с CTags, я быстро понял, что без напильника работать в Vim будет очень сложно.
К сожалению, с ростом опыта работы с Vim редактор в Qt Creator в режиме эмуляции устраивал меня все меньше, и в какой-то момент я решил потратить немного времени и разобраться, как же сделать из Vim нормальную среду.
Я очертил для себя четыре вещи, которые я бы хотел от среды разработки, и которых мне бы хватило в Vim, чтобы полностью на него перейти:

1. Автодополнение
2. Навигация по коду
3. Отладка прямо из среды
4. Интеграция с Git (в частности Blame прямо в редакторе, и Git Grep)

Автодополнение в Vim — это решенная проблема, и название у решения YouCompleteMe. Это очень качественный плагин, который реализует автодополнение для большого количества языков программирования, в частности Python и C++. Ходят слухи, что внутри Google YouCompleteMe решает и вторую проблему с навигацией кода, но использует для этого внутренные инструменты гугла для индексирования.

Интеграция с Git в какой-то степени решена с помощью vim-fugitive. Это не такая комплексная интеграция, как бывает у Jet Brains, или в Visual Studio, но сравнимая с тем, что предлагает Qt Creator. Те два сценария, которые нужны были мне: blame и grep — работают хорошо.

Отладка и навигация были проблемами, решенными гораздо хуже. В этой статье я расскажу о плагине, который мы написали для навигации по С++ коду. В конце статьи я также расскажу о том, как мы для себя решили проблему с интегрированным отладчиком.
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments92

Eggs.Variant — Часть I

Reading time14 min
Views8.9K
На публикацию этого перевода меня сподвиг комментарий пользователя @encyclopedist к недавней статье «Фабричный метод без размещения в динамической памяти». Статья меня заинтересовала, но беглое гугление не выявило перевода. «Непорядок.» — подумал я — «Такая интересная статья по С++ и не переведена на русский язык. Надо бы исправить.»

Оглавление
  1. Введение
  2. Проектирование
  3. Реализация

  4. О чём ещё не сказано


Размышления о разработке Eggs.Variant — обобщённом типобезопасном размеченном объединении на C++11/14.

Введение


Объединение — это специальный тип класса, который в один момент времени может хранить только один из своих нестатических членов. Он занимает столько места, сколько требуется для размещения наибольшего из его членов.
9 [class]/5 Объединение — это класс, определяемый с ключевым словом union; одновременно он может хранить только один из своих членов (9.5). [...]
9.5 [class.union]/1 В объединении активным может быть только один из нестатических членов, то есть, в данный момент времени в объединении может храниться значение только одного из его нестатических членов. [...] Размер объединения достаточен для вмещения самого большого из его нестатических членов. Каждый нестатический член размещается в памяти так, словно он является единственным членом структуры. Все нестатические члены объекта объединения имеют одинаковый адрес.

Оригинал
9 [class]/5 A union is a class defined with the class-key union; it holds at most one data member at a time (9.5). [...]
9.5 [class.union]/1 In a union, at most one of the non-static data members can be active at any time, that is, the value of at most one of the non-static data members can be stored in a union at any time. [...] The size of a union is sufficient to contain the largest of its non-static data members. Each non-static data member is allocated as if it were the sole member of a struct. All non-static data members of a union object have the same address.



Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments13

«Математика – один из видов искусства»: пост к столетию со дня рождения Мартина Гарднера

Reading time3 min
Views59K

Перевод поста Эда Пегга Младшего (Ed Pegg Jr) "Martin Gardner’s 100th Birthday"

Я думаю, содержание этого поста будет интересно всем, кто любит математику и ее красоту, всем, кто знаком с замечательными книгами и задачами Мартина Гарднера, а также будет полезно учителям, школьникам и студентам. Все ссылки в данном посте ведут на сайты Wolfram Demonstrations Project (коллекция бесплатных интерактивных демонстраций, созданных пользователями системы Mathematica на языке Wolfram Language с помощью технологии Computable Document Format (CDF), при этом для вас доступны исходные коды всех демонстраций, а значит, вы можете каждую из них скачать, изучить и изменить под себя) и Wolfram MathWorld (крупнейшая и самая авторитетная онлайн-энциклопедия по математике).

Gardner100_1.gif

Читать далее...
Total votes 78: ↑75 and ↓3+72
Comments18

Обращение зависимостей и порождающие шаблоны проектирования

Reading time18 min
Views13K

Аннотация


Это третья статья, просвещенная порождающим шаблонам проектирования и связанным с ними вопросами. Здесь мы рассмотрим излюбленные приемы при создании объектов: фабрики, заводы, абстрактные фабрики, строители, прототипы, мультитоны, отложенные инициализации, а также немного коснемся pimpl идиомы или шаблона “мост”. Использование синглтонов было подробно рассмотрено в первой [1] и второй [2] статьях, однако, как вы увидите в дальнейшем, синглтоны часто используются совместно с другими шаблонами проектирования.
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments42

Обзор наиболее интересных материалов по анализу данных и машинному обучению №21 (3 — 9 ноября 2014)

Reading time5 min
Views12K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments2

Идеальная передача и универсальные ссылки в C++

Reading time9 min
Views158K
Недавно на isocpp.org была опубликована ссылка на статью Eli Bendersky «Perfect forwarding and universal references in C++». В этой небольшой статье есть простой ответ на простой вопрос — для решения каких задач и как нужно использовать rvalue-ссылки.
Узнать этот ответ
Total votes 56: ↑56 and ↓0+56
Comments28

Уютный книжный пост для вас и вашего проекта

Reading time8 min
Views131K
Как заработать миллион за день, стать искусным оратором за неделю, похудеть на 100 кг за 2 дня, стать успешным в тысяча ста начинаниях и прочая мишура регулярно засоряет наше информационное пространство. А порой так хочется взять в руки книгу, которая не просто съест кусок вашего свободного времени повествуя о неприменимых в отечественных реалиях вещах, но и подкинет хотя бы несколько полезных советов, способных оказать позитивное влияние на развитие вашей личности и вашего проекта.

Если вы хотите найти и/или поделиться хорошими книгами, добро пожаловать под кат.

image

Читать дальше →
Total votes 76: ↑62 and ↓14+48
Comments45

Доклады конференции CppCon 2014

Reading time6 min
Views13K
Недавно в городе Белвью (штат Вашингтон) прошла одна из самых больших конференций С++ разработчиков — CppCon 2014. В течение пяти дней ведущие программисты таких компаний как Microsoft, Google, Dropbox, Citrix, Embarcadero, Ubisoft, разработчики стандарта языка, создатели компиляторов С++ и члены комьюнити opensource-продуктов представляли свои доклады, делились мнениями о будущем языка, предлагали новые идеи. Ниже я представлю выборку наиболее понравившихся мне видео с небольшими комментариями от себя. Хочется отметить, что вся конференция просто пропитана духом возрождения С++ в виду распространения стандартов С++11\14, люди рассказывают почему выбор С++ оказался для них верным, как они успешно мигрировали с C#\Java\Objective-C на С++ и не пожалели об этом и т.д.

Удачного просмотра!

Докладчики из Dropbox рассказывают о том, как они разрабатывают на С++ кроссплатформенные мобильные приложения.
Когда-то у Дропбокса были классические мобильные приложения: Java-код для Android и Objetive-C для iOs. Однако со временем команде разработчиков надоело писать одно и то же по 2 раза на разных языках и они пришли к выводу о необходимости создания общей кодовой базы на С++. Со временем оказалось, что какую бы архитектуру не имело приложение (MVC, MVVM или что-нибудь другое), фактически весь код кроме вьюх может быть вынесен в С++. Действительно, на С++ можно реализовать модель данных, контроллеры, бизнес-логику, вспомогательные библиотеки для работы с сетью, базами данных, парсингу и т.д. Всё, что остаётся на долю Java и Objective-C — нарисовать «родные» для данной платформы кнопки\списки\лейбы на вьюхах. И этот подход существенно более прагматичен, чем писать всё дважды.

Первое видео более обзорное, второе более практическое:


Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments7

Логика мышления. Часть 11. Динамические нейронные сети. Ассоциативность

Reading time7 min
Views43K


Этот цикл статей описывает волновую модель мозга, серьезно отличающуюся от традиционных моделей. Настоятельно рекомендую тем, кто только присоединился, начинать чтение с первой части.

Наиболее просты для понимания и моделирования нейронные сети, в которых информация последовательно распространяется от слоя к слою. Подав сигнал на вход, можно так же последовательно рассчитать состояние каждого из слоев. Эти состояния можно трактовать как набор описаний входного сигнала. Пока не изменится входной сигнал, останется неизменным и его описание.

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

Идеология рекуррентной сети зависит от того, как соотносится задержка обратной связи и интервал смены образов. Если задержка много меньше интервала смены, то нас, скорее всего, интересуют только конечные равновесные состояния, и промежуточные итерации стоит воспринимать, как исключительно расчетную процедуру. Если же они сопоставимы, то на первый план выходит именно динамика сети.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments6

Фантастические сериалы — обзор от фаната

Reading time8 min
Views82K
Мне наступили на больную мозоль, сделав некий обзорный пост по нескольким фантастическим сериалам.
А так как субботним вечером делать особенно нечего, давайте-ка я сделаю свой, более полный.
Да, будут спойлеры, имейте в виду.
Да, и очень много картинок! Трафик!

Начнём со Stargate

Целое семейство сериалов, начавшихся с одноимённого фильма.
Это во-первых, конечно,

Stargate SG-1
10/10
image
Читать дальше →
Total votes 238: ↑132 and ↓106+26
Comments262

Переезд на работу в Данию

Reading time11 min
Views132K
(Продолжение серии рассказов про Данию)

В данной статье я изложу свою историю устройства на работу, получения визы и переезда в Данию. История во многом субъективная, но не это ли делает такие рассказы интересными?

О себе: мне 31 год, я из Севастополя (да, на Хабре земляков всё больше), окончил СевНТУ. У меня красавица-жена и семилетний сын. Занимаюсь образовательным проектом. До переезда в Данию мы 6 лет жили в Киеве.

Причины переезда


Мы не «поравалитики». В целом, нам отлично жилось вна Украине. Конечно, мы понимали, что кругом многим не сладко. Так или иначе, сбежать из страны, прихватив трактор, не тянуло.

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

Доводы хорошие, но меня убедили совсем другие вещи:
Читать дальше →
Total votes 188: ↑171 and ↓17+154
Comments186

Перспективные технологии и тренды до 2018 года (по материалам Forrester)

Reading time5 min
Views7.8K
Новые цифровые технологии являются главной движущей силой эволюции бизнеса. В данном отчете выделены 15 технологий, которые наиболее явно воздействуют на формирование облика современного предприятия. Материал подготовлен на основе отчета Forrester: The Top Emerging Technologies To Watch: Now Through 2018 (February 07, 2013).

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

Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments0

Все самые знаменитые видеоматериалы со Стивом Джобсом на русском языке

Reading time3 min
Views40K
Привет, Хабр! 24 февраля 2013 года Стиву Джобсу исполнилось бы 58 лет, и все поклонники помнят об этом. По случаю дня рождения этого легендарного человека я решил сделать подборку видеоматериал с его участием — это интересно, для многих познавательно, а некоторые смогут еще чему-то обучиться. Возможно, некоторые материалы уже встречались на хабре, но я считаю в этом топике собраны все самые знаменитые видео и все они на русском языке.

A Tribute to Steve Jobs


Наследие, которое Стив Джобс подарил нашему миру. Потрясающее видео, содержащие в себе нарезку из презентаций всех инновационных продуктов компании Apple. Последняя минута для меня самая впечатлительная — реакция публики на первый Mac. Такое ощущение, что Стив показал людям будущее. Овации не заканчиваются…

Это видео нельзя встроить, поэтому при желании посмотреть придется перейти по ссылке

23 минуты 1980 года со Стивом Джобсом


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


Читать дальше →
Total votes 61: ↑30 and ↓31-1
Comments9

Интересное интервью с Ларри Пейджем

Reading time9 min
Views73K
Привет, Хабр!

Наткнулся на интересное интервью с сооснователем Google Ларри Пейджем. Мне оно показалось очень занимательным, и я старался как мог переводя его на русский язык, чтобы поделиться им с вами. Перевод может быть не очень точным, прошу за это прощения. Для свободно англо-читающей аудитории в конце поста ссылка на источник, в оригинале естественно можно получить больше удовольствия от прочтения. Если что-то из интервью вам придётся не по вкусу или вы не согласны с тем что говорит Ларри — не спешите минусовать, подумайте о том, что я всего лишь перевел это для вас. Tim — это интервьюер. Ну, поехали:

Лари Пейдж

Tim: Google известна тем что поощряет своих сотрудников решать амбициозные задачи и делать большие ставки. Почему это так важно?
Larry Page: Я волнуюсь о том, что что-то серьёзно пошло не так с тем как мы управляем компаниями. Если вы читаете то что средства массовой информации пишут о нашей компании, или вообще о всей технологической индустрии — речь всегда идёт о конкуренции. Всё преподносится так как будто речь идёт о спортивном событии. Не легко найти примеры действительно впечатляющих вещей, которые были сделаны исключительно за счет конкуренции. Многие компании приходят в упадок со временем, потому что они имеют тенденцию делать в точности тоже что они делали раньше, всего лишь внося небольшие изменения. Это естественно для людей — заниматься чем-то в чем они точно уверены что не потерпят неудачу. Но просто постепенного улучшения недостаточно.
Таким образом огромная часть моей работы это сфокусировать людей на вещах, работая над которыми можно добиться чего-то более значимого чем просто постепенного улучшения существующего. Возьмём например Gmail. Когда мы выпустили её, мы были поисковой компанией — это был большой скачёк для нас выпустить почтовый сервис, не говоря уже о том что мы дали пользователям в сотню раз больше свободного места чем они могли получить где-либо еще. Это не что-то что могло бы произойти само собой если бы мы просто сосредоточились на постепенном улучшении.
Tim: Но вы же должны улучшать и ваши существующие продукты, верно?
Larry Page: Конечно. Но периодически, каждые несколько лет, вам следует работать над чем-то новым, что на ваш взгляд является поистине удивительным.
Tim: Теперь у вас есть отдельное подразделение называемое Google X, предназначенное для таких «moon-shot» проектов (прим. автора: не знал как это точно перевести поэтому так и оставил, здесь имеются ввиду революционные проекты вроде полётов на луну и т.п.), как например самоуправляемые автомобили. Почему вы решили что нужно учредить целый департамент для этого?
Larry Page: Я думаю нам необходимо делать прорывные вещи, а не просто улучшать то что есть и это касается всего нашего бизнеса. Но сейчас Google X делает вещи которые могут быть сделаны более независимо.
Знаете, у нас всегда есть такие споры: У нас есть все эти деньги, у нас есть все эти люди, так почему же мы просто не производим больше? Вы можете сказать что Apple делает очень небольшое кол-во вещей, и это довольно хорошо работает для них. Но я нахожу это неудовлетворительным. Я чувствую как много возможностей использования технологий для улучшения жизни людей сейчас существует в мире. В Google мы нацелены лишь на 0,1% от этих возможностей. А все вместе взятые технологические компании охватывают лишь около 1%. Это означает что 99% это возможности которые упускаются. Инвесторы всегда беспокоятся: «Ах, вы ребята собираетесь потратить слишком много денег на эти сумасшедшие вещи.» Но это как раз сейчас те самые захватывающие вещи — YouTube, Chrome, Android. Если вы не делаете что-то сумасшедшее значит то что вы делаете неправильно!
Tim: Но с другой стороны — первопроходцам всегда приходится не легко. Посмотрите что было с Xerox PARK, не похоже чтобы их фантастические инновации особо помогли самой корпорации.
Larry Page: PARC имела впечатляющую исследовательскую организацию и они внесли большой вклад в современные вычислительные технологии. Но они не были сосредоточены на получении прибыли от своих изобретений. А этого упускать нельзя. Возьмём к примеру компанию Tesla, которой я восхищаюсь. Они не просто сделали действительно инновационный автомобиль, а вероятно около 99% своих усилий потратили выясняя как сделать чтобы их продукт стал массовым и популярным и чтобы им действительно начали пользоваться. Когда я еще только рос, я хотел быть изобретателем. Но потом я понял что есть слишком много печальных историй о изобретателях, таких как Никола Тесла к примеру. Это удивительные люди, которые не имели большого влияния, по причине того что не превращали свои изобретения в бизнес.
Читать дальше →
Total votes 96: ↑77 and ↓19+58
Comments16

Целесообразность применения Raspberry Pi в качестве NAS

Reading time4 min
Views195K
Эту статью я решил написать т.к. отсутствие подобной статьи перевесило мое желание покупки Raspberry Pi и применение ее в качестве NAS. Ниже мы рассмотрим целесообразность такого применения с цифрами скоростей копирования, и сделаем выводы, каждый свои.
Читать дальше →
Total votes 74: ↑64 and ↓10+54
Comments93

Мини-ПК Raspberry Pi Model A за 25$ уже пущены в производство

Reading time1 min
Views62K


Raspberry Pi Foundation со времени выпуска своего мини-компьютера Raspberry Pi Model В продала уже несколько сотен тысяч таких устройств. Цена указанной модели составляет 35 долларов США. Но ведь, если помните, компания обещала предоставить мини-компьютеры за 25 долларов, и именно о модели Raspberry Pi Model A хабрасообщество услышало в первый раз. Теперь компания исполняет обещанное, и Raspberry Pi Model A запущена в производство. Другими словами, в самом начале следующего года все желающие смогут получить эту модель (первые устройства уже сошли с конвейера).

Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments6

Nokia Maps в Windows Phone 8

Reading time3 min
Views67K
За обсуждением камеры и беспроводной зарядки в новых смартфонах Nokia Lumia 920 и Nokia Lumia 820 и последующим традиционным срачем, как-то смазалась одна из самых интересных фишек этих устройств под названием «навигация». Попробую восполнить этот недостаток и перечислить основные изменения и дополнения в Nokia Maps под Windows Phone 8.

image
Читать дальше →
Total votes 78: ↑65 and ↓13+52
Comments100

Не тратьте своё время на дерьмовую работу в стартапе

Reading time21 min
Views73K
Под катом перевод огромной статьи, написанной Майклом Чёрчем и посвящённой стартапам. Статья вызвала необыкновенное бурление… мнений, скажем так, на разных сайтах и агрегаторах, поэтому я решил её перевести на русский и посмотреть на реакцию. Текст ОЧЕНЬ длинный, но также и очень интересный. И несколько пояснений перед чтением: в статье речь идёт об инженере в стартапе, именно с этой позиции всё рассматривать; некоторые финансово-экономические термины, возможно, не очень адекватно удались и я буду рад любым конструктивным поправкам.

То, о чём я хочу рассказать, справедливо для июля 2012 г. 15 лет назад необязательно было так же, и не факт, что будет справедливо через год. Но в данный момент это абсолютно верно для большинства людей в достаточной степени, так что я считаю обязанным высказаться. Нынешний мир ИК-стартапов (ИК=инвестиционный капитал / venture capital) — я его нежно называю ИК-стан — является, мягко говоря, тотально напрасной тратой времени для большинства вовлечённых людей.
Читать дальше →
Total votes 238: ↑221 and ↓17+204
Comments77

Изучение английского языка с помощью параллельных переводов

Reading time2 min
Views71K
Изучение английского языка — дело непростое и небыстрое. Хотя этот язык и считается одним из самых простых и прозрачных для изучения, но в действительности прозрачен в английском языке только синтаксис. Специфика произношения английских слов и наличие большого количества идиом значительно усложняют изучение этого языка. Если при разговоре на русском языке основную роль играют согласные, то при разговоре на английском языке основное внимание уделяется гласным.

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

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

На сайте getParallelTranslations.com процесс изучения английских слов с помощью параллельных переводов выглядит следующим образом.

Есть набор художественных книг. На данный момент их около пятидесяти. Вы можете выбрать любую из книг для изучения английского языка.
Каждая книга разбита на предложения как показано на рисунке ниже.
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments67

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity