Ответы на некоторые вопросы

октября 31, 2011  |  Published in Интервью, Новости  |  16 Comments

Это я1. ВВМ, почему на RubyDev ты начал писать статьи по Си?

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

Статьи по Си я начал писать потому, что мне давно был интересен Си и я начал его активно изучать, и делюсь своими познаниями с вами мои дорогие читатели. Кроме того, я не нашел хороших руководств и книг по программированию на Си. K&R я не считаю хорошей книгой, как и 99.99% всей технической литературы. Подавляющее количество авторов пишут очень скучно и очень непонятно. В этом нет вины авторов книг, в этом наверное, виновата огромная пропасть между теми, кто пишет и теми, что читает. Это пропасть я и стараюсь преодолеть. Мой стиль — это достаточно краткие и максимально понятные статьи, это похоже на то, как розовые фламинго кормят птенцов отрыгивая уже пережеванную и частично переваренную пишу для ее большего усвоения птенцами. В статьях я даю основы — 70-90% от того, что есть, остальные 10-30% можно легко найти в Google зная основы. Это похоже на то, как мастер показывает ученику несколько раз удар ногой, а остальные 5000 раз ученик этот удар повторяет сам оттачивая его до совершенства.

2. Что там с работой?

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

Если серьезно, то JS и BDD следует очень активно наверстывать, чтобы не казаться полным идиотом в глазах работодателя, а еще нужно очень круто разобраться в Rails (ждите отличных статей по Rails 3.1).

Из устройства на работу я сделал несколько выводов:

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

—. Даже если ты супер гуру — спеки и тесты нужно уметь писать ведь не всегда найдется кто-то на кого можно спихнуть эту работу и тебя могут заставить это делать при устройстве если ты этого делать не умеешь.

—. Любая работа — это только работа. Все так банально, серо и уныло, что хочется … Хм… Я чувствую себя эмо-программистом. В общем работа — это суровая штука и пока ты не готов — лучше туда не суйся. Это можно сравнить с досвадебными отношениями — нужно все перепробовать и вдоволь нагуляться перед тем, как принять семейный образ жизни.

—. Любой гуру написал говнокода в сотни раз больше чем вы. Не стесняйтесь писать копрокод, убейте в себе перфекциониста, пускай он отравится миазмами исходящими от вашего кода. Пишите, пишите и еще раз пишите. Делайте велосипеды, фреймворки и операционки! Это весело и полезно!

3. Я что-то слышал про RubyDev 2.0. Что это?

RubyDev 2.0 это религиозно верный RubyDev, который очищается от нечистот именуемых PHP и WordPress и переписанный на Rails 3.1. Кроме блога, очевидно, будет еще несколько плюшек в виде простого и удобного форума, доски объявлений и т.д. В общем RubyDev социализируется и коммуннизируется и станет скорее сообществом чем блогом.

4. Почему так много ошибок в тексте?

Без ошибок читать скучно, однажды я написал вместо «сперва» слово «сперма», что вызвало бурное обсуждение.

На самом деле я набираю тексты в продвинутом блокноте с подсветкой, который называется Kate и который не подсвечивает ошибок как то делает MS Word. Кроме того, я не перечитываю статьи кроме интервью ведь более скучным занятием чем чтение того, что сам написал является только чтение того, что сам написал дважды. Интервью приходится перечитывать потому, что в них нужно внести правки, часто я задаю вопросы очень кратко и нужно в окончательном варианте их несколько растянуть для более длительного смакованием моей несравнимой стилистикой письма (это сарказм), кроме того, переводы англоязычных интервью я делаю в два подхода: сначала я перевожу практически буквально, затем я редактирую переведенный текст так, чтобы его могли читать адекватные люди.

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

5. Какие планы на будущее?

Сейчас чай настоится и я его чуть позже выпью, ну а если вы о долговременной перспективе, то моя продажная душонка мечтает продать за 30 серебрянников богоугодный GNU/Linux и перебежать в пользователи MacOS X. Сначала я планирую завести ее на каком-нибудь DELL, а затем обзавестись оригинальной техникой от Apple. Для того, чтобы обзавестить техникой от Apple обзаведусь работой в какой-нибудь нетривиальной конторе которая занимается мегасерьезными и интересными вещами, за пару лет стану мегакрутым программистом и куплю машину круче чем у DHH.

Если мне удастся мигрировать на MacOS, то Ubuntu все-равно будет моей второй любимой ОС и я буду продолжать писать о Linux, но начну писать об MacOS, Objective-C и т.д.

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

6. Как обстоят дела с QuasarCMS?

QuasarCMS — разрабатывается очень медленно, но верно. Дело в том, что я долго определялся с архитектурой и наконец-то определился к 6 разу полного переосмысления и переписывая кода. Основными моими проектами сейчас являются самообразование с целью набрать необходимую кондицию для устройства на работу и разработка RubyDev 2.0.

7. Где статьи по JavaScript?

JavaScript не самый приятный язык программирования и я постоянно откладываю тесную дружбу с ним. я начал цикл статей по JavaScript и остановился на 4 статьях описывающих работу с функциями и прототипами, думаю, что описывать работу с типами данных не буду — это очень скучно, скорее всего сделаю упор на работу с прототипами, изучения устройства библиотек, например JQuery и работу с DOM. Node.js — это такое очень перспективное в очень далеком будущем говно, таком далеком будущем, что к тому моменту наверняка поменяется несколько более удобных технологий и о Node.js вообще забудут. Слушайте умных людей, а не патологических энтузиастов — используйте Erlang или EventMachine если любите Ruby и вам не нужна производительность Erlang’a.

Я также начал цикл статей по jquery, но временно завис, сейчас выходит Jquery 1.7 и я думаю по этому поводу внувь активизировать эту рубрику.

8. Где статьи по Git?

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

Tags: ,

Responses

  1. dimanon says:

    октября 31, 2011 at 11:53 (#)

    Будем ждать новый болг, новых и интересных статей, и поддерживаю поездку в крым, я как раз там и живу…

  2. says:

    октября 31, 2011 at 13:50 (#)

    Поддерживаю решение по переходу на Макось. Все гламурные рубисты сидят на маках. Шутка. А если серьезно, то, глядя на развитие линуксовых GUI(гном3, юнити, кеды), меня одолевает печаль. Я сижу на убунте с 8 версии, до этого несколько лет сидел на SuSE. Вот уже год дома сижу на маке, радуюсь. Очень продуманная, удобная операционка. Радует, что есть нативный фотошоп. Конечно есть свои недостатки, некоторые очень бесят, но в целом, доволен.

    Из пожеланий к блогу. Хотелось бы видеть не только вводные статьи, но и более углубленные. В особенности интересуют темы про RoR, MongoDB, Cucumber, Rspec.

    PS
    Ну, и ждем RubyDev 2.0 =)

  3. tankard says:

    октября 31, 2011 at 15:56 (#)

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

  4. miros says:

    октября 31, 2011 at 16:36 (#)

    «Писать тесты и спеки — скучная фигня»

    И, говоря подобный бред, вы ещё пытаетесь учить других?

  5. admin says:

    октября 31, 2011 at 17:48 (#)

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

  6. tankard says:

    октября 31, 2011 at 21:21 (#)

    Я вот тоже все пытаюсь приучить себя писать тесты, но моя лень жутко сопротивляется))

  7. Pavel says:

    ноября 1, 2011 at 10:46 (#)

    Раскройте, пожалуйста, тема про работу с картинками в рельсах, в том числе с WYSIWYG редакторами.

  8. Валентин says:

    ноября 3, 2011 at 03:40 (#)

    Детский сад , всё так печально :(
    Успехов — отписываюсь из RSS

  9. admin says:

    ноября 3, 2011 at 17:35 (#)

    tankard, моя тоже сопротивляется, но с RSpec разобрался, проблемы с double-объектами, фикстурами и т.д. возникают.

    Pavel, хорошее предложение, скоро напишу.

    Валентин, почему «детский сад» и «все так печально»?

  10. Berk says:

    ноября 5, 2011 at 21:53 (#)

    — JavaScript не самый приятный язык программирования

    Уныло, с таким настроем далеко не пойдешь. JS это будущее.

    — Успехов – отписываюсь из RSS
    Делаю так же

  11. admin says:

    ноября 6, 2011 at 00:07 (#)

    Berk, можно верить евангелистам JS и считать JavaScript самым прекрасным творением рук человеческих, а можно сослаться на мнение большинства разработчиков и сказать, что JavaScript так популярен только потому, что нет аналогов. В чем «будущность» JavaScript? Опять можно сослаться на мнение многих уважаемых людей, например Максима Лапшина или Льва Валкина и сказать, что Node.js — совсем сырая и дырявая технология, которая имеет несколько более качественных аналогов. Если бы JavaScript был так хорош, то мы бы не видели таких штук, как Dart и CoffeeScript. Я не отказываюсь от использования JavaScript просто он мне кажется недостаточно логичным и несколько запутанным после работы с Ruby. Язык достаточно интересен, как и сама парадигма прототипной-ориентированности, но синтаксис и некоторые другие моменты оставляют желать лучшего.

    JavaScript разработчиков можно сравнить с больными сахарным диабетом, а javaScript с инсулином, ибо они вынуждены использовать JavaScript поскольку ничего лучшего нет (CoffeeScript набирает достаточно большую популярность, но канонический JavaScript он никогда не обгонит и самостоятельной технологией его считать нельзя ибо он компилируется в javaScript).

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

    По JavaScript, кстати, будет продолжаться написание статей, а еще появятся статьи по CoffeeScript если я им сумею заразиться.

    Каждый день счетчик FeedBurner’а прыгает туда-сюда на 10 человек, большинство отписывается только потому, что в RSS транслируются полные версии статей. В любом случае у меня имеется в запасе ~170 ценителей элегантности Ruby и подчиненных JavaScript’а, которые питают меня своей энергией и я созидаю новые статьи о Ruby, Rails и т.д. Сообщение о том, что ты отписываешься меня ни сколько не уязвляет, а наоборот вдохновляет на написание более качественного и интересного материала. Таким образом могу сказать только спасибо. Думаю, в RubyDev 2.0 сделаю специальный функционал для уведомлению об отписках от RSS, чтобы не засорять комментарии к статьям оффтопом.

  12. Berk says:

    ноября 6, 2011 at 11:34 (#)

    А кто про
    — - — что Node.js – совсем сырая и дырявая технология

    упоминал, я по моему говорю что javascript это будущее,
    как ты думаешь на чем пишутся такие приложения как gmail, google docs, чтобы стало ясно — я говорю об клиентской части.

    А про дарт так тебе нужно почитать вот эту статью
    к твоему сведению это говорит знаменитый рубист.
    Та и когда создавали Дарт наверное хотели создать как упрощенный С а не хороший ООП язык…

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

    Найди хоть один сайте где не используется js ???

  13. admin says:

    ноября 6, 2011 at 13:16 (#)

    Berk, я не говорил, что Dart — это хорошее решения, я лишь намекнул на то, что если бы JavaScript был таким чудесным языком, то никто бы не тратил время и деньги на разработку его замены.

    ClientSide технологии могут откусить значительный кусок пирога у серверных технологий только в утопическом мире, где все друг другу доверяют на 100%. Бизнес логика всегда будет оставаться на сервере, если только это не сервис генерации градиентов для CSS3 gradient, или сервис генерации аватарок или еще что-то такое же простое и глупое. JavaScript — язык разработки веб интерфейсов и не более того, который имеет ряд концептуальных недочетов, которые невозможно исправить ведь их исправление — разработка нового языка программирования. У Google, как мне кажется, произошел выкидышь — Dart, но это не означает, что javaScript будет долго оставаться незаменимым. Например я слышал о том, что скоро хотят реализовать возможность писать клиентские скрипты на любом другом скриптовом языке и если это будет так, то гипперактивное сообщество Ruby наверняка протолкнет клиентскую версиию Ruby достаточно успешно.

    JavaScipt — очень полезная, но незаменимая технология, кроме того, без JavaScript можно худо-бедно обойтись, но такой сайт будет не очень удобен.

    Google Docs — не более чем WSYWIG редактор с браузером по документации. Думаю, серверный код там значительно преобладает над клиентским. Опять же, мне более удобны языки wiki-разметки, а предпросмотр можно открывать в новом окне без ajax и javascript вообще.

    Имхо, JavaScript — язык для разработки более удобных веб интерфейсов, который скоро заменят чем-то более удобным, не более того. Node.js — напоминает попытки превратить корову в грациозную лань.

  14. admin says:

    ноября 6, 2011 at 13:45 (#)

    Berk, Jonas Niklas стал RubyHero благодаря разработке Capybara — решения для интеграционного тестирования и CarrierWave — решения для загрузки файлов. То, что он разработал эти два проект никак не говорит мне «Эй, Вова, слушай этого парна — он дело говорит!». Я его даже не считаю каким-то супер гуру. Capybara, как и вообще все интеграционное тестирование — дело достаточно узкого клуба ценителей все этой хрени, которая постоянно ломается. Очень малое количество разработчиков используют интеграционное тестирование, если бы это было хорошей практикой, думаю, все было бы иначе. Просто человеку нравится заморачиваться на всякие вещи и распылять внимание от основнго. CarrierWave — отличное решение, но не самое лучшее — не такое, что никто не сможет написать лучше и не такое, которое характеризует Никласа как какое нибудь божество — он просто не пожелел своего времени и сделал такое решение, но нечно подобное способно сделать большинство более-менее адекватных разработчиков. Ruby Hero — это ничего не значит, это что-то вроде награды «работник месяца» с премией в $100 для мотивации на дальнейшие свершения.

    Когда кто-то что-то говорит — это не значит, что этому «кто-то» и в его «что-то» следует верить. Когда я ссылаюсь на мнение большинства я просто указываю на то, что мое личное мнение имеет поддержку некоторого круга людей, что значит, что это не моя индивидуальная идея — плод больного воображения, но вопрос, который занимает достаточно большое количество людей. Не нужно бросаться в меня ссылками на интервью с Иисусом, Вишной, Буддой, Еговой, Яхвэ или даже самим Никласом — я агностик и реалист. Все могут бегать и кричать, что скоро зефир будет расти на деревьях, но я в это верить не буду потому, что в реальном мире, где люди едят реальную еду, а не амброзию или пыльцу, на деревьях растут ягоды, но не зефир.

    Возможно в параллельных вселенных или каких-нибудь наркотических прострациях люди захлебываются эндорфинами при виде javaScript кода и считают JavaScript своим верховным божеством, но для меня это не более чем важный, но не самый удобный инструмент.

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

  15. Berk says:

    ноября 6, 2011 at 15:10 (#)

    Ну если вы не считаете Jona Nikla хорошим разработчиком…. ну тогда понятно, продолжайте в том же духе.

    Ну вот сядь сам и напиши такой загрузчик изображения CarrierWave и чтобы им пользовались хотя бы 100 разработчиков… А эти утверждения это просто «Треп».

    Ну вот почему САМ не написал, может все таки это не так легко, может если эти инструменты используют многие — может они все такие удобные *???

    Считаю что admin и все тот же admin написали много текста, но конкретного ничего. Все продолжайте холивар сами с собой, желаю вам удачи, в нелегком труде.

  16. admin says:

    ноября 6, 2011 at 16:24 (#)

    Berk, слов о том, что Никлаус плохой разработчик я не писал, он хороший, годный программист, но не гений, который сидит в темном погребе невыходя на солнечный свет и творит что-то сравнимое с машиной времени или perpectum mobile.

    Зачем мне писать что-то вроде CarrierWave, если уже есть CarrierWave? Если я говорю, что CarrierWave не идеален, то это вовсе не значит что он плох, это просто означает, что можно сделать лучше.

    Большинство OpenSource проектов пишутся не просто потому, что хочется, они даже и не open-source проектами являются изначально, но просто часть функционала какой-то платной штуки выделяется в отдельный модуль/плагин/приложение/библиотеку и предоставляется людям в свободное пользование и модификацию. Смысл мне писать что-то, что мне не нужно, точнее то, что уже реализовано до меня и лучше чем то бы мог создать я.

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

    CarrierWave — не загрузчик изображений, вы это как фанат и лобызатель Накласа должны знать лучше меня. CarierWave — это решение разработанное на Ruby и поставляемое в виде gem для реализации загрузки ЛЮБЫХ файлов на сервер. Поскольку загрузка графики несколько специфична — часто необходима обработка изображения, то Никлас добавил специальное API для удобного выполнения таких задач.

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

    Удача мне не нужна, но все равно спасибо. Поставлю на полку и буду любоваться.

Leave a Response

Для подсветки кода используйте BB - коды: [language]...[/language], где language может быть: ruby, javascript, css, html.