Заметки везде и всегда

Screen Shot 2014-05-26 at 21.31.15  Это удивительно, но Microsof таки сумел выпустить продукт, который не хочется немедленно развидеть! По началу я хотел было написать про два продукта, так как на первый взгляд OneDrive очень не плох. Но это только на первый взгляд, а на практике OneDrive отказался синхронизировать мои файлы, как это не прискорбно, но Майкрософт продолжает штамповать откровенное говно. Continue reading

PHdays 2014 глазами разработчика

Сегодня закончился второй день конференции PHdays, на которой мне удалось побывать благодаря Владимиру, за что ему огромное спасибо! Я не буду рассказывать о содержимом конференции и представленных докладах, все это можно найти на соответствующем сайте. Здесь же хочу показать немного картинок и рассказать об ощущениях от самой конференции. Continue reading

Ранний доступ к новым книгам о Scala

Я, надо признать, остался не равнодуным к Scala. Мне действительно нравятся возможности, которые дает JVM, а Scala, как ни ругай ее – самый продвинутый язык для этой платформы. Поэтому, новости связанные с этим языком я отслеживаю и почитываю.

Так вот, в O’Reilly открылся ранний доступ к двум новым книгам по Scala. Сам, пока, книг не читал, но выглядят довольно заманчиво, так первая версия Programming Scala мне очень понравилась.
   

 

Как бороться с динамической типизацией?

Я довольно часто писал на Python какие-то вспомогательные вещи, иногда сравнительно крупные, но почти всегда не знание типа объекта с которым работаешь было не критичным. Плюс возможность разрабатывать в IPython сильно облегчала жизнь. И так было до тех пор, пока я не решил плотно использовать Twisted. И оказалось что в IPython не попишешь нормально, а занание типов параметров в функциях обратного вызова и классов из обширного становится необходимостью.

И вот тут то я оказался в неком тупичке. Есть большое количество разнообразных классов со сложными интерфейсами. Перепробованные IDE (Eclipse, PyCharm и даже Emacs) не позволяют воспользоваться автодополнением в незнакомых им классах, что логично. В результате, весь код начинает выглядеть как пример ниже.

def _call_later(self, request):
"""
тут какое-то описание функции
@param request: тут какое-то описание параметра
@type request: Request (1)
"""

Да, безусловно, указывать 1 для каждой из создаваемых функций типы передаваемых параметров это решение, только оно выглядит как откровенный костыль. В итоге, у меня создается ощущение, что я как-то не верно использую этот замечательный язык… Что не так? Как с этим жить? Наиболее подходящим вариантом выглядит то, что все помнят параметры у API наизусть, я же вполне могу писать на C++ с подстановкой параметров исключительно из открытых файлов.

Remote: офис не обязателен

На днях дочитал крайне интересную книгу “Remote: офис не обязателен” от создателей небезызвестной компании 37signals (да, те самые авторы RoR). Меня давно интересует все что связанно с удаленной/частично удаленной работой, т.к. ходить в офис совсем невмоготу становится, так что книга оказалась более чем к месту и ко времени.

До прочтения Remote, мне и самому не раз приходила в голову мысль о том, что полноценно работать в офисе, особенно если это OpenSpace не возможно в принципе, т.к. там постоянно кто-то отвлекает: обсуждает прокачку танка в WoT, рыбалку, политику, да что угодно кроме работы! Хотя чем лучше обсуждение стороннего проекта у тебя под носом? В итоге, если понаблюдать за тем, как тратится время сотрудником в офисе, становится заметно что на выполнение полезной работы расходуется хорошо если 50% рабочего времени. А если сюда еще добавить кучу крайне важных и неимоверно “полезных” совещаний…
Continue reading