avva: (moose)
avva ([personal profile] avva) wrote2013-05-28 12:44 pm

ссылки для программистов (англ.)

Немного из недавнего и накопившегося:

  • Learning to Program: What are the best sites for learning programming?

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


  • Data Compression Explained.

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


  • You Are Dangerously Bad At Cryptography.

    Отличная запись о том, почему опасно самому наивно использовать криптографические алгоритмы, с несколькими наглядными примерами.

    В дискуссии на HN есть тоже немало интересного. В частности, Томас Птачек напоминает, что его компания Matasano продолжает предлагать широкой публике Crypto Challenges - набор упражнений по прикладному криптоанализу, не требующих предварительных знаний в криптографии. Я сам не пытался пока делать Crypto Challenges, не нашел на это времени, но несколько моих знакомых, которым я доверяю, очень и очень их хвалят. Думаю, что всем, кому хочется больше знать в этой области, стоит попробовать.

[identity profile] blacklion.livejournal.com 2013-05-28 09:57 am (UTC)(link)
Каткое введение в основы сжатия данных и подробный обзор основных подходов и алгоритмов. Написано, по-моему, ясно и аккуратно, но несколько сжато

Вы это специально, да? :)

[identity profile] kray-zemli.livejournal.com 2013-05-28 10:43 am (UTC)(link)
Мне б кто научил программы под Windows писать, с этими его сраными BeginPaint'ами, CompatibleBitmap'ами и прочим ужасом.

[identity profile] 109518.livejournal.com 2013-05-28 11:51 am (UTC)(link)
Я после 10 лет веба заставил себя взятся за виндовс. Сначала с#, потом c/c++. Вначале было трудно, потом как то пошло. Но интерфейсы всё таки делаю на html пока :))

[identity profile] kray-zemli.livejournal.com 2013-05-28 12:03 pm (UTC)(link)
через встроенный в прогу веб-сервер чтоли?

[identity profile] 109518.livejournal.com 2013-05-28 12:43 pm (UTC)(link)
System.Windows.Form.Webbrowser и немного javascript'а

[identity profile] asox.livejournal.com 2013-05-28 12:08 pm (UTC)(link)
MFC сразу учите. ;))
(Хотя сам периодически пытаюсь WinApi освоить...)

[identity profile] kray-zemli.livejournal.com 2013-05-28 12:16 pm (UTC)(link)
раньше был owl, сейчас вот mfc. А что нового он даёт? А то раньше ООП часто ругали за то, что его пихают куда надо и куда не надо.

[identity profile] migmit.livejournal.com 2013-05-28 12:30 pm (UTC)(link)
MFC - это уже не "сейчас".

Но я, кстати, тоже предпочитаю встроенный веб-сервер и гуй в браузере.

(no subject)

[identity profile] kray-zemli.livejournal.com - 2013-05-28 12:47 (UTC) - Expand

[identity profile] asox.livejournal.com 2013-05-28 06:54 pm (UTC)(link)
раньше был owl, сейчас вот mfc.

owl не "раньше" - они практически одновременно появились.
owl - как я понимаю, это TurboVision, портированный под винду.

А что нового он даёт?

Всякие beginPaint / endPaint прячутся - создали некий объект - вот оно и появилось на картинке. ;))
А native WinApi - слишко низкоуровневый, мелочный. В результате "красиво" организовать код на нём практически невозможно - хотя ООП как-бы напрашивается под него.

P.S. А вообще, программу надо писать в духе MVC (http://ru.wikipedia.org/wiki/Model-View-Controller).

[identity profile] asox.livejournal.com 2013-05-28 06:43 pm (UTC)(link)
Ежели Qt - то нафига тогда винда?
Можно вообще питон, осамл или хаскель изучать - там вообще, небось, пофик.

[identity profile] evgeniya-nice.livejournal.com 2013-05-28 10:46 am (UTC)(link)
Никто тут не пробовал Crypto Challenges? Интересны впечатления.

[identity profile] meshko.livejournal.com 2013-05-28 01:03 pm (UTC)(link)
Я им написал, мне не ответили.

[identity profile] avva.livejournal.com 2013-05-28 10:18 pm (UTC)(link)
Напишите еще раз. Кто-то, кого я знаю, не получил ответа пару недель назад, написал еще раз сегодня и получил ответ сегодня. Может, они упустили случайно какую-то часть писем или не выдерживали нагрузки.

[identity profile] efix.livejournal.com 2013-05-28 02:53 pm (UTC)(link)
Я написал, они прислали письмо с первой порцией из 8 заданий. Сказали будут вопросы -- пиши.
На середине у меня возник вопрос. Я им написал, а они так и не ответили. Уже около месяца прошло.

[identity profile] ilya-dogolazky.livejournal.com 2013-05-28 10:28 pm (UTC)(link)
можете мне свой вопрос задать ;)
[маилто: имя.фамилия@гмейл.ком, а то вроде они просили не перетирать прямо в жежешечке]
Edited 2013-05-28 22:29 (UTC)

[identity profile] trueblacker.livejournal.com 2013-05-28 11:15 am (UTC)(link)
>Отличная запись о том, почему опасно самому наивно использовать криптографические алгоритмы, с несколькими наглядными примерами.

с довольно возмутительным ампломбом, выдающем "человека-не-в-теме" в самом же начале:

>The user makes API requests over HTTP/HTTPS (it doesn't matter).

it DOES.
Я не перестаю поражаться повсеместному игнорированию clientAuth в SSL/TLS.
Ну т.е. я понимаю, что "он имел в виду особый случай", но это довольно странный способ изложения проблемы, кмк.
cat_mucius: (Default)

[personal profile] cat_mucius 2013-05-28 12:11 pm (UTC)(link)
Я не перестаю поражаться повсеместному игнорированию clientAuth в SSL/TLS.

Вы имеете в виду использование клиентских сертификатов? Но в таком случае приведённая там схема с MAC-ом просто не нужна.

[identity profile] trueblacker.livejournal.com 2013-05-28 12:25 pm (UTC)(link)
именно так.
Но товарищ утверждает, что использование HTTPS ничего не меняет. Меняет и ещё как.

(no subject)

[personal profile] cat_mucius - 2013-05-28 12:37 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 12:53 (UTC) - Expand

(no subject)

[identity profile] cat mucius - 2013-05-28 17:20 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 18:14 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 12:57 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 13:09 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 13:11 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 13:12 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 13:14 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 13:19 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 13:25 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 13:31 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 13:46 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 13:51 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-28 23:43 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 17:01 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 00:01 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-29 07:19 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 07:24 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-29 07:31 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 07:46 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 16:38 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 17:01 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 17:12 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 19:08 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 19:15 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 00:06 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-29 07:26 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 07:45 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-29 07:58 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 08:36 (UTC) - Expand

(no subject)

[identity profile] cat mucius - 2013-05-29 09:49 (UTC) - Expand

(no subject)

[identity profile] asox.livejournal.com - 2013-05-28 18:47 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 19:19 (UTC) - Expand

[identity profile] meshko.livejournal.com 2013-05-28 01:08 pm (UTC)(link)
Да и вообще это "don't do crypto you'll fuck it up" уже набило оскомину. Сколько можно уже, за 30 лет можно было бы хотя бы для самых распространненых случаев придумать решения, которые Тупые Разработчики моглы бы использовать сами.

[identity profile] trueblacker.livejournal.com 2013-05-28 01:21 pm (UTC)(link)
30 лет - большой срок. За это время и криптоалгоритм сломать можно. В частности, DES 30 лет назад был вполне ещё торт.

[identity profile] huzhepidarasa.livejournal.com 2013-05-28 06:54 pm (UTC)(link)
Придумали, называется TLS ;)

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 19:07 (UTC) - Expand

(no subject)

[personal profile] cat_mucius - 2013-05-28 19:25 (UTC) - Expand

(no subject)

[identity profile] meshko.livejournal.com - 2013-05-28 20:27 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 00:31 (UTC) - Expand

(no subject)

[identity profile] trueblacker.livejournal.com - 2013-05-29 00:24 (UTC) - Expand
cat_mucius: (Default)

[personal profile] cat_mucius 2013-05-28 12:06 pm (UTC)(link)
Классный пост про криптографию - правда, мне там прежде всего бросилось в глаза, что все три приведённые схемы подвержены replay attack. :-)

[identity profile] ilya-dogolazky.livejournal.com 2013-05-28 10:22 pm (UTC)(link)
Что-то мне кажется эти Матасаны совершенно таки не читают решения, слишком быстро присылают следующую пачку задач. Может они конечно читают вывод программы, это я пожалуй в следующей пачке проверю, наверное надо разбавить ихние дурацкие стишки Евгением Онегиным. В общем придётся сердечник электромагнита изготовить из дубиния

[identity profile] spamsink.livejournal.com 2013-05-30 04:53 am (UTC)(link)
Матт Махони молодец!