Pull to refresh
0
0
Send message

Об одном методе распределения памяти

Reading time17 min
Views29K
image
Не секрет, что иногда выделение памяти требует отдельных решений. Например — когда память выделяется и освобождается стремительным домкратом потоком, в параллельных задачах.

В результате стандартный консервативный аллокатор выстраивает все запросы в очередь на pthread_mutex / critical section. И наш многоядерный процессор медленно и печально едет на первой передаче.

И что с этим делать? Познакомимся поближе с деталями реализации метода Scalable Lock-Free Dynamic Memory Allocation. Maged M. Michael. IBM Thomas J. Watson Research Center.

Самый простой код что я сумел найти — написан под LGPL камрадами Scott Schneider и Christos Antonopoulos. Его и рассмотрим.

Читать дальше →
Total votes 103: ↑101 and ↓2+99
Comments62

man!( Go => D ).concurrency

Reading time8 min
Views14K

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

Если вы уже наигрались с Go, устали от копипасты, ручного жонглирования мьютексами и всерьёз подумываете о приобретении протезов для рук, то позвольте предложить вашему вниманию перевод Tour of the Go с эквивалентным кодом на D и краткими пояснениями.


Часть первая. Основы.


Часть пятая. Сопрограммы.

Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments93

Пишем на D для Raspberry Pi

Reading time5 min
Views10K

Dlang, или просто D — молодой язык программирования с многолетней историей. Не смотря на то, что язык с таким названием появился очень давно, то, что сейчас называется D2 или просто D, появилось недавно и слабо напоминает предшественника. Писать на D очень удобно, а произодительность не уступает C++, поэтому не удивительно, что он добрался до ARM и его мобильных представителей Android и iOS. Кроме того растёт интерес к интернету вещей и просто портативным устройствам.
В статье рассмотрена задача кросскомпиляции кода на dlang для Raspberry Pi. В этом нет ничего сложного, да и подводных камней не замечено. Данная публикация — простой мануал для начала использования D на разных устройствах в целом и Raspberry Pi в частности.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments12

Как новые руководители разрушают доверенные им компании

Reading time26 min
Views400K
Эта статья – о рисках смены руководства в больших компаниях и характерных явлениях при попытках игнорировать закон эффективного управления собственностью:
Эффективно управлять можно только той собственностью, которую мог бы создать сам.
Кто не может создать, – будет только разрушать!
И.А. Дедюхова, Кодекс Хамурапи
Картинка для привлечения внимания читателей из поколений Y и Z:


Краткое содержание


Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments95

Функциональное программирование должно стать вашим приоритетом №1 в 2015 году

Reading time7 min
Views49K

— ООП не сможет больше спасать нас от «Облачных монстров».



Примечание переводчика: Есть два понятия — параллельность (выполнение одновременно, независимо) и конкурентность (выполнение по шагам, поочерёдно, но одновременно несколько задач) и как всегда, мне пришлось поломать голову подобрая правильные термины.

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


Возможно вы уже слышали такое выражение, вроде: “Clojure”, “Scala”, “Erlang” или даже “Java теперь имеет лямбды”. И вы имеете хоть и отдалённое представление о «Функциональном программировании». Если вы участник какого-либа программисткого сообщества, тогда эта тема могла уже вами обсуждаться.

Если вы поищите в Google по словосочетанию «Функциональное программирование», вы не увидите что-то нового. Второй язык из созданных ранее уже охватывает эту тему, он был создан в 50-ых и называется Lisp. Тогда, какого чёрта, эта тема стала популярна только сейчас? Всего то 60 лет спустя?

В начале, компьютеры были очень медленными



Верите вы этому или нет, но компьютеры были нааамного медленнее чем DOM. Нет, действительно. И в то-же время были 2 основные идеи в соглашении по дизайну и реализации языков программирования:



Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments101

Нотч переживает тяжёлые времена

Reading time2 min
Views51K


Прошёл почти год с тех пор, как Microsoft купила за $2,5 млрд шведскую компанию Mojang AB, разработчика известной игры Minecraft.

Маркус [Нотч] Перссон после этой сделки стал миллиардером. По оценке Forbes, личное состояние разработчика оценивается в $1,3 млрд.

К сожалению, деньги не принесли радости. Сегодня Маркус опубликовал серию очень печальных твитов, которые вызывают сочувствие и беспокойство за него.
Читать дальше →
Total votes 60: ↑43 and ↓17+26
Comments102

TIS-100 — паззл про многопоточный ассемблер, который никто не ждал

Reading time3 min
Views84K
image

Удивительно, но никто не написал ничего про игрушку «TIS-100», которая недавно появилась в Steam (стоит всего 150 рублей, уже 460 положительных отзывов против 6 отрицательных).

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

Итак, о чем игра?
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments24

Шпаргалка для кандидата: какие вопросы задать потенциальному работодателю на собеседовании

Reading time6 min
Views392K
У каждого кандидата в конце собеседованию рекрутер обычно спрашивает, есть ли вопросы. Часто люди теряются и не находят, что спросить. И лишь по прошествии некоторого времени (часто, когда человек уже работает в компании) сами собой всплывают вопросы, о которых нужно было поинтересоваться заранее, а не брать кота в мешке и удивляться «Как я сюда попал? Куда я смотрел? Почему я об этом не подумал?». Это так называемый «эффект лестницы». Я подготовил шпаргалку, что ты, %habrauser%, не растерялся.

Общее


1. Рабочий график и можно ли его двигать?
Я люблю поспать. Но на моей прошлой работе «рабочее утро» начиналось в 7:30. Мало того, что я довольно часто не мог прийти к этому времени, я еще пол дня занимался тем, что пытался привести себя в рабочую форму. Где то до 10:00. С 10:30 до 11:30 я усердно работал. Потом был обед. А потом мне хотелось спать, а не работать, т.к. я не высыпался еще с утра. Надо ли говорить, что вместо 8 часов, на которые меня нанял работодатель, я работал в «потоке» только часа 3-4. Так что для себя нужно решить вопрос – когда я наиболее трудоспособен? И обговорить рабочий график с руководством. И еще один нюанс. Попробуйте закрепить обговоренный график в трудовом договоре или контракте (далее ТД), если работодатель идет на персональный рабочий график для Вас. Никаких устных договоренностей. Иначе Вам начнут крутить руки уже в процессе работы (как это было со мной).
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments30

Вы неправильно пишете животных

Reading time5 min
Views358K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

Не знаю, кто писал большую часть птиц, но я хочу обратить внимание на особенность, позволяющую провести инъекцию произвольного яйца в гнездо. Дело в том, что птица проверяет только расположение и количество яиц, но не их хэши. В 20% случаев кукушка, эксплуатирующая этот баг, может внести яйцо с сохранением контрольной суммы, чего вполне достаточно для повышения прав в гнезде.

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4+434
Comments351

Tree — убийца JSON, XML, YAML и иже с ними

Reading time11 min
Views172K
Здравствуйте, меня зовут Дмитрий Карловский и я… много думал. Думал я о том, что не так с XML и почему его в последнее время променяли, на бестолковый JSON. Результатом этих измышлений стал новый стандарт формат данных, который вобрал в себя гибкость XML, простоту JSON и наглядность YAML.

image Tree — двумерный бинарно-безопасный формат представления структурированных данных. Легко читаемый как человеком так и компьютером. Простой, компактный, быстрый, выразительный и расширяемый. Сравнивая его с другими популярными форматами, можно составить следующую сравнительную таблицу:
Больше — лучше JSON XML YAML INI Tree
Человекопонятность 3 1 4 5 5
Удобство редактирования 3 1 4 5 5
Произвольная иерархия 3 3 3 1 5
Простота реализации 3 2 1 5 5
Скорость парсинга/сериализации 3 1 1 5 5
Размер в сериализованном виде 3 1 4 5 5
Поддержка поточной обработки 0 0 5 5 5
Бинарная безопасность 3 0 0 0 5
Распространённость 5 5 3 3 0
Поддержка редакторами 5 5 3 5 1
Поддержка языками программирования 5 5 3 5 1
Читать дальше →
Total votes 275: ↑168 and ↓107+61
Comments629

DlangUI — кросплатформенный GUI для D (Часть 1)

Reading time12 min
Views17K
Мне нравится язык D. Давно слежу за его развитием. Для D есть несколько GUI библиотек и биндингов, но я решил изобрести свой велосипед.
Хочу рассказать о своём проекте DlangUI. Надеюсь, что он кому-нибудь будет полезен.



На КДПВ скриншот DlangIDE — приложения, написанного на DlangUI.

Особенности:

  • Кроссплатформенность — поддерживаются Windows, Linux, Mac OSX; легкость портирования на другие платформы
  • Написан на D — легкорасширяемый
  • Использование Layouts для позиционирования элементов интерфейса
  • Масштабирование шрифтов и иконок в приложении в зависимости от разрешения экрана
  • Поддержка Unicode
  • Интернационализация — поддержка перевода UI на несколько языков
  • Аппаратное ускорение с помощью OpenGL (опционально)
  • Возможность отрисовки виджетов поверх OpenGL сцены (например, для UI в игре)
  • Небольшой размер исполняемого файла
  • Внешний вид интерфейса настраивается с помощью тем (две стандартные темы — светлая и темная)
  • Встраивание ресурсов в исполняемый файл
  • Открытый исходный код, под лицензией Boost License 1.0
Подробности
Total votes 45: ↑44 and ↓1+43
Comments48

Восстановление зрения

Reading time2 min
Views45K
Однажды у меня появились видеозапись лекций Жданова.
Так были предложены упражнения для глаз. Я решил попробовать выполнять их, чтобы проверить их эффективность.
Ниже вы увидите сами упражнения.

Читать дальше →
Total votes 162: ↑114 and ↓48+66
Comments180

С точки зрения физики: Интерстеллар

Reading time1 min
Views52K


«Интерстеллар» — новый фантастический фильм режиссера Кристофера Нолана. В российском прокате фильм стартует 6 ноября. Это видео о том, как кинорежиссер Кристофер Нолан и физик Кип Торн совместили компьютерную графику и научную реальность, чтобы создать наиболее точную визуализацию черной дыры за всю историю кино. Мировая премьера фильма состоялась 26 октября 2014 г.

Наше время на Земле подошло к концу, команда исследователей берет на себя самую важную миссию в истории человечества; путешествуя за пределами нашей галактики, чтобы узнать есть ли у человечества будущее среди звезд.
Читать дальше →
Total votes 70: ↑56 and ↓14+42
Comments48

6 ссылок о том, что Google знает о вас

Reading time2 min
Views447K
Не желаете ли узнать о том, что Google знает о вас? Вот 6 ссылок, которые покажут вам некоторые данные, собранные гуглом.

1. Ваш профиль в Google

Google создаёт профиль с вашими основными данными – возраст, пол, интересы. Эти данные используются для показа релевантных объявлений. Вы можете просмотреть эту информацию здесь:

www.google.com/ads/preferences

(прим.перев. – в моём случае гугл не блещет информацией. Я не состою в Google+, а по посещённым мною сайтам гугл не смог определить мой пол, а возраст определил в 65+ лет).
Читать дальше →
Total votes 109: ↑102 and ↓7+95
Comments56

20 ноября — запуск первой стратегической MMO-игры для… программистов

Reading time4 min
Views22K
В следующий четверг состоится запуск проекта, над которым мы работали последние несколько месяцев. Screeps — первая известная мне стратегическая игра в MMO-песочнице, созданная для программистов. Вместо традиционного Point'n'click, геймплей заключается в написании и постоянном улучшении программы для AI ваших юнитов на JavaScript, которая управляет ими непрерывно и автономно — даже когда вы не онлайн. Это радикально новая идея, и если вы программист, вам определенно стоит на это взглянуть.



Если вы программист, то не думали ли вы в предыдущий раз, когда играли в свою любимую онлайн-игру, чтобы было бы здорово как-нибудь ее автоматизировать? Зачем тратить время своей жизни на выполнение действий, которые легко выполняются ботом? Почему вы должны каждый день заходить в игру, чтобы получить награду, если с этим легко справился бы скрипт? Больше никакой бессмысленной траты времени на действия, которые под силу и ребенку, мы же способны на большее. В Screeps скрипты не просто разрешены, Screeps это игра о скриптах!

Под катом технические и игровые подробности.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments80

Геймджемы и с чем их едят

Reading time4 min
Views35K
Привет, Хабр!

За последний год такое понятие, как геймджем стало очень популярным в России и в мире. Чуть ли не каждую неделю большое количество игровых разработчиков собирается, чтобы в сжатый срок сделать игру, на тему джема. Но есть люди, которым данное понятие все еще в новинку. Именно для них эта статья.

image

Читать дальше →
Total votes 28: ↑20 and ↓8+12
Comments19

Сотрудники Google добавили квантовую физику в Minecraft

Reading time1 min
Views141K
Группа разработки искусственного интеллекта Google Quantum A.I. Lab Team выпустила мод Minecraft под названием qCraft, который привносит в игровую вселенную некоторые принципы квантовой физики.



Это не симуляция квантовой физики, а скорее весёлый эксперимент. В мире qCraft можно встретить объекты, которые одновременно и существуют и не существуют, вид которых зависит от позиции наблюдателя, возникающие из ниоткуда колодцы и пропадающие лестницы — своеобразные аналоги того, что происходит с частицами в планковском масштабе, принципов запутанности и суперпозиции.
Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments29

Сингулярность действительно близко

Reading time2 min
Views78K
image

Привет. Меня зовут Марк и я перевожу адаптирую и интерпретирую книгу Р. Курцвейла «The Singularity Is Near». Если вам не знаком Курцвейл и вы первый раз услышали про Сингулярность — посмотрите что об этом думают другие:

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

Билл Гейтс

«Любой человек может понять главную идею Курцвейла: технологии человечества развиваются так же, как растет снежный ком, что означает фантастические перспективы в ближайшем будущем. Это понятно всем. Но для более любознательных есть интересные детали и подробности….»

The New York Times

«Волнующий и чрезвычайно глубокий взгляд на человечество как вид. Курцвейл является блестящим ученым и футуристом…»

The New York Sun

Это настольная книга любого «истинно верующего» технократа, трансгуманиста и футурофила, если в двух словах. Именно эта книга считается лучшей работой Курцвейла и одной из лучших книг, описывающих ближайшее будущее человечества как биологического вида.
Читать дальше →
Total votes 136: ↑115 and ↓21+94
Comments96

Будущее нашей цивилизации: гибель или бессмертие?

Reading time16 min
Views95K
Наблюдая за тем, как развивается технический прогресс, наука и медицина, все чаще приходишь к мысли, что к концу XXI века человечество обретет силу древних богов, о которых когда-то слагались мифы. Но к чему все это приведет и что ждет нас на пути к Олимпу?

image

Все технические революции, которые мы наблюдаем, можно считать этапами большого пути к одной великой цели: созданию планетарной цивилизации. Переход к ней должен стать, вероятно, величайшим событием в истории человечества. Мало того, поколение живущих сегодня людей можно смело считать самым значительным из всех, что когда-либо жили на нашей планете. Именно они должны определить, достигнет ли человечество этой великой цели или будет ввергнуто в пучину хаоса. С того момента, когда наши предки впервые вышли из Африки около 100 000 лет назад, миновало около 5000 поколений, но лишь одно поколение — сегодняшнее — определит судьбу нашего мира.
И к чему это все?
Total votes 137: ↑126 and ↓11+115
Comments76

Возврат денег за Windows 8 на ноутбуке Lenovo в Нотике

Reading time21 min
Views221K
В этом посте излагается моя история по возврату windows 8.
Купил ноутбук Lenovo в магазине Нотик. Деньги удалось вернуть в досудебном порядке, за что большое магазину спасибо. Это сэкономило время как мне, так и вам. Это также уменьшило ваши расходы на моего адвоката (в случае если бы я выйграл дело, а я бы обязательно выйграл), штраф в размере 50% стоимости сделки, а также выплаты неустойки. Кроме того, я бы требовал возврата общеизвестной стоимости Windows 8, а не той суммы, которую определила леново.




О том, что нужно сделать для возврата восьмёрки читайте делее.
Читать дальше →
Total votes 223: ↑169 and ↓54+115
Comments444
1
23 ...

Information

Rating
Does not participate
Registered
Activity