vk2
+3
… но есть логический анализатор и осциллограф…
vk2
+1
Ничего себе «фантики». На них можно взять настоящие сервисы AWS (за очень мелким исключением).
15 штук — это даже как-то очень много…
vk2
+2
«Для» — вполне математично!
vk2
+3
«Вы также можете указать, что Ваш файл данных сжат с помощью gzip. Если Вы отметите соответствующую опцию в форме отправки решения, то содержимое файла данных будет обработано функцией zlib.gunzipSync перед тем, как попасть в функцию init. Этот вариант удобен тем, что Вам не нужно ни внедрять в код на JS двоичные данные, ни писать самостоятельно стандартный алгоритм распаковки. При этом, конечно, ограничение по размеру касается сжатых данных; после распаковки их размер вполне может превысить 64 КиБ»
vk2
+1
Кстати, если исходить только из подобных соображений, то поступление на прикладную математику и информатику в начале 90-х было бы абсолютно идиотским решением :)
vk2
0
Мечте надо следовать.

Начинающему можно советовать книгу The Elements of Computing Systems: Building a Modern Computer from First Principles (неформальное название From NAND to Tetris) и соответствующий курс на Курсере: Build a Modern Computer from First Principles.

Там упрощенный (но настоящий) HDL, собственный hardware simulator на Java, средства прогона тестов и так далее. Начинаете с создания базовой логики, сумматоров-мультиплексоров, потом делаете арифметически-логическое устройство, память, в общем, получается настоящий процессор — для которого вы потом пишете ассемблер и так далее.

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

Если понравилось, покупаете дешевую FPGA-платку для начинающих типа Papilio Pro с Logic Wing, скачиваете официально бесплатный Xilinx ISE WebPack, и начинаете реализовывать то, что делали в предыдущем курсе, на нем (книга Intro to Spartan FPGA в помощь; правда, там используется предыдущая плата, но поменять нужно будет только некоторые значения). Про Марсоход тоже нельзя не упомянуть.

Ну а потом уже можно MIPSfpga вместе с упомянутой выше книгой Дэвида и Сары Харрис; сам проект неоднократно упоминался на Хабре.

И все получится.
vk2
0
Что же это такое у меня в Убунту стоит, не dtrace4linux ли?
Кстати, SystemTap не упомянут. И /proc.
vk2
+3
Ты посмеялся над идеей, потом признался, что идею не понял. Прекрасный минус, обоснованный.
vk2
0
Приятная ссылка, спасибо!

(по теме: я бы все-таки поставил в статье ссылку на Hamming Weight)
vk2
0
Спасибо! Круто. Я думал, это потом, за бокалом пива придумали маркетологи (хотя какие тогда могли быть маркетологи?)
vk2
0
Скажите, а кто и как придумал слово «фонтанное преобразование»? Я уже значительно позже понял, что это от слова «фонт» — но в 90-х в КомпьютерПресс это читалось не хуже «фрактального сжатия».
vk2
+4
Беллар в 17 лет увидел японскую реализацию алгоритма LZSS и написал LZEXE, которая стала очень популярной в мире (кстати, тоже публиковалась в Софтпанораме).

Затем И.Тараненко путем анализа UNLZEXE.C (того самого, by Куризоно, тоже японец) еще раз написал на Си упаковку (информации было мало, приходилось учиться именно так..).

Скрытый текст
Представляемая процедура SQUEEZE предназначена для упаковки
данных. Она была построена на основе анализа пакета упаковки EXE —
файлов LZEXE, в составе которого находился исходный модуль распаков-
ки (UNLZEXE), написанный на Си. Поэтому процедура SQUEEZE фактически
действует по принципу упаковщика LZEXE // Тараненко Игорь 11/03/1991

… а вскоре Ю.Красильников ее ускорил и сделал версию для упаковки COM-файлов, молча использовав в ней куски из распаковщика LZEXE (откройте в дизассемблере LZEXE и сравните, он ведь упакован «сам собой»).

… сигнатуры были на месте. Мое предположение – это было сделано вручную для маскировки следов использования компрессора. Зачем было это делать при создании маленького трейнера для сейвов – отдельная загадка.

Это была защита от детей — чтобы другой ребенок не мог взять hex-редактор и поставить свой копирайт. Ну а поскольку эти «патчилки трех байтов» тоже часто писали дети, им проще было взять PKLITE/LZEXE и убрать сигнатуру, чтобы стандартный анпакер перестал работать.
vk2
0
Спасибо за библиотеку. А можете что-нибудь сказать, насколько большие ресурсы будут вкладываться в развитие библиотеки в будущем? Наличие globalsign'а как-то успокаивало (хотя и сейчас pki.js в их github-репозитарии).
vk2
0
Попробуйте ассоциировать с шелловской командой cp/scp/mv и так далее. «Откуда» — «куда». Хотя понимаю, сложно избавиться от привычки.
vk2
+8
Любителям ассемблера бесполезно, но мы плюсуем!
vk2
0
Советую всегда пробовать вывести решение на минимальное количество циклов. Как правило, это невозможно сделать без распараллеливания (которое во многом и придает интерес).
vk2
0
Я давно закончил университет. Как правильно заполнить анкету, чтобы не врать? Указать edx/coursera, например, где я прохожу курсы?
vk2
+3
Ставлю на Elixir с каким-нибудь очень малоизвестным компилятором в JS.
vk2
+2
По стандарту эти записи эквивалентны.
vk2
+9
#include <stdio.h>
int main(){ int $ = -~-~-~0; while ($ --> 0) putchar($["123"]); }
vk2
0
Хорошая статья. Заинтересовало это:

"… специальный кодек, как это было сделано для Dead Space.."

Там свой кодек? зачем? чем он хорош?
vk2
0
«Сообщение» — не совсем магическое слово. Например, я могу задать метод, в который будут попадать неизвестные сообщения (с аргументами и т.д.). Таким образом легко сделать объект-прокси.
vk2
+2
www.seaside.st

В свое время это было дико инновационно и круто. Но, по-моему, там уже ничего не развивается. Компанию автора купил Твиттер.
vk2
0
«Откровенно говоря, портативные программы — некое виндовозное изобретение для скучающих офисных работников»

Я просто для информации :) 99% программ для Мака распространяются таким образом. Установка сводится к перетаскиванию в папку Applications, удаление — перетаскиванием в корзину.
vk2
0
GUI-bindings в GNU Smalltalk незрелы, а GUI в Pharo слишком замкнут на себя и неудобен конечному пользователю. Кстати, gnu smalltalk — file based, там даже class browser'a нет, если не ошибаюсь. VisualWorks — нормальный вариант, что в нем плохого?
vk2
+1
Скажем, система виджетов вообще в каждом смоллтоке своя ) Morphic — это Squeak/Pharo, а автор рассказывает про VisualWorks.

Чтобы коммент был не совсем пустой, оставлю ссылку на amber-lang.net, выглядит мило.
vk2
+1
Замечу, что в комплекте этой среды дополнительно идет отладочная VM, в которой полно ассертов, логов и т.д., но главное, что она еще собрана с полной отладочной информацией (специально, чтобы разработчик мог нормальный стектрейс представить авторам).

Понятно, что это означает для исследователя.
vk2
+3
Да нет, просто никому не нужно (очень хороший язык, но вытеснен в совсем уж узкую нишу)
vk2
+5
По-моему, вы демонизируете Смоллток :-)

Посмотрите класс CompiledCode, Compiler, Decompiler, InstructionStream и прочие. Учитывая рефлексию как неотъемлемое свойство смоллтока, можно получить просто огромное количество информации на достаточно низком уровне. В отданном экзешнике многих этих классов, вероятно, не будет (если он умен, чтобы их стрипнуть), но их достаточно, чтобы изучить байткод и вообще организацию компиляции и рантайма. Да, VM там JIT, но делает она native code все-таки из байткода…

Вот вам и байткод, и декомпиляция байткода средствами самого же Cincom VisualWorks (извините за стиль, слишком давно на нем не писал):

t := [ :arg | arg*2 ] // в момент присвоения в переменную t, этот блок скомпилировался

t value: 100 // проверяем, что работает
>> 200

t method bytes // получаем байт-код
>> #[16 75 168 101]

result := String new writeStream.
t method printSymbolicOn: result.  // печатаем "дизассемблированный" байткод
result contents
>> 'normal CompiledBlock numArgs=1 numTemps=0 frameSize=12
>>
>>literals: ()
>>
>>1 <10> push local 0
>>2 <4B> push 2
>>3 <A8> send *
>>4 <65> return
>>'

t method decompiledSource // просим декомпилировать байткод
>> '[:t1 | t1 * 2]'

// печатаем декомпилированный метод asOrderedCollection класса Collection
Collection enumerateMethods: [ :class :selector :method | selector asString = 'asOrderedCollection' ifTrue: [ Transcript nextPutAll: method decompiledSource ]]
....и т.д.
vk2
+8
Прости меня Бог за ссылку на Пикабу, но уж очень смешно: если не инсценировка, конечно
vk2
0
Вам сюда: dangerousthings.com — вживление nfc-чипа в руку
vk2
0
О, я мог пропустить письмо, прошу прощения ( Да, OK
vk2
0
Уважаемые MadRobots, а вы не планировали поддержать PebbleBits (часами и средствами), чтобы мы в мае оперативно получили поддержку русского?
vk2
0
Почитайте ask me anything-сессию с Team Pebble: www.reddit.com/r/IAmA/comments/2x5aj4

Например, могут появится умные ремешки с NFC, подключающиеся к Pebble. Или иные сенсоры.
vk2
+2
Да вообще штуковин, которые стоят несусветных денег или отвечают за жизненно важные вещи и имеют при этом разъем USB — слишком много, если оглядеться.

Понятно, что идея usb-киллера очевидна и реализация примерно понятна, но все же…
vk2
+22
Мне кажется, вы заодно должны были разработать и «презерватив» — блок-переходник, через который можно подключать такие «подозрительные» флэшки.

Еще не понимаю такого количества желающих купить. Ребята, ружье на стене в итоге выстрелит, вам свою карму и совесть совсем не жалко?
vk2
+2
Хорошо, будем считать, я вас убедил, что массив — это именно массив, а не что-нибудь ещё. Откуда тогда берётся вся эта путаница между указателями и массивами? Дело в том, что имя массива почти при любых операциях преобразуется в указатель на его нулевой элемент.

#include <stdio.h>
int main() {
        char s[] = "Hello, world";
        printf("%c\n", 5[s]);
};


Если честно, я вообще не понял смысла Вашей статьи :-) Базовые (а не «тонкие» понятия), но зачем-то настолько усложненные…
vk2
+1
Ну или если какой-то mac-адрес постоянно всплывает в географических координатах, его нужно начать игнорировать.
vk2
+4
Я боюсь, что это не «слава».

Просто человеку всего лишь один раз случайно повезло с идеей.

Это очень трагично, если вдуматься.
vk2
0
Спасибо за перевод. Еще есть фильм BBC "From Russia With Love" про Пажитнова и Тетрис, тоже очень много прямой речи.

Говоря о Пажитнове, стоит еще вспомнить Вадима Герасимова, который сделал с Пажитновым первую реализацию Тетриса для PC (будучи то ли школьником, то ли студентом). Учился в MIT, работает в Google.