Are you over 18 and want to see adult content?
6
More Annotations
2
A complete backup of way2searchanything.com
way2searchanything.com
Are you over 18 and want to see adult content?
A complete backup of nnbusinessview.com
nnbusinessview.com
Are you over 18 and want to see adult content?
3
Favourite Annotations
A complete backup of khonkaenlink.info
khonkaenlink.info
Are you over 18 and want to see adult content?
4
A complete backup of yncotokiralama.com
yncotokiralama.com
Are you over 18 and want to see adult content?
2
Text
NELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARD - N ELHAGE
public abstract class Board extends Object. A Board represents an arbitrary 2-dimensional game board that is somehow populated by pieces CHESSGUI - NELHAGE.COM public class ChessGUI extends Object implements BoardObserver, ActionListener, Runnable. ChessGUI is a GUI for displaying a game of Chess, Antichess, or any other chess game that uses a ChessBoard. Features supported by the ChessGUI: Starting new games VIRTUNOID: BREAKING OUT OF KVM KVM: Architecture overview Attack Surface kvm.ko A tempting target { successful exploitation gets ring0 on the host without further escalation. Much less code than qemu-kvm, and much of that isdedicated to
GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
NELSON ELHAGE
001 002 package antichess.viewgui; 003 import java.awt.Color; 004 import java.awt.Container; 005 import java.awt.Dimension; 006 import java.awt.GridBagConstraints; 007 import java.awt.GridBagLayout; 008 import java.awt.GridLayout; 009 import java.awt.Image; 010 import java.awt.event.ActionEvent; 011 import java.awt.event.ActionListener; 012 import java.awt.event.KeyEvent; 013 import java.ioBOARDVIEWTEST
public class BoardViewTest extends Object implements ActionListener. BoardViewTest creates a game a chess with the starting locations and attempts to render it. This was primarily used during development toaid in debugging.
MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.NELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARD - N ELHAGE
public abstract class Board extends Object. A Board represents an arbitrary 2-dimensional game board that is somehow populated by pieces CHESSGUI - NELHAGE.COM public class ChessGUI extends Object implements BoardObserver, ActionListener, Runnable. ChessGUI is a GUI for displaying a game of Chess, Antichess, or any other chess game that uses a ChessBoard. Features supported by the ChessGUI: Starting new games VIRTUNOID: BREAKING OUT OF KVM KVM: Architecture overview Attack Surface kvm.ko A tempting target { successful exploitation gets ring0 on the host without further escalation. Much less code than qemu-kvm, and much of that isdedicated to
GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
NELSON ELHAGE
001 002 package antichess.viewgui; 003 import java.awt.Color; 004 import java.awt.Container; 005 import java.awt.Dimension; 006 import java.awt.GridBagConstraints; 007 import java.awt.GridBagLayout; 008 import java.awt.GridLayout; 009 import java.awt.Image; 010 import java.awt.event.ActionEvent; 011 import java.awt.event.ActionListener; 012 import java.awt.event.KeyEvent; 013 import java.ioBOARDVIEWTEST
public class BoardViewTest extends Object implements ActionListener. BoardViewTest creates a game a chess with the starting locations and attempts to render it. This was primarily used during development toaid in debugging.
MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.INDEX
B bestMove - Variable in class antichess.ai. AIJob The best move found so far for the parent of the board in the game tree. beta - Variable in class antichess.ai. AIJob The value of beta for alpha-beta pruning the search board - Variable in class antichess.ai. AIJob The board tobe evaluated
BOARD - N ELHAGE
public abstract class Board extends Object. A Board represents an arbitrary 2-dimensional game board that is somehow populated by piecesCHESSPLAYER
public class ChessPlayer extends Object implements HumanPlayer. This class handles the interactions between the Controller and the ViewChessPlayer is an
AIPLAYER - N ELHAGE
run public void run(). The thread in the run() method is responsible for actually asking the GameAI to make moves.. The thread spends most of its time sleeping. When getMove is called, it sets controller and calls notify() to wake the thread. Once the thread wakes and observes controller to be non-null, it computes a move using the GameAI.When the move returns, it sets the internal moveBOARDVIEWTEST
public class BoardViewTest extends Object implements ActionListener. BoardViewTest creates a game a chess with the starting locations and attempts to render it. This was primarily used during development toaid in debugging.
BOARDOBSERVER
Method Summary; void: postRefresh() Tells the board observer that the state of the Board has changed. BUILDING LLVM IN 90 SECONDS USING AMAZON LAMBDA Last week, Frederic Cambus wrote about building LLVM quickly on some very large machines, culminating in a 2m37s build on a 160-core ARM machine.. I don’t have a giant ARM behemoth, but I have been working on a tool I call Llama, which lets you offload computational work – including C and C++ builds – onto Amazon Lambda.I decided to see how good it could do at a similar build.NELHAGE.COM
001 package viewguitest; 002 import java.awt.Container; 003 import java.awt.GridLayout; 004 import java.awt.event.ActionEvent; 005 importjava.awt.event
6.170, CVS, AND SVN
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but one of the most egregious, in my opinion, is that they force you to use CVS for your version control. Problem sets are distributed by the TAs importing them into your repository, and are then checked out later to be graded. CONKEROR - MADE OF BUGS - N ELHAGE I’ve recently switched to Conkeror as my primary browser. It started life as a Firefox extension, but nowadays it’s a standalone app built on top of Mozilla’s xulrunner, so it uses the Gecko renderingengine.
PROPERTY-BASED TESTING IS FUZZING Property-Based Testing Is Fuzzing. Oct 3, 2017. “Property-based testing” refers to the idea of writing statements that should be true of your code (“properties”), and then using automated tooling to generate test inputs (typically, randomly-generated inputs of an appropriate type), and observe whether the properties hold for thatinput.
SECURITY DOESN'T RESPECT ABSTRACTION BOUNDARIES The fundamental tool of any engineering discipline is the notion of abstraction. If we can build a set of useful, easily-described behaviors out of a complex system, we can build other systems on top of those pieces, without having to understand to worry about the full complexity of the underlying system. WHY NODE.JS IS COOL (IT'S NOT ABOUT The Problem 🔗︎. node.js is cool because it solves a problem shared by virtually every mainstream language. That problem is the fact that, as long as “ordinary” blocking code is the default, it is difficult and unnatural to write networked code in a way that it can be combined with other network code, while allowing them tointeract.
SOME ANDROID REVERSE-ENGINEERING TOOLS I’ve spent a lot of time this last week staring at decompiled Dalvik assembly. In the process, I created a couple of useful tools that I figure are worth sharing. BOARDVIEW - NELHAGE.COM public interface BoardView. BoardView is a container for rendering Boards and accept input. It is an abstract class that is meant to be subclassed by classes that are meant toAUTOMOUNTING SSHFS
For some time now, many of us around MIT have noticed just how awesome sshfs is. It gives a totally lightweight way to access the remote filesystem of any machine you have ssh to, without requiring any extra setup on the host. I’ve been running for at least a year now with my /data RAID on my server sshfs-mounted on my laptop, and it workstotally great.
GIT IN PICTURES
The following diagram shows how the picture would change after each of git commit, git commit --amend or git merge topic: Note that these three commands aren’t quite parallel – the first two, assuming you’ve staged some files into the index, will both result in the same tree object, whereas the third will execute a merge and constructits
FOLLOWUP TO "A VERY SUBTLE BUG" After my previous post got posted to reddit, there was a bunch of interesting discussion there about some details I’d handwaved over.This is a quick followup on some the investigation that various people carried out, and the conclusions they reached. In the reddit thread, lacos/lbzip2 objected that in his experiments, he didn’t see tar closing the input pipe before it was done reading theNELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
AIPLAYER - N ELHAGE
run public void run(). The thread in the run() method is responsible for actually asking the GameAI to make moves.. The thread spends most of its time sleeping. When getMove is called, it sets controller and calls notify() to wake the thread. Once the thread wakes and observes controller to be non-null, it computes a move using the GameAI.When the move returns, it sets the internal move ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARDOBSERVER
Method Summary; void: postRefresh() Tells the board observer that the state of the Board has changed. GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
SOME THOUGHTS ON QUORA Some thoughts on Quora. Apr 4, 2010. With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answersite on
GAMETIMERTEST
public class GameTimerTest extends TestCase. Some tests for the GameTimer, hard to do because it is a timer. A lot of tests are done in TimerLabelTest. Author: nlharr Methods that need testing: start() thoroughly stop() thoroughly getTime() thoroughly addTimerListener() notifyTimeUpdate() run() setTime VIRTUNOID: BREAKING OUT OF KVM KVM The new hotness for Virtualization on Linux O cial virtualization platform for Ubuntu and RHEL. Nelson Elhage (DEFCON 19) Virtunoid: Breaking out of KVM August 8, 2011 2 / 50MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.NELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
AIPLAYER - N ELHAGE
run public void run(). The thread in the run() method is responsible for actually asking the GameAI to make moves.. The thread spends most of its time sleeping. When getMove is called, it sets controller and calls notify() to wake the thread. Once the thread wakes and observes controller to be non-null, it computes a move using the GameAI.When the move returns, it sets the internal move ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARDOBSERVER
Method Summary; void: postRefresh() Tells the board observer that the state of the Board has changed. GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
SOME THOUGHTS ON QUORA Some thoughts on Quora. Apr 4, 2010. With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answersite on
GAMETIMERTEST
public class GameTimerTest extends TestCase. Some tests for the GameTimer, hard to do because it is a timer. A lot of tests are done in TimerLabelTest. Author: nlharr Methods that need testing: start() thoroughly stop() thoroughly getTime() thoroughly addTimerListener() notifyTimeUpdate() run() setTime VIRTUNOID: BREAKING OUT OF KVM KVM The new hotness for Virtualization on Linux O cial virtualization platform for Ubuntu and RHEL. Nelson Elhage (DEFCON 19) Virtunoid: Breaking out of KVM August 8, 2011 2 / 50MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.INDEX
B bestMove - Variable in class antichess.ai. AIJob The best move found so far for the parent of the board in the game tree. beta - Variable in class antichess.ai. AIJob The value of beta for alpha-beta pruning the search board - Variable in class antichess.ai. AIJob The board tobe evaluated
THE ARCHITECTURE OF DECLARATIVE CONFIGURATION MANAGEMENT The whole point of declarative configuration management is that the configuration specifies only the desired state, and it is up to the engine to figure out how to get there, which drastically simplifies configurations and makes them less path-dependent, or reliant on the previous state of the system. However, this flexibility is also be theCHESSMOVEGENERATOR
isMoveLegal public boolean isMoveLegal(ChessMove move, Board board). Ensures that the given move is a ChessMove, that its destination coordinates are within the bounds of the Board, and that the Piece on the board at the destination square is either null, or belongs to the other player than the Move's player.. In addition, it tests that hasCorrectCapturedPiece(mov ANTICHESS - NELHAGE.COM Class Summary; AIPlayer A AIPlayer is a GamePlayer that uses a GameAI to make moves.: AntichessBoard: Extension of a GAMETIMER - N ELHAGE GameTimer public GameTimer(long startTime, long interval) Creates a GameTimer with a start time and current time of startTime Parameters: startTime - is the start time measured in milliseconds interval is the interval between updates to the listeners of this timer if interval is 0 the listeners are not updatedCHESSPLAYER
public class ChessPlayer extends Object implements HumanPlayer. This class handles the interactions between the Controller and the ViewChessPlayer is an
BOARDVIEW - NELHAGE.COM public interface BoardView. BoardView is a container for rendering Boards and accept input. It is an abstract class that is meant to be subclassed by classes that are meant to CONKEROR - MADE OF BUGS - N ELHAGE I’ve recently switched to Conkeror as my primary browser. It started life as a Firefox extension, but nowadays it’s a standalone app built on top of Mozilla’s xulrunner, so it uses the Gecko renderingengine.
NELHAGE.COM
2015/01/27 00:10:53 (runner) creating new runner (dry: %!b(bool=true), once: %!b(bool=true)) 2015/01/27 00:10:53 (runner) creating consul/api client6.170, CVS, AND SVN
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but one of the most egregious, in my opinion, is that they force you to use CVS for your version control. Problem sets are distributed by the TAs importing them into your repository, and are then checked out later to be graded.NELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
AIPLAYER - N ELHAGE
run public void run(). The thread in the run() method is responsible for actually asking the GameAI to make moves.. The thread spends most of its time sleeping. When getMove is called, it sets controller and calls notify() to wake the thread. Once the thread wakes and observes controller to be non-null, it computes a move using the GameAI.When the move returns, it sets the internal move ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARDOBSERVER
Method Summary; void: postRefresh() Tells the board observer that the state of the Board has changed. GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
SOME THOUGHTS ON QUORA Some thoughts on Quora. Apr 4, 2010. With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answersite on
GAMETIMERTEST
public class GameTimerTest extends TestCase. Some tests for the GameTimer, hard to do because it is a timer. A lot of tests are done in TimerLabelTest. Author: nlharr Methods that need testing: start() thoroughly stop() thoroughly getTime() thoroughly addTimerListener() notifyTimeUpdate() run() setTime VIRTUNOID: BREAKING OUT OF KVM KVM The new hotness for Virtualization on Linux O cial virtualization platform for Ubuntu and RHEL. Nelson Elhage (DEFCON 19) Virtunoid: Breaking out of KVM August 8, 2011 2 / 50MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.NELSON ELHAGE
Nelson Elhage nelhage@nelhage.com Blog. Work. At the moment, I'm taking some time off between jobs. Previously, I've worked at: Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.; Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting. AMAZON EC2 INSTANCE COMPARISON EC2Instances.info Easy Amazon EC2 Instance Comparison. Region: Region: US East US East; US West (Northern California) US West (Oregon) SouthAmerica
AIPLAYER - N ELHAGE
run public void run(). The thread in the run() method is responsible for actually asking the GameAI to make moves.. The thread spends most of its time sleeping. When getMove is called, it sets controller and calls notify() to wake the thread. Once the thread wakes and observes controller to be non-null, it computes a move using the GameAI.When the move returns, it sets the internal move ANTICHESS - N ELHAGE needed files. The system will save the game to the given filename and report 'Game saved' on its own line. If one player is untimed and one player is timed the game is saved as if both players were untimed.BOARDOBSERVER
Method Summary; void: postRefresh() Tells the board observer that the state of the Board has changed. GAMECLOCK - NELHAGE.COM GameClock public GameClock(Player playerList, long startTimes) playerList is an array of Players which each clock will be associated with startTimes is a list of start times for the players inplayerList.
SOME THOUGHTS ON QUORA Some thoughts on Quora. Apr 4, 2010. With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answersite on
GAMETIMERTEST
public class GameTimerTest extends TestCase. Some tests for the GameTimer, hard to do because it is a timer. A lot of tests are done in TimerLabelTest. Author: nlharr Methods that need testing: start() thoroughly stop() thoroughly getTime() thoroughly addTimerListener() notifyTimeUpdate() run() setTime VIRTUNOID: BREAKING OUT OF KVM KVM The new hotness for Virtualization on Linux O cial virtualization platform for Ubuntu and RHEL. Nelson Elhage (DEFCON 19) Virtunoid: Breaking out of KVM August 8, 2011 2 / 50MADE OF BUGS
Thanks for reading! If you want to get notified of future posts, you have three options: Join my newsletter.The newsletter receives 1-2 posts a week, including updates on any posts here.INDEX
B bestMove - Variable in class antichess.ai. AIJob The best move found so far for the parent of the board in the game tree. beta - Variable in class antichess.ai. AIJob The value of beta for alpha-beta pruning the search board - Variable in class antichess.ai. AIJob The board tobe evaluated
THE ARCHITECTURE OF DECLARATIVE CONFIGURATION MANAGEMENT The whole point of declarative configuration management is that the configuration specifies only the desired state, and it is up to the engine to figure out how to get there, which drastically simplifies configurations and makes them less path-dependent, or reliant on the previous state of the system. However, this flexibility is also be theCHESSMOVEGENERATOR
isMoveLegal public boolean isMoveLegal(ChessMove move, Board board). Ensures that the given move is a ChessMove, that its destination coordinates are within the bounds of the Board, and that the Piece on the board at the destination square is either null, or belongs to the other player than the Move's player.. In addition, it tests that hasCorrectCapturedPiece(mov ANTICHESS - NELHAGE.COM Class Summary; AIPlayer A AIPlayer is a GamePlayer that uses a GameAI to make moves.: AntichessBoard: Extension of a GAMETIMER - N ELHAGE GameTimer public GameTimer(long startTime, long interval) Creates a GameTimer with a start time and current time of startTime Parameters: startTime - is the start time measured in milliseconds interval is the interval between updates to the listeners of this timer if interval is 0 the listeners are not updatedCHESSPLAYER
public class ChessPlayer extends Object implements HumanPlayer. This class handles the interactions between the Controller and the ViewChessPlayer is an
BOARDVIEW - NELHAGE.COM public interface BoardView. BoardView is a container for rendering Boards and accept input. It is an abstract class that is meant to be subclassed by classes that are meant to CONKEROR - MADE OF BUGS - N ELHAGE I’ve recently switched to Conkeror as my primary browser. It started life as a Firefox extension, but nowadays it’s a standalone app built on top of Mozilla’s xulrunner, so it uses the Gecko renderingengine.
NELHAGE.COM
2015/01/27 00:10:53 (runner) creating new runner (dry: %!b(bool=true), once: %!b(bool=true)) 2015/01/27 00:10:53 (runner) creating consul/api client6.170, CVS, AND SVN
I’m taking 6.170 Lab in Software Engineering this semester. The course sucks in various ways, but one of the most egregious, in my opinion, is that they force you to use CVS for your version control. Problem sets are distributed by the TAs importing them into your repository, and are then checked out later to be graded.NELSON ELHAGE
Nelson Elhage
nelhage@nelhage.com
Blog
WORK
At the moment, I'm taking some time off between jobs. Previously, I'veworked at:
* Stripe , where I worked on a variety of projects and teams, including as a founding member of the Sorbetproject.
* Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting.LIVEGREP
As a personal project, I've put together livegrep.com , a site which allows for realtime regex searching of the Linux kernel as-you-type, using Russ Cox's RE2 regex library, and a custom indexingbackend.
It's open-source and you can deploy it for your own source code! It's also one of the backends for Mozilla's SearchFox .WRITING
I maintain or contribute to a handful of blogs online. You can find stuff I've written at: * My primary personal blog * accidentallyquadratic.tumblr.com, where I chronicle
real-world cases of code with unintended _Θ(n²)_ complexity with harmful consequences. * nelhagedebugsshit.tumblr.com , where I chronicle interesting shorter stories of things I've debugged or investigated.* The Stripe Blog
CODE
* Sorbet , Stripe's open-source static Ruby typechecker. I was a founding member of the project at Stripe, helping to build it out and deploy it internally. * Taktician , an AI for the game of Tak , based on the game described in Patrick Rothfuss' _The Wise Man's Fear_. As of this writing, it is the highest-ranked entityon the
playtak.com online site. * Crossme.app , a collaborative online crossword-puzzle solver. * reptyr , a little tool I wrote for moving a running program to a new terminal. You can readmore on my blog
.
* My emacs configuration files . I keep my entire emacs configuration in a single git repository so I can just check it out on new machines. Feel free to borrow any pieces ofit you want.
* I wrote a JIT translator for the Beta, the simple processor used in MIT's 6.004 computer science class. It's a fairly clean, simple, working JIT in about 2000 lines of C that might be interesting to someone. * Check out my github account for morethings I've done.
SECURITY
I've previously done some security work for various open-source projects, including the Linux kernel and KVM. I presented at Black HatUSA 2011
about some work I have done on KVM. My slidesand code
for that talk are now availableonline.
SOME OTHER THINGS I'VE HACKED ON * BarnOwl , a multi-protocol consoleZephyr/IM client
* Linerva , SIPB 's
public Linux dialup. * Debathena , the basis for Linerva, and now MIT's campus Linux distribution. * Conkeror , a xulrunner emacs-like webbrowser
* Jifty , an amazingly concise web frameworkwritten in perl.
* Hiveminder , a TODO list manager builtusing Jifty
* Bitlbee , an IRC<->IM gateway * Growl , an OS X notification framework * Adium , a multiprotocol OS X IM clientDetails
2
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0