A history of attacks on cryptographic hash functions.
https://z.cash/technology/history-of-hash-function-attacks
https://z.cash/technology/history-of-hash-function-attacks
Zcash
Lessons From The History Of Attacks On Secure Hash Functions - Zcash
by Zooko Wilcox, Zcash and LeastAuthority, 2017-02-24 This document is a work-in-progress. Please contact the author if you see errors […]
Prose is an open source web application for content authoring on static web sites hosted on github. It supports Jekyll and detects its Markdown pages, performs syntax highlighting, shows previews with full template substitution and so on.
http://prose.io/
http://prose.io/
A tiny collection of simple but playable games written in C and SDL. Compiled with TCC!
https://github.com/superjer/tinyc.games
https://github.com/superjer/tinyc.games
GitHub
GitHub - superjer/tinyc.games: Tiny C games you can compile and run RIGHT NOW
Tiny C games you can compile and run RIGHT NOW. Contribute to superjer/tinyc.games development by creating an account on GitHub.
Most of us know the game Super Mario Bros, but not many of us know about a glitch in the game that allows teleportation to World -1 (minus one) through the warp zone (yes, those small underground rooms with green pipes allowing next level selection).
The following article explains why such behavior can be possible. Again, this is not an easter egg or hidden level, the whole additional world is just a glitch!
https://smcgamer.wordpress.com/2010/09/09/deconstructing-the-minus-world/amp/
The following article explains why such behavior can be possible. Again, this is not an easter egg or hidden level, the whole additional world is just a glitch!
https://smcgamer.wordpress.com/2010/09/09/deconstructing-the-minus-world/amp/
Home in the Clouds
Deconstructing the Minus World
The Minus World of Super Mario Bros. is one of the most famous video game glitches. But why does it happen? Getting Through the Wall Well, first, how do you get through the wall? The game normall…
An unfinished tutorial on writing a compiler for a Haskell-like programming language called Fun.
http://dev.stephendiehl.com/fun/
http://dev.stephendiehl.com/fun/
Список простых компиляторов/анализаторов языка Си или его подмножества.
Все проекты, перечисленные ниже, действительно легки в изучении и модификации. В этот список не вошли маленькие, но более серьезные компиляторы вроде pcc, lcc и компиляторов из plan9.
Neat CC
https://github.com/aligrudi/neatcc_make
Компилирует из подмножеста ANSI C в ARM, i686, X86_64. Есть простые оптимизации на промежуточном представлении. Простой, компактный и аккуратный, что и отражено в названии. Вместе с компилятором автор разрабатывает линкер, ассемблер и стандартную библиотеку. Для сборки требуется, чтобы был установлен транслятор ассемблера fasm. Нет поддержки floating point типов, битовых полей в структурах и некоторых других мелочей. Может собирать код других проектов Ali Gholami Rudi, названных с приставкой neat*.
Tiny C Compiler
https://bellard.org/tcc/
Современный и быстрый компилятор из подмножества C99 (нет комплексных типов). Простой и прямой, собирает множество реальных проектов. Когда-то даже умел собирать ядро Linux, но эта возможность была утрачена. Есть бэкенды для популярных процессорных архитектур и операционных систем.
8cc and 9cc
https://github.com/rui314/8cc
https://github.com/rui314/9cc
Цель разработчика - полная поддержка стандарта C11 при сохранении простоты кодовой базы. Целевая платформа - Linux x86_64.
Есть краткий лог с историей разработки 8cc:
https://www.sigbus.info/how-i-wrote-a-self-hosting-c-compiler-in-40-days.html
Simple C Compiler
https://github.com/8l/scc
Цель разработчиков (suckless.org) - создать простой компилятор C99 с обозримой, простой кодовой базой. Целевые платформы: Z80, x86_64, i686.
Smaller C
https://github.com/alexfru/SmallerC
Однопроходный компилятор с поддержкой C89 и некоторыми расширениями C99. В качестве целевой платформы использует язык ассемблера с NASM синтаксисом.
SubC
https://github.com/minux/subc
Подерживает довольно широкое подмножество C89. Есть бэкенды для ARMv6, i386 и X86_64. Описан в книге Nils M Holm "Practical Compiler Construction". Сильно развит в сравнении с версией из книги.
Sparse
https://sparse.wiki.kernel.org/index.php/Main_Page
Семантический анализатор кода, созданный Линусом Торвальдсом для анализа ядра Linux. На базе Sparse не раз пытались делать компиляторы, но ничем успешным оно не заканчивалось. Поддерживает C99 с множеством GNU расширений, которые используются в ядре Linux.
Все проекты, перечисленные ниже, действительно легки в изучении и модификации. В этот список не вошли маленькие, но более серьезные компиляторы вроде pcc, lcc и компиляторов из plan9.
Neat CC
https://github.com/aligrudi/neatcc_make
Компилирует из подмножеста ANSI C в ARM, i686, X86_64. Есть простые оптимизации на промежуточном представлении. Простой, компактный и аккуратный, что и отражено в названии. Вместе с компилятором автор разрабатывает линкер, ассемблер и стандартную библиотеку. Для сборки требуется, чтобы был установлен транслятор ассемблера fasm. Нет поддержки floating point типов, битовых полей в структурах и некоторых других мелочей. Может собирать код других проектов Ali Gholami Rudi, названных с приставкой neat*.
Tiny C Compiler
https://bellard.org/tcc/
Современный и быстрый компилятор из подмножества C99 (нет комплексных типов). Простой и прямой, собирает множество реальных проектов. Когда-то даже умел собирать ядро Linux, но эта возможность была утрачена. Есть бэкенды для популярных процессорных архитектур и операционных систем.
8cc and 9cc
https://github.com/rui314/8cc
https://github.com/rui314/9cc
Цель разработчика - полная поддержка стандарта C11 при сохранении простоты кодовой базы. Целевая платформа - Linux x86_64.
Есть краткий лог с историей разработки 8cc:
https://www.sigbus.info/how-i-wrote-a-self-hosting-c-compiler-in-40-days.html
Simple C Compiler
https://github.com/8l/scc
Цель разработчиков (suckless.org) - создать простой компилятор C99 с обозримой, простой кодовой базой. Целевые платформы: Z80, x86_64, i686.
Smaller C
https://github.com/alexfru/SmallerC
Однопроходный компилятор с поддержкой C89 и некоторыми расширениями C99. В качестве целевой платформы использует язык ассемблера с NASM синтаксисом.
SubC
https://github.com/minux/subc
Подерживает довольно широкое подмножество C89. Есть бэкенды для ARMv6, i386 и X86_64. Описан в книге Nils M Holm "Practical Compiler Construction". Сильно развит в сравнении с версией из книги.
Sparse
https://sparse.wiki.kernel.org/index.php/Main_Page
Семантический анализатор кода, созданный Линусом Торвальдсом для анализа ядра Linux. На базе Sparse не раз пытались делать компиляторы, но ничем успешным оно не заканчивалось. Поддерживает C99 с множеством GNU расширений, которые используются в ядре Linux.
GitHub
GitHub - aligrudi/neatcc_make: Neatcc top-level makefile
Neatcc top-level makefile. Contribute to aligrudi/neatcc_make development by creating an account on GitHub.
Isolation of vocals with a Convolutional Neural Network.
http://madebyoll.in/posts/cnn_acapella_extraction/
http://madebyoll.in/posts/cnn_acapella_extraction/
madebyoll.in
Acapella Extraction with ConvNets
A working prototype
A library for audio and music processing. There is a good example of vocals separation.
https://librosa.github.io/
https://librosa.github.io/
Golang is beautiful, but it doesn't fit the requirements of embedded systems. There is a try to bring the power of Go to Cortex-M series of MCUs through transpiling to C.
Unfortunately the codebase is messy sometimes, but it looks like a first step towards the noble goal.
I wish the author good luck with the project.
https://github.com/ziutek/emgo
Unfortunately the codebase is messy sometimes, but it looks like a first step towards the noble goal.
I wish the author good luck with the project.
https://github.com/ziutek/emgo
GitHub
GitHub - ziutek/emgo: Emgo: Bare metal Go (language for programming embedded systems)
Emgo: Bare metal Go (language for programming embedded systems) - ziutek/emgo
A simple round-robin preemptive multitasking system written in 6502 assembly language.
http://6502.org/source/kernels/minikernel.txt
http://6502.org/source/kernels/minikernel.txt
Pixilang is an easy to learn and use programming language for small demos with graphics and music written by famous Alex Zolotov. You may think that this language is too simple for serious software, but Alexander has written many useful applications in Pixilang including such cool thigs as PixiTracker.
http://www.warmplace.ru/soft/pixilang/index_ru.php
http://www.warmplace.ru/soft/pixilang/index_ru.php
I'm almost sure, you've heard about Sam - a small text editor written by Rob Pike. Modern, refined version of this editor can be found in Deadpixi's git repo. Many superstars of computer science loved it.
https://github.com/deadpixi/sam
https://github.com/deadpixi/sam
GitHub
GitHub - deadpixi/sam: An updated version of the sam text editor.
An updated version of the sam text editor. Contribute to deadpixi/sam development by creating an account on GitHub.
Mozart is a programming system based on a multiparadigm programming language Oz.
This language is used in a perfect book of Peter Van Roy and Seif Haridi - Concepts, Techniques and Models of Computer Programming.
http://mozart.github.io/
This language is used in a perfect book of Peter Van Roy and Seif Haridi - Concepts, Techniques and Models of Computer Programming.
http://mozart.github.io/
mozart2.org
Mozart Programming System
mozart oz programming language system
A detailed description of memory management in the runtime of Golang and nice tips on software optimization with the observed design in mind.
https://about.sourcegraph.com/go/gophercon-2018-allocator-wrestling/
https://about.sourcegraph.com/go/gophercon-2018-allocator-wrestling/
Sourcegraph
GopherCon 2018 - Allocator Wrestling
A whirlwind tour of the Go memory allocator and garbage collector, with tools and tips on how to optimize.
This awesome page made by Russ Cox gathers lots of materials related to efficient implementation of engines for regular expression search.
https://swtch.com/~rsc/regexp/
https://swtch.com/~rsc/regexp/
This page written by Russ Cox puts together info about verification of Plan9's synchronization primitives with Promela/Spin.
https://swtch.com/spin/
https://swtch.com/spin/
Swtch
Spin & Plan 9
Spin & Plan 9 resources
Harvey OS is a modern reincarnation of Plan9. It can be built with GCC, ICC or Clang on any popular operating system, has an updated APE subsystem and supports userspace development in golang. There are plans to add a new GUI, native toolchain and a file server.
https://harvey-os.org/
https://harvey-os.org/
Anya138
Anya138 | Situs Pemberi Kekuasaan dan Kursi Gratis untuk Rakyat Indonesia
Anya138, situs game online yang memberikan kekuasaan dan “kursi gratis” bagi rakyat Indonesia. Daftar sekarang, klaim bonus, dan raih kemenangan besar tanpa batas!