Вход по ssh, отключение доступа по паролю и отключение root аутентификации

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

Итак, стоит задача чуть-чуть засекурить вновь арендованный сервер, а именно создать нового пользователя, настроить ему логин по ssh ключу, отключить доступ по паролю и отключить аутентификацию от root пользователя.

  1. Да сотворю я пользователя нового и добавлю его в группу админску, дабы умел он пользоваться всеми благами sudo:
adduser manjarqo

вводим дважды пароль никому не ведаемый, дабы супостат не смог прознать тайны заветной(ясно-понятно вместо manjarqo имя своего юзера). Потом добавляем ему sudo привелегии:

usermod -aG sudo manjarqo

2. На локальной машине если ещё не создан ssh ключ то генерим:

ssh-keygen -t rsa

Если уже есть то сразу выполняем:

ssh-copy-id [email protected]

Вводим пароль, который задали при создании пользователя, после чего проверяем появился ли доступ по ключу:

ssh [email protected]

Если залогинился то переходим к следующему пункту, если не залогинился, то разбирайтесь что пошло ни так и потом переходите к следующему пункту.

3. После входа на сервер по ключу от нового пользователя открываем для редактирования ssh конфиг и чуть-чуть его правим:

sudo nano /etc/ssh/sshd_config

В нём приводим строку к виду PasswordAuthentication no, предварительно раскомментировав если закоментирована и строку к виду PermitRootLogin no, так же раскомментировав, после чего перезапускаем службу ssh командой:

sudo service ssh restart

Если всё прошло хорошо, то под root пользователем больше не зайти, что сразу же обломит тех кто непрерывно брутфорсит наш сервак и вообще вход возможен только человеку у которого в папке ~/ssh лежит именно ваш ключик, так что берегите его.
Всем добра!

Чем в macOS перегнать dvd в mp4

Возникла необходимость перегнать dvd диск в нормальный формат, скопировал целиком файлы с диска на мак, стал искать и нашел кучу платных решений, оказалось что есть великолепный инструмент Handbrake. По ссылке на офсайте есть версия и для M1 Apple Silicon. Работает великолепно.

Запускаем android emulator на процессоре m1 от Apple

Собственно стал я на днях счастливым обладателем MacBook Air на новеньком процессоре M1 от всем известной фруктовой компании. Установил как обычно Android Studio и только было решил насладиться разработкой приложения во Flutter, как оказалось что эмулятор Андрюхин-то, не работает вовсе.

Решение оказалось крайне простым скачиваем отсюдава https://github.com/google/android-emulator-m1-preview
устанавливаем. При первом запуске макось ругнется: «Не гоже тебе, боярин, всяческое непотребство из неизвестных источников ставить!», заходим в настройки безопасности и жамкаем подтвердить вход и всё, вполне себе работоспособный эмулятор установлен в нашей чудо-пишущей машинке.

hackintosh ice lake i5-1035g1 EL[0] was invalidated

После установки хакинтоша на Lenovo v14-iil время от времени случалась паника ядра с такой ошибкой:

panic(cpu 0 caller 0xffffff7f8d5e4f42): "EL[0] was invalidated!!"@icl/sched5/IGHardwareCommandStreamer.cpp:64
Backtrace (CPU 0), Frame : Return Address
0xffffff81db0d5860 : 0xffffff800ab1a65d mach_kernel : _handle_debugger_trap + 0x49d
0xffffff81db0d58b0 : 0xffffff800ac54a75 mach_kernel : _kdp_i386_trap + 0x155
0xffffff81db0d58f0 : 0xffffff800ac465fe mach_kernel : _kernel_trap + 0x4ee
0xffffff81db0d5940 : 0xffffff7f8ea2d6f4 as.vit9696.VirtualSMC : __ZN18VirtualSMCProvider10kernelTrapI22x86_saved_state_1010_tEEvPT_Pm + 0x454
0xffffff81db0d59c0 : 0xffffff800aac0a40 mach_kernel : _return_from_trap + 0xe0
0xffffff81db0d59e0 : 0xffffff800ab19d27 mach_kernel : _DebuggerTrapWithState + 0x17
0xffffff81db0d5ae0 : 0xffffff800ab1a117 mach_kernel : _panic_trap_to_debugger + 0x227
0xffffff81db0d5b30 : 0xffffff800b2c1a6c mach_kernel : _panic + 0x54
0xffffff81db0d5ba0 : 0xffffff7f8d5e4f42 com.apple.driver.AppleIntelICLGraphics : __ZL27ContextStatusBufferValidateRK15IGHwCsExecList5PK28SGfxContextStatusBufferEntry.cold.2
0xffffff81db0d5bb0 : 0xffffff7f8d58fe7c com.apple.driver.AppleIntelICLGraphics : __ZL27ContextStatusBufferValidateRK15IGHwCsExecList5PK28SGfxContextStatusBufferEntry + 0x2a
0xffffff81db0d5bc0 : 0xffffff7f8d5902f1 com.apple.driver.AppleIntelICLGraphics : __ZN26IGHardwareCommandStreamer522csbProcessActiveToIdleEPK28SGfxContextStatusBufferEntry + 0x25
0xffffff81db0d5c00 : 0xffffff7f8d58edbe com.apple.driver.AppleIntelICLGraphics : __ZN26IGHardwareCommandStreamer526processContextStatusBufferEj + 0x166
0xffffff81db0d5c50 : 0xffffff7f8d58eb94 com.apple.driver.AppleIntelICLGraphics : __ZN26IGHardwareCommandStreamer513schedDispatchEj + 0x52
0xffffff81db0d5c70 : 0xffffff7f8d58d820 com.apple.driver.AppleIntelICLGraphics : __ZN26IGHardwareCommandStreamer536handleSoftwareContextSwitchInterruptEP22IOInterruptEventSourcei + 0xc8
0xffffff81db0d5cb0 : 0xffffff7f8d59f13e com.apple.driver.AppleIntelICLGraphics : __ZN17IGInterruptBridge17serviceInterruptsERK8IGBitSetILm41EE + 0x54
0xffffff81db0d5cf0 : 0xffffff7f8d59f1df com.apple.driver.AppleIntelICLGraphics : __ZN17IGInterruptBridge17processInterruptsEPy + 0x61
0xffffff81db0d5e10 : 0xffffff7f8d57dcfe com.apple.driver.AppleIntelICLGraphics : __ZN16IntelAccelerator36_ProcessNonDisplayInterruptsCallbackEP8OSObjectPy + 0x10
0xffffff81db0d5e20 : 0xffffff7f8ced8551 com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController36ProcessNonDisplayInterruptsCallbacksEv + 0x3b
0xffffff81db0d5e60 : 0xffffff7f8cef9ed2 com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController16ProcessInterruptEv + 0x12e
0xffffff81db0d5eb0 : 0xffffff7f8cefaf3d com.apple.driver.AppleIntelICLLPGraphicsFramebuffer : __ZN31AppleIntelFramebufferController18HWInterruptHandlerEP28IOFilterInterruptEventSource + 0x15
0xffffff81db0d5ed0 : 0xffffff800b230d36 mach_kernel : __ZN28IOFilterInterruptEventSource23normalInterruptOccurredEPvP9IOServicei + 0x76
0xffffff81db0d5f00 : 0xffffff7f8b8d407e com.apple.iokit.IOPCIFamily : __ZN32IOPCIMessagedInterruptController15handleInterruptEPvP9IOServicei + 0x126
0xffffff81db0d5f50 : 0xffffff7f8c57c88c com.apple.driver.AppleACPIPlatform : __ZN23AppleACPIPlatformExpert23dispatchGlobalInterruptEi + 0x2e
0xffffff81db0d5f60 : 0xffffff7f8c585547 com.apple.driver.AppleACPIPlatform : __ZN31AppleACPICPUInterruptController15handleInterruptEPvP9IOServicei + 0x6b
0xffffff81db0d5f80 : 0xffffff800ac45e4d mach_kernel : _interrupt + 0x17d
0xffffff81db0d5fd0 : 0xffffff800aac0bed mach_kernel : _hndl_allintrs + 0x11d
      Kernel Extensions in backtrace:
         com.apple.iokit.IOPCIFamily(2.9)[44472E6F-8DA0-3B46-ADEF-AFF76EC6C6DB]@0xffffff7f8b8b4000->0xffffff7f8b8ecfff
         com.apple.driver.AppleACPIPlatform(6.1)[0EF10B66-B44B-32BB-9CE3-5434F4D40FE1]@0xffffff7f8c575000->0xffffff7f8c60ffff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[2956198D-24F2-3790-A9B2-1EAB9434B906]@0xffffff7f8b8a2000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[44472E6F-8DA0-3B46-ADEF-AFF76EC6C6DB]@0xffffff7f8b8b4000
            dependency: com.apple.driver.AppleSMC(3.1.9)[D2F0B610-83F8-3B84-B0BD-D9D0CC95A697]@0xffffff7f8b8f3000
         as.vit9696.VirtualSMC(1.1.7)[82514289-1BE6-3D64-B088-1D4ADE840C66]@0xffffff7f8ea1d000->0xffffff7f8ea44fff
            dependency: as.vit9696.Lilu(1.4.6)[DF135818-86FD-3053-8FF2-974F99CCF2CD]@0xffffff7f8dabe000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[2956198D-24F2-3790-A9B2-1EAB9434B906]@0xffffff7f8b8a2000
         com.apple.driver.AppleIntelICLLPGraphicsFramebuffer(14.0.7)[CB4E7B11-AD8B-3D5A-A395-B1B20A7E5B4F]@0xffffff7f8ce82000->0xffffff7f8d120fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[44472E6F-8DA0-3B46-ADEF-AFF76EC6C6DB]@0xffffff7f8b8b4000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[2956198D-24F2-3790-A9B2-1EAB9434B906]@0xffffff7f8b8a2000
            dependency: com.apple.iokit.IOAcceleratorFamily2(438.7.3)[B263A05C-9992-3742-AD6C-295E68E22576]@0xffffff7f8cda9000
            dependency: com.apple.iokit.IOReportFamily(47)[72B53B80-5713-30C1-BAD8-9D55FD718DA2]@0xffffff7f8b49f000
            dependency: com.apple.AppleGraphicsDeviceControl(5.2.6)[E04CD680-EC03-39ED-99C6-902C8495543F]@0xffffff7f8beff000
            dependency: com.apple.iokit.IOGraphicsFamily(576.1)[1279CBF9-88F1-3EB4-9566-1085DBF6DF8B]@0xffffff7f8bbb7000
         com.apple.driver.AppleIntelICLGraphics(14.0.7)[EA758752-A14E-383E-8DF2-D0FA9C7BF06D]@0xffffff7f8d555000->0xffffff7f8d6d1fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[44472E6F-8DA0-3B46-ADEF-AFF76EC6C6DB]@0xffffff7f8b8b4000
            dependency: com.apple.iokit.IOSurface(269.11)[2A27F1EB-4418-37FF-82CC-9891C39C6943]@0xffffff7f8cc05000
            dependency: com.apple.iokit.IOGraphicsFamily(576.1)[1279CBF9-88F1-3EB4-9566-1085DBF6DF8B]@0xffffff7f8bbb7000
            dependency: com.apple.iokit.IOAcceleratorFamily2(438.7.3)[B263A05C-9992-3742-AD6C-295E68E22576]@0xffffff7f8cda9000

BSD process name corresponding to current thread: Google Chrome He
Boot args: -v -igfxcdc -igfxdvmt keepsyms=1 debug=0x100 darkwake=0 -noDC9 

Mac OS version:
19H2

Kernel version:
Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64
Kernel UUID: 05D51A3D-3A87-3FF0-98C3-9CF3827A3EDD
Kernel slide:     0x000000000a800000
Kernel text base: 0xffffff800aa00000
__HIB  text base: 0xffffff800a900000
System model name: MacBookPro16,2 (Mac-5F9802EFE386AA28)
System shutdown begun: NO
Panic diags file available: YES (0x0)

System uptime in nanoseconds: 36038959442354

Решение оказалось крайне простым, нужно добавить в конфиг OpenCore вот такой bootarg igfxfw=2

Автодополнение в oh-my-zsh как в fish

Нравится мне значится оболочка zsh и как частный её случай выступает oh-my-zsh. Всё бы ничего, но угораздило меня как-то попробовать fish и я крайне полюбил как там реализованы автодополнения. Прогуглил и нашел как реализовать, пишу здесь это, как и всё прочее, себе на память.

  1. Если у васм ещё не установлен oh-my-zsh то устаналиваем командой:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  1. После чего клонируем необходимые для fish подобного автокомплита плагины.
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git  ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
  1. Прописываем плагины в конфиг ~/.zshrc :
plugins = ( [plugins...] zsh-autosuggestions history-substring-search zsh-syntax-highlighting)

Внимание: убедитесь, что zsh-syntax-highlighting записан последним в списке плагинов.

  1. Если отображется не ахти как, то попробуйте в конфиг вписать такое изменение стилей ~/.zshrc.
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=white'
  1. Скармливаем zsh исправленный конфиг:
source ~/.zshrc

MacOS Big Sur и sshfs

Ранее я уже писал небольшой пост о том как подключаться из MacOS через SSH к удаленной файловой системе используя SSHFS и OSXFUSE. Но вот в последней версии десктопной яблочной системы, почему то из Homebrew исчез пакет sshfs, сказать что для меня это стало трагедией это ни сказать ничего.

Безусловно, для копирования на удалённый сервер и из него файлов и каталогов, можно использовать обычный терминальный инструмент scp. Как то например:

scp -r /home/manjarqo/catalog [email protected]:/home/manjarqo/

Но я уже избалован GUI интерфейсами и мне крайне лениво каждый раз вводить этит замечательные комбинации команд.

Так вот нашел я для себя решение в виде готового приложения под названием Mountain Duck.

MacOS и внешний монитор через HDMI или VGA на ноутбуке Lenovo v14 iil

Итак, как можно понять из заголовка топика есть у меня Lenovo v14-iil, на нём традиционно установлен MacOS Big Sur. Эта моя замена MacBook Pro не сильно уступающая по производительности, но крайне уступающая в цене, так мой экземпляр на процессоре i5 1035G1, с мной докинутой то 20 гигабайт оперативкой, докинутым SSD диском обошелся мне в 45к рублей. И как рабочая лошадка, на которой можно разрабатывать под яблочные девайсы, монтировать видео в файнал кате и просто радоваться привычным юзерфрендлиевым приложениям макоси, он меня устраивает чуть больше чем полностью.

До сего дня был на нём один недостаток который не позволял мне радоваться жизнью так как я мог бы. Этот недостаток в том, что процессор 10-го поколения Intel, счастливым обладателем коего я являюсь на настоящиках встречается только в комплекте с usb type С, но никак не с hdmi, посему яблочные драйверописцы предусмотрительно не написали поддержку для HDMI, а по закону бутерброда у меня как раз таки HDMI и никаких тебе ЮСБ тайп си.

И вот сегодня пришла вот такая вот штукенция благодаря ей теперь работаю на внешнем мониторе в маке чего и вам желаю. Владельцам же настоящиков эта штука позволит выводить картинку на несколько дисплеев. Работает так же и в Windows. Явных задержек мною замечено не было, даже видео c youtube в 4k 60fps тянет без отставания звука от картинки. в общем рекомендую. Ссылка не реферальная, вставил ее только потому что сам покупал у этого магазина, это не реклама поэтому можете покупать в другом месте, хотя отправил продавец быстро и пришло за пару недель.

((tabController)) != nil или как мой .xcworkspace падал при открытии

Здравствуй мой юный друг, я расскажу тебе сказочку, о том как давным-давно в тридевятом царстве-тридесятом государстве… Короче пол дня просовокуплялся я с этой ошибкой из кода ниже. Собрался я билдить для яблокостора очередную версию своей flutter приложуньки, и при открытии .xcworkspace моего проекта xcode молчаливо(с его стороны, я же со своей стороны был нескромен в высказываниях и перечислениях всех моральных качеств, всей родни разработчиков всея apple developers до седьмого колена) падал.

Решение было крайне простым, я тупо открыл проект в vscode и в каталоге .xcworkspace удалил наглухо каталог xcuserdata со всем его сратым содержимым. Занавес…

Process:               Xcode [650]
Path:                  /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:            Xcode
Version:               12.3 (17715)
Build Info:            IDEFrameworks-17715000000000000~8 (12C33)
App Item ID:           497799835
App External ID:       839512638
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Xcode [650]
User ID:               501

Date/Time:             2021-03-09 22:49:09.037 +0300
OS Version:            macOS 11.1 (20C69)
Report Version:        12
Anonymous UUID:        8C982321-3B9A-84D2-790A-2EA04A57AD85

Sleep/Wake UUID:       4F3724F4-187C-40B3-A7DB-CA517BF94559

Time Awake Since Boot: 100 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
ProductBuildVersion: 12C33
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-17715/IDEKit/Workspace/IDEWorkspaceDocument.m:3270
Details:  (tabController) should not be nil.
Object:   <IDEWorkspaceDocument: 0x7fe3b9074a50>
Method:   -commitStateToDictionary:
Thread:   <NSThread: 0x7fe3b2c073c0>{number = 1, name = main}
Open FDs: 39/7168
Hints:   
 
Backtrace:
  0   -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   -[IDEWorkspaceDocument commitStateToDictionary:] (in IDEKit)
  4   -[DVTStateToken _copyStatefulObjectState] (in DVTFoundation)
  5   -[DVTStateToken pushStateToRepositoryAndReturnError:] (in DVTFoundation)
  6   -[DVTStateRepository _updateStateIfNeeded] (in DVTFoundation)
  7   -[DVTStateRepository collectStateFromRegisteredObjects] (in DVTFoundation)
  8   -[IDEWorkspaceDocument writeStateData] (in IDEKit)
  9   __28-[IDEWorkspaceDocument init]_block_invoke (in IDEKit)
 10   -[DVTDelayedInvocation runBlock:] (in DVTFoundation)
 11   __NSFireDelayedPerform (in Foundation)
 12   __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ (in CoreFoundation)
 13   __CFRunLoopDoTimer (in CoreFoundation)
 14   __CFRunLoopDoTimers (in CoreFoundation)
 15   __CFRunLoopRun (in CoreFoundation)
 16   CFRunLoopRunSpecific (in CoreFoundation)
 17   RunCurrentEventLoopInMode (in HIToolbox)
 18   ReceiveNextEventCommon (in HIToolbox)
 19   _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
 20   _DPSNextEvent (in AppKit)
 21   -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
 22   -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
 23   -[NSApplication run] (in AppKit)
 24   NSApplicationMain (in AppKit)
 25   start (in libdyld.dylib)
 
abort() called

Application Specific Signatures:
((tabController)) != nil

Error installing BoringSSL-GRPC

Стал я значится flutter разработчиком с пол года как. И вот всё было довольно неплохо, напейсал цельных два приложения и успешно разместил в апсторах и плеймаркетах. Но после обновления на flutter 2.0.1 что то при билде под iOs пошло не так. Возникла ошибка которая представлена ниже при команде pod install

[email protected] ios % pod install    
Analyzing dependencies
cloud_firestore: Using Firebase SDK version '6.33.0' defined in 'firebase_core'
firebase_auth: Using Firebase SDK version '6.33.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '6.33.0' defined in 'firebase_core'
firebase_messaging: Using Firebase SDK version '6.33.0' defined in 'firebase_core'
Downloading dependencies
Installing BoringSSL-GRPC (0.0.7)

[!] Error installing BoringSSL-GRPC
[!] /usr/bin/git clone https://github.com/google/boringssl.git /var/folders/fb/fxsnv_l944l5mg6p859jqxnh0000gn/T/d20210306-4220-ge6hhi --template=

Cloning into '/var/folders/fb/fxsnv_l944l5mg6p859jqxnh0000gn/T/d20210306-4220-ge6hhi'...
fatal: the remote end hung up unexpectedly

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

На буржуйских форумах сказали, что вероятно всяческие постоянные блокировки безбожные всяческих айпишников нашим великими организациями типа РКН и постоянные добавления беспорядочное различных айпишников в блеклисты приводит к таким вот недоразумениям. Всем добра.

Ходи на конфы!

Привет, бро!?
Давненько не общались. Расскажу в двух словах о прошлых выходных.
В прошлую субботу мне посчастливилось побывать на крутой конфе DevFest Krasnodar 2019 : Back To The Future .
Познакомился на ней с крутыми ребятами. И самое главное событие для меня стало знакомство с Ильёй, 20-ти летним, на первый взгляд, ничем не примечательным парнем. «Чем же меня так потрясло это знакомство?» — спросишь ты.
Не спросишь? Ну да ладно, ты же знаешь, я всё равно расскажу.???

Ну слушай. Короче, он окончил колледж по специальности «Монтажник холодильного оборудования» и сейчас в свои 20 лет работает в финтех компании, продакт менеджером, зарабатывает 80 тысяч рублей. Снимает со своей девушкой скромную двухкомнатную квартирку (80 кв.м.) с отличным ремонтом, располагающуюся почти в самом центре Краснодара. Он весь на саморазвитии, те методы и способы которые я начал применять для себя последние пару лет, он пользует уже в своём юном возрасте. И что примечательно еще год назад Илья жил с мамой в 1 комнате 12 кв.м. в общежитии и вместо того, чтобы как большинство сверстников «отдыхать, веселицо, танцевать», этот, по-хорошему, ненормальный парень, читал книжки и инвестировал в себя и свои скилы.

Глядя на него я откровенно понимаю, что лет 10 моей жизни, были тупо просраны в ожидании «маны небесной».
Ну типа ждал повышения по службе, ждал повышения зряплаты, ждал от кого-то чего-то. А оказывается нужно было тупо развиваться и инвестировать в себя(а чё так можна было, да??) и достигать поставленных целей(или не достигать, но всё ранво идти к ним??).

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

Прошедшее воскресенье тоже не прошло впустую. Я побывал на «KRD STARTUP DAY 2019». Основным инсайтом этого мероприятия для меня стало, что «зная только лишь башкирский язык, не стоит выходить на западные рынки»? Не ну а чё, а я уже репетитора башкирского языка, себе искать было начал, а тут на тебе, новость???.

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

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

Если у тебя в будущем наклевывается какая-то конфа или митап, не тупи и не жмись потратить деньги, сходи, посмотри, пообщайся, познакомься. Ведь пока мы варимся в одном и том же котле, пока нас окружают одни и теже люди, ожидать разительных перемен в себе — глупо. Как известно твой заработок равен среднему значению 5 твоих знакомых с кем ты проводишь больше весего времени. То есть если ты зарабатываешь 100ку, а твои друзья по 20-30 тысяч, не удивляйся почему ты еще не в 300+.

Чё? Не в деньгах счастье? Ясен пень не в них, но ИМХО это лишь отмазка для того, чтобы вариться в привычном соусе.

Широко известный в узких кругах, бывший губернатор Калифорнии Шварценеггер как-то сказал: «Деньги не приносят счастья. У меня сейчас 50 миллионов, а счастлив я ровно также, как и тогда, когда у меня было 48 миллионов долларов». ???

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