- 1
- 2
Рак
https://twitter.com/thelarkinn/status/1006746626617008128
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Рак
https://twitter.com/thelarkinn/status/1006746626617008128
С этим миром явно что-то не так.
666_N33D135 13.06.2018 08:56 # 0
Steve_Brown 13.06.2018 11:04 # 0
Вот если бы в хуе было два яйца - это было бы неправильно. А так - яйца где-то отдельно, но хуй знает, какие яйца ему принадлежат.
Ну в данном случае фигня какая-то, разыменовал мусор и сидит довольный.
666_N33D135 13.06.2018 12:11 # 0
Обычно там NULL
bormand 13.06.2018 12:12 # 0
666_N33D135 13.06.2018 17:09 # 0
Я каждый день с утра разыменовываю мусор, и потом хожу весь день довольный.
bormand 13.06.2018 17:10 # 0
> хожу довольный
Эксплойты пишешь?
666_N33D135 13.06.2018 17:12 # 0
666_N33D135 13.06.2018 17:13 # 0
roskomgovno 13.06.2018 17:27 # 0
666_N33D135 13.06.2018 17:28 # 0
guest8 13.06.2018 17:45 # −999
666_N33D135 13.06.2018 18:34 # 0
Нихуя себе мышка.
roskomgovno 13.06.2018 18:13 # 0
Еще можно усиленно пихать в API всякий мусор и смотреть как он себя поведет, но лучше читать код.
На самом деле в _хорошем_ коде не должно быть явных буфероверфлоу: функции или явно требуют выделить память за них, либо явно передать им размер нужной памяти. Всякие говнофункции типа *str* тоже часто депрекейтнуты, а страницы со стеком, с кодом и с кучей разедены так что выполнить произвольный код в куче все равно так просто не получится
Но говноеды умеют в gadgets aka return oriented programming, : когда делают jmp в заранее известное место (можешь вику читнуть)
Для боротьбы с говноедами современные ОС используют ALSR загружая каждый раз в разное место, а openbsd релинкит в случайном порядке ядро и юзерленд, а больше так делает никто
666_N33D135 16.06.2018 15:50 # 0
17 января 2014 года проект оказался под угрозой закрытия из-за того, что у Тео де Раадта, использующего для OpenBSD огромный «зоопарк железа» у себя дома, накопилась значительная задолженность за электроэнергию, эквивалентная 20 000$, в связи с чем он опубликовал письмо с просьбой о помощи.
roskomgovno 16.06.2018 15:56 # 0
Когда-то openbsd давала денег DARPA, но потом пришел пездец: Тео говорит что они обиделись на его антивоенные высказывания по поводу Ирака.
Даже у фрибзди куча спонсоров, а у openbsd мало совсем: кстати, больше всего бабла им давал Яндекс)
666_N33D135 13.06.2018 17:26 # 0
guest8 13.06.2018 17:46 # −999
guest8 13.06.2018 17:13 # −999
666_N33D135 13.06.2018 17:17 # 0
666_N33D135 13.06.2018 17:37 # 0
roskomgovno 13.06.2018 18:20 # 0
guest8 13.06.2018 18:25 # −999
roskomgovno 13.06.2018 18:30 # 0
guest8 13.06.2018 18:37 # −999
666_N33D135 13.06.2018 18:40 # 0
roskomgovno 13.06.2018 18:45 # 0
foo(); //сам дурак
а если ссылка то
var foo = new Foo();
foo();
guest8 13.06.2018 18:49 # −999
roskomgovno 13.06.2018 19:00 # 0
guest8 13.06.2018 19:04 # −999
roskomgovno 13.06.2018 22:18 # +1
Был такой "справочник программиста PC" человека по имени Джордейн:
охуенная книга, в которой описывалась как программировать буквально всё железо PC, например как с помощью таймера и писиспикера сделать звук.
Так вот там многие программы давались в двух вариантах: в асемблере и в барсике (ибо барсик был частью base system доса, qbasic вроде).
Мне от этик пиков и поков хотелось скорее в masm и там делать MOV и OUT.
Некоторые, кстати, так писались на микикомпах типа спектурума потому что basic был в прошивке
3.14159265 13.06.2018 22:40 # 0
+
В школе не учили. Но мы сами учились :)
roskomgovno 13.06.2018 17:05 # 0
и каскадный онделит
666_N33D135 13.06.2018 17:10 # 0
Это мы не проходили
Это нам не задавали
Тарам-пам-пам!
Тарам-пам-пам!
roskomgovno 13.06.2018 17:24 # 0
Констреинты? Это что-то такое монструозное, нинужное, интерпрайзное, из javaee из 2001 года, а я сейчас в ATOM на JavaScript все напишу и по RESTу сложу в сторадж
666_N33D135 13.06.2018 17:30 # 0
> только MySQL
Это по какой-такой спесальности?
roskomgovno 13.06.2018 17:48 # 0
guest8 13.06.2018 17:51 # −999
guest8 13.06.2018 17:38 # −999
666_N33D135 13.06.2018 17:41 # +1
guest8 13.06.2018 17:44 # −999
666_N33D135 13.06.2018 18:31 # 0
guest8 13.06.2018 18:36 # −999
666_N33D135 13.06.2018 18:39 # 0
guest8 13.06.2018 18:40 # −999
666_N33D135 13.06.2018 19:03 # 0
guest8 13.06.2018 19:05 # −999
roskomgovno 13.06.2018 22:13 # 0
Вы уже ссосали?
bormand 13.06.2018 17:50 # 0
roskomgovno 13.06.2018 17:53 # 0
guest8 13.06.2018 17:20 # −999
666_N33D135 13.06.2018 17:23 # 0
roskomgovno 13.06.2018 17:26 # 0
Ваш КО
defecate-plusplus 13.06.2018 17:38 # +1
http://www.redmine.org/boards/1/topics/15943
и если это так сложно для пиздоглазых, то что уж говорить о говноедах
roskomgovno 13.06.2018 17:48 # 0
Ruby?
>>говноедах
PHP?
Кстати, Django умеет внешние ключи, uniq и not null. Больше, правда, никакие констреинты не умеет, но и это уже хорошо.
И вообще там postgres главная субд. Петон молодец
guest8 13.06.2018 17:50 # −999
roskomgovno 13.06.2018 17:52 # +1
ну нахуй
дякую тобi боже що я не рейлист
guest8 13.06.2018 17:55 # −999
roskomgovno 13.06.2018 17:57 # −1
guest8 13.06.2018 17:59 # −999
bormand 13.06.2018 17:55 # 0
roskomgovno 13.06.2018 17:58 # 0
Так что DHH говна поел with no reason.
Правда, это было 8 лет назад. Может быть с тех пор рельсы чему-то научилмсь
ps: дока грит "Active Record only supports single column foreign keys"
defecate-plusplus 13.06.2018 22:07 # 0
roskomgovno 13.06.2018 22:12 # 0
так-то ежу понятно что PK тут CODE потому что он Unique и однозначно идентифицирует ряд, но некоторые ORM не хотят видеть ключем не INT например
defecate-plusplus 13.06.2018 22:16 # 0
guest8 13.06.2018 22:48 # −999
roskomgovno 14.06.2018 00:42 # 0
666_N33D135 14.06.2018 04:39 # 0
roman-kashitsyn 14.06.2018 01:25 # 0
roskomgovno 14.06.2018 01:35 # 0
ORM это всегда трейдоф, как и любая попытка сделать что-то с помощью высокоуровневых инструментов или кодогенерации.
В том же Django я могу описать модели типа:
И получить автоматически веб-морду для создания птичьих семей, и возможность делать запросы типа
Вполне себе будет нормальный запрос, внешние ключи индексируются.
Разумеется, если я захочу я могу сделать
и ORM замапит мне все поля, потому что моя задача только в том чтобы кортеж (или как правильно назвать ряд?) с курочкиными пропертями вернуть.
Могу пойти дальше, и получить результат запроса в виде dict и сам заполнить курочку:
Ничто, в общем, не мешает когда нужно взять в руки голый SQL, а унылый CRUD бойлерплейт и заполнение форм (а это 80% любого говносайта) сделает за меня Django и ORM.
guest8 13.06.2018 18:07 # −999
666_N33D135 13.06.2018 17:35 # +1
guest8 13.06.2018 17:40 # −999
guest8 13.06.2018 17:41 # −999
666_N33D135 13.06.2018 17:42 # 0
guest8 13.06.2018 17:44 # −999
bormand 13.06.2018 17:57 # 0
bormand 13.06.2018 18:06 # +2
roskomgovno 13.06.2018 18:08 # 0
>>во флоатах
вот ты смеешься, а я реально видел тех кто так делает. Они удивляют меня еще болше тех, у кого в коде sql инъекции.
guest8 13.06.2018 18:10 # −999
1024-- 13.06.2018 19:15 # 0
https://www.npmjs.com/package/bignumber.js
guest8 13.06.2018 19:17 # −999
666_N33D135 13.06.2018 19:30 # 0
CHayT 13.06.2018 20:22 # 0
roskomgovno 13.06.2018 22:58 # 0
Ничего лишнего
3.14159265 13.06.2018 23:16 # +1
roskomgovno 14.06.2018 03:50 # +1
2) дождиаешься когда ее пропишут в своих package.json все, включая jquery, react и webpack
3) с помпой выпускаешь новую версию, незаметно добавляя туда майнер
4) вжух, и через сутки твой код работает на ста семи миллионах компьютеров по всему миру
3.14159265 14.06.2018 17:25 # +1
Если воткнуть его в операции bignumber никто даже не заметит!
guest8 14.06.2018 22:49 # −999
j123123 15.06.2018 22:14 # +1
> BigInts are a new primitive in the JavaScript language. As such, they get their own type that can be detected using the typeof operator:
3.14159265 13.06.2018 23:19 # +1
Можно провести еще одну такую транзакцию с противоположным знаком.
Она нормализует счёт и выведет его в NaN.
guest8 13.06.2018 23:26 # −999
guest8 13.06.2018 20:15 # −999
guest8 13.06.2018 20:20 # −999
guest8 13.06.2018 21:11 # −999
guest8 13.06.2018 22:53 # −999
bormand 13.06.2018 21:21 # 0
guest8 13.06.2018 21:47 # −999
Xo4y_EbaTbc9l 13.06.2018 21:49 # 0
guest8 13.06.2018 21:52 # −999
roskomgovno 13.06.2018 22:57 # +1
> Egg *eggs[2];
Я бы написал так:
Egg eggs[2];
И пускай там два яца лежат внутри буя без всякой указательности
bormand 13.06.2018 23:01 # +1
А как ты после этого будешь реализовывать castrate()?
Имхо, всё это должно принадлежать чему-то более высокоуровневому (Body?) А если органам нужно знать друг о друге -- то передать через конструктор ссылку или weak_ptr.
roskomgovno 13.06.2018 23:06 # +1
Имхо, массив указателей нужен в двух случаях:
1) одно яйцо может принадлежать более чем одному человеку (паттерн приспособленец как раз): много указателей на одну сущность
2) левое и правое яцо суть одно и тоже: указателя два, а яйцо одно.
Можно еще было хранить там тупо указатель на null terminated массив яиц на случай если их будет три или одно, либо же хранить количество яиц отдельно (это безопаснее чем null term)
С принадлежность согласен: тут явно не выполняется HAS-A, так что лучше отдать это body.
А зачем weak? Чтобы не получилось reference cycle?
bormand 13.06.2018 23:09 # 0
Ну а как же полиморфизм (яйца могут быть разного типа)?
> Чтобы не получилось reference cycle?
Ну да.
roskomgovno 13.06.2018 23:11 # 0
Так что тут похоже что ты прав: лучше иметь ссылку на интерфейс потому что она всегда одинаковая, а вот где выделять память под реальные воловьи яйца это уже на совести клиента нашего фреймворка
bormand 13.06.2018 23:17 # 0
Ну да, именно так.
З.Ы. С указателем ещё и тестировать всё это можно будет по-отдельности.
guest8 13.06.2018 23:23 # −999
Steve_Brown 14.06.2018 11:15 # 0
666_N33D135 14.06.2018 04:46 # 0
roskomgovno 14.06.2018 05:08 # 0
В 16ти битном режиме я бы сказал что нужен short, но на современных системах все равно выровняется
А Dick какого размера?
Я спрашиваю потому что если он очень большой то лучше хранить указатель: пусть у тебя член отдельно будет
666_N33D135 14.06.2018 06:01 # 0
Таки да, надо *dick. Ведь член можно отделить (правда это не рекомендуется), его может не быть изначально, он может быть одновременно и на положенном месте и в чьей-нибудь руке, рту, анусе, кармане и т.д. Может быть даже в руке, что находится в анусе. Или, может лучше хранить id хуйца?
Говорят одно африканское племя нашло способ форкать хуи
Ну, и собсно сам:
guest8 14.06.2018 11:40 # −999
3oJIoTou_xyu 14.06.2018 12:09 # 0
Xo4y_EbaTbc9l 14.06.2018 12:12 # −1
666_N33D135 16.06.2018 15:01 # 0
guest8 14.06.2018 11:39 # −999
Xo4y_EbaTbc9l 13.06.2018 21:42 # 0
guest8 13.06.2018 22:53 # −999
roskomgovno 14.06.2018 00:41 # 0
3.14159265 13.06.2018 22:46 # 0
Нужно же куда-то утилизировать лишнюю процессорную мощь!
Молодцы, ребята, стараются.
The Great Moore's Law Compensator (TGMLC), generally referred to as bloat, and also known as Wirth's law, is the principle that successive generations of computer software acquire enough bloat to offset the performance gains predicted by Moore's Law.
In a 2008 article in InfoWorld, Randall C. Kennedy, formerly of Intel, introduces this term using successive versions of Microsoft Office between the year 2000 and 2007 as his premise. Despite the gains in computational performance during this time period according to Moore's law, Office 2007 performed the same task at half the speed on a prototypical year 2007 computer as compared to Office 2000 on a year 2000 computer.
roskomgovno 13.06.2018 22:56 # 0
И все страшно радуются: Ура! Теперь вместо противных C# и сложных C++ мы можем написать все продукты на JavaScript. 19-ти летние хипстеры запустили свои Atomы, налили себе смузи, и как давай жечь
3.14159265 13.06.2018 23:08 # 0
А что в шарпе противного-то? Вполне себе статически тупизированный. Всё лучше чем js.
В тему офиса, еще праативного спольски процитировать.
Как он на яву набрасывал.
https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/
A sure sign of my descent into senility is bitchin’ and moanin’ about “kids these days,” and how they won’t or can’t do anything hard any more.
When I started interviewing programmers in 1991, I would generally let them use any language they wanted to solve the coding problems I gave them. 99% of the time, they chose C.
Nowadays, they tend to choose Java.
roskomgovno 13.06.2018 23:19 # +1
На мой вкус почти все что угодно лучше чем JS (кроме PHP), но судя по всему я тут в меньшенствие
зы: ахахах, спольски не знал что скоро вместо джавистов (которые хотябы учили про GC, кучу и стек) придут JS kids
3.14159265 14.06.2018 17:20 # 0
Деградация неумолима.
С другой стороны похоже что ms не дают покоя лавры google doca.
Кому впёрся их монструозный офис за сверхдохуя денег, когда каждом в браузере есть всё то же и бесплатно.
roskomgovno 14.06.2018 17:22 # 0
guest8 14.06.2018 17:51 # −999
roskomgovno 14.06.2018 17:58 # −1
Я помню эпическую схватку Rich UIs в 2008: Java Fx, Silver light, Flash(Flex): потом пришел JS с канвасами+HTML5 и всем песец пришел. А когда-то на них делали все: От чатов до кнопочек
А жабавпплеты убила яцеголовая политика SUN: они запретили MS делать свою JVM, в результате IE (а это было 85% рынка тогда) остался без поддержки апплетов (не вручную же сановую JVM ставить) и пришел пипец апплетам.
guest8 14.06.2018 18:13 # −999
roskomgovno 14.06.2018 18:15 # −1
В любом случае сейчас все берут жопаскрипт и HTML5 вместо точеных сей для клиент-сайда.
А не, все, пизда
https://blogs.windows.com/msedgedev/2015/07/02/moving-to-html5-premium-media/
Support for ActiveX has been discontinued in Microsoft Edge, and that includes removing support for Silverlight.
guest8 14.06.2018 19:07 # −999
roskomgovno 14.06.2018 19:11 # 0
guest8 16.06.2018 03:01 # −999
roskomgovno 16.06.2018 15:06 # 0
Это не отменяет того факта что ActiveX нигде кроме винды работать не будет
666_N33D135 16.06.2018 15:23 # 0
А что, сейсас её не юзают?
roskomgovno 16.06.2018 15:27 # +1
Сейчас в моде делать микросервисы с эпи под REST/json.
В Корбе был IDL и там можно было описывать интфейсы и даже генерить скелеты.
Потом пришли джаваскриптеры и сказали что лучше REST/json, потому что так во-первых нету способа хоть как-то формально описать интерфейс, а во-вторых все ошибки будут исключительно в рантайме, в общем все модные в современном мире разработки тренды
666_N33D135 16.06.2018 15:36 # 0
Сегодня прикладные разработки базируются на одной из 2 (тут какое-то нечитаемое говно) MTS/DCOM и CORBA...
Насколько устарело?
roskomgovno 16.06.2018 15:41 # 0
То-есть старые разработки конечно никуда не ушли, но новые конечно же будут на rest или soap (у ms).
Вот MTS в качестве координатора распределенных еще можбыть
guest8 16.06.2018 03:02 # −999
guest8 16.06.2018 03:03 # −999
666_N33D135 14.06.2018 18:29 # 0
Свят свят Силверлайт Мокрософтов..
666_N33D135 14.06.2018 18:32 # 0
Я джва месица назад лепил одну флешку позоказу первого конала.
roskomgovno 14.06.2018 18:33 # 0
Все мои знакомые флексеры/экшенскриптеры давно или в мобильных разработках или в редких десктопах
666_N33D135 14.06.2018 18:37 # 0
guest8 15.06.2018 16:17 # −999
666_N33D135 15.06.2018 16:28 # 0
guest8 15.06.2018 16:52 # −999
bormand 15.06.2018 16:55 # 0
Т.е. если я с крестов и low-level хардкора перейду на js, то сиськи вырастут? Ня :3
666_N33D135 15.06.2018 17:00 # 0
guest8 15.06.2018 17:17 # −999
guest8 15.06.2018 17:03 # −999
guest8 15.06.2018 17:12 # −999
666_N33D135 16.06.2018 02:52 # +1
guest8 16.06.2018 03:04 # −999
666_N33D135 16.06.2018 08:37 # 0
1024-- 18.06.2018 09:29 # 0
666_N33D135 18.06.2018 09:32 # 0
1024-- 18.06.2018 09:46 # 0
666_N33D135 18.06.2018 10:21 # 0
guest8 18.06.2018 13:33 # −999
guest8 18.06.2018 13:35 # −999
baobab 18.06.2018 15:31 # 0
guest8 18.06.2018 15:34 # −999
666_N33D135 18.06.2018 15:47 # 0
Проверь.
guest8 18.06.2018 15:49 # −999
666_N33D135 18.06.2018 15:51 # 0
666_N33D135 18.06.2018 15:50 # 0
guest8 18.06.2018 15:55 # −999
roskomgovno 16.06.2018 14:01 # 0
Вот например в Django Core Team есть разработчик:
https://github.com/mxsasha/
Как ты думаешь, это мальчик или девочка?
guest8 18.06.2018 15:35 # −999
666_N33D135 18.06.2018 15:45 # 0
guest8 18.06.2018 19:56 # −999
roskomgovno 18.06.2018 21:36 # 0
guest8 19.06.2018 01:51 # −999
roskomgovno 19.06.2018 01:54 # +1
Тут такое нагуглить можно:((
guest8 19.06.2018 01:56 # −999
guest8 19.06.2018 01:59 # −999
666_N33D135 19.06.2018 08:49 # 0
666_N33D135 19.06.2018 08:51 # 0
ЯННП.
guest8 19.06.2018 10:53 # −999
666_N33D135 19.06.2018 11:50 # 0
bormand 15.06.2018 17:48 # 0
guest8 15.06.2018 19:59 # −999
3.14159265 15.06.2018 17:59 # +2
Главное чтоб не подписывался Александреску.
guest8 15.06.2018 18:15 # −999
3.14159265 15.06.2018 21:59 # 0
С js перейдёт на кресты и сиськи сразу исчезнут. А вместо них может появиться даже седая борода.
Xo4y_EbaTbc9l 15.06.2018 22:11 # 0
guest8 15.06.2018 22:43 # −999
guest8 15.06.2018 22:44 # −999
Doctor_Who 15.06.2018 23:11 # 0
guest8 15.06.2018 23:53 # −999
666_N33D135 15.06.2018 17:45 # 0
guest8 15.06.2018 17:46 # −999
bormand 15.06.2018 17:47 # 0
guest8 15.06.2018 17:48 # −999
666_N33D135 15.06.2018 17:51 # 0
– А что это у тебя между ног?
– Это мой... ребёнок.
guest8 15.06.2018 17:49 # −999
bormand 15.06.2018 17:51 # 0
666_N33D135 16.06.2018 02:51 # 0
666_N33D135 15.06.2018 17:57 # 0
bormand 15.06.2018 17:58 # 0
guest8 15.06.2018 19:34 # −999
666_N33D135 16.06.2018 02:49 # 0
guest8 16.06.2018 02:55 # −999
666_N33D135 18.06.2018 15:49 # 0
guest8 18.06.2018 15:52 # −999
666_N33D135 18.06.2018 15:54 # 0
guest8 18.06.2018 16:03 # −999
666_N33D135 18.06.2018 16:15 # 0
http://www.ltran.ru/latin-russian/
на латынь "хер с горы" -- "Pedicabo ego montes", перевёл обратно -- "Бля горы".
666_N33D135 18.06.2018 16:28 # 0
Ах ты трипиздоблядина хуеклятая! → O tropezcasino hoeksta!
O tropezcasino hoeksta! → O tropezcasino hoeksta!
На латынь перевёл, а с латыни не хочет.
guest8 18.06.2018 16:46 # −999
guest8 15.06.2018 22:42 # −999
666_N33D135 16.06.2018 02:47 # 0