- 1
- 2
Обнаружен критический баг в "PHP":
https://habr.com/ru/post/416573/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Обнаружен критический баг в "PHP":
https://habr.com/ru/post/416573/
Полный список лулзов:
https://habr.com/ru/post/438582/
+4
int main()
{
asm(
mov eax, 2
mov ebx, eax
mul eax
add eax, ebx
mov ecx, 16
mov ebx, 8
lea ebx, ptr [ebx * 16 + ecx + 1]
mov ptr [ebx], eax
add ptr [ebx], eax
);
printf("eax: %d\n", eax.value);
printf("mem:145 = %d\n", *(int*) &a_memory[145]);
return 0;
}
На тему ассемблера в пхп
https://ideone.com/XK7ZQd
+141
Расскажу одну говно-историю. Про то как разработчики php, заботятся о финансовом состоянии программистов на этом самом php.
Есть некая фирма которая купила, информационный продукт у другой и все это работала несколько месяцев на серваке предыдущего владельца.
И вот неделю назад бывший владелец сказал съезжайте мне сервер нужен. Новые владельцы вернее их админ благополучно все перетащил на другой сервер,
все вроде запустилось. Но, что все стало работать не правильно и местами даже перестало. Админ ебся с этим продуктом до вчерашнего дня, но без результата.
В общем звонит мне такой вечером "Вася выручай не заводится, тебе за работу 50к рублей". Я аж проснулся, этож блядь целая выплата по ипотеке.
В общем стал разбираться, проект в кодировке win 1251. Это меня сразу насторожило. Путем не долгой отладки я увидел, что htmlspecialchars при обработке
кириллицы возвращает пустоту. Загуглив я узнал, что php от версии 5.4. по дефолту в htmlspecialchars стал использовать UTF-8, что и убило этот проект.
Я быстро написал функцию htmlspecialchars_a в которой по дефолту кодировка win-1251, автозаменой прошелся по проекту. Всё завелось.
Отдельное спасибо разрабам php. Пусть в следующей версии заменят true/false на True/False. Ну или + на -.
+133
Lol = "Lol"
Put Lol
Lol1 = "1", Lol2 = "2"
Put Lol1+Lol2
Set lol = string
Lol = "HELLO LOLLED GUYS!"
Put lol.lowcase
Lolka="lolka"
Put lolka.upcase
Так сказать, новый язык программирования - название не придумал (помогите!!!).
Результат выполнения программы:
Lol
3
hello lolled guys!
LOLKA
Жду комментариев (напишите название для япа).
0
Как вы думаете, что может делать функция getAlabamaTimezone(now: Date) ?
0
// https://github.com/WebKit/WebKit/blob/31b77296cf6d85c40313812d9f65a003cf41f440/Source/WebCore/page/Quirks.cpp#L330
bool Quirks::isGoogleMaps() const
{
auto& url = m_document->topDocument().url();
return topPrivatelyControlledDomain(url.host().toString()).startsWith("google.") && url.path().startsWithIgnoringASCIICase("/maps/");
}
bool Quirks::shouldDispatchSimulatedMouseEvents() const
{
if (RuntimeEnabledFeatures::sharedFeatures().mouseEventsSimulationEnabled())
return true;
if (!needsQuirks())
return false;
auto doShouldDispatchChecks = [this] () -> bool {
auto* loader = m_document->loader();
if (!loader || loader->simulatedMouseEventsDispatchPolicy() != SimulatedMouseEventsDispatchPolicy::Allow)
return false;
if (isAmazon())
return true;
if (isGoogleMaps())
return true;
auto& url = m_document->topDocument().url();
auto host = url.host().convertToASCIILowercase();
if (host == "wix.com" || host.endsWith(".wix.com")) {
// Disable simulated mouse dispatching for template selection.
return !url.path().startsWithIgnoringASCIICase("/website/templates/");
}
if ((host == "desmos.com" || host.endsWith(".desmos.com")) && url.path().startsWithIgnoringASCIICase("/calculator/"))
return true;
if (host == "figma.com" || host.endsWith(".figma.com"))
return true;
if (host == "trello.com" || host.endsWith(".trello.com"))
return true;
if (host == "airtable.com" || host.endsWith(".airtable.com"))
return true;
if (host == "msn.com" || host.endsWith(".msn.com"))
return true;
if (host == "flipkart.com" || host.endsWith(".flipkart.com"))
return true;
if (host == "iqiyi.com" || host.endsWith(".iqiyi.com"))
return true;
if (host == "trailers.apple.com")
return true;
if (host == "soundcloud.com")
return true;
if (host == "naver.com")
return true;
if (host == "nba.com" || host.endsWith(".nba.com"))
return true;
if (host.endsWith(".naver.com")) {
// Disable the quirk for tv.naver.com subdomain to be able to simulate hover on videos.
if (host == "tv.naver.com")
return false;
// Disable the quirk for mail.naver.com subdomain to be able to tap on mail subjects.
if (host == "mail.naver.com")
return false;
// Disable the quirk on the mobile site.
// FIXME: Maybe this quirk should be disabled for "m." subdomains on all sites? These are generally mobile sites that don't need mouse events.
if (host == "m.naver.com")
return false;
return true;
}
return false;
};
if (!m_shouldDispatchSimulatedMouseEventsQuirk)
m_shouldDispatchSimulatedMouseEventsQuirk = doShouldDispatchChecks();
return *m_shouldDispatchSimulatedMouseEventsQuirk;
}
Дааа блядь, давайте в движке браузера захардкодим какие-то говнодомены, что типа вот для них какая-то там блядь симуляция событий мыши работала каким-то таким образом. Охуенно!
−1
https://habr.com/post/417047/
Гвидо уходит напитон из питона
+3
Оффтоп
Пишу либу для гуя в консоли. Столкнулся с проблемой медленного вывода в консоль на линуксе.
На винде есть няшный WriteConsoleOutput, который может вывести буфер разом на консоль, в линупсе ничего подобного не нашел.
Если использовать Console.WriteLine или libc-шный puts, все лагает неимоверно
Есть идеи?
+192
<शैली श्रेणी>
#समावेश <मानकपन.स>
श्रेणी जानवर
{
खुला:
भव व्योम लिखो()
{
म_लिखो("यह एक जानवर है।\n");
}
};
श्रेणी शेर : खुला जानवर
{
खुला:
व्योम लिखो()
{
म_लिखो("शेर एक जानवर है।\n");
}
};
श्रेणी चीता : खुला जानवर
{
खुला:
व्योम लिखो()
{
म_लिखो("चीता एक जानवर है।\n");
}
};
पूर्णांक मुख्य()
{
जानवर ज, *ज१;
शेर श;
चीता च;
ज.लिखो();
श.लिखो();
च.लिखो();
ज१=&ज;
ज१->लिखो();
ज१=&श;
ज१->लिखो();
ज१=&च;
ज१->लिखो();
वापस 0;
}
Вот вы все говорите про индусский код, а он на самом деле вот такой! Мне кажется, простой и логичный!
(Дистрибутив на http://hindawi.in/en_US/download.php)
0
template<typename T>
class SharedPtr {
T* value;
int* ref_count;
public:
SharedPtr(T* value) : value(value) {
ref_count = new int;
*ref_count = 1;
}
SharedPtr(const SharedPtr& other) {
value = other.value;
ref_count = other.ref_count;
(*ref_count)++;
}
SharedPtr(SharedPtr&& other) {
value = other.value;
ref_count = other.ref_count;
other.ref_count = nullptr;
}
~SharedPtr() {
if (ref_count == nullptr) {
return;
}
if (*ref_count == 1) {
delete value;
delete ref_count;
} else {
(*ref_count)--;
}
}
T& operator *() const {
return *value;
}
T* operator ->() const {
return value;
}
};
Реалейзовал минимальную версию shared_ptr. Есть ошибки/замечания?
https://ideone.com/g7gqBM