- 1
Остались ли среди созидателей Ынтерпрайзного гуано не познавшие вкус хуйца своего шефа?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−103
Остались ли среди созидателей Ынтерпрайзного гуано не познавшие вкус хуйца своего шефа?
Cолгите ещё один раз. Обманите себя, сказав что Ваш рот девственен.
+138
persjempre <[email protected]>,Akka Knebekaize <[email protected]>
Значит слушай внимательно, тупица, что я тебе скажу.
Никакой ты не крутой пацан, ты сосунок, который нарывается на ссору с
органами. В предыдущем письме ты четко сдал себя со всеми потрохами,
указав двух свидетелей твоего беспредела. 30 лет работы в прокуратуре
меня кое-чему научили. Я не поленился найти этого паренька,
администратора того форума программистов и пообщаться с ним. Виталий
оказался примилейшим человеком, и показал мне вашу с ним перепалку.
Да, я много гопоты повидал, и ты пожалуй один из немногих уникалов,
который повеселил и меня и наш отдел по защите персональной
информации. С тебя ржали все мои бойцы, сказали что давно такого
детского сада не видели. Это же надо - упорно месить грязь под разными
именами с разных каналов! Вот молодец. Мало того, что засветился как
свеча в темной комнате, мне даже не потребуется делать усиленных
телодвижений для вычисления твоего адреса места проживания, так еще и
упорно плодишь кучу доказательств своей неправоты. Слышал такую
пословицу: "Язык до Киева доведет"? Не? Поясняю - твоя клевета и
оскорбления обязательно будут доведены до криминала, если будешь
продолжать с таким же упорством кричать в публичных местах интернета,
демонстрируя свою храбрость и безнаказанность. Как человек с
многолетним опытом, наблюдавший не один десяток таких дел скажу -
найдет твоя коса на каменюку, обязательно.
Значит слушай теперь, малыш, внимательно. Зовут меня Вениамин
Валентинович, и работаю я прокурором. Прикинь, прокуроры тоже умеют
пользоваться интернетом, и соблюдать нетикет (хотя вряд ли ты о нем
слышал, твои понятия морали судя по твоему языку на нуле). Я
предупредил Виталия, что если он или кто-то из них пострадает от
твоего грязного рта, пусть они мне напишут, предоставив твои слова. Я
постараюсь помочь честным людям наказать обидчика. Я дам ход
"плавному" делу. Поверь мне выписать ордер мне ничего не стоит, и
любая организация, занимающаяся связью с радостью мне поможет,
предоставив журнал связи абонентов. А учитывая твой многоликий янус,
следы которого остались как оказалось не только на том сайте, пробить
по совпадениям твой адрес прописки легче простого.
Если ты еще не в курсе, или попросту в школе не учился поясняю:
"Преступления в сфере информационных технологий включают как
распространение вредоносных вирусов, взлом паролей, кражу номеров
кредитных карточек и других банковских реквизитов (фишинг), так и
распространение противоправной информации (клеветы, материалов
порнографического характера, материалов, возбуждающих межнациональную
и межрелигиозную вражду и т.п.) через Интернет, коммунальные
объекты[1]."
К твоему вниманию перечитывать до полного просветления слова "Клевета"
и "межнациональная вражда". Сюда же относится и оскорбления по половым
признакам, а они в твоих постах есть. Будь уверен при необходимости
особое внимание суд уделит именно им, как показаниям зачинщика
преступления, т.е. основной первопричины.
Учитывая твои угрозы мы так уж и быть сошлемся на статью 273 УК. А
так же ст. 130. И все они будут направленны прежде всего на тебя как
на инициатора, и главного организатора беспредела.
Советую тебе сразу искать крутого адвоката, если нет желания забиться
в угол и перестать терроризировать интернет. Я обязательно попрошу еще
своих бойцов проверить тебя на сайте xaker.ru, где вполне можно
прихватить за взломы.
В общем мой тебе добрый совет, не ломай свою жизнь, я уверен что ты
еще молодой, и схлопотать срок, пусть даже условный не желаешь. Даже
административные наказания не пройдут тебе даром, если ты
несовершеннолетний то для твоих родителей.
Кончай баловаться с огнем! Я тебя предупредил - еще раз выскажешься
неадекватно в мою сторону, или Виталий (или любой другой) пожалуется
на тебя, будешь иметь дело с правоохранительными органами, это я тебе
обещаю.
<[email protected]>
Ваш унылый троллинг все больше напоминает попытки запихнуть штепсель от холодильника в USB разъем. Я на такое не ведусь.
Вот какой он, суровый дядя прокурор с Программерсфорума)
Реально же эта писанина принадлежит одной пизде-мордераторше с programmersforum.ru (Ice Valery)
+128
(defun primes-under (limit &optional (filter-depth (truncate (log limit))))
(labels ((%purge (prefix table depth)
(iter
(for (key value) :in-hashtable table)
(for mul := (* key prefix))
(while (< mul limit))
(when (> depth 0) (%purge mul table (1- depth)))
(remhash mul table))))
(let ((primes (iter
(with p := (make-hash-table))
(for i :from 2 :below limit)
(setf (gethash i p) t)
(finally (return p)))))
(iter
(for (key value) :in-hashtable primes)
(%purge key primes filter-depth)
(finally
(return
(iter
(for (key value) :in-hashtable primes)
(reducing key :by #'+))))))))
Вопрос к знатокам: почему так работает? (у меня чисто случайно получилось)
Для тех, кому влом разбираться:
Задача выше - код из Прожект Ойлер. Нужно найти сумму всех простых чисел меньше 2000000 (двух миллионов).
Методом подбора было установлено, что если из всех чисел меньше N последовательно удалять их произведения N_0 * N_1 * ... * N_m, где m = floor(log(N)), то, по крайней мере на сколько меня хватило посчитать, не-простых чисел не остается.
Вопрос, как связан log(N), и можно ли вообще надеятся на то, что это правило - универсально (например, что степени двойки никогда не будут меньше N).
+157
function timeToString(year, month, day, hour, minute, sec, msec) {
var date = new Date(year, month, day, hour, minute, sec, msec);
var now = new Date();
var msec = now.getTime() - date.getTime(); // Миллисекунды
var sec = Math.round(msec / 1000);
var years = Math.floor(sec / (86400 * 365));
var days = Math.floor((sec - years * 86400 * 365) / 86400);
var hours = Math.floor((sec - years * 86400 * 365 - days * 86400) / 3600);
var minutes = Math.floor((sec - years * 86400 * 365 - days * 86400 - hours * 3600) / 60);
var seconds = sec - years * 86400 * 365 - days * 86400 - hours * 3600 - minutes * 60;
// Проверяем, были ли високосные года?
var i;
for(i = date.getFullYear(); i <= now.getFullYear(); i++) {
if(i % 4 === 0) {
if(i === now.getFullYear()) {
if(now.getMonth > 2) {
days++;
}
elseif(now.getMonth === 2) {
if(now.getDay === 28) {
days++;
}
}
}
else
{
days++;
}
}
var yearName;
var yearOst = years % 10;
if(years === 1 || (yearOst === 1 && years > 20))
{
yearName = 'год'
}
else if((years === 2 || years === 3 || years === 4) || ((yearOst === 2 || yearOst === 3 || yearOst === 4) && years > 20))
{
yearName = 'года';
}
else
{
yearName = 'лет';
}
var hourName;
var hourOst = hours % 10;
if(hours === 1 || (hourOst === 1 && hours > 20))
{
hourName = 'час'
}
else if((hours === 2 || hours === 3 || hours === 4) || ((hourOst === 2 || hourOst === 3 || hourOst === 4) && hours > 20))
{
hourName = 'часа';
}
else
{
hourName = 'часов';
}
var dayName;
var dayOst = days % 10;
if(days === 1 || (dayOst === 1 && days > 20))
{
dayName = 'день'
}
else if((days === 2 || days === 3 || days === 4) || ((dayOst === 2 || dayOst === 3 || dayOst === 4) && days > 20))
{
dayName = 'дня';
}
else
{
dayName = 'дней';
}
var minuteName;
var minuteOst = minutes % 10;
if(minutes === 1 || (minuteOst === 1 && minutes > 20))
{
minuteName = 'минута'
}
else if((minutes === 2 || minutes === 3 || minutes === 4) || ((minuteOst === 2 || minuteOst === 3 || minuteOst === 4) && minutes > 20))
{
minuteName = 'минуты';
}
else
{
minuteName = 'минут';
}
var secondName;
var secondOst = seconds % 10;
if(seconds === 1 || (secondOst === 1 && seconds > 20))
{
secondName = 'секунда'
}
else if((seconds === 2 || seconds === 3 || seconds === 4) || ((secondOst === 2 || secondOst === 3 || secondOst === 4) && seconds > 20))
{
secondName = 'секунды';
}
else {
secondName = 'секунд';
}
document.getElementById("time").innerHTML = years + " " + yearName + ", " + days + " " + dayName + ", " + hours + " " + hourName + ", " + minutes + " " + minuteName + ", " + seconds + " " + secondName;
}
Функция для подсчета того, сколько времени прошло с указанной даты.
JavaScript начал изучать вчера. Чувствую, что уже можно заканчивать.
Пришлось код урезать, чтобы вместиться в 100 строк. Более-менее читаемый тут: http://dumpz.org/573381/
+18
#include <iostream>
int main() {
// Инициализируй меня... полностью.
void (*(&(*omg[])())[1]) (void (*)(void (*(*[])())())) = { [] () ->
void (*(&)[1]) (void (*)(void (*(*[])())())) { static void (*f[])
(void (*)(void (*(*[])())())) = { [] (void (*f)(void (*(*[])())())) {
static void (*(*ff[])())() = { [] () -> void (*)() { return [] () {
std::cout << "Test OK" << std::endl; }; } }; f(ff); } }; return f; } };
// Вызывай, вызывай меня... полностью.
omg[0]()[0]([] (void (*(*f[])())()) { f[0]()(); });
return 0;
}
http://ideone.com/gvg1B7
Говнокоду http://govnokod.ru/12066 посвящается.
Инициализация массива указателей на функции, возвращающих ссылку на массив указателей на функции принимающие указатель на функцию, принимающую массив указателей на функции, возвращающих указатель на функцию ничего не принимающую и ничего не возвращающую.
С++ это простой и наглядный язык.
+101
i := -7; // если после этой строчки загнать в отладчик i shr 1, то отладчик покажет -4
i := i shr 1; // после этой строчки i становится равно 2147483644
i := (-7) shr 1; // после этой строчки i становится равно 4
Delphi7 такой Delphi7...
http://www.gamedev.ru/code/forum/?id=138759&page=25#m367Тарас любит дельфи.
+1
#include <stdio.h>
#define new(class) _##class##_##new
#define impl(class, method) _##class##_##method
struct Calculate
{
int(*getOne)(struct Calculate*);
};
int impl(Calculate, getOne)(struct Calculate* this) { return 1; }
void* new(Calculate)(void)
{
struct Calculate* class = malloc(sizeof(struct Calculate));
class->getOne = impl(Calculate, getOne);
return class;
}
struct CalculateProxy
{
struct Calculate;
};
int impl(CalculateProxy, getOne)(struct Calculate* this)
{
printf("Method call!\n");
return impl(Calculate, getOne)(this);
}
void* new(CalculateProxy)(void)
{
struct CalculateProxy* class = malloc(sizeof(struct CalculateProxy));
class->getOne = impl(CalculateProxy, getOne);
return class;
}
int main(void)
{
struct Calculate* calc = new(CalculateProxy)();
printf("%X!\n", calc->getOne(calc));
}
жавашок попросил реализовать паттерн прокси на Си
+2
var CodeMirror = require("codemirror");
var Thrift = require("thrift.js");
require("./src/my.css");
include(`gen-js/test_types.js')
include(`gen-js/TestServ.js')
include(`src/main.js')
Против m4 нет приёма.
+11
Есть ли жизнь после 40?
Что происходит с программистами после 40? Они из окон не выбрасываются? У меня вот на работе ни одного такого нет. На предыдущей работе тоже не было. И вообще, по наблюдениям, 90 квантиль в индустрии - 28 лет.
+2
class/View.php
<?php
class View {
...
public function compile() {
$view_src = file_get_contents(VIEW_SRC_PATH . $this->full_name . EXT);
// echo
$view_src = preg_replace("/\{\{(\w+)\}\}/", "<?php echo \$$1; ?>", $view_src);
$view_src = preg_replace("/\{\{(\w+)\|(\w+)\}\}/", "<?php echo \$$1['$2']; ?>", $view_src);
$view_src = preg_replace("/\{\{(\w+)\.(\w+)\}\}/", "<?php echo \$$1->$2; ?>", $view_src);
// foreach
$view_src = preg_replace("/<!--each\s+(\w+)\s+in\s+(\w+)-->/", "<?php foreach(\$$2 as \$$1): ?>", $view_src);
$view_src = preg_replace("/<!--each\s+(\w+)\s+in\s+(\w+)\|(\w+)-->/", "<?php foreach(\$$2['$3'] as \$$1): ?>", $view_src);
$view_src = preg_replace("/<!--each\s+(\w+)\s+in\s+(\w+)\.(\w+)-->/", "<?php foreach(\$$2->$3 as \$$1): ?>", $view_src);
$view_src = preg_replace("/<!--each\s+(\w+)\s+(\w+)\s+in\s+(\w+)\.(\w+)-->/", "<?php foreach(\$$3->$4 as \$$1 => \$$2): ?>", $view_src);
$view_src = preg_replace("/<!--each\s+(\w+)\s+(\w+)\s+in\s+(\w+)-->/", "<?php foreach(\$$3 as \$$1 => \$$2): ?>", $view_src);
$view_src = preg_replace("/<!--each-->/", "<?php endforeach; ?>", $view_src);
// switch
$view_src = preg_replace("/<!--select\s+(\w+)\.(\w+)-->\s*<!--when\s+(.+)-->/", "<?php switch(\$$1->$2): case $3: ?>", $view_src);
$view_src = preg_replace("/<!--when\s+(.+)-->/", "<?php break; ?><?php case $1: ?>", $view_src);
$view_src = preg_replace("/<!--otherwise-->/", "<?php break; ?><?php default: ?>", $view_src);
$view_src = preg_replace("/<!--select-->/", "<?php endswitch; ?>", $view_src);
if (!file_exists(VIEW_PATH . $this->path)) mkdir(VIEW_PATH . $this->path, 0777, true);
$fp = fopen(VIEW_PATH . $this->full_name . EXT, 'w');
fwrite($fp, $view_src);
fclose($fp);
}
...
?>
view-src/ShadeType.php
{{type.name}}
<!--each k d in type.diameters-->
<h1>{{k}}</h1>
<!--each s in d-->
<div>
{{s.bottom}} × {{s.top}} × {{s.height}}
<div>
<!--select s.mode-->
<!--when 'u'-->(на ушках)
<!--when 'p'-->(только подвес)
<!--otherwise-->
<!--select-->
</div>
</div>
<!--each-->
<!--each-->
view/ShadeType.php
<?php echo $type->name; ?>
<?php foreach($type->diameters as $k => $d): ?>
<h1><?php echo $k; ?></h1>
<?php foreach($d as $s): ?>
<div>
<?php echo $s->bottom; ?> × <?php echo $s->top; ?> × <?php echo $s->height; ?>
<div>
<?php switch($s->mode): case 'u': ?>(на ушках)
<?php break; ?><?php case 'p': ?>(только подвес)
<?php break; ?><?php default: ?>
<?php endswitch; ?>
</div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
На хостинге PHP 5.2, а старые версии фреймворков не хочется. Решил запилить свой.