Яндекс.Метрика

    Песочница

    Песочница

    Управление Arduino с телефона

    Добрый день!

    Недавно заинтересовался идеей создания «умного дома». Так как из необходимых компонентов в моем распоряжении пока что имеются только arduino и телефон на андроиде, решено было начать с создания пульта управления и связи его с остальной частью системы.

    Моё видение системы выглядит так:


    Думаю стоит совместить домашний и веб-серверы, прикупив статический айпишник, но на первое время сойдет и так. Начнем с простого – научимся удаленно управлять светодиодом и LCD-дисплеем.

    Песочница

    Как моделировать бизнес-процессы в нотации eEPC?

    В ходе своей работы и преподавания я сталкиваюсь с описанием бизнес-процессов организации в нотации eEPC (Extended event driven process chain), которая принята стандартом де-факто для описания процедур и регламентов после обследования деятельности организации. К сожалению, используя эту нотацию очень просто допустить ошибки моделирования, не зная правил, по которым она составляется. Эти ошибки приводят в последующем к несоответствию логики процесса, и как следствие – непониманию реальной ситуации в организации. Эта статья является некоторым обобщением моего опыта моделирования бизнес-процессов, и надеюсь, послужит некоторым читателям полезным руководством.

    Песочница

    PostgreSQL: Уникальные ключи для распределенной базы. Практика

    По следам статьи Уникальный ключ в условиях распределенной БД.

    У нас есть база которую мы хотим разделить. В идеальном случае хочется сделать master-master. Один из самых сложных моментов, это обеспечение уникальности ключей на всех серверах. И хорошо если база изначально проектировалась с учетом масштабирования… Опять же, это что-то из области идеала, который встречается, скажем так — не часто.

    Итак у нас есть база которую нужно подготовить к синхронизации master-master — сделаем все ключи в нашей базе уникальными в пределах проекта.

    В упомянутой статье рассматривались несколько вариантов, но мы остановимся на одном предложенным Instagram

    Песочница

    Prolog. Программируем автоматы

    Прочитав статью о Prolog, я решил написать небольшое дополнение к ней в виде 2 небольших задач.
    Вот они:
    1. Интерпретатор языка brainfuck
    2. Машина Тьюринга

    Песочница

    Настройка emacs для разработки на python или поиск «идеального» редактора

    Цель статьи рассказать о своем поиске «идеального» редактора для python кода, о том почему выбрал emacs и кратко о том как я его (emacs) настроил для работы с python.

    Небольшая предистория: Разработкой на python я занимаюсь уже более двух лет и все это время пытался подобрать оптимальный редактор. Что я только не использовал за это время — mcedit, nano, gedit, netbeans, eclipse, а также некоторые другие платные варианты (демо версии). Но всегда чего то нехватало, где то автокомплита, где то подсветки, где то банально неудобно. Какой то период (около 10 месяцев) использовал Eclipse, но его прожорливость в ресурсах, зависания доводили до белого каления. Когда ошибки eclipse мне окончательно надоели, я начал поиски такого редактора который стал бы отличным помошником в работе.
    Вооружившись google начал искать «идеальный» редактор.

    Песочница

    Исследуем защиту на основе сертификатов (utm5)

    Эта статья не повествует о том как сделать кряк или кейген. Здесь будет простое исследование защиты достаточно дорогого программного продукта.

    Так сложилось, что выбор пал на utm5.
    Целью являлось понять какой метод защиты использует данный программный продукт, тем более что этот комплекс программ есть как под windows так и под linux/freebsd.

    Песочница

    Как раскрутить свои блог: ошибки, мотания на ус, лучшие практики (начинающим блогерам и разработчикам оных)

    Доброго времени суток всем хабражителям.

    Я по первому образованию математик, а магистратуру заканчивал уже по специальности «Информационные технологии» в США.

    Не работаю по специальности (айтишником) уже полтора года, но все равно не могу отпустить айти навсегда. Год назад завел блог на вордпресс (self hosted) и решил писать о наболевших вопросах. Кроме того, это бы дало мне возможность ковыряться в кодах и базах, чего я забыть просто не могу. Писал для друзей и друзей друзей. Хотел собрать некое сообщество приятных в общении и интеллектуальных людей. Забегая вперед скажу, что получилось.

    Песочница

    Миграция физического и виртуального сервера VMware

    Жил да был сервер в далекой стране. По техническим характеристикам для своего времени он был не плох — Intel Core Quad Q6600 2.4GHz 8GB RAМ Intel DQ965GF motherboard, 3ware7xxx/8xxx raid controller и 2 SATA диска по 300GB в raid 1 масcиве.

    И вот однажды решил на этом сервере один из дисков в raid умереть — а раз решил, то и умер. Естественно было предположить, где один диск умер, там и второй умереть может — надо менять. Да и расширить дисковое пространство не помешает, подумали мы.
    Кое-как с грехом пополам купили новые 2TB диски — кризис и в далеких буржуйских странах был с жесткими дисками. Сервер был критически важным, но выключать и мучать его можно было некоторое время — были дублеры.

    Решили мы обновить и программное обеспечение…

    Песочница

    Стартап без розовых очков

    Здравствуйте, Хабралюди! Многие пишут о своих успешных стартапах, вследствие чего у многие начинающие стартаперы видят мир стартапов в радужных красках, ну а я хочу поведать поучительную историю одного интересного нереализованного мной стартапа (бутстреппинг), чтобы новички как я не наступали на грабли (хотя бы мои).

    Песочница

    Свежий взгляд на компьютерные клавиатуры

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

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

    Песочница

    Отображение веб-форм в разных ОС

    Это статья — небольшое исследование того, как рендерят браузеры стандартные веб-формы в разных операционных системах. Мы будем говорить именно о стандартных, дефолтных формах и не коснемся распространенных сейчас форм с png-подложками и сильно измененным CSS и JS.

    Песочница

    Краткое руководство к выбору производителя ВКС

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

    По ценам на решения ВКС я бы разделил от дорогого к дешевому, следующим образом:
    1. Cisco Telepresence (TANDBERG)
    2. Polycom
    3. LifeSize

    Но не стоит считать, что чем дороже – тем лучше, в данном случае это неприменимо. Каждый производитель обладает рядом преимуществ и недостатков, а остальную массу производителей я не рассматриваю, в силу недостаточно развитой линейки, или плохого качества оборудования. Что бы не быть голословным, кроме перечисленных выше производителей, я знаком с оборудованием таких компаний как Radvision, SONY, Huawei, Aethra, и т.п.

    Песочница

    Чтение текста в iPod nano 6g

    image

    Не так даавно мне в голову пришла идея использовать свой iPod nano 6g в качестве подспорья при списывании на экзаменах. Что может быть удобнее, чем читать текстовый документ прямо со своего запястья и не быть пойманым со шпорами?

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

    Ни для кого не секрет, что iPod nano 6g по своей концепции изначально претендовал на место часов на руках будущих владельцев. Несмотря на то, что оригинальных ремешков Apple официально так и не выпустила, но подобный форм-фактор своего детища де-факто был подтвержден выпуском прошивки 1.2, в которую было добавлено 16 новых электронных циферблатов.

    Так почему бы не использовать его для написания шпор? Для реализации этой идеи мне потребовалось заказать резиновый ремешок на eBay у одного из тысяч китайских производителей и сесть за изучение вопроса. Как оказалось сабж этот толком не раскрыт ни на западных, ни на отечественных ресурсах. Пришлось копать самому.

    Как заставить iPod nano 6g читать тексты:

    Несмотря на прекращение поддержки функций заметок в шестом поколении нано, у пользователей данных устройств есть два пути:

    1. Добавлять нужную информацию в текст песен.
    2. Создавать графические файлы, в которых будет содержаться текст.

    Путь 1. Редактирование текста песен

    image

    image

    Для редактирования текста песен в iTunes Вам необходимо нажать правой кнопкой на заранее приметившуюся песню, затем Информация -> Слова

    Минусы:
    — невозможность форматирования текста
    — неудобство навигации по тексту
    — необходимость создания фейк-альбомов или использование существующих, что уменьшает юзабилити

    Путь 2. Конвертация текста в .jpg или .png

    image

    image

    Так как разрешение экрана iPod nano 6g240x240 пикселей, а зум фотографий 4x, то логичнее всего создавать графические файлы .jpg или .png размером 960x960 пикселей. Минимально приспособленные для чтения параметры текста как для меня были: Times New Roman 22 размер. Затем файлы эти необходимо поместить в папку синхронизации с Вашим айподом. Правило одно: каждая подпапка это альбом. Свободы сортировки и удобства навигации при использовании такого метода явно больше.

    Вот, собственно, и всё.

    P.S. Кривенькие «скриншоты» айпода просьба всерьез не воспринимать ;)

    Песочница

    JRebel Quickstart

    В прошлой статье я немного рассказал о JRebel и для чего его можно использовать. Теперь попробую описать как можно попробовать JRebel использовать, шаг за шагом.

    Для примера возьмём приложение Petclinic, исходной код которого можно найти на GitHub. В качестве IDE буду использовать свою любимую IntelliJIDEA.

    Песочница

    Комплексный курс по веб-технологиям: предпосылки, мечты и планы

    Все мы знаем, сколько существует фирм, состоящих из «пары студентов», делающих сайты «за 5 тысяч». Возможно, не стоило бы даже обращать на них внимание, однако, в нашем регионе на данный момент ситуация довольно критичная: интернет еще не слишком развит, практически нет более-менее серьезных городских/региональных ресурсов, на которые можно было бы ровняться. Да и 90% сайтов, имеющих отношение к нашему региону, сделаны такими вот студентами «на коленке».

    При этом заказчики зачастую даже не понимают разницы и делают сайт «для галочки», «чтобы был».

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

    В связи с этим считаю обязательной необходимостью введение подобного курса на всех IT-специальностях. То, как я себе это представляю — под катом.


    Еще одна предпосылка

    Я тружусь на ниве веб-разработок около 5 лет. Сначала будучи студенткой, потом уже в качестве руководителя отдела. Найти грамотного контент-менеджера (не говоря уже о веб-дизайнере или веб-программисте) для сопровождения действующих проектов у нас в городе просто нереально. И потом, проще обучить человека с нуля, чем взять его, напичканного неправильными знаниями и собственными убеждениями.
    Часто работала с практикантами, но взять практиканта — тоже пальцем в небо. За время практики можно успеть только научить чему-то, а поработать он и не успеет толком.

    Поэтому я пришла к тому, что искать кадры нужно через ВУЗ, причем не просто обращаясь к преподавателям, чтобы посоветовали, а тщательно отбирая и выучивая для себя самых предрасположенных к этой деятельности студентов.

    Но для этого всё же нужно втемяшить им в голову, как вообще происходит процесс разработки сайта!

    Чтобы к зиме следующего года получить парочку студентов, думающих как мы, нужно начать уже сейчас готовиться к началу 2012-2013 учебного года.

    Учебная программа


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

    Для успешного прохождения курса студентам нужно владеть: Photoshop (разбираться в слоях, начальные навыки), HTML, CSS, опционально PHP, иметь представление о базах данных. Скорее всего, 3 или 4 курс (из 4-х курсов колледжа).
    Желательный объем курса — 64 часа, включая практические занятия.

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

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

    2. Процесс разработки сайта поэтапно начиная с разработки макета в Photoshop,
    упомянуть, что у сайта должна быть идея, что сайт — это маркетинговый инструмент. В общих чертах.

    3. Программные средства для разработки сайтов (Notepad++, denwer, zen-coding). Почему не стоит писать сайты в визуальных редакторах.

    4. Дальнейшая нарезка макетов и сборка их в html. Вместе начинаем верстать шаблон сайта из готового макета psd. Табличная и дивная верстка. Разные браузеры, обработка сайтов на стороне клиента (почему возникает проблема кроссбраузерности). Стандарты, доктайп. Валидатор W3C. Сайт htmlbook. Зачем нужен CSS, принцип отделения содержания от представления
    Показать сайт www.csszengarden.com/
    Понятие юзабилити, Якоб Нильсен и webmascons.

    5. Оживление сверстанного макета с помощью динамических языков (php), шаблонизаторов. Использование JavaScript, AJAX, jQuery (обзорно).

    6. Использование CMS на примере битрикс. Подготовить доклады о различных CMS, если кто-то желает (Joomla, WordPress и пр). Если народ владеет PHP, углубиться в разработку шаблонов и кастомизацию компонентов на битриксе.
    (В частности, мы работаем на битриксе, а изначальная цель курса — именно подготовить кадры)

    7. Типографика на сайте, почему это важно (с примерами из Ководства и других источников).

    8. Обработка изображений для сайта (возможно, некоторые приемы в Photoshop).

    9. Подготовка сайта к публикации, выбор хостинга, возможно, SEO или контекстная реклама. Способы продвижения сайта в зависимости от его целей (имиджевая или контекстная реклама). Современные
    виды таргетинга (поведенческий, плюс затронуть социальные сети).

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

    Пока довольно сумбурно — но в целом это те темы, которые хочется затронуть.
    Добавлю, что не претендую на истину, поэтому буду рада конструктивной критике в комментах, особенно от преподающих.

    Песочница

    История о том, как я перешел на свои хлеба (делюсь опытом для начинающих и прошу совета бывалых)

    Мотив написания статьи


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

    Песочница

    В ответ на статью :«Кто кого учит: преподаватель студента или студент преподавателя?»

    Доброго времени суток, уважаемые читатели, программисты и все, кто читает эту статью.

    Наверное многие прочитали статью Кто кого учит: преподаватель студента или студент преподавателя?, в которой рассказывалась суть обучения в IT ВУЗах, да и не только.

    В этой статье хотел пояснить роль ВУЗа в развитии на примере физики и информационной ее составляющей. Кому интересно, прошу под кат.
    image

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

    Я думаю, не меня одного вдохновила к каким-то действиям статья, указанная выше. Да, там объемно и объективно описаны проблемы образования в IT-сфере. Но ведь почти не указаны плюсы университетского образования.

    В моем университете есть хорошая физическая база, к которой без особых навыков программирования просто не подойти. Изучив основы LabVIEW и примитивного Turbo pascal мы можем приступать к работе в лабораториях. Конечно же на первых курсах были примитивные работы, в которых не надо было особых навыков. Преподаватели в возрасте, похожие на описанных в прошлой статье, говорившие, что «за консольными приложениями будущее» утверждали, что за паскалем кроется вся основа исследовательских работ в физике( имелось ввиду: сбор и обработка данных).Такой метод долгий и муторный. Куда проще в LabVIEW просто собрать себе приборную панель, задать значения приборам и написать алгоритм измерения на любом приятном лаборанту языке программирования.
    Это если совсем кратко. При желании напишу более подробно о всех процессах связанных с программированием в физике, жду пожеланий в комментариях.

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

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

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

    Надеюсь таким кратким описанием, я пояснил, что не все наши ВУЗы настолько слабы в образовании и подходят под описание прошлой статьи.
    Конечно, самообразование имеет большую роль в развитии человека, но научная база тоже важна.

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

    Чтобы хоть как-то визуализировать все сказанное, привел картинку, на ней изображен просвечивающий электронный микроскоп JEM- 2100F, к которому без особых навыков в физике и программировании подпустят только пылинки сдувать.

    Не спите на лекциях, а многие и на работе, друзья! Всем желаю успехов во всех начинаниях.

    Жду критику и пожелания в комментарии.

    Песочница

    Микро-ORM своими руками (часть первая)

    Что подвигло меня на написание данной библиотеки и чем плохи существующие решения:
    К сожалению такие монстры как Hibernate «тяжеловесны» и навязывают свой API для работы с БД. Мне же нужна была простенькая библиотечка, использовать которую можно было бы в перемешку с обычным JDBC-кодом (по сути мне нужно было некоторое подобие Dapper.NET для JDBC).

    Основные принципы, используемые при написании библиотеки:
    • простота и атомарность — библиотечка представляет собой 1 java-файл, для добавления в проект достаточно просто добавить файлик к своим исходникам.
    • ненавязчивость — библиотечка не навязывает свой API, возможно использование «вперемешку» с обычным JDBC-кодом
    • независимость — библиотечка не использует ничего кроме Java SE 5
    • расширяемость — библиотечка поддерживает добавление расширений, необходимых для конкретного проекта

    Песочница

    Лазерная игрушка для кошки на сервоприводах

    Чем только не займешься в новогодние праздники? В этом году подарил своей кошке электронную игрушку на базе лазерной указки, двух сервоприводов и контроллера на базе Mega16. Может сравнить применение Меги в этой схеме со стрельбой по воробьям из пушки, но дома на тот момент была только она. Человеку, имеющему опыт программирования AVR микроконтроллеров не составит труда перенести ее на другую микросхему, вплоть до микроконтроллеров серии Tiny.

    Песочница

    Искусственный интеллект в CAM-системах, для решения задач автоматизации процессов создания управляющих программ

    Хорошо изучив хабр – встретил много интересных решений, построенных на нейронных сетях.
    Также нашел редкие топики по тематикам САПР, а именно CAD/CAM системам, что навело на мысль: «а почему бы не написать о своих разработках и мыслях сюда?». Ведь здесь приличное количество специалистов, программистов и просто толковых людей. А в научных и профессиональных кругах на моем местном уровне — обсудить тонкости по данной тематике практически нереально. По-крайней мере поиски разработчиков подобного ПО с целью общения у меня не увенчались успехом и они по сей день не прекращаются.

    image

    Уже несколько лет, я занимаюсь изучением систем искусственного интеллекта (ИИ), а основная рабочая деятельность плотно связывает меня с CAD/CAM-системами и оборудованием с ЧПУ (числовым программным управлением).