-
Список говнокодов пользователя CHayT
Всего: 91
-
+2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Definition idx_compl_r {i : Fin.t N} (j : Fin.t i) : Fin.t N.
remember (fin_to_nat i) as i'.
assert (Hlt : i' < N).
{ rewrite Heqi'. eapply fin_to_nat_lt. }
assert (Heq : i' + (N - i') = N) by lia.
set (j' := Fin.L (N - i') j).
rewrite Heq in j'.
exact j'.
Defined.
Ещё один говношедевр. Как кастовать значения типа Fin.t (число в интервале от 1 до N) друг в друга. Разворачивается в 12000 строк кода. "Тому, кто это придумал, надо в голову гвоздь забить".
CHayT,
27 Августа 2020
-
+2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
Definition uilv_add_trivial {N} te (t : list TE) (traces : Traces N)
i j (Ht : MInt_ trace_elems_don't_commute j true traces t)
s s' (Hls : LongStep s (te :: t) s')
(Htriv : trivial_add i j traces) :
MInt_ trace_elems_don't_commute i true (push_te traces i te) (te :: t).
Proof with autorewrite with vector; eauto with vector; try vec_forall_eq_contradiction.
unfold push_te.
unfold trivial_add in Htriv.
destruct (Fin.eq_dec i j) as [Hij|Hij].
(* [i=j], solving by constructor: *)
{ subst.
unfold trivial_add.
eapply mint_keep with (rest := traces[@j])...
}
remember traces[@j] as t2_.
destruct t2_ as [|te2 t2]; subst.
{ inversion Ht as [vec Hvec|? ? ? ? ? Hj Hcont|? ? ? ? ? ? Hjj0 Hswitch Hj Hcont];
subst.
- eapply mint_keep with (prog := true)...
eapply mint_nil...
- rewrite Hj in Heqt2_.
discriminate.
}
remember traces[@i] as t1_.
destruct t1_ as [|te1 t1]; subst.
(* [te] is the last element in i-th trace: *)
{ eapply mint_keep with (rest := []) (prog := false)...
inversion Ht as [vec Hvec|? ? ? ? ? Hj Hcont|? ? ? ? ? ? Hjj0 Hswitch Hj Hcont];
subst...
rewrite Heqt1_ in *.
eapply mint_switch...
rewrite <-Heqt1_...
}
destruct Htriv as [|[Hij' Hcomm]]; [contradiction Hij|idtac].
eapply mint_keep with (rest := te1 :: t1) (prog := false)...
rewrite Heqt1_, Vec.replace_id.
inversion Ht as [vec Hvec|? ? ? ? ? Hj Hcont|? ? ? ? ? ? Hjj0 Hswitch Hj Hcont]; subst...
replace te0 with te2 in * by congruence.
eapply mint_switch...
rewrite <-Heqt1_...
Defined.
Кто сказал, что хуже C++ темплейтов ничего уже нет? Вы ничего не понимаете в метушне. Это говно разворачивается в 12000 строк, например.
CHayT,
20 Августа 2020
-
+3
Не говнокод, но просто смешно
CHayT,
07 Июня 2019
-
0
- 1
- 2
- 3
We could replace the nonce with a deterministic value, but it's not entirely clear what the cryptographic implications are. At the very least, it allows attackers to obverse that a secret has changed, or that it has changed back to a previously observed value.
https://github.com/edolstra/rfcs/blob/nix-encryption/rfcs/0005-nix-encryption.md
Продолжаем наблюдения
CHayT,
04 Июня 2019
-
0
- 1
Onetime = ?config(onetime, Config) =:= true,
Boolshit? Нет, это динамическая питуизация.
CHayT,
24 Апреля 2019
-
0
- 1
- 2
fuse_blown() ->
whereis(?marker_process) =/= undefined.
Q: Какой механизм IPC в Erlang самый быстрый и безопасный?
Отвечает Снаут, основатель Стиля Вечно Ждущего Процесса: process registry.
CHayT,
17 Апреля 2019
-
+1
- 1
- 2
- 3
- 4
rt_fold(#{}, Acc) ->
Acc;
rt_fold(Keys, Acc) ->
maps:fold(<.... опущено ...>, Acc, Keys).
CHayT,
14 Апреля 2019
-
+2
- 1
- 2
error_logger:format("Cannot force master when other "
"node is up and is not a forced slave",[]),
Overriding leader election в случае disaster recovery это тот ещё BDSM.
CHayT,
13 Марта 2019
-
0
- 1
https://github.com/NixOS/nixpkgs/blob/1137200d6b7fcf8fc401b54e8292f24f09bfc11d/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch#L56
Давайте сломаем билд-систему своими говнопатчами и назовём пакет "rebar3", а не "rebar3-zver-edition". Пусть народ поебётся, пытаясь свой код собрать!
CHayT,
12 Января 2019
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
[ERROR] The compilation of ocaml-base-compiler failed at "/home/me/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime".
#=== ERROR while compiling ocaml-base-compiler.4.02.3 =========================#
# context 2.0.0 | linux/x86_64 | | https://opam.ocaml.org#12c8601e
# path ~/.opam/ocaml-base-compiler.4.02.3/.opam-switch/build/ocaml-base-compiler.4.02.3
# command ~/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime
# exit-code 2
# env-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.env
# output-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.out
### output ###
# ./configure: line 195: rm: command not found
# ./configure: line 196: touch: command not found
# ../gnu/config.guess: line 35: sed: command not found
# ../gnu/config.guess: line 1364: mkdir: command not found
# ../gnu/config.guess: line 1364: mkdir: command not found
# : cannot create a temporary directory in /tmp
# [ERROR!] Cannot guess host type. You must specify one with the -host option.
^ ...И так там со всем.
Кто там хотел попробовать "NixOS"? Могу поделиться впечатлениями: если вы надеятесь, что в этой оси можно будет пользоваться привычными "autotools", "opam" и "cabal", то фиг там. Из-за сломанного FHS ебаться с "Nix" придётся с первой минуты. cast @Роман
CHayT,
25 Декабря 2018