Category: it

Category was added automatically. Read all entries about "it".

Ежегодных контестов псто 2020

Google Code Jam
В качестве решений принимается код на C, C++, Python 2, Java, а еще на всякой экзотике типа Bash, C#, Clojure, D, Dart, F#, Go, Groovy, Haskell, JavaScript, Julia, Kotlin, Lisp, Lua, Objective-C, OCaml, Octave, Pascal, Perl, PHP, Python 3, PyPy 2, R, Ruby, Rust, Scala, Swift, TypeScript, Visual Basic

3 апр 23:00 UTCКвал (27 часов), проходят все, набравшие 30+ баллов
11 апр 01:00
19 апр 16:00
2 май 09:00
Раунд 1A, 1B, 1C (2.5h), проходят по 1500 из каждого
16 май 14:00Раунд 2, проходит 1000 и получают футболки
6 июн 14:00Раунд 3, проходит 25
7 авг 10:30Финал (4h) (Калифорния), призы $15k-$2k-$1k


TopCoder Open
Правила

18 апр 16:00 UTC
28 апр 11:00 UTC
Раунд 1A, 1B, до 2500 участников в каждом, проходит по 750 + топ250 по рейтингу
23 май 16:00
2 июн 15:00

9 июл 11:00
18 июл 16:00
Раунд 2A, 2B, проходит по 200
9 июл 11:00
18 июл 16:00

1 авг 16:00
18 авг 11:00
Раунд 3A, 3B, проходит по 40, футболки всем ненулевым участникам
1 авг 16:00
5 сен 16:00
Раунд 4, проходит 11 (было 10)
TBDФинал, призы $10k-$1.5k-$0.5k

UPD: Даты R2, R3, R4 перенесли


Facebook Hacker Cup
Скопипастил правила, так что это не точно.

24 июл 17:00 UTCКвал, 72ч, проходят все, решившие хотя бы одну задачу
15 авг 17:00Раунд 1, 24ч, проходят все с 30+ баллами
29 авг 17:00Раунд 2, 3ч, топ500 получает футболки, топ200 проходит
12 сен 17:00Раунд 3, 3ч, неясно, будет ли финал


ICFPC: 17 июл 13:00 UTC


Yandex Cup
Возвращается после перерыва в 2019, в несколько сокращенном виде

с 19 окт 12:00 до 25 окт 23:59 UTC+3Квал, 2ч с момента начала, проходят все с 5+ баллами
7 нояФинал, призы: налоговый консультант

Как настраивать Chrome

Браузер


Согласно StatCounter, примерно 70% интернета пользуется браузером Chrome. Он разработан американской корпорацией Google, которая зарабатывает, собирая и используя данные, которыми вы бы не хотели с ней делиться. Chrome это качественный и популярный браузер, потому что основывается на проекте Chromium, браузера с открытым исходным кодом. Корпорация Google добавляет в этот продукт модули, фактически отправляющие всю веб-активность пользователя (посещенные сайты, скачанные файлы, набранный текст, поисковые запросы, когда пользователь открывает и закрывает Chrome, что еще стоит на его машине) в его досье, используемое для нужд информационной войны и иногда для впаривания ненужных товаров. Для минимального подобия приличий заявляется, что эта функциональность помогает пользователю.

К счастью, несколько групп специалистов по безопасности, разработчики альтернативных браузеров на базе Chromium, майнтайнеры Debian, собрались и сделали патчи под заголовком ungoogled-chromium, которые отключают шпионскую активность, встроенную в Chromium. Используя исходный код Chromium и эти патчи, можно собрать Chromium, который вообще не обращается к серверам Google, если пользователь его явно не попросит.

Чтобы избежать повсеместного использования свободного браузера Chromium вместо своего шпионского Google Chrome, Google собирает дефолтный релиз Chromium с флагами, исключающими из браузера, например, поддержку видео. Проект ungoogled-chromium-windows исправляет в том числе и это.

Здесь я расскажу, коротко и по-русски, как собрать свой Chromium, не обладая знаниями программирования.

Collapse )

Я использую описанную сборку Chromium с этими настройками в качестве основного браузера уже около месяца, полет нормальный.

Инфраструктура Python

В ноябре 2017 я начал собирать в виде IPython Notebook сниппеты работы с разными полезными для исследовательского программирования библиотеками Python, регулярно используя их как шпаргалку. Потом структурировал, разбил на главы, и обнаружил, что получается что-то похожее на книгу. Увы, спустя некоторое время времени на этот проект перестало хватать, особенно на полировку, поэтому готовыми к бета-ридингу можно назвать только главы 1,2,6,7,8,9,10, остальное на стадии жесткого черновика. Надеюсь, оно будет полезно кому-нибудь и в таком виде.

1. Введение в язык Python
2. Строки, даты, коллекции
3. Взаимодействие с системой
4. Источники данных
5. Богатый вывод
6. Веб
7. Математика, численные вычисления
8. CAS
9. Графы
10. Визуализация
11. Машинное обучение
12. Медиа
13. GUI
14. CTF
15. 3D графика

Патчи/ревью/предложения можно писать в комменты (анонимусы разрешены).

UPD: Поменял ссылки на nbviewer, работает лучше. Гитхаб здесь.

ДР / С НГ-2019!

Как обычно, 27 декабря в комментариях все прогрессивное человечество поздравляет меня с днюхой или хотя бы ставит +1 :-)

  • продолжил повелевать с товарищами CTFы, с 9 контестами из 10 учитываемых ~350 место на ctftime;
  • немного гайдил падаванов, втч написал и выложил теормин по STL для СП (раз, два);
  • первый раз себе что-то сломал (лодыжку);
  • болел за OpenAI;
  • моя команда заняла 12-е место на IPSC :-).

фильмы Твое имя, Счастливого дня смерти, Суперсемейка 2
игры Witcher 3, Tropico 3, Surviving Mars, Star Trek: Elite Force 1-2, Two Point Hospital
книги Пратчетт, Томин, Фейнман. КЭД
контесты NeoQuest, TCO, FBHC
альбомами порадовали Therion, Amaranthe, Эпидемия, Sirenia, Poets of the Fall, Visions of Atlantis


Всех с Новым Годом! :-)
Какой город вы бы назвали идеальным? Реально существующий? По каким характеристикам?
  • Current Music
    Therion — [Beloved Antichrist #29] Resurrection
  • Tags

Теормин по STL для СП, часть 1/2

Это теоретический минимум по STL для занимающихся спортивным программированием, подмножество возможностей стандартной библиотеки C++, полезных для решения алгоритмических задач. Группировка преимущественно по заголовку и контексту использования. Почти все упоминаемые имена лежат в пространстве имен std, для него и только для него  следует использовать после #include

using namespace std;



<iostream>, <iomanip>
    cout, cin, while (cin >> ...)
    getline, while+getline, getline после cin
    <iomanip>: fixed, setprecision, setw, setfill, hex/dec
    <iomanip>: noskipws/skipws
    cin/cout.tie(0); cin/cout.sync_with_stdio(false); endl vs '\n'
<cstdio>: printf/scanf для жирных инпутов
<vector>
    clean != empty
    begin, end, rbegin, rend
    push_back, pop_back, emplace_back, front, back
    insert
    size, resize, capacity, reserve, swap hack/shrink_to_fit
    vector<bool>
<string>
    string(10, ' '), std::string("a") + "b"
    length/size, substr
    push_back
    to_string, stoi
    find, rfind, find_*_of, string::npos
<sstream>: stringstream ss("str"), ss.str()
<cctype>
    isalpha, isalnum, isblank, isdigit, islower, isupper, isxdigit
    tolower, toupper, использование совместно с transform
<deque>
<queue>: priority_queue
<tuple>: pair, make_pair, .first/.second; tuple, make_tuple, get<#>();
Лексикографическое сравнение
<map>, <set>
    map, сортированность ключей
    [key]= vs at, for (auto kv : mapa) { }
    count, erase
    set, insert
<unordered_set>, <unordered_map>
    std::hash<T>::operator()
<algorithm>
    min, max, minmax, max_element, min_element
    sort, предикат с tie, stable_sort, is_sorted
    sort/iota + next_permutation
    unique/remove/remove_if + .erase
    reverse
    fill, copy, copy_n, <iterator>: back_inserter, istream_iterator
    most vexing parse
    find, find_if, count, count_if
    search
    includes, set_union, set_intersection, set_difference, set_symmetric_difference
    lower_bound/upper_bound
<iterator>: begin(cont), end(cont), size(cont)
<numeric>: accumulate, partial_sum, iota
<cmath>
    hypot, atan2, pi = atan(1) * 4
    round, floor, ceil
    abs
<complex>
<limits>: numeric_limits<int>::max()
<random>
<utility>: swap
<bitset>
<chrono>: std::chrono::high_resolution_clock::now()
<functional>
Compiler-specific: __builtin_popcount, __builtin_clz, __builtin_ctz, __gcd, __int128


Объяснения к каждому пункту под катом. Соавтор — udpn. Большинство примеров кода любезно предоставлены Evil_Stivie.

Еще вас могут заинтересовать:
Лексика решений TopCoder
Гримуар C++


Collapse )

Продолжение в части 2.

Ежегодных контестов псто 2018

Ya.Algo

11 фев 20:00 МСК
Разминочный раунд (1 ч 40 мин), проходят все, решившие хотя бы одну задачу
17 фев 00:00Квал (1 ч 40 мин виртуально из 48 часов), проходят все, решившие хотя бы одну задачу
3 мар 10:00
13 мар 21:00
8 апр 15:00
Раунды 1, 2, 3 (1 ч 40 мин), по баллам гран-при 30 и минимальному занятому месту: лучшие 256 (в прошлом году было 512) получают футболки, лучшие 25 проходят
5 мар 10:00
2 апр 10:00
Оптимизационный трек, раунды 1, 2 (по 7 дней), одна оптимизационная задача, 128 футболок, призы 100-70-50 круб
16 мар 19:00Machine Learning трек (31 день), 128 футболок, призы 100-70-50 круб
19 майФинал (СПб), призы 300-150-90 круб


VK Cup
Для участников 14-23 лет.

24 фев 18:35 МСК
2 мар 18:35 МСК
Квал 1, 2 (сутки), проходят по 500
10 мар 18:35Раунд 1 (2 ч), проходят 400
17 мар 18:35Уайлд-кард раунд 1 (2 ч), проходит еще 50
24 мар 18:35Раунд 2 (2 ч), проходят 100
19 апр 18:35Уайлд-кард раунд 2 (неделя), проходит еще 20
29 апр 18:35Раунд 3 (2 ч), проходят 20
TBDФинал


Google Code Jam
Вместо сабмита выходного файла с этого года в качестве решений принимается код программы на C, C++, Python, Java, Bash или Go.

6 апр 23:00 UTCКвал (27 часов), проходят все, набравшие некоторое количество баллов
14 апр 01:00
29 апр 16:00
5 май 09:00
Раунд 1A, 1B, 1C (2.5h), проходят по 1500 (было 1000) из каждого
19 май 14:00Раунд 2, проходит 1000 (было 500) и получают футболки
9 июн 14:00Раунд 3, проходит 25
10 авгФинал (Торонто), призы $15k-$2k-$1k


TopCoder Open
Из первых двух раундов убрали субраунд C.

22 апр 04:00 МСК
3 май 14:00 МСК
Квал 1A, 1B, до 2500 участников в каждом, проходит по 750 + топ250 по рейтингу
2 июн 19:00
14 июн 18:00
Раунд 2A, 2B, проходит по 200 (было 40)
7 июл 19:00
20 июл 04:00
Раунд 3A, 3B, проходит по 50 (было 5), футболки всем участникам
28 июл 19:00Раунд 4, проходит 14
25 авг 19:00Online Wildcard, проходит 2
Для прохода в Wildcard, надо войти в топ10 на одном из региональных онсайтов, которые TBD
TBDФинал, призы $10k-$1.5k-$0.5k


Facebook Hacker Cup

6 июл 17:00 UTCКвал, 72ч, проходят все, решившие хотя бы одну задачу
21 июл 17:00 UTCРаунд 1, 24ч, проходят все с 35+ баллами
4 авг 17:00 UTCРаунд 2, 3ч, топ500 получает футболки, топ200 проходит
18 авг 17:00 UTCРаунд 3, 3ч, топ25 проходит
25-27 октФинал


ICFPC: 20 июл 16:00 UTC

Internet Problem Solving Contest: 6 окт 15:00 UTC

Russian Code Cup Mail.Ru Cup
Похоже, Mail.Ru стало не по карману проведение традиционно одного из самых интересных (благодаря питерским проблемсеттерам) ежегодных контестов, но из них сумели выбить урезанную версию на платформе Codeforces, без финала и со 100 футболками вместо 600. 6 победителей считаются по сумме «гран-при 100» баллов за 2 лучших раунда из 3 открытых rated раундов.

18 окт 19:35 МСК
10 ноя 17:35
25 ноя 19:35
Раунд 1, 2, 3 (2 ч 30 мин)

Гайд по триатлону: CTF, часть 1/2

В этом посте я расскажу про одну из дисциплин триатлона — соревнования по информационной безопасности CTF. CTF расшифровывается как Capture The Flag. Изначально соревнования такого рода представляли собой противоборство двух команд, каждая из которых пыталась взломать сервера другой и не допустить взлома своих, поддерживая, тем не менее, их доступность. Этот формат многим (включая меня) не нравится. Я предпочитаю формат Jeopardy, похожий на одноименную игру («Своя игра»): задачи различной стоимости разделены на несколько категорий, а положение команды вычисляется из суммы стоимостей решённых задач.

Традиционными категориями являются Cryptography, Web hack, Reversing, Forensics. В последнее время всё чаще на соревнованиях встречаются новые категории: Algorithms, похожая на алгоритмическое спортивное программирование, и Reconnaissance, про разведку по открытым источникам в интернете.

В процессе решения задачи, будь то взлом криптоалгоритма, реверсинг какого-нибудь запутанного бинарника или поиск нужного аккаунта в сети, участники находят флаги — короткие опознаваемые строки. Они отправляются автоматическому чекеру в качестве решения. Например, на описываемом контесте флаги имели вид abctf{s0m3th1ng_s1m1l4r}.

Чтобы проиллюстрировать, какого рода бывают задачи, я написал разбор (обычно называемый write-up) соревнования ABCTF, прошедшего в июле 2016. Оно ориентировано на школьников, не так давно интересующихся информационной безопасностью, поэтому значительная часть задач имеет образовательную ценность для новичков. К сожалению, сейчас сайт соревнования и многие из ссылок не работают.

Если вы заинтересовались темой, почитайте учебник от UFO CTF.
Список предстоящих соревнований


Collapse )

Разбор категорий Reconaissance, Programming, Web Exploitation, Reverse Engineering, Binary Exploitation в следующем посте

Заголовок окна AlReader2

Одна из лучших читалок fb2 AlReader2 лет 5 как не обновляется для десктопа. У нее есть недостаток, который мешает мне жить. Независимо от того, какой файл открыт, заголовок окна остается прежним, “AlReader2”. Это мешает увидеть на панели задач название книги и не дает понять в отчете хронофагуса, какую книгу я читал в определенное время и сколько времени это заняло. Поэтому я взял hex-редактор и исправил недоработку.

Collapse )