Продолжу рассказы о том, как программисты ходят по краю, даже не подозревая об этом. Поговорим об операциях сдвига <<, >>. Принципы работы операторов сдвига очевидны и многие программисты даже не знают, что их использование согласно стандарту Си/Си++ может приводить к неопределенному или к неуточненному поведению (undefined behaviour/unspecified behavior).
Читать полностью »
Архив за 11 апреля 2012 - 4
Не зная брода, не лезь в воду. Часть третья
2012-04-11 в 11:34, admin, рубрики: c plus plus, c++, c++11, pvs-studio, битовые операции, Компиляторы, метки: c plus plus, c++, c++11, pvs-studio, битовые операцииРусско-немецкая студенческая школа JASS-2012. Впечатления
2012-04-11 в 11:27, admin, рубрики: CS Center, CS Club, академический университет, мобильная разработка, учебный процесс, Учебный процесс в IT, метки: CS Center, CS Club, академический университет, мобильная разработка, учебный процесс Доброго времени суток, уважаемые читатели.
Сегодня будет рассказ о прошедшей в марте международной студенческой школе JASS. Текст поста я готовил совместно со своим другом, который тоже в ней участвовал.
В начале февраля мы узнали про возможность поучаствовать в международной русско-немецкой школе для студентов JASS-2012 (Joint Advanced Student School), которая проводится у нас в городе вот уже в восьмой раз. Об этом нам рассказал Александр Куликов — координатор Computer Science Центра (студентами которого мы являемся, также эта новая площадка для обучения уже упоминалась в одной из заметок на Хабре), преподаватель СПбАУ НОЦТН РАН и ПОМИ и просто очень талантливый и увлеченный своим делом человек. Школа состояла из двух тематических курсов — курса по эффективным алгоритмам для работы над строками (Design of Efficient String Algorithms) и разработки современных мобильных приложений (Usability Engineering & Ubiquitous Computing on mobile devices).
Читать полностью »
Русско-немецкая студенческая школы JASS-2012. Впечатления
2012-04-11 в 11:27, admin, рубрики: CS Center, CS Club, академический университет, мобильная разработка, учебный процесс, Учебный процесс в IT, метки: CS Center, CS Club, академический университет, мобильная разработка, учебный процесс Доброго времени суток, уважаемые читатели.
Сегодня будет рассказ о прошедшей в марте международной студенческой школе JASS. Текст поста я готовил совместно со своим другом, который тоже в ней участвовал.
В начале феврале мы узнали про возможность поучаствовать в международной русско-немецкой школе для студентов JASS-2012 (Joint Advanced Student School), которая проводится у нас в городе вот уже в восьмой раз. Об этом нам рассказал Александр Куликов — координатор Computer Science Центра (студентами которого мы являемся, также эта новая площадка для обучения уже упоминалась в одной из заметок на Хабре), преподаватель СПбАУ НОЦТН РАН и ПОМИ и просто очень талантливый и увлеченный своим делом человек. Школа состояла из двух тематических курсов — курса по эффективным алгоритмам для работы над строками (Design of Efficient String Algorithms) и разработки современных мобильных приложений (Usability Engineering & Ubiquitous Computing on mobile devices).
Читать полностью »
Информационные технологии и реформа диссертационной системы
2012-04-11 в 11:16, admin, рубрики: диссертации, образование, реформы, Учебный процесс в IT, электронное правительство, метки: диссертации, образование, реформыВАКханалия
В течение последних 5-6 лет в России полным ходом идет реформа системы подготовки научно-педагогических кадров высшей квалификации (т. е. аспирантов и докторантов). Одним из элементов этой реформы является обеспечение прозрачности процесса защиты диссертации. Казалось бы, сделано было много — но каков результат? Несмотря на все заявления чиновников от образования и науки, жизнь показывает, что говорить о каких-то положительных результатах вряд ли возможно. Авторефераты, размещаемые в Интернете, все равно почти никто не читает. Количество некачественных диссертаций не уменьшилось, а наоборот, увеличилось. Система «Антиплагиат», на внедрение которой были затрачены немалые суммы, не оправдала возлагаемых на нее надежд. Казалось бы: самое время одуматься, проанализировать допущенные ошибки и наметить пути их исправления. Но вместо этого реформаторы решаются на еще одну радикальную меру.
OpenStreetMap: три новых руководящих лицензионных соглашения
2012-04-11 в 11:10, admin, рубрики: DbCL, ODbL, OpenStreetMap, авторское право, Блог компании Pravo.ru, лицензия, метки: DbCL, ODbL, OpenStreetMap, авторское право, лицензия
TarzanASG обратился ко мне с просьбой проанализировать три новых руководящих лицензионных соглашения OSM (CT, ODbL и DbCL) и описать, как они соотносятся с невозможностью отчуждения права на имя.
Как всем известно OpenStreetMap заявила, что с апреля 2012г переходит с существующей лицензии Creative Commons CC-BY-SA 2.0 на лицензию Open Database License (ODbL) и Database Contents License (DbCL).
Причины данного перехода связаны, прежде всего, с тем, что Creative Commons CC-BY-SA 2.0 не могла полностью удовлетворять потребности при создании и распространении OpenStreetMap, так как Creative Commons CC-BY-SA 2.0 была единой лицензией на любые материалы (данные и сведения), размещаемые на OpenStreetMap.
Почему произошло такое разделение?
Как мы будем верстать, когда экраны станут многопиксельными, а пикселы еле разлечимыми
2012-04-11 в 10:46, admin, рубрики: css, ipad, браузеры, Веб-разработка, векторная графика, верстка, метки: iPad, векторная графика, версткаДанный пост не про конкретные решения по верстке сайтов в будущем, а сбор мнения хабрасообщества, как нам жить дальше.
Вопрос этот у меня возник не случайно. Есть интересный проект, заказчиками которого являются фанаты Айпадов и Айфонов. Им очень важно, чтобы сайт одинаково хорошо отображался и там и там. То есть ширина экрана плавает от 800 до 2000 пикселей в ширину.
Что нам делать с картинками в оформлении?
Да, сейчас все браузеры научились хорошо масштабировать сайты. Нажал Ctrl, покрутил скроллом, и твой сайт в том размере, как тебе удобно. Но если растровую картинку 30 на 80 пикселей увеличить в трое, красоты это не прибавит.
Мы в нашей рутинной работе верстальщиков уже привыкли к тому, что полностью зависим от пикселей. Мы все считаем в пикселях. Не важно, как мы встраиваем картину: в фоне или тегом Img.
Я вижу 2 принципиальных решения:
1. Использование разных файлов под конкретное разрешение, JS определяет размер экрана, предлагает определенный файл CSS, который в свою очередь подгружает нужные картинки.
2. Переход на векторную графику в оформлении сайта.
jQuery-плагин корзины интернет-магазина
2012-04-11 в 10:36, admin, рубрики: javascript, jquery, интернет-магазин, метки: javascript, jquery, интернет-магазин При разработке интернет-магазинов мне часто приходилось посредством javascript (а конкретнее его фреймворком — jQuery) проделывать некоторые повторяющиеся от проекта к проекту вещи. Например, добавление товаров в корзину, обновление информации о количестве товаров и общей сумме на странице, удаление товаров из корзины по одному, изменение их количества и полная очистка всех товаров из корзины. И все это, разумеется, без перезагрузки страницы.
И я пришел к выводу, что нужно писать код так, что бы потом его с легкостью можно было использовать в следующих проектах.
Читать полностью »
Серверное malware или зачем нужны ssh-логгеры
2012-04-11 в 10:20, admin, рубрики: freebsd, Malware, UNIX, безопасность, информационная безопасность, системное администрирование, метки: freebsd, Malware, unix, безопасность, системное администрирование Доброго времени суток. Хочу рассказать вам о полезности ssh-логгеров.
В качестве серверной системы я предпочитаю использовать FreeBSD. И, как правило, устанавливаю termlog – системная утилита для логгирования ssh-сессий всех пользователей. К сожалению, сейчас в 9 версии termlog помечен как broken, потому что utmp был признан устаревшим и заменен на utmpx, поэтому termlog работает максимум только на 8 версии с небольшой правкой исходников:
Файл fileops.c, функция snp_setup
+ logname[rindex(logname,'/')-logname] = 'D';
sm->fp= fopen(logname, "w");
Будем все же надеяться, что termlog перепишут для 9-й версии, потому что это очень полезная утилита. И вот почему. Однажды на тестовом сервере, который имел dyndns адрес и использовался для экспериментов, я установил termlog и создал пользователя test с паролем test, на котором проверял работу termlog, после чего благополучно забыл об этом пользователе. Спустя некоторое время, я обнаружил записанную ssh-сессию пользователя test, о котором кроме меня никто не знал:
Читать полностью »
Обзор IP телефонов Digium
2012-04-11 в 10:19, admin, рубрики: asterisk, digium, ip-телефония, switchvox, метки: asterisk, digium, switchvox
Еще совсем недавно Digium объявил о выпуске собственных IP телефонов, прошло всего пару недель и они приехали к нам в Россию.
Напомню, что серия телефонов включает в себя следующие модели:
- D70 Самый «продвинутый» вариант с огромным дисплеем, поддержкой шести линий и 10 клавиш быстрого набора (BLF). А также встроенная дополнительная LCD панель сможет отобразить информацию в реальном времени об имеющихся контактах их статусе, состоянии и т.п. А с помощью кнопок перехода, Вы сможете расширить список до 100 абонентов.
- D50 Телефон среднего уровня. Четыре линии и 10 выносных клавиш контактов. Отличие от модели D70 в том, что дисплей не интерактивен и надписи заносятся по старинке — карандашом. Телефон будет идеален для тех, кто проводит большое количество времени за разговорами.
- D40 Телефон начального класса с двумя линиями. Лучшее соотношение цена / качество.
По функционалу телефоны идентичны: поддерживаются: PoE, технология HD Voice, и отличаются лишь наличием дополнительной панели расширения. Считаю, что имеет смысл сделать обзор самой дорогой модели, а аналогию с бюджетным вариантом Вы проведете самостоятельно.
Ещё один из способов failover-а серверов: ip sla и enhanced object tracking
2012-04-11 в 10:17, admin, рубрики: Cisco, ip sla, Сетевые технологии, метки: ip slaИногда, а скорее всего довольно часто, возникает необходимость обеспечения отказоустойчивости серверов или ещё лучше приложений, запущеных на этих самых серверах.
Способов это сделать довольно много:
— может сам сервис изачально придуман с возможностью отказоустойчивости — его можно запустить на нескольких серверах и клиент сам найдет рабочий из списка;
— можно наворотить кластер средствами операционной системы;
— можно придумать что-то с виртуализацей (тот же кластер, только вид сбоку);
Но к сожалению иногда, и таки довольно часто в моей личной практике, возникает ситуация выходящая за рамки этих возможностей: денег нет, сеть есть, приложение самописное на коленке — кластер не соберешь, клиентская часть умеет ходить только на один сервер. И вдруг это приложение стало критичным, надо сделать 25x8x366. Под катом один из довольно безобидных способов.
Читать полностью »