Oak Raw Channel
283 subscribers
64 photos
1 video
81 files
30 links
IT projects ultimate compilation
by @radoak
Download Telegram
Дошли руки написать 3ю статью на хабр

в этот раз про то, насколько круто пользоваться облачными сервисами

благодаря Firebase написал ТГ бота всего за один вечер

https://habr.com/ru/post/554132/
Недавно взял себе новый ноутбук

Macbook Air M1 16RAM вместо Macbook Pro 2017 i5 16RAM

Уже третий день не перестаю восхищаться этим процессором, всё работает невероятно быстро.

Пока читал про особенности работы докера на этом процессоре наткнулся на одну интересную деталь касательно того как этот процессор исполняет программы для x86.

Apple удалось сделать так, что на чипе М1 бинарники x86 работают быстрее чем на многих процессорах intel))

Если кратко, то они прямо на чипе сделали такой модуль, который при эмуляции работы x86 меняет принцип работы с памятью.

Ниже будет то же самое, но из источника на английском
We also have an answer now to the insane x86 translation performance (around 80% of native performance, give or take - and, yes, this does mean that the M1 runs x86 binaries faster than an awful lot of x86 hardware out there). I’ve messed around with running x86 binaries in emulation on ARM before, and got about 10% of native performance on a Rpi4. Painful. Apple’s Rosetta 2 gets a lot of benefit from being a pre-compiling translator (for most cases - it still has to interpret JIT type workloads), but most people figured that would get you to 50% - at best. The ARM memory model is so radically different from x86 that you end up sprinkling memory barriers everywhere to guarantee cross threaded consistency, and that really hurts performance.

The issue is that on x86, if you write memory addresses in a certain sequence, all other cores will see the writes in the same sequence. If you write some blob of data and then write the “Ready!” flag, by the time other cores see the flag change value, you can be certain that the blob of data has been written. ARM has no such guarantees without explicit (and slow) memory barrier instructions, and this is why the x86 emulation on ARM Windows was painful - guaranteeing correctness of a translated binary on a weaker memory model is slow.

As it turns out, Apple isn’t doing it purely in software - they have Total Store Ordering support in their hardware! When the M1 runs a translated x86 binary, the OS just tells the chip, “Hey, use x86 memory ordering for this thread.” Things built natively for ARM can take advantage of the performance gains of the memory reordering, and things that requires strict ordering get strict ordering. It’s a very, very clever way to totally bypass the memory ordering issues with translated binaries, and it’s not a thing in any other ARM chip on the planet (I’d say yet, but I really don’t think this will become a popular thing to implement - perks of Apple building their own silicon).
Начал делать рекомендательную систему для своего Flats Tinder проекта

Наткнулся невероятную open source библиотечку от Spotify, как раз для рекомендательных систем

https://github.com/spotify/annoy
настолько понравилась идея, что залью и сюда
Рассказал про достаточно крупный проект, которым занимался последние полгода на фрилансе

Самое интересное, что этот заказ на фрилансе пришёл ко мне с прошлой статьи

посмотрим, что придёт с этой статьи)

Получилось объёмно, с юмором и мемами, всё как я люблю
С того момента, как в средних широтах деревья начинают желтеть, а ветер становится холоднее я начинаю думать о том, что же с моей жизнью будет дальше. Август и сентябрь для меня почти всегда думательные месяцы - я начинаю делать что-то новое, меняю свой образ и гардероб. Однако сейчас я ударился в небольшую ретроспективу по части прошедшего года, потому что 2021 год стал для меня годом перемен и непосредственно сейчас запроса на на перемены у меня нет.

Так вот, за 2021 я:

💣 Ушёл из науки, почти 2 года проработав в лаборатории компьютерного зрения. Потому что мне не нравился менеджемент - среда была душной и инертно медленной, а мне нужен Rocket Science 🚀. Я знатно перегорел, но вроде уже восстановился.

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

💵 Случайно начал заниматься бизнесом. В своём родном городе, Перми, нашёл невероятных ребят, с которыми мы очень быстро сошлись и начали работать вместе. Ощущения были такие, будто мы всегда были двумя дольками магнита, которые когда-то давно разделили и при встрече они мгновенно притянулись друг к другу и снова стали одним целым.

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

🖌 Умудрился поработать Техническим Консультантом на больших и интересных проектах (пока не могу рассказать детали).

🎭 Даже познакомился поближе с театром, занимаясь разработкой постановки с использованием нейронных сетей.

Чем я занимаюсь сейчас:

🇦🇮 Поступил в топовую бизнес школу в мире - HULT International Business School, готовлю документы на визу и в конце сентября еду туда учиться, расширяя свои цепочки нетворкинга до мирового уровня.

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

🧞‍♂️ Очень много читаю про парфюм - потому что я вспомнил про то, что я обожаю парфюм и сейчас я поближе знакомлюсь с тем, как это всё работает.

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

Из некоторой цифровой спячки меня вытащила новая работа невероятных OpenAI. Каждый раз они умудряются меня вдохновлять и зажигают огонёк в глазах.
👍1
Обожаю людей, которые меня окружают. Одна из них - Аня, бренд дизайнер нашего перерождающегося Digital Агенства. Последние две недели она пытается из нас, бездушных сухарей-технарей выдавить хоть капельку эмоций, чтобы одушевить наш бренд и вдохнуть в него жизнь.

В рамках работы с нами Аня собрала подборку сайтов digital агенств с Awwwards, чтобы показать нам кто как себя позиционирует. Получилось красиво и залипательно, далее авторская подборка от Ани:


https://myriad.video - яркие акценты на черном фоне, анимация и описание агенства. Сразу понятно что ребята делают видосы и человек на сайте может почувствовать себя за камерой с этими бегающими и меняющимися символами стоп и плей.

https://markus.se - крутая стартовая страница, где можно посмотреть их reel, кинетическая типографика, классные заголовки все это эмоционально чувствуется как разносторонность и гибкость команды.

https://wethem.us - необычная стартовая, которая сходу рушит все идолопоклонческие принципы дизайна, есть акцентная типографика и эмоционально сильный фотоконтент. Видеоряд на старте вводит человека в легкий ступор, становится интересно а что дальше, раз тут такой компот из решений.

https://synchronized.studio - офигенная анимация, охренная идея молний и акцентной линии, экспериментальная типографика и абстрактные формы. Позволяет почувствовать себя хулиганом с этой линией и возможность сделать все что дозволено

https://zeusjones.com - сходу заявляют о своей уникальности и подкрепляются все это кинетическим градиентом, смотрится очень сильно, смешение стилей типографики, классная презентация проектов.
Ребята позиционируют себя как твоего друга. Простые, яркие без заморочек, ощущение шо ты придешь к ним и они тебя чайку нальют, ну может виски

https://leonard.agency/en/ - необычный сам подход агенства, они сходу рушат образ агенств и хвалятся, что они не такие, очень прикольная задумка с вопросами, которые ты им задаешь как в игре правда или действие. Как будто ты садишься с ними играть в эту игру и от этого возникает интерес

https://www.loveandmoney.agency - прикольная название, много годной анимации, сильное позиционирование о котором они сходу заявляют. Быстро меняющийся видеоряд заставляет тебя сфокусироваться и чувство шо за этими чуваками ты немножко не поспеваешь и они могут указать тебе путь.

https://duallstudio.com - анимация и шоурил на высоте, классное подкрепление звуком, для позиционирования бренда это играет сильно на руку. Особенно прикольно тыкать на их сайте в наушниках, как будто зашел к ним домой или в их кинотеатр

Ну и добавлю ещё один сайт от себя - Digital агенство из Португалии, из прекрасного города Порту.

https://burocratik.com - кричаще стильно и со вкусом. Лучше агенство 2019 года.
Для полного наслаждения советую смотреть эти сайты с компьютера.
Я крайне редко приезжаю в офис раньше 11~12 часов, но если и приезжаю рано, то нахожусь в диком и в хорошем смысле этого слова - бешеном состоянии.

Так вот, приехав сегодня в офис аж к 10:00 я решил довести до ума свой сервис по подбору фотографий похожих интерьеров, который я делал весной и на базе которого я написал диплом (кстати, ради интереса, скину его тоже сюда, результаты экспериментов там лажа, но идей интересных много)

Внимательно изучив область анализа стиля изображений с помощью нейросетей я решил заменить семейство архитектур ResNet на VGG-16, ведь не случайно эту модель используют в большинстве работ. Детально изучил научную статью от Farfetch на тему того, как они делали рекомендательную систему, основанную на стиле одежды (да! Фарфетч пишет научные статьи и это очень круто!).

У себя в работе они используют почти такой же подход, который использовал я. Они берут тензоры, являющиеся промежуточными результатами работы нейронной сети, а затем применяют к ним операцию вычисления матрицы Грамма. Такой подход позволяет извлечь из изображения фичи связанные со стилем, потому что при вычисление матрицы Грамма «затирает» всю пространственную информацию в изображении (почитать больше - тут, раздел why gram matrix). Также они делают несколько оптимизаций, за которые ваша оперативная память вам скажет спасибо (мои офигевшие от нагрузки 16 гигов точно сказали).

В очередной раз приятно порадовался производительности моего бойца - Macbook Air 13’ на чипе М1. Этот лихой засранец обработал 20.500 картинок примерно за два часа и даже не особо нагрелся, его было вполне сносно держать на коленках, и это то при использовании большой сетки VGG-16. Для интересующихся - вот докер контейнер с Pytorch оптимизированный под M1 (он сразу запускает Jupiter Notebook для удобства).

Хочу обернуть свой код в красивый бекенд на Fast API (это пушка), написать масштабную статью и сделать красивую демку, где можно будет загрузить свою картинку, а система выдаст картинки с похожим интерьером.

Да, и где-то в течении сентября мой блог с хабра переедет на сайт нашего digital агенства. Там будет красивое оформление в стиле сайта medium я смогу пихать туда свои сумасшедшие демки, которые наглядно объясняют что я делаю! Короче - полный улёт.
❤1
Вот мой Диплом
Forwarded from Nick Oak
диплом.pdf
27.4 MB
он вот
А вот статья Фарфетча
как-то раз пошутил в Твиттере про инвестиции на свой диплом

а в итоге проект по моему Flats Tinder оказался на столе миллиардера на 116й позиции в Российском Форбс

Он сказал, что идея огонь, однако область недвижимости не супер подходящая

в связи с чем вопрос - где можно использовать систему подбора изображений с похожим стилем ?
💡 Идея для ТГ бота или сайта

Называется, разори неприятеля, который вызывает такси

Указываешь примерный адрес откуда - (А) этот человек собирается ехать и примерный адрес куда - (Б)

дальше сервис через эмуляцию приложений под андроид с разных «фальшивых» устройств пытается вызвать такси из точки А в точку Б, таким образом катастрофически поднимая цену на такси.

💣 Бинго, шалость удалась

* конкретные детали реализации могут отличаться, потому что идея достаточно высокоуровневая
Последний год занимаюсь бизнесом веб студии: менеджу проекты, привлекаю новых заказчиков, строю customer journeys и даже иногда UX

собрал самые выдающиеся наши проекты в портфолио для Английского и Европейского рынка

P.S. в нашем портфолио есть даже Мегафон!

портфолио
🇬🇧 Британский всем привет!

Летом 2021го я поступил в HULT Business School на бизнес магистратуру, а в октябре переехал учиться в Лондон.

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

Что ж сказать, после МФТИ любой другой вуз, а в особенности международная магистратура в сравнительно гуманитарном направлении будут казаться проще некуда. Однако есть несколько интересных особенностей.

1️⃣ Когда ты технарь - большая часть заданий в твоём вузе имеет чёткую метрику оценивания, ты понимаешь за что получаешь оценку. В бизнес школах метрики конечно есть, но выглядят они как-то не по технарски, во многом размыто.

2️⃣ Отсутствие семинаров. Да, у нас нет семинаров, одни лекции. Обычно курс в моём университете выглядит так: 10 лекций, по 3 часа каждая, после или во время которых даётся 2-3 крупных задания. Как правило одно групповое, на команду из 6 человек (30% оценки), а другое индивидуальное (70% оценки).

3️⃣ Много студенческой активности, которая культивируется вузом. У нас есть клуб моды, клуб консалтинга и даже клуб виски! Каждый клуб получает от вуза что-то типо 300~500£ на семестр на организацию мероприятий.
P.S. клуб виски на днях делали коктейли прямо в вузе! и устроили вечеринку!
🪙👾 Аналитика мира NFT

📌 Проект NFT Brew

Первая вводная. На днях в моё вузе закончился курс по Data & Decisions. Курс был хорошим, но вот датасетов интересных почти что не было, опять анализировали Титаник. У меня остался незакрытый гештальт, хотелось интересных данных!

Вторая вводная. 2022 год, разговоры вокруг - только об NFT, даже в Англии, в каждом пабе, на каждом углу.

И тут меня осенило, я вспомнил что криптовалюты - это про открытые данные! Это же идеальный мэтч! Так я решил заняться анализом данных рынка NFT, а в частности самого крупного маркетплейса - OpenSea.

Начал с изучения доступного API, которое бы давало доступ к данным в режиме Real Time. Мой выбор остановился на etherscan. Пожалуй, самый адекватный провайдер данных. Ещё местами я использую BlockScout, потому что он по адресу смарт контракта умеет отдавать название NFT коллекции (etherscan так не умеет). Однако в BlockScout по каким-то неведомым причинам нет части транзакций, вот прямо целыми блоками нет, что очень неприятно.

Для того чтобы получить данные о сделках с NFT на OpenSea нужно научиться анализировать логи смарт контракта OpenSea. А логи в контексте ETH - это прикольные hex строчки и много много непонятных полей.

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

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

Решил заморочиться с архитектурой. В моём проекте целых 9 Docker контейнеров! Из стека технологий я использовал:
Celery + RabbitMQ + Redis + MongoDB

Наконец-то научился запускать команды по расписанию не с помощью crontab а более продвинуто и надёжно, через Celery.

Использую Redis в качестве БД быстрого доступа. Процесс, который достаёт данные по API записывает туда транзакции, затем они анализируются и записываются в MongoDB.

Для аудитории стран СНГ сделал Телеграм бота. Для аудитории зарубежной буржуазии решил сделать твиттер. Алгоритм каждый час публикует и туда и туда краткую сводку транзакций за последний час.

Что я узнал:
Познакомился поближе с миром смарт контрактов сети ETH, в особенности смарт контрактов вокруг NFT. Оказывается, не так-то уж сложно это и работает.

Что я хочу сделать сделать дальше:
На данный момент я собираю фидбек, касательно того, какие бы инсайты хотели получать люди заинтересованные в NFT.

Хочу сделать более детальную аналитику данных и упаковать всё это в продукт.

Из ближайших идей, хочу чтобы моя система отслеживала ряд известных коллекций и в случае покупки связанной с элементом данной коллекции немедленно присылала уведомление в телеграм и делала бы постик в твиттер.
👍1
👾👾👾

@NFTBrewBot

Вот телеграм бот, отдаю его вам на растерзание.

На данный момент он присылает сводку за час в начале каждого часа.

Также по команде /brew присылает последнюю доступную сводку.

Чтобы получать уведомления от бота нужно начать кнопочку «Subscribe»

Пример сводки от бота прислал ниже.