LINUX.ORG.RU

Избранные сообщения match

«Fraud» во всех VPS хостингах

Форум — Talks

Недавно решил переехать с почты яндекса на свой собственный сервер (и домен). Знаю, минусов куча, но весна и обострение паранойи хочу попробовать себя в роли чего-то большего чем админ локалхоста. Но совершенно не получается арендовать сервак. Пробовал уже 4 лоу-кост хостинга, OVH вообще сразу затребовал документы, остальные (quadhost, copahost и еще парочка) после регистрации пишут «Ваш заказ помечен как потенцильно опасный». Все данные реальны, ip тоже совпадает с городом. Единственное что, пишу только город, почтовый индекс и улицу. Написал в поддержку одному из них, получил такой ответ:

( читать дальше... )

Предлогают отправить им документы и подтверждение адреса. Я понимаю, что никто не заинтесован в спамерах и прочем, но одно дело ввести данные, а совсем другое - сканы паспорта с серией и прочим. ЧЯДНТ? Может есть вариант как арендовать без документов?

 ,

Nightfall
()

Выбор ноутбука, с особым педантизмом.

Форум — Linux-hardware

Собственно, вопрос банальный: выбор ноутбука. Но с тонкими извращениями.

Комп предполагается рабочий. Нужен мощный проц и много винта. Но при этом нужна простая видеокарта.

Поэтому мои требования, наверное, несколько страньше, чем у обычных юзеров (а кто здесь не маньяк?).

И вот я уже пару месяцев лазаю по сайтам, читаю спецификации и нет уверенности, что же лучше взять. Я не тороплюсь, это не срочный вопрос. Но я хочу убедиться, что я куплю именно то, что нужно. Потому на всякий случай спрашиваю совета у ЛОРа.

Пока что я смотрю в сторону Dell Inspiron 15 c чипсетами, поддерживающими нужные мне фичи. Есть у кого опыт общения с этими ноутбуками? Что можно про них сказать хорошего/плохого?

И самый главный вопрос: будет ли работать видяха NVidia GeForce GTX 960M без проприетарных дров? Принципиально не хочу ставить проприетарщину, но нет уверенности, что Nouveau в достаточной мере поддерживает работу с такими картами. Я просто такими вопросами никогда не интересовалась. Поясните, что я потеряю, если буду использовать только опенсорцные дрова. В игры я не играю от слова совсем, комп покупается для работы с программированием и музыкой. От видеокарты хочу хорошего разрешения на мелких шрифтах, отсутствия полосатости, перекосов с палитрой. Всяких там векторизаций и ускорений не нужно. Максимум я могу какой-нить ролик на ютубе посмотреть - это предел нагрузки на графику.

Также интересует, чтобы дрова для матери были не проприетарные.

По железу я пока выделила следующие требования:

CPU: Intel, 4 cores, необходимые фичи: SGX, VT-x, VT-d, AES-NI. Тут главную проблему составляет SGX, поэтому выбор процессоров довольно резко сокращается.

BIOS: Обязательно должен поддерживать SGX! Причём это фича не только чипсета, но и самого биоса. Насчёт UEFI - тут я пока в раздумьях и надо ещё читать. Другие треды мониторила, но пока есть понимание того, что UEFI может внезапно оказаться кривым и выдать какие-то сюрпризы. Единственное, что я знаю точно: не нужно никаких локов и «безопасных» образов системы. Предустановленный маздай собираюсь вернуть по программе возврата сразу при покупке ноута, так что он роли не играет. Но, естессна, мать не должна превращаться в тыкву после полного удаления всех рудиментов маздая с винта.

Память: от 8Гб. Желательно шуструю и чтобы можно было доставить планок до 16 или больше, если вдруг захочется. Но пока 8 мне хватит за глаза.

HDD: желательно от 1Tb, SSD не нужен, но если он есть - это плюс.

Монитор: от 15.6", лучше малопотребляющий (яркий не нужен), но с хорошим разрешением (мелкие точки) и высокой частотой развёртки (читать код по ночам, чтобы глаза не вытекали).

Видеокарта: любая, пригодная для Linux без проприетарных дров (лучше малопотребляющая, чтобы не выжирала аккумулятор). Если есть поддержка OpenCL c опенсорцным драйвером - очень хорошо.

Клавиатура: полноразмерная, обязательно с numpad, без ненужных расширений вроде всяких непонятных кнопок мультимедии, я ими не пользуюсь. Тачпад особо не нужен, я его не использую вообще.

SD-reader нужен обязательно.

Bluetooth не нужен, но если есть - пусть будет.

Ethernet нужен. Я люблю хороший шустрый проводной интернет. Хотя тут можно подумать насчёт внешней USB-карты, но лучше бы иметь встроенную карту.

WiFi - скорость не особо важна, но хорошо, если отключается физически. Всякие там 4G/LTE - фиолетово.

USB-порты нужны, чем больше - тем лучше (лучше не менее 4).

Звук: лучше качественный, неплохо бы встроенные колонки (особенно если 4 канала), но обязательно выход на наушники с джеком 3.5.

Аккумулятор на 3-4 часа работы, как минимум. Хорошо если есть возможность расширить аккумулятор каким-нить запасным блоком.

Корпус, наверное, не очень важен. Но, скорее всего, при большой мощности потребуется хорошая вентиляция. Таскать ноут никуда не предполагается, вся работа в основном дома. Вес неважен. Кирпич в 5-6 кило меня не пугает. На дизайн вообще накласть. Но хотелось бы, чтобы он не разваливался в процессе эксплуатации.

Может, есть какие-то соображения насчёт подбора ноутбука, подходящего по описанию?

 ,

Iron_Bug
()

Шок от С. Как склеивать строки?

Форум — Development

Осваиваю си. Всё шло хорошо пока внезапно не понадобилось склеить строки (константные и переменные). Покурил stackoverflow. Предлагают 2 варианта:

Первый - создать char buf[молись_чтобы_хватило] и делать str(n)cat/sprintf в этот buf.

Второй - использовать asprintf, который расширение, нестандарт и вообще.

Вопрос: как вы склеиваете строки? Может есть какая-нибудь общепринятая либа?

Простите за нубский вопрос

 

makoven
()

[C++?] Серьезный вопрос.

Форум — Development

Просьба ответит серьезно, желательно с аргументами за или против.

Предистория:
Когда то давным давно (я тогда еще только закончил 9-ый класс) я увидел в газете объявление о наборе в летнюю группу по изучению классического программирования. В тот момент я был с компьютером на ты и "очень" хорошо в них разбирался (переустанавливал Windows каждый месяц, хаял Microsoft просто потому, что после моих настроек W приходилось постоянно переустанавливать). Группа по классическому программированию так и не набралась, но набралось 1 человек на Visual Basik for Applications. Я соглсился быть вторым и начались занятия.
Все, что мне там объясняли я схватывал быстро. Меня пригласили продолжить обучение в сентябре на курсе "моделирование".
Там уже был Pascal, который я тогда совсем не знал. Сам курс был очень разношорстный: мы изучали и использование мыши через прерывание, готовились к различным олимпиадам. Параллельно я изучил Pascal.
Потом был Delphi. К концу 10-го класса я уже неплохо владел приемами программирования и вовсю клепал бесполезные программулины. Потом поступил в универ на программиста. Там тоже был Delphi, и я особо не напрягаясь писал все лабы (к моменту поступления я уже был знаком с логикой указателей, самописные стеки и графы, etc).
На 2-ом курсе в гостях у знакомого я разобщался с человеком, который уже насколько лет работал в нерезиновой программистом. Он мне и открыл глаза на мир: "Delphi здох. Его уже похоронили и забыли. Сейчас необходимо знание C++, C#. Необходимо занание паттернов проектирование". Вобщем много чего он мне наговорил. Книжек умных насоветовал, подкинул MSVS 2008, кучу электронных книжек. Я изучил C# по книжке Шилдта. Читал "Идеальный кол" (автора уже не помню). Потом купил(!) себе книжку Шилдта про С++. Мне понравился язык. Тем более что мне казалось, что именно он и есть общепринятый стандарт. Наиболее удобный язык для программиста.

А недавно в соседней теме за упоминание это С++ меня чуть было не съели со всем чем можно. Так-то.

Собственно вопрос: Так стоит ли изучать дальше С++ (а я уже достаточно углубился в книжку Страуструпа, подробно изучая все подводные течения)? Какой язык стоит изучать? Какие из них более востребованны?

Спасибо всем, кто осилил это многобукаф.

trex6
()

Производительность C++

Форум — Development

Как насчёт производительности у C++ по сравнению с C? Мои предположения на текущий момент:

1) Код, не использующий возможности C++ (то есть по сути plain C), скомпилированный C++ компилятором будет иметь абсолютно ту же производительность, что и код на С.

2) Исключения и dynamic_cast медленные. Если нам важна производительность, лучше их не использовать.

3) Класс без виртуальных методов, должен быть по производительности эквивалентен сишной структуре и функциям, обрабатывающим её. Не считая копирования. Нужно везде, где можно использовать передачу по указателю или ссылке (собственно, если в Си делать memmove при передаче структуры в качестве аргумента, то это вызовет примерно такой же оверхед, как дефолтный конструктор копирования С++. Верно?).

4) Класс с виртуальными методами полностью аналогичен пункту 3, но при вызове виртуальных методов добавляется небольшой оверхед. Сишный эквивалент obj->vtable->func(obj, ...). Если сравнивать с plain C кодом, реализующим ООП в той же манере (каждая структура-объект имеет поле, указывающее на структуру, содержащую адреса функций работы с ней), то оверхеда по сравнению с plain C не должно быть.

5) При использовании атрибута класса final (если компилятор поддерживает соответствующий стандарт) даже при наличии виртуальных методов в нём, их вызов будет превращаться в прямые вызовы функций вместо обращения к vtable, если переменная имеет соответствующий тип, а не указатель/ссылка на его предка (который не final).

6) Шаблоны могут привести к разбуханию кода. Впрочем, #define-ы и inline-функции в C++ могут устроить то же самое. Вопрос: будет ли использование шаблона с одинаковыми параметрами создавать 2 копии реализации или же всё-таки компилятор догадается сделать её лишь один раз. А если шаблон используется с одинаковыми параметрами в нескольких объектных файлах? Будет ли реализация расшариваться между ними или у каждого своя?

7) Что насчёт inline-методов класса? (те, которые описываются прямо в момент определения самого класса, внутри блока class). Может ли их реализация расшариваться между модулями или в каждом будет своя копия (допустим, метод слишком длинный, чтобы инлайнится в момент вызова)?

Я не претендую на правоту, какие-то утверждения могут быть ложными. Хотел бы узнать, как обстоят дела на самом деле. А также какие подводные камни я ещё не знаю. Разумеется, речь идёт о последних версиях gcc/clang с включённой оптимизацией не ниже -O2.

 ,

KivApple
()

обработка естественных языков

Форум — Development

внезапно!

питон или ява? хочется конечно яву... какая либа круче всех?

чего хочу: хочу имея с вободной форме текст разбить его на полезные кусочки и сложить в базулю.

ну например:

1. гражданин сидоров, проживающий по адресу, зарезал к чертям свою соседку по пьяне.

2. на улице произошло столкновение двух клевых автомобилей.

что мы тут видим? есть ФИО, есть адреса, есть преступление, как будто есть даже марки машин.

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

вариант относительно простой, но трудоемкой: нашлепать в рукопашную кучу файлов с метками и грубо говоря структурой документа. ну типа:

<fio regexp/> <address regexp/> <action regexp/>

<marker fio/>, <marker adderess>, <marker action>

проблема в том, что количество таких шаблонов будет расти и их будет просто до черта. считай на каждую новую «свободную» форму свой новый шаблон. одно уныние.

а хочется чего-то более машинленинговово, чтоб OpenNLP или NLTK какой. хочется больше эвристики. как это правильно нынче делается?

 , ,

Rastafarra
()

Ищем математика-верификатора (Москва)

Форум — Job

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

Обязанности:

  • Построение моделей программ,
  • Формальная верификация кода, протоколов, интерфейсов,
  • Доказательство корректности реализации.

Требования:

  • Владение различными методами и инструментами верификации, в частности Isabelle/HOL
  • Опыт верификации ПО, например драйверов, протоколов
  • Навыки программирования на функциональных и/или процедурных языках
  • Научные публикации в реферируемых журналах

Условия:

  • Официальная заработная плата (после вычета налогов) – от 90 000 до 150 000, определяется по результатам собеседования;
  • Индексация заработной платы;
  • 13-ая зарплата" по итогам работы за год;
  • Опытный коллектив, широкие возможности профессионального роста;
  • Возможность повышения квалификации на различных курсах;
  • Возможность посещения тематических конференций в России и за рубежом;
  • Добровольное медицинское страхование (санчасть в 5 мин. пешком от работы);
  • Членство в спортивном клубе в 10 мин. пешком от работы;
  • Соблюдение ТК;
  • Офис в районе м. Марьина Роща

ВНИМАНИЕ! Вместе с откликом присылайте, пожалуйста, примеры верифицированного вами кода/моделей. Для связи - sartakov@ksyslabs.org Рассматриваются кандидаты только с релевантным опытом. Студенты - можем рассмотреть, но хотелось бы профессионала. Удаленка точно нет.

 

sartakov
()

A Nanopass Framework for Commercial Compiler Development

Форум — Development

/cast true_admin; анонимус, толкавший nanopass народу; другой умный анонимус

Мне одному кажется, что оригинальной реализации сабжа от Эндрю Кипа и компании для commercial compiler development недостаёт хоть чего-то для обработки ошибок и реализации макросов?

Для сообщений об ошибках надо писать свой парсер и подпиливать грамматику языка, чтобы прямо в программе сохранять информацию о положении конструкций в исходнике. Для макросов надо вообще городить свои pattern matcher и code walker, потому что всё оригинальное добро на клёвом compile-time syntax-case и — сюрприз! — не позволяет доопределять языки в рантайме.

Итого что в осадке остаётся? Разве что идеи о том, 1) что маленькие специализированные проходы удобнее комбинировать и дорабатывать, чем большие монолитные, 2) что eDSL лучше сраной кодогенерации, 3) что pattern matching удобен для написания трансляторов. Ну, блин, это вроде и так очевидные вещи.

Есть, правда, ещё идея о постоянном сохранении синтаксической корректности преобразований, но у меня есть некоторые сомнения в её радикальной полезности, ведь с понижением уровня языка и сокращением количества конструкций становится всё легче выдавать синтаксически корректную околесицу.

В общем, правы были те ребята из ICFP о том, что nanopass годится только как наглядное пособие для обучения. Даже во второй инкарнации. Ну, или как, э-э-э... pattern matcher для бек-энда, если закрыть глаза на обработку ошибок.

Я уж думал, появилось хоть что-то, уменьшающее количество ad-hoc решений при реализации языков. Но, похоже, создание подходящих утилит всё ещё остаётся искусством.

/discuss

 , ,

ilammy
()

ооп и функциональщина кратко, внятно.

Форум — Development

Дабы не слать напраслину на любителей создавать классы и объекты, пытаюсь разобраться в плюсах, которые отличаются от родителя, на первый взгляд, только названиями файлов, функций и приемами организации мышления погромиста. Так вот, эти ваши классы даже в учебнике называют почти структурами, а мизерное отличие сомнительного профита легко можно решить и в анси си(далее - ансися) при ближайшем обновлении. Ансися страдает перегрузкой названий функций для каждого из подлежащих обработке типов, отсутствием удобной иногда перегрузки функций, что, конечно минус, но не критично, ибо решаемо. Сиплюсик конечно удобен школьникам, тяжело принимающим всякие %s %d %x и так далее в качестве аргументов принтфов и сканфов, но зачем создавать для этого отдельный язык? Ведь << и >> становится лишним препятствием при освоении, если параллельно сдвиги битов читать. Итого, я вывел для себя, что в попытке облегчить участь программиста, разработчики языка усложнили его до степени родителя, не получив особенного профита. Чем же ооп так всем нравится, если оно не облегчает код?

 , , ,

minakov
()

Группа разработчиков Scala получила грант Евросоюза

Новости — Java
Группа Java

Группа разработчиков языка Scala получила грант Евросоюза, выиграв конкурс языков для параллельного программирования. Разработчики получат в течение следующих 5 лет на развитие своего детища 2,3млн €.

Scala — язык программирования для платформы JVM, сочетающий возможности объектно-ориентированного и функционального программирования. Scala был разработан в лаборатории швейцарского ВУЗ’а EFPL.

>>> Подробности

 , , ,

Karapuz
()

std::async deprecated (на самом деле нет)

Форум — Development

Проблема в том, что std::async не справляется (и фундаментально не может справляться) со своей задачей — предоставить task-based параллелизм. Подробнее см. [1]

Если верить Eli Bendersky [2], из-за указанных в [1] проблем (и не только) std::async почти пометили бумажкой «deprecated» в 17-м стандарте, но в последний момент решили подставить кастыль в виде [3], только ради того, чтобы сохранить лицо комитета стандартизации: шутка ли — в 11-м году принять фичу в стандарт, а уже в следующей редакции (14-я была минорной, не забывайте) пометить deprecated. Это поставит под сомнение адекватность и легитимность комитета.

Вот так всегда в C++: впопыхах напихали нерабочих фич в стандарт — потом подпирают кастылями.

[1] https://bartoszmilewski.com/2011/10/10/async-tasks-in-c11-not-quite-there-yet/
[2] http://eli.thegreenplace.net/2016/the-promises-and-challenges-of-stdasync-tas...
[3] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3773.pdf

P.S. Лучше бы его и правда пометили deprecated.

 

utf8nowhere
()

Syntax-aware autocomplete

Форум — Development

Допустим, у нас есть лексер и грамматика некоего DSL. Мы хотим сделать хорошую интерактивную среду, как у «взрослых»: чтобы аргументы у функций предлагались, исходя из контекста.

То есть, если есть правило

let_stmnt:
  TOK_LET TOK_IDENTIFIER TOK_ASSIGN expr;
то хотелось бы, чтобы нажатие на <TAB> при нахождении в месте ввода идентификатора понимало, что сейчас мы хотим предложить автокомплит по известным именам переменных.

Иными словами, мне нужно каким-то образом достучаться до всех возможных незавершенных вариантов разбора части набранного выражения. Пока я не придумал ничего лучше, как

let_stmnt:
  TOK_LET variable TOK_ASSIGN expr;

variable:
  TOK_IDENTIFIER { add_completion(COML_VAR, @$); }
Где add_completion добавляет в список возможных вариантов дополнений, что в таких-то позициях строки можно дополнять имя переменной. По мне, так выглядит как-то очень костыльно, ведь чем удобнее захочется сделать грамматику, тем больше правил будут давать «мусорные» варианты дополнения.

В процессе гугления находил только рекомендации использовать push parser для такого, но без конкретики или примеров.

Ну и вообще, для «дружественного DSL» хотелось бы более понятных сообщений об ошибке, нежели «expected expr», ведь из частично заматчившихся правил можно сузить набор возможных на данной позиции лексем.

 ,

kawaii_neko
()

[ocaml] ocaml for scientists в pdf

Форум — Development

Дорогой ЛОР,

Я нагуглил эту замечательную книжку только в djvu. Качество ужасное (плохо распознан код и формулы), объем ~2 Мб. Если у кого-нибудь завалялась копия "ocaml for scientists" в приличном качестве, и не жалко поделиться - буду очень благодарен.

 

ovidii
()