Для оценки качества диагностик анализатора C# кода PVS-Studio мы проверяем большое количество различных проектов. Т.к. проекты пишутся разными людьми в различных командах в разных компаниях, нам приходится сталкиваться с различными стилями, сокращениями, да и просто возможностями, которые предлагает язык C# программистам. В этой статье я хочу обзорно пройтись по некоторым моментам, которые предлагает нам замечательный язык C#, и по тем проблемам, на которые можно наткнуться при его использовании.
Архив за 15 июня 2016 - 7
Занимательный C#
2016-06-15 в 9:37, admin, рубрики: .net, C#, pvs-studio, Блог компании PVS-Studio, КомпиляторыГенерирование паролей к играм Road Rash 1 и 2
2016-06-15 в 9:35, admin, рубрики: Banana Prince, Nes, Road Rash, sega, АлгоритмыНедавно я увидел на Хабрахабре пост про Road Rash и мне стало интересно: «А как устроена система паролей в двух других частях?». Своими наблюдениями и результатом я хотел бы поделиться с вами в этой статье.
Первый Road Rash
Теория
Пароль состоит из 20 позиций, каждая позиция состоит из 5 битов, итого 20*5= 100 битов. Эти биты сохраняют данные игровые параметры:
- номер занятого места (0-15) на пяти разных трассах (0 означает, что на этой трассе ты ещё не ездил).
- количество очков (0-10485750)
- количество денег ((-83886070)-83886070)
- текущий уровень (1-5)
- мотоцикл (1-8)
Теперь посмотрим из чего состоит сырой пароль:
Читать полностью »
Machine Learning Boot Camp — как это было и как это будет
2016-06-15 в 9:29, admin, рубрики: machine learning, Machine Learning Boot Camp, mail.ru, ML Boot Camp, Алгоритмы, Блог компании Mail.Ru Group, машинное обучение, метки: Machine Learning Boot Camp, ML Boot Camp
13 июня стартовал ML Boot Camp — состязание по машинному обучению от Mail.Ru Group. В связи с этим мы хотим поделиться с вами впечатлениями о его предыдущем запуске, историями успеха победителей и рассказываем, что нового ждет участников в этом году.
Читать полностью »
Смартфон Vivo X7 оснастят фронтальной 16-мегапиксельной камерой с собственной вспышкой
2016-06-15 в 9:26, admin, рубрики: Новости, метки: новостиСудя по новому рекламному изображению, смартфон Vivo X7, который мы уже упоминали, получит хорошую фронтальную камеру.
OFFF 2016
2016-06-15 в 9:14, admin, рубрики: анимация, Блог компании Acronis, Inc, генеративное искусство, дизайн, фестивальOFFF — своеобразный фестиваль барселонских творцов — появился аж целых 16 лет назад, в 2000 году, а название расшифровывается как Online Flash Film Festival. Зачинщиком тусовки был испанский дизайнер и художник Héctor Ayuso. Сам Гектор называет OFFF не просто фестивалем, а своеобразным жизненным путём, который постоянно меняется и эволюционирует.
Фестиваль не о том, как работать и решать проблемы в процессах по инструкции. Он совершенно о противоположном — о том, как всегда любить, что ты делаешь, не стесняться быть открытым и не бояться ошибаться, пробуя новое.
Читать полностью »
Создатель Android: будущее мобильной сферы — это искусственный интеллект
2016-06-15 в 9:05, admin, рубрики: будущее здесь, искусственный интеллект, мобильная сфера, смартфоныНо это должен быть ИИ, обладающий сознанием
Энди Рубин, один из создателей ОС Android, часто делает предсказания о будущем технологий, и большинство предсказаний сбывается. Кроме того, над многими перспективными направлениями в разработке аппаратного и программного обеспечения он работал в прошлом. Эти направления практически всегда превращались из чисто концептуальных в реальные. Конечно, наиболее известным продуктом Рубина является ОС Android.
Сооснователем Android он стал еще в 2003 году, а уже в 2005 компания была продана Google. В результате производители смартфонов получили универсальную платформу, которую можно использовать на многих типах устройств. Через некоторое время это спровоцировало бурное развитие мобильной сферы. Сейчас Android обеспечивает функционирование многих тысяч девайсов, включая умные часы, телефоны, планшеты, телевизоры, фитнес-трекеры и разного рода IoT системы. Но что будет дальше? Каким должно быть будущее смартфонов? По мнению Рубина, будущее — это сильный искусственный интеллект, осознающий собственное существование.
Читать полностью »
Итоги Black Box Challenge
2016-06-15 в 9:04, admin, рубрики: artificial intelligence, big data, black box, challenge, kaggle, machine learning, Блог компании DCA (Data-Centric Alliance), искусственный интеллект, машинное обучение, Спортивное программированиеПривет! Три месяца назад мы объявили о старте соревнования по машинному обучению BlackBox Challenge, а недавно оно закончилось. В этом посте организаторы соревнования расскажут о том, как всё прошло.
Вдохновившись результатами Google DeepMind по reinforcement learning, мы поняли, как здорово, когда система не использует человеческую экспертизу, а сама учится понимать окружающую среду. Мы решили сделать соревнование, в котором участникам нужно создать как раз такую систему.
Читать полностью »
DotNext 2016: Между настоящим и будущим
2016-06-15 в 8:59, admin, рубрики: .net, .net core, ASP, ASP.NET, C#, dotnext, EPAM Systems, jetbrains, kaspersky lab, luxoft, Блог компании JUG.ru Group, дино эспозито, конференцияКак должна выглядеть .NET-конференция в 2016-м, когда в .NET-мире происходит тектонический сдвиг? Очевидно, что (ASP).NET Core очень сильно скажется на жизни разработчиков, но для большинства из них это произойдёт лишь спустя ощутимое время. О чём в таком случае рассказывать — масштабных новшествах, которые станут актуальны позже, или более привычных темах, которые важны здесь и сейчас?
Петербургский «Летний фестиваль разработчиков», состоящий из трёх конференций подряд, начался с DotNext 2016. Как там была разрешена возникшая дилемма, и как вообще прошёл DotNext? По снимку команды организаторов видно, что при всей хардкорности мероприятие не обошлось без летнего настроения, а все остальные подробности — под катом.
Samsung инвестирует в расширение производства памяти 3D NAND более 2 млрд долларов
2016-06-15 в 8:59, admin, рубрики: Новости, метки: новостиSamsung Electronics, как сообщает источник, намерена расширить производственные мощности по выпуску флэш-памяти 3D NAND. Для этих целей корейский гигант инвестирует около 2,13 млрд долларов.
Стоит отметить, что некоторые источники указывают сумму ровно на порядок больше, но первоисточник говорит именно о чуть более чем двух миллиардах долларов.
Все будет быстро. Это выступление Анатолия Левенчука, в последнее время не дает мне покоя. Успехи глубинного обучения в последний год говорят о том, что все очень быстро изменится. Слишком долго кричали волки-волки говорили «искусственный интеллект», а его все не было. И вот, когда он, наконец, приходит к нам, многие люди этого просто не осознают, думая, что все закончится очередной победой компьютера в очередной интеллектуальной игре. Очень многие люди, если не все человечество, окажется за бортом прогресса. И этот процесс уже запущен. Думаю, что в этот момент меня не очень будет интересовать вопрос, который вынесен в заголовок статьи. Но, пока этот момент еще не настал, попытаюсь поднять этот потенциально спорный вопрос.
Программируя уже более 25 лет, застал достаточно много различных концепций, что-то смог попробовать, еще больше не успел. Сейчас с интересом наблюдаю за языком Go, который можно отнести к продолжателям “линейки языков Вирта” — Algol-Pascal-Modula-Oberon. Одним из замечательных свойств этой цепочки является то, что каждый последующий язык становится проще предыдущего, но не менее мощным и выразительным.
Думаю, что всем понятно, чем хорош простой язык. Но все же приведу эти критерии, поскольку они будут всплывать позже:
- Простой язык быстрее изучается, значит проще получить необходимых разработчиков.
- Поддержка программы на более простом языке обычно проще (да, это интуитивное ощущение, которое нужно бы доказать, но я приму его сейчас за аксиому).
- У более простого языка проще развивать окружающую его инфраструктуру — переносить на разные платформы, создавать различные утилиты, генераторы, парсеры и т.п.
Почему же тогда существуют сложные языки? Все дело в выразительности. Если какая-то конструкция позволяет коротко описать необходимое действие, то это вполне может окупить негативные стороны усложнения языка.
Читать полностью »