-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+3
- 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
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
"""
A module for printing funny frames.
Copyright (C) 2021 Ingostnus.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
from math import sqrt
_str = "sample" # String to be turned into a funny frame.
_sep = ' ' # Separator, i.e. a string to be inserted between each letter of the _str.
_vertical_separator_mode = 'F' # Determines whether separator should be printed between each row.
# ... 'F' --> off. 'T' --> on.
def get_user_input() -> None:
"""
This function lets user input desired values and override the defaults.
"""
global _str; _str = str(input("String: "))
global _sep; _sep = str(input("Character: "))
global _vertical_separator_mode; _vertical_separator_mode = str((input("VSM (T/F):")))
if _vertical_separator_mode == 'T':
print("VMS is ON!!!")
def print_frame(printer = print) -> list:
"""
This function is designed for printing a frame. Custom printer function
may be supplied to process the output in a specific way.
"""
buffer_len = (len(_str) + len(_sep) * (len(_str) - 1))**2
# First line.
printer(''.join([_str[i] + _sep if i < (len(_str) - 1) else _str[-1] for i in range(len(_str))]))
# Second -- pre last lines.
empty_space = ' ' * (int(sqrt(buffer_len)) - 2)
for i in range(1, len(_str) - 1):
# If vertical separator mode is toggled, print vertical separator.
if _vertical_separator_mode == 'T':
printer(_sep + empty_space + _sep)
printer(_str[i] + empty_space + _str[-(i + 1)])
# Last line.
printer(''.join([_str[-(i + 1)] + _sep if i < (len(_str) - 1) else _str[0] for i in range(len(_str))]))
# To give the best perfomance and flexibility, this module should be used as
# an imported library. Though, its basic functionality can be used even if
# it's executed directly.
if __name__ == '__main__':
get_user_input()
print_frame()
Переписала код https://govnokod.ru/27348 на питон, добавив чуть-чуть улучшений и немноже4ко документацци.
KoWe4Ka_l7porpaMMep,
11 Апреля 2021
-
+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
using System.Device.Gpio;
using System;
using System.Threading;
namespace Blinky
{
public class Program
{
private static GpioController s_GpioController;
public static void Main()
{
s_GpioController = new GpioController();
// ESP32 DevKit: 4 is a valid GPIO pin in, some boards like Xiuxin ESP32 may require GPIO Pin 2 instead.
GpioPin led = s_GpioController.OpenPin(4,PinMode.Output);
led.Write(PinValue.Low);
while (true)
{
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(125);
led.Toggle();
Thread.Sleep(525);
}
}
}
}
https://habr.com/ru/post/549012/: «.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров».
Ну все, последний оплот сишки пал, можно ее закапывать.
PolinaAksenova,
25 Марта 2021
-
+2
- 1
Class::Class(Pethu pethu) : pethu(std::move(pethu)) {
std::move заебал. Просто взял, блядь, — и заебал!
Чем это лучше передачи по ссылке?
guestinxo,
12 Ноября 2020
-
+1
- 1
- 2
- 3
В России запретят хэтэтэпээс:
https://hi-tech.mail.ru/news/zapretit_shifrovanie/
В России предложили запретить шифрование в интернете.
Министерство цифрового развития, связи и массовых коммуникаций РФ предлагает запретить все инструменты шифрования данных в интернете, потому что они мешают поиску запрещенных материалов и блокировке сайтов.
Ведомство уже опубликовало законопроект для публичного обсуждения, в нем предлагается запретить «использование на территории Российской Федерации протоколов шифрования, позволяющих скрыть имя (идентификатор) Интернет-страницы или сайта в сети 'Интернет'».
В пояснительной записке объясняют, что речь идет о конкретных протоколах шифрования данных TLS 1.3, ESNI, DNS over HTTPS и DNS over TLS. Большинству людей известен протокол HTTPS, потому что это сокращение многие видели в адресной строке браузера — это значит, что загруженный сайт обменивается данными с вашим устройством в зашифрованном виде. Только Минцифры предлагает запретить DNS over HTTPS, в котором используется тот же протокол шифрования на уровне системы доменных имен (DNS).
Минцифры считает, что подобные технологии шифрования вредят развитию интернета в России, потому что эти протоколы «значительно затрудняют выявление ресурсов в сети интернет, содержащих информацию, распространение которой в Российской Федерации ограничено или запрещено».
Также в пояснительной записке говорится, что шифрование мешает блокировке сайтов в интернете — и это правда. Технологии Роскомнадзора не позволяют заблокировать отдельную страницу с запрещенной информацией на сайте, который защищен протоколом HTTPS. В таком случае под блокировку попадает весь сайт целиком или отдельный набор IP-адресов, из-за чего могут пострадать другие ресурсы.
rotoeb,
24 Сентября 2020
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
uint64_t stored_msg_id = _container_msg_id.get(ctrl_msg.sequence); // Получаем msg_id из мапы для связки сообщений
if (stored_msg_id)
proto_fill(ctrl_msg, stored_msg_id); // если он там был то новому сообщению даем этот msg_id
else
proto_fill(ctrl_msg); // Иначе формируем новый msg_id
// Отсылаем сообщение
...
// Если msg_id не был в _container_msg_id то произойдет попытка вставки msg_id полученного через proto_fill.
if (!stored_msg_id && !_container_msg_id.insert(ctrl_msg.sequence, ctrl_msg.msg_id))
{
DEBUG(L, 0, "[%p] Can't store request's control message id (%llu) in bunch map" \
", response's msg_id will differ", this, msg.msg_id);
}
С точки зрения читабельности кода, в последнем ветвлении говнокод?
OlegUP,
15 Сентября 2020
-
0
- 1
- 2
- 3
- 4
- 5
- 6
try {
throw new SQLException();
} catch (SQLException e) {
logger.error("error while updating "
+ e.getMessage());
}
нет слов
ld50,
11 Сентября 2020
-
0
- 1
https://github.com/OlegKuch/GreenCubic
Всем привет, я новичок в программировании и разрабатываю свою бессмысленную игру. Как вам?
Oleg4260,
02 Июня 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
# -*- coding: iso-8859-1 -*-
schön = Wahr
häßlich = Falsch
für bäh in [schön, häßlich]:
drucke bäh
def sovielwiemöglich():
"gib"
zurück "was mir gehört"
Отсюда:
http://www.fiber-space.de/EasyExtend/doc/teuton/teuton.htm
TEH3OPHblu_nemyx,
01 Июня 2020
-
−1
- 1
- 2
- 3
- 4
Currently, we're ignoring failures to mlock signal stacks in the
workaround for #35777. This means if your mlock limit is low, you'll
instead get random memory corruption, which seems like the wrong
trade-off.
самый лучший язык на свете продолжает шпарить, отказались от free after use - получили «забыл сделать if (err != nil)»
https://github.com/golang/go/commit/69614c0d0e05787c8203bdc364c3293e1cf5094a
Fike,
24 Апреля 2020
-
−1
- 1
- 2
- 3
Поздравьте, прямо сейчас работаю над этим:
dump/docs/lib/shablons/really_old_shablon_common.inc
Полюбому надо поработать пыхомакакой по старой памяти для друга.
Делаю это, уже пожалуй, что и с ностальгией.
Буду подкармливать говнецом по ходу работы.
vistefan,
04 Января 2020