Search
Write a publication
Pull to refresh
27
0
Maksim @MuLLtiQ

Software engineer

Send message

Go исполнилось 5 лет

Reading time2 min
Views15K
image

В своем посте, посвященному праздничному событию, один из создателей языка Andrew Gerrand вспоминает то, как прошли эти годы и как все было пять лет назад. Вот так тогда выглядел официальный сайт; сами авторы Go называли его «системным языком», каждую строчку кода надо было заканчивать точкой с запятой, для сборки своих приложений приходилось писать мейкфайлы — и будущее языка было покрыто мраком. Сразу после релиза «язык от Google» привлек широкое внимание, после чего основная волна быстро схлынула, не увидев в языке ничего нового. Те немногие, кто увидел в языке будущее, сформировали «ядро» команды его разработчиков, и вышедшая в 2012 году первая версия языка была серьезным достижением, благодаря которому на сегодняшний день в развитии языка и экосистемы вокруг него решили принять участие сотни программистов.

Помимо «праздничного» поста, интерес представляет опубликованная расшифровка недавнего выступления Брэда Фицпатрика про настоящее и будущее Go. Официально Брэд — создатель memcached, OpenID и LiveJournal — занимается разработкой Camlistore, но по ходу дела ему приходится часто заглядывать в исходники Go и добавлять необходимый для Camlistore функционал в библиотеки языка или фиксить баги.
Читать дальше →

Выразительный JavaScript: Поиск и обработка ошибок

Reading time15 min
Views56K

Содержание




Отладка изначально вдвое сложнее написания кода. Поэтому, если вы пишете код настолько заумный, насколько можете, то по определению вы не способны отлаживать его.
Брайан Керниган и П.Ж.Плауэр, «Основы программного стиля»


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

Мастер Юан-Ма, «Книга программирования».


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

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

Часто проблема возникает в тех ситуациях, возникновение которых программист изначально не предвидел. Иногда этих ситуаций нельзя избежать. Когда пользователя просят ввести его возраст, а он вводит «апельсин», это ставит программу в непростую ситуацию. Эти ситуации необходимо предвидеть и как-то обрабатывать.
Читать дальше →

Пишем код C на Cython

Reading time3 min
Views57K
Последние два года я решаю все задачи исключительно на Cython. Это вовсе не значит, что я пишу на Питоне, а потом «Ситонизирую» это с использованием различных деклараций типов, нет, я просто пишу на Cython. Я использую «сырые» структуры и массивы C (а иногда и векторы C++) и маленькую обёртку вокруг malloc/free, которую я написал сам. Код работает практически так же быстро, как C/C++, потому что это и есть код на C/C++, украшенный синтаксическим сахаром. Это код на C/C++ с функционалом Python именно там, где мне это нужно и где я этого хочу.

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

Ricochet — анонимный бессерверный протокол передачи мгновенных сообщений

Reading time6 min
Views46K
Перевод вводной части и введения в техническое описание проекта с открытым исходным кодом Ricochet (github).

Анонимная бессерверная система передачи мгновенных сообщений, которая просто работает


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

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

Примечание: проект недавно был переименован из Torsion.
Читать дальше →

Встречайте, IntelliJ IDEA 14 уже здесь

Reading time6 min
Views126K
Закончились праздники и выходные, но не поводы радоваться. Что может быть приятнее, чем узнать о долгожданном обновлении любимой Java IDE? Мы с нетерпением ждали четыре долгих дня, чтобы удивить вас этим приятным сюрпризом. Встречайте IntelliJ IDEA 14!

image

Рассказывая о том, чем мы занимались большую часть года, мы всякий раз переживаем и волнуемся. Каждая новая версия IntelliJ IDEA поднимает планку всеобщих ожиданий. И все-таки каждое обновление — еще один шанс для нас доказать, что совершенству нет предела. Удалось ли на этот раз — судить вам!

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

Сэм Альтман: Как сформировать команду и культуру стартапа?

Reading time31 min
Views32K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса

Disclaimer: осторожно, трафик (объемный материал + слайды лекции).
Читать дальше →

ZeroMQ: сокеты по-новому

Reading time7 min
Views81K
В любом среднем или крупном приложении, будь оно desktop или web, для бизнеса или для личного пользования, программисту необходимо решить важную архитектурную задачу — как будут общаться между собой потоки, процессы, модули, ноды, кластера, и прочие части эко-системы его приложения.

Многие разработчики решают идти по пути наименьшего сопротивления, возложив эту задачу, например, на СУБД. Скажем, один процесс положил данные в БД, второй прочитал, обработал — положил еще и так далее.
Про обмен через файлы в наши годы уже стыдно говорить, но и такое случается.
Другие же программисты пытаются создать какое-то свое, специализированное решение и, как правило, выбирают сокеты.

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

ZeroMQ предлагает разработчику некий высокий уровень абстракции при работе с «сокетами». Библиотека берет на себя часть забот по буферизации данных, обслуживанию очередей, установлению и восстановлению соединений, и прочие вещи. Вместо того, чтобы заниматься такими глупостями, вы можете сосредоточиться на главном — архитектуре и логике приложения.

Однако, в этом мире бесплатный сыр только в мышеловке. Поэтому я постарался по мере сил и опыта выяснить, чем придется поплатиться за удобство, какие я нашел плюсы и минусы при применении данной библиотеки.
Читать дальше →

XMonad + XMobar = ❤

Reading time10 min
Views71K
Многие слышали про тайловые оконные менеджеры, некоторые даже слышали о XMonad. А ребята из Google даже променяли Unity/Gnome на XMonad. Что же это такое, как это настраивать и как с этим жить? Краткий workaround для любителей кастомизировать всё подряд.


Подробности

Курс пиксель-арта 3

Reading time4 min
Views88K
Это перевод публикации «Les Forges Pixel Art Course».

Часть 1: Правильные инструменты
Часть 2: Линии и кривые
Часть 3: Перспективы
Часть 4: Тень и свет
Часть 5: Палитры цветов
Часть 6: Сглаживание
Часть 7: Текстуры и размытие
Часть 8: Мир тайлов

Часть 3: Перспективы


Проблема перспективы в 2D играх, это вопрос который возникает часто, и это возможно то, почему так много любительских игр имеют множество противоречивостей в этой области. В частности эта часть адресуется к типичным перспективам в RPG, так что если вы ищете информацию о виде сбоку или от первого лица, вам следует поискать где-нибудь ещё. Это важно, помнить что перспектива — это «искусство представления трёхмерных объектов на плоской поверхности (в данном случае это ваш экран) как их увидел бы наблюдатель.»
Читать дальше →

Фракталы, Fortran и OpenMP

Reading time6 min
Views15K
Когда-то давно я решил «потрогать» Fortran. Единственную задачу которую я придумал — генерация фракталов (заодно и OpenMP в Fortran'е можно было бы попробовать). В процессе написания я часто сталкивался с проблемами, решение которых приходилось додумывать самому (например в интернете не так много примеров использования чисел двойной точности или бинарной записи в файл). Но рано или поздно все проблемы решились, и я хочу написать этот текст, который возможно кому-нибудь поможет.

Писать я буду на диалекте Fortran 90, но с GNU расширениями (те же числа двойной точности).
Читать дальше →

Продвинутое использование объектов в JavaScript

Reading time15 min
Views50K
Этот пост выходит за рамки повседневного использования объектов в JavaScript. Основы работы с объектами по большей части так же просты, как использование JSON-нотации. Тем не менее, JavaScript дает возможность использовать тонкий инструментарий, с помощью которого можно создавать объекты некоторыми интересными и полезными способами и который теперь доступен в последних версиях современных браузеров.
Читать дальше →

Нигерийская исполнительница предлагает отрезать пиратам пальцы

Reading time1 min
Views38K


Нигерийское правительство еще в прошлом августе заявило, что планирует усилить меры по борьбе с пиратством, но певица Stella Monye считает, что этого недостаточно. Она предлагает свой изящный и очень действенный способ: за каждый случай нарушения копирайта отрезать по одному пальцу.
Читать дальше →

Космический аппарат Solar Probe Plus пойдет на рекордное сближение с Солнцем

Reading time2 min
Views63K


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

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

Сам проект призван собрать максимально подробную информацию о Солнце и его влиянии на Землю, включая биосферу и ноосферу, если так можно выразиться. Правда, до запуска зонда еще далеко — планируется, что Solar Probe Plus полетит к Солнцу, только в 2018 году, летом.

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

Дриббблификация дизайнеров

Reading time6 min
Views80K
Примечание: Dribbble — сервис, где графические дизайнеры хвастаются друг перед другом своими работами.


Лишь одно из этих погодных приложений пытается решить насущную проблему.

В сообществе дизайнеров наблюдаются расходящиеся тенденции. С одной стороны мы наблюдаем интересные блоги от Райана Сингера и Джулии Жуо, которые развивают наше ремесло. С другой стороны, всё большее количество народу постят свои работы и обсуждают их на Dribbble, что в целом двигает наше ремесло в обратную сторону. Этот пост – не про Dribbble, как таковой, он про то, что ценит это сообщество. Я буду использовать термин «дизайн продукта», но также буду иметь в виду дизайн пользовательских взаимодействий с продуктом.
Читать дальше →

Проект по «борьбе со смертью» от Google получит исследовательский центр ценой в 1,5 миллиарда долларов США

Reading time1 min
Views73K


Не так давно на Хабре упоминался проект Calico, дочерняя компания Google, основанный для изучения вопросов долголетия и борьбы с разного рода возрастными заболеваниями. Похоже на то, что проект получает свежую кровь, в виде большого количества средств, а именно — полутора миллиарда долларов.

Все эти деньги будут вкладываться не только корпорацией Google, но и новой компанией-партнером: фармацевтическим гигантом из Чикаго AbbVie.

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

Молодой Стивен Хокинг в первом трейлере к «Теории всего»

Reading time1 min
Views41K


«Теория всего» — один из самых ожидаемых фильмов этого года, пишет The Verge. Он рассказывает выдающуюся и непростую историю Стивена Хокинга, показывая его студентом в Кембридже, а затем как он живёт с диагнозом, изменившим его жизнь; но в основном он об отношениях Хокинга с женой Джейн. Фильм (который выглядит как приманка на Оскар) основан на книге Джейн, главные роли исполняют Эдди Редмэйн («Отверженные») и Фелисити Джонс («Новый Человек-паук»). Премьера состоится на кинофестивале в Торонто в сентябре, а на больших экранах он появится 7 ноября.

Секс и насилие в Google Play

Reading time1 min
Views343K
Последнее время google систематически удаляет приложения за секс и насилие, без пояснения причин и не вступая в диалог с разработчиками.

Окей, гугл. Давайте проведем небольшой социальный эксперимент.

Я установил на смартфоне доступ к контенту для младшей возрастной группы и зашел в несколько приложений от производителя Google Inc.
посмотрим, что из этого получится

Режиссер фильма Suzy Q попросил разместить свою картину на The Pirate Bay

Reading time1 min
Views56K


Режиссер довольно популярного в свое время фильма “Suzy Q” (1999 год) пошел на такой необычный шаг для спасения своей картины от забвения. Не так давно режиссер (Мартин Колховен, Нидерланды) обнаружил, что распространение «Suzy Q» легальными путями сейчас стало практически невозможным. В фильме использованы песни известных музыкальных коллективов и исполнителей, включая Rolling Stones и Джимми Хендрикса. И срок лицензии по использованию этих песен для картины истек.

В результате произведение нельзя ни выпускать на компактах, ни выкладывать в Сеть в качестве лицензионной копии. Поняв, что неплохой фильм (7 баллов по оценке IMDB) может вообще уйти в неизвестность, режиссер решил обратиться к пиратам. На днях он отправил в твиттер сообщение с безадресной просьбой разместить свою работу на ThePirateBay.

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

Встреча с кометой сегодня

Reading time3 min
Views150K
Два года назад состоялась невероятная посадка марсохода Curiosity на Марс, а сегодня происходит не менее сложное и важное событие в Солнечной системе — космический аппарат Rosetta, после десятилетнего перелета, выходит на орбиту кометы 67P/Чурюмова-Герасименко.

ESA_ROSETTA_NAVCAM

Я постараюсь максимально оперативно сообщать о том, как проходит эта операция в 400 миллионах километров от Земли.
Читать дальше →

Астрономы окончательно убедились в выходе Voyager 1 в межзвездное пространство

Reading time2 min
Views63K
This artist's concept shows the Voyager 1 spacecraft entering the space between stars.

Еще в прошлом году на Хабре публиковалась новость о том, что «Voyager 1» вышел в межзвездное пространство. Тем не менее, у некоторых ученых сомнения еще оставались, но на днях было доказано, что этот космический аппарат действительно вышел в межзвездное пространство.

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

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

Information

Rating
Does not participate
Date of birth
Registered
Activity