Size: a a a

2020 August 19
oleg_log
The computer is so powerful and so useful
because it has eliminated many of the
physical constraints of electromechanical
devices. This is both its blessing and its
curse: We do not have to worry about the
physical realization of our software designs,
but we also no longer have physical laws the
limit the complexity of these designs—the latter
could be called the curse of flexibility.

- Nancy Leveson, 1995
источник
oleg_log
роскошно
источник
oleg_log
источник
oleg_log
грусть-правдивая
источник
oleg_log
источник
2020 August 20
oleg_log
У вас в фирме есть документ с градацией на джун/мид/синьер/тд ?
Анонимный опрос
27%
Есть
44%
Не было
2%
Был, но отказались
4%
Нет, но хотим
2%
Нет, но хотим (из-за опроса)
5%
Другое
17%
Воздержаться
Проголосовало: 1058
источник
oleg_log
источник
2020 August 21
oleg_log
Смотрю в лог билда, вижу предупреждение о депрекейтед, решил глянуть что там.

А это в принципе прикольно, что на каждую мажорную версию нужно переписывать тонну своего кода.

Правда возникает неглубокий вопрос - правда все так сильно изменилось в мире хттп клиентов, что нужно все выкинуть?

Между релизом Spring 4 & 5 конечно 4 года прошло, но хммм. Все это напоминает на писание кода, ради написания кода. Это неправильное, но популярное движение.
источник
oleg_log
Приехали новости по дженерикам, встречайте квадратные скобки и any.

The result is declarations that look like this:
type Vector[T any] []T
func Print[T any](s []T) { … }
func Index[T comparable](s []T, e T) { … }

https://groups.google.com/g/golang-nuts/c/iAD0NBz3DYw/m/VcXSK55XAwAJ?pli=1

Но лучше прочитать фул, хотя не очень легко.
источник
2020 August 22
oleg_log
Linus Torvalds made his initial commit of Git's code on April 7th 2005, he added a file called README:

GIT - the stupid content tracker

"git" can mean anything, depending on your mood.

- random three-letter combination that is pronounceable, and not actually used by any common UNIX command.  The fact that it is a mispronunciation of "get" may or may not be relevant.
- stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
- "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
- "goddamn idiotic truckload of sh*t": when it breaks

This is a stupid (but extremely fast) directory content manager. It doesn't do a whole lot, but what it _does_ do is track directory contents efficiently.

https://initialcommit.com/blog/How-Did-Git-Get-Its-Name
источник
oleg_log
Главное продолжать верить в хайлоад
источник
oleg_log
источник
2020 August 23
oleg_log
Re: You don’t need reproducible builds
       
There are a lot of reasons to prefer reproducible builds, and many of them are not security related... It seems a bit presumptuous to argue that noone needs reproducible builds because one particular security argument is flawed.

First, a non-flawed security argument: it only takes one non-malicious person to build a package from source and find that it doesn't match the distributed binary to spot a problem. Sure, if you don't compile the binaries yourself, you might not find out until later that a binary was compromised, but that's still better than never finding out. The reality is that most people don't want to spend time building all their packages from source...

More generally, reproducible builds make build artifacts a pure function of their inputs. There are countless reasons why this might be desirable.

- If a binary is lost, it can be rebuilt exactly as it was. You only need to ensure the source is preserved.

- If a particular version of the code is tested, and the binary is not a pure function of the code, then you haven't really tested the binary. Bugs could still be introduced that were not caught during testing because your build is non-deterministic.

- It provides a foundation for your entire OS image to be built deterministically.

- If you use a build cache, intermediate artifacts can be cached more easily, and use less space. For example, changing the code from A -> B -> A will result in two distinct artifacts instead of three.
       
Diggsey, 6 hours ago
источник
oleg_log
век живи, век учись — увидел сегодня новый формат даты: DD.MM.HHmm 🤦‍ (т.е. 04.08.2010 - это 20:10, 4 августа)
источник
oleg_log
источник
oleg_log
бегу собирать фичерлист, чтобы завезли по знакомству, чур я 1й в очереди
источник
oleg_log
👀🤔
источник
2020 August 24
oleg_log
топ
источник
oleg_log
Визуализация нового пропозала про дженерики с отличными примерами от Владимир Вивьен

https://twitter.com/vladimirvivien/status/1297595414590427142?s=21
источник
oleg_log
2020 конечно прикольный год

One day, while studying old code, I found out that it's possible to encode Windows Portable Executable files as a UNIX Sixth Edition shell script, due to the fact that the Thompson Shell didn't use a shebang line.

Once I realized it's possible to create a synthesis of the binary formats being used by Unix, Windows, and MacOS, I couldn't resist the temptation of making it a reality, since it means that high-performance native code can be almost as pain-free as web apps.

https://justine.storage.googleapis.com/ape.html
источник