Кажется, LLM достигли в некоторых областях уровня мидла. В статье будет попытки потестировать LLM на тему генерации кода, описание одной из AI-IDE, тейк про то, что LLM — слепой программист, немного примеров кода на гитхабе и бесстыдное рекламирование собственного канала. Не переключайтесь!
Любопытен. Ленив. Вреден.
Пионеры разработки
Короче, има…имаж.. Влад, как то слово? Имаджинируйте? Придумают тоже. Короче, представляйте. Башкирия. Село Зигаза, 600 человек. 1970-е годы. Войны уже давно нет, особого голода тоже, но все же — родившись в селе на 600 человек, что тебе светит? Поработать дояркой в колхозе, выскочить замуж за пастуха (за тракториста не светило по причине отсутствия тракторов), да нарожать детей побольше.
Машку, мою подругу это устраивало, а меня нет. Просто так взять и уехать нельзя, и единственный путь — куда-нибудь поступить. Получилось в Уфу, в УГНТУ — Уфимский государственный нефтяной технический университет, на кафедру Автоматизированных Систем Управления.
Так я вошла в айти. 45 лет назад.
Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN
Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.
Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.
Получается мем.
Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.
Поэтому мы сейчас попробуем «включать VPN чуть-чуть».
Breaking news: DIY-флипперы производства России и как мы делали квест для Flipper Devices
История началось с того, что мне вручили три флиппера со словами "разыграй их там как-нибудь". Отдавать флиппер за банальщину типа лучшего вопроса или разыгрывать в лотерее не хотелось: круче вручить клевый девайс тому, кто действительно ему будет рад, а не продаст завтра на авито. Мы решили совместить квест и викторину: у нас была пара десятков вопросов, и мы добавили к ним физическую активность: ссылка на каждый блок вопросов была закодирована в QR-коде, который был спрятан на территории.
Эта статья — некий постмортем о том, как прошел квест, какими соображениями мы руководствовались при его разработке, какие косяки допустили, и что стоит сделать в следующий раз по-другому. Квест получился хорошим, победители действительно победили своим трудом, и флипперы были вручены заслуженно и тем людям, которые их хотели. Но это не означает, что в следующий раз нельзя сделать еще лучше.
Ну и конечно, в статье есть список вопросов квеста с ответами на них, а так же возможность пройти эту викторину онлайн.
Хроники домашнего импортозамещения: замещаем e-mail (и узнаём, кто сливает почту на сторону)
Как перестать быть у гугла в заложниках? Как получить отдельный адрес для мусора? Как сделать бесконечный генератор одноразовых адресов? Как узнать, какие сервисы сливают вашу почту спамерам? Все это, и не только, можно сделать с помощью технологий, которым уже скоро тридцатничек стукнет.
Встречайте: собственный домен для почты.
Препарируем дельфина: что внутри у Flipper Zero
На «больших» компьютерах есть куча уровней абстракции и аппаратных средств сделать жизнь пользователя и разработчика проще. В итоге, даже если вы пишете на голом С, вас все равно не волнует как конкретно по PCI передается информация, как работает система питания процессора и какая там микросхема используется для хранения BIOS/UEFI.
Тут все не так, слишком уж близко к железу происходит разработка. Статья — это краткий экскурс в то, как устроен Flipper с железной точки зрения. Поехали.
Разработка под Flipper Zero: быстрый старт и первое приложение
Итак, это случилось. Я добыл Flipper Zero в бою (ну, на самом деле мне его выдали на хакатоне), и естественно, что интереснее всего не играть в него, используя уже сделанные кем-то функции, а писать что-то новое. Примерно так же я развлекался с Pebble. Тут, кстати, все очень похоже — МК, RTOS, небольшой монохромный экранчик, си.
Поэтому давайте попробуем что-нибудь под него написать. Для начала, что-то совсем простое, чтобы освоиться с SDK, не закапываясь в отладку и сложности RTOS, но функциональное. Есть кнопки, есть экранчик, давайте напишем счетчик-кликер. Нажимаете кнопку — число увеличивается. Подойдет считать посетителей, круги на стадионе, взломанные домофоны или сообщения в чате русскоязычного комьюнити флиппера (по утрам, в особенно активное время там их бывает до 2к, так что я бы на вашем месте подумал, прежде чем нажимать кнопку Join).
Как Unix-way убивает десктопный Linux
Нет, конечно же, не убивает.
То, что мертво, умереть не может: доля линукса на десктопах колеблется около 2% уже много лет, и не имеет тенденций ни к росту, ни к падению, изменяясь на уровне статистической погрешности.
Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.
Так в чем же дело? Почему несмотря на все старания, Linux, который стал стандартом де-факто на встраиваемых устройствах, работает на подавляющем большинстве серверов, целиком захватил рынок суперкомпьютеров, Linux, над которым работают сотни компаний и десятки тысяч людей... практически не используется на обычных компьютерах и ноутбуках?
Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".
Хроники подопытного кролика: как тестируют вакцину от SARS-CoV-2
TLDR: я поучаствовал в тестировании вакцины от коронавируса, и теперь рассказываю, как это происходит, перемежая историю с подробностями из жизни вирусов. Тестировал я не российскую вакцину, которая Спутник-V, а китайскую Ad5-nCoV. Глобальный принцип у них один и тот же — вектор на основе аденовируса, но тонкости отличаются.
Как я попал на тестирование? Просто мне скинули ссылку на ка...
К вопросу о запланированном устаревании
Я хочу поговорить с вами об одной из вещей, которые принято ругать. Эдакая священная корова, только наоборот — с коровой обращаются уважительно, принято так, даже если она гадит в реку, откуда вы пьете, а вот с "коровой наоборот" все иначе: "гоните ее, насмехайтесь над ней". Зашла речь — выдайте пинок, это социально одобряемое поведение.
Я хочу поговорить с вами о запланированном устаревании.
Смешение уровней абстракции закладывает бомбу в основание вашего проекта
— Мне нужна железка, которая будет управлять приводом дверей, и показывать на семисегментном экране текущее состояние, и обязательно с внешним сервером для удаленного управления, чтобы по TCP общалось с этим сервером, а для панели управления взять VueJS.
Вроде, понятно, что человек хочет. У кого-то даже такое ТЗ вызывает энтузиазм — человек, казалось бы, четко понимает, чего хочет. Зачастую он даже указывает на конкретные контроллеры/компоненты/фреймверки/протоколы.
И по такому заказу, безусловно, можно сделать нужную железку. И она даже будет работать, если подобранные компоненты не противоречат друг другу. Но если расчет идет не на проект, а на продукт, и его потом необходимо будет поддерживать, то гораздо полезнее потратить время и аккуратно разделить эти хотелки по уровням, понять, зачем именно такой экран, почему TCP, и причем тут VueJS. Вполне может оказаться, что это технологии, к которым заказчик испытывает приятные чувства из-за синдрома утенка. Или он просто не знает, что есть и другие типы экранов.
The Digital Banya: цифровая трансформация™ на примере… общественной бани
Мое же мнение, что пять факапов это не приговор, и что сама цифровая трансформация — это закономерная ступень развития любого бизнеса в любой отрасли, и если ваша компания хочет выжить на долгосрочном периоде, ей придется рано или поздно через это пройти. Разница только в том, что те, кто сделает это сейчас — соберут все сливки, а те, кто сделает это позже, когда подгорать начнем — окажутся в команде догоняющих.
— И что, спрашивает мой знакомый, прям любого бизнеса?
— Да, любого-любого, отвечаю я.
— А, ммм… даже общественной бани?
RE: Страх и ненависть в IT
Я, в отличии от него, лычек сеньора не ношу, и стаж разработки у меня на пару лет поменьше, да и профильного образования, у меня, если честно, нет. Но вот проблем у меня с базовым интересом к работе не было, и мне кажется — причина в несколько ином восприятии реальности.
Статья для широкого круга читателей.
Байконурские приключения: ракеты, космонавты, старт Союз МС-13 и космический интернет
Я хочу рассказать и передать нечто другое: впечатление о затерянном в степях Казахстана городе, который принадлежит одной стране, а арендуется другой, городе, в котором очень холодная зима и очень жаркое лето. Городе, в котором живет совсем немного людей, но который тем, что в нем происходит, даст фору многим другим городам. О городе, жители которого привычны к тому, что иногда, по ночам, на их небе появляется второе солнце.
Если вам интересно, чем живет один из немногих городов, из которых люди регулярно отправляются за пределы нашей планеты, то добро пожаловать.
Государство и Т-киллеры
Я гражданин страны, таким образом, территория страны, которая приносит прибыль (через добычу полезных ископаемых или за счет использования территорий), принадлежит частично мне. Кроме того, я плачу налоги (как непосредственно, через НДФЛ, получая зарплату, так и опосредованно, покупая товары с НДС в цене), поэтому часть денег в бюджете — внесена мной, и я имею право на то, чтобы учитывалось мое мнение по поводу расходования этих денег и имею право принимать решения по управлению страной, так как необходимо, чтобы эти решения принимались в интересах граждан.Мне эта точка зрения кажется неправильной. Шут бы с ней, если бы она была просто неправильной. Но в условиях современного социума она представляется мне ощутимо вредной для человека, мешая пониманию принципов взаимодействий с государством и создавая ощущение «я имею право, но мне не дают», что сказывается на продуктивности: сложно успешно работать и наслаждаться жизнью, если постоянно висит ощущение, что тебе не додали того, что положено.
Manifest of Smart Home Developer: 15 principles
Smart home is a system that can do some everyday routines instead of a person. It leads us to the first and the main principle:
Манифест разработчика умных систем: 15 принципов
Сегодня я хочу поговорить с вами об «умных» домах в частности и IoT-устройствах в целом. Но это будет не обычная статья: тут не будет железок, ссылок на производителей, кусков кода и репозитариев на гитхабе. Сегодня мы будем обсуждать нечто более высокоуровневое — принципы, по которым организуются «умные» системы.
Продолжая читать статью, вы соглашаетесь с тем, что вас устраивает следующий disclaimer.
- Все эти пункты касаются только потребительских IoT-систем (читай «умных домов»). Тех, что человек может купить в магазине и установить без привлечения специализированных инсталляторов/интеграторов.
- Часть этих принципов не применима к промышленным системам (там свои требования и принципы), а также, к системам, где есть отделённые от пользователя эксплуатанты (например, умный дом, который устанавливается и обслуживается специально обученными людьми).
Также часть принципов не применима к системам уровня «игрушка для гиков», к самодельным и open-source системам, у которых нет единого product owner. - И, конечно, всё написанное ниже — это исключительно моё мнение, основанное на моём многолетнем опыте. Вы имеете право не соглашаться с ним.
Умный дом — это система, которая берёт на себя часть повседневных забот человека. Отсюда следует первый и самый основной принцип:
Система управления умным домом на коленке: Tarantool
Но что делать тем, кто не хочет мириться с таким состоянием, и хочет
Я покажу, как с помощью Tarantool быстро сделать даже не визуализацию, а полноценную систему управления, с базой данных, кнопками управления и графиками. С её помощью возможно управлять устройствами умного дома, собирать и показывать данные с датчиков.
Что такое Tarantool? Это связка «сервер приложений — база данных». Можно использовать её как базу данных с хранимыми процедурами, а можно как сервер приложений со встроенной базой данных. Вся внутренняя логика, будь она пользовательской или в виде хранимых процедур, пишется на Lua. Благодаря использованию LuaJIT, а не обычного интерпретатора, в скорости она не сильно уступает нативному коду.
Еще один важный фактор — Tarantool это noSQL база данных. Это означает, что вместо традиционных запросов вроде «SELECT… WHERE» вы управляете данными напрямую: пишете процедуру, которая переберет все данные (или их часть) и выдаст вам их. В версии 2.x поддержку SQL-запросов добавили, но панацеей они не являются — для высокой производительности часто важно понимать, как именно исполняется тот или иной запрос, а не отдавать это на откуп разработчикам.
В статье я покажу пример использования, когда внутри Tarantool пишется вся логика приложения, включая общение с внешними API, обработку и выдачу данных.
Поехали!
Рюкзакодуализм: после 3 месяцев использования Bobby Bizz
Особенно, если ты тоже надел костюм. Так что либо терпи нечто матерчатое неопределенной формы на плече, либо таскай неудобную сумку, которая или занимает руку, или оттягивает одно плечо. Боль.
Поэтому, как только я увидел ролик рюкзака Bobby Bizz, я тут же попросил парней из Madrobots мне его дать поиграться. Я не буду врать вам, что я его купил за свои — все мы прекрасно понимаем, что даже если бы я это сделал, мне бы никто не поверил. Единственное, что они попросили в ответ — написать про этот рюкзак свои впечатления.
Лаборатория «МегаФона»: как сотовый оператор тестирует технику
Ничего не понимаете? Ничего, после прочтения статьи будете!
Если заинтересовались — прошу под кат!
Информация
- В рейтинге
- 40-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность