Pull to refresh
14
0
Игорь @nani

User

Send message

Доноры в Швеции получают SMS, когда их кровь кому-то помогла

Reading time2 min
Views11K


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

Власти Швеции нашли способ, как стимулировать людей сдавать кровь. Способ на удивление простой, но может оказаться довольно эффективным.

Каждый раз, когда ваша кровь используется для переливания, вам автоматически высылается текстовое сообщение на мобильный телефон. Во многих случаях это означает, что кровь реально спасла кому-то жизнь (ведь переливание используется в экстренных случаях).
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments21

Пулы потоков: ускоряем NGINX в 9 и более раз

Reading time15 min
Views88K
Как известно, для обработки соединений NGINX использует асинхронный событийный подход. Вместо того, чтобы выделять на каждый запрос отдельный поток или процесс (как это делают серверы с традиционной архитектурой), NGINX мультиплексирует обработку множества соединений и запросов в одном рабочем процессе. Для этого применяются сокеты в неблокирующем режиме и такие эффективные методы работы с событиями, как epoll и kqueue.

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

Каждый процесс расходует память и каждое переключение между ними требует дополнительных циклов процессора, а также приводит к вымыванию L-кэшей

У медали есть и обратная сторона. Главной проблемой асинхронного подхода, а лучше даже сказать «врагом» — являются блокирующие операции. И, к сожалению, многие авторы сторонних модулей, не понимая принципов функционирования NGINX, пытаются выполнять блокирующие операции в своих модулях. Такие операции способны полностью убить производительность NGINX и их следует избегать любой ценой.

Но даже в текущей реализации NGINX не всегда возможно избежать блокировок. И для решения данной проблемы в NGINX версии 1.7.11 был представлен новый механизм «пулов потоков». Что это такое и как его применять разберем далее, а для начала познакомимся с нашим врагом в лицо.
Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments58

Физические теории

Reading time5 min
Views35K
image

Что такое наука? — Область знаний, которая позволяет выдавать точные предсказания.

С места в карьер! В физике есть три главные константы: скорость света (с = 3 *1010см/с), гравитационная постоянная (G = 6,67 * 10-8 см3/гр сек) и постоянная Планка (h/2pi = 1,05 * 10-27 эрг сек). Теории делятся по тому, как они учитывают эти константы.

Читать дальше →
Total votes 67: ↑50 and ↓17+33
Comments196

AngularJS + UI Router: проверка авторизации и прав доступа

Reading time3 min
Views74K
Если ваше приложение предполагает авторизацию пользователей и/или проверку прав доступа, то вам придется либо изобретать велосипед, либо гуглить в поисках подходящего решения. В принципе, я тоже это делал. В итоге я принял приемлемым для себя описанный ниже вариант.

Предпосылки


Информацию об авторизованном пользователе я решил хранить в sessionStorage, копируя её при запуске приложения в $rootScope. Также по рекомендации авторов UI Router я храню в $rootScope значения объекты $state и $stateParam, для удобного доступа. Информацию же о доступе к тому или иному состоянию можно передавать через блок data при описании самого состояния. Поскольку в моем приложении везде закрыт доступ, я решил идти от обратного и добавлять значение noLogin = true для состояний, которые не требуют авторизации, например страницы ввода логина, восстановления пароля или регистрации.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments23

Почему вам НЕ стоит использовать AngularJs

Reading time12 min
Views248K
Много времени прошло с момента появления AngularJs (в масштабах веб-технологий конечно). Сейчас в интернетах есть огромное количество постов восхваляющих этот фреймворк до небес, что это манна небесная не иначе, а критики не так уж и много как он того заслуживает. Но такие статьи уже потихоньку начинают появляться, и меня это радует, надеюсь индустрия переболеет ангуляром так же, как переболела MooTools, Prototype, %какой-нибудь новый язык под JVM%, %другая-супер-революционная-технология%. Не знаю почему, но в IT-области такие революционные технологии, которые поднимают шум, а потом пропадают, появляются довольно часто. Хороший разработчик должен уметь отличать очередную модную технологию, от работающего инструмента. И для этого очень важно критически смотреть на вещи. Моя статья — это компиляция самых весомых выводов из других статей, и моих личных умозаключений. Ангуляр создает хороший вау-эффект, когда видишь его впервые: «ух ты, я написал ng-repeat, и реализовал эту логику одними тегами и все само обновляется!», но как только приходится реализовывать реальные приложения, а не очередной TODO-лист, то все становиться очень печально. Сразу хочу сказать, что фреймворк я знаю хорошо, даже больше чем мне хотелось бы его знать, я программировал на нем в течении 2 лет. И для следующего проекта я его точно не выберу, и это хорошо, все мы учимся на ошибках. Так что же не так с ангуляром? Тут нет однозначного ответа, слишком много разных недостатков, которые создают такой облик фреймворку. Если одним словом – непродуманная архитектура. Под катом я привожу конкретику, так что устраивайтесь поудобнее. ДА НАЧНЕТСЯ ХОЛЛИ ВАР!
Читать дальше →
Total votes 305: ↑242 and ↓63+179
Comments387

Понимание типов сервисов в AngularJS (constant, value, factory, service, provider)

Reading time6 min
Views191K
Ангуляр поставляется с различными видами служб или сервисов, каждый из которых применяется в своей ситуации.
Имейте в виду, что сервисы, не зависимо от типа, это всегда синглтоны (одиночки).

Примечание: Синглтон это шаблон проектирования, который ограничивает класс таким образом, что у него может быть только один экземпляр. Именно с этим экземпляром и ведется работа везде, где он используется.

Перейдем к типам сервисов
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments37

Пересмотренное руководство по Grunt для начинающих

Reading time6 min
Views50K
Еще в марте 2013 года я написал статью руководство по Grunt для начинающих и она стала самой посещаемой статьей на моем сайте. Я написал ее в то время, когда сам только начинал своё знакомство с Grunt, и это было скорее руководство для себя, чем для кого-то ещё. Теперь, спустя 18 месяцев, я почувствовал, что пришло время пересмотреть как я использую Grunt потому что сейчас я знаю гораздо больше, чем в то время.

Если вам не терпится просто увидеть код, то весь он есть на Github.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments16

OpenWorm: цифровая модель червя-нематоды в браузере

Reading time2 min
Views41K
Крошечная нематода, или круглый червь Caenorhabditis elegans длиной около миллиметра — один из самых изученных организмов на Земле. Это первый многоклеточный организм, геном которого был полностью секвенирован. У C. elegans два пола — самцы и гермафордиты. Взрослая гермафордитная особь состоит всего из 959 клеток, а её нервная система — из 302 нейронов. Все связи между нейронами C. elegans (коннектом) также полностью описаны. Обилие всесторонней научной информации об этом черве и относительная простота его устройства несколько лет назад вдохновили сотрудников лаборатории моделирования сложных систем института систем информатики имени А. П. Ершова СО РАН создать исчерпывающую компьютерную модель C. elegans.

Со временем проект привлёк несколько десятков участников по всему миру, однако продолжал оставаться малоизвестным и недоступным для широкой публики: не так-то просто разобраться в том обилии исходных данных, касающихся устройства червя, и множестве подсистем модели, написанных на разных языках программирования, не говоря уже о том, чтобы установить и запустить всё это у себя на компьютере. В то же время, C. elegans широко используется при изучении биологии, и возможность «погонять» модель червя, с подробностями и в динамике рассмотреть, как он устроен, трудно переоценить. Поэтому команда проекта решила сделать модель доступной онлайн — чтобы любой желающий смог просто зайти на сайт проекта и заглянуть в «матрицу» в которой обитает виртуальный организм. В этом и заключается суть проекта OpenWorm на Кикстартере.


Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments23

Внезапно: спутник Электро-Л снял затмение по нашей просьбе

Reading time2 min
Views185K
Ребята, мы это сделали! Роскосмос, как создатель, и Росгидромет, как пользователь спутника «Электро-Л» откликнулись на нашу просьбу, изменили режим работы космического аппарата и сняли солнечное затмение в Австралии.



Кажется, никто не верил, что это реально — уговорить Роскосмос сделать что-то подобное для простых интернет-пользователей. Сам я полагал, что это будет сложнее чем попросить NASA сфотографировать Марс, и на успех надеялся, но, откровенно, не верил. Но это свершилось! Сразу две научные группы подготовили для нас результаты ночной съемки спутника. Во время австралийского затмения на космическом посту дежурили усиленные смены, а ведь это была ночь после праздника 9 мая. Готовые фотографии на открытый FTP загружались вдвое быстрее чем при штатной работе. И было не три снимка, как ошибочно написали РИА-Новости, а семь — каждые 15 минут, начиная с 0:55. Был даже один десятиминутный интервал.

(Под катом гифки на 5 мб)
Читать дальше →
Total votes 338: ↑332 and ↓6+326
Comments57

Береги зрение, используй f.lux

Reading time1 min
Views448K
Почти четыре года прошло с момента упоминания на Хабре программы f.lux, настоящего лекарства для тех, у кого устают глаза из-за монитора.



Программа изменяет цветовой профиль монитора, в зависимости от времени суток. Ночью глаза меньше устают от тёплых цветовых тонов (3400 K), днём — от холодных (6500 K), которые больше соответствуют дневному свету.
Читать дальше →
Total votes 113: ↑94 and ↓19+75
Comments110

12 способов не накосячить со вспышкой

Reading time8 min
Views354K
После трёх лет работы со студийным светом я думал, что знаю про накамерную вспышку если не всё, то очень много. Три недели назад я попал в гости к одному особо опытному стробисту, который рассказал и показал столько, что я сразу понял, что надо садиться и делать перепись грабель, а потом тестить, тестить и ещё раз тестить.

Ниже — достаточно известные вещи, которые, однако, вызывали facepalm у тех, кто был вместе со мной или же у меня. В списке грабель вы с некоторой вероятностью можете найти что-нибудь новое. Если хотя бы она фича использования вспышки окажется для вас полезной, то мою задачу можно считать выполненной.
Читать дальше →
Total votes 228: ↑223 and ↓5+218
Comments73

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

Офис Google в Швейцарии

Reading time3 min
Views59K
Привет, Хабровчане. Новый год я провел в городе Цюрих, где пообщался с несколькими сотрудниками корпорации зла, и прогулялся по их офису.

В своем посте я постараюсь описать побольше социальных особенностей работы в Google в Швейцарии, но скрыть от вас интерьер офиса я не могу, он шикарен :)

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

Итак, в Цюрихе находится центральный офис Google в Европе.



В нем работает около 1500 сотрудников, из них примерно 60 русскоговорящих. Хантят их как из других офисов (например, много людей переезжают из Московского офиса Google), так и напрямик.

UPD. Мо многочисленным просьбам в комментариях сделал отдельную тему для вопросов относительно работы в офисе Google в Цюрихе: habrahabr.ru/blogs/google/138980

Читать дальше →
Total votes 163: ↑157 and ↓6+151
Comments117

Иранского веб-разработчика приговорили к смерти

Reading time1 min
Views7.2K
35-летний иранский веб-программист Саид Малекпур (Saeed Malekpour) приговорён к смертной казни за оскорбление святынь ислама. Его вина заключается в разработке программного обеспечения для порносайтов.

Как пишет Guardian, вина Саида Малекпура была установлена оригинальным способом: сразу по прибытии в Иран программиста арестовали и поместили в одиночную камеру, где он провёл год (!) без общения с адвокатом. После этого его привезли на телевидение, там Малекпур чистосердечно признался в создании и раскрутке порносайтов. Затем Верховный суд Ирана вынес смертный приговор на основании этого признания, сделанного в телевизионном эфире.
Читать дальше →
Total votes 168: ↑132 and ↓36+96
Comments338

(#KatawaShoujo) Визуальный роман «Katawa Shoujo» как яркое событие в мире свободной культуры и благотворительности

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

Жизнь одних продуктов — это процесс, во многом подобный постепенному росту дерева. Семечко идеи, согретое солнцем энтузиазма, медленно прорастает, либо попав на благодатную почву целого коллектива увлечённых авторов продукта, либо благодаря упорству первоначального автора идеи. Ствол реализации этой идеи неуклонно движется всё выше, продукт всё лучше достигает своей первоначальной цели, и постепенно одевается, как ветвями и листьями, полезными дополнениями. Этим путём развиваются многие бесплатные программы (утилиты, серверы, клиенты), операционные системы, библиотеки функций, технические стандарты и спецификации, статьи вики. Всеми ими можно пользоваться годами, их полезность возрастает со временем, и они уходят корнями всё глубже в почву, созданную насущною необходимостью в них — она даёт им поддержку (то есть пользовательскую базу) и питательные вещества (то есть новых авторов). Год от года всё больше пользователей сходятся насладиться красотою, пользою, изяществом таких продуктов. Возможности пользователей, обновляющих свои продукты, развиваются с ними вместе. Чтобы развитие не останавливалося, этим продуктам наиболее подходят такие лицензии, которые допускают не только свободное копирование, но и свободное дополнение: MIT, LGPL, GPL, FDL, CC-BY-SA, и так далее. Польза же от таких продуктов в том, что они являются предметом повседневного быта их пользователей.

Жизнь других продуктов — это событие, во многом подобное резкому взрыву сверхновой звезды. Безо всякого предупреждения в небесах ослепительно вспыхивает сияние нового и величественного явления, исходя из той одной точки, на которую ранее не обращали пристального внимания — исходя от автора или небольшого авторского коллектива, ранее никому не заметного. Стремительно возрастая в объёме пропорционально третьей степени прошедшего времени, в киберпространстве нарастает восторг зрителей, затронутых этим явлением и начавших упоминать о нём в Твиттере и блогосфере. Если первоначальный заряд был силён, то день или неделю это сияние видно даже на дневном небе — в трендах и топах. Этим манером появляются перед нами многие бесплатные музыкальные произведения, литературные произведения, компьютерные игры, трёхмерные рендеры, полотна (файлы) живописи, визуальные романы. Только после их появления некоторые зрители, если пожелают, смогут углубиться в историю и увидеть там, что на месте открывшегося им зрелища вот ужé несколько лет, не привлекая излишнего внимания, тлела звёздочка первоначальной идеи — блог её творца или авторского коллектива. Но вот прекрасное мгновение невозвратно уходит в вечность прошлого: музыка прослушана, книга прочитана, компьютерная игра пройдена, иллюстрацией полюбовались, визуальный роман прочитали (прошли) несколько раз, по всем возможным путям развития сюжета — нужда в них отпадает, и на месте взрыва сверхновой остаётся туманность благодарной памяти публики. Для таких продуктов легко могут сгодиться даже лицензии, допускающие одно только свободное копирование, но не доработку: CC-BY-ND, CC-BY-NC-ND, и им подобные — потому что в создании производных продуктов заинтересованы только потенциальные авторы таких производных (авторы ремиксов, фэнфиков, «фотожаб», экранизаций, адаптаций, переводов, озвучиватели подкастов, игровые моддеры, гомосексуальные слэшеры), но не основная масса первоначальных потребителей, и без того насладившихся совершенно. Польза же от таких продуктов (здесь я имею в виду первоначальные, а не производные) в том, что они являются произведениями искусства и предназначены для однократного употребления их потребителей; впрочем, хорошие произведения вполне допускают и повторное (понравившуюся книгу можно время от времени перечитывать, компьютерную игру перепроходить, и так далее), а вот при ежедневном (или даже еженедельном) неминуемо надоедят достаточно скоро.

Уместно оговориться, что такое качество (быть скорее событием, чем процессом) свойственно не только свободным произведениям искусства: мы можем обнаружить его и в коммерческих хитах (обратите внимание, например, на истории появления хитов отечественной поп-музыки, изложенные в новогоднем номере «Афиши»). Также уместно оговориться, что это разделение не абсолютно: некоторые произведения искусства могут иметь все качества процесса (таковы, например, сериалы, комиксы и др.), а также предметом внимания и наблюдения может быть творческий путь автора или коллектива авторов (который, несомненно, также является процессом).

На все вышеизложенные мысли меня натолкнуло появление на небосклоне киберпространства очередного, и даже весьма заметного, продукта-события — им является вышедший десять дней назад (4 января 2012 года) визуальный роман «Katawa Shoujo». Но прежде, чем начать рассказ о нём, позвольте привести небольшую (≈188 килобайтов) иллюстрацию с обложки японского издания его руководства, на которой видны все основные персонажи «Katawa Shoujo»:

[Katawa Shoujo]

Читать дальше →
Total votes 72: ↑18 and ↓54-36
Comments23

Оцифрованы черновики и тетради Ньютона

Reading time1 min
Views1.7K


Кембриджский университет начал выкладывать в онлайн отсканированные копии документов Исаака Ньютона, начиная со студенческих тетрадей и личной записной книжки (Waste Book), которую он вёл всю жизнь. По этим записям можно судить, как рождались идеи в голове гениального учёного и как он постепенно пришёл к своим открытиям.

Например, первые математические открытия Ньютон сделал ещё в студенческие годы: классификация алгебраических кривых 3-го порядка и биномиальное разложение произвольной степени, с которого начинается ньютоновская теория бесконечных рядов. Ньютон сумел получить разложение для всех стандартных на тот момент функций.
Total votes 83: ↑81 and ↓2+79
Comments30

Испанский суд признал пиратство безвредным

Reading time2 min
Views4K
image

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

Любой, считающий пиратство лишь вредом или исключительно пользой для авторов, ошибается.

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

Есть множество случаев, в которых цифровое пиратство оказало положительный эффект на продажи. Исследования показали, что «пираты» — лучшие покупатели в музыкальной индустрии, что и подтверждал в этом году один из руководителей EMI Дуглас Мерилл.

Читать дальше →
Total votes 287: ↑273 and ↓14+259
Comments120

Диалог со Вселенским Разумом

Reading time4 min
Views2K


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

Ужасное качество современного машинного перевода давно стало притчей во языцех. Даже могучий Google Translate справляется со своими обязанностями с громким скрипом, не говоря уже о таких чудесных продуктах, как PROMT. Однако какой там PROMT! Некий сайт Bad Translator заставляет нас понять в полной мере, что такое по-настоящему плохой перевод. Однако, следуя первому абзацу топика, этот перевод именно настолько ужасен, что внезапно обретает философскую глубину и даже способен стать аналогом… диалога со Вселенной.

Под катом инструкция и образцы глубокомысленных (иногда действительно глубокомысленных) диалогов со Вселенским Разумом.
Читать дальше →
Total votes 144: ↑117 and ↓27+90
Comments140
1
23 ...

Information

Rating
Does not participate
Location
Самарская обл., Россия
Registered
Activity