Pull to refresh
12
0
Сергей Колосов @m17

User

Send message

Опыт домашнего марсоходостроения

Reading time 6 min
Views 25K

Привет Хабр! Я работаю RnD-художником в минском центре разработки Wargaming. А в свободное время даю волю своей инженерной фантазии. В этой статье я хочу поделиться своим опытом домашнего марсоходостроения.
Читать дальше →
Total votes 42: ↑42 and ↓0 +42
Comments 17

Винни-пух и современное искусство.

Reading time 2 min
Views 724
На полянке возле домика Совы был устроен вернисаж под открытым небом.

Вдоль картин прогуливалась Сова в компании Пятачка и Винни-Пуха.

— Сова, а что как называется эта картина? – спросил Пятачок, остановившись возле огромного, почти как весь домик Пятачка, полотна.
— Которая? – Сова подслеповато прищурилась.

Пятачок принюхался к картине и громко ойкнул.

— Сова, она же из репейника! – недовольно воскликнул поросёнок, потирая уколотый нос.
— А-ааа! – благодушно протянула Сова. Эта картина называется «Ослик Иа грустит».
— А где же здесь Иа?
— Он грустит. – нравоучительно сказала Сова. – Он грустит в другом месте. Где нет репейника. И поэтому он грустит.

Читать дальше →
Total votes 53: ↑41 and ↓12 +29
Comments 27

Существует ли зло?

Reading time 2 min
Views 11K
Один умный профессор однажды в университете задал своим студентам такой вопрос.
-Все, что существует, создано Богом?

Один студент смело ответил:
— Да, создано Богом.
— Бог создал все? — спросил профессор.
— Да, сэр, — ответил студент.

Профессор спросил:
— Если Бог создал все, значит Бог создал зло, раз оно существует. И согласно тому принципу, что наши дела определяют нас самих, значит Бог есть зло.

Студент притих, услышав такой ответ.

Читать дальше →
Total votes 236: ↑177 and ↓59 +118
Comments 313

Вредные советы лукавому IT-разработчику

Reading time 1 min
Views 886
Если деньги прикарманил и работу не сдаешь,
А заказчик напирает, и ему все невтерпеж,

Ты скажи, что ты трудился, что ночами ты не спал,
Но проклятый RAID сломался, и исходный код пропал.

И поэтому сегодня, сделав честное лицо,
Ты заказчику подсунул вот такое говнецо.

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

Что команда там трудилась, что успешно шел проект,
Но потом беда случилась — генеральский, б***ь, эффект.

Мол, министр образованья разработки посмотрел,
А проклятый, сука, сервер, через сутки полетел.

А когда вдруг очутилось, что у профи копий нет,
Им пришлось спасать министра и выкладывать макет.

Ты скажи, что ты хороший и готов проект поднять,
Что готов еще освоить миллионов двадцать пять.

— б***ь = брить :-))
Total votes 172: ↑141 and ↓31 +110
Comments 152

Ускорение загрузки Windows for fun and profit

Reading time 4 min
Views 802K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16 +500
Comments 365

4GB оперативной памяти

Reading time 3 min
Views 4.3K


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

Проблема проста: вы поставили в компьютер 4 гигабайта оперативки, но операционка не оценила вашей щедрости.
Читать дальше →
Total votes 63: ↑46 and ↓17 +29
Comments 163

Вы переживёте ядерный конфликт. Миф 1

Reading time 12 min
Views 4.7K

Роковой день


Миф № 01:


Почти все будут мгновенно убиты ядерной атакой.



Вы, может быть, думали — а что, если бомба упадёт прямо на вас? Скорее всего, нет. Случится нечто вроде нижеописанного.

Однажды в компьютерах России произойдёт сбой и они поведут себя так, как будто США уже нанесли удар на опережение. Система оповещения США уже допускала подобные ошибки и нас отделяли минуты от нанесения удара возмездия, прежде чем ошибка выяснялась. Кто сказал, что русские всегда будут оказываться столь же предусмотрительными?

Сорок минут отделяют запуск ракеты из России от поражения ею цели в Северной Америке.
Читать дальше →
Total votes 97: ↑74 and ↓23 +51
Comments 191

Как находить и устранять утечки памяти на примере Яндекс.Почты

Reading time 8 min
Views 65K
На первый поверхностный взгляд, слова JavaScript и «утечка памяти» рядом стоять не могут. Настоящих утечек памяти в JS, конечно, не может быть, потому что процесс сборки мусора происходит автоматически и не может контролироваться из нашего кода. Выделить память под объект и забыть освободить невозможно. Но могут быть ситуации, связанные с ошибками в логике работы приложения, которые приводят к утечкам памяти другого рода. Например, забиндили обработчик, в котором что-то делаем с методами общего объекта и забыли его анбиндить. Или же посылаем письмо с большим телом и не очищаем тело даже после отправки.

image

Мы в Яндекс.Почте, сложном и массовом проекте, накопили заметный опыт в поиске и устранении таких утечек, и хотим им поделиться.
Итак, больше подробностей
Total votes 147: ↑143 and ↓4 +139
Comments 13

Создание 1k/4k intro для Linux, часть 1

Reading time 10 min
Views 9.2K
«на русской сцене мы удивляем друг друга тем, что вообще что-то делаем», © manwe
(из статуса SCRIMERS на demoscene.ru/forum)

Пятиминутка мета: в этом тексте вам, котятки, предстоит прочитать о том, как потратить свое время совершенно неэффективно с точки зрения отношения размера полученного продукта к потраченным времени и усилиям.
Предположим, что мы хотим сделать что-нибудь эдакое, например, интру размером до 4кб, но мы нищеброды, и у нас нет денег на виндовс и видеокарту с шейдерами, поддерживающими ветвления. Или мы просто не хотим брать стандартный набор из apack/crinkler/sonant/4klang/боже-что-там-еще-есть, делать очередную «смотрите все! я тоже умею рэймарчинг дистанс филдс!» и теряться среди десятков-сотен таких же. Ну или же мы просто любим выпендриваться как попало в надежде, что девочки на нас наконец-то обратят внимание.

В общем, не важно. Пусть у нас просто есть какой-нибудь линукс со слабой видеокартой и вся юность впереди. Попробуем со всем этим теперь создать запускаемый файл размером не более, скажем, 1024 байт, который при запуске умудрялся бы каким-нибудь образом создавать и показывать пользователю что-нибудь (эдакое).



омг сколько текста
Total votes 192: ↑183 and ↓9 +174
Comments 54

Полупроводниковая электроника

Reading time 30 min
Views 369K


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



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





Иллюстраций: 34, символов: 51 609.



Читать дальше →
Total votes 488: ↑479 and ↓9 +470
Comments 152

Создание приложений реального времени с помощью Server-Sent Events

Reading time 7 min
Views 51K
Буквально недавно стало известно, что Firefox 6 получит SSE (уже есть в Opera 10.6+, Chrome, WebKit 5+, iOS Safari 4+, Opera Mobile 10+) так, что поддержка более половины всех браузеров (охват аудитории пользователей) уже не за горами. Настало время присмотреться к этой технологии. SSE предложил Ian Hickson более 7 лет назад, но только год назад она стала появляться в браузерах. У нас же есть WebSockets зачем нам ещё один какой-то протокол?! Но во всем есть свои плюсы и минусы, давайте посмотрим чем же SSE может быть полезен.

Идея SSE проста — клиент подписывается на события сервера и как только происходит событие — клиент сразу же получает уведомление и некоторые данные, связанные с этим событием. Чтобы понять полезность протокола SSE необходимо сравнить его с привычными методами получения событий, вкратце объясню их суть:
Читать дальше →
Total votes 87: ↑85 and ↓2 +83
Comments 55

Связка rvm + Rails + Nginx + Unicorn или деплоим рельсы правильно

Reading time 9 min
Views 54K
Целью данной заметки я ставлю в подробностях описать организацию сервера для Rails приложений в самой популярной на данный момент связке: rvm + Rails + Nginx + Unicorn. К написанию статьи побудило отсутствие полной пошаговой документации по этой связке, понятной не только ядреным профессионалам этой области. Далее я попытаюсь подробно, шаг за шагом, описать идеологически правильный процесс организации сервера для обслуживания нескольких Rails приложений (на примере одного) — если у вас есть абсолютная уверенность в том, что на подопытной машине никогда не будет работать более одного приложения — настройка может быть существенно короче и проще. Хочу предупредить, что тонкости, касающиеся работы приложения под высокой нагрузкой в статье не описываются, т.к. цель ставилась иная — заставить работать приложение в связке и сократить количество конфликтов с другими приложениями до минимума.
Читать дальше →
Total votes 68: ↑63 and ↓5 +58
Comments 135

Что почитать, чтобы повысить свой уровень JavaScript

Reading time 3 min
Views 98K
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Читать дальше →
Total votes 165: ↑161 and ↓4 +157
Comments 31

Восстановление убитых MBR и таблицы разделов

Reading time 4 min
Views 431K

0. Intro.


Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела — 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8.

Далее, с целью отката изменений, были объединены диски (10, 2 и 8) обратно в один 20Гб и отформатирован в NTFS. В нагрузку к этому, были проведены операции с MBR, результатом которой явилась ее смерть.

Итоги

1. При загрузке системы выводится сообщение MBR helper not found;
2. fdisk показывает один большой 160Гб диск.

Дураку понятно, что это начало веселой ночи.
Далее, под катом, решения вопроса.
Читать дальше →
Total votes 91: ↑78 and ↓13 +65
Comments 35

Принцип цикады и почему он важен для веб-дизайнеров

Reading time 6 min
Views 228K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Total votes 696: ↑682 and ↓14 +668
Comments 119

Свет и освещение

Reading time 7 min
Views 165K
Часто (в том числе и на хабре) всплывает вопрос освещения, особенно «нанотехнологиченого» светодиодного и зачастую говны священных войн «светодиод» против люминисцентных ламп начинают подбурливать. Больше года я уже собирался написать статью о свете, и оно наконец свершилось.
Из этой статьи вы узнаете почему в фотостудиях не снимают с люминесцентными лампами, почему светодиоды до сих пор не захватили мир и стоит ли ими освещать улицы. Поехали!
Читать дальше →
Total votes 302: ↑297 and ↓5 +292
Comments 208

Работа с FLA

Reading time 3 min
Views 6.2K
Плохо, хорошо

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

Частично содержание данной статьи пересекается со статьей Валерии Маллаевой О fla-исходниках.
Читать дальше →
Total votes 88: ↑72 and ↓16 +56
Comments 64

Pythonic

Reading time 7 min
Views 37K
Итак, что же это значит, когда кто-либо говорит, что foo выглядит как pythonic? Что значит, когда кто-либо смотрит в наш код и говорит, что он unpythonic? Давайте попробуем разобраться.

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

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

Понятие Pythonicity плотно связано с минималистической концепцией Python’a и уходом от принципа «существует много способов сделать это». Нечитабельный код, или непонятные идиомы – все это unpythonic.

При переходе от одного языка к другому, некоторые вещи должны быть «разучены». Что мы знаем из других языков программирования, что не будет к месту в Python’e?
Читать дальше →
Total votes 106: ↑99 and ↓7 +92
Comments 63

Panasonic атакует

Reading time 9 min
Views 16K
image

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

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

А для тех кто часто употребляет фразы типа «это необъяснимый глюк», или «работа данного оборудования зависит от погоды и уровня осадков в южной зимбабве» эта статья просто «must read», ибо я убежден, что любое явление можно объяснить с помощью фактов, логики и здравого смысла. И это статья яркое тому подтверждение.
Читать дальше →
Total votes 270: ↑268 and ↓2 +266
Comments 99

Кунг-фу поддержки проектов

Reading time 3 min
Views 1.4K
Наверно каждому из программистов приходилось сталкиваться на новом или на не новом месте работы с необходимостью поддерживать «чужой» проект.

Программисту удается написать код компилилируемый или интерепретиуемый, но не каждому понятный.

Все реагируют на «чужой» код по разному. Одних бросает в холодный пот, другие стиснув зубы разбираются. Так получилось, что я наблюдал этот процесс изнутри, как сторонний наблюдатель, как team leader и как специалист передающий свой код «новичку»

Читать дальше →
Total votes 66: ↑57 and ↓9 +48
Comments 40
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity