#prog #rust #rustreleasenotes
Вышла версия Rust 1.56! На этот раз Вафель меня опередил, так что читайте его о нововведениях этой версии.
Вышла версия Rust 1.56! На этот раз Вафель меня опередил, так что читайте его о нововведениях этой версии.
Telegram
Мне не нравится реальность
# Rust 1.56.0
Вчера вышел Rust 1.56, включающий в себя многие вкусные плюшки, по большей части связанные с новой, 2021 редакцией. Подробнее про 2021 редакцию можно прочитать в edition guide, но я постараюсь кратко просуммировать изменения:
— В prelude добивили…
Вчера вышел Rust 1.56, включающий в себя многие вкусные плюшки, по большей части связанные с новой, 2021 редакцией. Подробнее про 2021 редакцию можно прочитать в edition guide, но я постараюсь кратко просуммировать изменения:
— В prelude добивили…
Только что ко мне в БК подошёл чел и предложил мне тысячу рублей, если я установлю TikTok 😐
#prog #article
В последние годы в употребление вошло словосочетание software engineer. Само это словосочетание подразумевает, что работа разработчиков программного обеспечения сравнима с деятельностью инженеров из более традиционных областей индустрии. Много копий было сломано на тему того, можно ли разработчиков и впрямь называть инженерами. К сожалению, эти умствования были малополезны, поскольку все из них были написаны разработчиками без опыта работы в традиционном инженерном деле. Как следствие, их авторы исходили не из реальных представлений о работе инженеров, а из своих стереотипов, которые имели к практике весьма опосредованное отношение.
Hillel Wayne избрал более надёжный подход: признав, что он не в состоянии самостоятельно рассуждать на эту тему, он провёл на эту тему интервью с полутора десятком людей, которые сейчас работают разработчиками, но были ранее инженерами (в их число с неожиданностью для автора вошёл Nick Coghlan, который сейчас больше известен, как один из разработчиков CPython, но до этого работал инженером системной интеграции в Boeing). Этих людей автор в дальнейшем называет "crossovers". Информацию их интервью с этими людьми автор в итоге суммировал в трёх эссе. Если вы спешите, то вот заключение из последнего из них:
To summarize my ultimate conclusions:
First of all, We software engineers are “really” engineers. All the differences people give between software and “real” engineering don’t accurately reflect what “real” engineering looks like. And the biggest difference, licensure, is a political construct, not a technical one. At the same time, there is a difference between the different ways people make software, and it makes sense to think of software developers and software engineers as distinct concepts. But even then, it’s very easy for a software developer to become a software engineer and vice versa.
Second, we are not special. There are some aspects of software engineering that are unique to software, such as the speed of iteration, loose constraints, and the consistency of our material. But software engineering has far more in common with the other forms of engineering than it has differences. The same ideas that engineers use to advance their craft are equally useful in our own domain.
Finally, there is a lot we can both teach and learn. Engineering processes are more sophisticated than ours in ways that we can extract lessons from. Traditional engineers have a stronger sense of professionalism and responsibility than we tend to. In contrast, our culture is much more open and our communities much stronger than what exists in trad engineering. And our developments in version control have the potential to revolutionize traditional engineering.
Тем не менее, сами эссе, разумеется, раскрывают тему более развёрнуто, так что всячески рекомендую их к прочтению:
Are We Really Engineers?
We Are Not Special
What engineering can teach (and learn from) us
В последние годы в употребление вошло словосочетание software engineer. Само это словосочетание подразумевает, что работа разработчиков программного обеспечения сравнима с деятельностью инженеров из более традиционных областей индустрии. Много копий было сломано на тему того, можно ли разработчиков и впрямь называть инженерами. К сожалению, эти умствования были малополезны, поскольку все из них были написаны разработчиками без опыта работы в традиционном инженерном деле. Как следствие, их авторы исходили не из реальных представлений о работе инженеров, а из своих стереотипов, которые имели к практике весьма опосредованное отношение.
Hillel Wayne избрал более надёжный подход: признав, что он не в состоянии самостоятельно рассуждать на эту тему, он провёл на эту тему интервью с полутора десятком людей, которые сейчас работают разработчиками, но были ранее инженерами (в их число с неожиданностью для автора вошёл Nick Coghlan, который сейчас больше известен, как один из разработчиков CPython, но до этого работал инженером системной интеграции в Boeing). Этих людей автор в дальнейшем называет "crossovers". Информацию их интервью с этими людьми автор в итоге суммировал в трёх эссе. Если вы спешите, то вот заключение из последнего из них:
To summarize my ultimate conclusions:
First of all, We software engineers are “really” engineers. All the differences people give between software and “real” engineering don’t accurately reflect what “real” engineering looks like. And the biggest difference, licensure, is a political construct, not a technical one. At the same time, there is a difference between the different ways people make software, and it makes sense to think of software developers and software engineers as distinct concepts. But even then, it’s very easy for a software developer to become a software engineer and vice versa.
Second, we are not special. There are some aspects of software engineering that are unique to software, such as the speed of iteration, loose constraints, and the consistency of our material. But software engineering has far more in common with the other forms of engineering than it has differences. The same ideas that engineers use to advance their craft are equally useful in our own domain.
Finally, there is a lot we can both teach and learn. Engineering processes are more sophisticated than ours in ways that we can extract lessons from. Traditional engineers have a stronger sense of professionalism and responsibility than we tend to. In contrast, our culture is much more open and our communities much stronger than what exists in trad engineering. And our developments in version control have the potential to revolutionize traditional engineering.
Тем не менее, сами эссе, разумеется, раскрывают тему более развёрнуто, так что всячески рекомендую их к прочтению:
Are We Really Engineers?
We Are Not Special
What engineering can teach (and learn from) us
Hillel Wayne
Are We Really Engineers?
This is part one of the Crossover Project. Part two is here and part three is here. A conference talk based on this work is now available here.
I sat in front of Mat, idly chatting about tech and cuisine. Before now, I had known him mostly for his cooking…
I sat in front of Mat, idly chatting about tech and cuisine. Before now, I had known him mostly for his cooking…
Forwarded from мне не нравится реальность
Хотите добавить знание Rust в своё резюме, но у вас нет даже свободной минутки? Тогда курс «59 seconds to learn Rust» для вас!
YouTube
Rust Programming - Full 59-Second Course for Beginners
Learn how to program in rust in this complete course for beginners. By the end of this course you will be ready for another Rust course.
Code: https://replit.com/@zizyo/rust
Inspired by this code / article: https://opensource.com/article/20/12/learn-rust…
Code: https://replit.com/@zizyo/rust
Inspired by this code / article: https://opensource.com/article/20/12/learn-rust…
Forwarded from Backtracking (Дима Веснин)
про игры как модель мира: в амазоновской MMO New World дефляция, которая противоположность инфляции, стала настолько серьёзной проблемой, что основным способом торговли в игре стал бартер
This type of regression becomes a severe disincentive to players: what’s the point of leveling a profession if you can’t make any money from it? What’s the point of farming for items if they’re not worth any money, and you can’t afford to repair them?
https://blog.playerauctions.com/mmorpg/currency-crisis-in-new-world/
This type of regression becomes a severe disincentive to players: what’s the point of leveling a profession if you can’t make any money from it? What’s the point of farming for items if they’re not worth any money, and you can’t afford to repair them?
https://blog.playerauctions.com/mmorpg/currency-crisis-in-new-world/
PlayerAuctions Blog
Currency Crisis in New World - PlayerAuctions Blog
A Crisis of Coin Players in New World are experiencing a rare economic crisis, at least within the scope of online gaming: deflation . More money is leaving cir
Forwarded from Lil Functor
Длинный блогпост с подробным объяснением тайп констрейнтов в скале. От паттернов использования до собственной реализации.
Как работают эти магические
https://blog.bruchez.name/posts/generalized-type-constraints-in-scala/
Как работают эти магические
<:<
, =:=
, и почему недостаточно обычных тайп баундов. Для меня при изучении скалы это долгое время был один из самых непонятных вопросов.https://blog.bruchez.name/posts/generalized-type-constraints-in-scala/
Erik’s Ponderings
Generalized type constraints in Scala (without a PhD)
Introduction
#prog
На три вещи можно смотреть бесконечно: на горящий огонь, на текущую воду и на то, как у #python-истов горит с
На три вещи можно смотреть бесконечно: на горящий огонь, на текущую воду и на то, как у #python-истов горит с
match
.Хабр
Немного примеров match/case в Python 3.10
Не так давно (а именно 4 октября 2021 года) официально увидела свет юбилейная версия языка python, а именно версия 3.10. В ней было добавлено несколько изменений, а самым интересным (на мой взгляд)...
#prog
Интервью от 2004 года с Julian Seward, создателем Valgrind. Не смотря на возраст материала, читать интересно.
Некоторые интересные моменты:
* В отличие от приличного количества инструментов из мира UNIX, Valgrind был создан в 21 веке (первая версия вышла в 2002 году)
* "One of the major parts of GHC I worked on was the back-end x86 and SPARC code generators, and the register allocator. From this I learnt a lot about the x86 instruction set and code generation techniques, and the idea of making a memory-checking tool for Linux came back into view."
* Вопреки расхожему мнению, название Valgrind — не сокращение от "value grinder" или чего-то похожего, как можно было бы подумать, а взято из скандинавской мифологии (передаю привет Антону)
* "Valgrind is only useful because C and C++ are such crappy programming languages."
* "Valgrind is loaded with assertion checks and internal sanity checkers which periodically inspect critical data structures. These are permanently enabled. I don't care if 5 percent or even 10 percent of the total run-time is spent in these checks—automated debugging is the way to go. As a result, Valgrind almost never segfaults—instead it emits some kind of a useful error message before dying. That's something I'm rather proud of."
Интервью от 2004 года с Julian Seward, создателем Valgrind. Не смотря на возраст материала, читать интересно.
Некоторые интересные моменты:
* В отличие от приличного количества инструментов из мира UNIX, Valgrind был создан в 21 веке (первая версия вышла в 2002 году)
* "One of the major parts of GHC I worked on was the back-end x86 and SPARC code generators, and the register allocator. From this I learnt a lot about the x86 instruction set and code generation techniques, and the idea of making a memory-checking tool for Linux came back into view."
* Вопреки расхожему мнению, название Valgrind — не сокращение от "value grinder" или чего-то похожего, как можно было бы подумать, а взято из скандинавской мифологии (передаю привет Антону)
* "Valgrind is only useful because C and C++ are such crappy programming languages."
* "Valgrind is loaded with assertion checks and internal sanity checkers which periodically inspect critical data structures. These are permanently enabled. I don't care if 5 percent or even 10 percent of the total run-time is spent in these checks—automated debugging is the way to go. As a result, Valgrind almost never segfaults—instead it emits some kind of a useful error message before dying. That's something I'm rather proud of."
TechRepublic
Open Source Awards 2004: Julian Seward for Valgrind
For the Linux-on-Intel-x86 crowd, one of the most popular debugging options available is Julian Seward's Valgrind. This free program emulates the Intel CPU so that it can see exactly what your program is doing.
#prog #article #soc
В основе библиотек для PBT (property-based testing) лежит фреймворк для нахождения и минификации набора аргументов, на котором выполняется некоторый предикат. Этот фреймворк можно применять для совсем разных целей, например, для того, чтобы найти набор предпочтений избирателей, на которых разные методики выборов дадут разные показатели (да, это всё ещё блог hypothesis).
И да, альтернативы обычному большинству голосов есть. В этой статье с интерактивными визуализациями от Nicky Case рассказывается о пяти различных альтернативах и о их разных свойствах. Абсолютно лучшей среди них нету, но все они выгодно отличаются от простого большинства отсутствием эффекта спойлера (когда введение в списки голосований непопулярного кандидата, который, тем не менее, оттягивает на себя голоса, позволяет сменить исход выборов между двумя наиболее популярными кандидатами).
(Есть также русскоязычная адаптация (с сохранением и переводом интерактивных элементов), но это именно что адаптация, так что не могу безусловно рекомендовать)
В основе библиотек для PBT (property-based testing) лежит фреймворк для нахождения и минификации набора аргументов, на котором выполняется некоторый предикат. Этот фреймворк можно применять для совсем разных целей, например, для того, чтобы найти набор предпочтений избирателей, на которых разные методики выборов дадут разные показатели (да, это всё ещё блог hypothesis).
И да, альтернативы обычному большинству голосов есть. В этой статье с интерактивными визуализациями от Nicky Case рассказывается о пяти различных альтернативах и о их разных свойствах. Абсолютно лучшей среди них нету, но все они выгодно отличаются от простого большинства отсутствием эффекта спойлера (когда введение в списки голосований непопулярного кандидата, который, тем не менее, оттягивает на себя голоса, позволяет сменить исход выборов между двумя наиболее популярными кандидатами).
(Есть также русскоязычная адаптация (с сохранением и переводом интерактивных элементов), но это именно что адаптация, так что не могу безусловно рекомендовать)
hypothesis.works
Exploring Voting Systems with Hypothesis - Hypothesis
Exploring Voting Systems with Hypothesis Hypothesis is, of course, a library for writing tests.
But from an implementation point of view this is hardly noticeable.
Really it’s a library for constructing and exploring data and using it
to prove or disprove…
But from an implementation point of view this is hardly noticeable.
Really it’s a library for constructing and exploring data and using it
to prove or disprove…
Извините, но чуток #wafflecontext. Надеюсь, вы следите за новостями
Twitter
Aaron Patterson
It's not ✌️personal info✌️, it's just "Meta Data"!
Подписчики, дорогие мои, в довольно скором времени будет Rustcon. Мне туда хочется попасть (🧇), но идти просто слушателем не хочется а ещё меня жаба душит отдавать за билет 14 тысяч. Поэтому у меня есть хитрый план: взять один из своих авторских постов в Блог*е и переработать его в доклад. Так что у меня к вам вопрос: какой пост(ы), на ваш взгляд, заслуживает конвертации в доклад для конфы?
rustcon.ru
Конференция по языку программирования Rust, Москва, 28 ноября 2025