Хабрахабр:
На прошлой неделе бывшие и настоящие конкуренты известного социального сайта digg.com распространили информацию о том, что сервис был куплен американской медиа-компанией BetaWorks за $500 000 ? другими словами, за сумму, никак не сравнимую со стоимостью Digg в пору его расцвета в 2008 году, когда Кевин Роуз (создатель сайта) пытался продать его Google за $200 млн. Сейчас же BetaWorks намерена объединить покупку со своим малоизвестным социальным сервисом news.me и перезапустить проект. Появившийся осенью 2004 года digg.com почти сразу был признан одним из самых перспективных проектов года и уже в 2005-м Кевину Роузу и его коллегам Оуэну Бирну и Рону Городецкому удалось успешно провести раунд финансирования и получить инвестиции в размере $2.8 млн. Удачно найденная ?фишка? с голосованием, дающая иллюзию власти, способствовала немалому росту популярности сайта, и Роуз уже мог планировать инвестиции на более значимый срок ? в 2006 году сайт получил еще почти $9 млн. Почти сразу после этого исполнительный директор Digg Джей Аделсон начал переговоры с Google о покупке его компании поисковым гигантом за $200 млн (об этом как о свершившемся факте также шла речь на Хабре). Однако, некоторое время спустя стало известно о том, что в Google решили не покупать сайт ? согласно слухам, якобы из-за неудовлетворительного технического состояния ресурса и его инфраструктуры. Тем не менее, даже сам факт возможной покупки новостного сайта поисковыи гигантом оказал положительное влияние на ожидания инвесторов, и Адельсон успешно завершил третий раунд финансирования, получив в своё распоряжение еще $29 млн венчурного капитала. Узнать подробности
Известный проект Роскосмоса и Российской академии наук "Марс-500", в ходе которого был сымитирован пилотируемый полёт на Марс шести ?космонавтов?, согласившихся 520 суток просидеть в замкнутом помещении и стоивший $15 млн, судя по всему, в ближайшее время не получит реального применения. Генеральный конструктор и генеральный директор научно-производственного объединения имени С.А. Лавочкина Виктор Хартов признал, что пилотируемый полёт на Марс является нецелесообразным как с экономической, так и с научной точки зрения. На вопрос журналистов о планах покорения космоса, он ответил в том смысле, то лететь на Марс просто, чтобы оставить там свой след (подобно тому, как США предприняла ряд лунных миссий, чтобы не выглядеть по сравнению с СССР аутсайдером) не имеет смысла. Узнать подробности
Крис Уилкинс передает фотографию с помощью цифрового передатчика Hasselblad Dixel во время атаки ракет на Дхаран (Саудовская Аравия) в первую ночь войны в Персидском заливе, 17 января 1991 года. Ремесло фотокорреспондента в середине и конце XX века требовало не только мужества в свете постоянной опасности, таланта фотографа, знания новостей, политики, спорта, умения успевать думать и фотографировать на ходу, также требовалось быть отличным редактором, способным выбрать лучшие снимки для передачи в газеты на других концах мира, и, что самое главное, нужны были мощные спина и руки. Сегодня мы уже привыкли к огромным размерам файлов фотографий и, благодаря Интернету, чудовищно быстрым скоростям их передачи. Профессиональному фотографу для запечатления и доставки изображений на другой конец света нужен набор оборудования, способный уместиться в рюкзак. Однако, ситуация с багажом выездных фотографов более ранней эпохи ? каких-то двадцать лет назад ? была куда менее приятной. Читать дальше →
Как можно было заметить из моей предыдущей статьи со сравнением библиотек LINQ для PHP, библиотек много, а качества мало: ленивые вычисления не реализованы ни в одной библиотеке, тесты есть в половине случаев, типы коллбэков ограничены, а иногда и вовсе незнамо что выдаётся за LINQ. Поэтому я написал свою библиотеку. Встречайте: YaLinqo ? Yet Another LINQ to Objects for PHPВозможности: Самый полный порт .NET LINQ на PHP, со многими дополнительными методами. Некоторые методы отсутствуют, но работа ведётся. Всего реализовано более 70 методов. Ленивые вычисления, текст исключений и многое другое, как в оригинальном LINQ. Детальная документация PHPDoc к каждому методу. Текст статей адаптирован из MSDN. 100% покрытие юнит-тестами. Коллбэки можно задавать замыканиями, ?указателями на функцию? в виде строк и массивов, строковыми ?лямбдами? с поддержкой нескольких синтаксисов. Ключам уделяется столько же внимания, сколько значениям: преобразования можно применять и к тем, и к другим; большинство коллбэков принимает на вход и то, и другое; ключи по возможности не теряются при преобразованиях. Минимальное изобретение велосипедов: для итерации используются Iterator, IteratorAggregate и др. (и их можно использовать наравне с Enumerable); исключения по возможности используются родные похапэшные и т.п. Пример кода: // Отфильтровать продукты с ненулевым количеством, поместить в соответствующие категории, // отсортированные по имени. Продукты отсортировать сначала по убыванию количества, потом по имени. from($categories) ->orderBy('$v["name"]') ->groupJoin( from($products) ->where('$v["quantity"] > 0') ->orderByDescending('$v["quantity"]') ->thenBy('$v["name"]'), '$v["id"]', '$v["catId"]', 'array("name" => $v["name"], "products" => $e)' ); Детальное описание, обсуждение архитектуры, ссылки
В операционной системе от Microsoft предусмотрена глубокая интеграция с популярными социальными сетями, и сервис микроблогов Twitter в их числе. Чтобы читать ленту и общаться в пределах 140 символов, достаточно всего лишь ввести данные своей учетной записи в разделе настроек. Тем не менее, сторонние клиенты для доступа к Twitter стремительно набирают популярность, отчасти обусловленную поддержкой дополнительных, а порой и попросту уникальных возможностей. Всего в Marketplace уже более ста тысяч приложений, а программ для работы с Twitter больше десятка. Постараемся рассмотреть некоторые из них. Mehdoh Начнем, пожалуй, с одного их самых известных клиентов, скрывающегося под непривычным на слух названием. Основные разделы приложения привычны и знакомы любому пользователю социальной сети ? это лента, упоминания и личные сообщения. В лучших традициях Metro-интерфейса, канонам которого подчинены практически все программы из Marketplace, с помощью горизонтального пролистывания вы можете быстро получить доступ к любому из разделов. Читать дальше →
Под стеком web-приложений мы будем подразумевать множество программных продуктов с открытым исходным кодом: операционная система, web -сервер, сервер БД и среду исполняемого кода. Наиболее известным и обыденным стеком является LAMP. Это акроним для стека web-приложений на базе бесплатных решений с открытым исходным кодом. Название составлено из первых букв входящего в его состав продуктов: Linux (операционная система), web -сервер Apache, база данных MySQL, и PHP (иногда Perl или Python). Опубликованные нами ранее материалы, посвященные вопросам безопасности, рекомендуют держать различные сетевые службы на выделенных под эти цели серверах или виртуальных машинах. Это позволит изолировать скомпрометированные и взломанные злоумышленником элементы системы, в случае если последний получит возможность эксплуатации ошибок в одном из звеньев сети обслуживания. Статья также является ответом на наиболее часто задаваемые нашими читателями вопросы, присланными нам по электронной почте. В руководстве я объясню, как построить решение на базе физических или виртуальных серверов, одинаково подходящих для раздачи статического и динамического контента, для приложений, требующих наличие БД и кэширования. Читать дальше →
Захотелось мне написать файлообменник (для личных нужд, с нуля), да не простой, а с красивым прогресс-баром, ? с отображением процесса загрузки файлов на сайт. И остановился я на чисто серверном решении nginx с модулями nginx-upload и nginx-upload-progress. nginx не нуждается в описании; nginx-upload управляет процессом загрузки данных, который затем может передать результат на бэкенд, ? ваш PHP скрипт (или еще куда); nginx-upload-progress же отвечает исключительно за информирование о процессе загрузки, ? все написано в документации, но в кратце лишь скажу, что со страницы выполняется ajax-запрос на сервер со специальным http-заголком, в котором хранится уникальный id, и в json-ответе по этому id мы можем узнать состояние загрузки данных. Но а теперь, хочу поделиться с вами, как легко и просто организовать загрузку файлов с прогресс-баром. С нуля. Для нетерпеливых, что должно получиться: загрузка нескольких файлов сразу, определение скорости, времени и рисование самого прогресс-бара. Читать дальше →

Отписаться от этой рассылки