- 1
IT Оффтоп #73
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #73
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
#60: https://govnokod.ru/26949 https://govnokod.xyz/_26949
#61: https://govnokod.ru/26980 https://govnokod.xyz/_26980
#62: https://govnokod.ru/26999 https://govnokod.xyz/_26999
#63: https://govnokod.ru/27004 https://govnokod.xyz/_27004
#64: https://govnokod.ru/27020 https://govnokod.xyz/_27020
#65: https://govnokod.ru/27027 https://govnokod.xyz/_27027
#66: https://govnokod.ru/27040 https://govnokod.xyz/_27040
#67: https://govnokod.ru/27049 https://govnokod.xyz/_27049
#68: https://govnokod.ru/27061 https://govnokod.xyz/_27061
#69: https://govnokod.ru/27071 https://govnokod.xyz/_27071
#70: https://govnokod.ru/27097 https://govnokod.xyz/_27097
#71: https://govnokod.ru/27115 https://govnokod.xyz/_27115
#72: https://govnokod.ru/27120 https://govnokod.xyz/_27120
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Потому что «доброе утро» было 6 часов назад, а «добрый день» был 3 часа назад.
Если диск на 6 тербайт, то что будет с "далекими" партициями?
Я думаю, любая адекватная тула просто скажет что так низя и ничего делать не будет.
> gpt в mbr
Акронис вроде умел. Но зачем тебе MBR в 2020? Икспи не ставится?
По идее же нужно просто построить MBR и убрать GPT? ну проебется может скокто секторов, похуй
хз.
ну посмотрим. Она же предупредит, я надеюсь?
Бамп отсосу ХРблядей.
трагедия такова, как в анеке про сумочку и кошолку.
Старый комп, 1тб хдд (H1) забит говном, стоит семерка, MBR.
Хочу перенести его на ssd 256 (S1). Есть шеститерабайтник (H2) в качестве буфера.
* сделал две партиции на H2 каждая по 1тб
* перенес говно на первую, с H1
* сделал фулбекап на вторую (без говна получилось 200 гигов)
* хочу сделать с него беар метал рекавери на S1, а потом вернуть на H1 говно
* втыкнул S1 вместо H1, гружусь с флешки, рекавери грит: не вижу бекапа
и тут блядь я понимаю, что 6тб у меня GPT
переделываю флешку в UEFI, она начинает видеть бекап, и грит: а я уефи, а у тебя бекап винды сделан с MBR, иди в пизду
Хочу теперь ужать второй раздел на H2 где-то до размеров 500 метров, полчится диск на полтора гига, конвертнуть его в мбр и сделать фул метал рекавери.
Получица комп с S1 виндой и H1 говном, а шеститерабайтник верну туда, откуда я его одолжил.
делаешь полный бекап (По сути там получается vhd, с копией поблоковй), затем меняеш диск и делаеш фул рекавери
иногда оно тупит, тода надо руками через wbadmin восставливать диски. Может, так бы и сработало (разбить диск на партиции и каждую восстановить, их там две) но я не хочу, бо пирдолинг
есть еше сторонние тулы, но я им не доверяю
У меня и хдд и ссд по терабайту были, ничто не предвещало беды и я просто ддшнул прыщами. Но... Дров на нвме в списке бутовых не было и оно не загрузилось. Пришлось ставить дрова на старом диске и ещё раз ддшить. Передергивая кабели чтобы винда джва диска с одним айди не увидела и всё не наебнула, лол.
ddушнуть можно тока оффлайново же, а бекапить винду можно онлайново, через shadow volume или как там оно.
алсо, ты не можеш ддушнуть диск (у ссд же другое выравнивание) нужно ддушить партицию вроде
а там еще можно наибаца с тем, что запись в bcd будет неверная, и нужно будет из рекавери фиксить
Все это дуибл, но много ебли.
Каким-то чудом все патриции оказались выровнены на 4к. Видимо никто уже на цилиндры не равняет. Один хер они фейковые.
лет двадцать пять уж как, угу
chs уже хз кому нужно
Зачем поддержка материнки для nvme?
Чтобы прошивка умела с него грузица? А не проще ли впихнуть туда BIOS, чтобы эмулировать SATA для загрузки?
Это как в памятью: формально ты должен пхать только память их HQL (или как там оно, что вендор тестировал). По факту же всем похуй
Дисковый драйвер то можно впихнуть в опром. Но зная макак, которые пилят прошивки, не факт что оно корректно взлетит. Где-нибудь в менюшке не будет отображаться, в порядок загрузки не попадёт и т.п. Я вот даже не уверен, что они с внешней сата карточки загрузятся.
Как вообще это работает?
Должен ли биос материнки уметь прочитать список устройств в руткомплекса или хостбриджа и найти там IDE/SATA?
А в случае UEFI там тупо драйвер?
В моем детстве все было проще: там вроде бы прошивка материнки сканировала адресное пространство с каким-то шагом, и искала там AA55, и если находила -- передавала туда управление.
А тамошний "биос" патчил структуры биоса в памяти и ставил свои обработчики прерываний, и таким образом "эмулировал" обычные диски, и чуть ли не дискеты.
Так ведь не делают?
Именно! И их тестируют на работу с таким говном, в отличие от десктопных.
> сканировала адресное пространство
Сейчас в пси ищутся регионы опромов и парсятся. Либо как старый биосный "драйвер" либо как обычный уефишный бинарь. Ради видюх в основном.
> найти там IDE/SATA?
Должен. Ищет. Но нвме -- не сата. И аппаратно эмулировать сату всем было влом, походу.
>Должен. Ищет.
ну это было к вопросу о "внешней карточке". Слава богу, что ищет.
Или это только у хороших плат?
>И аппаратно эмулировать сату всем было влом, походу.
да эмульнуть можно хоть IDE, лишь бы загрузиться
Под секьюр бутом вся эта эмуляция, само собой, отключена. И будет читаться только уефишный драйвер.
> Или это только у хороших плат?
Практика показывает, что если вендор что-то явно не заявил в документации, то он это не тестил и произойти может всё что угодно. Конкретно про внешние сата карточки не знаю, статистики у меня нет. Но с учётом того, насколько редко они встречаются в десктопном сегменте -- вангую, что много где не работает.
Но с uefi вроде как должно стать получше: там просто драйвер пишешь, а не подменяешь говнопрерывания в 16ти битном коде
>вангую, что много где не работает.
вообще я бы тоже не рискнул грузиться с рейда какого-нить на домашнм говне, угу
Ну так с каждым повышением уровня обсракции количество сил, требуемых для исправления breaking change с нижнего, растёт в ге-о-мет-ри-чес-кой прогрессии. И если на очередную смену сигнатур в каком-нибудь «ЙАЖАСцрипт»-фреймворке всем похуй, то от любой потери совместимости между двумя ранее совместимыми железяками температура Земли повышается минимум на полградуса.
Ага, а потом у тебя винда так и останется в режиме иде. Аппаратная эмуляция -- не самый лучший костыль.
будет как раньше: питух с дуру поставил винду в эмуляции IDE, она драйвер и поставила, а потом нужно ебаца, чтобы переключить в AHCI
О, это я! Недавно проходил этот увлекательнейший квест, не понравилось.
Почему в «MS» сразу не могли так сделать?
А вот в XP не было, там нужно было ставить, но всем было похуй, бо SSD почти что не было тогда, а старые HDD и в IDE норм работали
ты может с GPT и MBR перехуячился?
тогда понятно, что bcd нужно перестраивать
diskpart послал меня нахуй, я нагуглил AOMEI Partition Assistant 9.0 и серийник к нему (ну пушо он платный как и акронис и пр) и он преобразовал секунд за 30.
Правда винда зачем-то насрала туда пейджфайлом, и мне пришлось его явно оттуда отключить, и потом еще шринкнуть партицию, чтоб влезть в 2 гига
Кста, производители ссд часто раздают какую-нибудь бесплатную тулу для миграции. Возможно даже акронис.
вообще пидорство конечно
я забыл кстати еще про пирдолинг рассказать: чтобы перенести диск 1ТБ на 256ГБ мало просто очистить место, надо же еще шринкануть партицию (копия ведь побайтовая), а для этого ее нужно дефрагментить, подогнав говно наверх и сделав внизу пустое место. Это еще развлекуха на три часа
Для evo какую-то тулу на сайте предлагают скачать.
> подогнав говно наверх и сделав внизу пустое место
Наоборот же, к началу раздела всё согнать?
https://www.samsung.com/semiconductor/global.semi.static/Samsung_SSD_Data_Migration_User_Manual_(ENG)_v.3.1.pdf
я не пробовал, не оч уверен, что винда передет, а не тока данные
>Наоборот же, к началу раздела всё согнать?
а начало у раздела внизу или вверху?:)
Бля, это как мне на собеседовании сказали, что я бинарное дерево необычно изобразил: вверх-ногами.
> а не тока данные
Х.з., для данных вряд ли бы стали делать тулу.
ты может еще и стек рисуешь вниз, как он реально выглядит?
>Х.з., для данных вряд ли бы стали делать тулу.
ну MS же сделала говновизард для переноса документов, который не умеет переносить с русской на ангглийскую и с x86 на x64.
Удобно шопиздец блядь
След раз попробую, но надеюсь больше никогда не увидеть системы, установленной на HDD
Я память нулём вверх обычно рисую. Поэтому стек растёт снизу вверх.
Скоро восемнадцать
пизда не осилила шринкнуть диск (инвалид хендл), пришлось шринкать AOMEI
в начале диска винда делает 100мб партицию и срет туда загрузчик (зачем это в mbr?) и как только ты подключаешь ему букву -- винда создает там USN Change Jorunal, который сразу занимает 50 метров из 100, и потом Shadow Volume VSS не работает: пишет "освободите место".
А бекап требует делаться и для этой партиции тоже, и не может
так что если ты хоть раз ассайнул туда букву -- ты уже никогда не сможешь забекаить винду, пока не сделашеь
блядь почему винда такой пирдолинг?
Бедные аникеи блядь
автовосстановление обосралось с "параметр неверен", пришлось вручную через diskpart создать разделы (слава богу он создал их кратными 4096), и через wbadmin восстановить туда два диска из бекапа (100 мегабайтный и C:). Разумеется, я сначала забыл пометить первый как активный, а еще номера-то у партиций другие, и пришлось фиксить bcd. Зато теперь всё работает
Смотрите какая лулзовая статья. Там в компании «domclick» не могут решить что делать с Царём, который, нет, ну вы представляете, «работает, чтобы жить, а не живёт, чтобы работать».
Я некоторое время хотел запостить сюда некоторые «лузлы», но так получилось, что я скопировал всё. Там и завязка, и развязка, и основая часть забавные, я как будто статью на ебаном прочитал, только наоборот.
А должен? Я вот тоже рабочий чатик только с утра открываю. Если пиздец-пиздец -- позвонят.
Видимо, должен, а то другие начнут догадываться, что что-то не так и придётся оплачивать овертаймы.
Я, как бы, не против по-быстрому ответить коллегам. Но с тривиальными вопросами все, слава богу, сами справляются. А на остальные ответить за 5 минут не получится, не хочется же отвечать хуйню на отъебись. Надо переключаться в рабочий контекст, перечитывать код, думать и т.п.
то ли дело ГК, на нем можно сидеть 20/24 часов и отвечать на любые вопросы сём и стерторов
Да и от хуёвого и неправильного ответа тут никто не пострадает.
сема купил клавиатуру фирмы ноунем за $0.99 на алиэкспресс и окорпичил ее по советам прыщеблядей с 4pda?
Какой багор )))
Ну, ГК прекрасен тем, что отвечать можно только на интересные вопросы и тогда, когда есть настроение. Мне вот нравится расширять и углублять кругозор, отвечая на что-то, о чём я знал только поверхностно. Да и вон тот же Стандарт куда интереснее рыть, когда есть реальный пример вопроса, требующего уточнения.
Есть возможность и время - ответил. Нет - не ответил.
Тем удобны тикеты. Ты пишешь, а дальше человек решает вопрос либо сразу, либо поздно ночью, либо когда проснётся, либо в нечётный понедельник после следующего полнолуния.
Не хочет -- не отвечает, его свободное время.
З.Ы. Вот если не отвечает в рабочее время или срывает сроки -- это повод для разговора.
Чела, о котором идёт речь в статье, лучше просто переселить на поддержку старого заматеревшего проекта (т.е. уволить, видимо). А свежий стартап пусть пилят юноши с горящими глазами. И все будут довольны.
Это значит, что у него нет времени. Значит можно ответить перед сном, когда трапы на ГК перестали делиться опытом и пошли спать. Или в рабочее время, если был сложный день.
Не надо заниматься формализаторством, иначе у других тоже найдутся формальные причины, чтобы сделать какую-то пакость. Все ж мы люди, братишка. Каждый случай рассматривается отдельно.
> Значит можно ответить перед сном
А нахуя, собственно, если можно с утра на свежую голову и в рабочей обстановке? Вопрошающий по-любому уже спать ушёл или сам всё выяснил.
Ещё зависит от частоты таких ситуаций. Если из-за такого человек работает 20 часов в день каждый день - это одно, если спрашивают раз в год - другое. Если спрашивающий сам отвечает в нерабочее время и готов помочь - одно, если не отвечает, а только пользуется другими - другое.
Не стоит меня разводить на формализацию этой питушни, чтобы потом как Сократ сказать, что я сам себе противоречу, и гыгыкать.
Дык него чатик закрыт в нерабочее время. Как он может пользоваться другими? Всё честно, имхо.
Бля, невнимательно читаю. Ну да похуй.
Есть джва стула: либо ты зависишь от ответов своих коллег в свободное время (и тогда желательно отвечать оперативно), либо ты от них не зависишь (и тогда можно спать спокойно). Промежуточные кентавры, скорее всего, не взлетят и развалятся из-за постоянных дедлоков.
З.Ы. Овертайм или выход в выходные по производственной необходимости сюда не относится, это отдельный вопрос.
Слишком грубо, чтобы использовать на практике. Максимум, для решения "покупать телефон" или "не покупать телефон".
Играет роль текущая задача, конкретные люди и т.д.
Зависимость может быть слабая и варьироваться со временем. Скажем, если у меня сейчас стоит 3 задачи, то по двум я могу находиться в состоянии ожидания ответа и спокойно работать по третьей, а если по трём сразу - придётся либо простаивать, либо доставать из архива менее приоритетные задачи.
Или работать... в рабочее время, лол. Ну хотя бы часа на 4 пересекаться с коллегами.
Но всё равно может быть какой-то огонь, который надо поддерживать в топке. Запросы какие-нибудь в БД, рендеринг 3д питушень, вычисления моделирования. Если человек, от которого зависит питушня, не ответит в выходные, в понедельник не получится проанализировать ответ сервера, качество 3д объектов и здравомыслие моделирования. В понедельник только придётся запускать то, что могло бы покрутиться в выходные.
Тикеты здесь сьоме особой пользы не принесут, потому что завтра он подойдет к тебе в офисе и спросит вживую. Или обидится, что ты ему вчера не ответил, и напишет статью на швабр )))
Кстати да, если задача важна, она действительно останется, и потом её всё равно придётся решать. Если решить сейчас, потом останется время на то, чтобы выпить чашечку чая.
1. Берём в команду новичка с похожими скилами и горящими глазами
2. Ставим проблемника наставником новичка
3. Даём новичку и проблемнику смежные или даже одинаковые задачи
4. Новичок учится у проблемника и начинает выполнять его же работу лучше него самого
5. Переводим все задачи на новичка и повышем его до инженера (пряник)
6. Увольняем проблемника так как для него больше нет задач (кнут)
7. Результат — мотивированный и обученый сотрудник в команде, плюс психологическая демонстрация всей группе — за что бывает поощрение, а за что — увольнение.
Какой менталитет краба )))
9. Профит!
11. undefined
12. undefined
13. undefined
14. undefined
15. undefined
16. undefined
17. undefined
18. undefined
19. undefined
20. undefined
21. undefined
22. undefined
23. undefined
24. undefined
25. undefined
26. undefined
27. undefined
28. undefined
29. undefined
30. undefined
31. undefined
32. undefined
33. undefined
34. undefined
35. undefined
36. undefined
37. undefined
38. undefined
39. undefined
40. undefined
41. undefined
42. undefined
43. undefined
44. undefined
45. undefined
46. undefined
47. undefined
48. undefined
49. undefined
50. undefined
51. undefined
52. undefined
53. undefined
54. undefined
55. undefined
56. undefined
57. undefined
58. undefined
59. undefined
60. undefined
61. undefined
62. undefined
63. undefined
64. undefined
65. undefined
66. undefined
67. undefined
68. undefined
69. undefined
70. undefined
71. undefined
72. undefined
73. undefined
74. undefined
75. undefined
76. undefined
77. undefined
78. undefined
79. undefined
80. undefined
81. undefined
82. undefined
83. undefined
84. undefined
85. undefined
86. undefined
87. undefined
88. undefined
89. undefined
90. undefined
91. undefined
92. undefined
93. undefined
94. undefined
95. undefined
96. undefined
97. undefined
98. undefined
99. undefined
100. undefined
101. undefined
102. undefined
103. undefined
104. undefined
105. undefined
106. undefined
107. undefined
108. undefined
109. undefined
110. undefined
111. undefined
112. undefined
113. undefined
114. undefined
115. undefined
116. undefined
117. undefined
118. undefined
119. undefined
120. undefined
121. undefined
122. undefined
123. undefined
124. undefined
125. undefined
126. undefined
127. undefined
128. undefined
129. undefined
130. undefined
131. undefined
132. undefined
133. undefined
134. undefined
135. undefined
136. undefined
137. undefined
138. undefined
139. undefined
140. undefined
141. undefined
142. undefined
143. undefined
144. undefined
145. undefined
146. undefined
147. undefined
148. undefined
>(кнут)
Совковые тетеньки-кадровички проснулись в комментариях. Закрывайте хабр нахуй.
Уволить проблемного инженера
Очевидно, что парень не вовлечен в атмосферу команды и не живет ее культурой. Плохая производительность, вероятнее всего, объясняется тем, что он принимает живейшее участие во всех публичных активностях, но не в решении задач команды.
Постоянная напряженность отравляет жизнь всей команде. Скоро с ним откажутся работать или уволятся другие инженеры.
Самому «проблемному» инженеру не видать повышения. Он тратит свою время попусту и не растет в профессиональном плане.
Оставить всё как есть
По-честному, парень ничего такого не нарушил. Работает положенное время, какие-то задачи делает, а значит и пользу приносит. Пусть и медленнее других.
Может, ему и не нужно повышение. Он сам же выразился, «работает, чтобы жить».
Дать ему отдельный мини-проект (даже с вакансиями, чтобы набирал команду под себя)
Возможность вырасти в плане менеджмента и архитектурного проектирования. Может, начнет по-другому относится к задачам?
А как ему доверить проект? Он задачки-то не вовремя делает: чувства ответственности практически нет. Хотя, может, ответственность перед другими разработчиками (которых он же и набирал) заставит его по-другому относиться к работе?
Не много ли чести делать столько приседаний ради одного проблемника? Каждому инженеру, по которому возникают вопросы, давать отдельный проект? Проще уволить.
Организовать постоянный контроль за сроками для этого разработчика
Отвлечение ваших ресурсов на одного разработчика. Будете проседать по другим задачам.
И с чего бы это такое особое отношение? Другие инженеры сразу заметят такой жестокий микроконтроль, и как отреагируют — неизвестно.
Возможно, через какое-то время у него выработается привычка и контроль можно будет ослабить.
https://ebanoe.it/2020/03/22/vironit-total-control/.
Скорее всего поэтому его и захотелось выпереть, люди могут так сидеть годами на одной позиции и всем будет ок
обычно питух, которому до всего есть дело, и который готов убить за неверно названный метод, обычно самый помешанный на работе
а тот, кто из дома не работает -- тому более похуй
Впрочем, может быть он просто устал и выгорел, или например считает всех вокруг дебилами
Мы же только одну сторону выслушали.
Кстати, я вот иногда могу из дома попиздеть с коллегами про работу. Про архитектуру там, или как операционка себя поведет, это обычно интересно.
А на вопрос "почему у нас тут шрифт кривой" я только в рабочее время отвечу, бо скучно.
>которые его ебут за неверно названный метод, лол.
ну кстати затыки бывают же
Есть питухи, которые умеют аргументированно переубедить
А некоторые не могут, но все равно стоят на своем.
Мне часто проще согласиться, я старый уже
Давеча вон не смог отстоять замену строки на класс с внятной семантикой, так строка и осталась, пушо все привыкли, и зачем нам лишняя сущность
ты берешь человека на вакантную должность в этом штатном расписании, и никак иначе
ты не согласовываешь индивидуальные условия, ты можешь пообещать лишь премиями что-либо
но по ТК премии тоже сильно в зависимости от штатного расписания --- если Вася водитель, Петя водитель, то тебе надо серьезно заебаться, чтобы обосновать, почему у них должны быть разные премии - в частности, положение о премировании должно быть понятно сотруднику не постфактум, и в нем всё это должно быть
иначе Вася узнает, что Пете выдали больше, идёт жалуется в трудовую инспекцию, инспекция нагибает и заставляет Васе доплатить
но, если брать исходный вопрос, не так и проблемно законно отказать соискателю, ты же не уволить его собрался
> не так и проблемно законно отказать соискателю, ты же не уволить его собрался
Ну это понятно, я ж чисто как юридический казус такую питушню рассматриваю.
https://www.vedomosti.ru/management/blogs/2019/11/26/817140-kak-pravilno-otkazat-kandidatu
We are a free custom service of matching that connects developers worldwide to challenging, long-term projects in the United States (without a Visa).
Какой тиндер для разрабов )))
https://ebanoe.it/2018/03/21/toptal-review/
А кто кого «топтал»?
Вот у Тьюринга будет багор )))
> В протоколе NetBIOS через TCP обычно используются следующие порты:
> нбнаме: 137/UDP
> нбнаме: 137/TCP
> нбдатаграм: 138/UDP
> нбсессион: 139/TCP
Какой перевод )))
Итс э фаинал кантдаун
Тутуту туууууу
Тутуту ту туууу
Тутуту туууууу
Тутуту туту туту
And maybe we'll come back to Earth, who can tell?
Прячешь ты глаза от меня, и уже средь бела дня.
Will things ever be the same again?
We're leaving together but still it's farewell.
Где же, Фаина, твой серебристый смех?
I guess there is no one to blame we're leaving ground.
Ты с другим целуешься при всех.
https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/certutil
сетаттрибутес
сетекстенсион
это африканское имя
Ну и зависит от коллектива. У меня все в розовых понях и радугах, а вот фирма, которая снимает помещения на нашем этаже это суровый брутальный мужской коллектив, который грозит своего шефа закатать в асфальт если он приведет к ним бабу и посадит за клаву. Резюме женщин даже не рассматривают ибо нах надо злить самцов-кодеров.
Вы тоже подумали об одной известной на данном ресурсе конторе?
А в программистках ли тут дело?
Смотря какие программистки )))
Это называется гилти плежа
Как оказалось, есть:
--- + триггер лист:
Мерзкие звуки и противное видео.
--- +
https://youtu.be/yTtKzmpO570
«Два юриста – три мнения».
-лась же. Плохо тебя там учат.
В основном девушки работают техподдержкой, вестальщицами, ПМками и на прочих конторских должностях.
Не знаю как такая должность называется.
Другая же раньше ПО для матмоделирования писала. Диффуры и вся фигня.
Пора смириться.
Я троечник и троечником буду.
Надо Кнута сначала хотя бы попрактиковать.
Ну вот, а говорите ма-те-ма-ти-ка не нужна.
Причем забавно: я вообще не задумывался о связи пола и программирования, пока лет пять назад не начались все эти джендер дайверсити игры.
Коллектив стерторов?
Это как у Стеньи Разина, да?
16:10 *я устал ждать, вышел в коридор, спросил у секретаря, будет ли вообще собеседование.
Она сказала, что, конечно же, да. Через минуту появился какой-то мужик, кивнул мне и пошёл в переговорку. Секретарь сделала выразительные глаза. Я пошёл за ним*.
*Садимся за стол*.
Мужик: а почему вы в маске? Вы обо мне заботитесь, не хотите заразить? Не волнуйтесь, я в маски не верю, снимайте.
Я: да нет, я забочусь только о себе.
Мужик: но маски ведь не помогают.
Я: мне помогают.
Мужик: ну да, у каждого свои гуси в голове.
Я: О_о *отличное начало собеседования, не извинился за опоздание (даже не попытался соврать что-нибудь), не представился, гусей моих оскорбляет...*
Я: а как вас зовут?
Мужик: я всё расскажу.
*подходит к камере, стоящей на штативе в углу, и включает её*
Я: а зачем вы включили камеру?
Мужик: ЧИТАТЬ ДАЛЕЕ >>>
***
https://pikabu.ru/story/sobesedovaniekombo_7856431
Если кратко, то уважаемый босс ему ещё всякой дичи навешал на уши, а чувак из интереса решил пройти полиграф, потому что никогда раньше не проходил, а потом ушел домой.
Я бы, наверное, сразу пошел на аттракцион «полиграф» и потом домой, а то слушать заедушного деда весело только первые полчаса.
https://youtu.be/QCIqeYMFHY0
— Добавим ещё 32 наушника )))
— ...
— Они начинают играть всё тише и тише (((
Интересно, на что он рассчитывал, он, что, безвузный? Кстати, а если бы он в телефон батарею помощнее запихнул, по идее всё бы работало как задумано? Вроде ток (и соответственно мощность звучания) будет делиться на количество наушников, а на напряжение пофиг, оно везде будет одинаковое.
И усилок, угу. Там транзисторы на такую нагрузку то не рассчитаны.
На несколько миллионов просмотров от школьников.
по умному это называеца Теория электрических цепей вроде
https://youtu.be/TIb1TImL_RI
«Сейчас мы находимся в гостях у Бороды, который собрал в обычной квартире сумасшедший трансформатор Теслы»
Тот же MrBeast может в видео пойти и 20k$ в урну кинуть и поджечь, либо сделать аналогичную питушню по пользе траты денег.
https://www.x.org/docs/xterm/ctlseqs.pdf
Initiate hilite mouse tracking. Parameters are [func;startx;starty;firstrow;lastrow]. See
the section Mouse Tracking.
https://man7.org/linux/man-pages/man5/terminfo.5.html (kmous capability.)
> забиваем ОЗУ на C++
> Мы будем использовать всё самое стандартное, поэтому кроме блокнота и компилятора нам ничего не понадобится.
...
> Это наш код. Тут мы просто используем стандартную директиву препроцессора <iostream> и пространства имён std (стандартный поток), дабы вечно не писать std::.
А нахуя тебе вообще <iostream> ? "<iostream>" это блядь не директива процессора, директива процессора это "#include"
> На всякий случай ставим локаль (не очень хороший способ, зато простой. Русский текст будет нормально отображаться).
Нахуя отображать русский текст? Там нет никакого отображения текста, это просто тупая выжиралка памяти.
> Затем идёт бесконечный цикл в котором мы создаём целочисленный массив на 16 элементов.
> NEW говорит, что нужно выделить память.
> NOTHROW говорит о том, что исключения не выбрасывать.
Именно поэтому я за malloc() - там никакого nothrow нахуй не надо.
> А теперь самое главное, об этом я писал в прошлых статьях. Проект ставим 64 — битный!!! Иначе мы не сможем работать с объёмом памяти больше 2-ух Гб (примерно).
Ну под это можно воркераунд придумать, например можно просто несколько 32-битных процессов запускать, и тогда они суммарно выжрут нужное количество памяти.
> Запускаем и ждём. На моём ПК 8 Гб ОЗУ. Из диспетчера видно как растёт подкачка (если мы на Windows). Доросла аж до 25 Гб! После — машина встала намертво.
Именно поэтому я против всяких свопов и подкачек. В винде наверняка есть свой аналог OOM killer-а, который эту хуйню должен прибить... или нет?
> Ещё маленькое послесловие…
> Если Вы хотите опробовать этот способ на пингвине (чёрт его знает, должен сработать), то можно использовать любой текстовый редактор на пару с компилятором g++.
Неее, на линупсах ведь память бесконечная, как лента в машине Тьюринга, это любой лох знает.
На линуксе 128 терабайт норм выделяется. Главное не трогать её.
А пространство имён boost это какой поток?
> Ну под это можно воркераунд придумать, например можно просто несколько 32-битных процессов запускать, и тогда они суммарно выжрут нужное количество памяти.
Можно просто перейти в нативный 64-битный режим и дёргать ntdll!NtAllocateVirtualMemory(), я тут в прошлом году даже приводил реальный пример того, как это делается.
Доброе утро, j123123.
Доброе утро, gost.
https://habr.com/ru/post/510014/
Очередная пафосная хуета для розжига.
Меня беспокоят две вещи:
1. Если бы вы занялись такой питушней, вы бы на каждый из четырёх поворотов копипастили и правили этот код, или написали бы что-то очень скильное? Например, сначала в свище в зависимости от направления свайпа расставить флаги, значения начального и конечного индексов и т.д., чтобы потом сразу все случаи покрыть в последующем куске кода.
2. Не будет ли из-за вычитания единички из j проблем с перфомансом? Может быть, лучше пожертвовать памятью и завести {_j = j - 1}? Потянет ли WinXP такое расточительство?
> Опрос. Денормализация или нет?
> Имеется склад, где хранятся разные материалы, имеются документы прихода и расхода материалов, в документах есть записи с информацией "материал, количество", связь один-ко-многим. В базе данных есть таблица с информацией о текущем наличии материалов на складе, есть таблица для документов и таблица для их позиций. Назовем их "current_stocks", "documents", "document_positions".
> Считать ли таблицу "current_stocks" денормализацией данных?
Именно поэтому я за «ВУЗ».
>>> Domain-key normal form (DK/NF) is a normal form used in database normalization which requires that the database contains no constraints other than domain constraints and key constraints.
З.Ы. Ну так считаем базу денормализованной или нет? Или это зависит от настроения читателя (если у нас подразумевается констрейнт что документы и остатки сходятся -- значит денормализованная, если похуй -- значит нет)?
разве в СУБД нет способа закешировать агрегирующй запрос до тех по пока состояние базы не изменится?
я всегда думал, что майскл - это строка реального побега
корабль - тоже судно, только сугубо военное
Почитаешь ГК - так все - суперпрограммисты из гуглов с серьёзными проектами с CI и сотнями разработчиков, хаскельная илитка, для которой HTML - не язык, PHP - плохой постыдный язык, MySQL - недостойная питушня для из терабайтов данных, а в твиттере только питухи сидят.
А что на самом деле? Скорее всего большинство самых громких хейтеров популярных зарекомендовавших себя инструментов их же и использует. Контроль версий - за счёт именования папок. Работа - какая-то мелкая питушня по настройке чайника шефа, закупкам мышек бухгалтеру и правке легаси питушни на PHP.
В жизни 99% могут на пхп писать
Не вижу как одно мешает другому
Ну давай проверим.
«key constraints» — это ограничения ключей (FK, PK), тут всё понятно.
Про «domain constraints» можно глянуть в российской «Википедии», https://ru.wikipedia.org/wiki/Домен_(базы_данных): «Домен в реляционной модели данных — тип данных, то есть множество допустимых значений».
В таблице (если мы это делаем анскильной таблицей, конечно, а не всякими крутыми materialized views и прочими generated columns) «current_stocks» у нас должны храниться айдишники текущих товаров на складе. При этом поддерживать консистентное состояние этой таблицы мы должны либо ручками (тогда у нас не база, а говно, Страйко с фейковыми -999 подтвердит), либо ограничениями: например, специальнымы триггерами, которые будут по INSERT/UPDATE/DELETE в основную таблицу вычислять корректные значения текущих товаров. И вот это как раз и будет other than domain constraints and key constraints, потому что такие триггеры-ограничения будут задавать не множество допустимых значений, а какую-то другую, не относящуюся к доменам, логику. Так что в таком виде условиям ДКНФ БД не удовлетворяет.
https://i.pinimg.com/originals/1b/f8/23/1bf8238a4125be372dc3379d6f2d5433.jpg
https://ebanoe.it/2020/11/27/galley-way-to-nowhere/
Минуты считают дни, дни считают года.
Ты стоишь на дороге, идти не зная куда.
Будущее - туман, прошлое - обман.
Расскажи, что тебе снится? Может, светлое завтра?
Может, успехи в работе, иль радость семейной жизни?
В радости ты или в горе, в мире ты или в ссоре?
Что тебе снится, блуждающий биоробот?
вот тут я кончил, конечно
до 25 будешь писать сайты на js а потом выйдет новый фреймворк и тебя отправят на пенсию
В таком случае Linux это всё таки фреймворк: он определяет, как ты будешь работать с сетью, с многопроцессностью итд
Типичный "фреймворк" в моем понимании это какая-то охватывающая хуйпойми что ебучая ссанина, вроде Qt или wxWidgets, через которую можно со звуком, с сетью, с изображениями работать, а еще есть какие-то свои особые треды, мьютексы, хуютексы и прочее такое ебаное говно. Например в Qt есть QMutex, в wxWidgets есть wxMutex, и там и там какая-то своя поебень под треды и прочее такое говно.
Ну вообще на роль фреймворка для Си более-менее подойдет GLib/GTK+.
https://www.oreilly.com/library/view/what-react-is/9781491996744/ch01.html
> React Is a Library, Not a Framework
> One important distinction between libraries like React and frameworks like Ember.js and AngularJS is that React is concerned only with rendering the UI and leaves many things up to each project to put together.
Ко-ко-ко-кая милота!
С другой стороны, «high school math» у нас обычно проходят, кажется, на первом курсе вуза, потому что американцы по 12 лет учатся в школах. Но я могу и напутать!
Какой багор )))
Когда-нибудь я буду заниматься чем-то нормальным, например мебель изготавливать
Дай угадаю, столяр делает чтобы а плотник плоты?
Кто олд ставьте класс
Еще был движок VirtualRay (сферический real-time ray tracer) но он вроде сдох.
А вообще, необязательно ж всё из шароебин лепить, есть такая хуйня как n-ellipse (или multifocal ellipse)
какой троллинг ))
https://youtu.be/DIn4L7hUmUI?t=113
Какой антистресс )))
На 1:55 клава оказалась крепче.
https://youtu.be/I5hpWOHCUSs?t=15
- ты не знаешь как перо от планшета починить?
- а что с ним?
- я его в стену кинул ^_^
Угу, чел тоже так думал.
- Работающего поверх TCP/UDP
- Содержащего в своих сообщениях записи NAT.
То есть, сервер знает на какой порт NAT шлюза надо направить запрос, он туда и направляет, если таких шлюзов несколько, то это тоже не страшно.
Это же намного оптимальнее, чем в современных приложениях постоянно фродить запросы с клиента на сервер. Сеть будет разгружена намного.
А о чём там задачки?
Особенно для мобильных клиентов, которые тупо по времени могут никогда не пересечься. А через сервер всё норм дойдёт.
??
>I’m a 23 year old COBOL programmer
зачем строки?
Есть три варианта:
* вручную замапить их на строки
* намкарбоёбить
* написать из через запятую, и питоновым скриптом сгенерить енум и мапинг.
Последний вартант вообще на коленке делается.
Ипользовать строки вместо ENUMов ради удобства печатанья кажется мне странным.
Строки придется хранить в памяти, и сравнивать указатели на них.
Алсо,
https://github.com/Neargye/magic_enum
Если их 200, то я бы подумал про третий.
>а не использовал строки
ну слава богу, а то я уж испугался
Да тоже норм, на самом деле. Почти как в джавке.
Если никуда потом не передается -- описать их как строковые константы да и всё. Ну или завернуть в свой класс чтобы типа безопасность. Тогда и фромстринг несложно поддержать.
все таки это куда запутанее, чем обычный енум
Хорошо сделаны sealed classes в коко.
В жабе можно их эмулировать, но много буков писать нужно (приватные конструкторы, иннер классы итд)
> Да тоже норм, на самом деле. Почти как в джавке.
Главное - все константы будут разные, а не то что в C/C++, где одним и тем же числом разная питушня кодируется.
Разве что с таким подходом маски носить будет душно.
* Импорт/экспорт в конфегуреции
* Претти-принт пользователю "выбрана опция ''Общественный Советский Единый Треугольный"'
тащемто, я регулярно вижу "ошибка: 0x123412", особенно в пинде. Хорошо, что есть утилиты типа err и error lookup в студии.
По идее нужно делать perror, но всем похуй.
enum Values: ubyte{ One = 1, Two = 2 }
writeln( std.conv.to!string( Values.One ) );
Тогда бы не было везде "t, r)", а также вместо питушения "size_t temp" со звёздами можно было бы использовать std::swap.
Но если бы я использовал swap, проблема бы даже не возникла.
Синтаксис для замыканий будет примерно вот такой, если я правильно понимаю:
Где t, r будут передаваться как бы по ссылке в лямбду, из того контекста, из которого мы эту лямбду запрашиваем... Получается, можно сделать некий accessMatrix:
auto, кстати, на std::function лучше заменить для читаемости?
И потом, уже в makeSwipe сделать что-то типа:
Если я все правильно понял, то так действительно гораздо солиднее выглядит. Я сначала подумал каррировать функцию, потом захотел что-нибудь с шаблонами намутить (и в итоге получилось бы то же самое, что с лямбдой), но остановился на самом лёгком варианте.
> Где t, r будут передаваться как бы по ссылке в лямбду, из того контекста, из которого мы эту лямбду запрашиваем...
Без амперсанда - скопируются во внутреннее состояние лямбды. С амперсандами - [&t, &r] - по ссылке.
> Получается, можно сделать некий accessMatrix:
Не факт, t и r надо откуда-то брать.
> auto accessMatrixLambda = accessMatrix(t, r);
> ...
> accessMatrixLambda(i, j - 1);
> auto, кстати, на std::function лучше заменить для читаемости?
Подождём ответа Борманда. Хотя, внутри Game::makeSwipe и так будет понятно, что это лямбда.
Главное - прописать, что питушня возвращает size_t&, чтобы случайно по значению не вылезло.
Я недавно запиливал, понравилось, рекомендую.
В дебаггере вижу, что получаю хуйню в результате reinterpret_cast.
Как там по стандрту -- не знаю (нужно копать). Точно знаю, что если Pituh или Kurochka наследует еще кого-то, то почти наверняка остосешь. С единственным наследованием можеш и не отсосать (зависит от реализации), но чует мое сердце, что стандарт требует static, если у них есть виртуальные методы
алсо: налседование публичное, я надеюсь???
ну давай подумаем.
Допустим в птица у тебя поля
int p1;
int p2;
затем идут поля курочки, получается
int p1;
int p2;
int k1;
int k2;
Куда должен указывать указатель у инстанса курочки? а у птицы? А кто его подвинет?
Я уже нахуевертил с костылями, лень проверять.
см мой пример с полями в комменте выше.
Адрес курочки это адрес какого-то говна в памяти где есть И ее поля И поля птички
А тот, кто ождиает птичку, хочет указатель сразу на поля птички.
static_cast подвинет указатель, а reinterp разумеется нет
Я так понимаю (интуитивно, без пруфоф) что проблема именно в этом.
«Unlike static_cast, but like const_cast, the reinterpret_cast expression does not compile to any CPU instructions (except when converting between integers and pointers or on obscure architectures where pointer representation depends on its type). It is purely a compile-time directive which instructs the compiler to treat expression as if it had the type new_type»
Стасик разворачивается в вызовы всяких хитрых функций преобразований, а реинтерпрет – аналог какого-нибудь мокроса.
В какой-то момент так сделать можно, но чаще всего лучше бы так не делать
Емнип, по стандарту мы не знаем. Раскладка явно задана только для POD'ов структур, удовлетворяющих требованиям standard layout.
Но обычно такой объект начинается с указателя на таблицу виртуальных методов (если она есть) и полей птицы чтобы касты полегче были, без вычисления оффсетов.
значит, реинтерпретер не валиден, верно? даже если там нет ни вротуальгности, но многожесвтенново наследовнаия?
Приватное вообще не сокмпилируется кмк, без реинтепретера
Приведи реальный пример, короче. Который можно скомпилировать и исполнить.
то есть не так https://govnokod.ru/27136#comment601168 ?
реинтерпретер точно не нужен, да. Уж лучше тогда статик, хотя и он не нужен если ты не в воид* кастиш и обратно
Чтобы работать с указателем/ссылкой на ребенка как с указателем/ссылкой на родителя нужно её подвинуть. В случае если у тебя нет множественного наследования и виртуальных методов, то скорее всего можно не двигать. Но гарантий нет.
Потому всегда нужно двигать.
C++ сам умеет двигать:
Но иногда ты кастуешь ссылку в void*, и тогда С++ конечно ничего не двигает.
Тогда нужно явно делать static. И тогда обратно можно делать reinterp.
Делать reinterpreter из ребенка в родителя не нужно. Такой каст вообще не нужен обычно, но если уж и нужен (см пример с void*) то нужно делать static.
== Конец эпизода #100500 ==
Никогда не метушил в схемке, может там получше с этим.
Ну тут всегда трейдофф: либо писать много тупого одинкового кода (привет, джава и может быть го), либо упарываться митушнёй
>схемке
кажется, что метушить гомоиконку логично и правильно, не?
С точки зрения стандарта -- да. Не двигать можно только если ты выполнил все требования на стандартную раскладку. Но конпелятор, конечно, не дурак и старается раскладывать так, чтобы можно было не двигать и в большинстве других случаев.
В void * и родителя ты можешь явные касты не писать, всё пройдёт само. В обратную сторону хватит стасика (или динамика, если от родителя к ребёнку и ты не уверен, что это именно тот ребёнок).
А реинтерпрет нужен только в реально хитровыебанных ситуациях. Когда ты трактуешь объект как массив байтов, к примеру. Но там тебе тоже желательно выполнить требования на стандартную раскладку чтобы получить что-то осмысленное.
из войда в парента??
а разве тут я не сосну?
Тогда соснули разработчики «CLion», которые посоветовали сделать так.
То есть UB, но скорее всего прокатит, так что ли?
Хорошо, что нас гост не слышит:)
Серьезно: я не имею же права никогда кастовать указателя ребенка в родителя реинтерпретором, даже если это единственный ребенок со структурой?
Там просто ещё немного ебанутых правил есть помимо очевидных невиртуальности, публичности (точнее единого типа доступа, можно и всё private), standard layout у всех полей и не более одного непустого родителя. Из-за них те самые 0.1%, на которые ты на практике никогда не налетишь.
ну понятно
то есть там просто начала всегда идут поля папы, а потом поля сына, и потому работает
а если у кого-то два папы, то он уже и не стандартный
Как и большинство крестоплавил, это правило вполне логично и обосновано, если вдуматься
и идея тоже
Для сишарпа есть Rider, для сишечки и крестов -- силайон. Оба на Intellij.
А R# (для C++ и C#) это плагин к VS
https://govnokod.ru/27160
https://govnokod.xyz/_27160/
Художница, автор известной картины "Спящая девочка на красном одеяле"
Я посмотрел её картины, кстати. Симпатично довольно, и неожиданно классически для той поры.
А собссно спящая девочка -- это она нарисовала собссную дочь в ню. Сейчас такая картина смотрица странно, а 100 лет назад была ок
И правда странно. Правую руку немного попердолило. И перспектива такая, как будто это панорама, снятая камерой, которая двигалась по дуге.