(no subject)
R
love5an
Это мой личный блог.

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

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

(no subject)
R
love5an
I'm going to become rich and famous after i invent a device that allows you to stab people in the face over the internet

SBCL для Win32
R
love5an
Над портом SBCL на win32 сейчас работает Антон Коваленко ( akovalenko ).

Вот здесь можно посмотреть подробности, узнать текущий статус форка, и, естественно, скачать новые версии, в т.ч. в виде msi-инсталлятора: http://www.siftsoft.com/inprogress/forknews.html

Обсуждение тут: http://akovalenko.livejournal.com/35889.html

Я настоятельно рекомендую использовать именно эту версию SBCL при работе под Windows - там добалена многопоточность(спасибо dmitry_vk), добавлена поддержка stdcall-коллбэков, коллбэков в сторонние треды(грубо говоря, можно, например, лисповые коллбэки поставлять в CreateThread), пофиксены многие баги в подсистеме ввода/вывода, и так далее - ну по первой ссылке можно посмотреть подробности.

Для работы stdcall-коллбэков в CFFI необходимо применить мой патч, вот он:
http://cloud.github.com/downloads/Lovesan/virgil/cffi-sbcl-stdcall.patch

Спасибо, Капитан Очевидность!
R
love5an
Давно ничего не писал. Набросаю тут важные вещи, которые за долгие годы работы в этом вашем айти, четко сформировались в голове. Чтобы самому не забыть, в том числе.

Итак, "сегодня мы многое поняли":

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

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

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

4. При любой возможности, уточняйте любую мелочь, неточность и неясность в техзадании. Любую.

5. Не прикасайтесь к проектам без техзадания и четкого видения проекта. Никогда. Сами же окажетесь виноваты в провале.

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

7. Скрам не работает. Как и вообще, весь этот Agile. Не стоит тратить время на все эти митинги и прочий бред, если вы, конечно, не скрам-евангелист, и не зарабатываете этим бабки(позор на весь ваш род, в таком случае).

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

9. За каждую задачу и группу задач, должен быть кто-то ответственнен. Сделайте так чтобы, каждый разработчик был за что-то ответственнен. Нет личной ответственности - провал проекта гарантирован.

10. Все сроки проваливаются. Умножайте оценки не в 2 раза, а в 5-10.

11. По часам оценивать задачи смысла нет. Только по дням, а иногда, по неделям.

12. Программист не может продуктивно работать больше 4-5 часов в день. В принципе.

13. У NoSQL очень ограниченная область применения. Применим он только там, где данные можно потерять.

14. Микросервисы не работают. Просто не работают. "Не пытайтесь повторить это дома". Зато, отлично работает грамотная модульность в сервисах. Грамотно продуманные интерфейсы и DI, если у вас ООП.

15. Под REST все понимают не то, что нужно. Впрочем, это не так плохо, потому как "настоящий" REST мало где применим.

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

17. Никогда не допускайте веб-разработчиков до работы с СУБД. В принципе, никогда не допускайте до СУБД разработчиков на следующих платформах и языках: Ruby, Python, ASP.NET, PHP, Node.js, и подобных им. Никогда. Пусть используют ваше API.

18. Всегда делайте stateless API. Да, с вебсокетами и прочим дуплексом, это тоже возможно, правда.

19. Всегда заранее планируйте возможность горизонтального масштабирования серверной части. Заранее выберите Message Broker, например RabbitMq. Заранее подумайте об общем хранилище сессий веб-приложений, например о Redis, и так далее. Вообще, всегда планируйте это, если пишете не лендинг.

20. Одна из главных проблем разработки программного обеспечения - инвалидация кеша. Не кешируйте там, где огромная польза кеширования не очевидна, потом пожалеете. Лучше воткните под СУБД коробку побольше.

21. Не держите систему на собственных серверах, особенно в РФ. Используйте облачные сервисы, в частности, AWS. Не жалейте на них денег.

22. В конечном счете, проблемы с производительностью всегда идут от I/O и СУБД.

23. UI это всегда боль. Терпите, или уходите в Backend.

24. Отдельный DBA, с возможностью давать линейкой по рукам, в том числе и вам самим - это очень хорошо.

25. Отдельный DevOps - тоже.

26. Не так страшна винда, как её малюют. Во многих отношениях - очень даже хороша.

27. Мало кто знает, как правильно использовать индексы РСУБД. Но еще меньше кто знает, насколько сложно их использовать правильно, и часто ли имеет смысл это делать.

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

29. Генераторы и конструкторы UI - отличная вещь. Если вам наплевать на внешний вид.

30. Пишите документацию по ходу разработки. Будет полезна в том числе вам самим. Комменты в коде не пишите, их никто не читает.

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

32. Наличие большого коммьюнити и большого количества opensource библиотек у платформы/языка сильно переоценено. Не касаясь качества, как коммьюнити, так и библиотек, возможности кастомизации и прикручивания библиотек под свою задачу, а это всегда проблемные вопросы, скажу что большую часть кода вам все-равно придется писать самому, на выбранной платформе и языке программирования, а здесь - возможности и выразительность этой платформы и языка - играют огромную роль. Если касаться вопросов поиска сотрудников, то поверьте, любого грамотного человека можно обучить любой платформе, хоть тому же Лиспу или Хаскелю. А с неграмотными работать просто не стоит, как я выше сказал. И, да, я по-прежнему считаю, что Лисп это круто.

33. Вообще, фундаментальные принципы и идеи - знать и понимать гораздо важнее, чем какие-то мелочи и конкретику. Выучите лисп, в конце-концов!

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

35. Не мучайте соискателей на собеседовании. Лучшие два вопроса это "работать будешь?" и "сколько хочешь денег?". Впрочем, всегда интересуйтесь их бэкграундом и взглядами на жизнь и IT.

36. Нет, математика, за исключением арифметики, вам в IT не пригодится. Алгоритмику и прочий CS я за математику не считаю, но впрочем, и оно вам мало где пригодится.

37. Пить вредно.

-- Ваш Капитан Очевидность.

Уроки экономики с лавсаном
R
love5an
Что такое ВВП?

Когда человек, получающий в 3 раза большую зарплату, чем средняя в столице(а в столице тут средняя зарплата самая высокая), не может купить себе новый лаптоп потому что тупо дорого, а в другой стране человек может купить на в 3 большую зарплату(чем в своей столице) ебаных 5 макбуков с такими же ТТХ, то во второй стране ВВП на душу населения превосходит аналогичный в первой больше чем в 5 ебаных раз.

6500 долларов в месяц - средняя зарплата в New York City, 3900 после налогов(40%), выплачиваемых физлицом.
http://www.indeed.com/salary/New-York,-NY.html

920 долларов в месяц - средняя зарплата в Москве, 800 после налогов(13%), выплачиваемых физлицом.
http://www.m24.ru/articles/85058

В 3 раза большая, чем средняя, ЗП, после налогов:
В США: 11700 долларов США (760 тыщ рублей)
В РФ: 2400 долларов США (156 тыщ рублей)

В Нью-Йорк Сити месячная ЗП в 5 раз больше, чем в Москве.

Безотносительно того, что в России техника дороже из-за таможни, наценок и прочего:
Допустим, лаптоп стоит 2500 баксов. Мы же макбук хотим, а не говно какое-нибудь!
В США на тройную зарплату можно купить 4.68 макбуков, а если успеть на распродажу, то все 5.
В России нельзя купить нихуя, но если занять - то получится целый один долгожданный макбук.

Теперь посмотрим, что там по ВВП?

$17419 млрд - ВВП США.
http://www.tradingeconomics.com/united-states/gdp
$1326 млрд - ВВП России. В 13 раз меньше, да.
https://openrussia.org/post/view/12638/

323 341 000 - Население США.
146 600 000 - Население РФ(вместе с Крымом, чо уж там).

Делим.

$54 000 - ВВП на душу населения в США.
$9 000 - ВВП на душу населения в РФ.

Это номинал. По номиналу, как мы видим, всё хуево. ВВП США на душу населения больше российского аж в 6 раза. Ладно, давайте погреем душу, и будем считать по ППС(паритет покупательной способности), а именно - скорректируемся по индексу бигмака.

У нас бигмак(сегодня вот видел) стоит 130р, это $2. В США в среднем 5 баксов. Но надо понимать, в России цены еще только набирают обороты. Цены на фастфуд, по моим наблюдениям, а я жру в фастфуде часто, растут ежеквартально, если не ежемесячно. Принимая в расчет, что до кризиса бигмак стоил лишь чуть дешевле, а в штатах порции больше, будем считать, что у нас он стоит 4 доллара(и вырастет он до такой цены довольно скоро, я уверен). Не стоит также забывать, что цены на продовольствие подтягиваются довольно медленно, и в некоторых случаях искусственно сдерживаются государством или ритейлерами. Не в пример ценам на одежду, макбуки, автомобили, и прочие гораздо более нужные, чем бигмак, вещи.

Получается, по ППС надо уменьшить разницу в 4/5 = 0.8 раза. Умножаем 6 на 0.8 получаем 4.8! Считай 5. Делим $9000 на 0.8 - получаем $11250. Что ж, ВВП на душу населения по ППС отличается от штатовского в 5 раз, а не 6. Можно гордиться! Но на макбук все-равно не хватит :(

Субботнее Функциональное Пьянство в Питере и другие новости
R
love5an
Мы тут с разными функциональщиками, в частности с эрланг-бомжами, и другими, собрались как следует посидеть в баре в эту субботу.

Это будет 2 мая, в 19.00; место - The William Bass, что на Лиговском 53, что напротив Галереи.


Столик забронирован на меня, то есть на Дмитрия.
Всем, желающим присоединиться - быть!

И еще маленькое объявление: никто не хочет поработать на Scala? Удаленно, скорее всего. Пишете мне на lovesan.ru at gmail.com

Ищу работу
R
love5an
Так получилось, что по ряду причин я снова ищу работу, причем достаточно срочно.

Готов как на full-time, так и на part-time или разовые таски.

CV по ссылке: https://dl.dropboxusercontent.com/u/5521262/CV2015.pdf

Если вкратце - умею достаточно много всего, но основные скиллы находятся в области Windows(это как .NET, так и нейтив, на C++ и не только), Web-разработки (ASP.NET MVC, Silverlight, разнообразный client-side веб, вроде AngularJS, и т.д. и т.п.), Erlang, и конечно Lisp.

Предложения лучше всего слать на lovesan.ru at gmail.com

Тег lisp для попадания в рассылки.

Пьеса «Тред на ЛОРе», в одно действие.
R
love5an
Входит Вопрощающий:

Всем привет.
Есть тут свободные полгода
В которые хотел бы я программы изучать,
Даю вам это знать.
Пока что начал только Java лишь учить
По книге, впрочем, и дошёл до ООП,
Вы подскажите, это правильно, иль надобно тем книгам сгнить?
Хотел бы выбрать я ЯП и направление,
Что позволяло бы работать на фрилансе,
А также, у людей чтоб вызывалось изумление.

Входит ЛОРовец:
Двадцатник баксов в час, или забудь о нас

Входит Новенький:
You're welcome.
Давай свои контакты - отпишу.
Ведь мне не жалко помогать, один чёрт одиночество последнее недели
Так разъедает душу мне, что еле я дышу.

Входит Наркоман:
K&R расскажет, и покажет
Тебе всё милый друг,
Ну а коль что вдруг непонятно станет, то значит в голове недуг.
Ведь суть проста: конструкций мало, новых слов десятка два.
И сей язык освоишь быстро.
Хочу предупредить я, правда, что сам язык не цель твоя,
Ведь цель должна учится на ошибках.
Важнее знать не то, что как вам делать сударь,
Важнее путь тернистый, полный ям, и отроколов
Вам пройти и знать тропинку по которой надобно идти таким путем
Чтобы все ямки обойти.
И к сожаленью, или, может, к счастью, тропинку ту лишь одному тебе дано найти.
Ведь мудрый путник лишь укажет, в какую можно сторону идти.

Входит Зевака:
Внесите царя.

Входит Лавсан:
Я хоть не Царь, но знаю всё про Си, давай, спроси

Вопрощающий:
Жду контакта.

Входит Некто:
Будут вопросы - кастуй, или пиши на мыло.
И мыло можно, если что, найти в LKML и ffmpeg-develop.

Входит Царь:
О Наркоман, а почему нули,
Которые смешать с навозом в три счета,
Так много кукарекают о том, о чем не понимают ничерта?

И ладно, я бы понял, если ты бы что-то мог,
Но тыж не смог, дак почему ж несмогший путник,
Который тонет в луже иль болоте,
Иль где-то на задворках недовуза, тот пыжиться кого-то направлять?
Куда ты их направишь? Ты желаешь, их повернуть развитие всё вспять?
Ведь что ты можешь,
Как кроме повторять приевшиеся шутки,
и предлагать приевшиеся книжки,
Ответь, мальчишка?
И удиви меня своим вопросом.

Вопрощающий:
Увы, нет у меня таких вопросов
(И тут же поникает носом)

Входит Эдди: (лавсану)
Ты царь?

Лавсан:
Кто такой царь?

Новенький:
Он твой последователь.
Вон, четырьмя постами выше.
И, потише,
Сейчас начнется развлеченье.

Эдди:
А, раз не царь ты, то ведь Си не знаешь!
К тому же, зачем еще и о Царе тут вопрошаешь?

Царь(вопрошающему):
Причем тут удивительные.
Когда хотите вы спросить что-либо, то естественно,
Что на пространные вопросы,
Не менее пространные я буду вынужден вам отвечать ответы,
Поймите ж это.

Поэтому, Царя должны вы право заинтриговать,
Чтобы смог он для себя обосновать
Полезность траты времени на хуесоса.
Вот смысл моего вопроса.
Зачем царю писать куда-то, без причины?
Не есть ли это признак вроде Эдди дурачины?

Входит Аноним:
Какое-то собранье зебр в треде.
И странно, все стихами говорят.
Похоже, что попал я в Ад.

ЗАНАВЕС.

https://www.linux.org.ru/forum/talks/11048884

По мотивам https://www.linux.org.ru/forum/development/11048251
Tags: ,

Об отсутствии кота (или, о бесполезности статической типизации)
R
love5an
Дискач на ЛОРе.
https://www.linux.org.ru/forum/development/11038828

Отсутствие присутствия кота
R
love5an
(cons cat (cons cat nil))



В juick спорят, что нет nil. По-моему, вполне есть. Это ведь как про атеизм - атеизм это не религия такая, а просто отсутствие веры в бога.
Tags: ,

?

Log in