galaxyhaxz/devilution: Diablo devolved - magic behind the 1996 computer game
Diablo devolved - magic behind the 1996 computer game

Reverse engineered by GalaXyHaXz in 2018
gamedev  diablo  code 
2 days ago
The Pi4J Project – Home
This project is intended to provide a friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform. This project abstracts the low-level native integration and interrupt monitoring to enable Java programmers to focus on implementing their application business logic.
raspberrypi  java  diy  io  library  gpio 
3 days ago
StubbornJava/StubbornJava: Unconventional Java code for building web servers / services without a framework. Think dropwizard but as a seed project instead of a framework. If this project had a theme it would be break the rules but be mindful of your deci
Unconventional Java code for building web servers / services without a framework. Think dropwizard but as a seed project instead of a framework. If this project had a theme it would be break the rules but be mindful of your decisions. https://www.stubbornjava.com
java  demo  webdev  undertow  jackson  okhttp 
13 days ago
paragonie/paseto: Platform-Agnostic Security Tokens
Paseto is everything you love about JOSE (JWT, JWE, JWS) without any of the many design deficits that plague the JOSE standards.

What follows is a reference implementation. Requires PHP 7 or newer.
php  alternative  jwt  authentication  security 
13 days ago
Radare is a portable reversing framework that can...

Disassemble (and assemble for) many different architectures
Debug with local native and remote debuggers (gdb, rap, webui, r2pipe, winedbg, windbg)
Run on Linux, *BSD, Windows, OSX, Android, iOS, Solaris and Haiku
Perform forensics on filesystems and data carving
Be scripted in Python, Javascript, Go and more
Support collaborative analysis using the embedded webserver
Visualize data structures of several file types
Patch programs to uncover new features or fix vulnerabilities
Use powerful analysis capabilities to speed up reversing
Aid in software exploitation
reverseengineering  framework  debugging  tools  radare  awesome  opensource 
16 days ago
radare/radare2: unix-like reverse engineering framework and commandline tools security
unix-like reverse engineering framework and commandline tools security http://www.radare.org/

radare2 is portable.


6502, 8051, CRIS, H8/300, LH5801, T8200, arc, arm, avr, bf, blackfin, xap, dalvik, dcpu16, gameboy, i386, i4004, i8080, m68k, malbolge, mips, msil, msp430, nios II, powerpc, rar, sh, snes, sparc, tms320 (c54x c55x c55+), V810, x86-64, zimg, risc-v.

File Formats:

bios, CGC, dex, elf, elf64, filesystem, java, fatmach0, mach0, mach0-64, MZ, PE, PE+, TE, COFF, plan9, dyldcache, Commodore VICE emulator, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.

Operating Systems:

Android, GNU/Linux, [Net|Free|Open]BSD, iOS, OSX, QNX, w32, w64, Solaris, Haiku, FirefoxOS


Vala/Genie, Python (2, 3), NodeJS, Lua, Go, Perl, Guile, php5, newlisp, Ruby, Java, OCaml, ...
framework  unix  debugging  reverseengineering  security  hacking  cli  commandline  radare 
16 days ago
ccampbell/luna: Simple, modern, opinionated JavaScript unit testing
Luna is a simple, modern, opinionated unit testing framework for testing JavaScript in a browser or with Node.js.

Unlike other testing frameworks, Luna has no configuration options or plugins. This means it will not work for every use case, but it is designed to work very well in many cases.
javascript  js  unittesting  testing  library 
17 days ago
Asylo is an open source framework for developing enclave applications. It defines an abstract enclave model that can be mapped transparently onto a variety of enclave technologies (a.k.a., enclave backends). Asylo provides a software-development platform that supports a growing range of use cases. In a sense, the enclave backend can be viewed as a special-purpose embedded computer running inside a conventional machine, with Asylo providing the necessary runtime for that embedded computer.
google  enclave  asylo 
21 days ago
cervus-v/cervus: The Cervus Subsystem for Linux
Cervus implements a WebAssembly "usermode" on top of the Linux kernel (which tries to follow the CommonWA specification), enabling wasm applications to run directly in ring 0, while still ensuring safety and security.
wasm  rust  linux  kernel  awesome  webassembly 
23 days ago
You like TDD? you'll love Infinitest.
Each time you change the code Infinitest runs the relevant tests for you!!
testing  tdd  junit  java  tools 
4 weeks ago
jqno/equalsverifier: EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods is met.
EqualsVerifier can be used in Java unit tests to verify whether the contract for the equals and hashCode methods in a class is met. The Maven coordinates are:
java  junit  testing 
4 weeks ago
The Art of Logging - CodeProject
This article provides guidelines for logging within your web or desktop applications, answering questions such as when to log, what to log, and how to log.
logging  bestpractices  development  softwareengineering 
5 weeks ago
C++ Insights
C++ Insights is a clang-based tool which does a source to source transformation. Its goal is to make things visible which normally, and intentionally, happen behind the scenes. It's about the magic the compiler does for us to make things work. Or looking through the classes of a compiler.

Some time ago I started looking into some new things we got with C++11, C++14 and C++17. Amazing things like lambdas, range-based for-loops and structured bindings. I put it together in a talk. You can find the slides and a video online.

However, all that research and some of my training and teaching got me start thinking how it would be, if we could see with the eyes of the compiler. Sure, there is an AST-dump at least for clang. With tools like Compiler Explorer we can see what code the compiler generates from a C++ source snippet. However, what we see is assembler. Neither the AST nor the Compiler Explorer output is in the language I write code and therefore I'm most familiar with. Plus when teaching students C++ showing an AST and explaining that it is all there, was not quite satisfying for me.

I started to write a clang-based tool able to transform a range-based for-loop into the compiler-internal version. Then, I did the same for structured bindings and lambdas. In the end, I ended up with doing a lot more as initially planned. It shows where operators are invoked, places in which the compiler does some casting. C++ Insights is able to deduce the type behind auto or decltype. The goal is to produce compilable code. However, this is not possible in all places.

Still, there is work to do.

I do not claim to get all the things right. This is just the initial version of C++ Insights I consider good enough to hand it to the public. Also, keep in mind that it is solely based on clang and my understanding of C++ and the AST.

You can see, for example the transformation of a lamda, range-based for-loop or auto. Of course, you can transform any other C++ snippet.

You can find the source of the web front-end on github. The source of C++ Insights will follow soon.
c++  cpp  internals  compilers  online  clang 
5 weeks ago
JCommander is a very small Java framework that makes it trivial to parse command line parameters.
library  cli  commandline  java  parser 
5 weeks ago
Functional-Light… by Kyle Simpson [Leanpub PDF/iPad/Kindle]
A uniquely pragmatic approach to explaining core functional programming concepts WITHOUT wading through mathematical notation or heavy terminology.
functional  js  javascript  book  programming 
5 weeks ago
Gource - a software version control visualization tool
Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project.

Gource includes built-in log generation support for Git, Mercurial, Bazaar and SVN. Gource can also parse logs produced by several third party tools for CVS repositories.
visualization  git  software  scm 
5 weeks ago
Java language oddities | JavaWorld
Java language oddities
Java's handling of arrays and a few other language elements may surprise you
programming  reference  java  bestpractices  language 
5 weeks ago
« earlier      
!awesome !cool 3d ai ajax algorithm algorithms analytics android animation api app architecture article assembly async audio automation awesome aws bash bestpractices bitcoin blockchain book books bootstrap browser c c++ canvas cheatsheet chinese chrome cli clojure cloud code coding collaboration commandline compiler compsci concurrency cool cpp crypto cryptography css css3 d3 d3.js d3js data database dataviz debugging demo deployment design development distributed diy docker documentation ebook editor education electronics email encryption es6 facebook firefox framework free fun functional game gamedev games generator git github golang google graph graphics gui guide hackernews hacking hardware haskell history hn hosting howto html html5 http ide image images inspiration interactive ios java javascript jquery js json jvm language learning library linux lisp list logging mac machinelearning map maps markdown math messaging microsoft mobile monitoring mozilla music mysql network networking node node.js nodejs online opensource optimization osx parser pdf performance php plugin presentation privacy productivity programming protocol proxy python react realtime reference resources rest ruby rust scala science search security server service shell software sql ssh ssl standards statistics storage streaming sysadmin tcp template terminal testing tips tls tool tools tutorial tutorials twitter ui unix utility video vim visualization web webdesign webdev webgl websec wiki wikipedia windows

Copy this bookmark: