Pinned Repositories
Antonio
https://peterasorensen.github.io/Antonio/
Ants
A tower defense game called Ants Vs. SomeBees. As the ant queen, you populate your colony with the bravest ants you can muster. Your ants must protect their queen from the evil bees that invade your territory. Irritate the bees enough by throwing leaves at them, and they will be vanquished. Fail to pester the airborne intruders adequately, and your queen will succumb to the bees' wrath. This game is inspired by PopCap Games' Plants Vs. Zombies.
Ataxx
Ataxx is a two-person game played with red and blue pieces on a 7-by-7 board. There are two possible kinds of move: you can extend from a piece of your own color by laying down a new piece of your color in an empty square next to that existing piece (horizontally, vertically, or diagonally), or you can jump: move a piece of your own color to an empty, non-adjacent square that is no more than two rows and no more than two columns distant. In either case, all opposing pieces that are next to the previously empty destination square are replaced by pieces of your color.
BellBirdAlarms
A simple peer-shared alarm application created in 195 minutes. Top Alarms are alarms with the most Upvotes from users.
blog
Personal blog
DFSLineupGenerator
Daily Fantasy (Basketball for now) Lineup Generator
Enigma
A simulator for a generalized version of the Enigma machine that Germany used during World War II to encrypt its military communications (which itself had several different versions.) The program takes descriptions of possible initial configurations of the machine and messages to encode or decode (the Enigma algorithms were reciprocal, meaning that encryption is its own inverse operation). The Enigmas effect a substitution cipher, on the letters of a message. That is, at any given time, the machine performs a permutation---a one-to-one mapping---of the alphabet onto itself. The alphabet consists solely of the 26 letters in one case (there were various conventions for spaces and punctuation). Plain substitution ciphers are easy to break (you've probably seen puzzles in newspapers that consist of breaking such ciphers). The Enigma, however, implements a progressive substitution, different for each subsequent letter of the message. This made decryption considerably more difficult. The device consists of a simple mechanical system of (partially) interchangeable rotors (Walzen) that sit side-by-side on a shaft and make electrical contact with each other. Most of these rotors have 26 contacts on both sides, which are wired together internally so as to effect a permutation of signals coming in from one side onto the contacts on the other (and the inverse permutation when going in the reverse direction). To the left of the rotors, one could select one of a set of reflectors (Umkehrwalzen), with contacts on their right sides only, and wired to connect half of those contacts to the other half. A signal starting from the right through one of the 26 possible contacts will flow through wires in the rotors, "bounce" off the reflector, and then come back through the same rotors (in reverse) by a different route, always ending up permuted to a letter position different from where it started. (This was a significant cryptographic weakness, as it turned out. It doesn't really do a would-be code-breaker any good to know that some letters in an encrypted message might be the same as the those in the plaintext if he doesn't know which ones. But it does a great deal of good to be able to eliminate possible decryptions because some of their letters are the same as in the plaintext.)
Newsdaq-Backend
A New Way to Visualize the Markets (Created in 24 hours @ CalHacks)
RealEstateDApp
A decentralized application for real estate agents, contractors, and those trying to sell their house. Make hiring an agent and a contractor to do work on your home easier than ever.
TrunkLend
peterasorensen's Repositories
peterasorensen/Enigma
A simulator for a generalized version of the Enigma machine that Germany used during World War II to encrypt its military communications (which itself had several different versions.) The program takes descriptions of possible initial configurations of the machine and messages to encode or decode (the Enigma algorithms were reciprocal, meaning that encryption is its own inverse operation). The Enigmas effect a substitution cipher, on the letters of a message. That is, at any given time, the machine performs a permutation---a one-to-one mapping---of the alphabet onto itself. The alphabet consists solely of the 26 letters in one case (there were various conventions for spaces and punctuation). Plain substitution ciphers are easy to break (you've probably seen puzzles in newspapers that consist of breaking such ciphers). The Enigma, however, implements a progressive substitution, different for each subsequent letter of the message. This made decryption considerably more difficult. The device consists of a simple mechanical system of (partially) interchangeable rotors (Walzen) that sit side-by-side on a shaft and make electrical contact with each other. Most of these rotors have 26 contacts on both sides, which are wired together internally so as to effect a permutation of signals coming in from one side onto the contacts on the other (and the inverse permutation when going in the reverse direction). To the left of the rotors, one could select one of a set of reflectors (Umkehrwalzen), with contacts on their right sides only, and wired to connect half of those contacts to the other half. A signal starting from the right through one of the 26 possible contacts will flow through wires in the rotors, "bounce" off the reflector, and then come back through the same rotors (in reverse) by a different route, always ending up permuted to a letter position different from where it started. (This was a significant cryptographic weakness, as it turned out. It doesn't really do a would-be code-breaker any good to know that some letters in an encrypted message might be the same as the those in the plaintext if he doesn't know which ones. But it does a great deal of good to be able to eliminate possible decryptions because some of their letters are the same as in the plaintext.)
peterasorensen/DFSLineupGenerator
Daily Fantasy (Basketball for now) Lineup Generator
peterasorensen/Antonio
https://peterasorensen.github.io/Antonio/
peterasorensen/Ants
A tower defense game called Ants Vs. SomeBees. As the ant queen, you populate your colony with the bravest ants you can muster. Your ants must protect their queen from the evil bees that invade your territory. Irritate the bees enough by throwing leaves at them, and they will be vanquished. Fail to pester the airborne intruders adequately, and your queen will succumb to the bees' wrath. This game is inspired by PopCap Games' Plants Vs. Zombies.
peterasorensen/Ataxx
Ataxx is a two-person game played with red and blue pieces on a 7-by-7 board. There are two possible kinds of move: you can extend from a piece of your own color by laying down a new piece of your color in an empty square next to that existing piece (horizontally, vertically, or diagonally), or you can jump: move a piece of your own color to an empty, non-adjacent square that is no more than two rows and no more than two columns distant. In either case, all opposing pieces that are next to the previously empty destination square are replaced by pieces of your color.
peterasorensen/BellBirdAlarms
A simple peer-shared alarm application created in 195 minutes. Top Alarms are alarms with the most Upvotes from users.
peterasorensen/blog
Personal blog
peterasorensen/Newsdaq-Backend
A New Way to Visualize the Markets (Created in 24 hours @ CalHacks)
peterasorensen/RealEstateDApp
A decentralized application for real estate agents, contractors, and those trying to sell their house. Make hiring an agent and a contractor to do work on your home easier than ever.
peterasorensen/TrunkLend
peterasorensen/cube
In the Cube puzzle, you are presented with an initially blank cube sitting on one cell of a square grid. A face of the cube has the same size as a cell of the grid. Six of the grid's cells are painted blue; the rest are blank, along with all the faces of the cube. You may roll the cube one space vertically or horizontally. Each time you do so, the face of the cube that ends up on the bottom (touching the board) trades colors with the cell it now occupies.
peterasorensen/enable-copy-paste-all-websites
Enable copy and paste functionality on websites that try to block it.
peterasorensen/graphs
A library package to provide facilities for manipulating graphs, plus two clients that use the package.
peterasorensen/hog
Simulator and multiple strategies for the dice game Hog. In Hog, two players alternate turns trying to be the first to end a turn with at least 100 total points. On each turn, the current player chooses some number of dice to roll, up to 10. That player's score for the turn is the sum of the dice outcomes.
peterasorensen/Homework-1
Setting up the developer environment and greeter contract
peterasorensen/Homework-2
Setting up the developer environment and solidity in depth
peterasorensen/Homework-3
Practicing external calls, inheritance, and smart contract security
peterasorensen/Life-Coach
peterasorensen/maps
A visualization of restaurant ratings using machine learning and the Yelp academic dataset. In this visualization, Berkeley is segmented into regions, where each region is shaded by the predicted rating of the closest restaurant (yellow is 5 stars, blue is 1 star). Specifically, a Voronoi diagram.
peterasorensen/Midterm
Build your first Initial Coin Offering platform
peterasorensen/mips-translator
An assembler which translates MIPS instructions to machine code.
peterasorensen/scheme
An interpreter for a subset of the Lisp language.
peterasorensen/suppliesmaster