Forwarded from Кадровый Болт Генона
ASML сокращает 1700 менеджеров, чтобы не мешать инженерам работать
https://habr.com/ru/news/990032/
Производитель литографического оборудования ASML объявил о реструктуризации подразделений Technology и IT. Компания ликвидирует ряд руководящих позиций, но одновременно создаст новые инженерные должности — часть менеджеров смогут перейти на них. Чистое сокращение составит около 1700 человек, в основном в Нидерландах и частично в США.
Причина — жалобы самих сотрудников. В письме к коллегам CEO Кристоф Фуке признал: из-за быстрого роста компании процессы стали громоздкими, а инженеры "хотят заниматься инженерией, не увязая в медленных согласованиях". ASML переходит от матричной структуры к модели, где инженеры закреплены за конкретными продуктами — это должно ускорить принятие решений.
Новость вышла одновременно с финансовым отчетом за 2025 год, в котором ASML зафиксировала рекордные квартальные заказы на €13,2 млрд. Спрос подогревает AI-бум: техногиганты вкладывают сотни миллиардов в дата-центры, а TSMC в 2026 году потратит до $56 млрд на расширение производства — и всем нужны литографы ASML.
Компания подчеркивает, что сокращения происходят "в момент силы": общий штат продолжит расти для производства и обслуживания оборудования, а реструктуризация нужна, чтобы не терять скорость на фоне ажиотажного спроса.
Оригинал
ASML Statement on Strengthening Focus on Engineering and Innovation
https://www.asml.com/en/news/press-releases/2026/strengthening-focus-on-engineering-and-innovation
https://habr.com/ru/news/990032/
Производитель литографического оборудования ASML объявил о реструктуризации подразделений Technology и IT. Компания ликвидирует ряд руководящих позиций, но одновременно создаст новые инженерные должности — часть менеджеров смогут перейти на них. Чистое сокращение составит около 1700 человек, в основном в Нидерландах и частично в США.
Причина — жалобы самих сотрудников. В письме к коллегам CEO Кристоф Фуке признал: из-за быстрого роста компании процессы стали громоздкими, а инженеры "хотят заниматься инженерией, не увязая в медленных согласованиях". ASML переходит от матричной структуры к модели, где инженеры закреплены за конкретными продуктами — это должно ускорить принятие решений.
Новость вышла одновременно с финансовым отчетом за 2025 год, в котором ASML зафиксировала рекордные квартальные заказы на €13,2 млрд. Спрос подогревает AI-бум: техногиганты вкладывают сотни миллиардов в дата-центры, а TSMC в 2026 году потратит до $56 млрд на расширение производства — и всем нужны литографы ASML.
Компания подчеркивает, что сокращения происходят "в момент силы": общий штат продолжит расти для производства и обслуживания оборудования, а реструктуризация нужна, чтобы не терять скорость на фоне ажиотажного спроса.
Оригинал
ASML Statement on Strengthening Focus on Engineering and Innovation
https://www.asml.com/en/news/press-releases/2026/strengthening-focus-on-engineering-and-innovation
👍18🔥13
#prog #rust #gamedev #amazingopensource (но пока сырое)
Revy is a proof-of-concept time-travel debugger for the Bevy game engine, built using Rerun.
Revy works by snapshotting diffs of the Bevy database every frame that are then logged into the Rerun database.
This allows you to inspect and visualize the state of the engine at any point in time, either in real-time or after the fact.
These recordings can then be shared to be replayed or e.g. attached to bug reports.
👍7🤔3❤1
Сегодня на моей игре пятеро кобольдов дрались против одержимой куклы и кошка одного из кобольдов добила зомби-лошадь.
Других новостей у меня для вас нет
Других новостей у меня для вас нет
❤16💩3
Forwarded from Random Rust Dev
Я два дня сражался с тем фактом, что в Rust нельзя просто взять и написать
почему? потому, оставили невозможным что бы дизайнить взаимодействие конста и трейтов в спокойствии еще несколько лет.
Если бы без
Если что
Пробовал сделать функцию не
До некоторой глубины действительно оптимизировалось.
В итоге пришел вот к такой форме "конст-функции-на-стейбле"
Это ужасно выглядит? Да.
Это гарантирует, что в результате компиляции на месте
trait Foo {
const fn bar(arg: Arg) -> Ret;
}почему? потому, оставили невозможным что бы дизайнить взаимодействие конста и трейтов в спокойствии еще несколько лет.
Если бы без
Arg - я бы просто сделал const BAR: Ret.Если что
const BAR<const ARG: Arg>; Тоже нельзя, но хотя бы в найтли можно.Пробовал сделать функцию не
const, но писать её, как если бы она была const. Надеялся, что соптимизируется.До некоторой глубины действительно оптимизировалось.
В итоге пришел вот к такой форме "конст-функции-на-стейбле"
trait Foo {
type Bar<const ARG: Arg>: RetType;
}
trait RetType {
const VALUE: Ret;
}
impl Foo for FooImpl {
type Bar<const ARG: Arg> = FooBar<ARG>;
}
struct FooBar<const ARG: Arg>;
impl RetType for FooBar<const ARG: Arg> {
const VALUE: Ret = {
// faked const fn body.
};
}Это ужасно выглядит? Да.
Это гарантирует, что в результате компиляции на месте
FooImpl::Bar::<ARG>::VALUE будет константа, а не вызов функции? Тоже да.❤4🤔2
Forwarded from Кустарный мыслепоток (Konstantin Redkin)
😁20💩6🤣2👍1👎1🔥1
#prog #rust #rustreleasenotes
Вышла версия Rust 1.93.0! Как обычно, тут только избранное, остальное только в детальных заметках о релизе.
(да, я выкладываю анонс с опозданием больше недели, и что ты мне сделаешь?)
В этот раз большинство изменений связаны со стандартной библиотекой.
▪️Немного печальное изменение: даже с установлением
▪️Компилятор теперь выдаёт предупреждение на #[repr(C)]-перечисления, у которых значения дискриминантов не умещаются в сишный int. Смешно, но до C23 у сишных
▪️Компилятор теперь выдаёт предупреждение на попытку вызвать метод на const-значении, который эксплуатирует внутреннюю изменяемость. Так как константы инлайнятся по месту использования, эти изменения не будут видны. Обычно это является следствием ошибки — использования
▪️Метод
▪️Стабилизированы API:
🔸assume_init_drop, assume_init_ref и assume_init_mut на
🔸
🔸
🔸методы для непроверяемых (и потому потенциально дающих UB) битовых сдвигов в обе стороны на примитивных числах, а на знаковых — ещё и unchecked_neg
🔸методы для перевода ссылок на слайсы в (опциональные, разумеется) ссылки на массивы и сырых указателей на слайсы в сырые указатели на массивы, включая мутабельные варианты
🔸pop_front_if и pop_back_if на
🔸std::fmt::from_fn для ad-hoc форматирования через переданную функцию. Позволяет избежать создания одноразовых типов, нужных только для форматирования
▪️Cargo теперь прокидывает значение конфигурации debug_assertions в билд-скрипты.
▪️Команда
▪️
Вышла версия Rust 1.93.0! Как обычно, тут только избранное, остальное только в детальных заметках о релизе.
(да, я выкладываю анонс с опозданием больше недели, и что ты мне сделаешь?)
В этот раз большинство изменений связаны со стандартной библиотекой.
▪️Немного печальное изменение: даже с установлением
#[global_allocator] std всё ещё может вызывать System аллокатор. По крайней мере, на core это не распространяется.▪️Компилятор теперь выдаёт предупреждение на #[repr(C)]-перечисления, у которых значения дискриминантов не умещаются в сишный int. Смешно, но до C23 у сишных
enum нельзя было указать численный тип и нельзя было использовать значения больше int для дискриминантов.▪️Компилятор теперь выдаёт предупреждение на попытку вызвать метод на const-значении, который эксплуатирует внутреннюю изменяемость. Так как константы инлайнятся по месту использования, эти изменения не будут видны. Обычно это является следствием ошибки — использования
const вместо static (и я, кстати, такую ошибку уже делал).▪️Метод
append на BTreeSet и BTreeMap теперь сохраняет ключ из исходной коллекции, если ключи считаются равными через ==. До этого перезаписывались и ключ, и значение.▪️Стабилизированы API:
🔸assume_init_drop, assume_init_ref и assume_init_mut на
MaybeUninit<T>🔸
write_{copy, clone}_of_slice на [MaybeUninit<T>]🔸
into_raw_parts на String и на Vec. Странно, что только сейчас, потому что обратные from_raw_parts методы были стабилизированы ещё в версии 1.0.🔸методы для непроверяемых (и потому потенциально дающих UB) битовых сдвигов в обе стороны на примитивных числах, а на знаковых — ещё и unchecked_neg
🔸методы для перевода ссылок на слайсы в (опциональные, разумеется) ссылки на массивы и сырых указателей на слайсы в сырые указатели на массивы, включая мутабельные варианты
🔸pop_front_if и pop_back_if на
VecDeque🔸std::fmt::from_fn для ad-hoc форматирования через переданную функцию. Позволяет избежать создания одноразовых типов, нужных только для форматирования
▪️Cargo теперь прокидывает значение конфигурации debug_assertions в билд-скрипты.
▪️Команда
cargo tree теперь позволяет использовать для форматирования записей в дереве длинные имена для элементов шаблонов. Например, следующие два вызова эквивалентны:cargo tree --format='{p} {f}'cargo tree --format='{package} {features}'▪️
cargo clean теперь может удалять артефакты компиляции из всего workspace-а целиком.👍6😁1