Crazy ideas

I hope for a discussion, and maybe for the like-minded ones. Drilldown on request.

Here are cool things that would be cool to implement, if only for a concept. Plus I know how.

  • P2P instant messenger (possibly, even a blogging system). For added lulz – browser-based, secure and anonymous. Even a free hosting or a HTML file on your computer will suffice, but Chrome/Firefox extensions will be even better (yes, I’m crying the blues and envy Diaspora developers, because just too lazy to get up and launch a fundraising PR campaign for more developers and designers)
  • Development environment a la Pharo (self-contained environment), encrypted and fully polymorphic. And the software created with it should have those capabilities, too. Moreover, if desired, it should be able to turn back into editable source code (see below about the IDE)
  • Lifelogger (hardware and software “black box”, that would collect the objective statistics about what is happening with its owner. It’s a treasure for medicine and forensics, IMO. Good as an exo-memory, too.)
  • Cross-translator for Python/C#/JS/AS/(your-language-goes-here), working in any direction. Perhaps, with enough craziness it should be able to support even functional languages, it would be like a supercompiler (a term) of sorts, tuned for minimizing code size, not speed (by abstracting out recursions, etc). Because that’s a pity that so much code is already written, but lots of people are involved in cloning existing code to new platforms, f.ex. Given enough metadata about the platform, it could be automated.

And for these, there are still open questions, but could be possible too.

  • Graph-based database with user-friendly UI and PIM built on top of it, transparently synchronized between user’s devices. Including cell phones and BT headsets, f.ex.
  • Software IDE which would grow it from semantic specifications. Disguised as a digital pet making game. And then, on the basis of the accumulated experience…
  • Knowledge-mining system that would deal with (foreign) intelligence and eliminate the need to read shitloads of garbage just to find interesting projects among others.
  • 3d-space-sandbox game (online and browser-based, too), not too realistic, but with explorable planets, destructible and constructible/designible ships and buildings.

And lots more. Need to fix my self-confidence and do.

[Russian version of this post, please discuss there, plenty of commenters understand English too]

Advertisements

after the attempts of making green threads on .NET

In the free software scene “we support feature X” – “hooray, we successfully reproduced one of the X’s usage scenarios!”, and in the commercial (non-free as in non-free beer) software scene “we support feature X” – “we will preserve compatibility of feature X in accordance to the specifications during this and\or next release cycle”.

Seems like i like the second definition more…

How should the graph look like?

If you draw it on paper, it looks natural.

If you make it out from the matches and jar – it looks natural, too.

And the text is somewhat cumbersome. Trees show beautifully (JSON, s-expressions and others). Lists – even simpler. But what about graphs?

Yes, you can use names and references (most of programming languages, YAML, etc).

Is there any other methods?

sane posts about Linux vs Windows

[RU] http://dlinyj.livejournal.com/467800.html from the advanced user standpoint

[RU] http://www.fclab.ru/2009/10/20/770/ bird’s eye industry overview (beware of trolls in the comments btw)

I want to underline that the low prevalence of the software for geeks is normal. When the market share is less than 20% – it’s called niche product. And that is good, because mass product means very different requirements, for example, favor of unification over the ability of fine-tuning. Linux won’t die, it has enough users, but unlikely to become the main OS, which (as a brand) is known to billions of *end* users

We don’t have a leading* browser today. And nobody complains. Moreover, people started to think about standards and compatibility. Just don’t try to push the software outside its applicability area. It’s the main point, i think.

*leading = more than 60% of users