Angry Beard
256 subscribers
101 photos
9 videos
11 files
477 links
Bearded guy about the startups, tech and product development - https://alec-c4.com
Download Telegram
И немного грустных новостей с небольшим запазданием - умер создатель Pascal Никлаус Вирт https://vc.ru/dev/975369-umer-sozdatel-yazyka-programmirovaniya-pascal-niklaus-virt
Если вы используете или планировали использовать Twilio Video, то вот еще одна плохая новость - 5го декабря 2023 года компания объявила о завершении поддержки и развития сервиса. https://support.twilio.com/hc/en-us/articles/20950630029595-Programmable-Video-End-of-Life-Notice
Если вы когда-то пользовались утилитой Numi на macOS, то вам однозначно понравится Heynote - блокнот для разработчиков (и не только), который, кроме всего прочего, имеет сборки под Windows и Linux. Не очень очевидно как запустить встроенный калькулятор - надо выбрать тип разметки Math и всё заработает :)
В rails 8 будет добавлен rate limit для контроллеров - то, что раньше делалось с помощью гема rack-attack от Kickstarter или его аналогами сейчас будет доступно из коробки.
Chris Oliver зарелизил гем noticed 2.x и тут же запилил скринкаст о том, как его использовать. Если честно - не могу сказать, что в библиотеке много кардинальных изменений, гем просто как всегда прекрасен и удобен 🙂
Forwarded from The Edinorog 🦄 (Dmitry Filonov)
23andMe и ее утечка: как компания пытается избежать вины

В начале декабря стало известно об утечке данных пользователей сервиса 23andMe. Честно говоря, я не особо придал этому значения. Ну, утечка и утечка. Не первая и не последняя. И совсем не рассказывал вам про этот кейс. Но там все повернулось забавным образом. И пришло время исправляться.

Что это за 23andMe? Эту компанию в далеком 2006-м основала Энн Воджицки, бывшая жена Сергея Брина. Они делают генетические тесты, что клиенты могли узнать предрасположенность к болезням, поискать родственников и так далее.

События развивались так:

2 декабря (пятница). Компания объявляет, что хакеры получили доступ к аккаунтам и личным данным 0,1% пользователей. Если учесть, что всего у 23andMe 14 млн пользователей, то получается 14 000. Ну, не сказать, что прям очень много. Правда, компания оговаривается, что используя эти аккаунты, хакеры могли получить доступ к значительному числу файлов других пользователей.

4 декабря. Проходит два дня, и выясняется, что «значительное число» — это 6,9 млн клиентов. То есть получается, что хакеры получили доступ к информации о половине(!) пользователей 23andMe. Там фишка в том, что ты можешь делиться файлами и результатами исследований с теми, кто тебе близок по ДНК. При этом выясняется, что еще в начале октября хакеры пытались приторговывать данными 23andMe.

12 декабря. Проходит неделя с анонса. Оказывается, что за два дня до объявления 23andMe поменяла правила пользования сервисом. Зачем? А чтобы жертвам было сложнее объединиться и сообща подать в суд на компанию. Юристы назвали эти изменения циничными и отчаянной попыткой защитить себя.

3 января. К этому моменту против 23andMe подано около 30 исков. Компания рассылает пострадавшим письмо, в котором называет виноватых во взломе. Знаете кого? Самих пострадавших. Мол, пользователи использовали одни пароли на разных сервисах. И когда на других сервисах случались утечки, то они не меняли пароли. И получается, пишет 23andMe, что причина взлома — халатность пользователей, а не неспособность компании обеспечить необходимые меры безопасности.

Вот так вот. Теперь, конечно, очень интересно наблюдать за этим кейсом — прокатит такая стратегия или все-таки нет. Что думаете?

@TheEdinorogBlog — тот самый канал о стартапах🦄
Вдогонку к новости про 23andMe немного моего личного опыта о том, как защитить пользовательские аккаунты на примере rails-приложений.
1 - шифровать все чувствительные данные, в рельсах из коробки можно взять ActiveRecord Encryption, а для особых гурманов можно использовать lockbox и blind_index
2 - проверить дефолтные настройки devise или что вы там используете для аутентификации, сделать длину пароля не меньше 8 символов, использовать библиотеки типа devise_security, чтобы повысить безопасность - пароли со сроком годности, невозможность использованиы старых паролей и так далее
3 - использовать devise_pwned для проверки паролей в базах утечек, если вы используете что-то вместо devise, то можно взять эту библиотеку
4 - возможно я буду капитаном очевидностью, но мне до сих пор встречаются проекты, не использующие https. (тут должна быть картинка с мемом "не надо так")
5 - стоит поставить rack_attack, который был упомянут пару постов назад для того, чтобы избежать bruteforce-атак
6 - доступ к серверам и внешним сервисам (например ответственным за отправку почты) должен быть у ограниченного количества людей, при любом изменении вашего взаимоотношения с ними - пароли должны меняться. Я напомню про утечку email-адресов из сервисов, использовавшихся командой Навального для почтовых рассылок. Так что менять надо не только логины-пароли, но и API-ключи
7 - грамотно прописывать права доступа, если используете pundit, то стоит влючить проверку на наличие правильных scopes и авторизации в каждом экшне
8 - brakeman и bundler-audit для проверки безопасности, их можно использовать на git hooks
9- authrail для логгирования всех попыток логина
10 - fail2ban для бана любых странных попыток получения доступа
11 - по умолчанию закрыть все порты доступа на сервера, кроме используемых, если сложная система - вынести фронтовые системы в DMZ, остальные спрятать
12 - еще одна отличная утилита - hypershield помогает скрыть поля с чувствительными данными

На самом деле этот список может быть почти бесконечным, но надеюсь что-нибудь из него оказалось вам полезным
TWC — создавай переиспользуемые компоненты React + Tailwind в одну строку ⚡️

Я
сам никогда не использовал Tailwind в своих проектах, но комьюнити TW визжит от восторга в Твиттере, поэтому я не мог пропустить эту библиотеку, и не поделиться ею с тобой ❤️

Преврати свой компонент из этого:
import * as React from "react";
import clsx from "clsx";

const Card = React.forwardRef<
HTMLDivElement,
React.HTMLAttributes<HTMLDivElement>
>(({ className, ...props }, ref) => (
<div
ref={ref}
className={clsx(
"rounded-lg border bg-slate-100 text-white shadow-sm",
className,
)}
{...props}
/>
));


В это:
import { twc } from "react-twc";

const Card = twc.div`rounded-lg border bg-slate-100 text-white shadow-sm`;


Официальный сайт
GitHub проекта
Please open Telegram to view this post
VIEW IN TELEGRAM
Elastic официально заявили, что они блокируют российские ip-адреса. Можно конечно откопать стюардессу вспомнить про sphinx или mnogosearch, но я бы рекомендовал посмотреть в сторону mailisearch, набирающего популярность в последнее время.
Кажется разработчики Drizzle (это ORM с нативной поддержкой bun) обладают весьма неплохим чувством юмора :)
Под занавес 25 января Apple объявила об изменениях в системе и каталоге App Store, которые коснутся приложений разработчиков в странах Европейского союза (ЕС) в соответствии с Законом о цифровых рынках (DMA). Это включает в себя более 600 новых API, расширенную аналитику приложений, функциональность для альтернативных браузерных движков, а также варианты обработки платежей за приложения и распространения приложений для iOS.

Изменения в iOS
— Распространения приложений iOS на альтернативных площадках.
—Новый фреймворк и API для создания альтернативных торговых площадок.
— Новые фреймворки и API для альтернативных браузерных движков: разработчики могут создавать браузеры на сторонних движках, или использовать в своих приложениям сторонние движки.

Отмечается, что такие функции App Store, как Family Purchase Sharing и Ask to Buy, будут несовместимы с приложениями, загруженными не из App Store.

Apple также меняет на территории ЕС условия работы бесконтактных платежей. Это включает в себя новые API, позволяющие разработчикам использовать технологию NFC в своих банковских приложениях и кошельках на всей территории Европейской экономической зоны. Также вводятся новые элементы управления, которые дают возможность пользователям выбирать стороннее приложение для бесконтактных платежей в качестве приложения по умолчанию.

Для снижения потенциальных рисков от всех этих новшеств, вводятся дополнительные меры:
— Нотариальное заверение приложений для iOS: то есть модерация остается.
— Условные паспорты приложений: краткое описание приложений и их функциональности до загрузки, включая информацию о разработчике, скриншоты и другую важную информацию.
— Отдельная авторизация для разработчиков торговых площадок.
— Дополнительные меры защиты от вредоносного ПО: предотвращение запуска приложений, если после установки на устройство пользователя в них обнаружено вредоносное ПО.

Изменения в App Store (затрагивают iOS, iPadOS, macOS, watchOS и tvOS)

— Новые возможности использования сторонних провайдеров платежных услуг (PSP) и обработки платежей по внешним ссылкам;
— Инструменты для бизнес-планирования: разработчики смогут оценить стоимость и понять показатели, связанные с новыми бизнес-условиями Apple для приложений в ЕС.
— Надписи на страницах продуктов App Store с информацией об использовании альтернативных способов оплаты.

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

Новые коммерческие условия для приложений в ЕС (разработчики могут принять эти новые условия или остаться на существующих условиях Apple).

— Сниженная комиссия: в размере либо 10% (для подавляющего большинства разработчиков и подписчиков после первого года работы), либо 17 % при транзакциях цифровых товаров и услуг.
— Дополнительная комиссия за обработку платежей в размере 3%. Разработчики могут использовать провайдера платежных услуг в своем приложении или направлять пользователей на свой веб-сайт для обработки платежей без дополнительной платы Apple.
— Технологический сбор: приложения для iOS, распространяемые в App Store и/или на альтернативных площадках, будут платить 0,50 евро за каждую первую годовую установку в год, превышающую порог в 1 миллион.
— Для приложений на iPadOS, macOS, watchOS и tvOS в ЕС разработчики, которые обрабатывают платежи с помощью PSP или ссылки на свой сайт, получат скидку в размере 3% от комиссии, которую они должны выплатить Apple.
Очень интересный проект - LiveView.js. Фактически - это реализация протокола LiveView, впервые появившегося в экосистеме Elixir/Phoenix, но перенесённая на node/deno. Интересно - будет ли работать с bun?
Буквально недавно я рассказывал о StyleX от Meta и тут мне попадается еще один интересный css-in-js фреймворк - Panda с достаточно именитыми создателями, среди которых Segun Adebayo, автор Chakra UI. Мне кажется - этот фреймворк как минимум достоин внимания
Если у вас есть проект, который ищет своих клиентов среди ретейла, то Windberries запускает акселератор проектов, участники которого получат возможность запустить с маркетплейсом совместные пилотные проекты. Чуть подробнее можно прочитать тут https://wildberries.sk.ru/
Еще один акселератор, а точнее - преакселератор запустили ребята из Сколково для российских проектов. Есть возможность получить грант, запустить пилот со Спортмастером или банками. Детали по ссылке
Если меня разбудят через 100 лет и спросят "Есть ли homebrew для PostgreSQL", то я отвечу "А где вы были 100 лет?", потому что pxman - это как раз такой проект 🙂