
Ask HN: Brag about open-source projects you're proud of - kristopolous
Do you have a github project with hundreds of commits, meticulous documentation, but only a handful of stars? Feel like you can&#x27;t get the marketing sauce right?<p>I&#x27;ve talked with many developers who have been maintaining passion projects for years without any decent recognition of their efforts.<p>I&#x27;d like to do a little to change that!  Please list the projects you are most proud of along with their project URLs. Go ahead and say why it&#x27;s awesome.<p>I want to give a way (right in this comment thread) for people to self-promote those things that get overlooked.<p>Thanks.
======
adityab
WebODF.

[http://webodf.org/](http://webodf.org/)
[https://github.com/kogmbh/WebODF](https://github.com/kogmbh/WebODF)
[https://adityabhatt.wordpress.com/2013/12/16/bringing-
opendo...](https://adityabhatt.wordpress.com/2013/12/16/bringing-opendocument-
to-the-web/)

A js library that renders OpenDocument Format docs in the browser, and lets
you edit them collaboratively in realtime - with lovingly, meticulously
crafted OT.

We worked on this with 2 years of active development - it is HARD to build a
full richtext editing engine from scratch! - but it has recently been
suffering from a lack of enough funding to keep the work going. I no longer
get paid to work on this, so now there is only one person working on it full-
time.

It deserves funding and support. As far as I know there isn't any other
project that comes this close to building a full blown FOSS Google Docs text
editor replacement.

:)

~~~
Volundr
Darn, I actually went to the site looking for a 'donate' button, but it looks
like it's commercially backed. I definitely want something like this to exist.

~~~
adityab
The project can take donations and we did work supported by grants from the
NLNet Foundation ([http://nlnet.nl/](http://nlnet.nl/)) for a while. It is
commercially controlled in the sense that KO GmbH has a CLA that contributors
sign. But the project itself is AGPL (with pretty standard dual-licensing).

Thanks for the kind words! :)

------
avalaunch
Django Baker

Adds a management command that generates views, forms, urls, admin, and
templates based off the contents of models.py.

It's a bit like Rails scaffolding, but less magical. For each view it creates,
for example, it will include stubbed out versions of almost all the methods
and attributes you can override, in the order that they get called. The most
"magical" part are the admin files that get generated, as they make use of a
mixin I wrote that makes (hopefully) intelligent choices for list_display,
list_filter, search_fields and automatically links to the related objects for
each ForeignKey/OneToOneField. All the default choices are easily overridable.

[https://github.com/krisfields/django-
baker](https://github.com/krisfields/django-baker)

It's not a big project but it's my first open source contribution so I'm proud
of it nonetheless.

------
antoyo
Auto-Sort Bookmarks (Firefox add-on): [https://github.com/antoyo/auto-sort-
bookmarks](https://github.com/antoyo/auto-sort-bookmarks) It provides a way to
sort all bookmarks and automatically sort bookmarks. By the way, I planned to
rewrite it in OCaml. I started the binding of the add-on SDK (here it is:
[https://github.com/antoyo/oc-addon-sdk](https://github.com/antoyo/oc-addon-
sdk)).

Vim Licenses (vim plugin): [https://github.com/antoyo/vim-
licenses](https://github.com/antoyo/vim-licenses) Vim Plugin that provides
commands to add licenses at the top of the buffer (very useful when working on
open-source projects).

------
mrskitch
I've spent some good time on:
[https://github.com/appnexus/sicksync](https://github.com/appnexus/sicksync)

It's a one-way syncer utility in Node, and backed by a CLI. I Was tired of
Ruby file watchers running rsync and waiting the seconds it took for file
synchronization. So I wrote this which uses WebSockets to persist a connection
and send deltas much quicker. Ideal for small, iterative changes (front-end).

Is it secure? No. Does it work for everything? Probably not. But it get's me
waaay more productive than I was.

------
japhyr
[http://introtopython.org](http://introtopython.org)

[http://github.com/ehmatthes/intro_programming](http://github.com/ehmatthes/intro_programming)

It got some stars when I first introduced it about a year ago, but I'm
mentioning it because I've just picked up development on the project again.
It's a site to help people teach and learn Python. I wanted to make an easy
way for experienced Python devs to contribute to a site that helps people
learn Python.

Key features:

\- If you can use IPython Notebook, you can contribute to the project. Every
page is an IPython Notebook that gets converted to html. To edit a page, check
out the project and edit the notebook.

\- If you want to add a tutorial - for example, a tutorial about how to use
PyGame, or how to use a specific data visualization tool, or any specific
Python library - just make a new notebook, write your tutorial using IPython
Notebook, and run intro_programming/scripts/build_html_pages.sh.

I just pushed a branch that updates the infrastructure to IPython 3.0. I'm a
day or two away from updating the first project on the site, which shows how
to plot recent earthquakes on a world map - that project has been well
received for the last year.
([http://introtopython.org/visualization_earthquakes.html](http://introtopython.org/visualization_earthquakes.html))

If you're interested in helping out, get in touch or open an issue.

------
interfacesketch
It's not code, but if you're designing a website or app, I created some free
simple device templates (phone, tablet, web browser) to help you sketch your
ideas on paper.

They're CC licenced and you can create your own print templates:

[http://www.interfacesketch.com/](http://www.interfacesketch.com/)

~~~
kristopolous
What a clever idea. Thanks!

------
ericclemmons
My most recent is "React Resolver":

> [https://github.com/ericclemmons/react-
> resolver](https://github.com/ericclemmons/react-resolver)

When React came out, I was disappointed that server-side rendering was pretty
much impossible unless you knew _all_ of the data requirements for the entire
render tree & loaded them up front.

This project has just underwent a rewrite for React v0.13 that I'm pretty
proud of, since it's ES6 and packaged as ES5 via Babel.

It's been fantastic in my personal & work projects, and has made it possible
to rebuild a major application that was in PHP entirely in Node w/ progressive
enhancement.

------
numlocked
Django SQL Explorer

[https://github.com/epantry/django-sql-
explorer](https://github.com/epantry/django-sql-explorer)

Engineers or analysts write SQL queries, and share them with anyone in the
business who needs the data to make decisions. Through over a year of heavy,
daily real-world use, I've added dozens of little usability features that make
it (for me at least) really pleasant to use. It's still a pretty under-the-
radar Django app, but I literally can't imagine life without at, at any
business I've ever worked at.

Explorer can also expose select queries as read-only pages to specific users
and we use this feature to keep investors and partners up to date on key
metrics and financials which saves a lot of time and ad-hoc reporting. Just go
to a URL and BAM! Real time data, downloadable as CSV.

I've also documented the version and license of every dependency to make it as
easy as possible for businesses to go ahead and use it. And finally, it's
extensively tested via automation, and our own internal deployment which is
always running off the tip of master. We dogfood every commit quite heavily.

~~~
narwally
This looks awesome! Good work.

I'm going to try it out with my next Django project.

------
xamuel
My "Patterns of Resemblance Arithmetical Library (PORAL)" is, in a formal
sense, one of the most sophisticated pieces of software ever written: the
ordinals it can perform arithmetic upon are so large, they require nontrivial
fragments of set theory just to prove they're really ordinals. Some of the
algorithms implemented in this library were recently printed in "Archive for
Mathematical Logic", a hardcore logic journal.

Github:
[https://github.com/semitrivial/poral](https://github.com/semitrivial/poral)

------
IgorPartola
I have three that I'd love to give more exposure to:

Hawkeye -
[https://github.com/ipartola/hawkeye](https://github.com/ipartola/hawkeye).
This is a webcam streaming server for the Raspberry Pi + cheap webcams. I
wanted a simple, extensible webcam monitoring system for the nursery, so I
built this. You can use a cheap USB webcam that supports MJPEG video, and
Hawkeye has a built-in HTTP/HTTPS server for streaming the video to desktop or
mobile browsers. The included "client" is just a basic HTML page that lets you
view multiple streams. The project is written in what I consider fairly
readable C. The whole thing can be easily built into a Debian package so
maintenance is pretty simple, and init scripts just work.

groper -
[https://github.com/ipartola/groper](https://github.com/ipartola/groper).
groper is a configuration library that Python's stdlib is really missing.
Python comes with argparse for command line arguments, and the config parser
module for parsing config files. It is your job to make the two work together.
groper takes all that pain away from you. You simply define what stuff is
configurable and what names it should use, and it will take care of order of
precedence, etc. Works with Python 2 & 3, and will even generate sample
configs for you based on your defaults. A former employer of mine uses it
extensively, and so do a few other projects.

LogHog -
[https://github.com/activefrequency/loghogd](https://github.com/activefrequency/loghogd).
My current employer, Active Frequency, LLC
([https://www.activefrequency.com/](https://www.activefrequency.com/))
sponsored my work on this. LogHog is a logging facility similar to syslog, but
not compatible with it. Instead it supports a few advanced features
(encryption, HMAC, built-in file rotation and compression) and basically Just
Works. If you have ever tried to set up syslog logging with Python and got
frustrated, give this a go. Active Frequency uses this for some of our
projects, and it works really well for the most part (except that TLS, which
works but configuration still has some sharp corners).

------
nostrademons
Gumbo HTML parser:

[https://github.com/google/gumbo-parser](https://github.com/google/gumbo-
parser)

It's one of the most conformant (if not _the_ most conformant - 0.10.0 passes
all html5lib-trunk tests) standalone HTML parsing libraries out there. It has
third-party bindings in nearly a dozen different languages. The API is simple,
the code is robust and well-tested, and being written in C, it's often a fair
bit faster than alternatives.

~~~
vaibhavmagarwal
Looks interesting. Does it parse html in chunks? (I am actually looking for
html5 parsing library that does it in chunks in C).

~~~
nostrademons
No, it reads in a whole string at once and then parses it as a single
document. It's actually pretty hard to parse HTML in chunks, because the spec
allows for text that comes later in the document to alter the parse tree of
nodes produced earlier (see, for example, foster-parenting or the adoption
agency algorithm). You could take a look at Hubbub as a callback-based HTML5
parser, but the way that works is to take a callback interface where you need
to implement 18 or so different functions.

[http://www.netsurf-browser.org/projects/hubbub/](http://www.netsurf-
browser.org/projects/hubbub/)

------
arcameron
[https://github.com/qq99/muvee](https://github.com/qq99/muvee) \- μv, a mix of
concepts like Plex, Netflix, Popcorn Time for your LAN, with Hue light
support. I'm working on this one regularly and use it frequently at home

[https://echoplex.us/](https://echoplex.us/) \- anonymous chat, code, draw,
WebRTC calls, with PGP support. Much less maintained nowadays

------
carsongross
[https://github.com/LeadDyno/intercooler-
js](https://github.com/LeadDyno/intercooler-js) \- Giving you 95% of the
functionality of a client-side MVC framework at 5% of the complexity.

Main site at [http://intercoolerjs.org](http://intercoolerjs.org)

I'm particularly proud of how well history-aware AJAX is working out: you just
add an ic-push-url="true" attribute to your element, and, blam, AJAX is
integrated with your apps history. See:

[http://intercoolerjs.org/examples/history.html](http://intercoolerjs.org/examples/history.html)

~~~
kristopolous
... that's a lot of work. Thanks!

------
vonnik
* Deeplearning4j - distributed DL for the JVM [https://github.com/deeplearning4j/deeplearning4j](https://github.com/deeplearning4j/deeplearning4j)

* ND4J - Scientific computing for the JVM [https://github.com/deeplearning4j/nd4j](https://github.com/deeplearning4j/nd4j)

* Vectorization lib for Machine Learning Tools [https://github.com/deeplearning4j/Canova](https://github.com/deeplearning4j/Canova)

------
jkozera
[http://zealdocs.org/](http://zealdocs.org/) \- 2 years old dev documentation
browser. Maybe not exactly overlooked with 2400 GitHub stars, but never hit HN
frontpage, and 0.1.1 was recently released. :D

~~~
chunkstuntman
I really love Zeal, but I wish the documentation files weren't being hosted
from Dash's servers. If Zeal were available on OSX I'd use it in an instant.

~~~
jkozera
Thanks! You can compile it for OSX yourself with some effort, but it's not
going to be supported any time soon due to agreement with Dash's author, and
is ugly being cross-platform as opposed to native like Dash.

------
rednovae
[https://github.com/endeav0r/hsvm](https://github.com/endeav0r/hsvm) \- 16-bit
virtual machine with a bunch of reversing and exploitation challenges.

[https://github.com/endeav0r/rdis](https://github.com/endeav0r/rdis) \- Visual
reverse-engineering tool for Linux with custom graph layout stuff.

~~~
kristopolous
That documentation is so awesome.

You may think about doing a version with
[https://github.com/kristopolous/BOOTSTRA.386](https://github.com/kristopolous/BOOTSTRA.386)
...

------
krapp
I don't know why, but a perceptual hasher I wrote for PHP is apparently
moderately popular (at least for me):
[https://github.com/kennethrapp/phasher](https://github.com/kennethrapp/phasher)

Chances are I won't be updating it anytime soon though, because I have so many
other projects, so feel free to fork it and/or drop a pr, which i'll get
around to merging eventually.

I'm personally kind of proud of another project
([https://github.com/kennethrapp/embedbug](https://github.com/kennethrapp/embedbug))
which I meant originally to be a self-hosted replacement for site profile
services like embed.ly, but which has kind of grown into a general purpose
xpath based web crawler. I've been using it in various toy forum and news
aggregator projects and it seems to work pretty well, although of course it's
only one of countless crawlers out there.

------
lukaslalinsky
I wouldn't call it overlooked and it's probably not the typical open source
project, but I'm quite proud of this, so here is it:

[https://acoustid.org/](https://acoustid.org/)
[https://bitbucket.org/acoustid](https://bitbucket.org/acoustid)

There has been a few attempts at open source audio fingerprinting service
before and after AcoustID, but none of them survived for long. It's been 5
years since I started working on this. I'm particularly proud of the project,
because I have done it the way I think software should be done and it worked
wonderfully. I spend a lot of time researching, then ran some experiments, set
myself some goals of what is practical to do and what exact use cases I want
to support, designed and implemented it and then I was able to run it without
any scaling problems for years.

~~~
giovannibonetti
Perhaps more people would find it if you moved it to Github. It doesn't take
much time...

~~~
lukaslalinsky
It was originally on GitHub and I moved it to Bitbucket after GitHub decided
they do not want to host release files.

------
caseysoftware
[https://github.com/web2project/web2project](https://github.com/web2project/web2project)

I've been the lead for Web2project for the years since we forked from
dotproject. In the simplest terms, we're a project management system but
unlike something like Basecamp, we handle dependencies, logging time on tasks,
accounting for projects costs and a ton of other things.

At present, we have a small community, but we have a few thousand installs
ranging tiny two-person shops who have a ton of things going to at least one
US Air Force Base.

The biggest challenge since our fork was dealing with the old code and
continuing to support older versions without leaving people without a path
forward. I put a ton of time into making sure the upgrade/update process works
smoothly and no data is lost.

------
rspeer
An underappreciated project of mine is [langcodes], a Python package for
looking up, comparing, and doing the right thing with IANA language codes.
It's not a full-blown toolkit for localization, it just does this one thing
well.

A project that finally got some appreciation after a couple of years is
[python-ftfy], which Fixes Text For You. It repairs mojibake, and generally
takes in bad Unicode and outputs good Unicode.

[langcodes]:
[https://github.com/LuminosoInsight/langcodes](https://github.com/LuminosoInsight/langcodes)

[python-ftfy]: [https://github.com/LuminosoInsight/python-
ftfy](https://github.com/LuminosoInsight/python-ftfy)

------
joeyspn
Not mine, but I've always thought how this is not mainstream...

[https://github.com/duplicati/duplicati](https://github.com/duplicati/duplicati)

[http://www.duplicati.com/](http://www.duplicati.com/)

Duplicati is a backup client (with GUI) that securely stores encrypted,
incremental, compressed backups on cloud storage services and remote file
servers. It works with Amazon S3, Windows Live SkyDrive, Google Drive,
Rackspace Cloud Files or WebDAV, SSH, FTP (and many more). Built-in AES-256
encryption and backups can be signed using GNU Privacy Guard.

PS: This should be a monthly thread like "who's hiring"!

~~~
scott_karana
The original project that Duplicati was forked from, Duplicity, is very well
known.

Other than GUI and Windows (VSS) support, I couldn't easily find how Duplicati
diffentiated itself... might be nice to have a "Duplicati vs Duplicity" page?

------
martindevans
I have quite a lot of open source projects, mostly just little utilities or
interesting experiments.
[https://github.com/martindevans?tab=repositories](https://github.com/martindevans?tab=repositories)

The one I'm most proud of is probably MumbleSharp
([https://github.com/martindevans/MumbleSharp](https://github.com/martindevans/MumbleSharp))
which is a complete implementation of the mumble protocol in C#. It's actually
getting fairly close to complete, it can handle all functions except sending
voice.

------
logn
[https://github.com/MachinePublishers/jBrowserDriver](https://github.com/MachinePublishers/jBrowserDriver)
is a Selenium WebDriver that runs headless, is pure Java, and runs fine on a
standard JVM. And most people use these web drivers because they need to parse
AJAX sites, yet most web drivers have terrible support for it. Mine does a
pretty good job of knowing when a page is loaded, including its asynchronous
requests, whether from the page load or subsequent clicks/actions.

There are some missing features and bugs still but it's working pretty well.

------
derekp7
Snebu ( [http://www.snebu.com](http://www.snebu.com) and
[https://github.com/derekp7/snebu](https://github.com/derekp7/snebu) ) is a
Linux backup system that works kind of like rsync snapshot backups (i.e.,
similar to rsnapshot). Except it stores backup sets meta data in an sqlite
database, and the files are stored as lzo compressed objects. Other than the
standard features such as backup retention schedules, it has a number of small
features that I haven't seen in a lot of similar backup utilities:

* Path rewriting (grafting) -- this lets you mount an LVM snapshot somewhere, and the backed up copy can be stored referencing the original path (i.e., if you backup a snapshot of /srv/mydbfiles mounted on /mnt/snapshots/mydbfiles, you can tell it to store it on the backup server as if it was backed up from /srv/mydbfiles). This also works the other way for restoring files.

* Safe expiring of old backups -- Let say you haven't backed up a particular host for a number of months (i.e., it has been decommissioned). When you tell the system to expire all backup older than 6 months, it will by default keep the 3 most recent backups [this number is tunable on the command line].

* Multiple user / granular permission support [ in the development branch, should make it in the next release ] -- You can give a given user ID the ability to backup but not restore, or backup and restore but not purge old backups, etc. That way if a host is compromised, you can ensure that an attacker can't delete backups from that compromised host.

* If used in client/server mode, you can back up a client from the server without installing anything other than an SSH key (it just calls GNU find/tar on the client).

Things missing that are currently being coded up:

* Client side encryption

* Multiple backend support (to support tape or cloud replication)

* Local shadow copy -- lets you back up a laptop to a network server, but also do incremental snapshots to a local USB device when not on the network, and sync that to the network copy periodically.

------
degio
sysdig([http://www.sysdig.org/](http://www.sysdig.org/))

winpcap([http://www.winpcap.org/](http://www.winpcap.org/))

------
rcthompson
ido-ubiquitous for Emacs: [https://github.com/DarwinAwardWinner/ido-
ubiquitous](https://github.com/DarwinAwardWinner/ido-ubiquitous)

A lot of people probably use this Emacs package without knowing it, since
several "starter kit" Emacs config templates use it by default. It aims to
completely replace emacs completion with ido[1] completion.

[1]
[http://emacswiki.org/emacs/InteractivelyDoThings](http://emacswiki.org/emacs/InteractivelyDoThings)

------
AdrianRossouw
\- jsChan
[[https://github.com/graftjs/jschan](https://github.com/graftjs/jschan)]. Our
javascript implementation of Docker's libchan library. It implements the same
kind of semantics that Go channels have, but over the network, and using node
streams. Since it is based on the capabilities of SPDY, it allows you to embed
additional channels in messages. So i could request a page, but give you a
return channel to write the document to. instead of waiting for the response.

\- Graft
[[https://github.com/graftjs/graft](https://github.com/graftjs/graft)]. Our
attempt to determine what microservices taken all the way to the browser would
look like. It's a higher level library built on top of jschan. The idea is to
be able to use node streams interchangeably on both sides of the pipe, with
the communication managed by libchan ... and work invisibly over SPDY or
websockets or whatever.

Unfortunately, SPDY was replaced by http2, which meant that libchan went under
construction for a bit while the library support was figured out. At the same
time, io.js happened. And now there's a very fastly evolving streams spec that
is feeding on the whatwg effort to standardise a stream spec for the browser
and node.

I am going to take up the mantle again, but there needs to be some settling of
the ecosystem first. =\

------
ianbicking
doctest.js: [http://doctestjs.org/](http://doctestjs.org/) |
[https://github.com/ianb/doctestjs](https://github.com/ianb/doctestjs)

Testing system for Javascript, explicit and example-based, with nice support
for async testing, and I think it treats test failures particularly nicely. I
think it's a way better model than BDD. But no one has ever really cared about
doctest.js, even to complain...

------
rip747
[https://github.com/cfwheels/cfwheels](https://github.com/cfwheels/cfwheels)
\- Rails ported to CFML

was on this for a while. learned alot from the awesome team.

[https://github.com/rip747/cfml-liquid](https://github.com/rip747/cfml-liquid)
\- CFML Port of the Liquid Templating language

always wanted liquid available for CFML so I put my time where my mouth was
and did it myself. learned a ton and had an awesome time doing it.

------
pjungwir
[https://github.com/pjungwir/db_leftovers](https://github.com/pjungwir/db_leftovers)
\- Rails without the data loss. ;-)

[https://github.com/pjungwir/aggs_for_arrays](https://github.com/pjungwir/aggs_for_arrays)
\- C functions to compute stats on PostgreSQL arrays.

------
charlieegan3
I recently made the code for my newsreader side project public:
[https://github.com/charlieegan3/serializer](https://github.com/charlieegan3/serializer)
(hosted at [http://www.serializer.io](http://www.serializer.io))

I don't know about pride but I'm pretty happy with it.

------
spiritplumber
RobotsAnywhere.

[http://robots-
everywhere.com/re_wiki/index.php?n=Main.Softwa...](http://robots-
everywhere.com/re_wiki/index.php?n=Main.SoftwareRobotsAnywhere) Released early
2010, full Android robotics stack.

(It is "open source", but I want people to email me for the source because...
well, it's interesting to chat).

------
SethKinast
Dust.js ([http://www.dustjs.com/](http://www.dustjs.com/))

Dust is flexible asynchronous templating for both the browser and server.

The project languished for awhile, which I think led to it falling by the
wayside popularity-wise. I picked up development last year, and the last nine
months or so have seen rapid improvement of the language and documentation.

I feel like Dust would fit many use cases way better than people's current
templating solutions. Because it's asynchronous, you can put Promises and
Streams right into your template variables, and Dust will handle them
properly.

So for example, you can pass ReQL cursors straight into Dust, and it'll stream
them into the template, so you get progressive rendering in the browser
without buffering the whole result set in memory.

    
    
        r.table("messages").orderBy({index: "date"}).run(conn, function(err, cursor) {
          dust.render("inbox", { messages: cursor }).pipe(res);
        });

------
argonium
JarMan, for working with Java archives (JAR files). You can check the
manifest, see if the JARs listed in the manifest's classpath exist, browse the
methods, interfaces, etc. of a class file in the JAR, etc. I've found it
handy.

[https://github.com/argonium/jarman](https://github.com/argonium/jarman)

------
zserge
At the moment Anvil is my favourite child:

\- [https://github.com/zserge/anvil](https://github.com/zserge/anvil) \- a new
reactive UI library for android. It totally changed the way I develop android
apps now.

Also there is some tiny ones, but found useful over the years:

\-
[https://bitbucket.org/zserge/jsmn/wiki/Home](https://bitbucket.org/zserge/jsmn/wiki/Home)
\- JSMN, a very fast and lightweight JSON parser for embedded systems

\- [https://bitbucket.org/zserge/mucks](https://bitbucket.org/zserge/mucks) \-
A wrapper for Tmux/Screen/DVTM to keep persistent terminal sessions. Usefule
when you use terminal as an IDE

\-
[https://bitbucket.org/zserge/gambiarra](https://bitbucket.org/zserge/gambiarra)
\- minimalist Lua unit-testing library

------
kordless
[http://utter.io/](http://utter.io/)

Mostly operational framework for implementing lightweight federation with
OpenStack and Bitcoin. Worked on it for a year before starting to work again
as a technology evangelist. Still noodling on it when I have time.

------
thruflo
Not mine (but I am using it in production and it fits the brief down to a
tee).

The world's best open source content management system
[https://github.com/SpontaneousCMS/spontaneous](https://github.com/SpontaneousCMS/spontaneous)

------
jeffail
Leaps, another Google Docs clone except written in Golang. It comes with a web
UI for hosting your own pair programming environments.

[http://jeffail.github.io/leaps/](http://jeffail.github.io/leaps/)

The above link has a three step guide for pair programming your local files
over LAN (including installation). The service is quite flexible and also
allows you to share hosted documents through MySQL and postgreSQL and do
things like user authentication etc.

I have a pair programming website set up as a proof of concept that uses leaps
with postgreSQL here: [https://megrim.uk/](https://megrim.uk/), it's hosted
across three ARM micro computers under my sofa so go easy on it.

------
kristopolous
Javascript database -
[https://github.com/kristopolous/db.js](https://github.com/kristopolous/db.js)

Javascript event system -
[https://github.com/kristopolous/EvDa](https://github.com/kristopolous/EvDa)

* Self-contained

* Piecemeal

* Vertically sophisticated - simple things remain simple; hard things remain possible

* Focus on pleasant, consistent, ease, and flexibility

My end-users are programmers and my UX is the API and documentation.

I care about facilitating both novice and experienced programmers equal
enjoyment and proportional productivity with the most minimum ramp-up
necessary.

If I have to think about how to do it in the library or look up how to invoke
things, I consider that an impetus for re-design.

------
ac360
JSON Archetypes: [https://github.com/servant-app/json-
archetypes](https://github.com/servant-app/json-archetypes)

Community-Driven Standards For Popular Types Of Data in JSON.

Think Products, Blog Posts, Events, Contacts, etc.

------
spiritplumber
NAVCOM AI, full autopilot for various class of vehicles... in 2007.

[http://robots-everywhere.com/portfolio/navcom_ai/](http://robots-
everywhere.com/portfolio/navcom_ai/)

------
mikejholly
[https://github.com/longshoreman/longshoreman](https://github.com/longshoreman/longshoreman)

Longshoreman is a simple solution for deploying Docker containers to a server
cluster.

------
ccleve
[https://github.com/dieselpoint/norm](https://github.com/dieselpoint/norm)

Norm is a lightweight layer over JDBC. Access a database in one line of code.

------
animatedb2
[http://sourceforge.net/projects/oovcde/](http://sourceforge.net/projects/oovcde/)
\- creates C++ analysis diagrams

~~~
kristopolous
Out of curiosity, is sf.net your preference for FOSS hosting in 2015?

------
cmsj
Hammerspoon - crazy powerful desktop automation for OS X.
[https://github.com/Hammerspoon/hammerspoon](https://github.com/Hammerspoon/hammerspoon)

We get a few hundred downloads of each release, but I like to think that the
market for people who want to program their desktop, has to be a bit bigger
than that :)

(Our website sucks, which probably doesn't help, but we don't currently have
any contributors who are good at making pretty web sites)

------
simulo
»A Beg­inner’s Guide to Finding User Needs« read:
[http://jdittrich.github.io/userNeedResearchBook/](http://jdittrich.github.io/userNeedResearchBook/)
source:
[https://github.com/jdittrich/userNeedResearchBook](https://github.com/jdittrich/userNeedResearchBook)

Is a free/libre guide teaching how to find out what your users’ needs are.

------
bbyars
mountebank - the first open source tool to provide multi-protocol over the
wire test doubles.

[http://www.mbtest.org/](http://www.mbtest.org/)
[https://github.com/bbyars/mountebank](https://github.com/bbyars/mountebank)

There are some excellent HTTP/S stubbing libraries out there but no open
source ones that let you also stub other protocols. mountebank was first built
to support testing Java serialization over a mule-based TCP layer, supports
HTTP/S, SMTP, and I'm working on first-class SOAP support. The only tools that
provide this capability today are commercial (e.g. CA Lisa) and not nearly as
friendly to CI/CD practices.

By the way, thanks for this thread. Independently of my own self-promotion,
it's a great idea. Great open source developers are rarely good marketers,
which means the best tools often rot in obscurity, and users of the tools
rarely recognize that they can help by the simplest of actions. Find the ones
you like on this page, star them, fork them, link to them. Help the open
source community shine.

------
rkeene2
AppFS ( [http://appfs.rkeene.org/](http://appfs.rkeene.org/) )

It's a "universal package format". It's similar to lazyfs (from 0install) with
a bit more structure for packages. It's digitally signed from end-to-end. It
uses FUSE. It supports writing, SUID files, and advanced configuration which
can be updated at runtime without unmounting.

------
droope
Droopescan, a plugin-based scanner that aids security researchers in
identifying issues with several CMSs, mainly Drupal & Silverstripe.

[https://github.com/droope/droopescan](https://github.com/droope/droopescan)

I've been working on it for heaps! Sponsored in part by the company I work
for, I reckon it's pretty decent ^^

------
hidro
Hacker News Android app:
[https://github.com/hidroh/materialistic](https://github.com/hidroh/materialistic)

API testing with Cucumber: [https://github.com/hidroh/cucumber-
api](https://github.com/hidroh/cucumber-api)

------
jwally
jsLPSolver.
[https://github.com/JWally/jsLPSolver](https://github.com/JWally/jsLPSolver)

Easy to use, kind of quick linear programming / mixed integer linear
programming solver in javaScript that takes models as easy to understand
javaScript objects instead of tableaus.

------
Thunderer
I created shortcode engine for PHP, already battle-tested:
[https://github.com/thunderer/Shortcode](https://github.com/thunderer/Shortcode)
. I'm proud of it because it's well engineered and it is not copied from
WordPress nor it relies on WP.

------
benologist
[http://playtomic.org/](http://playtomic.org/) /
[https://github.com/playtomic](https://github.com/playtomic) is a bunch of
services for game developers, self-hosted and very cross-platform.

------
chrislusf
SeaweedFS Distributed File System

[https://github.com/chrislusf/seaweedfs](https://github.com/chrislusf/seaweedfs)

Seaweed-FS is a simple and highly scalable distributed file system. There are
two objectives: to store billions of files! to serve the files fast!

------
umanwizard
libeot: Convert EOT (Microsoft proprietary embedded fonts) to TTF.
[https://github.com/umanwizard/libeot](https://github.com/umanwizard/libeot)

As far as I can tell, the only free software capable of doing this.

------
kragniz
json-sempai: Use JSON files as if they're python modules!
[https://github.com/kragniz/json-sempai](https://github.com/kragniz/json-
sempai)

It's entirely dumb and not very useful.

------
morenoh149
keystonejs.com a Node CMS kinda like wordpress meets django

~~~
kristopolous
put the [http://](http://) in front of it so hn makes it clickable.

~~~
jaredsohn
like [http://www.keystonejs.com/](http://www.keystonejs.com/) :)

------
kazinator
> _Please list the projects you are most proud of along with their project
> URLs._

This is what the "Show HN:" submission convention is for.

------
warmuuh
worked on a small petproject to enable annotations in javascript
([https://github.com/warmuuh/yaap](https://github.com/warmuuh/yaap)) just for
fun ;) (its not that practical, but in combination with wire.js, its quite fun
to work like with Spring)

------
achamilt
Ket
([http://sourceforge.net/projects/ket/](http://sourceforge.net/projects/ket/))

For most trivial algebra, it's quicker to use paper and pencil than a full
algebra system. Ket is a faster alternative with the benefit of clipboards,
save/load and export to LaTeX and HTML.

Most algebra consists of recombining existing expressions. These can be added
in plain text and substituted into one another by clicking and dragging one
equation into another. You can then reorganize the resulting equation using
click-and-drag algebra by dragging terms to different parts of the equation,
e.g. y=m _x+c y-c=m_ x (y-c)/m=x x=(y-c)/m.

Most real-world algebra problems require translation from real-world
information into a coherent mathematical framework. For simple cases, the
standard approach is the back-of-the-envelope calculation. This shows only
enough working to keep the idea organized in your mind as you solve it. This
part of a maths problem is more akin to writing the first draft of an essay.
That is, you list relevant known equations and solution fragments which you
organize into a coherent narrative.

For this you need an algebra-centred text editor. Most of the time spend doing
algebra on computers or on paper is writing and rewriting respectively. To
avoid this, Ket is a modal editor (built around Vim-like commands) in which
keyboard letters correspond to simple editing commands. That is, the editor
focuses on transforming existing expressions and only incidentally on adding
new ones. In addition to redrafting working, with each command, the user
performs an algebraic step.

A text editor represents a line of text as a list of characters. Ket
represents an equation as a tree of functions, constants and variables. And
instead of a cursor editing around a particular character, editing takes place
around a tree branch. So editing commands edit a function, variable or value
at a time in plain text while keeping the larger whole in conventional
mathematical notation. And because each command is a single key press, each
editing step is as quick as touch typing. Furthermore, while some commands
perform algebraic transformations, others simply edit the data structure. This
is analogous to algebra on paper where symbols are cancelled by scoring them
out.

A text editor represents an essay as a list of lines of characters. Ket
represents a document as a list of equations where each is represented as a
tree of functions, constants and variables. Instead of a cursor editing around
a particular character, editing takes place around a tree branch. So editing
commands edit a function, variable or value at a time in plain text while
keeping the larger whole in conventional mathematical notation. And because
each command is a single key press, each editing step is as quick as touch
typing. Furthermore, while some commands perform algebraic transformations,
others simply edit the data structure.

