10 ms·
I made a debugger that draws the state machine of the program
- r00nk 12y agosource: https://github.com/r0nk/ward https://github.com/r0nk/ward
- desdiv 12y agoI'm slightly saddened that Github doesn't recognize Brainfuck files.
- Argorak 12y agoOf course it does: https://github.com/r0nk/ward/blob/master/hello.bf https://github.com/r0nk/ward/blob/master/hello.bf https://github.com/github/linguist/blob/master/lib/linguist/languages.yml#L327-L332 https://github.com/github/linguist/blob/master/lib/linguist/... Just not in Ace (their code editor). It doesn't count it in language statistics, though.
- vegedor 12y agoProbably does but falls under a threshold.
- gjtorikian 12y agoHmm, this looks like a different issue. Brainfuck is recognized in the stats, if you head to search: https://github.com/r0nk/ward/search?l=makefile https://github.com/r0nk/ward/search?l=makefile It's not showing up in the color bar, though. Loggin' dat issue.
- jacquesm 12y agoThat is absolutely awesome. I used to have something like this: a pair of very fast dacs hooked up to the 16 address lines of my computer and another dac hooked up to the databus. It allowed me to look straight into the memory of the machine as the processor was accessing it, quite a powerful tool. Yours is nicer though (and with todays memory size I'd hate to think about the quantity of data that passes in a split second across the bus of a modern pc).
- timthorn 12y agoWhat did they drive?
- jacquesm 12y agoX, Y, brightness on an army surplus scope.
- melloclello 12y agodamn, that's gangster
- arethuza 12y agoThat reminds me of the old story of people having a audio speaker connected to the address but of their mainframe so they could detect error conditions by the sounds being made.
- arethuza 12y agoI found at least one old system that did this (although the version I heard related to the old mainframes Edinburgh University had decades ago): EDSAC II had a speaker to help with debugging and this "feature" was also incorporated into versions of the LEO, the worlds first computer for business applications: http://en.wikipedia.org/wiki/LEO_%28computer%29 http://en.wikipedia.org/wiki/LEO_%28computer%29 I wonder if something similar could be created for the state machines in the article - giving each state it's own tone?
- hrjet 12y agoIIUC, you could probably use KLEE to ease the pain of capturing the state. http://klee.github.io/ http://klee.github.io/
- partition 12y agoHow did you get your terminal to look like that?
- michaelx386 12y agoThe font looks like Terminus. The background transparency effect and hidden scrollbars can be set-up with most terminals, this one is probably urxvt. As for the borderless/undecorated window, that's probably done via the Window Manager. DWM[0] for example doesn't paint window decorations but there's usually a way to set this up in Gnome/Unity/KDE/etc as well. [0] http://dwm.suckless.org http://dwm.suckless.org
- rmc 12y agoHere's one for Python. http://pythontutor.com/ http://pythontutor.com/ It shows the variables, and allows you to step forward and backward. Great for explaining programming to new people who haven't grokked computing yet.
- scott_s 12y agoThe author, Philip Guo, is part of the HN community as pgbovine.
- nailer 12y agoApple Swift and Unreal Engine Blueprint both have amazing state visualization tools built in. See: https://docs.unrealengine.com/latest/images/Engine/Blueprints/UserGuide/Debugging/debugging_editor.jpg https://docs.unrealengine.com/latest/images/Engine/Blueprint... I think a deep visual debugging tools are going to be 'built in' in future in much the same way that HTTP primitives were recently with node and string manipulation was with Python 2.
- hyp0 12y agoThere used to be an IDE called "Together" that supported bi-directional transformation between source code and diagrams. Although it sounded like a really cool idea, it didn't take off. Seems text is best (maybe because it supports incompatible hierarchies better).
- porker 12y agoThanks for the info, I'd never heard of that IDE before. With its common name it's been impossible to find screenshots so far. > Although it sounded like a really cool idea, it didn't take off. That could have been because it was bought by Boreland, who had a history of 'not succeeding' with projects, whose focus was elsewhere, who lost key staff at an important point, and then were bought out and mismanaged from there forward? Delphi didn't have to die the death it has.
- Chirael 12y ago
- faaar 12y agowhat wallpaper is that
- cyann 12y agoLooks like a screen cap from the BioShock game http://en.wikipedia.org/wiki/BioShock_%28series%29 http://en.wikipedia.org/wiki/BioShock_%28series%29
- Lutin 12y agoIt's concept art from the creation of BioShock 1 http://bioshock.wikia.com/wiki/File:1959.jpg http://bioshock.wikia.com/wiki/File:1959.jpg
- deleted 12y ago[deleted]
- avodonosov 12y agoThat's useful, exactly the tool missing in my BrainFuck toolkit. +1
- simias 12y agoI would have been more interested by the source code and some explanations...
- MichaelMoser123 12y agoshameles plug for my little project - the pooh programming language: http://mosermichael.github.io/cstuff/all/pooh-lan/2012/12/11/pooh-intro.html http://mosermichael.github.io/cstuff/all/pooh-lan/2012/12/11... here you can get an execution trace of the program: each expression is displayed as it evaluates: http://mosermichael.github.io/cstuff/docs/html/pooh/example/02-fact.p.html http://mosermichael.github.io/cstuff/docs/html/pooh/example/... (they used to have something like that in some scheme interpreters, i used this featue a lot at the time)
- r00nk 12y agohey the projects open source, if you can add your language to ward then it might help your language have a unique IDE, It'll have something other (excluding bf) languages don't have.
- r00nk 12y agoAlso, if anyone's interested, I need some help porting it to different platforms. If you can swim in the clusterfuck of x86 for a bit to port it to ward that would be awesome, or even getting working with gdb this could be an actual tool.
- r00nk 12y agomight as well attach a src link here too: https://github.com/r0nk/ward https://github.com/r0nk/ward
- VLM 12y agoIts interesting that its dynamic. Idea to think about would be snapshotting dot files for graphviz. Then you can do all kinds of crazy stuff with the graphviz output. My databases at work snapshot out their schemas to graphviz to create diagrams of all the FK relationships automatically every day, which I find helpful, and more or less inspired this idea.
- dschubert 12y agoShameless self-plug: Me and a friend developed a Java debugger [1] that visualizes (Java) programs with UML class and sequence diagrams [2]. It isn't actively developed anymore, but the demo version [3] (along with Help -> Tutorial) can still be used to give it a try. It was quite an involved & fun project as we used Java VM Tool Interface directly instead of using JDI and the layout algorithms for the diagrams are quite fancy too :) [1] http://www.jbixbe.com http://www.jbixbe.com [2] http://www.jbixbe.com/VisualTour.html http://www.jbixbe.com/VisualTour.html [3] http://www.jbixbe.com/download/jar/jbixbe.jar http://www.jbixbe.com/download/jar/jbixbe.jar
- c-qjv0xfi 12y agoWhat is the widget in the top right corner? What WM are you using?
- clarry 12y agoI would love to have a visual representation of all the possible branches that can be taken in a body of C code, with an easy way to ask the program to tell me what are all the conditions that must be met for this branch to execute.
- r00nk 12y agoYeah that was the idea, I'm posting it around to see if I can get a few folks interested in porting it to different languages. Maintaining everything is hard on a one man teenage team.
- PhasmaFelis 12y agoAll right, I'll be the first one to admit that I don't know what the hell I'm looking at. Would some sort of explanation, or at the very least some source code, be too much to ask?