Лично я, при всей моей вере в C++, считаю, что даже в редакции 2011, этот язык крайне недружелюбен в плане многозадачности и многопоточности. В качестве очередной попытки переубедить себя в этом я попробовал сделать многопоточный QuickSort.
В этом алгоритме получается после фазы разбиения запустить сортировки подчастей параллельно.
Уважаемые и многолюбимые хабравчане, предлагаем вам ознакомиться с крайне интересным материалом нашего аналитика Александра Горячева, написанным специально для Habrahabr. Статья посвящена обзору существующих уязвимостей крайне популярной мобильной платформы Android, а также тому, как можно было бы сделать ее более безопасной. Комментарии и собственные соображения по теме приветствуются.
ОС Android за небольшой промежуток времени стала одной из самых популярных систем для всевозможных мобильных устройств. Ее используют как крупные производители с мировым именем, так и небольшие компании, поэтому ценовой разброс готовой продукции, такой как смартфоны и планшетные компьютеры, позволяет удовлетворить потребности потребителей практически на сто процентов. Именно широкий ассортимент, гибкое ценообразование и поддержка платформы со стороны внушительного числа производителей стали одними из главных факторов успеха и позволили системе занять нынешнее положение на рынке.
В топике — основные действия по обеспечению непрерывности бизнеса, которые дают базовый результат. Эти действия помогут избежать катастрофы, выполнить аварийное восстановление и выйти из ситуации с минимальными потерями.
Напоминаю, руководство внедрением — задача очень ценимая руководством, и, почти всегда в России, ведущая к карьерному росту.
Если вы продаете онлайн-сервис, вам, наверное, хотелось бы видеть, что происходит на каждом этапе воронки продаж. Из анализа воронки можно сделать важные выводы: насколько понятен и удобен процесс установки и начальной настройки приложения, как много и какие клиенты становятся активными пользователями сервиса, какой процент переходит с бесплатной версии на платную. Кроме того, по динамике коэффициентов конверсии можно делать вывод об эффективности принимаемых мер для увеличения продаж.
Под катом вы найдете описание некоторых приемов работы с Excel, которые могут быть полезны при анализе массивов данных. Мы расскажем, как мы ведем управленческую статистику по сервису jivosite.ru с помощью сводных таблиц Excel и подключения к MySQL через ODBC на примере отчета по воронке продаж. Предлагаемый способ довольно прост и универсален, с его помощью можно строить красивые отчеты за считанные минуты.
Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.
В настоящее время интернет полон историями успеха, как проекты засветившиеся на Kickstarter’e, получают несколько миллионов долларов (Pebble – 7 млн$, Double fine Adventure – 3,3 млн$). Суммы в несколько миллионов — по-настоящему серьезные инвестиции, удивляет, что это деньги не специальных инвестиционных фондов, а простых граждан.
Всегда задаюсь вопросом, как команды, представляющие свои проекты на Kickstarter, делают такие прекрасные промо-видео ролики. Несмотря на то, что ролики до банальности просты: «Фокусировка крупным планом на лидере проекта, смотрящем в даль, много афоризмов и клише, выступление всей команды, видеоряд с рабочими местами, зажигательная музыка.»
Сразу говорю, кармавиджет — вовсе не основная цель статьи. В этой статье я хочу представить широкой общественности способ быстрого создания информационных виджетов для Android на JavaScript всего лишь на примере кармы и рейтинга хабра. Виджет будет смотреться примерно так:
Виджет будет представлять собой плагин для программы AnyBalance (Android), основная идея которой — собрать общую базу способов извлечения балансов и прочих параметров из личных кабинетов различных провайдеров, например, балансов на сотовых телефонах, интернет провайдерах и т.д. Эти плагины (будем их дальше называть «провайдерами») пишутся на JavaScript и имеют открытый исходный код. Сейчас база AnyBalance содержит около 80 провайдеров, но постоянно расширяется. И хабрахабр там будет не лишним :)
За свой не малый опыт (18 лет из своих 31) системного администрирования, программирования и «эникейства», а так же активного участия в жизни любой организации, в которых работал, я выработал правила, которые помогали увеличивать количество клиентов не ухудшая качества работ. Это в основном советы (на манер некого знаменитого сайта про советы) «сисадминам», которые работают «на себя», в малом и среднем бизнесе, а так же в государственных организациях.
Правила мне помогали «в одного» иметь парк по городу Новосибирск 100-150 компьютеров без потери качества работ и ситуаций когда от моих услуг отказывались и не уставать ибо ещё семья.
Очень трудно в то время когда задача есть, а с кем-то посоветоваться не можешь.
Сейчас общение заменил интернет и форумы, раньше это только бессонные ночи и эксперименты (например, иметь в своём тех. отделе специальный компьютер, на котором мы тестировали вирусы и изучали как они работают и как их лечить).
Уверен, что эти советы кому-то помогут, а у кого-то вызовут ностальгию по этой профессии.
1. Клиент — это самое важное, что имеется у нас в «админском» деле! Это и бухгалтер и техничка.
2. Архивы это то, что нас отделяет от «смерти», нерадивых конкурентов и нашей хорошей репутации.
После недавних событий по массовому открытию новых облачных хранилищ ваш покорный слуга задался вопросом: «Какие есть сейчас хранилища и куда можно запихнуть свои жизненно необходимые файлы?»
Некоторое время рысканья по хабру/гуглу и прочим конторам привело к следующему списку хранилищ:
Если вы любите серфить в интернете с мобильного устройства и периодически замечали, что при посещении Википедии ваш смартфон разряжается значительно быстрее, чем при чтении статей на Хабре, то теперь этому есть разумное объяснение.
Команда исследователей из Стенфордского Университета провела работу по изучению зависимости разряда батареи от того, какой сайт при этом был открыт в мобильном браузере.
В качестве тестируемого аппарата было выбрано устройство на Android с 3G-интернетом, на котором открывались популярные сайты, среди которых такие как CNN, BBC, Gmail, Amazon, Microsoft, eBay, Yahoo, Facebook, IMDB, Apple и Wikipedia.
Вы думали, что новые аутентичные шрифты создают дизайнеры? Может быть и так, но и программист тоже на это способен — особенно, если у него есть художественный вкус. Разработчик Дэн Сэйверс (Dan Sayers) сделал очень красивый фонт Avería, просто усреднив все шрифты, установленные на его компьютере.
Вы разрабатываете приложения и ищете мощный инструмент для их анализа? Вам нужно удобное представление их архитектуры? Вы пытались разобрать байт-код Android-программ? Всё это умеет новый виртуальный инструмент анализа приложений ApkAnalyser от Sony, который поставляется с открытым исходным кодом.
ApkAnalyser предназначен для валидации и проверки работы вашего приложения. Вы можете распаковать, установить, запустить и проверить результаты команды Logcat. C помощью ApkAnalyser вы также сможете декодировать XML, выявить потенциальные уязвимости в вашем приложении и многое другое. ApkAnalyser полностью написан на Java и потребует JRE 1.6 или выше; работает на Windows, Linux и Mac OS X.
Во второй части будут рассмотрены арифметическое кодирование и преобразование Барроуза-Уилера (последнее часто незаслуженно забывают во многих статьях). Я не буду рассматривать семейство алгоритмов LZ, так как про них на хабре уже были неплохие статьи.
Итак, начнем с арифметического кодирования — на мой взгляд, одного из самых изящных (с точки зрения идеи) методов сжатия.
Как уже писали на Хабре, разработчик широко известного в узких кругах Minecraft'а Маркус «Notch» Перссон в данный момент занят разработкой новой игры, действие которой будет происходить в космосе в 281 474 976 712 644 году.
Как и Майнкрафт, игра будет нестандартной: главная «фишка» — полностью эмулируемый процессор, под управлением которого космические корабли и будут бороздить просторы Большого… э, Вселенной. Поскольку персонажи игры в год 0x10C (игра, собственно, так и называется) попали прямиком из 1980 года, то и процессор DCPU-16 по своим характеристикам примерно соответствует той эпохе: 128 килобайт оперативной памяти, 100 килогерц, нехитрый набор команд.
Несмотря на то, что игра находится еще в очень ранней стадии разработки, спецификация процессора уже доступна для ознакомления — и уже формируются сообщества, участники которых разрабатывают множество всяких интересных штук под несуществующую платформу. Ваш покорный слуга — в числе этих людей, и в этом посте я хочу рассказать об одной из таких вещей: реализации Тетриса для DCPU-16.
(и сразу дисклеймер: музыка в ролике наложена отдельно для художественной, так сказать, выразительности; DCPU пока выводить звук, увы, не позволяет)
Под катом Вас ждет увлекательная история о том, как я сильно расстроился, познакомившись поближе с пользовательскими литералами (с нового стандарта), но при этом в последствии все же реализовал вышеупомянутую функцию, а также разобрался с constexpr, а позже еще и реабилитировал те самые литералы.
В последнее время словосочетание «машинное обучение» (Machine Learning, ML) стало невероятно модным. Подобно любой распиаренной технологии, энтузиазм здесь превосходит уровень реализации конкретных продуктов. Можно спорить, но мало какие алгоритмические технологии со времен потрясающих инноваций от Google 10-15 лет назад привели к появлению продуктов, широко распространившихся в массовой культуре. Не то, чтобы с тех пор не было прорывов в машинном обучении, не было столь потрясших и имевших в основе вычислительные алгоритмы. Netflix может использовать умные рекомендации, но он и без этого Netflix. А вот если бы Брин и Пейдж не анализировали в своих корыстных целях графовую структуру веба и гиперссылки, у нас не было бы Google.
Почему так? Ведь пытались же. Немало стартапов хотели нести технологии машинной обработки естественного языка в массы, но все по очереди канули в Лету, после того, как люди, собственно, пробовали их использовать. Сложность получения хорошего продукта с использованием машинного обучения не в понимании основной теории, но в понимании сферы деятельности и поставленной задачи. Понимании столь глубоком, чтобы на интуитивном уровне видеть, что будет работать, а что нет. У интересных задач нет готовых решений. Наш текущий уровень в каких-либо прикладных областях, например, той же обработке естественного языка, сильнее движут вперед откровения, относящиеся к этой области, чем новые техники решения общих задач машинного обучения. Часто отличие программы, используемой каждый день, от полуработающей курсовой — это особый взгляд на проблему и хорошая модель решения.
Я не пытаюсь убедить вас не делать классных продуктов, основанных на машинном обучении. Я всего лишь пытаюсь прояснить, почему это так непросто.