Shellcode Injection
Injecting shellcode by overflowing the buffer - Demonstration
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,842 posts.
Injecting shellcode by overflowing the buffer - Demonstration
We have celebrated the 15th anniversary of the GameCube and the 10th anniversary of the Wii in the last few months. As the Wii's successor, and the brand lineage, has been discontinued in the run-up to the release of the Switch, it is a time for reflection. But, this doesn't mean an end for the GameCube and Wii; if…
As part of a never-ending quest to explore the CoreCLR source code I stumbled across the intriguing titled ‘HillClimbing.cpp’ source file. This post explains what it does and why.
How to write an external tool for `git diff` to delegate complex diffs to.
In the world of technology, “forever” means about 5 years. It’s humbling to think that the 1992 JPEG image standard is still going strong despite being more than 5 “forevers” old. Why has it been so successful? This article presents the key ideas behind JPEG in plain language and includes an interactive JPEG…
Some folks have asked whether Cassandra or Riak in last-write-wins mode are monotonically consistent, or whether they can guarantee read-your-writes, and so on. This is a fascinating question, and leads to all sorts of interesting properties about clocks and causality.
Because the CLR is a managed environment there are several components within the runtime that need to be initialised before any of your code can be executed. This post will take a look at the EE (Execution Engine) start-up routine and examine the initialisation process in detail.
I like production gear. Audio, video and .. miscellaneous. I like things that seem like they'll make me oh-so-very productive. I'm a sucker prosumer as a hobby. Let's talk about Elgato, Elixir and why I never actually get anything done. This is unfortunately not sponsored by a prosumer brand, or anyone, that'd have…
A blog about Java
As usual, when a new blog post comes out on blog.golang.org, I’m all eager to read it as soon as possible. The most recent one, Contributors Summit, is a nice write-up on the issues that the Go contributors have been talking about. While reading it, I stumbled upon a sentence that made me write this post. Here is is…
Overview of Python's Package management ecosystem in 2024
Update: Here’s the link to the HN discussion about this post: https://news.ycombinator.com/item?id=26092964
If you think YAGNI is about saving effort, cheap generation should retire it. It doesn't. Here's why.
iTerm2 is a replacement for Terminal and the successor to iTerm
Code review seems like a great idea, right? Two developers looking at the same code means two chances to spot problems; it spreads understanding of the way the project is evolving; the reviewer can learn useful tricks from reading the author’s code in detail, or spot opportunities to teach the author a useful trick…
Integrating with other languages and distributing binaries has always raised the WebAssembly's barrier to entry for the average developer, and at Wasmer...
With all the chatter about how uber-amazing Node.js is I figured I'd do a little comparison with my favorite language du jour: Go . Node'...
In January 2008 David DeWitt and Michael Stonebraker published an article criticising MapReduce. As far as I can find, the article is no lon...
It's been 418 days since my first Github commit of Go code. In that time I've written a Syslog-to-Kafka producer, a Raft-based distributed SQLite database, a near real-time log search system, and become a core developer of InfluxDB. So if there is one word to summarize Go, it's productive. I haven't had the same burst…
You mean the one where he says that he tried it for a few months and then gave up? Yes, I read it.
Parenthetically Speaking: Articles by Shriram Krishnamurthi
There is a plethora of data and research available that outlines *exactly* how companies can build a hiring process for software engineers that's truly predictive of their future, on-the-job performance. Yet, the tech industry at large has all but ignored these practices opting instead for antiquated hiring processes…
“If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.” —Edsger Dijkstra, Turing Award Lecture (1972)