Pull to refresh
8
0
crazyprog @crazyprog

User

Send message

Пишем музыку в Linux: LMMS

Reading time3 min
Views49K
Сегодня я хочу рассказать об отличной программе для Linux, которая называется LMMS, то есть Linux MultiMedia Studio.

Скриншот 0

На скриншоте можно видеть (по крайней мере, если его открыть) три дорожки, одна из которых исполняется программным синтезатором LB302 (он эмулирует Roland'овский синтезатор TB-303), а две другие несут в себе барабанные партии. Что ж, остановимся пока на последних и попробуем что-нибудь сделать.

Читать дальше →

7 мощных каруселей изображений для Web-дизайнеров

Reading time2 min
Views85K
Эта статья является коллекцией некоторых мощных каруселей изображений и текстовых материалов, готовых к использованию в ваших Web-проектах. Она включает в себя Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) и учебное пособие о том, как реализовать простую карусель наподобие карусели во Flickr, используя Prototype-UI.
Читать дальше →

Улучшаем формы или Веб-Восемь-Ноль-Сто-Три

Reading time13 min
Views1.4K
Итак, мы выбрали браузер вместо отдельно стоящего толстого клиента. Пользователь очень хочет вводить данные. Однако, обычные формы плохие. Потому, что:

Читать дальше →

Палка о двух концах или ещё раз о хрупкости кода

Reading time9 min
Views1.5K
Я пишу этот топик, как ответ на недавнюю статью «10 приемов, разрушающих хрупкую красоту кода», в которой разгорелось множество споров.

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

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

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

Сказ про то, как я свой интернет-магазин открывал: старт

Reading time3 min
Views2.3K
Предыдущая часть.


Первый капитал мы сколотили продавая «таможенный конфискат». Было у нас где-то по 1000 у.е. на брата.

Мы купили лицензию на avalonshop (ныне shopcms) за 30 у.е. Я нашел дизайнера, который нарисовал страшненькую шапку и перерисовал элементы стандартного дизайна за 50 у.е. И попросил своего старого товарища-программиста поработать “напильничком” — немного изменить шаблон, чтобы нам нравился вид магазина. Обошлось в 50 баксов. По нашим меркам получилось вполне сносно.

Парни мы умные были, поэтому прекрасно понимали, что работать с ограниченным ассортиментом конфиската будет невозможно. И стали искать поставщиков.
Читать дальше →

Processing.js

Reading time2 min
Views13K
Данный язык уже был на хабре, однако пост был посвещен самому Processing, думаю многим будет интерессно почитать и про Processing.js.
Processing.js — это открытый язык программирования для визуализации в вебе который представляет собой портированный Processing на JavaScript. Processing.js использует Js для анимации и тег canvas для работы с изображением. Сразу же можно заметить некоторый минус данного подхода, он не особо дружен с IE, причем по заявлениям Microsoft поддерживать тег canvas они и в дальнейшем не собираются. Во всяком случае 8 работать отказался. Синтаксис реализации очень похож на синтаксис Java.
Читать дальше →

Онлайн База Данных, сервис структур данных, динамическая объектно-реляционная проекция (Dynamic ORM)

Reading time9 min
Views2.6K
В данной статье речь пойдет о создании рабочего прототипа онлайд БД. И рассмотрены некоторые сервисы аналоги от компаний Google и Yahoo.

Последним временем более активно стали развиваться сервисы для работы с онлайн БД. Такого рода сервисов в себя включают такие платформы как GData (Google Data API) и Yahoo! Query Language (YQL).

Указанные сервисы онлайн доступа к БД позволяют лучше контролировать и оперировать данными, получаемыми из разных сервисов платформ и самое главное это готовые сервисы для использования которых достаточно изучить документацию и примеры.
Читать дальше →

Что такое анти-паттерны?

Reading time9 min
Views149K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!

Правильно поставленная задача время бережет

Reading time3 min
Views18K
Хочу поделиться своими мыслями по оптимизации общения адекватного руководителя и адекватного исполнителя. Что надо делать и чего делать не стоит, для того, что бы работа была выполнена качественно и в срок?

Нормально построенная система взаимоотношений руководитель—подчиненный строится на интеллектуальном превосходстве руководителя и его умении прогнозировать и расставлять приоритеты не без учетов интересов исполнителя, что очень важно. Если это не так, и в роли работодателя выступает девочка-менеждер, а в роле исполнителя — программист-маньяк, то менеджер не получит результатов, а программист — денег.
Читать дальше →

Нулевой прототип или проекты «для себя»

Reading time5 min
Views1.9K
RubykСегодня я хочу поговорить о создании собственных проектов, и чем это отличается от создания проектов для заказчиков. По возможности я проиллюстрирую свой рассказ примером создания мной социального микроблога Рубик.

Проекты для дяди


Когда вы создаете проект для заказчика, то вам, по большому счету, плевать, будет ли проект коммерчески успешным. Заказчик хочет новую социальную сеть? Пожалуйста. А о том что очередная социальная сеть никому не нужна, и что создавать ее сегодня уже просто смешно, вы скромно умолчите. Заказчики часто не понимают, что большая часть фич, которые они хотят, на самом деле никогда не будут востребованы. Как-то мне довелось столкнуться с проектом, который со стороны выглядел обычным каталогом сайтов. На создание аналогичного каталога ушла бы неделя. Но на самом деле объем этого проекта составлял более ста тысяч (!) строк.
Читать дальше →

текст под произвольным углом без флеш и js

Reading time3 min
Views30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

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

вертикальный текст и текст под углом
Читать дальше →

Как правильно использовать исключения

Reading time3 min
Views15K
Жаль, если ваше изучение концепции исключений закончится чтением соответствующего раздела официальной документации по вашему языку.

Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
  • Начать тут же использовать исключения. Скажем, прикручивать их к системе, в которой они никогда не использовались. Или приколачивать их к проекту, в котором ООП и не пахнет. Или, что самое ужасное, пытаться использовать их повсеместно, особенно там, где это не нужно.
  • Попытаться понять, где их применять, как делать это правильно, и зачем они нужны.

Читать дальше →

Неравнозначность пользовательского участия в наполнении сайта

Reading time1 min
Views931
Это просто заметка.

Якоб Нильсен писал о распределении участников в социальной сети. 1% пользователей вносят значительный вклад, 9% проявляют активность время от времени, 90% посетителей пассивно читают информацию, но не вносят никакой информации.



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

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

Статья Нильсена тут:
www.useit.com/alertbox/participation_inequality.html

Футболка Viva La Distribución!

Reading time1 min
Views836
В ходе последних событий в мире свободного распространения информации возникла идея вот такого принта на футболку для всех, так сказать, солидарных с движением:
image
Если кому-то кроме меня захочется сделать себе такую, милости прошу за исходниками:
1) В .eps на Народе;
2) В .ai там же, на всякий.
p.s. Предложения по возможному улучшению также приветствуются)

Личный тайм-менеджмент

Reading time9 min
Views93K
Почитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.

Поэтому я попробую исправить этот недочёт.

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

Welcome!

Читать дальше →

Реализация отправки sms-уведомлений

Reading time3 min
Views16K
В виду достаточно большого парка серверов/свитчей/модемов и иного активного оборудования в конторе, была установленная система мониторинга zabbix и успешно использовалась продолжительное время. Zabbix имеет замечательную возможность отправки уведомлений о возникших проблемах.
Для этого был написан скрипт отправки sms сообщений через шлюз email-to-sms оператора связи, ограничение по количеству смс с одного адреса в сутки было обойдено путем ротации исходящих адресов, работало более или мение сносно, но в последнее время смс сообщения через данный шлюз начали доходить с задержкой порядка 10-15 минут, что уже не очень нравилось.
Итак, было решено организовать отправку уведомлений через собственный GSM-терминал, порывшись в прайсах поставщиков и не обнаружив там подходящих по цене и характеристикам GSM модемов весьма огорчился.
И тут вспомнилось что дома валяется старый Siemens CX65 да еще и data-кабель к нему, после подключения телефона и курения доков по отправке sms сообщений пришел к не очень радостному выводу, оказывается siemens не поддерживает отправку sms в текстовом режиме, команда AT+CMGF=1 возвращает error.
Отправка сообщений в данных аппаратах возможна только в режиме PDU, ради спортивного интереса и для размятия мозгов было решено реализовать эту систему, был написан скрипт для перекодировки в PDU формат сообщений и отправки через телефон.
Читать дальше →

Технологии проведения распилочных тендеров

Reading time6 min
Views7.5K

Как известно, бюджеты на государственные IT-проекты выделяются немалые. Взять тот же «школьный портал» за почти 15 миллионов. Результат и уровень работы при этом тоже известен. Взять тот же «школьный портал».





И ведь все это проводится через «тендеры». Созываются тендерные комиссии, пишутся какие-то «требования», составляются «протоколы» по итогам «голосования».



Участие в таком тендере будет стоить вам потраченного времени, нервов, сил, а то и разных других неприятностей (бабло-то немалое).



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

Читать дальше →

Как создать свой opensource проект

Reading time2 min
Views3.1K
У меня есть проект, который я хотел бы сделать opensource. Но как говорится — поспешишь — людей насмешишь.
Хочется сделать как в лучших домах Парижа, Лондона и Сыктывкара. Правильно организовать svn (git? mercurial?) репозиторий, выбрать удобную баг-трэкинг систему. Организовать удобный обмен кодом, легкое подключение к проекту разработчиков, простую сборку новых версий. Наверное в OpenSource проектах должны быть распределены роли, организована иерархия разработчиков, контроль комитов, создание патчей… Вообщем, тонкостей много. Так вот, прошу комьюнити посоветовать хорошую документацию — пошаговую инструкцию ну или просто хорошие статьи по теме. Погуглить я погуглил, но никакой гугл не заменит личный опыт :)
Читать дальше →

Россия I: от кустарных предприятий по разработке программного обеспечения к промышленным

Reading time1 min
Views1.1K
Итак, свершилось — наши замечательные студенты победили в очередной международной олимпиаде. Триумф! В комментариях люди радуются: русские программисты — лучшие! Да и самой приятно сознавать, как бывшей олимпиаднице, что приходящяя нам на смену молодёжь нас лучше и успешнее. Вот только с прошествием лет кажется мне, что успешность человека и его страны в профессиональном программировании мало связана с успехами в олимпиадах. Попробуем разобраться в фактах.

Читать дальше про умных людей и что же им мешает →

Россия II: великаны и малыши програмстроя

Reading time1 min
Views754
Простите великодушно, что повторюсь. В предыдущем тексте я писала о том, что российским студентам, изучающим высшую математику и философию, проще побеждать в олимпиадах, чем участвовать в разработке программных систем промышленного масштаба. Воспитанные в восьмидесятых годах прошлого века в школах Ершова и Звенигородского преподаватели программирования хорошо развивают в своих сегодняшних учениках навыки решения проблем. Чему они учат не так хорошо, так это практическим навыкам работы в больших распределённых проектах, умению писать связные тексты, мягкости общения, стратегическому планированию, управлению процессами и людьми. Ну и ничего, научимся как-нибудь самостоятельно по книжкам и по Хабру.

Далее я коснусь трёх основных моделей ведения бизнеса, которые мне нравятся. Читать дальше про стратегии ИТ компаний →

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Registered
Activity