Pull to refresh
46
0
Boris Nagaev @starius

User

Send message
CBC такая штука, что даже если в какой то блок внесут изменения, то уже через 1 блок всё нивелируется, толку от него немного. Давно пора использовать более совершенные режимы

Разобраться в трёх режимах (CBC, OFB, CFB) мне помогла статья на opennet.ru.
В итоге в Пандоре я перешёл с CBC на CFB.
я пытался вникнуть в то, чем его ГитХаб не утраивает. Но его ответ в этом интервью очень «обтекаемый».

В 2012 году он написал вот что о ГитХабе: github.com/torvalds/linux/pull/17#issuecomment-56546747
Был недоволен что гибхаб выбрасывает нужную информацию, адрес электронной почты, и тем как работает diffstat (бесполезен — его словами).

Безымянные namespace нужны, чтобы символы не «торчали» наружу этого модуля трансляции.
Для этой же цели можно использовать ключевое слово static. Однако, у него есть еще несколько значений, поэтому рекомендуется все-таки использовать безымянные namespace.
UFO landed and left these words here
Компьютер может помочь в случае, если задача сводится к большому, но конечному числу вариантов. Как в решении проблемы четырех красок, доказательство которого не проверить вручную. Но такие случаи — редкость.
Если человек не может доказать, что сумма углов треугольника = 180, то компьютер не сможет помочь, так как не в состоянии перебрать все возможные треугольники.
В 2010 году работал в одно большой компании предоставляющей интернет в 37 городах России (в данный момент куплен МТС). Мы общались с подобными ребятами, но в тот момент не стали с ними сотрудничать. Ставится сервер — стойка серверов, на который зеркалируется весь трафик пользователей. Им не нужно было заходить на страницу после, они и так всё знали о пользователе из зеркала его трафика. Имея так же улицы присутствия провайдера реклама могла быть адресна вплоть до дома абонемента. Эту самую рекламу они могли вставлять вместо рекламы Googlе и Яндекс незаметным для пользователя образом (т.е. пользователь не знал что за ним следят так ещё и часть его контента на странице меняют). В общем тогда мы не стали с ними сотрудничать.

В 2011 у меня бы опыт общения с другими товарищами которые по подобной схеме для больших корпораций делают сканеры безопасности. Когда например кто-то решает послать корпоративные данные на «лево» не по корпоративной почте — из письма вырезалась служебная информация (на основании отпечатка из других корпоративных документов из базы корпоративных документов компании), а на пользователя приходил весь лог его страниц службе безопасности — куда ходил и что смотрел.

Суть в чём — название фирм я слышал в первый и последний раз (так же как никто не знает изготовителя кожи для Rolls-Royce), но технологии реальны и так как они построены на зеркалировании трафика — вычислить о слежении в половине случаев не возможно. Правда это всё для HTTP, но много ли сайтов работающих по HTTPS с шифрованием трафика?
Отвлечемся от интернета.
Представьте, что вы, DarkVedmakl, с женой разговариваете на кухне на тему политической обстановке в стране, а вместе с вами на кухне находится человек в неприметном сером костюме с блокнотом в руках. Он слушает, что вы говорите и записывает ваши особо выдающиеся фразы, а иногда еще и фотографирует, если вы что-то показываете в духе похлопывания ладонью одной руки по кулаку другой.
А теперь еще представьте, что этот человек ходит за вами везде. Ну просто везде, вплоть до душевой. Разумеется, с блокнотиком.

Как вам такой расклад?
Сообщество анонимных пользователей анонимных сетей:
Здравствуйте, я заходил на гитхаб через тор, когда его банили. Раньше я лишь пробовал легкие анонимайзеры, но когда ресурсы начали банить подменой сертификата я перешел на Tor. Теперь я социальный отброс и опасная личность. Вот другое дело если бы я как нормальные люди — пиво бы пил в подъезде! Чтож я за человек такой, почему я не как все нормальные, как я докатился до такого дна!?
UFO landed and left these words here
Нельзя человека обучить ничему пока он сам не захочет. Можно ему показывать языки (продвинутые с точки зрения кого либо, и абсолютно неинтересные с точки зрения других), какие то программы на них, изящные подходы к решению каких то задач — а он просто спросит «а зачем мне все это? я ем, сплю, работаю, отдыхаю, нахрена мне эта муть нужна?».

Поэтому надо начинать не с языка, а сразу с конечной цели — «зачем» (под пк, под мобилы, для интернета, для контроллеров). А потом уже выбирать для желаемого направления язык. И то не факт, что обучаемый в процессе освоения не попробует перепрыгнуть на другой язык (если изначально будет выбран труднопонимаемый язык) или не забросит вообще это дело.
Прошу прощения, если повторю кого-то.

Мне кажется, вопрос надо ставить не «Какой язык лучше?», а " А что нам, собственно, нужно?".

Если Вы хотите дать в короткие сроки хорошую алгоритмическую базу своему подавану, то, несомненно, Python, поскольку там есть мало вещей, которые будут отнимать у вас время («А что значит static? А void?», «А что значит звездочка перед переменной?»).

Если Вы хотите по-олдскульному не уходить далеко от машинной архитектуры (относительно), то это Си.

Если Вы хотите попробовать начать обучение программированию сразу с ООП (кажется, Дрейер выпустил книгу по C# для детей), то Java.

Ну а если Вы хотите просто заинтересовать его, и не важно, станет ли он программистом или нет, то тогда… JavaScript. Причины Вы сами описали в статье. (господи, пальцы аж не слушались:D)

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


Вы заблуждаетесь. Это не современный язык. Javascript это самый отстойный язык программирования за всю историю программирования. Он практически не развивается. Сколько лет вы будете ждать еще Ecmascript 6? Уже 5 лет прошло с Ecmascript 6, за это время были созданы куча языков, вышло куча новых версий языков тех же языков. Даже Java за три года умудрились выпустить новую версию хоть с каким-то набором новых фич, а это самые слоупоки.

Javascript изначально задумывался как скриптовый язык для маленьких целей. Его синтаксис упорот, все концепции в нем упороты. Есть over 50 языков, которые компилируется в JS. Людям с мозгами поручили писать код на JS, и их глаза истекали кровью. Есть Cofeescript, который ничего не привносит в JS, кроме нормального синтаксиса. Есть Typescript, который ничего не привносит в JS, кроме типизации. Есть еще куча языков, которые делают возможным нормальное программирование на фронтенде.

Если вы пишете на Javascript, то вы будете иметь дело с HTML/CSS, для которых все вышесказанное верно (создавались для одних целей, выросли в нечто другое, legacy не дает нормально писать приложения). Он не подходит для целей обучения.

О, и еще плюс — вы не сможете написать нормального приложения на Javascript. Он не предназначен для написания больших полноценных приложений. Там нету мультипоточности (но есть малоподдерживаемые костыли типа Background workers), там как-бы есть асинхронность (но она упоротая), там нету типизации, там нету возможности управления памятью. Вы не сможете написать быстрое приложение на javascript, потому что это интерпретируемый язык. И никакой V8 вам не поможет сравниться со скоростью C/C++/Java/C#. Т.е. смысла его изучать нету — ну кроме как создавать «приложения» типа очередного бложика.

И зачем этим пичкать людей? Для старта есть языки получше. Опять же, тот же python.
Типовое хипстерство докера — если оно работает на лаптопе разработчика, значит оно готово к продакшену. No thinking required.
Наш мир, сам по себе, императивен
А вот народная мудрость с вами не согласна
В одну реку нельзя войти дважды
Зачем ему думать переменными и циклами, если в функциональном программировании он не будет писать ни переменных, ни циклов?

Вот по себе замечаю: я всё еще продолжаю думать циклами и прочим императивным образом, хотя всё это ненужно. Просто потому, что годами забивал себе этим голову. Это как первый выученный в детстве естественный язык — я выучил русский, и теперь даже говоря по-английски, я все еще частью мозга думаю по-русски. Страшно тяжело выбросить эту привычку.

И еще тяжелее побороть эту привычку у окружающих людей, которые куда как меньше настроены учиться. «Я всю жизнь вот так писал, зачем мне писать по-другому?» Никакие плюсы декларативного программирования не будут достаточно большими для человека, уже имеющего плюшку «я умею писать императивно».

Вот поэтому и нужно начинать писать на функциональном языке, думать сразу алгоритмами, а не их воплощениями. Я бы очень хотел, чтобы кто-нибудь в детстве, лет в 16, меня этому научил. Возможно, я стал бы куда более хорошим программистом.
Человек живёт в императивном мире, мыслит императивно и действует императивно.

В это утверждении фактическая ошибка. Не все процессы в мире императивны и не всегда мы думаем «берём каждую бумагу, проверяем дату и подписываем». Иногда нужно просто «подписать все бумаги». Для большого количества задач ФП не уложняет работу, а упрощает её за счёт более высоких абстракций. И возможность не усложнять эти задачи деталями реализации — это и есть KISS.
Железо императивно по своей природе, да. Но это ли повод делать языки императивными? Мне всегда кажется, что такой подход и есть ни что иное, как «человек для компьютера». Когда мне нужно проверить, что два документа равны, меня, чёрт возьми, интересует, что эквивалентны все его составляющие. В реальных задачах нет регистров, указателей и другой мутотени, связанной сугубо с реализацией. И если без этих деталей можно обойтись — то стоит их опустить, ибо к задаче они никакого отношения не имеют.
Если честно, я просто в экстатическом восторге от того, что по мере развития технологий — инструментарий дорастает до того уровня, когда генератор идеи, после не слишком утомительного обучения, путем компоновки кубиков Лего способен САМ донести свою идею до заинтересованной аудитории, не опасаясь потерь на этапе объяснения этой самой идеи еще кому-то.

Культура программирования и алгоритмика возникала не как самоцель, а как инструмент по контролю сложности и ограниченных ресурсов на сложных задачах. Не совсем понятно, почему она должна выходить из этой сферы.

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

Все ж таки задача программирования заключается в облегчении чьей-либо жизни)

Так что да — это, конечно забавный факт, что появилось много людей, создающих продукты, не обладая базовыми знаниями в computer science — но все-таки положительный.
С распространением идеи «научимся кодить!» и «кодинг это новая грамотность», программирование стало в глазах многих простым инструментом для решения мгновенных бизнес-задач и просто для казуального хобби-кодинга. И как бы нам это нравилось или не нравилось, правда в том, что многие люди намеренно не собираются и никогда не будут изучать алгоритмы и структуры данных, работу с памятью и архитектуру компьютера. Рассуждая примерно так: "есть графический редактор – на нем можно смастерить плакат, и не нужно изучать типографику, полиграфию и дизайн. И есть программирование (а лучше какой-нибудь готовый целевой IDE вроде Android Studio) – на нем можно смастерить приложение, и не нужно изучать информатику".

Мы, как образовательный проект, конечно же считаем что важно изучать основы (поэтому публикуем уроки по алгоритмам, операционным системам, СИКПу, протоколам и пр.). То предложение, которое вы процитировали, это рассуждения на тему того, что если к нам пришел человек, который хочет сделать игру на мобилке, а мы ему предлагаем начать с алгоритмов, то он, возможно, уйдет в другое место, где яркими буквами написано «мы научим делать игры на мобилки!!!». Стоит ли его завлекать и убеждать в важности фундаментальных основ? Может, он никогда и не мог стать настоящим программистом?

И честно – непонятно что произошло. Человек начинается непонятных туториалов, напишет игру (которая будет глючить и сильно жрать батарейку потому что алгоритм не эффективен) и будет доволен, другие люди будут играть и будут довольны, при этом никто так и не узнает, что такое двоичный поиск.

Information

Rating
Does not participate
Registered
Activity