Как стать автором
Обновить
20
0
Юрий Сыровецкий @cblp

говорящий с машинами

Эксперименты с тиграми и другие способы преподавать программирование студентам, которым скучно

Время на прочтение 16 мин
Количество просмотров 14K
image

Привет, Хабр! Я Маша, старший инженер-разработчик iOS в КРОК и аспирант на кафедре Прикладной математики и Искусственного интеллекта в московском вузе. А еще я уже четыре года преподаю. Два года назад мы с коллегами с кафедры, преимущественно аспирантами, основали кружок спортивного программирования, который вырос в большое IT-коммьюнити в стенах универа, где мы делимся разного рода знаниями со студентами.

В рамках этой затеи мы решили улучшить процессы обучения дисциплинам Computer Science (до чего дотянулись). К нему у всех уже было много вопросов.

Первый ужас я испытала на первом же занятии со студентами. Одна группа не могла привести ДНФ в КНФ, другая — не смогла даже общим усилием воли вспомнить таблицу истинности для конъюнкции и дизъюнкции. Третья — не понимала как программно устроены списки (это у нас проходят годом ранее). А потом я вспомнила себя — про мой курс преподы говорили то же самое. И про курсы до нас, и про курсы после меня. И школьную учительницу Ольгу Николаевну вспомнила: «В этом году класс еще слабее, чем в прошлом — если так пойдет и дальше, вернемся к жизни на деревьях!». В школе мне казалось, что это такой изощренный педагогический прием, который должен подхлестнуть нас учиться усерднее чтобы «доказать, что мы лучше чем кажется». Ошибалась.

Решили мы с коллегами порефлексировать — а почему так происходит? Результаты, наши грабли и опасные эксперименты с тигром под катом!
Читать дальше →
Всего голосов 77: ↑71 и ↓6 +65
Комментарии 126

Чем плох GNU make?

Время на прочтение 16 мин
Количество просмотров 26K
GNU make — широко известная утилита для автоматической сборки проектов. В мире UNIX она является стандартом де-факто для этой задачи. Являясь не такой популярной среди Windows-разработчиков, тем не менее, привела к появлению таких аналогов, как nmake от Microsoft.

Однако, несмотря на свою популярность, make — во многом ущербный инструмент.
Читать дальше →
Всего голосов 120: ↑104 и ↓16 +88
Комментарии 84

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Время на прочтение 14 мин
Количество просмотров 1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →
Всего голосов 234: ↑231 и ↓3 +228
Комментарии 138

Перевод: Один год с Go

Время на прочтение 6 мин
Количество просмотров 51K
Под катом — перевод статьи опытного разработчика о его опыте практического применения Go. Важно — мнение переводчика может не совпадать с мнением автора статьи.



почитать что он там пишет
Всего голосов 110: ↑100 и ↓10 +90
Комментарии 304

Опыт переезда в Германию системным администратором

Время на прочтение 10 мин
Количество просмотров 36K
В интернете можно найти множество статей касающихся преимущественно программистов и их опыта переезда в Германию, но практически нет таковых про системных администраторов. При этом работа системного администратора (и поиск её) обладают своей спецификой, к тому же я за последние полгода смог наступить на целый ряд граблей, о которых тоже полезно было бы знать заранее. Собственно, об этом я и хотел бы рассказать в данной статье.

Прошу прощения, что публикую в не совсем профильный «Государство и IT», потому что более подходящего хаба на данный момент нет, а при попытке опубликовать в песочницу на GeekTimes, попросили опубликовать здесь.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 18

λ-исчисление. Часть первая: история и теория

Время на прочтение 6 мин
Количество просмотров 153K
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

UPD: в текст внесены некоторые изменения с целью сделать его более понятным. Смысловая составляющая осталась прежней.

Вступление


Возможно, у этой системы найдутся приложения не только
в роли логического исчисления. (Алонзо Чёрч, 1932)


Вообще говоря, лямбда-исчисление не относится к предметам, которые «должен знать каждый уважающий себя программист». Это такая теоретическая штука, изучение которой необходимо, когда вы собираетесь заняться исследованием систем типов или хотите создать свой функциональный язык программирования. Тем не менее, если у вас есть желание разобраться в том, что лежит в основе Haskell, ML и им подобных, «сдвинуть точку сборки» на написание кода или просто расширить свой кругозор, то прошу под кат.
Читать дальше →
Всего голосов 64: ↑54 и ↓10 +44
Комментарии 34

Функциональное программирование для всех

Время на прочтение 33 мин
Количество просмотров 350K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Всего голосов 188: ↑181 и ↓7 +174
Комментарии 151

Эволюция веб-приложений

Время на прочтение 7 мин
Количество просмотров 26K
Всем прикольно пообсуждать «всё новое хреновое», и последние пару лет мы увлечённо обсуждали и пробовали NoSQL/NewSQL на сервере и Angular/Knockout/Ember на клиенте. Но эти тренды, похоже, уже на излёте. Отличный момент, чтобы присесть и поразмыслить, что же дальше. Как сказал M. Andreessen, «software is eating the world». В то же время, mobile/web apps едят обычные приложения. Поэтому особенно интересно прикинуть, а куда же всё катится в мире мобильных и веб-приложений? Ведь они, получается, едят вообще всех. Я считаю, что следующей Большой Темой будет синхронизация данных, и вот почему.
синхронистки
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 8

Полнометражный документальный фильм о демосцене: The Art Of The Algorithms

Время на прочтение 1 мин
Количество просмотров 3.7K
Не так давно увидел свет еще один документальный фильм о демосцене под названием «The Art Of The Algorithms».



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

Главная страница фильма: Moleman 2. На ней можно скачать фильм в различных форматах с помощью торрента/HTTP/FTP.
Всего голосов 52: ↑50 и ↓2 +48
Комментарии 11

Бюджетный неттоп в качестве HTPC

Время на прочтение 5 мин
Количество просмотров 59K
У каждого любителя посмотреть хорошее и качественное кино несомненно встает вопрос: как и чем это кино воспроизводить. Сейчас на рынке присутствует огромное количество мультимедийных плееров разной ценовой категории, с разным дизайном, количеством поддерживаемых форматов и других “плюшек” в виде встроенного торрент-клиента и т.д. Но, как правило, достойные плееры выходят за рамки бюджетных устройств и при этом всем они все же не отличаются гибкостью в настройке системы. Но как же тогда поступить? Мы плавно подошли к разговору о HTPC.


Читать дальше →
Всего голосов 49: ↑44 и ↓5 +39
Комментарии 98

Что стоит за номером «кредитки»

Время на прочтение 1 мин
Количество просмотров 7.7K
Прежде всего о терминологии. То, что в России часто называют кредиткой — является банковской (чаще всего) платёжной картой. Карты выпускать может не только банк. Карты могут быть не только кредитные. Вобщем, теорию вы и сами сможете найти.

А теперь, собственно, инфографика о том, как устроены номера банковски карт (600*1800px 280KB):

Читать дальше →
Всего голосов 147: ↑135 и ↓12 +123
Комментарии 84

История Linux. Вкратце о главном

Время на прочтение 11 мин
Количество просмотров 61K
Корни Linux прослеживаются ещё с 70-х годов 20-го века. Точкой отсчёта можно считать появление операционной системы Unix в 1969-м году в США в фирме Bell Laboratories, дочернем подразделении компании AT&T. Unix стала основной для большого количества операционных систем промышленного класса. Самые основные из них отображены на этой временной шкале:


Читать дальше →
Всего голосов 355: ↑327 и ↓28 +299
Комментарии 202

NAS i-Stor iS607. Доработать напильником

Время на прочтение 8 мин
Количество просмотров 20K
Купившись на краткий обзор i-Stor iS607 и его миленькую мордочку, на прошлой неделе я его приобрел. Чувства двоякие. С одной стороны оно работает, но какой ценой, господа. Кажется, я теперь могу идти админить Linux сервера.

* NAS, или Network Attached Storage, — это такая коробочка с винтом, которая подключается к сети и тихо выполняет функции файлсервера и торенткачалки стоя в углу. Лучше специальных серверов по следующим параметрам: конечно же цена, размер, энергопотребление.

Коротко.


Стоит ли покупать?
Нет, если вы не гуру линуксоид и/или не любите стучать головой об стену.

Минусы.
  • Стандартная прошивка iS607 умеет только… да ничего не умеет
  • Нестандартную прошивку надо еще найти и умудриться поставить правильную
  • Техподдержки для iS607 нет как класса, 95% информации в интернете устарело и тупо не работает
  • Нужно знать Linux, чтобы хоть как-то привести его в рабочее состояние
  • Судя по форумам, с половиной винтов iS607 не дружит
  • Также, с половиной маршрутизаторов
  • Довольно слаб
  • Имеет еще кучу (порой странных и непонятных) глюков

Плюсы.
  • Симпатяжка
  • Работает


image
* Нагло тырю картинку из того же топика

В этом посте я хочу собрать свой опыт настройки i-Stor iS607. Ибо в интернете информации весьма мало и мне пришлось перечитать вообще все, чтобы чего-то хоть добиться. Чтобы облегчить путь братьям Хабравчанам (хоть я и не сомневаюсь, что большинство из вас успешно завершили бы этот квест самостоятельно и вероятно быстрее меня), публикую инструкцию в одном месте.
Читать дальше →
Всего голосов 77: ↑70 и ↓7 +63
Комментарии 63

OAuth: описание протокола простым и понятным языком

Время на прочтение 16 мин
Количество просмотров 188K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Всего голосов 134: ↑124 и ↓10 +114
Комментарии 34

Ванька (по Чехову)

Время на прочтение 5 мин
Количество просмотров 966
Ванька Жуков, девятнадцатилетний веб-девелопер, устроившийся три месяца тому назад в столичное интернет-агентство, в ночь под выход новой версии Ubuntu не ложился спать. Дождавшись, когда тех. директор и менеджеры ушли на совещание, он достал из-под стола сотовый телефон, USB-кабель, мышку с заедающим шариком и, разложив перед собой обшарпанный ноутбук, стал набирать. Прежде чем нажать первую клавишу, он несколько раз пугливо оглянулся на двери и окна, покосился на портрет Артемия Андреевича, по обе стороны которого тянулись полки с «атмарками», и прерывисто вздохнул. Ноутбук лежал на офисном кресле, а сам он стоял перед креслом на коленях.

Читать дальше →
Всего голосов 140: ↑128 и ↓12 +116
Комментарии 52

Задачи для собеседования

Время на прочтение 3 мин
Количество просмотров 4.3K
Я иногда провожу интервью кандидатов на работу. Помимо определения профессиональных навыков кандитата в мои обязанности входит «погонять человека по задачкам».

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

Читать дальше →
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 94

5 уроков, которые я извлек из создания своих онлайн сервисов

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

Сделал часть фич — залей на сайт, пусть друзья (первые пользователи) потестирует, посмотри что они скажут.

Первые релизы будут пробой пера, ты будешь искать что работает, а что нет, что хорошо, а что не очень. Поэтому уделяй меньше времени красоте кода и стройности базы данных и больше новым фичам, новым возможностям.
Читать дальше →
Всего голосов 66: ↑62 и ↓4 +58
Комментарии 48

Subversion: чеклист по правильным коммитам

Время на прочтение 5 мин
Количество просмотров 4.1K
Предполагаем, что читатель: а) работает в коллективе; и б) осознал необходимость правильной работы с системами контроля версий или хотя бы поставлен перед необходимостью использовать таковую.

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

Грубо разделим фазы разработки проекта на три — дебют, миттельшпиль и эндшпиль.

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

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

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

Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Комментарии 59

Улучшаем новый Gmail

Время на прочтение 3 мин
Количество просмотров 6.5K

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

Они будут работать в Chrome, Firefox с Greasemonkey или Safari с Ninjakit. Пользователи Chrome и Firefox могут установить стили как пользовательские скрипты со страниц стилей или с помощью Stylish для Chrome / Stylish для Firefox, которые предлагают установку в один клик. Те кто использую браузер Opera могут установить их как CSS или JavaScript со страницы стилей.
Читать дальше →
Всего голосов 70: ↑59 и ↓11 +48
Комментарии 46

Мой минимальный набор приложений для Android

Время на прочтение 3 мин
Количество просмотров 18K
Ехала я как-то с работы на прошлой неделе, сидела в инете со своего мобильного телефончика, и поняла, что хватит — пора бы коммуникатор приобрести. Особо ими никогда не интересовалась и не увлекалась. Вообщем, ничего особо и не знала. Зашла в первый попавшийся магазин и купила HTC Hero. Меня многие потом конечно ругали, что зачем Hero взяла, надо было Legend или Desire уже брать, ну и так далее, но так как это был мой первый коммуникатор, то мне и с Героем было с чем поразбираться и поиграться.
Вот хочу опубликовать мой набор программок, которые сейчас стоят у меня на HTC. Перепробовала много разных, и вот те которые мне понравились из представленных в разных категориях.
1. Так как я много сижу в интернете через gprs, то 3G Watchdog. Программа для контроля интернет-трафика, есть возможность установить лимит по трафику на определенный промежуток времени, при приближении к которому, программа выдаст предупреждение. Существуют виджеты.
Читать дальше →
Всего голосов 156: ↑99 и ↓57 +42
Комментарии 164

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность