Рубрика «Блог компании Проектная школа программирования GoTo»

В распределенных системах есть ряд фундаментальных проблем: эффективные распределенные транзакции, exactly-once обработка данных, точная синхронизация физических часов. Для решения последней проблемы были изобретены разные виды логических часов.

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

Однако, можно придумать нечто более надежное — Kronos. В статье мы посмотрим на алгоритм учета причинно-следственной связи и его применение для построения Key-Value хранилища с распределенными транзакциями.

image

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

image

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

Обычно темпы развития обсуждаются в контексте экономики, однако это можно также применить и в карьере, что очень здорово. Маленькое зернышко продуктивности, взращиваемое на протяжении 50 лет, стоит очень многого! Поэтому необходимо выяснить, как же оптимизировать продуктивность. Если вы каждый день выполняете свою работу на 10% больше и на 1% лучше, чем кто-либо другой, итоговая разница будет просто невероятной.

Над чем вы работаете

Совсем не важно, как быстро вы движетесь к цели, если она не является стоящей. Выбор правильного объекта это самый важный аспект продуктивности и зачастую самый игнорируемый. Так что действительно задумайтесь об этом! Мыслить самостоятельно непросто, однако, стоит только начать — дальше будет легче. Читать полностью »

image

Статья 2006 года.

Бьёрн Страуструп, изобретатель языка программирования C ++, защищает свое наследие и рассказывает, что не так с большей частью программного кода.

В 1980-х и 90-х годах Бьёрн Страуструп разработал и внедрил язык программирования C ++, который популяризировал объектно-ориентированное программирование и повлиял на многие другие языки программирования, включая Java.

C ++ остается архетипическим «высокоуровневым» компьютерным языком (то есть языком, который сохраняет особенности естественного, человеческого языка), и он по-прежнему используется миллионами программистов. Многие из систем и приложений эры ПК и интернета были написаны на C ++. Несмотря на это, язык остается спорным, во многом потому что его, как известно, трудно изучать и использовать, а также потому, что дизайн Страуструпа позволяет разработчикам допускать серьезные ошибки программирования в интересах сохранения их свободы.

Страуструп, на протяжении многих лет работающий в AT & T Bell Labs, теперь является профессором компьютерных наук на факультете инженерии в Техасском университете A&M, недалеко от Хьюстона.

Технологический обзор: почему большая часть программного обеспечения настолько плоха?

Бьёрн Страуструп: Некоторые программы на самом деле довольно хороши по любым стандартам. Подумайте о Mars Rovers, Google и проекте “Геном человека”. Это качественное программное обеспечение! Пятнадцать лет назад большинство людей, и в частности большинство экспертов, сказали бы, что каждый из этих примеров невозможен. Наша технологическая цивилизация зависит от программного обеспечения, поэтому, если бы программное обеспечение было бы в действительности таким же плохим, как и его наихудшая репутация, большинство из нас уже были бы мертвы.
Читать полностью »

image

Позвольте мне начать с показа видео, записанного Национальным научным фондом (National Science Foundation, далее NSF) на недавно прошедшей церемонии вручения дипломов в Гарварде, в котором они просили некоторых выпускников и их преподавателей ответить на несколько простых вопросов о том, что является причиной смены времен года и фаз Луны. Все были уверены в своих ответах, но пояснения приблизительно 95% опрошенных даже и близко не были похожи на научное обоснование.

Их основные теории основывались на том, что смена времен года является следствием уменьшения расстояния между Землей и Солнцем в летний период, и что фазы Луны связаны с отбрасываемой Землей тенью. Некоторые из выпускников довольно много занимались наукой и в старшей школе, и в Гарварде. NSF использовал эти данные, чтобы открыть дискуссию на тему того, почему наука не усваивается так хорошо, даже после многих лет обучения. Не усваивается так хорошо даже большинством успешных студентов, с высокими показателями в SAT, в лучших университетах, с полным доступом к компьютерам, сетям и информации.

Моя реакция была немного иной. Я все ждал «других вопросов», которые должен был задать NSF, но они так их и не задали. Такой шанс мне выпал через несколько недель после выступления в UCLA. Я задал некоторым старшеклассникам, аспирантам первого курса, и нескольким профессорам те же самые вопросы про смену сезонов и фазы Луны, и получил очень похожие результаты: около 95% опрошенных давали фиктивные объяснения, обосновываясь на том же самом, что и студенты и профессора Гарварда, Но теперь я должен задать следующие вопросы.
Читать полностью »

«Это самое глубокое эссе, которое я видел относительно философии науки; на самом деле, оно важно для всего нашего понимания мысли, познания или реальности.»

image

Пролог

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

Человек, насколько мы знаем, всегда задавался вопросом о себе, мире вокруг и смысле жизни. Во множестве мифов повествуется о том почему и как Бог или боги создали человека и вселенную. Это теологические объяснения. Их отличительная черта — нет смысла спрашивать почему вещи таковы, как они есть, если боги создали их такими.

Философия возникла тогда, когда человек задался вопросом о мире вне этих теологических рамок. Например, мир древние философы представляли как сочетание земли, огня, воды и воздуха. Без сомнения их убеждали в том, что мир создан богами и не нужно беспокоиться по этому поводу.

Из этих ранних попыток объяснить мир постепенно возникла философия, также как и современная наука. Не то чтобы наука объясняет «почему» вещи таковы, как они есть — гравитация не объясняет «почему» предметы падают, но наука дает нам столь детальное объяснение «каким образом» это происходит, что у нас появляется чувство, будто мы знаем «почему». Давайте проясним; море связанных между собой фактов позволяет науке сказать «почему» вселенная именно такая.
Читать полностью »

У меня в запасе есть несколько тем, о которых можно писать и писать. Одна из них это «кумиры».

Конечно же, это не список самых почтенных людей в мире. Я думаю, такой список вряд ли кто и сможет составить, даже имея при этом огромное желание.

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

Мне нужно было подумать о ком-то и понять, является ли этот человек моим героем. Мысли были разнообразны. Например, Монтень, создатель эссе, выбыл из моего списка. Почему? Тогда я спросил себя, что требуется, чтобы назвать человека героем? Оказывается, нужно всего лишь представить что бы этот человек сделал на моем месте в той или иной ситуации. Согласитесь, это не восхищение отнюдь.

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

Джэк Лэмберт

image

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

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

Моими любимыми примерами ранней науки и замечательной общей метафорой о том, чем занимается наука являются попытки точного картографирования, которое было начато греками и потеряно впоследствии на тысячи лет, а затем возобновлено в 15 веке. К концу 1700-ых люди были в восторге от того, что могли купить карманный глобус «мира таким каким он выглядит из космоса». Спустя 200 лет мы вышли в космос, вспомнили прошлое, сделали фотографии и увидели то, что уже давно определили составители карт в 18 веке.

image

Все научные процессы и знания носят этот характер: это попытки «увидеть» и представить вещи очень точно с разных точек зрения, которые не являются частью наших разумных догадок о мире. Мы хотим сделать невидимое видимым. Большую часть истории человечества наши теории о себе и о мире, в котором мы живем, были, в основном, построены на необоснованных убеждениях, которые служили утешительными историями. Несколько лет назад мы обнаружили новый способ видения, который позволил нам воспринимать физический мир как бы «из космоса» с гораздо меньшим количеством предрассудков. В XXI веке нам нужно не только сделать это для физического мира, но и понять наше человеческое состояние словно смотрим на него «из космоса», без каких-либо утешительных историй, но с более глубоким пониманием того, как нам бороться с нашей человеческой природой и воспитанием.
Читать полностью »

Как и зачем коммуна юных программистов, старых троллей и вечно молодых любителей функционального программирования делает этот переход, правда ли во всём виноват РКН, рассуждения про средства коммуникации сообществ и дух опен-сорса — под катом.

Молодой программист на свежем воздухе

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

«He who controls the past, commands the future. He who commands the future, conquers the past.»

image

Подрастает орда миллениалов, кругом одни фрилансеры, работающие за биткоины, вот-вот вылупится зародыш искуственного интеллекта, толпы бессмертных людей воюют против…

«Черное зеркало», «Элизиум», «Видоизмененный углерод», «Бегущий по лезвию», «Электрические сны Филлипа Дика», «Рик и Морти». «Мы», «Скотный двор», «О дивный новый мир», «1984». Какие «картинки» у нас в голове про будущее?

Под катом — обзор роликов с видением будущего от Intel, Microsoft, Google, Citrix.
Читать полностью »

image Alyson La, Data science в GitHub: В октябре этого года я отпраздновала свой пятилетний юбилей работы в GitHub. 5 лет назад я была бухгалтером, который ничего не знал о программировании, не говоря уже об использовании Git и GitHub.

Теперь я энтузиаст Data Scientist, который знает некоторые вещи о написании кода с помощью Git & GitHub. Частично благодаря изучению этих технологий я сделала этот карьерный переход.

Но даже работая в GitHub, изучать Git и GitHub было сложно! Поэтому я хочу поделиться 5-ью советами по использованию GitHub с другими людьми, новичками программирования.

Совет № 1: Измените редактор по умолчанию

Для многих людей текстовый редактор при использовании Git через терминал — VIM. VIM может быть ужасным, страшным для нового или казуального хакера. Или даже для ветеранов-хакеров как @haacked.

image

Если вы когда-нибудь столкнетесь с конфликтами слияния (а вы их встретите, см. совет №4), вы попадете в VIM, чтобы исправить конфликт, и вам нужно будет знать конкретные команды VIM для редактирования документа иначе вам захочется плакать. Больше года у меня была заметка на мониторе для напоминания основных команд VIM, таких как i (для редактирования) и: wq (для сохранения и выхода). Чтобы избежать боли, вы можете просто выбрать другой текстовый редактор.
Читать полностью »