top | item 4045262

Ask HN: What are you Building?

62 points| michael_fine | 14 years ago | reply

I'm curious to see what interesting projects/startups HNers are working on.

139 comments

order
[+] tikhonj|14 years ago|reply
I'm working on what I call "semantic version control". Namely, instead of diffing and merging text, the goal is to parse the program and diff/merge the AST.

EDIT: A better way to state the goal: I want to take advantage of the underlying structure of a computer program to inform the diff/merge. The first step just happens to be diffing ASTs, but I go beyond this.

I already have some neat features--for example, I can detect moves fairly robustly. That is, if you move a function, I can see that as a single action even if you modify the function a little bit when moving it (e.g. rename the parameters). Also, there is already more information for resolving conflicts in a three-way merge.

Unfortuntely, the performance is currently horrible, which makes it completely unusable. Once I fix that (I just need to memoize the diff function properly) and fiddle around with some of the algorithms a bit, I'll have something interesting (I hope :)). After that, I'll probably add a UI.

Also, I should add that I'm not the only person with this idea. A lot of the early design and features are based on YDiff[1], although I used no code from there. The merging and some of the other stuff I'm working on right now is more original though (I think).

[1]: http://yinwang0.wordpress.com/2012/01/03/ydiff/

[+] yinwang0|14 years ago|reply
Hey, glad you are working on this. I have later given a talk on structural version control together with demos of structural editing and ydiff. Here are the slides:

http://yinwang0.wordpress.com/2012/02/12/structural-version-...

I think structural version control can open lots of possibilities that are not accessible by text-base version control systems. I'm not really focused on this area, but I'd be happen to to see more people getting interested in this and work on it.

As for the performance of diffing, I think the bottleneck is with detection of moving. That's something that text-based diff doesn't do at all, so not a big drawback. But with structural editors, those moves can be instantly detected and logically merged by the editors. That's too far into the future though. But I think structural diffing without move detection can be of good use already.

Another direction that's possible to detecting moving more efficiently is to use hashing, the same trick used to eliminate redundant expressions in a compiler.

[+] kamaal|14 years ago|reply
I was just wondering what would be the use cases of this.

I mean to say code version control really is text version control. The whole idea is to track the changes, the cause for the change and who changed with some history. Added with this ability to do other code release related changes like revert, merge etc.

What is the use of semantic version control?

[+] franciscoapinto|14 years ago|reply
That is a great idea, if you can get it to work.

I think your nomenclature's wrong, though. If you are comparing via the AST, it's lexical version control.

However, on your second paragraph:

> That is, if you move a function, I can see that as a single action even if you modify the function a little bit when moving it

That already seems a bit more semantic than lexical.

[+] jwdunne|14 years ago|reply
I'm currently working on a little project that has a new spin on Pastebin. I'm playing with a Bayesian classifier (or attempting and learning a lot) to auto-detect the language and appropriately set the syntax highlighting automatically without a dropdown and a reload. The paste will also be saved automatically so there isn't a page load for anything.

I'm still hacking away and haven't got very far whilst I'm getting my head around the classifier. One other problem I've noticed is keeping track of ownership. One solution I have in mind is that there is no ownership: when it's modified it generates a new link to share with. It might be good for very simple code collaboration - I've tried doing this with Pastebin over Facebook chat and this should make the process a whole lot smoother.

I also need to think about how training will work. I envisioned it so that the user can train it i.e if it guesses wrong, the user would correct it by selecting the proper language and the program will learn for the future. I'd be putting a lot of faith in potential future users but I'm not expecting it to be big or anything, maybe just something me and my friends can share and work on code friction-free (some don't have GitHub/BitBucket/etc accounts, one doesn't like CAPTCHAs at all).

I'm currently going off 100% self-education here too so I'm having to get to grips with some other maths stuff like some symbols (such as | means conditional probability and _not_ to be confused logical OR), so if the project falls flat on its face at least I learned something from it :)

[+] icebraining|14 years ago|reply
Instead of having users train the software, why not download and feed it a corpus of open source software? Writing a script that clones random Github/Bitbucket/Google Code projects and feeds the code to the trainer (using the file extension to get the language) should be easy enough.
[+] michael_fine|14 years ago|reply
Why not just make it a branching model? Whenever a new user edits a paste it creates a branch off that paste. It allows seamless sharing, without links. Kinda like this: http://srctree.net/
[+] typpo|14 years ago|reply
I'm working on http://asterank.com, a database that catalogs and computes the economic attributes of nearly 600,000 asteroids.

According to the data, there are 74 asteroids worth over $10 trillion.

[+] yesimahuman|14 years ago|reply
Building HTML5 mobile app designer tools. Launched in late February, now ramen profitable, several YC rejections under our belt...we are going to bootstrap the damn thing!

http://codiqa.com/

[+] tajddin|14 years ago|reply
Great work. I signed up about two months ago and intend on using codiqa for our mobile prototyping. It's great for those of us that are bootstrapped.

I actually found about you guys on Reddit :)

[+] Breefield|14 years ago|reply
Wonderful looking site, the UI and UX look really great. Wish I had a use for the tool myself.
[+] chromatic|14 years ago|reply
I'm building a site that performs discounted cash flow analysis of stocks. Most of the existing work in this area comes from people selling custom spreadsheets. I think there's a good chance to disrupt that market, especially by combining it with education and a notification component.
[+] kamaal|14 years ago|reply
I understood everything apart from 'discounted cash flow analysis of stocks' Can you please explain in plain English what that means?
[+] KhalidAbuhakmeh|14 years ago|reply
I recently deployed my own bootstrapped application called Mucho Support (http://muchosupport.com). It let's you build a contact list of team members and gives you a hotline (local phone number). When a business emergency occurs, a concerned party dials the number and Mucho Support will cycle through your list of supporters until you reach someone. You can also text your phone number and it will blast message everyone on your team with that message. It also emails everyone and tracks emergency activity.

I guess the idea is that automated systems are great in detecting hardware failure, but they lack the analytical skills your people have. "Crap we marked everything 80% off, instead of just one item" is a hard problem to automate around.

Only $10 a month for unlimited supporters (30 day trial). Keeping it simple for now as I drum up interest. Would love it if you guys would check it out.

I've also used this as a proxy for automated services like Pingdom. It texts your hotline, and Mucho Support blasts your entire team, not just one phone number.

Thanks.

[+] justhw|14 years ago|reply
A sugggestion: Your home page is very busy. Try to simplify it a bit, it's okay to have to scroll.
[+] rnochumo|14 years ago|reply
I just finished building a widget, for beta testing, that startups can grab from my website that has a built in screen recording tool. So once they embed this on their own website they can entice users to record their interactions and it will even pick up on audio feedback as well.

You can see the widget on my site http://betapunch.com. The widget is the little punch icon in the right corner of the page. It's not great as far as design goes, but that's why I am working on the 2nd variation of the widget I will be launching in a couple days.

Here's what it will look like: http://i.imgur.com/iBS7C.png.

I am trying to get as many people to grab the code and put it on their startup websites so I can make sure display and functionality are all in order in various different browsers.

So if you have a moment and want to give it a shot for your site that would be great! You can remove it whenever you'd like, I just want to make sure it does what it's supposed to. :-)

[+] jcc80|14 years ago|reply
Added to a wordpress theme footer in a few different places. Couldn't get it to work & doesn't look like there's any way to contact you via the betapunch site. Email in my profile if interested.
[+] jamiecarruthers|14 years ago|reply
As an average Joe, I've got no idea why I should click to begin a screencast. What does it do and why should I do it?
[+] jcc80|14 years ago|reply
Very cool idea - that's taking user feedback to the next level. Will have to give it a spin.
[+] carlosfoster|14 years ago|reply
Just finished a Perl app called Daystack. It's a web-based calendar and notebook that helps users manage their day and their ideas.

Right now I'm working on a seamless way to encrypt and decrypt notes in the browser. This way only the encrypted version of a user's note is on the server.

https://daystack.com

[+] davidandgoliath|14 years ago|reply
Looks lovely -- should simplify the sign-up process though & implement some easy sign-in buttons. //I should also do the same. :)
[+] Breefield|14 years ago|reply
I'm working on a tool that helps you find the webpages you've previously come across. This is primarily done by showing large screenshots with each bookmark.

I plan to add a variety of page-browsing tools to help you find that page quickly (from color palettes to cover-flow-esq flow).

http://folindux.com

[+] revolutions|14 years ago|reply
If you could do that well, that would be amazing. There was a post years ago from a Mozilla intern on "Lifestream." It's a little bit like your idea, but I've wanted this for so long. Still haven't figured out how to do this, so I shall wait to see how yours turns out instead.

Take a look: http://weizhou.wordpress.com/2008/07/07/prototype/

I personally think some of the ideas there are amazing. I attempted to contact the intern on whether there was any work still being done in this area, but received no response. I really hope someone can create a browser extension, or perhaps that Mozilla might still consider implementing this.

I currently have an obsessively organized library of bookmarks, which still fails me at times.

Edit: Is there any way to organize bookmarks within folders on your website? I see it is not possible in the bookmarklet.

[+] amwelles|14 years ago|reply
I've been using Folindux for awhile now, and it's super useful for collecting inspiration websites. I did, at one time, have a Tumblr that did this, but this works so much better with the bookmarklet. It still has plenty of room to grow, and I'm excited to see where it goes from here.
[+] rozap|14 years ago|reply
Seems like a good idea, though I signed up and installed it and it's not working for me. I can't bookmark anything. I'm using Chrome for mac, version 19.0.1084.52
[+] lifeisstillgood|14 years ago|reply
If you can do this across my different devices and make it searchable like oh last week, that sire about you know err umm.

I really want this

[+] givan|14 years ago|reply
I'm working for almost 2 years on a SaaS ecommerce platform www.rainbowstore.org user hackernews password hackernews

The key difference lies in the architecture, it does not have a template engine, it uses plain html and this leads to massive simplification, here is some info on that http://docs.rainbowstore.org/index.php?title=Template_design....

This simplification allows building a store by just using the html mockup from the designer and also allowed me to build a visual designer for the frontend.

It also has sankey diagram traffic visualization for better understanding user patterns, mcommerce and all the other modern requirements for ecommerce.

Still not ready for prime time but I hope to launch in a few months.

[+] jordanroher|14 years ago|reply
I'm working in a 2D RPG in ImpactJS. Spent the last week getting HTML 5 caching to work on desktop and iOS, then put the finishing touches on a bash script to update the cache manifest, compress all my JS files and rsync them to the server.
[+] VoiceOfWisdom|14 years ago|reply
How are you liking ImpactJS? I have done some looking at it but the hundred dollar price tag just to try it turns me off.
[+] jcc80|14 years ago|reply
Pay for performance SEO quoting system. You don't usually know what you're getting w/ SEO because it's billed per hour or in the typical standard, pro, enterprise packages that work well for web apps but not keywords w/ different competition levels.

And, it feels like the interests of firms aren't always tied to their clients. "Of course we have a guarantee...you're on the first page (of Ask.com)!"

So, I'm working on a quoting / billing structure where customer payments are dictated by the ranking improvements. Feedback so far is good, but of course, it's a challenge.

http://www.growtap.com

[+] tgrass|14 years ago|reply
Since good SEO is a personal relationship with the client, it might benefit you to personalize your About Page. Clearly the price is right, but to sell me, I want to know that there is a team behind the effort.
[+] tgrass|14 years ago|reply
I'm building a web application for stormwater engineering that integrates local jurisdictional requirements of computation, design and reporting with industry-specific project management.
[+] ilaksh|14 years ago|reply
An open source WYSIWYG CMS and plugin platform running on Node.js and CoffeeScript, along with a hosting service and simple virtual hosting control panel.

The main advantages over other similar systems are:

* open source: MIT license

* ease of use: everything is a widget, including layout/design aspects

* efficiency: virtual hosting for many sites on one server/VPS, Node.js, caching, reduced requests etc.

* easy to extend: just enter Github user and repo name and hit publish to add a plugin

Right now I have tools/widgets for adding text (with lots of Google fonts), adding images, email address collection, pages (tabs), editing code, installing plugins, managing files, and a button to play Groove Salad. I am planning on finishing the EtherCalc (collaborative spreadsheet) widget, the EtherPad widget, and then recording a video.

The video will demo all of those things above and also show me quickly coding (with the code editor) and publishing a widget for a live updating collaborative data list that takes advantage of the built-in NowJS and Mongolian Deadbeef libraries.

When that stuff is ready I will start trying to raise money on KickStarter, and hopefully will have some funds to tighten up some basic things like security and hosting features. Then when its sort of Beta ready I will try to publicize the github repo again. I gave it out before but its really not ready to share the code at this point, very messy and pre-alpha.

Anyway I am interested to know what people think of the concept or my plan.

[+] audreyt|14 years ago|reply
I think the plan sounds great and would happily contribute to the effort, especially for the EtherCalc part. :-)

Have you considered EtherPad Lite? It might be a more appealing choice than EtherPad, considering the common Node.js codebase.

[+] Jose_GD|14 years ago|reply
I think any new CMS project like yours should consider mobile as a main target
[+] ammmir|14 years ago|reply
I feel like I always need more than one project on my plate, so I'm working on two main apps right now:

CloudPlay (http://cloudplay.fm), my first Mac app, is a music player that searches for music locally (iTunes) and online (YouTube, SoundCloud), similar to Spotlight, and makes it easy to build playlists and share them. I'm going to iterate on it lots this summer while in the nReduce (http://nreduce.com/) program.

Dialoggs (http://dialog.gs) is an app I'm building with my buddy Drew Wilson (of Pictos fame). It's like a topical Twitter with privacy. Dialoggs lets you create (or be suggested to you after a number of replies) discussion topics (known as Dialoggs) that can be public, invite-only, or completely private, making them great for collaboration within a team. We're working on UX refinements as we learn how people use the app, and sometime this summer, will have a more public launch. More info on my blog: http://amirmalik.net/2012/04/27/introducing-dialoggs

[+] heliostatic|14 years ago|reply
Any invite codes available? Sounds really interesting.
[+] azelfrath|14 years ago|reply
I'm working on a perl script that will serve as a migration assistant from WhatsUp Gold v8 to Nagios v3. My company has 1,300+ hosts and 2,500+ services, all in various groups and states of health. It is my job to port over everything.

The version of WhatsUp we are using does not have a good way to export the configuration, and no API to query, so I am basically screen-scraping the web GUI for all the relevant info. I then do some basic sanitization (there are some illegal chars in Nagios configs), error-checking (how to handle a URL with a loopback IP address), and some cross-reference (putting hosts in groups and attaching services to them).

Overall it has been a great learning experience for me. I got to know Nagios quite well, practiced my perl a bit, and got to use git beyond just the tutorials I had read.

I plan on open-sourcing this as soon as I get permission from my employer. Company time and all that.

[+] pkamb|14 years ago|reply
I've really been liking the Mac App Store. Great potential for selling apps as an independent developer, and not nearly as saturated at the iPhone/Android app stores. Such as...

EdgeCase: http://itunes.apple.com/us/app/edgecase/id513826860?mt=12

[+] ken|14 years ago|reply
I'm a bit surprised that they don't consider this a violation of their requirement that apps not change the native user interface.
[+] nkron|14 years ago|reply
Not very exciting, but I'm experimenting with a site to list sales tax rates by city: http://www.sale-tax.com. It's been fun to play with scraping government forms, SEO, and adsense. Maybe next year around tax time it will even be useful to people :)
[+] vermasque|14 years ago|reply
It would be more useful if it was easy to compare places. For example, do I save money crossing the state line to buy something? Some states also charge sales tax on specific things that other states disregard (e.g., clothing).
[+] speg|14 years ago|reply
This month I've been Working through a book to teach myself iOS development. Only two chapters left!
[+] keiferski|14 years ago|reply
I'm working on step 2 of a naming company (we create names for new startups and products). The plan is to offer a package with a name, logo, and business card, so I'm working on my logo design skills and bringing in some more designers.

Also, I'm building an copy editing service that's more transparent and straightforward. Most editors have complicated pricing schemes that vary depending on the topic, document type and whether they charge by the hour or by the number of words. Instead, I'm charging a flat fee per word, no matter what the project, and you'll be able to customize other features (like delivery date, format, etc.)

Hoping to get both startups rolling by the end of June.

[+] azelfrath|14 years ago|reply
I have to ask: Does your naming company have a name?