Channel: sanspie's notes
Удобный сервис для визуализации команд в ffmpeg-е, с понятными описания. Так же есть пресеты, которые покрывают 90% работы с ffmpeg
https://alfg.dev/ffmpeg-commander/
https://alfg.dev/ffmpeg-commander/
❤8👍4🏆1
про зарплаты в европейском it и что нужно сделать чтобы найти работу, чтобы получать выше рынка
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/amp/
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/amp/
The Pragmatic Engineer
The Trimodal Nature of Software Engineering Salaries in the Netherlands and Europe
This article is part of a 3-part series on trimodal compensation:
* Part 1: The trimodal nature of software engineering salaries in the Netherlands and Europe (2021, this article)
* Part 2: The trimodal nature of tech compensation revisited (2024, this…
* Part 1: The trimodal nature of software engineering salaries in the Netherlands and Europe (2021, this article)
* Part 2: The trimodal nature of tech compensation revisited (2024, this…
👍4
sanspie's notes
На случай китайского фаервола https://habr.com/ru/companies/amnezia/articles/769992
кстати ради эксперимента раскатил себе AmneziaVPN
из приятного - очень простая настройка сервера, клиент сам может поднять AmneziaWG, WireGaurd, OpenVPN+(over the Cloak), ShadowSocks и IPsec, а затем удалить если будет нужно. Так же просто переносится управление или доступ к vpn.
Так же интересен протокол, по которому работает AmneziaWG(wg с обходом DPI): модификация и обфускация wg, с целью усложнения обнаружения vpn трафика - https://amnezia.org/en/instructions/31_amneziawg
Тот amneziawg можно собрать и поднять как бинарь, если хочется внедрить его в какие-то процессы/сети
из приятного - очень простая настройка сервера, клиент сам может поднять AmneziaWG, WireGaurd, OpenVPN+(over the Cloak), ShadowSocks и IPsec, а затем удалить если будет нужно. Так же просто переносится управление или доступ к vpn.
Так же интересен протокол, по которому работает AmneziaWG(wg с обходом DPI): модификация и обфускация wg, с целью усложнения обнаружения vpn трафика - https://amnezia.org/en/instructions/31_amneziawg
Тот amneziawg можно собрать и поднять как бинарь, если хочется внедрить его в какие-то процессы/сети
amnezia.org
Amnezia. Create your personal VPN
Amnezia VPN — simple and free app to run a self-hosted VPN with high privacy requirements
❤5
Forwarded from Сиолошная
Новая модель:
— контекст длиннее. 128K токенов (365 страниц обычной книги)
— модель более аккуратна при работе с длинным текстом, не теряет то, что было в серединке
— фича для разрабов: можно заставить модель писать ответы в JSON-формате
— можно вызывать несколько функций за раз
— можно указать seed генерации, чтобы получать воспроизводимость
— скоро добавят logprobs в API
— Retrieval прямо из коробки, можно загружать документы на платформу и они будут подтягиватсья (F стартапам chatWithPDF)
— Теперь модель знает события не до сентября 2021го, а апреля 2023го
— Эта новая модель принимает картинки на вход через API
— DALLE-3 + text-to-speech (6 голосов) сегодня появятся в API
— Для GPT-4 появится файнтюнинг сегодня (но на узкую выборку пользователей)
— Custom Models: программа плотной работыт инженеров OpenAI с вашей компанией, чтобы помочь адаптировать тренировку под ваши проблемы
ЦЕНА НА GPT-4-TURBO (Sam говорит, что эта модель ещё и умнее GPT-4) уменьшена в 3 раза для промпта и в 2 раза для генерации!
Обещают скоро ещё больше ускорить GPT-4 Turbo
— контекст длиннее. 128K токенов (365 страниц обычной книги)
— модель более аккуратна при работе с длинным текстом, не теряет то, что было в серединке
— фича для разрабов: можно заставить модель писать ответы в JSON-формате
— можно вызывать несколько функций за раз
— можно указать seed генерации, чтобы получать воспроизводимость
— скоро добавят logprobs в API
— Retrieval прямо из коробки, можно загружать документы на платформу и они будут подтягиватсья (F стартапам chatWithPDF)
— Теперь модель знает события не до сентября 2021го, а апреля 2023го
— Эта новая модель принимает картинки на вход через API
— DALLE-3 + text-to-speech (6 голосов) сегодня появятся в API
— Для GPT-4 появится файнтюнинг сегодня (но на узкую выборку пользователей)
— Custom Models: программа плотной работыт инженеров OpenAI с вашей компанией, чтобы помочь адаптировать тренировку под ваши проблемы
ЦЕНА НА GPT-4-TURBO (Sam говорит, что эта модель ещё и умнее GPT-4) уменьшена в 3 раза для промпта и в 2 раза для генерации!
Обещают скоро ещё больше ускорить GPT-4 Turbo
👍6🔥2🤔2👎1
Forwarded from БлоGнот
Мессенджер Signal начал тестировать ники — сейчас завести аккаунт в нём можно, только указав номер телефона, который в результате виден собеседникам. Имя пользователя, по аналогии с телеграмом, позволит вести переписку, не раскрывая номер телефона.
Фича появилась в очередной бета-версии. Судя по скриншотам, имя пользователя будет связано с уникальным QR-кодом и ссылкой, которой можно поделиться для начала общения, а номер телефона скрыть в настройках мессенджера.
https://www.pcmag.com/news/no-more-phone-number-swaps-signal-messaging-app-now-testing-usernames
"After rounds of internal testing, we have hit the point where we think the community that powers these forums can help us test even further before public launch,” says Signal VP of Engineering Jim O’Leary.
Фича появилась в очередной бета-версии. Судя по скриншотам, имя пользователя будет связано с уникальным QR-кодом и ссылкой, которой можно поделиться для начала общения, а номер телефона скрыть в настройках мессенджера.
https://www.pcmag.com/news/no-more-phone-number-swaps-signal-messaging-app-now-testing-usernames
PCMAG
No More Phone Number Swaps: Signal Messaging App Now Testing Usernames
Offering usernames will allow people to stop giving out their phone number —a sensitive piece of information— in order to connect with others on the messaging app.
👍4❤2😁1
Forwarded from FEDOR BORSHEV
GraphQL и тесты
Будучи разработчиком, я не любил GraphQL с самого его появления — из-за ноды, привязки к Apollo, отсутствия APM (если не покупать подписку у Apollo) и сложного, вложенного языка запросов. В принципе до сих пор ничего изменилось, но в этом посте я хочу отдельнло поговорить о своей любимой теме – тестировании.
GraphQL замечательно умеет делать одну вещь: вытаскивать данные с сервера в произвольном формате, удобном в каждый конкретный момент. «Выгрузи мне все книги — название, количество страниц, пару интересных цитат и автора, а у каждого автора покажи ФИО, фотографию и список популярных произведений» — это типичный запрос для GraphQL, с которым он справляется идеально. В REST для такой специфичной выборки пришлось бы писать отдельный эндпоинт, следить за ним и поддерживать. А тут даже кода писать не надо — один раз описал схему данных, и всё работает из коробки.
Минус в том, что вместо понятного набора эндпоинтов с заранее определённым поведением, мы получаем один эндпоинт на все наши данные. Тестировать такой эндпоинт очень больно. Первая проблема – контракт между бекендом и фронтендом: раньше мы могли написать батарею юнит-тестов, которые проверяют все возможные запросы, аутентификацию и авторизацию, а затем копипастить их для разных эндпоинтов, добавляя локальную специфику. Тесты для GraphQL так не могут — мы же не знаем, что у нас запросят в каждый конкретный момент, а значит не можем написать тесты, которые отражают реальность. Остаётся только делать тесты для типичных запросов, и надеяться, что когда фронт или бек что-то поменяет, программисты сами договорятся и друг-другу ничего не сломают.
Сложно тестировать не только контракты, но и прозводительность. Раньше мы для каждого эндпоинта могли предсказать количество тяжёлых запросов с джоинами, и даже ограничить их количество в тестах или в рантайме (по ссылкам питон, в вашем стеке будут другие инструменты). Теперь мы каждый раз не знаем, что у нас запросят, а значит можно выгрузить хоть всю базу за один запрос.
Конечно, есть бизнесы, которые выигрывают от умения отдавать по 20 сущностей на один запрос, и делают это своей core-ценностью — к примеру облачные BaaS или высокоуровневые headless CMS вроде Sanity. Но если вам надо просто отдавать на фронт десяток известных сущностей, даже если вы планируете добавить в будущем ещё пару десятков — скорее всего GraphQL обойдётся вам намного дороже чем обычный REST, потому что с самого старта вам придётся тратить намного больше сил на тесты.
Будучи разработчиком, я не любил GraphQL с самого его появления — из-за ноды, привязки к Apollo, отсутствия APM (если не покупать подписку у Apollo) и сложного, вложенного языка запросов. В принципе до сих пор ничего изменилось, но в этом посте я хочу отдельнло поговорить о своей любимой теме – тестировании.
GraphQL замечательно умеет делать одну вещь: вытаскивать данные с сервера в произвольном формате, удобном в каждый конкретный момент. «Выгрузи мне все книги — название, количество страниц, пару интересных цитат и автора, а у каждого автора покажи ФИО, фотографию и список популярных произведений» — это типичный запрос для GraphQL, с которым он справляется идеально. В REST для такой специфичной выборки пришлось бы писать отдельный эндпоинт, следить за ним и поддерживать. А тут даже кода писать не надо — один раз описал схему данных, и всё работает из коробки.
Минус в том, что вместо понятного набора эндпоинтов с заранее определённым поведением, мы получаем один эндпоинт на все наши данные. Тестировать такой эндпоинт очень больно. Первая проблема – контракт между бекендом и фронтендом: раньше мы могли написать батарею юнит-тестов, которые проверяют все возможные запросы, аутентификацию и авторизацию, а затем копипастить их для разных эндпоинтов, добавляя локальную специфику. Тесты для GraphQL так не могут — мы же не знаем, что у нас запросят в каждый конкретный момент, а значит не можем написать тесты, которые отражают реальность. Остаётся только делать тесты для типичных запросов, и надеяться, что когда фронт или бек что-то поменяет, программисты сами договорятся и друг-другу ничего не сломают.
Сложно тестировать не только контракты, но и прозводительность. Раньше мы для каждого эндпоинта могли предсказать количество тяжёлых запросов с джоинами, и даже ограничить их количество в тестах или в рантайме (по ссылкам питон, в вашем стеке будут другие инструменты). Теперь мы каждый раз не знаем, что у нас запросят, а значит можно выгрузить хоть всю базу за один запрос.
Конечно, есть бизнесы, которые выигрывают от умения отдавать по 20 сущностей на один запрос, и делают это своей core-ценностью — к примеру облачные BaaS или высокоуровневые headless CMS вроде Sanity. Но если вам надо просто отдавать на фронт десяток известных сущностей, даже если вы планируете добавить в будущем ещё пару десятков — скорее всего GraphQL обойдётся вам намного дороже чем обычный REST, потому что с самого старта вам придётся тратить намного больше сил на тесты.
👍3
Вышел The State of Developer Ecosystem 2023, в котором в этом году особенно уделили внимание влиянию AI на процесс разработки.
Языки
По классике, на первом месте JS, на втором Python, бурный рост TS и Rust, падение php и objective-c. Так же из интересного некоторые(~10%) разработчики хотят изучить Rust и Go в ближайший год, а разработчики на Scala и Rust наоборот в большинстве не хотят изучать другие языки.
Жизнь
Из интересного 30% разработчиков находят работу через знакомства, что доказывает что лучше вкладываться в удобные рабочие часы и высокую ЗП, которую большинство разработчиков считают самым важным. Еще из забавного 75% разработчиков не окончили различные курсы, которые они проходили. Из грустного 50% разработчиков не следят за своим психическим здоровьем и 75% испытывали выгорание.
70% разработчиков пишут код на выходных и только 19% не работают.
У большинства разработчиков 16 GB – 32 GB оперативы, хотя не удивительно, ведь опрос проводил JetBrains.
AI
84% разработчиков знают какой-либо из AI tools, большинство из них сомневаются в надежности этих сервисов в плане хранения данных. 60% уверены, что AI полностью изменит процесс разработки и будет сам писать код. 77% используют ChatGPT, 46% Copilot. Чаще всего их применяют для того, чтобы писать код и обрабатывать natural language, реже для документации и прочей работы с текстом. Половина разработчиков с радостью переложат написание кода и тестов на AI, но та же половина не захочет передавать написание кода ИИ.
DB
Из грустного 64% разработчиков до сих пор используют MySQL и только половина использует Postgres. MySQL чаще всего используют в связке с MariaDB, что не удивительно, из-за их совместимой апи. Так же наблюдается значительное падение использование oracle в снг, думаю понятно почему.
DevOps and Cloud
54% на докере, 39% без ничего, 13% на кубере. Странно, что большинство разработчиков не знакомы с docker-compose, при том, что большая часть использует докер. 60% на aws, далее azure и гугл, но в этом году появляется Alibaba, которые предоставляют быстрый хостинг на территории Азии. В этом опросе только 10% разработчиков используют, однако на территории Китая около трети сайтов крутятся на Alibaba Cloud, а их главный конкурент - Huawei.
Development
Большинство(60%) разработчиков используют windows, на linux и на маке сидят одинаковое кол-во - по 40%. 41% разработчиков контрибутят в open-source, половина из них делает это постоянно. Еще из интересного в кросс-платформенной разработке 2 место после винды занимает linux, как target для разработчиков, обгоняя макось.
34% разработчиков пишут микросервисы, из их большинство используют различные протоколы поверх http.
Python
бОльшая часть разработчиков используют последнюю LTS - 3.11. Половина до сих пор на МЛ и аналитике, 40% на вебе. Django обогнал Flask как основной фреймворк, однако FastAPI понемногу догоняет его. Большинство разработчиков, около трети, пишут на vs code, несмотря на удобства в pycharm-а
Отчет очень информативный и красивый, с большим кол-вом смежной аналитики. Рекомендую изучить самостоятельно, например статистику по другим яп:
C C# C++ Go Java JavaScript Kotlin PHP Python R Ruby Rust Scala Swift and Objective-C
https://www.jetbrains.com/lp/devecosystem-2023/
Языки
По классике, на первом месте JS, на втором Python, бурный рост TS и Rust, падение php и objective-c. Так же из интересного некоторые(~10%) разработчики хотят изучить Rust и Go в ближайший год, а разработчики на Scala и Rust наоборот в большинстве не хотят изучать другие языки.
Жизнь
Из интересного 30% разработчиков находят работу через знакомства, что доказывает что лучше вкладываться в удобные рабочие часы и высокую ЗП, которую большинство разработчиков считают самым важным. Еще из забавного 75% разработчиков не окончили различные курсы, которые они проходили. Из грустного 50% разработчиков не следят за своим психическим здоровьем и 75% испытывали выгорание.
Those who have experienced burnout feel tired more often.
70% разработчиков пишут код на выходных и только 19% не работают.
У большинства разработчиков 16 GB – 32 GB оперативы, хотя не удивительно, ведь опрос проводил JetBrains.
AI
84% разработчиков знают какой-либо из AI tools, большинство из них сомневаются в надежности этих сервисов в плане хранения данных. 60% уверены, что AI полностью изменит процесс разработки и будет сам писать код. 77% используют ChatGPT, 46% Copilot. Чаще всего их применяют для того, чтобы писать код и обрабатывать natural language, реже для документации и прочей работы с текстом. Половина разработчиков с радостью переложат написание кода и тестов на AI, но та же половина не захочет передавать написание кода ИИ.
AI assistants are most commonly used to help developers perform routine tasks, like writing documentation, code comments, and commit messages, as well as searching. However, developers prefer to do their own coding, including understanding the code and recent code changes, debugging, and of course, writing code, even though 79% of the respondents mentioned that writing code is their most time-consuming activity.
DB
Из грустного 64% разработчиков до сих пор используют MySQL и только половина использует Postgres. MySQL чаще всего используют в связке с MariaDB, что не удивительно, из-за их совместимой апи. Так же наблюдается значительное падение использование oracle в снг, думаю понятно почему.
DevOps and Cloud
54% на докере, 39% без ничего, 13% на кубере. Странно, что большинство разработчиков не знакомы с docker-compose, при том, что большая часть использует докер. 60% на aws, далее azure и гугл, но в этом году появляется Alibaba, которые предоставляют быстрый хостинг на территории Азии. В этом опросе только 10% разработчиков используют, однако на территории Китая около трети сайтов крутятся на Alibaba Cloud, а их главный конкурент - Huawei.
Development
Большинство(60%) разработчиков используют windows, на linux и на маке сидят одинаковое кол-во - по 40%. 41% разработчиков контрибутят в open-source, половина из них делает это постоянно. Еще из интересного в кросс-платформенной разработке 2 место после винды занимает linux, как target для разработчиков, обгоняя макось.
62% of developers follow the Secure Software Development Life Cycle (SSDLC).
34% разработчиков пишут микросервисы, из их большинство используют различные протоколы поверх http.
Python
бОльшая часть разработчиков используют последнюю LTS - 3.11. Половина до сих пор на МЛ и аналитике, 40% на вебе. Django обогнал Flask как основной фреймворк, однако FastAPI понемногу догоняет его. Большинство разработчиков, около трети, пишут на vs code, несмотря на удобства в pycharm-а
Отчет очень информативный и красивый, с большим кол-вом смежной аналитики. Рекомендую изучить самостоятельно, например статистику по другим яп:
C C# C++ Go Java JavaScript Kotlin PHP Python R Ruby Rust Scala Swift and Objective-C
https://www.jetbrains.com/lp/devecosystem-2023/
JetBrains: Developer Tools for Professionals and Teams
The State of Developer Ecosystem in 2023 Infographic
Learn about the latest trends in tools, technologies, AI, and programming languages.
👍11
Forwarded from Хитрый Питон
Разработка REST Api кажется простым делом - перекладывай json-чики с места на место и все дела. Но когда ты сталкиваешься с плохо спроектированными Api-шками и начинаешь задумываться о том, как спроектировать хорошо, тут то и открывается бездна. Особенно интересно то, что каждый знает "как правильно проектировать Api" и часто даже в небольшой команде начинаются жаркие споры и каждый тянет одеяло на себя.
Вот еще одна из миллиона статей на тему "как делать правильно", которая мне понравилась взвешенным подходом и подробной аргументацией к каждому пункту. Если вы работаете на проектах, где нет внутреннего стандарта на Api, то рекомендую почитать https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
Вот еще одна из миллиона статей на тему "как делать правильно", которая мне понравилась взвешенным подходом и подробной аргументацией к каждому пункту. Если вы работаете на проектах, где нет внутреннего стандарта на Api, то рекомендую почитать https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
GitHub
How to (and how not to) design REST APIs
Jeff Schnitzer's Blog. Contribute to stickfigure/blog development by creating an account on GitHub.
👍6
rce через sqli выходят на новый уровень...
https://blogs.oracle.com/mysql/post/introducing-javascript-support-in-mysql
https://blogs.oracle.com/mysql/post/introducing-javascript-support-in-mysql
Oracle
Introducing JavaScript support in MySQL
MySQL continues to gear up innovations and now includes rich procedural programming capabilities inside the database. Developers can now write JavaScript stored programs (functions and procedures) in the MySQL database server. The stored programs will be…
🔥6👎3🙏1
mp3. Как мы научились сжимать музыку
Запуск завтра
mp3. Как мы научились сжимать музыку - Запуск завтра
30 лет назад, чтобы послушать любимую песню, нужно было пойти в магазин, отстоять очередь и купить дорогой диск, на который умещалось всего девять композиций. Всё изменил один немецкий ученый, который придумал революционную технологию сжатия звука. Благодаря ей диски стали не нужны - теперь всю музыку мира можно было бесплатно слушать с компьютера,
https://music.yandex.ru/track/121031035
30 лет назад, чтобы послушать любимую песню, нужно было пойти в магазин, отстоять очередь и купить дорогой диск, на который умещалось всего девять композиций. Всё изменил один немецкий ученый, который придумал революционную технологию сжатия звука. Благодаря ей диски стали не нужны - теперь всю музыку мира можно было бесплатно слушать с компьютера,
https://music.yandex.ru/track/121031035
👍2
Forwarded from Информация опасносте
GitLab 10/10
The most critical security issue GitLab patched has the maximum severity score (10 out of 10) and is being tracked as CVE-2023-7028. Successful exploitation does not require any interaction.
https://www.bleepingcomputer.com/news/security/gitlab-warns-of-critical-zero-click-account-hijacking-vulnerability/
The most critical security issue GitLab patched has the maximum severity score (10 out of 10) and is being tracked as CVE-2023-7028. Successful exploitation does not require any interaction.
https://www.bleepingcomputer.com/news/security/gitlab-warns-of-critical-zero-click-account-hijacking-vulnerability/
BleepingComputer
GitLab warns of critical zero-click account hijacking vulnerability
GitLab has released security updates for both the Community and Enterprise Edition to address two critical vulnerabilities, one of them allowing account hijacking with no user interaction.
🤯2
Forwarded from HERAKS
Куча успешных хакерских атак на российский хостинг, если кто-то не заметил. За последнюю неделю пострадали:
— CloudMTS
— 1Gb.ru
— 1cloud
— в свободном доступе куча дампов SQL-баз клиентов Reg.ru
Кроме того — очень много успешных атак на проекты, основанные на 1С-Битрикс.
И что-то подсказывает, что это не конец. Советую всем российским хостингам уделить больше внимания инфобезу, а клиентам — сделать бэкапы и сохранить их у себя "на жоском". Ну, или изыскать возможность переезда на иностранные хостинги.
— CloudMTS
— 1Gb.ru
— 1cloud
— в свободном доступе куча дампов SQL-баз клиентов Reg.ru
Кроме того — очень много успешных атак на проекты, основанные на 1С-Битрикс.
И что-то подсказывает, что это не конец. Советую всем российским хостингам уделить больше внимания инфобезу, а клиентам — сделать бэкапы и сохранить их у себя "на жоском". Ну, или изыскать возможность переезда на иностранные хостинги.
🎉4👎3🌚2
HTML Embed Code: