- 1
pubimbue, ate и ios
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
pubimbue, ate и ios
давайте ржать над крестостримами
+101
это не говно код это говно сайт
http://youex.ru
−1
#!/bin/bash
status=$(xinput list-props 11 | grep 'Device Enabled' | tail -c 2 | tr -d '\n')
echo "Current TB status: $status"
if [[ $status = "0" ]]
then
xinput enable 11
echo "Enabled touchpad!"
else
xinput disable 11
echo "Disabled touchpad!"
fi
Как вам мой скриптик?
+1
from numba import jit
def mults_no_jit(start, end, step):
min_i = min(start, end)
for i in range(start, end, step):
if i < min_i:
return
for j in range(i, end, step):
x = i * j
x_orig = x
x_reverse = 0
while x > 0:
x_reverse *= 10
x_reverse += x % 10
x //= 10
if x_orig == x_reverse:
min_i = max(min_i, j)
yield x_orig
break
@jit(nopython=True)
def mults_jit(start, end, step):
min_i = min(start, end)
for i in range(start, end, step):
if i < min_i:
return
for j in range(i, end, step):
x = i * j
x_orig = x
x_reverse = 0
while x > 0:
x_reverse *= 10
x_reverse += x % 10
x //= 10
if x_orig == x_reverse:
min_i = max(min_i, j)
yield x_orig
break
print(timeit.timeit('max(mults_no_jit(999, 99, -1))', globals=globals(), number=100))
# 4.2907474 секунды
print(timeit.timeit('max(mults_jit(999, 99, -1))', globals=globals(), number=100))
# 0.1662201 секунд первый запуск, 0.0333973 последующие
Теперь я за «Numba».
+1
private void checkButton_Click(object sender, EventArgs e)
{
if (this.passportTextbox.Text.Trim() == "")
{
int num1 = (int) MessageBox.Show("Введите серию и номер паспорта");
}
else
{
string rawData = this.passportTextbox.Text.Trim().Replace(" ", string.Empty);
if (rawData.Length < 10)
{
this.textResult.Text = "Неверный формат серии или номера паспорта";
}
else
{
string commandText = string.Format("select * from passports where num='{0}' limit 1;", (object) Form1.ComputeSha256Hash(rawData));
string connectionString = string.Format("Data Source=" + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\db.sqlite");
try
{
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();
SQLiteDataAdapter sqLiteDataAdapter = new SQLiteDataAdapter(new SQLiteCommand(commandText, connection));
DataTable dataTable1 = new DataTable();
DataTable dataTable2 = dataTable1;
sqLiteDataAdapter.Fill(dataTable2);
if (dataTable1.Rows.Count > 0)
{
if (Convert.ToBoolean(dataTable1.Rows[0].ItemArray[1]))
this.textResult.Text = "По паспорту «" + this.passportTextbox.Text + "» доступ к бюллетеню на дистанционном электронном голосовании ПРЕДОСТАВЛЕН";
else
this.textResult.Text = "По паспорту «" + this.passportTextbox.Text + "» доступ к бюллетеню на дистанционном электронном голосовании НЕ ПРЕДОСТАВЛЯЛСЯ";
}
else
this.textResult.Text = "Паспорт «" + this.passportTextbox.Text + "» в списке участников дистанционного голосования НЕ НАЙДЕН";
connection.Close();
}
catch (SQLiteException ex)
{
if (ex.ErrorCode != 1)
return;
int num2 = (int) MessageBox.Show("Файл db.sqlite не найден. Положите файл в папку вместе с exe.");
}
}
}
}
https://habr.com/post/510512/
Медуза, паспорта и говнокод — почему номера паспортов всех участников интернет-голосования попали в Интернет
−1
https://vc.ru/services/71897-specialist-po-infobezopasnosti-iz-kazahstana-zapustil-telegram-bota-mailsearchbot-kotoryy-vydaet-paroli-po-adresu-pochty
Проверь
0
https://github.com/dotnet/coreclr/blob/a589e3926a1780256fdb52376f8681fe047daf54/src/vm/i386/cgenx86.cpp#L1551-L1553
PAL_TRY(Param *, pParam, ¶m)
{
unsigned char buffer[16];
DWORD* dwBuffer = NULL;
DWORD maxCpuId = getcpuid(0, buffer);
if (maxCpuId < 1)
goto lDone;
dwBuffer = (DWORD*)buffer;
if (dwBuffer[1] == 'uneG') {
if (dwBuffer[3] == 'Ieni') {
if (dwBuffer[2] == 'letn') { // get SMT/multicore enumeration for Intel EM64T
С каких пор в одинарные кавычки можно писать больше одного символа? Это какое-то MSVC или что?
+1
// https://godbolt.org/z/QAR_nT
// https://govnokod.ru/26701#comment550329
#include <cstddef>
#include <string>
#include <cassert>
struct assert_failure
{
explicit assert_failure(const char *sz)
{
std::fprintf(stderr, "Assertion failure: %s\n", sz);
std::quick_exit(EXIT_FAILURE);
}
};
// эта херня не совсем корректно будет обрабатывать всякую хрень вроде ", , , " - оно это посчитает за 4 аргумента,
// и если считать " скобочки, тогда еще надо запилить обработку эскейп-последовательности, для хуйни типа "pidor\" govno"
// но мне лень эту хуйню допиливать.
constexpr std::size_t count_args(const char *s, std::size_t depth = 0, std::size_t pos = 0, std::size_t count = 0)
{
if (s[pos] == '\0'){
if(depth != 0)
throw assert_failure("kakoi bagor)))\n");
if(pos == 0)
return 0;
return count+1;
}
else if(s[pos] == '{')
{
return count_args(s, depth + 1, pos + 1, count);
}
else if(s[pos] == '}')
{
if(depth == 0)
throw assert_failure("kakoi bagor)))\n");
return count_args(s, depth - 1, pos + 1, count);
}
else if(depth == 0)
{
if(s[pos] == ',')
{
return count_args(s, depth, pos + 1, count + 1);
}
}
return count_args(s, depth, pos+1, count);
}
#define TO_STR(...) #__VA_ARGS__
#define ARGNUM(...) count_args(TO_STR(__VA_ARGS__))
#define krestogovnotypeof(a) std::remove_reference<a>::type
#define FOR_RANGE(type, varname, ...) for(struct {size_t cnt; krestogovnotypeof(type) arr[ ARGNUM(__VA_ARGS__) ]; } varname = {0, {__VA_ARGS__}}; varname.cnt < sizeof(varname.arr)/sizeof(type); ++varname.cnt )
int main(void)
{
FOR_RANGE(int[2], k, {1,2}, {3,4}, {5,6}, {7,8})
printf("{%d %d},\n", k.arr[k.cnt][0], k.arr[k.cnt][1]);
return EXIT_SUCCESS;
}
Какая крестопараша((( В вижуальхуюдии вроде собирается, но проверить корректность работы не могу. Как вы этим днищекомпилятором вообще пользуетесь?
Было б круто, если бы были такие constexpr функции, которые в компилтайме могут куски исходного кода высирать как бы прямо в исходник, и потом уже чтоб это компилировалось
+181
#include "iostream"
using namespace std;
enum {MaxFucktorial=13};
static int fucks[MaxFucktorial+1];
template<const int ValuePosition, const int Value>
struct initFuckedValue
{
enum {CurrentValue=Value*ValuePosition};
static void fuckUp(void)
{
fucks[ValuePosition]=CurrentValue;
initFuckedValue<ValuePosition+1, CurrentValue>::fuckUp();
};
};
template<const int Value>
struct initFuckedValue<MaxFucktorial, Value>
{
static void fuckUp(void){};
};
void InitFucks(void)
{
fucks[0]=1;
initFuckedValue<1,1>::fuckUp();
};
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"Введите аргумент факториала: "<<endl;
InitFucks();
int fuckArg=0;
cin>>fuckArg;
cout<<"Начинаем считать факториал..."<<endl
<<"Подсчёт факториала успешно завершён. ОК."<<endl
<<"Результат: "<<fucks[fuckArg]<<endl;
cin>>fuckArg;
return 0;
}
Решил запостить всё. Жемчужена.
Мой знакомый, молодой преподаватель-аспирант из института пришёл однажды расстроенный. Спрашиваю у него: "Что случилось?"
-- "Один мой первокурсник, когда я дал ему задание посчитать факториал через рекурсию принёс мне какую-то непонятную компилирующуюся галиматью. И считает она уж слишком быстро... Это какая-то программа обманка. Вообщем я ему поставил 2."
Да, это лаба. ^_^
+78.4
Мне немногозначно дали понять, что анонимы всех достали. Пишут в почту, в icq, в реформал и даже смски шлют.
Проект уже вырос из того нежного возраста, когда его судьбу мог решать я сам. Посему предлагаю обсудить сложившуюся ситуацию и прийти к соглашению, выпиливать ли анонимов или оставлять.