.и в продакшен
2.47K subscribers
9 photos
3 videos
107 links
Фаундер-технарь - канал основателя www.jitbit.com, Alexander Yumashev @jitbit

Как быть CTO/CEO одновременно, как растить bootstrapped-стартапы и прочая айтишечка.
Download Telegram
Прошлой осенью в Бостоне на конференции познакомился с очень интересным чувачком... История у него просто огонь (если не врет конечно).

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

Потом знакомый админ из соседней конторы попросил написать что-то похожее (у них тоже стоял без дела огромный автосканер). Потом еще один.

Потом какая-то компания попросила драйвер для сканера фотопленок. Потом еще одна. И еще одна.

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

Короче, через 5 лет они обнаружили себя в центре бизнеса с оборотом пару миллионов год, под названием VueScan. Про ребят написали все - от "Washington Post" до "New York Times" и PC/Mac журналов.

Сейчас папа с сыном ревёрсят и пилят дрова для 6000 (шести тысяч) сканеров, факсов, копиров и всего прочего говна, которое давно снято с производства и не поддерживается современными ОС.

Обожаю такие истории. Accidental business, да еще и win-win со всех сторон - и людям помогают, и продлевают жизнь старым устройствам, и сокращают кол-во техномусора, и деньги зарабатывают.
👍3
Извините, не про стартапы.

Заметил за собой, что все чаще юзаю конструкцию do-while(false) - никогда не догадаетесь для чего - для "быстро выйти из нескольких вложенных if сразу"

Это хак из мира C-шников, у них так давно принято.

Меня, идиота, научили совсем недавно.

Работает так

do
{
if (xxx)
{
//громоздкое вычисление yyy
if (yyy)
{
//громоздкое вычисление zz
if (zzz)
//чтото делаем
else
break; //выходим нахуй
}
}
}
while (false)

Вы спросите "НАХЕРА? почему не просто if (xxx && yyy && zzz) ?? Ведь сработает "short circuiting" в операторе &&"

Потому что "громоздкое вычисление".

Я не хочу вычислять следующую переменную (yyy и zzz) анлесс мне реально это надо. А внутрь if()-выражения вычисление может и не поместиться.

Вы опять спросите "НАХЕРА? почему бы тогда не вынести вычисление yyy во внешний метод?" А потому что значение yyy я юзаю много раз и не хочу вычислять его повторно. Ну и вообще - читаемо же? красиво же? не?

Собственно, while (false) опеспечивает, что код выполнится ровно один раз.

"Громоздкое вычисление" не обязательно именно вычисление, это может быть, например, чтение из медленной базы данных - самый частый боттлнек на бекенде.

Такая вот оптимизация. Спасибо вам, Сишники.

P.S. подход ни к коем случае не предлагается в качестве паттерна. while(true) { ранний выход } более читаем, например. Но это отличный костыль к уже написанному коду, решающий задачу "быстро выйти из кучи if"
👍1
Гугл собирается в течении двух лет выпилить из Хрома поддержку сторонних кукисов (спасибо Prenom за наводку в чате Самата)

На первый взгляд это выглядит, как защита интересов пользователей, прайваси-шмайвайси. Ура. Подданным предлагается перейти к торжествам и празднествам.

На второй, более трезвый взгляд - это, конечно, удар по конкурентам. По рекламным-сетям, по Фейсбуку, по всем прочим, кто лишится трекинга пользователей (сам-то Гугл не лишится, он продолжит трекать юзеров через альтернативные каналы - Хром, AMP, карты, Gmail, Андроид и тп).

На Хромиум давят Мозилла и Эппл, с их агрессивной кампанией "за приватность", и Хрому приходится чем-то отвечать. И щас был идеальный ответ. Мол, смотрите, мы тоже за приватность (хихи), мы запрещаем куки (хихи). Хотя на самом деле это, конечно, довольно циничный шаг плюс PR stunt, решающий разом кучу проблем, к тому же создающий обманчивое ощущение, что Хром заботится о юзерах, а Сафари и Мозилла - нет.

(бизнесмен и маркетолог внутри меня аплодируют стоя - это действительно умный и классный ход :) )

Не будем, короче, заблуждаться. Как там было в знаменитой цитате Джеффри Хамербахера, который уволился из Фейсбука?

"The best minds of my generation are thinking about how to make people click ads."

PS. Проблему трекинга запрет куки, кстати, не решит. Просто трекинг уйдет с фронта на бэк, через трекинг-пиксели <img src>, через DNS-трекинг (добавляем на страницу ссылки на домены со случайным текстом в доменном имени, и браузер уже при парсинге HTML будет слать DNS-запросы куда надо, вы ведь уже включили dns-prefetch, как советуют в Google Page Speed?)

PPS. в комментах на хакер-ньюс пишут, что монополия гугла - это куда более серьезная проблема, чем реклама с ее трекерами. Потому что реклама, в общем, помогает делать Интернет более открытым и свободным. В отличии от монополий а-ля Гугл. Очень интересная параллель - за свободу слова больше всех борются владельцы стрип-клубов, порно-сайтов, магазинов оружия, продавцы марихуаны и прочие. Это очень мутные и странные бизнесы, но именно ОНИ своей борьбой делают экосистему здоровее, это благодаря им (а не Гуглу и Фейсбуку) мы наслаждаемся отсутствием цензуры, свободой слова и прочими благами современного мира.
Всегда как-то неловко писать о себе, но пара человек в личке и в чатах попросили рассказать, с чего начался наш стартап, как он вырос и позволил мне с семьей (и всем сотрудникам) уволиться с нелюбимых работ и даже завести трактор.

Обещаю скоро написать большой пост на русском, а пока вот вот тут есть мое большое интервью на английском, где все это есть.

#shamelessplug
👍2
Удаленная работа - это сложно. Внешние constraints отсутствуют, вся дисциплина - на тебе самом. Я бы сравнил это с переездом от родителей в общагу или квартиру - надо вдруг самому убираться, готовить и планировать бюджет.

Качество командной работы пострадает. Ваши социальные скиллы деградируют. Вам будет одиноко и вас будет куча всего отвлекать.

Как устроено у нас (далее бессистемный список в формате "вспомнил - написал")

1) Happy hour - час или два в сутки, когда все в онлайне. Это для тех команд, которые сильно размазаны по таймзонам. Я в Сиэттле, ты в Стамбуле, но в 5 по гринвичу - все в Слэк плз.

2) интро-видосы - все сотрудники записывают простенькое видео на телефон «вот мой комп, вот мой стол, вот так я работаю, вот пробежала моя собака, а вот Слэк, где я вам пишу!». Мой младший партнер Макс - вродебы стеснительный задрот - к концу ролика разошёлся и 10 минут рассказывал про свою коллекцию Лего. Видосы - сложить кудато во внутреннюю Вики, давать почитать всем новым сотрудникам.

Это самый важный хак из всех. Человек перестаёт быть аватаркой в Слэке и становится собой. Себя снимать, кстати, не обязательно (ремарка для тех, кто стесняется). У нас все ролики как раз в формате "голос за кадром". Но рабочее место желательно показать. Сразу живо представляешь себе, как человек там трудится и это очень сближает.

3) Ежемесячные (или еженедельные) видео-тусы: берем 2, 3, 4, 5 рандомных работников и в пятницу сажаем в видео-конференцию без какой-либо повестки. Просто разговор. О чем угодно. "Какое же говно последние Звездные войны" - "Ну зато Мандалориан неплох" - "А я пошел на курсы готовки".

Из этой же серии - обязательный чат "не про работу" в Слэке. Можно даже выпилить из него начальство, если оно нудное.

4) Умение письменно излагать свои мысли - сделать критерием для приема на работу. Уже на этапе удаленного собеса смотреть, насколько лаконично, читаемо и, главное, БЫСТРО человек общается.

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

Все это надо объяснять, учить. Вообще, недосказаность - это первый источник нервов при удаленке. Человека никто не научил "как надо", а потом злятся, что он что-то делает не так. Это же не офис, в курилке не подскажут.

Поэтому - always overcommunicate. Лучше избыток коммуникации, чем недостаток.

5) Workstation allowance - бюджет на технику (ноуты, наушники).

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

Ну и вообще бюджет лучше не жать. Кто-то хочет работать на тренажере для гребли? Ради бога.

6) Coworking allowance - не все могут (и хотят) работать у себя на кухне. Кому-то проще в кофешопе или даже арендовать постоянное место в коворкинге. У нас выделен на это бюджет.

7) Company retreats - раз в год (а лучше чаще) все сотрудники вывозятся КУДА-ТО и тусят вместе. Желательно, чтобы локация провоцировала совместную деятельность - никто не заставляет переться всем вместе на условный скалодром, достаточно плейстейшена и настольных игр в общей гостиной. Хотя скалодром, конечно, веселее. Нас, интровертов лучше организовывать извне, чем ждать инициативы.

Мне кажется, для маленькой компании лучший формат - огромное шале с 8-12 спальнями и большой гостиной и кухней. Мы, кстати, в наш следующий ретрит, наверно, поедем в Россию, в Розу-Хутор!

8) 1-on-1 видео-звонки регулярно. Хотя нормальный менеджер это и в офисе должен делать...

Если вспомню еще чтото - напишу.
Простите, я на минутку. Что-то меня триггернуло...

Apple, как известно, запустила Apple Card (пока только в Штатах). Красивая такая кредитка, интегрирована с Wallet, рисует приятные отчеты, предлагает кешбек, беспроцентный кредит на новый айфон и прочие плюшки.

Ну наконец-то! Кому, как не Эпплу делать свой fintech. Будет "нативный" аналог европейской карты Revolut (охерически удобная, кстати, штука, давно пользуюсь).

"Вжжих!!" сказала пила.
"Ух, бля!!" подумали лесорубы (tm)

Нет, правда. Я такую карту, конечно бы не завел (вендор-лок и все такое) но это же гениальный бизнес ход.

Created by Apple not a bank

Хер там.

Оказалось, Эппл к карте отношения не имеет. Карты выпускает Голдман Сакс. Решения о кредитах выносит тоже он, коллектор долгов тоже он, финансовое "плечо" предоставляет тоже он. Да и, собственно, решение кому эту карту выдавать, а кому отказать - принимают в банке.

А отказов стало подозрительно много видимо, поэтому пиар-служба Goldman Sachs на прошлой неделе вдруг вылезла изо всех дыр и поспешила обо всем вышесказанном сообщить.

Короче, опять дискриминационный black box (я, как гражданин РФ живущий в ЕС, да еще и владелец компании, постоянно с этим сталкиваюсь в традиционных банках - меня принимают то за мафию, то за чиновника-коррупционера, то за русского хакера - спасибо отчизне за испорченную репутацию).

"Стефан Шер из Голдман Сакс официально подтвердил, что Эппл официально отстранена от принятия любых решений по менеджменту счетов." Даже когда вы звоните в техподдержку Apple Card - вы на самом деле общаетесь с сотрудником GS. Эппл всеголишь сдал в аренду бренд и помог накодить приложение.

"Not a bank" my ass. Ну понятно. Расходимся.

"То-то же, бля" подумали лесорубы (tm)

https://twitter.com/AppleCard/status/1215737537639206912
Юникод крутой.

Вот сделал такой модный сёрчбокс, например - без всяких background-image, без CSS-хаков, без svg и иконочных шрифтов. И на ретине норм.