Ideas I would like to build / see built
arandomurl.com
arandomurl.com
I made a bunch of small JS games/puzzles using Processing.js (which uses Canvas/VML). The exact rules are slightly cryptic by design. I definitely loved making them and intend to make a bunch more this year:
http://chir.ag/projects/prc/?nored
http://chir.ag/projects/prc/?gold
http://chir.ag/projects/prc/?piggy
http://chir.ag/projects/prc/?vanish
I hope you enjoy them.
Vague & dime a dozen maybe, but don't discount them all without trying or thinking about some. For example: Having a "timed-task" function could be applied to solve a lot of time wasting in many areas.
Also, you might be interested in a free game by the name of Skyrates (http://www.skyrates.net). It's not really an MMO, but it was made for people with not much free-time in mind so it doesn't favor people sinking a lot of time into it.
It used to generate terrible html, and in the case when you wrote your own html it munged it badly, its css and javascript editing were mediocre, I remember it not even handling css definitions properly.
even a live preview window in emacs would cover quite a lot of what I want, remember project to embed firefox into emacs a while ago, probably time to go search it out.
Browser rendering the same HTML file that is loaded in your editor.
Edit.
Save.
Hit refresh in browser.
Optionally: add a simple, development-class web server (like web.py).
Bingo, done.
I guess I feel like the "editor" and "render" parts of the problem are already solved. I'm not sure that we gain more than we lose by trying to smash them together into one gob. For debugging/tweaking an existing web app, sure (then use something like Firebug), but for general development from scratch there are a lot of benefits to using a real browser and real editor.
Attention to detail, buddy.
C already has classes. They're called structs. And methods are called function pointers.
My post was meant to be funny yet true. I read the OA and thought all of the ideas he listed already exist, and was surprised it made the front page on Hacker News. Then I thought to myself, "Oh, it must be because it's a joke, the OA was trying to be funny." Perhaps I was mistaken.
C has perfectly good inheritance:
struct child {
struct parent p;
// new variables go here
}
struct child foo;
struct parent * bar = &foo; // perfectly valid CIs my C that rusty?
For example, say that the "struct parent" type (which in your example has no members) had a member named z. In your example, I expect to be allowed to do something like this:
(*bar).p.z
which is composition. But not: (*bar).z
which would be member inheritance. Because bar/foo/child all lack a z member. Only "parent" has a z member. Am I wrong? struct child {
struct parent {
int z;
} p;
} foo;
you can access foo.p.z but not foo.z -- but you can access (struct parent *)(&foo)->z, so you can pass foo to anything which expects a struct parent. Child Struct:
+---------------+-----------------+
| parent struct | child fields |
+---------------+-----------------+
^
\--- pointers to the struct point at the start
You can cast this child struct to a parent struct, which is like saying 'interpret memory starting here as a 'parent' struct'.This works: The memory from location to location+sizeof(parent) IS a parent struct. The child fields following the parent struct are simply ignored.
Well... almost. C structs can have internal padding -- but the C standard doesn't allow padding before the first element, so that first element is guaranteed to begin at the beginning of the struct.
If you really want to know what OOP is / was / can be, read Cardelli and Abadi's A Theory of Objects. The first half is available online, and covers the parts you'd care about: http://books.google.com/books?id=4xT3LgCPP5UC