Hacker News new | past | comments | ask | show | jobs | submit login
TraceGL: JavaScript code flow visualisation in WebGL (trace.gl)
210 points by rikarends on April 23, 2013 | hide | past | favorite | 65 comments



This is an amazing app, extremely underpriced for what it delivers! One thing I'd love to see is the ability to do profiling, so I can see exactly how much time was spent in each function invocation.


It is also nice to see how much great work is going on WebGL these days[1]. Hopefully, tools like this will help even more create amazing things with it.

[1] http://metaphysicaldeveloper.wordpress.com/2013/04/23/webgl-...


We need line_profiler.py for JavaScript.


This is an incredibly useful tool! I was trying to decide how the huge amount of logging was handled in the display when he mentioned using WebGL - a cool idea to this WebGL newbie. Then there is the ability to jump up and down the stack, even through callbacks. This feature alone would be worth 15 EUR because you don't have to set breakpoints in the browser's web inspector to see exactly what is called and how - you just run the program and then look up the traces!

I wonder how hard it would be to have the browser's native inspectors do the same thing?


Name of the app threw me off. I thought this was designed to attach to GL context and show that is actually happening. Like Nvidia PerfHud.

Here is some criticism:

- Your site straight up asks for my credit card number. Small line below "Secure connection using Paymill GmbH" not enough for me to trust you. Believe it or not PayPal or Amazon Payments would work better. At least i can get a refund that way.

- Where is the demo? I'm getting ripped off ?

- I hate when people compare price of their products to a commodity. I don't know how much coffee cost in your world but i can buy 100 cups of coffee where i live. This kinda of comparisons always comes from the bunch that creates long lines at Starbucks. Just don't assume 15 dollars aren't that much. That's half the money i make in a day.


Hi Saejox, - the name came from the domain, since its a GL UI it fits well enough imho. - tried to make it 'as simple as possible to buy' using the same way Stripe does it (i dont touch CC's) - can't solve international wage/price discrepancies, unfortunately. - i tried to pick a payment solution that didnt' suck too much to integrate, paymill is 'the stripe competitor in europe' and its a pretty clean process compared to paypal. And then there is bitcoin too. - As its not a trivial product i decided to make a video demo to show what it can do.

Thanks for your feedback.


Vote up (down) if you'd ever (never) dreamed of writing this kind of thing yourself. :-) I'll report the number.

EDIT: 5 - 1 = net +4 votes as of 10:23 PDT.


This is a bad idea. I believe that hn actually will weight every comment you make based on your total karma to a degree. I've certainly heard people make anecdotal claims that if they have a lot of karma their comment, even if not heavily upvoted, appears near the top frequently.

This algorithm makes sense. Since upvotes are supposed to mean something like "I want to see more comments of this type and quality", it is giving the majority what they want to promote people who typically make such contributions.

As soon as you try to value an upvote as something different (here as an impromptu poll) you damage the entire system. What if I would dream of this but don't want to see more comments like yours since it's effectively spam? What if I like the idea and want to upvote it for visibility but would 'never dream' of this somewhat specialized idea?

The point I'm trying to make is that this is a bad idea without even going into how incredibly inaccurate such a poll is. This comment will not give any useful data, actively "abuses" hn's value system by asking for upvotes, and doesn't breed meaningful or intelligent discussion. Good for you I can't downvote yet :-). (notice how I added a smiley so that it would seem childish but friendly? Excellent tactic!)

If you want to do a poll I believe the polling option google docs provides will be much better suited (if perhaps slightly tainted by evil).


Agree in principle, but

> As soon as you try to value an upvote as something different (here as an impromptu poll) you damage the entire system.

I'm a hacker and it was an experiment in trying to make the system do something beyond its advertised capabilities. At the end of the day, net 9 upvotes didn't "damage the entire system".

> What if I would dream of this but don't want to see more comments like yours since it's effectively spam? What if I like the idea and want to upvote it for visibility but would 'never dream' of this somewhat specialized idea?

I think you're taking this more seriously than it was intended.

What we learned was:

A. There are several others who had, in fact, dreamed of making this kind of system. But for whatever reason didn't execute on the idea.

B. This mechanism of polling has some limitations. A built in method for commenters to do an impromptu poll in the comments could be an interesting addition to HN.

> Excellent tactic!

Thank you :-)


Most people can't vote down.


Ah, I guess I can only do so sometimes as well. So feel free to leave a comment, I'll register your downvote then you can delete your comment.

This experiment in ad-hoc polling is kind of showing the limits of the idea.


I think an easier way would be to make two posts, Vote one up for each choice. Wouldn't prevent double voting but the difference between the two would still be accurate.


I think the rule is you need more than 500 karma and can't downvote a reply to your own post.


I cant vote down and Ive been here for about a year.


What if you dreamed of it, wrote it, then decided the approach wasn't viable given UX concerns?


10 - 1 = net +9 votes as of 2013-04-24 09:28 PDT. Calling that final.

Feel free to take back your upvotes if you feel my karma was undeserved.


Well, I'm completely blown away by this tool. The utility of it. The speed... Amazing.

I think it's great that the developer decided to charge money for this too. It has real value for me, it's going to save time, so why wouldn't I want to pay to show my appreciation and to ensure it's being worked on?


For what it's worth, I probably wouldn't have paid with a credit card (too much hassle!) but since I could pay with bitcoin you converted me into a customer.

:D

Thanks for accepting bitcoin!


Thanks :) I just added it this morning. Now if only coinbase payment callbacks would work, it would be much faster (not manual.)


Cups and Cakes Bakery uses BitPay.com- check out our video of it in action. Payments are verified in about 30s-1m

http://www.youtube.com/watch?v=jCYE4V6C8a8

Also, Kai Ryssdal did a segment on us! marketplace.org/topics/business/cupcakes-meet-bitcoins


All i really need is a wallet API where you can create a receive address, and get a callback when something arrived. Everything else is just fluff :)


http://blockchain.info/api/blockchain_wallet_api

Blockchain.info has some really nifty(and free) API methods.

When a payment is received blockchain.info will notify the http URL specified in [Account Settings]. The parameters will be supplied in a http GET request. The callback url is limited to 255 characters in length.

Parameters value The value of the payment received in satoshi (not including fees). Divide by 100000000 to get the value in BTC. transaction_hash The transaction hash. input_address The bitcoin address that received the transaction. confirmations The number of confirmations of this transaction. {Custom Parameters} Any parameters included in the callback URL will be past back to the callback URL in the notification.


ah nice thats exactly what i need.


You can run the canonical bitcoind app in JSON RPC mode and it is your wallet and gives you the API. You don't need to use an external service.


Yeah unfortunately i need to pay for a special VM just for the wallet that way. That and the JSON RPC api didn't look all that simple. In a way coinbase does exactly what i need, except its callbacks don't work. It would be nice to be able to fire up a super secure wallet VM with a locked down webservice api for adding receive addresses and getting callbacks, and having a 2 factor 'withdraw' function.


Looks great, just purchased.

+1 for coffeescript/source maps, we do everything in Coffee.

+1 for charging, i hope you get the support to work on this full time. Maybe consider an open source basic / premium closed version though.

+1 for a sublime plugin that does code completion/inspection based on previous runs of the code.

Nice work!


+1 for typescript instead of coffee.


The name seems like a bit of a misnomer, I only just now realized this wasn't a WebGL debugger.


Yeah I agree.

The GL part is just an implementation detail.

As a comparison would be to say - what if it was actually quicker when implemented in the DOM or Canvas ?

Would it then make sense to call it TraceDOM or TraceCanvas ?

If the killer / primary feature of the product is speed then it should really be TraceFast / TraceSpeed / TraceMegaSuperQuick (ok, not great names but you get the idea).


Its a GL javascript tracer :) plus there is the domain.


The name also confused me and I thought it would just be for tracing WebGL.

From a developer standpoint it's cool that it's in WebGL. As a developer-user I don't care, it just works well and fast!

I would genuinely suggest de-emphasizing the WebGL except in a behind-the-scenes way.

(I've bought and played with it, and can't wait to chase down a bug!)


This looks incredible. Do you think it would be possible to utilize source maps to allow this to work with coffee (etc) source directly?


Its theoretically possible, although not easy.


The "Get it now" page immediately redirects to a 404 for me. https://trace.gl/undefined/getitnow.html

Firefox 20/Mac


The "Get it now page" is https://trace.gl/getitnow.html for me, which works fine.


Sorry fixed that, clear cache please.


Hi i'll do a quick test in firefox, i haven't seen that one yet


Found it. i'll go fix it.


This looks nice! Watching the video I was just wondering if it would be more useful if all code that is executed would be highlighted instead of the 2 colors for conditionals. That way one could identify the actual code path more quickly.


That looks like an awesome tool, good job.

You said you use VBOs for text rendering. Do you use some library for text rendering or is it just coded from scratch?


I'm rendering font-textures using canvas, and using GL POINT sprites with x+y+texture offsets (the ascii) in the vertexbuffers to store text.


Pardon the off topic and probably downvoted-into-oblivion comment, but

Rik, je bent een botpad.


Wie is Rik en wat is een botpad?


thanks :)


There is a pricetag that comes with the software, which is definitely not in line with the typical javascript ideology, in my opinon.


which is definitely not in line with the typical hipster ideology, in my opinon.

FTFY.

Seriously, I don't get it.


I'm against showing banners in my app ;)


Why not open source it like most other JS tools? You've built on top of other open-source such as node.js. Just a matter of good citizenship in the JS community.


Why the fuck is this community so against indie developers from monetizing their desktop software? Nobody complains when SAAS products or mobile apps are monetized. Hypocrisy is astounding here.


Why are you so against people giving their opinions? It doesn't read like they are saying that free and open source is the only path, just that they would prefer that it was.


Because a community backlash might make some developers think twice before building something awesome like this.


Yeah, I've got to agree with the others here. There's nothing inherent with the JS community that dictates a good actor should automatically open source something they've done. He's free to assign whatever exchange of value he wants for the work that he's done, just as everyone else is free to choose whether they want to give the amount he's chosen in exchange for access to the software.


This tool has taken quite a lot of my time, and i though i'd try an actual business model for a change.


A random suggestion, then: perhaps try selling it for a few months, and if the number of sales starts to tail off and you still feel uncompensated, set a fundraising goal at which you'd release it open source?

As others said, I'm more interested in donating (and helping to persuade others to) to make it available for everyone than I am in buying a copy.

http://www.indiegogo.com/projects/tern-intelligent-javascrip... is an example of successfully raising money for a javascript tool, although in that case the money was raised before the work was finished.


I certainly appreciate that. But also, open source and business models are not mutually exclusive. Perhaps you can open source the core code and then charge for support or extensions, like many others do with Linux, Apache, etc.

Plus, if you have more people contributing changes/additions, you might have less of a workload.

One last question for you: if I pay, do I get the source that I can tinker with/extend, or is it in a minified/obfuscated format?


No i left the code unminified/unobfuscated on purpose. If you paid for it you get the freedom to hack on it if you want.


The code is not minified or obfuscated.


Completely agree with you. It's incredible good priced, and the bitcoin payment option... just great :)

I bought it just a few hours ago, works excellent.


I would gladly donate $20+ for this if it does what you show it doing, but I feel wrong /paying/ $14 to try it.


Since its all JS its hard to make a try before you buy experience.


Right, I'm not saying that you should either. Just an observation of my own reaction.


Good citizenship = giving away your hard work for free?

Good grief.


This debugger is unlike anything i've ever seen. Not charging for it would be plain stupid. Reverse debuggers for other languages usually cost tons.


Visual Studio Ultimate with Intellitrace costs a lot, depending on who you ask.


Well maybe it's a new trend for the better then.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: