Saturday, December 25, 2010

Webster: switch modes instead of making it hybrid

I just had a brainwave: I have been mulling about ways to bypass the creation of a hybrid editor, when it seems like there's an easier way: allow fluid change to text mode of the whole document.

When you dont want to treat the code as code, just switch to text, and use text semantics. Simple :)

Of course, change "whole document" to "part of document" and you get a hybrid editor for free.

Which of course, goes back to the "islands of one language floating in a sea of another" idea that I've been mulling about. What if the "document" was actually a disjoint data structure held together by multiple instances of small editors? Each such editor would handle its own language fragment.

More thought required, obviously :)

Friday, December 24, 2010

Idea: Photo to Graphviz diagram: an android app

Take a picture of a whiteboard diagram with your android phone.
This app converts it into a graphviz diagram.

A delicious alternative

Delicious is the one intenet resource I use, and that is now on the verge of being sold or shutdown. Here's my idea of an alternative. As always, I like them to be self-sustained, and preferable controllable by my self.

All we need is a web server, and hits to a particular url in which the link to be saved is contained. The url doesnt even need to be active; it just needs to log to the web server's logs. An offline job runs as frequently as needed, trawls the logs, extracts the links and stores it.

Entry and viewing of the link database is mediated through a browser plugin as now, because that's the most common usage anyway.

Simple, and as long as you have a web server (which you should anyway), you're good. The only custom component is the offline job.

Idea: Photo to Graphviz dot file for android

Finally posting this idea from last year. The idea is that you'd take a picture of your latest-n-greatest app architecture that you just scrawled on the whiteboard (as you usually do nowadays at the fag end of that big architecture meeting), and this app would automagically convert it into a graphviz dot file.

Simple, huh :)

Thursday, December 23, 2010

Things that I'm really interested in

This is one of those big picture posts. Here're the "hard problems" I'd really like to solve:

  • Code Comprehension: How to understand a new codebase easily. If i wrote an oreilly book it would be called "Understanding Code"
  • Code creation and maintenance: A lot of this is manual, repetitive, lossy and tedious. Programmers should use the tools (that they make for users) for their own use. And: less snapshot-based development, more fluid one.
  • Applying AI techniques to code itself.

Wednesday, December 15, 2010

Slots: It's like freemind converted to twitter :)

Pardon the cheeky title.


The idea is to have an app that will allow you to take a piece of text, and define "slots" in it. Essentially something like the "Its like x for y" sentence above. It then stores the template sentence, names for each slot, and the values. Once these are stored, Slots then allows for them to be queried using the template sentences. My previous idea of the app to remember where things were could then be just an application of slots.

Further development of the idea:
  • It need not have any specific interface; it should embed itself into other apps or work on clipboard text.Input is therefore any text. This means that it could be an android app, or browser extension and still work the same.
  • Storage can be local our cloud.
  • Once a match is made, action can be taken in any/many ways to actually do something

Sunday, December 05, 2010

OT + Grammar = New way of defining languages?

Operational transformation is a way of defining documents via the series of steps required to create the document - among many other things.
Language grammars are usually defined by rules on how to recognize a document once its created.

What if the latter was done in the former's style?

Need to think this through but if the rule set is not prohibitively large this would be a nice way to achieve incremental parsing, not to mention the ability to have "islands of known information" mixed with WIP unknown fragments, methinks