↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.1 пользователей не могут ошибаться!
?6942
прекрасное6443
говно5905
говнорашка5512
хуита4716
anime3066
linux2652
music2635
bnw2602
рашка2565
log2354
ололо2173
дунч1829
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1419
дыбр1238
гімно1158

Оказывается решето Эратосфена можно зделоть за линейное время: https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%88%D0%B5%D1%82%D0%BE_%D0%AD%D1%80%D0%B0%D1%82%D0%BE%D1%81%D1%84%D0%B5%D0%BD%D0%B0#.D0.A0.D0.B5.D1.88.D0.B5.D1.82.D0.BE_.D0.AD.D1.80.D0.B0.D1.82.D0.BE.D1.81.D1.84.D0.B5.D0.BD.D0.B0_.D1.81_.D0.BB.D0.B8.D0.BD.D0.B5.D0.B9.D0.BD.D1.8B.D0.BC_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B5.D0.BC_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B

Из минусов:
- нельзя сэкономить память храня только по одному биту на позицию
- оверхед по памяти из-за того что хранится массив из n делителей + ln n простых чисел
- плохой кеш-хит

#XPMJGV (4) / @hirthwork / 3348 дней назад

You may use __builtin_expect to provide the compiler with branch prediction information. In general, you should prefer to use actual profile feedback for this (-fprofile-arcs), as programmers are notoriously bad at predicting how their programs actually perform.

#T5NKTB (2+3) / @hirthwork / 3348 дней назад

неожиданно вспомнилось, как четыре года назад запускали под callgrind программу, выполняли 10000 запросов, а потом в kcachegrind искали все функции вызванные n * 10000 раз, чтобы устранить повторные вызовы

#KQ7PVR (0) / @hirthwork / 3349 дней назад

нельзя делать goto через область где создаётся VLA

#YPC1NT (1) / @hirthwork / 3349 дней назад
#define SPRINTF(str, format, ...)\
    char str[snprintf(0, 0, format, __VA_ARGS__)];\
    sprintf(str, format, __VA_ARGS__);
#GTEBDH (16) / @hirthwork / 3350 дней назад

С луком, с яйцами, но не пирожок^U Целочисленное и равно самому себе с минусом, но не ноль: http://ideone.com/MXfxdM

#8K4XIE (3) / @hirthwork / 3352 дня назад

а ещё я лох и обнаружил в своём коде ошибку, которая приводит к тому, что он не может распарсить число -9223372036854775808 как int64_t

#O5BF41 (1) / @hirthwork / 3353 дня назад

Сначала переусложним задачу, а потом как пойдём искать простые решения, да охуевать от того как всё гармонично получается, жаль только что дедлайны уж проёбаны все

#RJNL5C (3) / @hirthwork / 3359 дней назад

Под OST к «Gurren Lagann» внезапно хорошо программируется.

#MHQF2W (4) / @minoru / 3364 дня назад

tfw за четыре часа в поезде успеваешь сделать всё что планировал на неделю. вот что отсутствие интернета с людьми делает

#L37PYS (7+1) / @hirthwork / 3367 дней назад

cedet - это огромный такой (поэтому хуево протестированый) кусок кода.

Сегодня обнаружил, что company-complete отваливается со стектрейсом в буферах где нет активного semantic-mode.

Оказывается эта падла модифицирует completion-at-point-functions', который юзает бекенд company-capf, своими хуками, которые отвалиюваются сerror' если в буфере не включен semantic-mode, а кроме как для C или C++ он нахер не упал.

Набыдлил хак, может кому пригодится.

#6ET17M (5) / @ninesigns / 3371 день назад

Аноны, меня вдруг осенило, что всякое дрочево типа ФП и модных фреймворков нинужны и в 99% случаев мы занимаемся скучным говном. 

Это норма. Большая часть программистской работы это айти-сантехника - создание машинных переводчиков с одного языка на другой (с HTTP-запросов в SQL-запросы и т.д. и т.п. в интерпрайзе программирование это сплошная серилизация и десериализация).

Когда программисты это понимают они придумывают новые языки и фреймворки чтобы быть сантехником было веселее - получается что ты совмещаешь рутинную работу и решение головоломки о том как соединить твои новые трубы причудливой формы чтобы по ним потекли данные. (есть правда ещё деталь - если сантехник изобретает новую трубу/фреймворк которая входит в моду у других прогрессивных сантехников то он может добавить это в своё резюме и требовать больше денег за свою работу). Больше всего в этом преуспели хаскеллисты которые сделали целый язык-головоломку в котором простейшие задачи требуют решения кубиков-рубиков абстрактной теории групп. Чтобы головоломки в хаскиле всегда оставались свежими постоянно выходят расширения его системы типов. Этот язык успешно распространяется тем же принципом что и головоломки "а тебе слабо решить? чё, тупой чтоли?".

Что делать с этим очевидно идиотским сложившимся состоянием отрасли? Выбирать самую простую работу которая приносит максимальное количество денег, желательно такую на которой можно часть времени сидеть в интернете и делать что хочешь. Откладывать деньги в застрахованные депозиты и другие инвестиционные инструменты чтобы однажды перестать быть завсимым от работы.

Я примерно так делаю, а настоящим интересным программированием занимаюсь в свободное время - пишу физические симуляторы, строю и программирую простых роботов из китайских серв и играюсь с машинным зрением.

#84CRK4 (135+9) / @ninesigns / 3374 дня назад

sooqa, раньше SDL2 глючил и бажил под wayland, теперь вот cairo-gl забагованый.

#84SCIB (5+1) / @ninesigns / 3376 дней назад

C/C++ Development Environment for Emacs
https://tuhdo.github.io/c-ide.html

ебануться

#FX70NY (1) / @ninesigns / 3388 дней назад

Попробовал поставить clion от JB.

Сравнивать буду с опытом юза емакса в качестве IDE.

На 16gb рамки запустилось.

Закинул туда свой проектик на 3k sloc, тормозов не заметил, все проиндексировалось быстро.

Плюсы:
+ Работающая навигацию по C++. Для C++ Semantic из emacs не всегда правильно все парсит, навигация иногда ломается. Тормозит.
(для сишки все лучше, тут хватается helm-gtags + gtags)
+ Работающий smart completion.
+ Рефакторинг. Забагованый srefactor
что-то даже умеет, но например переименовать параметр функции не может;
+ Удобное превью-окошко появляющееся при наведении на , показывающее код справа (думаю, спизжено из sublime); Такая херня для emacs малоюзабельная;
+ Беспроблемная background compilation. в emacs надо ставить flycheck, который в принципе тормозит редактор, настраиваться его и сражаться с глюками. тут все искаропки.

Минусы:
- пипитарное (а значит в случае остановки разработки есть вероятность что юзеры всосут);
- умеет только cmake;
- на нашел как быстро прыгать по сорцам, не хватает чего-то типа ace-jump (возможно ставится как плугин для idea).

#JLYWMX (6) / @ninesigns / 3389 дней назад

С нульчана:

Местный плебс и не слышал о том что считается достойными задачами:
САПРы для разработчиков электроники содержащие алгоритмы для размещения миллиардов транзисторов на кристалле в соответствии с высокоуровневой спецификацией.
Системы управления роботами самых разнообразных типов, ракетами, БПЛА.
Алгоритмы распознавания образов, визуальных, звуковых, каких-либо ещё. (Это и есть распознавние лиц, речи и т.д.)
Обработка информации на естественном языке.
Планирование для принятия решений (в т.ч. составление расписаний) таким образом чтобы решения были оптимальными по заданному критерию.
Моделирование сложных технических и экономических систем.
Биоинформатика.
Список можно продолжать и продолжать, я затронул лишь малую часть релевантных тем.

Области информатики где сейчас действительно есть большой прогресс это машинное обучение, алгоритмическая теория информации.
Новые, эффективные алгоритмы разработаны для применения в компьютерном зрении и биоинформатике.
Ваша PLT всегда была на обочине, и совершенно заслуженно.
До чего же тупыми нужно быть чтобы не понимать того что Programming Language Theory это очень узкое подмножество Computer Science?

#ZGDNQ7 (14) / @ninesigns / 3389 дней назад
Проблемы первого мира: 03:04:19]<Денис> Грузинская комната: При чем тут диофантово уравнение не понятно 03:04:45]<Денис> Ну то есть понятно при чем тут оно 03:05:11]<Денис> И в общем да, так можно рассмотреть, но в моем случае не очень получается 03:05:43]<Денис> Я пока решил несколько иным способом, но решение плохое Надо переделывать через вычисления наименьшего общего делителя 03:05:50]<Денис> Но я пока не сделал, не продумал 03:06:16]<Денис> видимо, надо составлять матрицу наименьших общих делителей и как-то крутить- вертеть 03:07:41]<Денис> Грузинская комната: Хотя ты прав, это таки да, диофантово уравнение 03:07:43]<Денис> Ишь ты 03:12:32]<Грузинская комната> Денис: А для чего тебе решать эту задачу? 03:12:42]<Грузинская комната> Где это может использоваться? 03:33:37]<Денис> Грузинская комната: Для распределения стоимости фрахтинга 03:34:00]<Денис> у меня товар доставляется, и его цена вычисляется как цена_товара + цена_доставки 03:34:12]<Денис> Товар оплачивается поштучно, но доставка - за контейнер целиком 03:34:27]<Денис> Я делал просто - распределял стоимость доставки пропорционально весу 03:34:58]<Денис> Но тут вот таможня потребовала предъявить "сколько вешать в граммах" - то есть, сколько стоит каждая ШТУКА товара ВМЕСТЕ С ДОСТАВКОЙ 03:35:24]<Денис> и цена типа 1.934543454549$ их не устраивает, цена должна быть в целых центах 03:35:30]<Денис> вот второй день имею гимор 03:36:17]<Денис> Надо раскидать центы стоимости фрахтинга по позициям пропорционально весу. При этом в контейнере до 1000 наименований продукции 03:36:22]<Денис> разных 03:36:31]<Денис> И вот надо подограть 03:36:35]<Денис> подогнать 03:37:33]<Денис> Я написал логарифм, который это делает 03:37:35]<Денис> И он таки делает 03:37:44]<Денис> Но медленно и неоптимально 03:37:52]<Китайская комната> математически округлить, суммировать, вычесть, остаток отправить на наиболее дорогой товар 03:37:54]<Денис> Прямым оптимизированным перебором 03:37:59]<Китайская комната> быстро, никто не доебётся 03:38:06]<Денис> Китайская комната: Непонятно 03:38:19]<Денис> Там возникает вопрос "сколько стоит фрахтинг данной позиции" 03:38:23]<Денис> В ЦЕНТАХ 03:38:40]<Китайская комната> бля ок 03:38:43]<Денис> И сумма фрахтингов по всем позициям должна, о чудо, совпадать с инвойсом от перевозчика 03:39:10]<Денис> У меня там списочки по 200-500 позиций 03:39:13]<Денис> бывает до 1000 03:39:15]<Китайская комната> если до неожиданно большого количества центов будут доёбываться 03:39:21]<Денис> Низя 03:39:25]<Китайская комната> 1000 позиций - это $10 в худшем случае 03:39:29]<Денис> надо более- менее пропорционально весу 03:39:33]<Денис> 1000 ПОЗИЦИЙ 03:39:40]<Денис> Каждой - сотни штук 03:39:52]<Китайская комната> бля 03:39:54]<Китайская комната> пиздец 03:39:57]<Денис> Обычно в контейнере 40000- 80000 тысяч штук 03:40:14]<Денис> 28 тонн, фигли 03:40:23]<Денис> дерьмеца 03:40:50]<Денис> А фрахтинг - несколько тысяч долларов 03:40:59]<Денис> от тысячи с небольшим до пяти 03:41:11]<Денис> Соотвественно, на позицию приходится несколько центов в среднем 03:41:15]<Денис> ну может центов 10-20 03:41:34]<Денис> Потому дешевые штуки я вынужден оформлять по 1 центу (по нулю же не отправишь( 03:41:41]<Денис> ТО есть, хотя бы 1 цент должен быть 03:41:47]<Денис> Должно быть пропорционально весу 03:41:50]<Денис> и прочий гимор 03:41:59]<Денис> Эстонцы извращенцы 03:42:05]<Денис> но что я могу с этим поделать? 03:42:17]<Денис> Хотя может фачит моск агент 03:42:25]<Денис> но не ехать же в Таллинн разбираться
#STWRE1 (0) / @l29ah / 3390 дней назад

xxx: на чем писать еще?
yyy: на жс
zzz: можно просто на рабочее место насрать кучу и получить за это деньги. И то лучше результат получится

#J1Z6LA (1+1) / @hirthwork / 3399 дней назад

The Racket Manifesto
http://www.ccs.neu.edu/home/matthias/manifesto/index.html

The creation of a programming language calls for guiding principles that point the developers to goals. This article spells out the three basic principles behind the 20-year development of Racket. First, programming is about stating and solving problems, and this activity normally takes place in a context with its own language of discourse; good programmers ought to formulate this language as a programming language. Hence, Racket is a programming language for creating new programming languages. Second, by following this language-oriented approach to programming, systems become multi-lingual collections of interconnected components. Each language and component must be able to protect its specific invariants. In support, Racket offers protection mechanisms to implement a full language spectrum, from C-level bit manipulation to soundly typed extensions. Third, because Racket considers programming as problem solving in the correct language, Racket also turns extra-linguistic mechanisms into linguistic constructs, especially mechanisms for managing resources and projects. The paper explains these principles and how Racket lives up to them, presents the evaluation framework behind the design process, and concludes with a sketch of Racket’s imperfections and opportunities for future improvements.

#8R7E5K (6) / @ninesigns / 3399 дней назад

I used to be an adventurer like you, then I dereferenced NULL pointer

#D3WTUR (3) / @hirthwork / 3420 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.