- 1
IT Оффтоп #141
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
IT Оффтоп #141
#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
#135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
#139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
#140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
−1
С помощью вербальных вибраций можно отправлять мыслеформы в плотские тела либо жидкости и предметы.
Практического применения пока не имеет.
gorcom.com
narcom.com
profcom.com
anacom.com
+2
Новогодний оффтоп #2
░░░░░░░░░░░░░░░░░▐▌░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▀████▀░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▄█▀▀█▄░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░▄▄░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░▄████▄░░░░░░░░░░░░░░░
░░░░░░░░░░░▄▄██╬██╬████▄▄░░░░░░░░░░░
░░░░░░░░▀███████╬███╬██████▀░░░░░░░░
░░░░░░░░░░▄▄█╬████╬█████▄▄░░░░░░░░░░
░░░░▄▄▄▄██╬████╬█████╬███╬██▄▄▄▄░░░░
░░░░░░▀▀████╬█████╬█████████▀▀░░░░░░
░░░░░░░░░▄█████╬██████╬███▄░░░░░░░░░
░░▄▄▄▄██████╬█████╬███████╬███▄▄▄▄░░
░░▀▀▀████╬█████╬████╬███╬██████▀▀▀░░
░░░░░░░░████╬████████╬██████░░░░░░░░
░░▄▄▄█████╬██████╬█████╬███╬███▄▄▄░░
▀▀▀████╬█████╬█████╬████╬███╬████▀▀▀
░░░░░░▀▀▀██████████████████▀▀▀░░░░░░
░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░
#1: https://govnokod.ru/27188 https://govnokod.xyz/_27188
−1
template distance(b1, b2: AstronomicalBody): float64 = dist(b1.pos, b2.pos)
proc attractionForce(body_1, body_2: AstronomicalBody): DVec3 =
let r = distance(body_1, body_2)
let module = (body_1.m * body_2.m) / (r.pow(2))
return normalize(body_2.pos - body_1.pos) * module
proc updateForce(body: var AstronomicalBody, bodies: seq[AstronomicalBody]) =
body.F = dvec3(0, 0, 0)
for other_body in bodies:
if other_body != body:
body.F += attractionForce(body, other_body)
template acceleration(body: AstronomicalBody): float64 = body.F / body.m
template updateAcceleration(body: var AstronomicalBody) = body.a = acceleration(body)
template velocity(body: AstronomicalBody, dt: float64) = body.V + body.F.normalize * body.a * dt
template updateVelocity(body: var AstronomicalBody, dt: float64) = body.V = velocity(body, dt)
template updatePosition(body: var AstronomicalBody, dt: float64) = body.pos += (body.V * dt)
proc updateProperties(body: var AstronomicalBody, bodies: seq[AstronomicalBody], dt: float64) =
body.updateForce(bodies)
body.updateAcceleration()
body.updateVelocity(dt)
body.updatePosition(dt)
Как же "Nim" хорош, как же "Nim" красив, изящен и элегантен!
−1
Я скажу вам по секрету: плохо быть гомосексуалистом.
Попахивает ли твой хуй говном, bormand?
+1
EXAMPLE
To specify what kind of authorization is needed to execute the program /usr/bin/pk-example-frobnicate as another user, simply write an action definition file like this
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>Examples for the PolicyKit Project</vendor>
<vendor_url>http://hal.freedesktop.org/docs/PolicyKit/</vendor_url>
<action id="org.freedesktop.policykit.example.pkexec.run-frobnicate">
<description>Run the PolicyKit example program Frobnicate</description>
<description xml:lang="da">Kør PolicyKit eksemplet Frobnicate</description>
<message>Authentication is required to run the PolicyKit example program Frobnicate (user=$(user), program=$(program), command_line=$(command_line))</message>
<message xml:lang="da">Autorisering er påkrævet for at afvikle PolicyKit eksemplet Frobnicate (user=$(user), program=$(program), command_line=$(command_line))</message>
<icon_name>audio-x-generic</icon_name>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_self_keep</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/pk-example-frobnicate</annotate>
</action>
</policyconfig>
Simply write an action definition file like this, they said...
−4
Гритингс, мои будущие жертвы!..
Лысое Хуйло пытается насильно колоть и пичкать лекарствами своих агнцев - то есть, Вас, в надежде спасти свою жопу от импичмента - а он неминуем.
Странно, но с началом вакцинации мор только усилился.
0
Хрюкни #21
._ __,
|\,../'\
,'. . `.
.-- '`.
( `' , ;
,`--' _, ,'\
,`.____ `.
/ `, |
' \, '
| / /`,
`, . ,` ./ |
' `. ,' |;,' ,@
______| | _________,_____jv______
`. `. ,'
,'_,','_,
`' `'
#1: (vanished) https://govnokod.xyz/_26863
#2: (vanished) https://govnokod.xyz/_26868
#3: https://govnokod.ru/26881 https://govnokod.xyz/_26881
#4: https://govnokod.ru/26896 https://govnokod.xyz/_26896
#5: https://govnokod.ru/26928 https://govnokod.xyz/_26928
#6: (vanished) https://govnokod.xyz/_26952
#7: https://govnokod.ru/26955 https://govnokod.xyz/_26955
#8: https://govnokod.ru/27043 https://govnokod.xyz/_27043
#9: https://govnokod.ru/27175 https://govnokod.xyz/_27175
#10: https://govnokod.ru/27472 https://govnokod.xyz/_27472
#11: https://govnokod.ru/27517 https://govnokod.xyz/_27517
#12: https://govnokod.ru/27636 https://govnokod.xyz/_27636
#13: (vanished) https://govnokod.xyz/_27711
#14: https://govnokod.ru/27713 https://govnokod.xyz/_27713
#15: https://govnokod.ru/27721 https://govnokod.xyz/_27721
#16: https://govnokod.ru/27722 https://govnokod.xyz/_27722
#17: https://govnokod.ru/27723 https://govnokod.xyz/_27723
#18: https://govnokod.ru/27724 https://govnokod.xyz/_27724
#19: https://govnokod.ru/27726 https://govnokod.xyz/_27726
#20: https://govnokod.ru/27727 https://govnokod.xyz/_27727
0
https://250bpm.com/blog:36/
> At that point every semi-decent programmer curses spaghetti code in general and the author of the function in particular and embarks on the task of breaking it into managable chunks, trying to decompose the problem into orthogonal issues, layer the design properly, move the common functionality into base classes, create convenient and sufficiently generic extension points et c.
<…>
It turns out that the 1500-line function was parsing a network protocol. It is a 30-year old, complex and convoluted Behemoth of a protocol, defined by many parties fighting over the specification, full of compromises and special cases, dragged through multiple standardisation bodies and then anyway slightly customised by each vendor.
<...>
Unfortunately, it turns out that the tweak intersects the boundary between two well-defined components in the implementation. The right thing to do would be to re-think the architecture of the parser and to re-factor the codebase accordingly. <
Вот так вот. Не стоит спешить любую портянку из 100+ строк кода называть "спагетти-кодом". Код может быть функцией микроконтроллера в котором вызов функции достаточно дорогой по памяти/времени, сложным алгоритмом и пр. Спагетти - это про организацию кода. Монолитный (но хорошо мапящийся на домен) код понять проще, чем солянку из функций, классов и пр. которые решают непонятно какую задачу (это и есть спагетти-код). Алсо https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence
+2
RUN apt install -y apache2
RUN apt install -y php
RUN apt install -y php-mysql
RUN apt install -y libapache2-mod-php
RUN apt install -y curl
RUN apt install -y php-mbstring
RUN apt install -y php-mysql
RUN apt install -y php7.4-sqlite3
RUN apt install -y php-gd
RUN apt install -y php-intl
RUN apt install -y php-xml
RUN apt install -y php-curl
#RUN apt install -y php7.0-ffmpeg
RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.4/apache2/php.ini
RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.4/cli/php.ini
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
RUN echo "IncludeOptional /var/www/*.conf" >> /etc/apache2/apache2.conf
#RUN sed -i "s/<\/VirtualHost>/Проверка\n<\/VirtualHost>" /etc/apache2/apache2.conf
RUN sed -i "s/<\/VirtualHost>/\n\t<Directory \/var\/www\/html>\n\t<\/Directory>\n<\/VirtualHost>/g" /etc/apache2/sites-available/000-default.conf
RUN sed -i "s/<\/Directory>/\tOptions Indexes FollowSymLinks MultiViews\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
RUN sed -i "s/<\/Directory>/\tAllowOverride All\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
RUN sed -i "s/<\/Directory>/\tOrder allow,deny\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
RUN sed -i "s/<\/Directory>/\tAllow from all\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
RUN sed -i "s/<\/Directory>/\tRequire all granted\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
RUN mv /etc/apache2/sites-enabled/000-default.conf /tmp
RUN cd /etc/apache2/sites-enabled/; ln -s ../sites-available/000-default.conf 000-default.conf
RUN a2enmod php7.4
RUN a2enmod rewrite
#RUM apt install -y certbot
#RUN a2enmod python-certbot-apache
#RUN a2enmod ssl
EXPOSE 80
EXPOSE 22
# <Directory /var/www/html>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride All
# Order allow,deny
# Allow from all
# Require all granted
# </Directory>
RUN wget -O /var/www/html/index.phar https://github.com/mpak2/mpak.su/raw/master/phar/index.phar
RUN wget -O /var/www/html/.htaccess https://github.com/mpak2/mpak.su/raw/master/.htaccess
RUN wget -O /var/www/html/.htdb https://github.com/mpak2/mpak.su/raw/master/.htdb
RUN chown www-data /var/www/html/.htdb
RUN chown www-data /var/www/html
RUN mkdir /var/www/html/include
RUN mkdir /var/www/html/include/images
RUN chmod 0777 /var/www/html/include/images
RUN rm /var/www/html/index.html
https://github.com/mpak2/mpak.su/blob/654b7daf0b7d4f3c83385c0ca35fcab6a1ec45f7/phar/docker/www/Dockerfile