Pull to refresh
25
0
Vlad Tsepelev @yetithefoot

User

Send message

Первые свидетельства в пользу физической теории происхождения жизни

Reading time 9 min
Views 85K

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


image

Биофизик Джереми Ингланд взбудоражил общественность в 2013 году своей новой теорией, делающей происхождение жизни неизбежным следствием термодинамики. Его уравнения подразумевают, что при определённых условиях группы атомов естественным образом перегруппировываются так, чтобы тратить всё больше и больше энергии, содействуя непрерывному рассеянию энергии и появлению «энтропии», или беспорядка во Вселенной. Ингланд говорит, что этот эффект реструктуризации, называемый им адаптацией под воздействием рассеяния, стимулирует рост сложных структур, включая и живые организмы. Существование жизни – не загадка и не удача, писал он в 2014-м, оно следует из основных физических принципов и «должно быть настолько же неудивительно, как катящиеся с горы камни».
Total votes 47: ↑42 and ↓5 +37
Comments 340

Куда деваются программисты после 40

Reading time 16 min
Views 167K


— Вам уже 45? Но у нас коллектив очень молодой. Вы уверены, что хотели бы у нас работать?
— Да, конечно! Я много наслышан о вашей компании. Это мечта всей моей жизни!
— Ну ладно. Вот вам простой вопросик. Что означает буква L в аббревиатуре SOLID?
— Liskov Substitution Principle.
Читать дальше →
Total votes 136: ↑105 and ↓31 +74
Comments 1044

Основные законы создания команд разработчиков

Reading time 9 min
Views 70K
В EDISON часто обращаются инженеры, желающие добавить сотрудников в команду. Хочется «по-быстрому склепать задачку», воспользовавшись десятком дополнительных разработчиков. Работает ли подобный подход? К сожалению, не всегда. В программировании, как в физике, есть законы.


Собрать толковую команду — настоящее искусство
Читать дальше →
Total votes 60: ↑43 and ↓17 +26
Comments 17

Эффективное использование Github

Reading time 13 min
Views 123K

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



Читать дальше →
Total votes 149: ↑148 and ↓1 +147
Comments 38

10 ошибок, приводящих к оверинжинирингу ПО

Reading time 9 min
Views 54K
Несколько вещей гарантированно будут увеличиваться со временем: расстояния между звёздами, энтропия вселенной и бизнес-требования к ПО. Многие статьи пишут «Не усложняйте!», но не пишут почему или как это сделать. Вот вам 10 ясных примеров.

1. Инженерам виднее

Мы, инженеры, считаем себя умнейшими людьми. Ну, поскольку мы создаём разные штуки. И эта ошибка часто приводит к оверинжинирингу. Если вы спланировали и построили 100 модулей — Бизнес всегда попросит у вас 101-ый, о котором вы никогда не задумывались. Если вы соберётесь с силами и решите 1000 проблем — они придут к вам и выложат на стол 10 000 новых. Вы считаете, что у вас всё под контролем, а на самом деле вы даже не представляете, в каком направлении вас завтра поведёт дорога.

image

За мои 15 лет работы программистом я ещё ни разу не видел, чтобы Бизнес выдал законченные и стабильные раз и навсегда требования к ПО. Они всегда меняются, расширяются. И это природа бизнеса, а не ошибки людей, управляющих им.

Мораль: Казино (бизнес) всегда побеждает.
Читать дальше →
Total votes 127: ↑109 and ↓18 +91
Comments 84

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time 9 min
Views 85K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9 +140
Comments 15

Как я объяснил жене, что такое REST

Reading time 7 min
Views 29K
Возможно, как и многим, мне не всегда удаётся простым языком объяснять сложные вещи, я становлюсь многословным, уделяю чрезмерное внимание деталям и невольно использую профессионализмы. Наверное, именно поэтому я обратил внимание на статью How I Explained REST to My Wife, в которой Ryan Tomayko вот так запросто рассказывает жене о REST и принципах работы HTTP. В заголовках статьи был перечень языков на которые переведена эта статья и этот список из 6 языков, во-первых, дал понять что я не одинок, во-вторых, показал что статья стоит того что бы добавить перевод на русском.
Читать дальше →
Total votes 133: ↑85 and ↓48 +37
Comments 72

Паттерны ООП в метафорах

Reading time 17 min
Views 558K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13 +188
Comments 86

Социальная сеть вселенной Звёздных войн

Reading time 11 min
Views 30K
image

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

Ниже – соцсеть, добытая из всех 6 фильмов в сумме.

image

открыть
Читать дальше →
Total votes 58: ↑49 and ↓9 +40
Comments 20

Полный перевод Unix-коанов на русский язык

Reading time 16 min
Views 75K


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак
Total votes 126: ↑123 and ↓3 +120
Comments 65

Джон Резиг: Пишите код каждый день

Reading time 5 min
Views 129K
Прошлой осенью работа над моими побочными проектами зашла в тупик: я практически не продвигался вперёд и у меня никак не получалось делать больше, не принося в жертву свою основную работу в Khan Academy.

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

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

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

image
Иллюстрация Стивена Резига
Читать дальше →
Total votes 196: ↑183 and ↓13 +170
Comments 56

Программирование — не тяжелый физический труд, но все равно отстой

Reading time 10 min
Views 54K
Peter Welch
30 апреля 2014 г.
Об авторе. Peter Welch писатель и программист, автор книги «And Then I Thought I Was a Fish», автор блога «Still Drinking».


Изображение: Joe Raedle/Getty Images

Каждый мой друг, хотя бы дважды в неделю поднимающий на работе что-то тяжелее ноутбука, рано или поздно в разговоре невзначай бросает что-то вроде: «Бро, ты не пашешь на износ. Я только что отработал 4700-часовую неделю, копая тоннель под Мордором, используя отвертку»

Они правы. Мордор — отстой, и копание тоннеля гораздо трудозатратнее, чем тыкание в клавиши, если конечно вы не муравей. Но для галочки, давайте договоримся о том, что стресс и безумие — это плохо? Отлично.
Добро пожаловать в мир программирования
Total votes 80: ↑58 and ↓22 +36
Comments 33

Как мы делаем Trello

Reading time 8 min
Views 51K
После пары лет поисков, мы в Alconost наконец-то нашли инструмент безболезненного управления задачами: Trello. Инструмент простой и не перегруженный лишним функционалом, по сути — это доски со стикерами-тикетами, перемещающимися от колонки “Идеи” или “Предложения” к колонке “Сделано”.

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

О том, как ребятам из Fog Creek Software удалось сделать такой удивительно простой и одновременно функциональный продукт — в посте Боби Грэйса (Bobby Grace) “How We Make Trello”

Переведено в Alconost.


Читать дальше →
Total votes 55: ↑46 and ↓9 +37
Comments 2

Контроль версий для дизайнеров

Reading time 3 min
Views 29K


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

За прошедшее с последнего поста время сервис PICS.IO превратился в полноценную систему управления медиафайлами. Теперь, помимо фотографий, поддерживаются многие графические форматы, а также видео- и аудио-файлы. Но сегодня речь не об этом, а о том, как мы сами используем сервис в работе.
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Comments 23

Классы в Swift [Часть 1]

Reading time 4 min
Views 30K
Недавно Apple представила общественности достаточно важное изменение в разработке iOS приложений, анонсировав новый язык программирования Swift. В настоящее время, количество материалов на русском, посвящённых этому языку, ограничено. Также Swift — язык объектно-ориентированный, и классы в нём — основа основ. Поэтому я решил перевести эту статью.


Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 16

Дайджест фото-новостей #7: лучшие материалы начала июля

Reading time 2 min
Views 6K
Привет, Хабр. Новая подборка интересных материалов на фото-тематику. Начало июля было богато на замечательные видео и исчерпывающие списки лучших фильмов и блогов о фотографии. Если кто-то хочет получать дайджест на почту – подписаться на рассылку можно у нас в блоге.

Материалы, представленные в дайджесте, на английском языке.

Лучшие видео о фотографии



Осваиваем новый жанр (ЧБ, репортаж, общее фото, городской пейзаж, подводная съемка)



Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Comments 2

Дайджест фото-новостей #6: лучшие материалы конца июня

Reading time 2 min
Views 5.3K
Привет, Хабр. Продолжаем публикацию подборок интересных материалов на фото-тематику. Конец июня ознаменовался новостью от Apple о прекращении разработки Aperture, громкой премьерой от Nikon и несколькими крутыми постами от Photography Concentrate. Если кто-то хочет получать дайджест на почту – подписаться на рассылку можно у нас в блоге.

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

Новости софта



Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 4

Дайджест фото-новостей #5: лучшие материалы начала июня

Reading time 2 min
Views 9.5K
Привет, Хабр. Мы уже некоторое время делаем подборку самых интересных материалов на фото-тематику в своем блоге. Решили попробовать также публиковать ее здесь. Если понравится, будем продолжать.

Все материалы, представленные в дайджесте, на английском языке.

Горячее


Adobe представили несколько новых мобильных приложений и ряд обновлений своих десктопных решений.

Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 9

Software 3.0: тихая революция

Reading time 6 min
Views 11K
Который год все спрашивают всех о том, что же будет “the next big thing”. Что будет после веба, социальных сетей и облаков? По-моему, ответ валяется у нас под ногами, но мы никак не хотим его замечать. Просто потому что он не совсем такой, как нам нравится. Эта штука не такая простая, как все ожидают. Простых вещей больше не осталось: Instagram и Groupon – не самые сложные продукты – уже сделали.

Давайте попробуем взглянуть немного назад, скажем, лет на 35. Это было время появления первых доступных персональных компьютеров. Их уже можно было купить, но в силу странного интерфейса, понятного только очень усидчивым ребятам, пользоваться ими было довольно тяжело. Это была эра software 1.0. Время псевдографики и командной строки, время, когда появление цветного изображения на экране впечатляло больше, чем трюки Копперфильда. По понятным причинам компьютеры, в их тогдашнем виде, не могли стать по-настоящему массовыми. Софт тех времен был скорее научным и “гиковским”, но никак не персональным.

Затем пришла эра графических пользовательских интерфейсов, эра Windows, OS/2 и Mac OS. Компьютеры стали понятнее и люди начали их использовать для своих повседневных задач: создания документов и редактирования изображений. Это время software 2.0. Потом появился интернет, социальные сети и даже облачные вычисления, но софт, в большинстве случаев, остается таким же. Если вы сравните одну из первых версий MS Word и его современную инкарнацию, то обнаружите, что концептуально они практически не отличаются. То есть, возможностей стало больше, но это все еще заменитель карандаша и листа бумаги.
Читать дальше →
Total votes 41: ↑16 and ↓25 -9
Comments 67

Ликбез по типизации в языках программирования

Reading time 12 min
Views 498K
image

Эта статья содержит необходимый минимум тех вещей, которые просто необходимо знать о типизации, чтобы не называть динамическую типизацию злом, Lisp — бестиповым языком, а C — языком со строгой типизацией.

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Total votes 239: ↑232 and ↓7 +225
Comments 180
1

Information

Rating
Does not participate
Location
Сингапур, Сингапур, Сингапур
Date of birth
Registered
Activity