Все потоки
Поиск
Написать публикацию
Обновить
1
0
Skillfactory School @skillfactory_school

Школа Computer Science

Отправить сообщение

Шпаргалка по сортировке для Data Science

Время на прочтение11 мин
Количество просмотров27K
image

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

Выбор библиотеки и типа алгоритма сортировки не всегда прост, а нововведения меняются в быстром темпе. На данный момент документация Pandas не соответствует коду (хотя лично мое PR-обновление сортировочных опций было самым последним).

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

UPD 17 июля 2019: В результаты оценки теста скорости теперь входят реализации GPU PyTorch и TensorFlow. TensorFlow также включает в себя результаты CPU как при tensorflow==2.0.0-beta1, так и при tensorflow-gpu==2.0.0-beta1. Интересные наблюдения: графический процессор PyTorch буквально летает, а GPU TensorFlow оказался медленнее CPU TensorFlow.

Контекст


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

Data Science для гуманитариев: что такое «data»

Время на прочтение7 мин
Количество просмотров13K

Размышления об информации, памяти, аналитике и распределениях


Все, что воспринимают наши чувства, — это данные, хотя их хранение в наших черепушках оставляет желать лучшего. Записать это немного надежнее, особенно когда мы записываем это на компьютере. Когда эти записи хорошо организованы, мы называем их данными… хотя я видел, как некоторые ужасно организованные электронные каракули получают то же имя. Я не уверен, почему некоторые люди произносят слово data так, как будто оно имеет заглавную букву D.

Почему мы произносим data с большой буквы?

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

Смысл и смыслы


Если вы начнете свое путешествие с покупки наборов данных в Интернете, вы рискуете забыть, откуда они берутся. Я начну с нуля, чтобы показать вам, что вы можете делать данные в любое время и в любом месте.

Вот несколько постоянных обитателей моей кладовой, расставленных на полу.

image

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

Давайте разберемся в том, на что мы смотрим. У нас есть бесконечные варианты того, на что обращать внимание и помнить. Вот что я вижу, когда смотрю на продукты.

image

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

Data Scienсe на стероидах: знакомство с Decision Intelligence

Время на прочтение13 мин
Количество просмотров6.3K
Что общего между защитным поведением при встрече со львами в саванне, ответственным подходом к управлению ИИ и проблемами проектирования хранилищ данных.

image

Decision intelligence — новая научная дисциплина, рассматривающая все аспекты теории принятия решения. Она объединяет лучшее из прикладного направления data science, социальных наук и науки управления в единую область, призванную помочь людям повысить качество жизни, усовершенствовать бизнес и улучшить окружающий мир, используя данные. Это важнейшая наука эры искусственного интеллекта, включающая в себя навыки грамотного управления проектами, стратегического планирования целей, определение оптимальной метрики и систем безопасности для широкомасштабной автоматизации.

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

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

Что значит «decision» (решение)


Данные прекрасны, но важны именно решения. Именно наши решения — наши действия — влияют на мир, окружающий нас.

Под «decision» мы понимаем любой выбор между вариантами любого субъекта, так что разговор куда обширнее, нежели типичная дилемма в духе MBA (вроде: открывать филиал своего бизнеса в Лондоне или пока не стоит).
Читать дальше →

Джоел Спольски: «Не юзабилити единым»

Время на прочтение10 мин
Количество просмотров5K
Эссе 2004 года

В течение многих лет работающие над своим имиджем умники, такие, как… ну, я, например, бесконечно болтали о юзабилити и о том, как важно сделать программное обеспечение удобным для использования. У Якоба Нильсена есть математическая формула, которую он откроет вам всего за 122 доллара: с помощью неё вы сможете рассчитать значение юзабилити. (Если ожидаемое значение юзабилити больше 122 долларов, думаю, вы получите прибыль.)

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

В этой книге на странице 31 я показал пример того, что в то время было самой популярной программой на Земле — Napster. На главном окне Napster находились кнопки для переключения между пятью экранами. В соответствии с принципом юзабилити, который называется «affordance», вместо кнопок у него на самом деле должны были быть вкладки, что я и хотел продемонстрировать этим примером.

image

И все же Napster был самой популярной программой на Земле.
Читать дальше →

24 датасета для ритейла и ecommerce

Время на прочтение4 мин
Количество просмотров21K
image

Продуктовые датасеты


  • Fashion-MNIST: Идеально подходит для продуктовой категоризации. MNIST содержит почти 60 000 обучающих изображений и 10 000 тестовых изображений продуктов фэшн-индустрии в 10 классах.
  • Innerwear Data from Victoria’s Secret and Others: Данные с 600 000+ товаров нижнего белья, извлеченного из популярных торговых объектов. Включает в себя описание продукта, цену, категорию, рейтинг и многое другое.
  • Electronic Products and Pricing Data: Содержит список из более чем 7000 электронных продуктов.
  • Men’s Shoe Prices: Список содержащий 10 000 мужских ботинок и цен.
  • Women’s Shoe Prices: Список содержащий 10 000 женских туфель и цены.
  • eCommerce Item Data: Подходит для рекомендательных систем. Этот набор данных содержит артикулы и связанные с ними описания продуктов из каталога продукции бренда наружной одежды.
  • Fashion Products on Amazon.com: Это pre-crawled набор данных, созданный путем извлечения данных из Amazon. Он состоит примерно из 22 000 фэшн-товаров на Amazon.
  • E-commerce Tagging for Clothing: Содержит изображения с сайтов ecommerce с ограничивающими рамками, нарисованными вокруг рубашек, пиджаков, солнцезащитных очков и т. д. Он содержит 907 наименований, из которых 504 наименования были помечены вручную.

Читать дальше →

Не надо учить Machine Learning

Время на прочтение4 мин
Количество просмотров19K

Учитесь создавать софт, используя модели машинного обучения


image

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

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

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

Причина кроется в том, что большинство вводных материалов по ML ориентированы не на разработчиков, а на исследователей — что и является проблемой для разработчиков, которые просто хотят создавать продукты с машинным обучением.

Вы хотите создавать продукты или проводить исследования?


До конца 2000-х годов машинное обучение было практически только исследовательской проблемой. Просто было не так много компаний, которые бы реально использовали машинное обучение в производстве.

Как я (PhD нейробиологии) стала Data Scientist за 6 месяцев

Время на прочтение7 мин
Количество просмотров8.4K
Четыре инструмента, которые я использовала в обучении, не потратив ни цента.

image Я только что сбежала от восьми лет учебы и упорной работы не имея никакого плана. Возможно вам интересно, почему люди идут на такие поступки. Дело в том, что на протяжении долгого времени мой босс отбивал мое желание работать, и я понимала, что пора что-то менять.

Мой молодой человек предложил мне стать data scientist. Моей реакцией, конечно, было «Ты сошел с ума!», ведь я совсем ничего не знала о программировании. Без сомнений он переоценивал мои способности. Вот и синдром самозванца снова напоминает о себе.

Примерно через две недели моя подруга Анна предложила то же самое. Немного поразмыслив, я всерьез начала обдумывать эту идею. А почему бы и нет? Так я решила вновь стать новичком и начать новую жизнь в роли data scientist.

Я хотела учиться в своем темпе, поэтому решила пройти онлайн курсы. Я полагала, что с PhD в нейробиологии я уже получила достаточно формального обучения для работы в data science. Мне просто нужны были практические знания.

Я расскажу о четырех разных курсах, которые я прошла, и о том, как они привели меня к работе с data science в стартапе по здравоохранению в Кремниевой долине.

В то время большинство найденных мной онлайн курсов были бесплатными. Поэтому я бросила себе вызов – получить все необходимые навыки не потратив ни копейки. Что тут скажешь, я – настоящая скряга.
Читать дальше →

Как научиться работать асинхронно

Время на прочтение5 мин
Количество просмотров3.7K
image


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

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

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

Видеоконференции и переписка в чатах являются необходимыми инструментами, но их следует использовать с осторожностью. Джейсон Фрайд (Jason Fried) и Дэвид Хайнемайер Хенссон (DHH) лучше всего об этом выразились в своей книге «Не сходите с ума на работе». Они написали так: «Иногда нужно работать в режиме реального времени, но в большинстве случаев работа должна проходить асинхронно».
Читать дальше →

Не становитесь Data Scientist

Время на прочтение5 мин
Количество просмотров35K
Когда у меня просят совет о том как попасть в data science, я советую стать разработчиком программного обеспечения. Это мое мнение. Я бы хотел услышать контраргументы в комментариях.

Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это самая сексуальная профессия 21 века, но это не значит, что нужно игнорировать отличную, высокооплачиваемую профессию разработчика.

Часто недавние выпускники и люди, меняющие профессию, спрашивают меня как попасть в data science. Я советую им стать разработчиками вместо этого.

Имея опыт в обеих сферах, я попытаюсь убедить вас, что я прав.

Вакансий на должность разработчика больше


Вакансий на должность разработчика на порядок больше, чем вакансий на должность data scientist.

Ниже представлена пара скриншотов с результатами запросов на вакансии “data scientist” и “software engineer”.

image

google: data scientist usa indeed

image

google: software engineer usa indeed

7616 вакансий в data science по сравнению с 53893 вакансиями в сфере разработки ПО. Это данные по Америке, но я думаю в других странах будет похожий результат.
Читать дальше →

Извините, но онлайн-курсы не сделают вас Data Scientist

Время на прочтение7 мин
Количество просмотров47K
Причина, по которой вам, на полном серьёзе, нужно прекратить записываться на онлайн-курсы, если вы не применяете на практике то, что уже знаете.

image

Шли выходные. Я только что закончил ещё один онлайн-курс по науке о данных. Я чувствовал, что достиг чего-то. Ещё бы, любой почувствует, что стал настоящим специалистом в области данных, «успешно завершив» 5 разных курсов и получив «сертификаты» за каждый из них. Именно так я и считал.

Но онлайн-курсы – забавная штука. У большинства из них есть красочные описания, длинный список тем, которые они охватывают, обещания сделать из вас эксперта в одной или нескольких сферах, а если повезёт, то и отзывы людей, уже прошедших курс. Обычно в отзывах пишут про то, как этот курс спас кого-нибудь от неминуемой гибели или сделал его/её абсолютным чемпионом в предметной области. Хотя, конечно, большая часть из нас пришла сюда за другим — сертификатом о прохождении курса. Этот яркий цифровой документ, содержащий наше имя – то, что играет решающую роль для большинства участников. А затем, в один прекрасный день, мы сидим в комнате напротив нашего потенциального работодателя и понимаем, что, вопреки нашим ожиданиям, сертификаты мало кого из них впечатлили. Некоторые даже не считают нужным отнестись с уважением к времени, потраченному на получение этих сертификатов. Они сразу переходят к делу и говорят: «Эти сертификаты бесполезны, если вы не работали ни над одним проектом». Естественно, очень неприятно услышать такое. Тем более, если наши надежды на то, что это интервью пройдёт успешно, в первую очередь возлагались на пройденные нами онлайн-курсы. Мы вложили в них наши деньги, время и усилия. Наше главное оружие было разбито ещё до начала конкурсного отбора – такое ослабило бы чью угодно уверенность в себе.
Читать дальше →

Джоел Спольски: Что значит быть Разработчиком ПО (предисловие к книге «Coder to Developer»)

Время на прочтение4 мин
Количество просмотров4.2K
image


Майк Гандерлой, книга “Coder to Developer”

Знаете, что сводит меня с ума?

«Всё?» — спросите вы. Что ж, некоторые из вас знают меня слишком хорошо.

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

Взять, к примеру, меня.

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

После армии я закончил колледж и получил диплом по информатике. Теперь-то я действительно знал всё. Но знал я гораздо больше лишь потому, что изучил кучу компьютерного и научного мусора по линейной алгебре, NP-полной задаче и чертовой лямбде-исчислению. А ведь все это очевидно бесполезно. Я решил, что они, должно быть, исчерпали запас полезных вещей, которым нас надо бы обучить, вот и скребут крошки по сусекам.

Ан нет. На своей первой работе я понял, сколько же вещей кафедра информатики не сочла нужным довести до нашего сведения. Такие вещи как командная работа над программным обеспечением. Практические советы по дизайну пользовательского интерфейса. Профессиональные инструменты вроде управления версиями, баз данных ошибок кода, дебаггеров и профайлеров. Дельные вещи. Кафедры информатики даже самых престижных вузов не будут вас учить тому, что не носит сугубо академический характер; и уж тем более преподавать то, что изучают старшеклассники в местном ПТУ, чтобы потом стать автомехаником, мастером по ремонту кондиционеров или «вонючим разработчиком софта».
Читать дальше →

Хорошие программисты копируют, великие программисты воруют

Время на прочтение5 мин
Количество просмотров13K
Простое копирование кода может быть опасным. Однако так можно сказать про множество других аспектов в разработке программного обеспечения при условии неосторожного с ними обращения. В этом посте я разберу такие вопросы как:

  • Что на самом деле обозначает копирование кода в разработке ПО?
  • Что значит правильное воровство кода?
  • Каковы подводные камни неправильного копирования?

Ни для кого из программистов не секрет, что примерный код, который публикуют в качестве ответов на вопросы здесь, на Stack Overflow, часто оказывается в конечном варианте программ. Может быть вы задали вопрос, и вам в ответе прислали идеальную схему цикла for. Может быть вы нашли отличный ответ, в котором присутствовала часть кода с async await, которая подошла для вашего приложения.

Последняя книга по программированию, которая вам когда-либо понадобится:

image


Когда я наткнулся на твит, в котором говорилось о преимуществах воровства, я задумался: может ли копирование кода быть выгодным?


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

Про SSH Agent

Время на прочтение6 мин
Количество просмотров82K

Введение


SSH-agent является частью OpenSSH. В этом посте я объясню, что такое агент, как его использовать и как он работает, чтобы сохранить ваши ключи в безопасности. Я также опишу переадресацию агента и то, как она работает. Я помогу вам снизить риск при использовании переадресации агента и поделюсь альтернативой переадресации агента, которую вы можете использовать при доступе к своим внутренним хостам через bastion’ы.

Что такое SSH-agent


ssh-agent — это менеджер ключей для SSH. Он хранит ваши ключи и сертификаты в памяти, незашифрованные и готовые к использованию ssh. Это избавляет вас от необходимости вводить пароль каждый раз, когда вы подключаетесь к серверу. Он работает в фоновом режиме в вашей системе, отдельно от ssh, и обычно запускается при первом запуске ssh.

Агент SSH хранит секретные ключи в безопасности из-за того, что он не делает:

  • Он не записывает никакой информации о ключах на диск.
  • Он не позволяет экспортировать ваши личные ключи.

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

Но если агент может только подписывать сообщения, как SSH шифрует и расшифровывает трафик?

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

Как выучиться на Data Scientist: наиболее востребованные технические навыки

Время на прочтение6 мин
Количество просмотров10K
Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность.

image

В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программирования R. Технологии создания программного обеспечения меняются намного быстрее, чем спрос на общие навыки, поэтому в этот обновленный анализ я включаю только технологии.

Я искал ключевые слова, которые появлялись в списках вакансий на должность «Data Scientist» в США на таких сайтах как SimplyHired, Indeed, Monster и LinkedIn. В этот раз я решил написать код, чтобы изучить все списки вместо того, чтобы искать вручную. Это решение оказалось очень успешным для SimplyHired, Indeed и Monster. Я использовал Requests и Beautiful Soup из библиотеки Python HTTP. Код с анализом вы можете увидеть в моем отчете на GitHub.

Продираться через LinkedIn оказалось в разы сложнее. Необходимо пройти процесс авторизации, чтобы просматривать точное количество списков вакансий. Я решил использовать Selenium для просмотра страниц без графического интерфейса пользователя. В сентябре 2019 года Верховный суд США выиграл дело против LinkedIn, тем самым позволив очистить данные сайта. Тем не менее, я не смог получить доступ к своей учетной записи после нескольких попыток входа. Возможно, эта проблема возникла из-за ограничения скорости. Апдейт: Я все же смог войти, но боюсь, что меня заблокируют при повторной попытке.
Читать дальше →

30 лайфхаков чтобы пройти онлайн-курс до конца

Время на прочтение5 мин
Количество просмотров22K
image

Многим тяжело сосредоточиться во время онлайн-обучения. До конца курса доходят несколько процентов от тех кто начал. Предлагаем 30 лайфхаков, которые хоть чуточку помогут вам в пути.

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

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

Звучит знакомо? Да, я знаю, что это такое.

Я закончила более 25 MOOC и делала свой курс. Некоторое время назад я попросила сообщество моих учеников помочь составить окончательный список всех советов, трюков и хаков, которые они используют, чтобы оставаться вовлеченными во время обучения в интернете. Вот что мы придумали.

Технологические советы

Читать дальше →

Сценарий будущего для Stack Overflow

Время на прочтение10 мин
Количество просмотров2.8K
image

Письмо от нового генерального директора Прашанта Чандрасекара, в котором он вспоминает первые месяцы работы и делится своим видением развития компании в 2020 году.

Вступая в новое десятилетие, мы видим, как тесно переплетаются между собой такие направления как облачные расчеты, большие данные, искусственный интеллект, машинное обучение, и как стремительно растет кооперация между молодыми программистами со всего мира. Ежедневно миллионы разработчиков посещают Stack Overflow, чтобы найти необходимую информацию по мере развития технологий. Много что изменилось с тех пор, как я закончил факультет компьютерной инженерии. Я увлекался языками программирования, например Perl, но в то время помочь мне их освоить могли только мои учителя, одноклассники, небольшие форумы и пара знакомых по переписке. Цифры ниже дают представление о том, какое влияние имеет наше сообщество сейчас, и какие возможности нас ждут впереди:

  • За 2019 год Stack Overflow и Stack Exchange network посетило более 100 миллионов пользователей, а уникальных просмотров страниц насчитывается до 10 миллиардов.
  • Stack Overflow добавил более 2,8 млн ответов и 2,6 млн новых вопросов; более 1,7 млн новых пользователей присоединилось к нашему комьюнити, также за 2019 год. В настоящее время на Stack Overflow существует более 18 млн вопросов и 27 млн ответов; более 150 000 человек создают аккаунты на Stack Overflow каждый месяц. И это через 12 лет нашей работы.
  • Ежедневно пользователи отвечают на тысячи вопросов по таким темам, как облачные технологии, контейнеризация и машинное обучение. Постоянно растет кладезь знаний о платформах Amazon Web Services, Google Cloud Platform и Microsoft Azure.
  • В связи с нашим обновленным кодексом поведения участники комьюнити и модераторы-волонтеры обработали почти два миллиона комментариев и отфильтровали неточный, оскорбительный и неуместный контент.
Читать дальше →

Закон Патрика Маккензи: экономика программного обеспечения больше, чем вы думаете, даже учитывая закон Патрика Маккензи

Время на прочтение3 мин
Количество просмотров3.3K
image

Предыстория


12 мая 2020 года Остин Оллред (Austen) написал в Твиттере:
«Самое интересное, что Lambda School постоянно натыкается на все эти маленькие компании по разработке ПО, о которых никто никогда не слышал, зарабатывающие по 10 миллионов долларов в год с командой из 25 человек в каком-нибудь неизвестном городе в Оклахоме.»

Патрик Маккензи (@patio11) ответил:
«Люди и в здравом уме не предположили бы, что могут назвать каждую фирму, зарабатывающую легально 10 миллионов долларов в год, но почему-то считают, что каждая фирма, зарабатывающая 10 миллионов долларов в год, должна быть в топах HN или TechCrunch по крайней мере каждую неделю, что в корне неверно.»

Эйнар Воллсет (@einarvollset) продолжил диалог:
«Я могу привести цифры: Я нашел более 3000 компаний, заработавших больше всего за последние 3 года, и посмотрел сколько из них было упомянуто в „мейнстримных технологических веб-сайтах“ (TrchCrunch, ReCode, HN) ~ 7%».

Патрик Маккензи (@patio11) прокомментировал это так:
«Я удивлен, что *так много*, но это число указывает на количество темной материи во вселенной ПО.»

Марк МакГрэнэхэн (@mmcgrana) обобщил дискуссию:
«Закон Патрика Маккензи: экономика программного обеспечения больше, чем вы думаете, даже учитывая закон Патрика Маккензи.»

История


Несколько лет назад я проснулся в Санрайвере, штат Орегон, и пошел делать кофе.
В доме был один из этих кофейных подносов типа «постель-завтрак». Капельная кофеварка. Пачка фильтров. Три пачки французского обжаренного кофе.
Читать дальше →

Пол Грэм: «Краткость = сила»

Время на прочтение10 мин
Количество просмотров3.7K
На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия.

image


«The quantity of meaning compressed into a small space
by algebraic signs, is another circumstance that facilitates
the reasonings we are accustomed to carry on by their aid.»
— Charles Babbage (1791-1871)


В дискуссии вокруг статьи "Месть ботанов" в рассылке LL1 Пол Прескод высказал мысль, которая не выходит у меня из головы.

Цель языка Python — это регулярность и читабельность, но не краткость .

На первый взгляд, язык программирования скорее не должен претендовать на такое. Насколько я понимаю, краткость (succinctness, лаконичность, компактность) = сила. А если так, то делая подстановку, мы получаем:

Цель языка Python — это регулярность и читабельность, но не сила.

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

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

Гипотеза


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

Джоел Спольски: Уровень абстракции для разработчиков

Время на прочтение9 мин
Количество просмотров15K
image

11 апреля 2006

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

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

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

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

И он садится писать код.
Читать дальше →

Создатель Stack Overflow: «Разработчики — это те, кто пишут сценарий будущего»

Время на прочтение10 мин
Количество просмотров8K
image

Приветствую всех. Спасибо, что пригласили меня.

Позади меня вы видите кабину самолета Douglas DC-3. Итак, этот самолет был построен в 1935 году; обратите внимание на то, что каждый индикатор, каждая панель, каждый датчик и каждый переключатель каким-то образом связаны с самим самолетом. Таким образом, если вы тянете ручку управления этого судна, то на деле вы тянете все тросы и тяги, соединенные с плоскостями управления полетом самолета, а затем он движется через некую форму непосредственного управления. Это очень отличается от современного авиалайнера.

image

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

И ведь это метафора ко всему в современной жизни. Многие вещи, которые раньше мы делали при помощи непосредственного взаимодействия, сейчас используют программное обеспечение в своей работе. Мы больше не заводим будильники вручную – мы запускаем программу, которая нас разбудит. Вместо записок с информацией мы отправляем сообщения. Вместо того, чтобы стоять на улице и ловить такси, мы вызовем Uber… возможно когда-то мы сможем сделать это и в Хельсинки.
Читать дальше →
12 ...
11

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность