--- 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 MediaWiki wikicode - name: earwigbot langs: Python started: April 2009 description: A modular robot that edits Wikipedia and interacts with people over IRC, with a separate repository for plugins - name: crater langs: C + Assembly started: March 2015 description: An emulator for the Sega Game Gear, with an included Z80 assembler/disassembler - name: copyvios langs: Python + Web started: July 2009 description: A copyright violation detector for Wikipedia articles running on Wikimedia Cloud Services - name: bitshift langs: Python + SQL + Web started: March 2014 description: A semantic search engine for source code others: - name: calefaction langs: Python + Web started: December 2016 description: A corporation manager and dashboard for EVE Online - 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 user script to automate common templates for discussion 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, UV texture mapping, z-buffering, and simple lighting - name: mal-decimal-scores langs: JS started: May 2014 description: A Chrome extension that gives you finer control over MyAnimeList.net 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 Space Invaders - name: starlorn repo: Hypersonic/Starlorn langs: Java started: May 2013 description: A shoot 'em up game with a sweet upgrade system and randomized levels - name: goldfish langs: Java started: Jan 2013 description: A simple Game of Life implementation in Java - name: cellar-strider repo: Hypersonic/Cellar-Strider langs: Python started: June 2012 description: A pseudo-roguelike 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 the classic tank game 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: earwig.github.io 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 Tk-based program that can help you prepare for your music final with randomly-generated listening quizzes ---

I'm a software engineer and Wikipedian currently studying computer science at the University of Illinois at Urbana–Champaign. I'm interested in operating systems, networking, and security, but I enjoy working on exciting problems in all areas of computing. Want to chat? Contact me at ben.kurtovic@gmail.com.

Projects

A look at what I've been up to for the past few years:

Highlights

    {% for project in page.projects["highlights"] %}
  • {{ project.name }} ({{ project.langs }} // started {{ project.started }}{% if project.incomplete %} // in development{% endif %}{% if project.abandoned %} // abandoned{% endif %})
    {{ project.description }}
  • {% endfor %}

Other work

    {% for project in page.projects["others"] %}
  • {{ project.name }} ({{ project.langs }} // started {{ project.started }}{% if project.incomplete %} // in development{% endif %}{% if project.abandoned %} // abandoned{% endif %})
    {{ project.description }}
  • {% endfor %}

Posts

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: "#" %} {{ items[1] | replace: " ", " " }} ({{ items[2] }}) {% endfor %}
    {% for post in site.posts %}
  • {{ post.date | date: "%b %-d, %Y" }}: {{ post.title }}
    {{ post.description }}
    {{ post.tags | join: ", " }} · {% if post.draft %}Draft{% else %}{% endif %}
  • {% endfor %}