Add more projects
This commit is contained in:
parent
8dc1ce1984
commit
efb9fde850
6 changed files with 99 additions and 0 deletions
11
content/projects/bsod-enabler.md
Normal file
11
content/projects/bsod-enabler.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
title: BSOD Enabler
|
||||||
|
template: projects
|
||||||
|
slug: bsod-enabler
|
||||||
|
|
||||||
|
For those that use Windows, the famous [Blue Screen of Death](https://en.wikipedia.org/wiki/Blue_Screen_of_Death) is an annoyance that plagues computers, causing error, frustration, and even data loss. They happened to me a lot whilst I was trying to configure my computer, and I thought _I wonder who else I can annoy with a BSOD_
|
||||||
|
|
||||||
|
__And thus the BSOD_Enabler was born!__
|
||||||
|
|
||||||
|
After researching into it for a while, it turns out that there are a few different ways to cause a BSOD, unfortunately most of which are by doing things that are meant to cause a BSOD, and can therefore be dangerous to a computer, something I didn't really want. Then I stumbled upon [this article](http://www.wikihow.com/Force-a-Blue-Screen-in-Windows), which shows that you can in fact raise a BSOD without causing any errors or damage to your computer. Now to write a program that can do it too!
|
||||||
|
|
||||||
|
Obviously there are many different ways, and probably far better ways of doing this, but I wanted something that was simple to use, fast, and could be done by anyone, no matter how technically illiterate. So I decided to write it in C#, and use a windows console interface.
|
17
content/projects/dotfiles.md
Normal file
17
content/projects/dotfiles.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
title: My Dotfiles
|
||||||
|
template: projects
|
||||||
|
slug: dotfiles
|
||||||
|
repo: https://github.com/RealOrangeOne/dotfiles/
|
||||||
|
|
||||||
|
### What are dotfiles?
|
||||||
|
Dotfiles are a way for people to store their settings and preferences to make setting up a new computer that much easier. They can usually be found in a persons VCS profile.
|
||||||
|
|
||||||
|
### Taking dotfiles 1 step further
|
||||||
|
I use both my laptop and work machines almost every day, and want them to be setup in an almost identical way, despite the fact that 1 runs Ubuntu, and the other runs Arch. The main things I needed synced over were my `.bashrc` file and my atom config.
|
||||||
|
|
||||||
|
## How I did it
|
||||||
|
Originally, I used my owncloud server to sync all my dotfiles between my computer, and then used symlinks to split out the relevant files into the relevant locations.
|
||||||
|
|
||||||
|
This worked brilliantly, config files were automatically synced as soon as I made a change. This was especially great for my `.bashrc` file! The main problem was with atom packages, I had to manually store what files were installed, then manually install them on the other machine from the saved file. This was made easier by `apm` allowing me to list them and automatically save them in a file, but it wasnt perfect.
|
||||||
|
|
||||||
|
Eventually, after looking into possible solutions, I came across the [`Sync settings`](https://atom.io/packages/sync-settings) package, which seemed to be the answer to my prayers! It saved all my config data for atom into a gist, which I could then backup and restore too from within the application. It also warned me when my local data was out of date from the remote, and prompt me to downnload the updated data.
|
14
content/projects/hipchat-emoticons-for-all.md
Normal file
14
content/projects/hipchat-emoticons-for-all.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
title: Hipchat emoticons for all
|
||||||
|
template: projects
|
||||||
|
slug: hipchat-emoticons-for-all
|
||||||
|
repo: https://github.com/RealOrangeOne/hipchat-emoticons-for-all/
|
||||||
|
|
||||||
|
After starting my new job at DabApps, I was introduced to the world of [Hipchat](https://hipchat.com), and it's wonderful array of emoticons, as well as the ones added. It was wonderful, it made communicating with friends and colleagues much more interesting!
|
||||||
|
|
||||||
|
Unfortunately, the emoticons on the other services we use, like [GitHub](https://github.com), were terrible in comparison. So it was after a discussion with [@JakeSidSmith](https://github.com/jakesidsmith) about him just using things like (facepalm), (notsureif), and (wat) in [Facebook messenger](https://www.messenger.com/) and hoping people understand what it means, that I decided to make 'Hipchat Emoticons for all', so people like him could use a much better set of emoticons.
|
||||||
|
|
||||||
|
The premis is very simple, whenever it sees a hipchat emoticon code, like (notsureif), it replaces it with an emoticon. If only writing the code could have been this simple! I started writing the plugin in firefox, using [Jetpack](https://wiki.mozilla.org/Jetpack), which uses Javascript. The initial stages of the code were very simple, but I encountered problems making sure that anything loaded after the page was loaded (such as a facebook message), be changed too.
|
||||||
|
|
||||||
|
Fortunately after many hours of testing, and changing the code, I finally got everything working perfectly, and in a way that made adding new sites incredibly easy! The code isn't the greatest in terms of performance, and there are some things that could have obviously been done better, but this was all done to help with a shared codebase between Chrome and Firefox, which don't play nice when it comes to extensions.
|
||||||
|
|
||||||
|
Currently the application is in very beta stages right now, only having tested partial support for github, but the code is all available on GitHub, if people have their own suggestions of improvements.
|
17
content/projects/morse-code-decoder.md
Normal file
17
content/projects/morse-code-decoder.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
title: Morse code decoder
|
||||||
|
template: projects
|
||||||
|
slug: morese-code-decoder
|
||||||
|
repo: https://gist.github.com/RealOrangeOne/6dc94875c93b787e5834
|
||||||
|
|
||||||
|
It's not often someone will need to decode text into morse code (and visa-versa), but if I had something like this when I needed it, it would have saved me hours of time!
|
||||||
|
|
||||||
|
I originally wrote this code for the [Student Robotics 2015](/robotics/2015/) Entry, to convert a string message into a morse code message that would be transmitted using LEDs, for aesthetics and debugging. Unfortunately due to a fixed time frame, this idea was scraped before it could be fully implemented. Fortunately the decoder worked perfectly!
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
In order to make it accessible for as many people in as many different languages as possible, the data is in JSON format. Just find a JSON library for your desired language, and it'll work perfectly!
|
||||||
|
|
||||||
|
The source of the library is on github as a gist. I recommend downloading the file to use yourself, however for testing you can use github's raw view as a hotlink.
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://gist.github.com/RealOrangeOne/6dc94875c93b787e5834.js"></script>
|
29
content/projects/wiki-game-solver.md
Normal file
29
content/projects/wiki-game-solver.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
title: Wiki Game solver
|
||||||
|
template: projects
|
||||||
|
slug: wiki-game-solver
|
||||||
|
repo: https://gist.github.com/RealOrangeOne/7da9a3dd1bf90ecdf7be
|
||||||
|
|
||||||
|
For those who don't know what the Wiki Game is: [The Wiki Game](http://thewikigame.com) is an online game where you attempt to navigate through wikipedia from a start page to a goal page using as few other pages as possible. Once I was shown the Wiki Game by my friend, and after I realised that I really wasn't very good at it, I looked into how the system worked, and how I could beat it.
|
||||||
|
|
||||||
|
I couldn't see how the back end worked, but after playing a few games and checking what happened on the page,the way that the game was won was when the iframe was at the final page location, or at least a clone of it on their servers with extra querystring information.
|
||||||
|
|
||||||
|
With this information, I started to write some javascript that would change the location of the iframe to the goal. Fortunately for me, there was already a link to the real winning page, so I could use that to construct the final URL, and direct the iframe to it, meaning I was able to win the game in 1 turn.
|
||||||
|
|
||||||
|
## Source
|
||||||
|
Naturally, the source for this was written in javascript, and relies heavily on the fact that the wiki game uses jQuery so I can plug into components and events really easily. The code can be found in the GitHub gists below. Both the standard and compact versions are available.
|
||||||
|
|
||||||
|
<script src="https://gist.github.com/RealOrangeOne/7da9a3dd1bf90ecdf7be.js"></script>
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
1. Start a new game on [Wiki Game](http://thewikigame.com/speed-race), __don't__ press start!
|
||||||
|
2. Open your browser's developers console. This will vary from browser.
|
||||||
|
3. Open the Javascript console
|
||||||
|
4. Paste the compact version of the code there, and execute it (press enter)
|
||||||
|
5. Congratulations, you just won!
|
||||||
|
|
||||||
|
If you want to win more games, just re-paste the code, it works as often as you like!
|
||||||
|
|
||||||
|
### Disclaimer
|
||||||
|
|
||||||
|
As I experienced whilst developing this, the people that play Wiki Game don't tend to like people cheating. There were a lot of people getting very annoyed whilst I was developing and testing. So please use this at your own risk! At the moment I don't think there is any kind of banning system, but be warned!
|
11
content/projects/yoga-pal.md
Normal file
11
content/projects/yoga-pal.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
title: Yoga Pal
|
||||||
|
template: projects
|
||||||
|
slug: yoga-pal
|
||||||
|
repo: https://github.com/RealOrangeOne/yoga-pal
|
||||||
|
|
||||||
|
|
||||||
|
Once I started work, I bought myself a _Lenovo Yoga 3 14"_ laptop, because I needed a thin and light for trains etc. Unfortunately this came with windows, which within 10 minutes was running Ubuntu Gnome! Ubuntu greatly increased the performance, but I had to sacrifice all the screen, touchpad and keyboard customisation when changing 'modes'.
|
||||||
|
|
||||||
|
I found [this thread](askubuntu.com/questions/450066/rotate-touchscreen-and-disable-the-touchpad-on-yoga-2-pro-in-rotated-mode) on _Ask Ubuntu_ with someone else trying to find a solution to this, to find a nice way of rotating the screen when in tablet mode. On the thread was a really nice simple [script](http://askubuntu.com/a/485685/432138) that rotated the screen perfectly, and did the touchscreen too. This script worked great, doing exactly what it said it did, nicely and quickly, however it wasn't a great solution for me. Yes it worked, but it didn't allow me to change anything else, like the touchpad.
|
||||||
|
|
||||||
|
So I started working on my own CLI, based off the above script, to allow me to tweak everything, so the laptop can be used as it was intended.
|
Reference in a new issue