Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Ультразвуковой сонар + компьютер

Лучший ответ:
Прежде чем интересоваться «платформой», поинтересуйтесь базовыми принципами локации.

Сонары бывают двух основных видов: с одним узким лучом и бокового обзора. Первые способны, как правило, выдавать сигнал, пропорциональный расстоянию до препятствия в створе луча, вторые — только карту интенсивностей отраженного сигнала в виде полос, расположенных поперек направления сканирования.
Первый, скорее всего, просто «не заметит» комара из-за того, что луч должен в пределах единиц метров от излучателя сохранять диаметр, сравнимый с размерами комара, а такой сонар вам взять, определенно, негде. Второй — точно не заметит, потому что угловое разрешение таких устройств сравнительно мало. 

Ну а даже если бы вам удалось добыть сонар с тонким лучом, который остается диаметром меньше сантиметра на расстояниях в пределах комнаты, то элементарная арифметика говорит, что для обнаружения комара этим лучом нужно полностью сканировать комнату. А за это время комар легко перелетит из области, которая не была просканирована, в область, которая уже была. Так что локация с непрерывным сканированием — заведомо негодный метод.

Чтобы обнаруживать насекомых, требуется устройство, которое так или иначе видит всю картину сразу. Это может быть средство оптической триангуляции (две инфракрасные камеры и подсветка) или пассивной акустической триангуляции. Либо комбинация методов — приблизительное обнаружение пассивным акустическим методом с последующим включением направленной инфракрасной подсветки лазером (аналог радиолокатора подсвета и сопровождения цели, применяющегося в ПВО) и точной триангуляции инфракрасными камерами.

Проблема же со средством поражения также имеется: во-первых, поскольку вы не писали о том, что лазер будет фокусироваться на нужном расстоянии, то я предполагаю, что речь о лазере с параллельными лучами. Следовательно, жечь он будет как комаров, так и предметы в помещении (при том предметы — успешнее, потому что комар поглощает инфракрасное излучение хуже, чем, например, деревянная дверца шкафа). Ну и вам в этой комнате придется носить защитные очки, потому что без глаз эта штука тоже может оставить очень быстро.

Худший ответ:
На решение этой задачи уже не первый год различные компании тратят большие деньги, и готового решения пока что еще нет.
Как уже писали выше, локатор должен иметь очень узкую диаграмму направленности, что УЗ локаторам вообще не свойственно.
При помощи триангуляции положение определить проще, но работать такое устройство, скорее всего, должно в полной тишине.
Ничего не сказано о безопасности такой системы — лазер, сжигающий комаров, и для человека будет очень опасен.
Вопрос: Хороший пример реализации роутинга/чпу?

Лучший ответ:
symfony.com/doc/current/book/routing.html — ознакомьтесь, возможно вам будет любопытно.

В любом случае, делать жесткую структуру ссылок нерентабельно. Лучше описывать правила маршрутизации хотя бы как в Yii (просто паттерны регулярных выражений).

Худший ответ:
Я в своей cms сделал достаточно просто и работает как часы.

Все примерно так:

При инициализации страницы дергается метод parseBaseURL() в нем вычленяются из $_SERVER[«REQUEST_URI»] базовые переменные. А базовые для движка такие /ru/section/document.html

То-есть определяется текущий язык, если не указан то по умолчанию берется, потом раздел, и документ если он есть.

Далее. Вот пример: посетитель зашел по урлу /news/ — это у нас раздел сайта. В нем дергается модуль. Все что будет далее строиться например /news/page-1/, /news/view-1/, /news/download/file.zip или как угодно и что угодно может быть в урле. Как я это все распознаю. Базовый разбор был еще при инициализации, далее как я сказал дергается раздел, а к нему прицеплен модуль. В модуле я могу задать любой шаблон для урла.

Например:

$u_goods->addURL("#/cat-(\d+)/?#i", «category»);//add cat
$u_goods->addURL("#/goods-(\d+)/?#i", «goods»);//add goods
$u_goods->addURL("#/page-(\d+)/?$#i", «p»);//add pages var

И все. Уже в классе становятся доступные переменные category, goods, p. И так далее.

Итого — урл может быть какой угодно, и всегда в модуле для любого угла можно задать свое правило.
Вопрос: AngularJS или ExtJS для работы с Java бэкендом?

Лучший ответ:
На текущем месте работы делаем личный кабинет интернет-банка. Довольно насыщенный фронтенд - диаграммы, много всяких форм, и т.д.
Стек как раз Spring + angular с requirejs(я фронтенд пилю). Пишется отлично. На другом фреймворке было бы геморнее.
UPD. Перечислю вещи, которые мне нравятся в ангуляре. DI. Это довольно хороший паттерн, и тут он очень помогает. Да и это близко по духу к самой яве, там это часто используется.Двустороннее связывание данных. Многие критикуют его, т.к. в больших приложениях могут начаться тормоза из-за кучи вотчеров. Но на самом деле, если писать нормальный код, связывать с 2-х сторон только нужное и помнить про циклы. то всё будет хорошо.ДирективыОтсутствие шаблонов. Вместо этого манипуляции напрямую с DOM. Для меня это плюс, так как нет разделения на обычный html-код и синтаксис шаблонизатора. Это очень удобно. Сперва делается вёрстка, при этом верстальщик не обязательно должен знать ангуляр. А потом js-разраб расставляет по коду директивы и постепенно наращивает функционал. В случае наличия шаблонизатора, верстальщик должен ещё и уметь в шаблоны.Отсутствие стандартного набора виджетов. Можно  выбирать на свой вкус: есть модуль с UI на  Bootstrap'e, есть Matrial, и всегда можно сделать свой набор UIМодулиКуча библиотек почти на все случаи жизни

Худший ответ:
На текущем месте работы делаем личный кабинет интернет-банка. Довольно насыщенный фронтенд - диаграммы, много всяких форм, и т.д.
Стек как раз Spring + angular с requirejs(я фронтенд пилю). Пишется отлично. На другом фреймворке было бы геморнее.
UPD. Перечислю вещи, которые мне нравятся в ангуляре. DI. Это довольно хороший паттерн, и тут он очень помогает. Да и это близко по духу к самой яве, там это часто используется.Двустороннее связывание данных. Многие критикуют его, т.к. в больших приложениях могут начаться тормоза из-за кучи вотчеров. Но на самом деле, если писать нормальный код, связывать с 2-х сторон только нужное и помнить про циклы. то всё будет хорошо.ДирективыОтсутствие шаблонов. Вместо этого манипуляции напрямую с DOM. Для меня это плюс, так как нет разделения на обычный html-код и синтаксис шаблонизатора. Это очень удобно. Сперва делается вёрстка, при этом верстальщик не обязательно должен знать ангуляр. А потом js-разраб расставляет по коду директивы и постепенно наращивает функционал. В случае наличия шаблонизатора, верстальщик должен ещё и уметь в шаблоны.Отсутствие стандартного набора виджетов. Можно  выбирать на свой вкус: есть модуль с UI на  Bootstrap'e, есть Matrial, и всегда можно сделать свой набор UIМодулиКуча библиотек почти на все случаи жизни
Вопрос: Плюсы пересборки ядра?

Лучший ответ:
Подтвердить собственным опытом не могу, но думаю что существенного прироста производительности не будет, гораздо полезнее my.cnf подправлять под нужды.
Но с радостью посмотрю на другие ответы в этой теме.

Худший ответ:
А чем вас не устраивает ядро по-дефолту? Точнее так: чем КОНКРЕТНО оно вас не устраивает? Вы ведь, когда будете его пересобирать, планируете что-то там потюнить и повключать/повыключать? Или так просто, собрать...?
Вопрос: Ценится ли IT-специалист, который умеет все?

Лучший ответ:
Ценятся. Очень. 
Только платят им мало.

Худший ответ:
Очень ценятся, в начале бизнеса такие люди незаменимы!
Вопрос: Как убрать запрет доступа к интернету?

Лучший ответ:
Зависит от того, как именно провайдер закрыл вам доступ.
Скорее всего ничего не получится, провайдер в таких делах редко тупит.

Худший ответ:
Если при заблокированном интернете доступ к сервисам гугла есть - попробуйте https://chrome.google.com/webstore/detail/data-com... или попробуйте открыть сайт в google translate - введите ссылку в поле для перевода.
Ещё попробуйте сменить dns - возможно провайдер блокирует только его.
Вопрос: Как сделать то же самое при помощи css?

Лучший ответ:
Магия псевдоэлементов и :nth-child()
Та же магия, только горизонтальная.

Худший ответ:
codepen.io/vitaliy_kirenkov/pen/MwbbVb
И так далее... Не вижу никакой сложности.
Вопрос: JavaScript: Вызов функции класса из forEach

Лучший ответ:
Если у вас это нативный forEach, то он в качестве второго аргумента может принимать контекст. Т.е. простоarr.forEach(function(elm){... this.F2(); ... }, this);
Если ненативная функция, то надо смотреть детали ее реализации.

Худший ответ:
Может я действительно перемудрил =)
Праздники дают о себе знать
Вопрос: Приложения для хранения конфиденциальных данных

Лучший ответ:
Сам использую KeePass — мультиплатформенный, для андроида, в частности, использую KeePassDroid. Рекомендую.

Худший ответ:
Roboform. Так повелось еще с давних времен, много лет назад купил лицензию на компьютер, теперь вот и на Android-смартфоне тоже пользуюсь, синхронизируется в онлайне и все такое, автозаполнение в браузере, удобно, заметки, опять же.
Вопрос: Где найти работу iOS Junior?

Лучший ответ:
Книга, курсы и пара приложений мало.
Просто поставь себя на место руководителя. Каждая компания набирает человека для решения определенного круга задач. Угадать заранее с этим набором задач ты не можешь, поэтому лучшим решением будет охватить как можно больше умений и навыков.
Все просто - начни писать приложения, которые ты не знаешь как писать. Допустим нужна какая-то физика движений объектов и ты не знаешь как это реализовывать. Бери и учись. Так когда тебя спросят об этом, ты сможешь ответить какой подход ты выбрал для реализации задачи. Параллельно читай дополнительные книги. Это не обязательно книги по IOS. Многим работодателям нужны люди не только разбирающиеся в языке, но и умеющие программировать. То есть знающие паттерны, теории алгоритмов и прочее прочее. Если ты не знаешь как создать двусвязный список на указателях, о каких приложениях под IOS может идти речь? (Это я к примеру)
Далее уже можно пробовать фриланс. Поначалу нужно будет делать либо дешево либо бесплатно, пока карма не поднимется. Далее уже можно будет брать деньги за работу. Как только ты начнешь зарабатывать на фрилансе хоть что-то, у тебя появится опыт и ты уже сможешь что-то предоставить техническому специалисту на интервью. Ну и последнее, но немаловажное - собирай портфолио. Какие приложения/игры ты создавал. Это даст почву для разговора на интервью. По большому счету работодателя не интересует как и где ты учился, ему нужно знать что ты действительно умеешь и стоишь, чтобы понять потянешь ли ты тот груз задач и ответственности, что на тебя хотят взвалить.
Все это под большим ИМХО, ибо я прошел почти такой же путь

Худший ответ:
Поищи в интернете список студий в твоем городе.
Пиши им всем, не хотите ли джуниора? Многие хотят, просто не публикуют вакансии.
Если вдруг получится что никто не хочет, говори что готов работать бесплатно или за еду. У меня так знакомый устроился и через месяц ему стали платить зп
Вопрос: Заочное обучение по ИБ бывает или нет?

Лучший ответ:
Вам может лучше на курсы?

Худший ответ:
Посмотрите на МИФИ, очно-заочный факультет (mephi.ru/about/faculty/Faculty_distance_education). Там есть специальность 10.03.01 – информационная безопасность (методы защиты информации в компьютерных системах и сетях). Но точнее не скажу. Лучше всего туда позвонить.
Вопрос: Странно умирает хард

Лучший ответ:
Если винту больше 3х лет и начинаются проблемы — значит снимаем и ложим винт на полочку.

Худший ответ:
Если вы говорите что он работает 24х7 может он просто перегревается.
Вопрос: Как рассчитать производительность сети для видеонаблюдения в организации (учебное заведение)?

Лучший ответ:
Чтобы рассчитать производительность сети, сначала вам нужно посидеть и составить структурную схему, куда и как будет идти трафик от камер.
Кстати, о какой сети вы спрашиваете? Если исключить экзотику и проприетарные протоколы, камеры могут быть аналоговые, DVB-шные или IP-шные. Исходя из этого и будет сеть. Так вот какая она у вас? Лучше схемой, все равно она потом понадобится.

Худший ответ:
Вы имеете ввиду хватит ли вам производительности ваших сетевых железяк для установки энного количества камер энного разрешения, чтобы не повлиять на работу локальной сети в целом? 
Во первых куда у вас будут отправлять камеры изображение - комп в локальной сети или например облако какое либо (для расчета хватит ли вам исходящего канала интернета во втором случае), во вторых смотрите пиковую нагрузку на сетевое оборудование (это для понимания того, сколько процентов от мощностей вам доступно), в третьих, смотрите характеристики камер, чтобы понять какой процент канала они будут "отъедать" от сетевой инфраструктуры. Исходя из этого уже можно будет сделать вывод о том, сколько камер мы можем поставить максимально. Если это число максимально возможно установленных камер много больше необходимого количества, то на производительности вы сильно не повлияете, если же нет, то есть смысл уменьшать количество или апгрейдить оборудование. По крайней мере мне ваш вопрос видится таким образом.
Вопрос: Как зашифровать большой объем и залить на cloud.mail.ru?

Лучший ответ:
Конечно не реально.
Поэтому если хотите именно с этим сервисом работать, то шифруйте архиватором 7z или WinRar  и заливайте архивы.
Ну и если непонятно зачем вам вообще шифрование на лету, и виртуальный диск, если это резервное копирование?

Худший ответ:
своё облако и нет проблем
habrahabr.ru/company/syncdriver/blog/241453
isyncbox.com
Вопрос: Какие библиотеки для конвертации цвета самые быстрые?

Лучший ответ:
о скорости работы различных библиотек
Вообще-то там простая формула и она... ну как бы одинаково работает для всех в пределах одного языка программирования.

Худший ответ:
Перестань. Там нечего писать. Там простая формула и тебе надо две несчастные функции. За какую скорость ты собрался бороться?
oceansites.ru/pallete3/?file=k3.jpg - там на каждом хите вычисление кучи цветов в rgb->xyz->lab, вычисления cie2000,  rgb->hsv. Все на тормозном PHP и слеплено на коленке. Какие тормоза? Ты каждый пиксел хочешь перегнать в hsv? Даже это не великая проблема. На кой черт тут библиотека?
На HSV на пыхе:function RGB2HSV($rgb) {
        
        foreach ($rgb as $C=>$V) {
            $rgb[$C] = $V/255;
        }
        
        $MAX = max($rgb['R'], $rgb['G'], $rgb['B']);
        $MIN = min($rgb['R'], $rgb['G'], $rgb['B']);
        
        if ($MAX == $MIN) {
            $HSV['H'] = 0;
        } elseif ($MAX == $rgb['R']) {
            $HSV['H'] = 60*(($rgb['G'] - $rgb['B'])/($MAX - $MIN));
            if ($rgb['B'] > $rgb['G']) {
                $HSV['H'] = $HSV['H']+360;
            }
        } elseif ($MAX == $rgb['G']) {
            $HSV['H'] = 60*(($rgb['B'] - $rgb['R'])/($MAX - $MIN))+120;
        } else { // if ($MAX == $rgb['B'])
            $HSV['H'] = 60*(($rgb['R'] - $rgb['G'])/($MAX - $MIN))+240;
        }
        
        if ($MAX == 0) {
            $HSV['S'] = 0;
        } else {
            $HSV['S'] = 1-$MIN/$MAX;
        }
        
        $HSV['V'] = $MAX;
        
        return $HSV;
    }
Вопрос: Постраничная навигация. Как она устроена?

Лучший ответ:
Делаете запрос товаров с лимитом. Получаете N товаров. Берете их ID, делаете запрос свойств.
Свойства по сохраненному в них ID товара рассовываете в ранее полученные сущности товаров. Возвращаете эти сущности.
По-другому никак, только 2 запроса с объединением в скрипте. Если посмотрите AR в Yii, то там при запросе связанных сущностей они вытаскиваются отдельными запросами по ID родительской сущности. Там есть специальный параметр together, который позволяет вам принудительно вытащить связанные сущности через JOIN. В этом случае, об этом гласит сама документация Yii, не можете полагаться на limit в выборке, потому как limit будет применен к результирующему набору данных, который по размеру будет равен исходному только если связь была один-к-одному.

Худший ответ:
Я сайт как-то видел название какое-то простое типа paginator.ru но как сейчас не ищу не могу его найти (вот что значит программисты без SEOшников делали ))) может кто подскажет?
Вопрос: Как изменить горячие клавиши в mc?

Лучший ответ:
В версиях до 4.6.1 включительно изменить настройками нельзя, как уже писали выше, только в исходниках и через перекомпиляцию. В какой именно версии появилась возможность настройки горячих клавиш не могу сказать (искать лень), но в версиях 4.8.x она точно есть. Все дефолтные настройки хранятся в файле:

/etc/mc/mc.keymap

Там же можно подсмотреть, какие вообще есть возможные в принципе. При этом локальные настройки хранятся в файле в home директории:

~/.config/mc/mc.keymap

Например, таким образом реализовывается мое давнее желание заставить mc вести себя аналогично фару при нажатии left / right в панелях, что бы при нажатии влево был переход на страницу назад, и вправо — на страницу вперед:

[panel]
Left =
Right =
PageUp = pgup; alt-v; left
PageDown = pgdn; ctrl-v; right

Метод работает точно на mc 4.8.1 (gentoo).
Подробнее в мане к mc.

Худший ответ:
Насколько я знаю — это невозможно. Они жестко в исходниках прописаны, можете слить сырцы и поглядеть сами…
Вопрос: Алгоритм нахождения чисел без пар из большого потока данных?

Лучший ответ:
uint32_t xor_all = 0;
uint32_t xor_bit[32] = {0};

....

for (i = 0; i < n; ++i) {
    xor_all ^= in;
    for (j = 0; j < 32; ++j) {
        if (in & (1 << j))
            xor_bit[j] ^= in;
    }
}

for (j = 0; j < 32; ++j) {
    if (xor_all & (1 << j)) {
        out1 = xor_bit[j];
        out2 = xor_all ^ xor_bit[j];
        break;
    }
}



Идея в том, что непарные числа должны различаться хотя бы одним битом.
Мы будем кроме общего ксора тащить по одному ксору для чисел, имеющих i-й бит установленным.
В конце общий ксор даст нам различающиеся биты, по одному из которых мы найдём одно из непарных чисел, а там и второе.

Худший ответ:
+1, писал то же самое. В зависимости от компилятора, на С++ можно использовать либо С++11 контейнеры (unordered_set), либо из пространства имен tr1 на более старых компиляторах, если такое присутствует. По сути, при решении в лоб, придется хранить как минимум половину значений, либо хранить как-то более хитро.

Чуть подумал: проблему с памятью можно обойти, если разрешено обходить числа не последовательно, а в случайном порядке.
Также можно воспрользоваться принципом «разделяй и властвуй», т.е. строить вышеописанным способом множества элементов без пары для небольших кусков исходного массива, а потом искать симметрическую разность (объединение без пересечения) этих множеств.
Так вы еще их в массив сохраняете? Сразу сохраняйте в используемую структуру при считывании (set, unordered_set, unordered_map — в tr1 точно есть).
Вопрос: Windows 7 Ultimate x86, 6GB RAM + PAE?

Лучший ответ:
И что же за проблемы с совместимостью у 64-битных систем, если не секрет?

Худший ответ:
фраза с совместимостью — цитата из статьи.
Вопрос: Какой криптопротокол реализовать?

Лучший ответ:
Если "такое уже делали студенты в 20NN году, поэтому взять это нельзя", то тогда только
https://eprint.iacr.org/curr/
Вам в помощь

Худший ответ:
Мне лично было бы интересно исследовать Keccak или другой на основе функции губки. Или отсюда (other algorithms) можете выбрать.
Вопрос: Аспирантура, как и что?

Лучший ответ:
Можно вполне совмещать и работу по специальности, и аспирантуру, особенно, если последнюю проходить на предприятии, где работаешь. Руководство, если это адекватные люди, обычно поддерживает, потому как ученая степень в штате — это хорошо.

Худший ответ:
Аспирантура для тех, кто хочет заниматься наукой. Если Вы хотите плюс от работодателя, то, ИМХО, это не окупиться, лучше хорошо поработать, а не учиться. Если же Вы не видите себя без науки, хотите перевернуть весь мир своим открытием, то добро пожаловать в науку. Наука начинается еще с магистратуры, только у нас в России все как-то наоборот — магистратура это вышка. Во всем цивилизованном мире бакалавриата достаточно, чтобы быть специалистом.
Вопрос: Как восстановить повреждённый файл Visio?

Лучший ответ:
Зарегистрировался только ради того чтобы помочь тем кто попал в аналогичную ситуацию, в общем решение такое:
Выше подсказали что нужно смотреть в сторону ZIP и были правы, просто открываем поврежденный файл VISIO Winrar'ом -> операции -> восстановить архивы и выполняем процедуру восстановления. 
У меня сработало со всеми файлами. Всем удачи

Худший ответ:
Попробовать просмотреть содержимое при помощи консольной Python-утилиты OLE ToyOLE Toy is a set of Python scripts to parse and view contents of various 
binary file formats. Originally OLE Toy was developed for 
reverse-engineering of Microsoft Publisher file format, but later support 
for more of them was added, partially written from scratch, partially 
moved from our earlier work.
Полезной информацией будет в какой версии формата Visio сохранён файл.
Вопрос: После обновления на windows 10 она не загружается, черный экран с курсором мыши в чем проблема?

Лучший ответ:
Может быть глупой совет, но всё же. Была подобная проблема. Забыл что телевизор тоже подключен к компу, как оказалось сигнал с видео карты шёл на выключенный телевизор, а монитор был просто чёрным. Включил телевизор и поменял настройки, дальше проблем не было

Худший ответ:
в загрузке, наверное. 
нажать win+r ввести explorer.exe
потом включить логи загрузки да посмотреть что не так.
Вопрос: Как реализовать алгоритм RSA на Python?

Лучший ответ:
Рекомендация от профессора стэндфордского университета Dan Bioneh на курсе крипторгафии:не пытайтесь реализовать алгоритмы сами!

Худший ответ:
F = (P - 1) * (Q - 1)
print "Вычисляем функцию Эйлера F(n)=(p-1)*(Q-1)"
print "F =",F

# Use first simple number.
Ko = 0
i = 2
while i < F:
	e = Euclid(F, i)
	if e == 1:
		Ko = i;
		break;
	i += 1

print "Выбираем значение открытого ключа Кo с соблюдением условий"
print "1<Кo<F(n), Кo и F(n) – взаимно простые числа (их НОД=1)"
print "Ko =",Ko

i = 2
while i < n:
	if (i * Ko) % F == 1:
		Kc = i
		break
	i += 1

print "Находим Kc =",Kc

C = M**Ko % n
print "Шифрование: C =",C

Md = C**Kc % n
print "Расшифрование: M =",Md
Вопрос: Какой лучший веб-редактор под Linux?

Лучший ответ:
с Dreamweaverom
Да вы мастер в склонениях.

Худший ответ:
1) Любой. Ubuntu если не хочется настраивать.
2) Brackets, Sublime Text.
Вопрос: Как называется программа для создания языка программирования?

Лучший ответ:
Компилятор можно написать даже на Бейсике. Да, да, на том самом Бейске, который в школе проходят. Вся сложность написания компилятора в самом механизме компиляции. 
Так что, для начала, подучите теорию: 
1) Формы Бэкуса-Наура - великолепная теория, позволяющая формально записать любой язык, то есть, как бы, математезировать конструкции языка, что бы их можно было запрограммировать. Почитать об этом можно тут: на википедии, а тут не только о БНФ, но и о его аналогах, И на интуите есть лекции по этой теме, а вот и великолепный учебник по теории компиляторов.
2) Стоит изучить архитектуру компьютеров. Хотя бы поверхностно, но вы должны представлять, что такое программа и как она выполняется на компьютере: Архитектура фон Неймана, и опять статья на Интуите (он вообще офигенен), немного о конечных автоматах, Реализация конечного автомата, Машина Тьюринга
3) Подучите Си/С++ или какой-то другой нативный язык программирования. Могу порекомендовать Страуструпа.
И вообще! Крайне не рекомендую ждать чуда, его не будет. Мир жесток и беспощаден и если не постигать необходимые знания самому, а ждать, пока кто-то напишет для Вас "Волшебную программу с волшебной кнопкой", то так ничего и не дождётесь. Я тоже так до 18 лет ждал, а потом в универ поступил и начал учиться. Теперь я работаю программистом и, по крайней мере, одна моя мечта исполнилась, но я до сих пор с завистью смотрю на тех, кто уже в возрасте 18-22 лет известны, как великолепные специалисты. Я знаю, что и я мог таким стать, но не стал, потому что ждал, пока кто-то даст мне волшебную кнопку. 
Удачи в учении!

Худший ответ:
Apero.ru
Как же тогда создан этот сайт конструктор текстовых игр? Там ведь используется компилятор?
Как создать точно такой-же?