This repository has been archived by the owner on Sep 10, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
175 lines (174 loc) · 10.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
---
layout: base
title: Home
projects:
highlights:
- name: mwparserfromhell
langs: Python + C
started: May 2012
description: An easy-to-use and outrageously powerful Python parser for <a href="https://mediawiki.org/">MediaWiki</a> wikicode
- name: earwigbot
langs: Python
started: April 2009
description: A modular robot that edits <a href="https://en.wikipedia.org/">Wikipedia</a> and interacts with people over <a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a>, with <a href="https://github.com/earwig/earwigbot-plugins">a separate repository for plugins</a>
- name: crater
langs: C + Assembly
started: March 2015
description: An emulator for the <a href="https://en.wikipedia.org/wiki/Sega_Game_Gear">Sega Game Gear</a>, with an included <a href="https://en.wikipedia.org/wiki/Zilog_Z80">Z80</a> assembler/disassembler
- name: copyvios
langs: Python + Web
started: July 2009
description: A <a href="https://tools.wmflabs.org/copyvios">copyright violation detector</a> for Wikipedia articles running on <a href="https://en.wikipedia.org/wiki/Wikipedia:Wikimedia_Cloud_Services">Wikimedia Cloud Services</a>
- name: bitshift
langs: Python + SQL + Web
started: March 2014
description: A <a href="https://bitshift.benkurtovic.com/">semantic search engine</a> for source code
others:
- name: calefaction
langs: Python + Web
started: December 2016
description: A corporation manager and dashboard for <a href="https://www.eveonline.com/">EVE Online</a>
- name: kgrader
langs: Ruby
started: March 2016
description: A code autograder for student homework submissions
- name: gravity
repo: EnacheB/Gravity
langs: C++
started: November 2015
description: A multiplayer top-down orbital space shooter
- name: tfdclerk
langs: JavaScript
started: August 2015
abandoned: yes
description: An English Wikipedia <a href="https://en.wikipedia.org/wiki/Wikipedia:User_scripts">user script</a> to automate common <a href="https://en.wikipedia.org/wiki/Wikipedia:Templates_for_discussion">templates for discussion</a> operations, including closures and relisting
- name: oriadnos
repo: VjiaoBlack/Oriadnos
langs: C
started: May 2014
description: A 3D maze exploration game written from scratch using matrix manipulation code, <a href="https://en.wikipedia.org/wiki/UV_mapping">UV texture mapping</a>, <a href="https://en.wikipedia.org/wiki/Z-buffering">z-buffering</a>, and simple lighting
- name: mal-decimal-scores
langs: JS
started: May 2014
description: A Chrome extension that gives you finer control over <a href="https://myanimelist.net">MyAnimeList.net</a> scores
- name: BAJA
repo: stuycs-softdev-fall-2013/proj3-6-BAJA
langs: Python + Web
started: Jan 2014
description: A hacking game featuring multiple simulated websites, tied together by messages sent to the player from a mysterious individual using a fake email client
- name: omnithinker
repo: stuycs-softdev-fall-2013/proj2-pd6-04-omnithinker
langs: Python + Web
started: Nov 2013
description: An online brainstorming tool that displays relevant information from the web in a sidebar
- name: databanks
repo: VjiaoBlack/databanks
langs: C
started: Nov 2013
description: A simple database with a terminal-based interface for notekeeping
- name: terminvaders
repo: VjiaoBlack/terminvaders
langs: C
started: Oct 2013
description: A terminal-based multiplayer arcade game with a client–server model inspired by <a href="https://en.wikipedia.org/wiki/Space_Invaders">Space Invaders</a>
- name: starlorn
repo: Hypersonic/Starlorn
langs: Java
started: May 2013
description: A <a href="https://en.wikipedia.org/wiki/Shoot_'em_up">shoot 'em up</a> game with a sweet upgrade system and randomized levels
- name: goldfish
langs: Java
started: Jan 2013
description: A simple <a href="https://en.wikipedia.org/wiki/Conway's_Game_of_Life">Game of Life</a> implementation in Java
- name: cellar-strider
repo: Hypersonic/Cellar-Strider
langs: Python
started: June 2012
description: A pseudo-<a href="https://en.wikipedia.org/wiki/Roguelike">roguelike</a> game with a YAML-based level system
- name: func-smash
langs: Python
started: April 2012
description: A library that tries to generate random Python functions using Markov chains
- name: lobo
langs: NetLogo
started: Dec 2011
description: 'Logo Bolo: a re-envisioning of <a href="https://en.wikipedia.org/wiki/Bolo_(video_game)">the classic tank game</a> by Stuart Cheshire in NetLogo'
- name: git-repo-updater
langs: Python
started: June 2011
description: A console script that allows you to easily pull to multiple git repositories at once
- name: benkurtovic.com
langs: Web
started: June 2011
description: The site you're viewing right now in source code form
- name: music-quizzer
langs: Python
started: May 2011
description: A <a href="https://en.wikipedia.org/wiki/Tk_(framework)">Tk</a>-based program that can help you prepare for your music final with randomly-generated listening quizzes
---
<p id="bio">I'm a software engineer, <a href="https://en.wikipedia.org/">Wikipedian</a>, and recent graduate of the <a href="https://illinois.edu/">University of Illinois at Urbana–Champaign</a> with a degree in computer science. My interests center on operating systems, distributed computing, and security, but I enjoy working on exciting problems in many areas. You can reach me at <a href="mailto:ben.kurtovic@gmail.com">ben.kurtovic@gmail.com</a>.</p>
<div id="links">
<div>GitHub<br /><a href="https://github.com/earwig">earwig</a></div
><div>Freenode<br /><a href="https://webchat.freenode.net/?channels=%23%23earwig">Earwig</a></div
><div>Wikipedia<br /><a href="https://en.wikipedia.org/wiki/User:The_Earwig">The Earwig</a></div
><div>Twitter<br /><a href="https://twitter.com/benkurtovic">@benkurtovic</a></div
><div>LinkedIn<br /><a href="https://linkedin.com/in/benkurtovic">benkurtovic</a></div
><div>PGP Key<br /><a href="/static/pgpkey.txt"><i class="fa fa-key" title="PGP Key"></i></a> <a href="https://pgp.mit.edu/pks/lookup?search=0x801B6CE29F2999F2&fingerprint=on&op=index">9F2999F2</a></div>
</div>
<table id="work">
<tr>
<td>
<h2>Projects</h2>
<p>A look at what I've been up to for the past several years:</p>
<h3>Highlights</h3>
<ul class="work-list">
{% for project in page.projects["highlights"] %}
<li>
<a class="underlined" href="https://github.com/{% if project.repo %}{{ project.repo }}{% else %}earwig/{{ project.name }}{% endif %}">{{ project.name }}</a> <span class="subtitle"><i>({{ project.langs }} // started {{ project.started }}{% if project.incomplete %}<span class="incomplete"> // in development</span>{% endif %}{% if project.abandoned %}<span class="abandoned"> // abandoned</span>{% endif %})</i></span><br />
<span class="subtitle">{{ project.description }}</span>
</li>
{% endfor %}
</ul>
<h3>Other work</h3>
<ul class="work-list">
{% for project in page.projects["others"] %}
<li>
<a class="underlined" href="https://github.com/{% if project.repo %}{{ project.repo }}{% else %}earwig/{{ project.name }}{% endif %}">{{ project.name }}</a> <span class="subtitle"><i>({{ project.langs }} // started {{ project.started }}{% if project.incomplete %}<span class="incomplete"> // in development</span>{% endif %}{% if project.abandoned %}<span class="abandoned"> // abandoned</span>{% endif %})</i></span><br />
<span class="subtitle">{{ project.description }}</span>
</li>
{% endfor %}
</ul>
</td>
<td>
<h2>Posts</h2>
<div id="tags">
Tags:
{% comment %} Based on code from Christian Specht at https://stackoverflow.com/a/24744306/2712951 {% endcomment %}
{% capture tags %}{% for tag in site.tags %}{{ tag[1].size | plus: 10000 }}{{ tag[1].first.date | date: "%Y%m%d" }}#{{ tag[0] }}#{{ tag[1].size }}{% unless forloop.last %}|{% endunless %}{% endfor %}{% endcapture %}
{% assign sorted = tags | split: "|" | sort | reverse %}
{% for tag in sorted %}
{% assign items = tag | split: "#" %}
<span data-tag="{{ items[1] }}" class="tag">{{ items[1] | replace: " ", " " }} <span class="subtitle">({{ items[2] }})</span></span>
{% endfor %}
</div>
<ul id="post-list" class="work-list">
{% for post in site.posts %}
<li data-tags="{{ post.tags | join: "|" }}">{{ post.date | date: "%b %-d, %Y" }}: <a class="underlined" href="{{ post.url }}">{{ post.title }}</a><br /><span class="subtitle">{{ post.description }}<br />{{ post.tags | join: ", " }} · {% if post.draft %}<span class="draft">Draft</span>{% else %}<a href="{{ post.url }}#disqus_thread" data-disqus-identifier="{{ post.id }}"></a>{% endif %}</span></li>
{% endfor %}
<li id="null-post" data-tags="" style="display: none;"><i>No posts with these tags</i></li>
</ul>
</td>
</tr>
</table>
<script>
var disqus_shortname = 'earwig';
var disqus_title = '{{ page.title }}';
var disqus_url = '{{ site.url }}{{ page.url }}';
var disqus_developer = 1;
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);
}());
</script>