Архив за 23 апреля 2012 - 10

Хочу поделиться своими соображениями. Я читал много топиков на тему Ruby, Ruby on Rails, Ruby vs PHP, Python vs PHP. «Каждый кулик свое болото хвалит». Я считаю, что это дело сугубо каждого — какую систему или язык программирования использовать, личные предпочтения, как говорится, на вкус и цвет товарищей еще поискать. Но суть даже не в этом. Я хорошо знаю PHP, не так давно взялся за изучение Ruby и Ruby on Rails. Знаете, как ни странно это звучит, но мне нравятся обе системы — и PHP, и Ruby, возможно даже одинаково. В Ruby есть свои прелести, которые привлекают — мощность самого языка, очень понятный и лаконичный синтаксис (если с толком подойти к изучению), в PHP — простота и все та же лаконичность языка. Хорошие системы, хорошие инструменты, но все же Ruby как-то в роли догоняющего. Что же тут не так?
Читать полностью »

Достаточно вольный перевод заметки 7 reasons why angularJS rocks.

AngularJS
Я backend-разработчик и мир Javascript фреймворков для меня достаточно нов, хотя в последние полгода мой интерес к ним сильно растет. Причина проста: я считаю, что стек технологий REST + JSON + Rich JS все больше подходит для широкого круга веб-приложений. Такой подход помогает победить дерьмовую сомнительную концепцию MVC в серверных приложениях. Почему MVC можно считать вредным — это отдельная история, сейчас лучше поговорим об AngularJS.

Что в AngularJS особенного?
Читать полностью »

По сообщению источника, компания Antec представила новую процессорную систему водяного охлаждения (СВО). На официальном сайте компании сведения о модели Kühler H2O 920e пока отсутствуют, но все они уже известны.

Будучи развитием модели Kühler H20 920, СВО 920e отличается более мощными вентиляторами и повышенным давлением хладагента. Это позволило повысить производительность до уровня, востребованного при использовании совместно с процессорами Intel в исполнении LGA2011.Читать полностью »

Трансмутации слов друг в друга: решение на языке HaskellВ ставших уже традиционными ежемесячных конкурсах по функциональному программированию всем желающим предлагается поразмять свои мозги и представить на суд общественности своё решение конкурсной задачи на каком-либо языке программирования (кстати, совсем не обязательно функциональном — многие конкурсанты используют и такие экзотические языки, как Java и даже Python). В апрельском конкурсе в качестве задачи была предложена задача по поиску цепочки трансмутаций между словами в заданном словаре. Конечно, это есть задача по поиску [кратчайшего] пути в графе, рёбра которого представляют возможность перехода от слова к слову по заданному правилу (должна быть изменена и только изменена одна и только одна буква), однако задача заинтересовала участников, и в качестве результатов было представлено 22 решения на 9 различных языках (C++, Clojure, D2, Erlang, F#, Go, Haskell, Mathematica и Perl).

Словарь, по которому осуществлялся поиск, можно получить здесь. Впрочем, можно воспользоваться услугами сайта «Слова из букв», с которого, собственно, и получен словарь. Конечно, многие слова там очень странные, однако какая нам разница, на каком словаре строить граф для конкурса? Пусть это будут просто формальные цепочки символом. А по результатам конкурса вообще появлялись такие предложения от участников: «Надо написать новое определение слова «АХЧЕ» — это слово, которое используется в конкурсах по программированию, для порождения самых длинных метаграмм».

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

  1. МУХА — СЛОН
  2. ДЕНЬ — НОЧЬ
  3. СНЕГ — ВОДА
  4. ОТЕЦ — МАТЬ
  5. РУКА — НОГА
  6. ЗИМА — ЛЕТО
  7. СВЕТ — ТЬМА
  8. ЛИПА — КЛЁН

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

Трансмутации слов друг в друга: решение на языке Haskell

Итак, если вам интересна задача, и вы хотите узнать, как организовывался конкурс и как можно решить поставленную задачу, то милости прошу Читать полностью »

Нил Форд, Архитектор ПО, ThoughWorks Inc.
06 Марта 2012
перевод статьи Functional thinking: Functional design patterns, Part 1

Некоторые представители функционального мира утверждают, что концепция шаблонов проектирования содержит недостатки и ей нет места в мире функционального программирования(далее ФП). Это мнение может быть подтвержено используя довольно узкое определение слова шаблон(pattern), но это больше касается семантики, чем реально использования.
Концепция шаблона проектирования — именованное, представленное в виде каталога решение для распространенной проблемы- живо и здравствует.Тем ни менее, шаблоны могут принимать различные обличья, в рамках разных парадигм. Учитывая, что подходы к построению программ и решению проблем в функциональном программировании другие, некоторые шаблоны «Банды четырех»(Gang of Four, GoF) исчезают, другие сохраняют проблему, но решают ее радикально по-другому.Эта часть и несколько других будет содержать в себе исследования некоторых традиционных шаблонов проектирования и переосмыслять их в рамках функционального подхода.
Читать полностью »

image

«С места в карьер» — ещё одна из основных сценарных схем промо-роликов. Отличается от рассмотренной нами ранее схемы отсутствием какой-то страшной проблемы, которую надо немедленно решить.

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

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

Камера! Мотор!Читать полностью »

На хабре недавно была опубликована статья про радио модули, на мой взгляд, в ней незаслужено обделены вниманием 2.4 GHz устройства с SPI интерфейсом. Привлекают они ценой в два-три бакса за штуку, и готовым протоколом общения, включающим адресацию, CRC, отсылку подтверждения и прочие удобства.
Читать полностью »

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

    Есть такая замечательная технология, как динамическая бинарная инструментация (Dynamic Binary Instrumentation, DBI), которая заключается во вставке в бинарный исполняющийся код анализирующих (в общем случае) процедур. Основной прелестью данного подхода заключается в том, что нет необходимости в исходном коде анализируемого приложения – работа происходит непосредственно с бинарным файлом.Читать полностью »

Нашим коллегам стали известны цены на настольные процессоры Core i3 третьего поколения (Ivy Bridge), которые, по предварительной информации, будут представлены в третьем квартале. Насколько известно, первая волна новинок будет включать три модели: Core i3-3220, Core i3-3225 и Core i3-3240.

Какими будут рекомендованные производителем цены этих изделий — пока неизвестно. Однако их появление на онлайновых витринах дает первое представление о том, чего можноЧитать полностью »

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

Чаще всего в виде дивидендов социальный инвестор получает моральные бонусы (в виде радости от содеянного и ощущения собственной значимости) и, в некоторых случаях, – благодарности от создателей проекта. Многие из проектов находятся в стадии идеи, поэтому у жертвователей/ инвесторов появляется дополнительное ощущение важности своего вклада  – если нужная сумма не соберется, проект не будет реализован.

Краудфандинг для социальных проектов

1. Crowdrise. Если ты ничего не возвращаешь, никто не будет тебя любить

Дата создания: сентябрь 2009 г.

Как сказано на сайте: «Crowdrise – это проект о том, чтобы возвращать, собирать тонны денег на благотворительность и получать ни с чем не сравнимое удовольствие от процесса».  Платформа позволяет жертвовать на проекты и благотворительные акции (например, марафоны), поддерживать инициативы отдельных волонтеров. Жертвователи, в свою очередь, накапливают баллы, которые они потом могут потратить на какие-то товары или билеты в кино и поучаствовать в лотерее «Потрать 26$ на проект по очистке воды и у тебя будет шанс выиграть  Ipad).

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js