Ask HN: Do you have any code or projects of your own you would like to talk about instead?
Tired of other discussions dominating the front page? Tell us what you're working on right now, and please include a link to actual code. Let's get back in touch with hacking!
105 comments
Right now I'm working on adding extensions to Chrome. The majority of the system is in this directory:
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/brows...
And what I've been working on most recently is the code that renders little HTML-based toolbars. My most recent change fixed a race that caused them to not render correctly on the first run:
http://src.chromium.org/viewvc/chrome?view=rev&revision=...
I think one of the coolest parts of the system is the way that api methods are routed from JS running in extension processes to the browser process and back. The core of that is here:
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/brows...
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/brows...
And what I've been working on most recently is the code that renders little HTML-based toolbars. My most recent change fixed a race that caused them to not render correctly on the first run:
http://src.chromium.org/viewvc/chrome?view=rev&revision=...
I think one of the coolest parts of the system is the way that api methods are routed from JS running in extension processes to the browser process and back. The core of that is here:
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/brows...
Two projects. One is scraping and indexing data on corporations registered in tax havens, mainly for the purpose of helping transparency researchers follow the activities and connections of businessmen, politicians, etc. I've done Panama, and am now working on a couple of others:
http://ohuiginn.net/panama
http://www.ohuiginn.net/mt/2008/12/opening_up_a_tax_haven.ht...
The second project is building a decent interface to the first edition of the Oxford English Dictionary. The current edition is online, charging ~$200/year for access, but the first edition is out of copyright, sitting on archive.org, and just waiting for somebody to make it accessible without the need to download several GB of scans.
http://ohuiginn.net/panama
http://www.ohuiginn.net/mt/2008/12/opening_up_a_tax_haven.ht...
The second project is building a decent interface to the first edition of the Oxford English Dictionary. The current edition is online, charging ~$200/year for access, but the first edition is out of copyright, sitting on archive.org, and just waiting for somebody to make it accessible without the need to download several GB of scans.
Those are both great ideas. Please consider a donate doohickey for each project. I would gladly contribute to both.
You're my hero now. Mining financial disclosures is right at the top of my list of projects that need doing.
I've been working on my Z-Machine interpreter library again. It basically started as a project to turn Frotz into a Ruby extension (Frotz, probably the most popular interpreter, is written in C).
The code has undergone quite a few transformations now. Frotz uses a lot of static memory -- it's basically setup to run a single zcode program at a time. Which makes sense, of course.
For my library, I wanted to be able to run more than one program (or multiple copies of the same program) at the same time. So, I basically rewrote the core of Frotz. All the memory for a Z-Machine is broken up into structs which are passed around.
There were some fun memory management issues related to running multiple programs. The typical zcode program consists mostly of static memory (lots and lots of strings and code), so that static memory can be shared between programs. I have a test where I load something like 100,000 copies of minizork into memory and the process size "only" jumps to 118MB. Of course, normal code doesn't need that many simultaneous Z-Machine instances so garbage collection keeps memory pretty reasonable.
Last time I worked on dorothy, I setup a demo webapp here:
http://ifrotz.org
Which illustrates why I wanted to be able to run multiple programs. The demo runs minizork, dynamic memory is dumped and restored between requests. The hints, exits, and history feature is possible because the server "listens in" on your game and the games others have played.
Lately I've been working on more memory inspection stuff, and now I have to work on some of the unfinished Z-Machine features (I've only implemented the v3 screen model).
The code is on Github:
http://github.com/eki/dorothy/tree/master
The code has undergone quite a few transformations now. Frotz uses a lot of static memory -- it's basically setup to run a single zcode program at a time. Which makes sense, of course.
For my library, I wanted to be able to run more than one program (or multiple copies of the same program) at the same time. So, I basically rewrote the core of Frotz. All the memory for a Z-Machine is broken up into structs which are passed around.
There were some fun memory management issues related to running multiple programs. The typical zcode program consists mostly of static memory (lots and lots of strings and code), so that static memory can be shared between programs. I have a test where I load something like 100,000 copies of minizork into memory and the process size "only" jumps to 118MB. Of course, normal code doesn't need that many simultaneous Z-Machine instances so garbage collection keeps memory pretty reasonable.
Last time I worked on dorothy, I setup a demo webapp here:
http://ifrotz.org
Which illustrates why I wanted to be able to run multiple programs. The demo runs minizork, dynamic memory is dumped and restored between requests. The hints, exits, and history feature is possible because the server "listens in" on your game and the games others have played.
Lately I've been working on more memory inspection stuff, and now I have to work on some of the unfinished Z-Machine features (I've only implemented the v3 screen model).
The code is on Github:
http://github.com/eki/dorothy/tree/master
Right now (please call me on this sometime, it'd help me) I'm working on a clone of Burp, the industry standard web penetration testing tool, in Cocoa. I started with RubyCocoa, but I've ditched it for Objective C. It is (surprisingly) liberating to work in C after spending a year in Ruby; any time something looks expensive or naive, you just tell yourself, "what I'm doing here can't possibly be more expensive than what MRI Ruby would have done", and you go about your day. Highly recommended.
The last code I managed to publish was Ruckus:
http://github.com/tqbf/ruckus/
(a better description: http://wiki.github.com/tqbf/ruckus/crash-course)
Ruckus is a Ruby DSL replacement for Peach Fuzz, Mike Eddington's famous Python fuzzer library. It is distinguished by being about 100 times slower, using a DSL instead of XML, and providing a DOM-style interface to any packet format (you can tag fields, arbitrarily nested in a tree structure, with classes and id's, and then fuzz them using CSS selectors).
I have a JDWP JVM debugger (or rather a thin protocol driver) written in Ruckus if anyone's interested in seeing what it actually looks like. We never get to publish the actual protocols we build with this.
My programming "day job" (I'm one of 4 developers on the project) is Playbook:
http://runplaybook.com
The last code I managed to publish was Ruckus:
http://github.com/tqbf/ruckus/
(a better description: http://wiki.github.com/tqbf/ruckus/crash-course)
Ruckus is a Ruby DSL replacement for Peach Fuzz, Mike Eddington's famous Python fuzzer library. It is distinguished by being about 100 times slower, using a DSL instead of XML, and providing a DOM-style interface to any packet format (you can tag fields, arbitrarily nested in a tree structure, with classes and id's, and then fuzz them using CSS selectors).
I have a JDWP JVM debugger (or rather a thin protocol driver) written in Ruckus if anyone's interested in seeing what it actually looks like. We never get to publish the actual protocols we build with this.
My programming "day job" (I'm one of 4 developers on the project) is Playbook:
http://runplaybook.com
Never had I felt more like I was tricking software into doing what I want to do than when I was trying to use Peach. I mean Michael's a nice guy, but you email the peachfuzz list or him personally on issues you're having and he convinces you that it's you not using the tool correctly and that you really don't want the feature you're asking. Modifying code was hellish because it's just thousands of lines of kludge, written as far from Python's usual styles as possible.
Good stuff on the Burp clone. Any plans to publish it eventually?
--
As for me, the last project I was working on is a complex structure analyzer plug-in for HexFiend along with basic plug-in functionality to support it.
Good stuff on the Burp clone. Any plans to publish it eventually?
--
As for me, the last project I was working on is a complex structure analyzer plug-in for HexFiend along with basic plug-in functionality to support it.
I'm planning on wiring Ruckus into Hexfiend, so you can highlight hex characters Ethereal-style and using CSS selectors from packet formats.
I don't know what I'm going to do with the Burp clone, but if you ask me for it, I'll hand it over. =)
I don't know what I'm going to do with the Burp clone, but if you ask me for it, I'll hand it over. =)
I'm working on a programming language that has builtin support for reloading code at runtime. It'll also support various ways of modifying code at runtime, like with visual interfaces. The primary usage is for making interactive graphical apps, like games.
Intro is here: http://andyfischer.github.com/circa/intro.html
code is here: http://github.com/andyfischer/circa/tree/master
Intro is here: http://andyfischer.github.com/circa/intro.html
code is here: http://github.com/andyfischer/circa/tree/master
Don't most dynamic languages already allow this? I know in python you can reload code.
Wouldn't it be better to modify an existing, popular language to support this feature?
It would be better, but I want to do some cool things that I'm not sure if I can support in an existing language.
One thing is automatically preserving state across a reload. This is really hard if I allow the programmer to store state any way that they want- I can't tell which things I should preserve. So the language forces the programmer to declare their stateful things in a special way.
Another thing is introspecting on code. I want to be able to click an image and then see all of the calculations that went in to that image's position (maybe so that I can change them). But this is pretty hard in most languages. Aliasing makes it hard. So this language discourages operations which are hard to introspect.
So I could theoretically support Ruby or something, but it would turn out to be "not really Ruby", because there would be a lot of stuff you wouldn't be allowed to do.
One thing is automatically preserving state across a reload. This is really hard if I allow the programmer to store state any way that they want- I can't tell which things I should preserve. So the language forces the programmer to declare their stateful things in a special way.
Another thing is introspecting on code. I want to be able to click an image and then see all of the calculations that went in to that image's position (maybe so that I can change them). But this is pretty hard in most languages. Aliasing makes it hard. So this language discourages operations which are hard to introspect.
So I could theoretically support Ruby or something, but it would turn out to be "not really Ruby", because there would be a lot of stuff you wouldn't be allowed to do.
Unity is a game engine that uses Mono as its scripting languages. You can recompile on the fly (you frequently play the game in-IDE during development). All public variables are exposed to its inspector and survive this recompilation.
It's a great engine in general: http://unity3d.com
It's a great engine in general: http://unity3d.com
Mono is not a scripting language. The Unity Scripting language is similar to ECMAscript, but is not standard and does not have comprehensive documentation. It is true that you can interact with the mono / .net 2.0 system libraries.
... and you have about a 1/3 chance of it crashing if you are using the recompile on the fly as you edit.. command p, alt+tab, save, alt+tab, command p...
... and you have about a 1/3 chance of it crashing if you are using the recompile on the fly as you edit.. command p, alt+tab, save, alt+tab, command p...
sounds like you should look at haskell for a few design ideas about reifying state
Did you check out Smalltalk?
Looks like a cool little project. You should, however take a look at how most Lisps do something similar. You appear to be trying to take it farther than most Lisps do, but do have a look so as to not reinvent the wheel.
I've prototyped a similar concept in Perl (still a bit rough). I think this is a powerful concept.
I'm actually looking for a new name for my project, so maybe someone here will have a good idea?
It's a framework for writing, running and analyzing simulations. It could take any kind of simulation: Physics, game theory, epidemic spread, electronics, whatever.
It's in Python.
This is where it currently lives:
http://github.com/cool-RR/physicsthing/tree/master
(Keep in mind it's still a very young project)
The readme there was written when I had mostly physics simulations in mind. Now I've generalized the project to take any kind of simulation. I'll update the readme soon to reflect that, but I would really like to find a good name. Maybe something with a suffix or prefix of "Sim", but maybe not.
Anyone has any ideas?
It's a framework for writing, running and analyzing simulations. It could take any kind of simulation: Physics, game theory, epidemic spread, electronics, whatever.
It's in Python.
This is where it currently lives:
http://github.com/cool-RR/physicsthing/tree/master
(Keep in mind it's still a very young project)
The readme there was written when I had mostly physics simulations in mind. Now I've generalized the project to take any kind of simulation. I'll update the readme soon to reflect that, but I would really like to find a good name. Maybe something with a suffix or prefix of "Sim", but maybe not.
Anyone has any ideas?
Fake Snake (a different way of saying "python simulator" :)
Available name suggestions per bulk name search:
(http://www.dynadot.com/domain/bulk.html)
analyzix.com datazics.com physulate.com runulator.com simerator.com simalyzer.com simzix.com
analyzix.com datazics.com physulate.com runulator.com simerator.com simalyzer.com simzix.com
Simitar!
A cutting new technology.
Prism would be cool, although Mozilla already has something with that name.
Physicsthing 6.2
simshell.com
pysicsss (I dunno. Something trying to blend python, physics, simulation, and the sssss sound a snake makes).
Simon?
A .NET interpreter for embedded/constrained systems where MS.NET or Mono aren't suitable: http://www.dotnetanywhere.org/
It now implements most of the core .NET 2.0 spec, a usable subset of the base class library, and an implementation of a Graphics device suitable for embedded devices.
Not the fastest of .NET runtimes, but its disk/memory footprint is surprisingly small, and it (mostly) works!
It now implements most of the core .NET 2.0 spec, a usable subset of the base class library, and an implementation of a Graphics device suitable for embedded devices.
Not the fastest of .NET runtimes, but its disk/memory footprint is surprisingly small, and it (mostly) works!
I will have to give this a shot :) I've been looking for good high level ways to program embedded boards (like the Beagleboard)... definitely going to give this a try.
Right now I'm working on a natural language task management system. Basically you enter something like "12 page paper in project hist201, due apr 23 est. 8h high priority" and it understands what the hell you're trying to say: project, deadline, estimated time, priority. It also checks similar tasks (using naive Bayesian classifiers) and gets you a probability distribution of velocities (estimated / actual / relevance for a word), and supposedly, but I am still working on it, will show you a probability of finishing it on time given past history of similar workload.
The goal is to be able to either Tweet your new tasks, add them in bulk (several lines), or even do something like "http://taskulus.com/12 page paper in project hist201 due apr 23 est 8h high priority" and then receive a lot of analysis.
The goal is to be able to either Tweet your new tasks, add them in bulk (several lines), or even do something like "http://taskulus.com/12 page paper in project hist201 due apr 23 est 8h high priority" and then receive a lot of analysis.
Great idea, I have a ton of one-off side projects I'd love to share (and get some awesome hacker critique as well)
I've written a simple ruby worker management "framework" known as theman, which is a thin wrapper atop rufus-scheduler and god: http://github.com/jcapote/theman
Also, there's fieldy, a simple fixed-width field reader/writer library for ruby exposed as DSL: http://github.com/jcapote/fieldy
Lastly is AtomLog, a way to parse and expose ruby's Logger output to an atom feed: http://github.com/jcapote/atomlog
I've written a simple ruby worker management "framework" known as theman, which is a thin wrapper atop rufus-scheduler and god: http://github.com/jcapote/theman
Also, there's fieldy, a simple fixed-width field reader/writer library for ruby exposed as DSL: http://github.com/jcapote/fieldy
Lastly is AtomLog, a way to parse and expose ruby's Logger output to an atom feed: http://github.com/jcapote/atomlog
I'm working on an interactive fiction framework with a web framework flavour. It's my first Ruby project and depends on Shoes for cross-platform UI. Defining rooms, items, and non-player characters is done in YAML.
I'm about midway through the project and, as a test and demo for the platform, am converting the 1978 game "Pirate Adventure" to the framework. Once the framework is done my partner and I plan to use it to create an adventure game based on the fashion world. This will inevitably lead to a movie deal and untold riches.
All in all, it has been fun, educational, and a nice break from my day job wrangling Drupal.
The code (so far) lives here:
http://github.com/mcantelon/fashion-quest/tree/master
I'm about midway through the project and, as a test and demo for the platform, am converting the 1978 game "Pirate Adventure" to the framework. Once the framework is done my partner and I plan to use it to create an adventure game based on the fashion world. This will inevitably lead to a movie deal and untold riches.
All in all, it has been fun, educational, and a nice break from my day job wrangling Drupal.
The code (so far) lives here:
http://github.com/mcantelon/fashion-quest/tree/master
I'm working on an experimental semantic web browser for Android called Mosembro. The point of the project is to show that semantic meta data can be used to make some tasks much less painful to perform while using a mobile web browser.
Project page: http://lexandera.com/mosembro/ Source code: http://code.google.com/p/mosembro/source/browse/
Project page: http://lexandera.com/mosembro/ Source code: http://code.google.com/p/mosembro/source/browse/
Rudy! It's a development and deployment tool for Amazon Web Services that's configured via a Ruby DSL. It helps organize EC2 infrastructures into environments and roles (plus some other cool stuff).
http://github.com/solutious/rudy
http://github.com/solutious/rudy
environment :stage do
ami "ami-5394733a"
size 'm1.small'
role :app do
positions 2
addresses '11.22.33.44', '55.66.77.88'
disks do # EBS volumes
path "/rudy/disk1" do
size 2
device "/dev/sdr"
end
end
end
role :analyzer do
ami "ami-6aff24aa"
end
endI'm working on implementing a hyperspatial text classifier in Haskell. It's conceptually similar to the hyperspace classifier in CRM114 (essentially a weighted nearest-neighbor search), but shouldn't crash as much or corrupt its data files. I've thought of some interesting problems to point a fast and effective classifier at that aren't spam detection.
I'm also working on a library/framework in Clojure for apps that process a folder full of files in some way. The idea grew out of a Clojure program I wrote to make a folder full of images greyscale (http://github.com/zakwilson/imagesieve/tree/master).
I'm also working on a library/framework in Clojure for apps that process a folder full of files in some way. The idea grew out of a Clojure program I wrote to make a folder full of images greyscale (http://github.com/zakwilson/imagesieve/tree/master).
Zak, by classifier I hope you mean "categorizer". i.e. given a text and a list of categories, return which categories the text belongs to, along with a confidence number.
If so, I say chase that thought a bit. You might save me from actually messing with NLP.
If so, I say chase that thought a bit. You might save me from actually messing with NLP.
Yes, I do. The usage is essentially identical to the Bayesian probability classifiers commonly used for spam detection. I compared several of the classifiers available in CRM114 and found hyperspace to be the most accurate as well as being much faster when checking a large number of categories.
Amazing. This is pretty cool :-)
The thing is 100% statistical right? It doesn't know anything about the grammar of a natural language (say, English.) right?
The thing is 100% statistical right? It doesn't know anything about the grammar of a natural language (say, English.) right?
It's entirely non-statistical. It works by measuring the Hamming distance between samples using features consisting of single tokens, sequences of tokens and sequences of tokens with gaps. For example:
The
The quick
The quick brown
The quick ... jumped
would all be features of the input "The quick brown fox jumped over the lazy dog".
It doesn't know anything about grammar, though as a performance optimization it might be useful to limit the length of features to detectable sentence boundaries. I intend to make that behavior optional. More information here: http://crm114.sourceforge.net/docs/KNN_Hyperspace_Filters/KN...
The
The quick
The quick brown
The quick ... jumped
would all be features of the input "The quick brown fox jumped over the lazy dog".
It doesn't know anything about grammar, though as a performance optimization it might be useful to limit the length of features to detectable sentence boundaries. I intend to make that behavior optional. More information here: http://crm114.sourceforge.net/docs/KNN_Hyperspace_Filters/KN...
I'm working on improving eventlet: http://devel.ag-projects.com/~denis/eventlet/
Eventlet is a networking library that uses greenlet, Python implementation of coroutines [http://codespeak.net/py/0.9.2/greenlet.html] to handle asynchronous events in a synchronous way. Greenlet can be thought as an analogue to Python's enhanced generator, however, without "yield" keyword and the limitations it brings.
For the applications that are network-bounded it effectively brings Erlang-like scalability in Python: you can spawn as many greenlets as you like (they're cheap) (e.g. one or several per incoming connection), control their execution, etc.
If that sounds unclear, just look at the examples:
http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t... http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t... http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t...
Compared to the original eventlet (home - http://wiki.secondlife.com/wiki/Eventlet) our branch has - a number of bugs fixed and "onions" removed - twisted integration - you can use any twisted reactor or twisted protocol or any other feature you like (this part is heavily influenced by corotwine) - proc module for advanced coroutine control (spawn, link, waitall, etc)
Eventlet is a networking library that uses greenlet, Python implementation of coroutines [http://codespeak.net/py/0.9.2/greenlet.html] to handle asynchronous events in a synchronous way. Greenlet can be thought as an analogue to Python's enhanced generator, however, without "yield" keyword and the limitations it brings.
For the applications that are network-bounded it effectively brings Erlang-like scalability in Python: you can spawn as many greenlets as you like (they're cheap) (e.g. one or several per incoming connection), control their execution, etc.
If that sounds unclear, just look at the examples:
http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t... http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t... http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi/file/t...
Compared to the original eventlet (home - http://wiki.secondlife.com/wiki/Eventlet) our branch has - a number of bugs fixed and "onions" removed - twisted integration - you can use any twisted reactor or twisted protocol or any other feature you like (this part is heavily influenced by corotwine) - proc module for advanced coroutine control (spawn, link, waitall, etc)
Another programming language: http://www-student.cs.york.ac.uk/~anc505/code/hasp/hasp.html
I'm not doing any fancy compiler stuff - the target language is Haskell so that's all done for me.
*Edit: And I should probably say something about it :) Its an s-expression based language so it looks like a Lisp and you can use macros on it, it also reads by indentation if you want it to look like Python, and then the rest of it just comes from Haskell :)
I'm not doing any fancy compiler stuff - the target language is Haskell so that's all done for me.
*Edit: And I should probably say something about it :) Its an s-expression based language so it looks like a Lisp and you can use macros on it, it also reads by indentation if you want it to look like Python, and then the rest of it just comes from Haskell :)
I'm working on a short product(license) key generation and validation framework for Mac OS X based on elliptic curve digital signatures. The goal is to write a replacement for AquanticPrime (which uses long RSA signatures). It's based on OpenSSL.
Code: http://github.com/dchest/ellipticlicense/tree/master currently in pre-alpha stage.
Would love to get code/security review!
Also I recently wrote a very simple Bayesian classificator for spam in Python: http://github.com/dchest/pybayesantispam/tree/master
Code: http://github.com/dchest/ellipticlicense/tree/master currently in pre-alpha stage.
Would love to get code/security review!
Also I recently wrote a very simple Bayesian classificator for spam in Python: http://github.com/dchest/pybayesantispam/tree/master
I am working on a Ruby wrapper for the GitHub API. It's called octopi (contraction of octocat and api):
http://github.com/fcoury/octopi
Documentation will be updated here as well: http://rdoc.info/projects/fcoury/octopi
http://github.com/fcoury/octopi
Documentation will be updated here as well: http://rdoc.info/projects/fcoury/octopi
Working on a messaging client that integrates Twitter and GTalk... And I mean really integrates. The end user doesn't know the difference between IM and twitter but the context in which the user sends a message decides the service to use. It's C# and WPF.
http://github.com/jcbozonier/alloy/tree/master
http://github.com/jcbozonier/alloy/tree/master
That would be a really useful thing. Keep us posted when that goes live.
Back-testing a support vector machine -based text classification system that models daily stock news, looking for mispriced volatility. A big stealth project, with just the Ruby option pricer here:
http://tinyurl.com/chmk7p
Need much more realism than Black-Scholes for the model training!
http://tinyurl.com/chmk7p
Need much more realism than Black-Scholes for the model training!
I'm developing a CSS generator called Stylish. It's pretty rudimentary right now, but progress is relatively quick (for me, anyway).
Code: http://github.com/ionfish/stylish
Docs: http://ionfish.github.com/stylish
Code: http://github.com/ionfish/stylish
Docs: http://ionfish.github.com/stylish
You might want to consider naming it something else since there is already a firefox addon called stylish: https://addons.mozilla.org/en-US/firefox/addon/2108
Yes they are different products but I still think there might be some confusion...
Yes they are different products but I still think there might be some confusion...
There are a limited number of good names in the world! :)
To nitpick slightly, I wouldn't call my library a product. If you have any suggestions for alternative names I'd be happy to hear them.
To nitpick slightly, I wouldn't call my library a product. If you have any suggestions for alternative names I'd be happy to hear them.
I guess that the firefox addon isn't really a product either; it was a late night.
Here are a few names off the top of my head:
Here are a few names off the top of my head:
* Stylee
* EaseSS (Easy Style Sheets? :))
* Flair ease
* Stylify (Style-ify, Styleify)
* Chic Sheets
Good luck and happy coding!I'm working on an interactive US map using canvas. See http://gregstoll.dyndns.org/marriagemap/
I'm working on a program that renders Julia/Mandelbrot set fractals using the GPU. I know there are a few other such programs out there, but I'm trying to make gpufrac really configurable. It has a bunch of features already (normal mapping and orbit traps are my favorites).
http://github.com/emezeske/gpufrac/tree/master
http://github.com/emezeske/gpufrac/tree/master
I've been working on a couple of javascript projects.
The big one is best described as iTunes for Flash games - a rich internet app for creating and managing a library of Flash games - http://www.webalon.com/gamemanager/
The second thing that I have been working on is a resizeable javascript image carousel featuring a variety of transitions - you can see it in action at: http://www.webalon.com
I hope to open source the latter when complete
The big one is best described as iTunes for Flash games - a rich internet app for creating and managing a library of Flash games - http://www.webalon.com/gamemanager/
The second thing that I have been working on is a resizeable javascript image carousel featuring a variety of transitions - you can see it in action at: http://www.webalon.com
I hope to open source the latter when complete
You've created some really awesome stuff!
Thanks mate. Glad you liked it. You working on anything interesting?
A music recommendation engine: http://theperceptron.com (code: will be open sourced soon).
A site for writing your autobiography in songs: http://playmary.com (code: http://github.com/maryrosecook/playmary/)
A site for writing your autobiography in songs: http://playmary.com (code: http://github.com/maryrosecook/playmary/)
Your domain name - are you using neural networks for your recommendations?
Ah, no. I bought the domain name because, for a while, I was going to call my new band The Perceptron. I ended up calling it something else, but figured I could reuse the domain for the site.
A tree-based forum visualization using js and canvas. It is intended to make it easier to follow longer discussions.
Link (using proggit as test data): http://www.webnodes.org/reddit
Source: http://github.com/csytan/webnodes/tree/master
Link (using proggit as test data): http://www.webnodes.org/reddit
Source: http://github.com/csytan/webnodes/tree/master
I like this a lot.
I'm writing my own compiler and designing my own programming language, just like everybody else!
Practical, no. Fun, YES.
Practical, no. Fun, YES.
Practical, yes.
I am going back to 5 year old notes on instruction scheduling and using the same code and algorithms to deliver targeted advertisement on the net.
I am going back to 5 year old notes on instruction scheduling and using the same code and algorithms to deliver targeted advertisement on the net.
As a former compiler junkie that sounds interesting, can you elaborate?
[Edit: Sorry man, this is my bread and butter. Excitement got into my head and I barfed out a few things I should have left out.
I hope I don't come across as rude and evasive if I said "sorry, can't give any more info; just think hard about it" :-) ]
I hope I don't come across as rude and evasive if I said "sorry, can't give any more info; just think hard about it" :-) ]
Mentioned in some comment thread, but I just fixed [link redacted], my YouTube
search/download/rip tool using youtube-dl and ffmpeg, to correctly rip
the audio stream from the downloaded video without transcoding to 64
kbps MP3 (oops). It's called [name redacted] because it does a "feeling
lucky" YT search for the terms you type in. Code is at
[link redacted] .
No code for this project, but UmBus [link redacted] is my pet project to let UMich students get the GPS-estimated arrival times for the uni buses via text messaging. If I weren't so late to the party, I would try to compete with www.nextbus.com .
No code for this project, but UmBus [link redacted] is my pet project to let UMich students get the GPS-estimated arrival times for the uni buses via text messaging. If I weren't so late to the party, I would try to compete with www.nextbus.com .
I've been working on K7, an extension library/framework for linking the V8 javascript engine with existing C/C++ libraries. Kind of slow going since work has gotten busier, but hoping to get back to it soon.
http://github.com/isaacs/k7
http://github.com/isaacs/k7
For the last 6 months or so I've been working on a 'wikipedia for images' type site. I'm trying to fix all the UI deficiencies that bug me about other image sites. As a personal project with no deadline I've had a lot of fun premature-optimising the crap out of it! For example the thumbnails are in strips of 50 for a huge reduction in http requests. Here's the test set I've been using-
http://imagecorpus.com/marylin-monroe
My plan is to initially scrape a lot of hard-to-browse public domain image sets, for example the Library of Congress daguerreotype collection http://lcweb2.loc.gov/ammem/daghtml/daghome.html. And then I'll solicit contributions from the public to bulk it out.
I was going to wait till I was ready to launch before posting here, but that could be a while... Any criticism/suggestions or offers to help are very welcome!
http://imagecorpus.com/marylin-monroe
My plan is to initially scrape a lot of hard-to-browse public domain image sets, for example the Library of Congress daguerreotype collection http://lcweb2.loc.gov/ammem/daghtml/daghome.html. And then I'll solicit contributions from the public to bulk it out.
I was going to wait till I was ready to launch before posting here, but that could be a while... Any criticism/suggestions or offers to help are very welcome!
It's a Good Day to Start Hosting for Tips
http://ourdoings.com/2009-04-14
I'm using tipjoy to create an innovative revenue model.
http://ourdoings.com/2009-04-14
I'm using tipjoy to create an innovative revenue model.
[deleted]
I'm developing a wysywig web development tool - http://www.leapdesigner.com Version 1 is up, Version 2 will enable you to create interactive web sites.
Bingo! A well written tool is a huge necessity.
I'm working on integrating the Windows 7 bootloader and some of its new functionalities with Linux and OS X as a part of EasyBCD 2.0
http://neosmart.net/dl.php?id=1
http://neosmart.net/dl.php?id=1
My project is InfoML (http://infoml.org/), a proposed standard for storing "chunks" of (human-readable) text and annotating it with various useful metadata, including tags and bibliographic information. I hope there will eventually be a community of developers who will find InfoML useful and will build a variety of software tools for manipulating data stored in this format.
I think a microformat schema or schemas would be more beneficial for this kind of data.
On the computer animation front, I am currently finishing up work with my group on our animation, Rumble in the Roses. We should have our final, rendered short done in a week or so.
http://cloud.cs.berkeley.edu/~cnm190/roses/
http://cloud.cs.berkeley.edu/~cnm190/roses/
I am trying to keep online advertising fun by doing it in Lisp.
I "write" one web server a day, mostly customizing hunchentoot in some way. I have it malleable and obedient; nothing like having total mastery over your tools. I am at the point where I can look at a Lisp web app and I can see the cost of each form; thanks to weeks of disassembly, tweaking and benchmarking.
I "write" one web server a day, mostly customizing hunchentoot in some way. I have it malleable and obedient; nothing like having total mastery over your tools. I am at the point where I can look at a Lisp web app and I can see the cost of each form; thanks to weeks of disassembly, tweaking and benchmarking.
e.g. Here is the code for my Extension Methods rewriter:
http://github.com/raganwald/rewrite_rails/blob/master/lib/re...
Context:
http://github.com/raganwald/homoiconic/blob/master/2009-04-2...
http://github.com/raganwald/rewrite_rails/blob/master/lib/re...
Context:
http://github.com/raganwald/homoiconic/blob/master/2009-04-2...
I'm working on the API for my PDF/Web Form site http://www.doculicious.com. The initial release will allow reading of saved entries and posting of new entries. This is cool, 'cos it will let people use their own HTML forms to submit data and create PDF's from the templates they've created.
Meta comment: everyone is using github!
Git won me over when I found out that I could make all kinds of commits willy-nilly. I make a lot of small commits to my local repo throughout the day. At the end of the day I then take the time to go through them, merging related commits and removing stupid commits before I send my changes upstream. I've found that it's much easier to avoid breaking the build this way.
Another way to not break the build is to add a local git hook that compiles your project before allowing a commit. Assuming you compiled and tested your change already (you did right... :) the compile hook will take no time at all. Using this I have only commited broken builds once or twice when it built on my macbook, but not on Linux (case insensitive file system) Wrote up more details on hooks along with some examples here:
http://benjamin-meyer.blogspot.com/2008/10/git-hooks.html
http://benjamin-meyer.blogspot.com/2008/10/git-hooks.html
I'm not.
Not right now, but here's last night's foray into TKinter (plus explanation):
http://news.ycombinator.com/item?id=585714 (edit: code in the pastebin link, but not much use if you don't know why you can't type into the textbox).
http://news.ycombinator.com/item?id=585714 (edit: code in the pastebin link, but not much use if you don't know why you can't type into the textbox).
I'm working on a AWS stack based web crawler. It uses S3 and SimpleDB to coordinate instances. It's implemented in Python/Twisted, and extensible via plugins.
It has a low cost of entry in terms of code and costs and scales horizontally, so it's useful for all sorts of aggregation.
It has a low cost of entry in terms of code and costs and scales horizontally, so it's useful for all sorts of aggregation.
I'm currently working on a mp3tag-like tag editor for Linux called puddletag which you can find at puddletag.sourceforge.net. Don't download it yet though. I'm releasing a update tomorrow with a large number of bugfixes and improvements.
Last night, I was browsing the Digital Mars D compiler source to see how they detect and convert files in all the various UTF encodings to UTF-8. This is for a C++ pre-processor that I'm writing in D.
I'm also trying to get a basic OGRE 3D app up and running on my MacBookPro. I want to use D + OGRE to build my personal editor / IDE. It has to be PC/Mac/Linux.
I'm slowly finishing an update to my iPhone app, iLightning http://www.shinyfish.com/ilightning. Right now I'm working on some animated transitions between the main view and the prefs screen.
I'm also trying to get a basic OGRE 3D app up and running on my MacBookPro. I want to use D + OGRE to build my personal editor / IDE. It has to be PC/Mac/Linux.
I'm slowly finishing an update to my iPhone app, iLightning http://www.shinyfish.com/ilightning. Right now I'm working on some animated transitions between the main view and the prefs screen.
I'm building tools for myself and other web developers at www.binaryage.com:
FirePython - realtime logging from Python into Firebug
Visor - Quake-like terminal.app - took Visor by Blacktree and pushed it further
FireRainbow - javascript syntax highlighting for Firebug
xRefresh - browser refresh automation
My most ambitious project is www.hashpage.com, which will be web-based tool for creating mashups. Imagine WYSIWYG grid based editor for visual prototyping + Bespin for coding on top of GitHub, sites are published in the cloud (App Engine).A very basic embedded operating system for an ARM7-based microcontroller. I'm still in the early stages.
I have no illusions that I'm going to write anything better than the other RTOSs out there; it's just for the kicks of working on the bare metal. Sort of exhilarating to apply voltage to a microcontroller, and know that only _your_ instructions are running.
A number of EE/CS programs have a course where you do this over a semester - I'm afraid I'm going to take a while longer on my own!
I have no illusions that I'm going to write anything better than the other RTOSs out there; it's just for the kicks of working on the bare metal. Sort of exhilarating to apply voltage to a microcontroller, and know that only _your_ instructions are running.
A number of EE/CS programs have a course where you do this over a semester - I'm afraid I'm going to take a while longer on my own!
I'm working on a blog (codeinput.com) and also a site to improve hackers discussions, it'll be about discussing only and not link sharing, I hope you all join it :D
In my spare time:
Structural engineering software. Python-C++ mix. Wish I could say more, but can't. :)
Structural engineering software. Python-C++ mix. Wish I could say more, but can't. :)
Unfortunately, no code to show off but... I'm working on a site for my wife where she and her friends can post photos of themselves trying on the same outfit. I've been wanting to learn Ruby on Rails so I've been playing around with it the past couple weeks. Domain is bought, code sort of works but needs a lot of love (and javascript, ruby magic, a design) before it'll be ready to launch. Hopefully I'll get motivated and get something out there shortly.
To be honest, I've been more interested in Rails and Capistrano/Deprec than the project itself. Bought a 256mb slice at SliceHost and have been reloading the thing every week playing with configurations.
To be honest, I've been more interested in Rails and Capistrano/Deprec than the project itself. Bought a 256mb slice at SliceHost and have been reloading the thing every week playing with configurations.
Ventrilo tracker: http://www.ventstatus.com
Another Ventrilo tracker, but this one allows people to search for usernames, games played, etc. Also can generate a timeline of past users online.
Examples
Status: http://ventstatus.com/servers/status/bladeradio.clanvent.com...
Timeline: http://ventstatus.com/servers/timeline/bladeradio.clanvent.c...
What I've learned for this project so far
- CodeIgniter
- Database optimization
- PHP CGI
- Character encoding
Another Ventrilo tracker, but this one allows people to search for usernames, games played, etc. Also can generate a timeline of past users online.
Examples
Status: http://ventstatus.com/servers/status/bladeradio.clanvent.com...
Timeline: http://ventstatus.com/servers/timeline/bladeradio.clanvent.c...
What I've learned for this project so far
- CodeIgniter
- Database optimization
- PHP CGI
- Character encoding
At work I've just been writing a testing framework in Matlab (mostly for fun, but it actualy seems to work!). And I have next week off, so I thought I'd have a go at building something in rails.
I'm been getting in to erlang, xmpp, web.py and twisted.
[deleted]
Webapp, will prototype with Drupal, so no real hacking at first. Counts? Then Railsification. Me: Industrial/UX designer (and food lover) who loves DIY, but needs products for laymen, not just dev.s. Story: Our local (Maine) farmers market needs a site. Hell, why not build a build-your-own farmers market site platform/app? So that's the deal. Comments, recipes welcome.
Handcoded XPath-like scriptlet interpreter for JDI and it's UI as eclipse plugin. Now giving finishing touches.
Code: http://github.com/niravthaker/evars/tree/master Short Intro: http://evars.googlecode.com/files/evars.swf
Code: http://github.com/niravthaker/evars/tree/master Short Intro: http://evars.googlecode.com/files/evars.swf
Right now I envy all of you :D
I wish I could list here my own project too but lately I just take input all day without producing anything ...
I wish I could list here my own project too but lately I just take input all day without producing anything ...
A new type of database where the schema is open and flexibly restructures depending on the data you put in. The change allows anyone, from 8 to 80, to structure their data without knowing that's what they're doing.
No code to show, but I'm working on a one-off remote controller for pole cameras for an indie filmmaker. It should enable "aerial" shots like the pros, but at a small fraction of the cost. Version 1 is in testing.
Something like the Creative Commons License Picker (http://creativecommons.org/license/), but for the open source licenses offered by Google Code.
[deleted]