HN user

egraether

262 karma
Posts33
Comments32
View on HN
www.dorfmeister.cc 5y ago

Exhaustive Matching in TypeScript

egraether
1pts0
www.sourcetrail.com 6y ago

Sourcetrail 2020.1 released – Get productive on unfamiliar source code

egraether
3pts0
www.sourcetrail.com 6y ago

Sourcetrail, interactive source explorer, is now free and open-source

egraether
359pts52
www.sourcetrail.com 6y ago

Sourcetrail 2019.3 Released – Visual Source Explorer for C/C++/Java/Python

egraether
3pts0
www.sourcetrail.com 7y ago

Show HN: Sourcetrail – Visual Source Explorer Now Supports Python

egraether
89pts21
www.sourcetrail.com 7y ago

Show HN: Sourcetrail – Visual Source Explorer Now Supports Python

egraether
2pts0
www.sourcetrail.com 7y ago

Sourcetrail 2019.1 Released – Experimental Python Support

egraether
2pts0
github.com 7y ago

SourcetrailDB – open-source library to write custom indexers

egraether
2pts0
medium.com 7y ago

I like your tool, but why is it not free?

egraether
5pts0
sourcetrail.com 7y ago

Sourcetrail 2018.4 released

egraether
2pts0
www.sourcetrail.com 7y ago

Sourcetrail 2018.3 released – Visual Source Explorer for C, C++ and Java

egraether
2pts0
www.youtube.com 8y ago

C++Now 2018: Eberhard Gräther “The Untapped Potential of Software Visualization”

egraether
7pts0
www.sourcetrail.com 8y ago

Const – Friend or Foe in C++?

egraether
2pts0
www.sourcetrail.com 8y ago

Sourcetrail 2018.2 – Visual Source Explorer for C, C++ and Java

egraether
3pts0
www.youtube.com 8y ago

Exploring Inheritance and Virtual Function Calls with Sourcetrail [video]

egraether
1pts0
www.sourcetrail.com 8y ago

Sourcetrail 2018.1 – Visual Source Explorer for C, C++ and Java

egraether
44pts6
www.sourcetrail.com 8y ago

Sourcetrail 2017.4 – Source Explorer Now Free for Non-Commercial Use

egraether
3pts0
www.sourcetrail.com 8y ago

Sourcetrail 2017.3

egraether
1pts0
www.sourcetrail.com 9y ago

Sourcetrail 1.0 – a cross-platform source explorer for C/C++ and Java

egraether
5pts0
www.sourcetrail.com 9y ago

Sourcetrail 0.12 – instantly generate call and inheritance graphs

egraether
3pts2
www.coati.io 9y ago

Coati 0.10 released – cross-platform source explorer for C, C++ and Java

egraether
4pts1
tomassetti.me 9y ago

Resolve method calls in Java code using the JavaSymbolSolver

egraether
1pts0
www.coati.io 9y ago

Coati Source Explorer 0.9: VS compilation database export, extended Java support

egraether
6pts0
www.coati.io 9y ago

Coati 0.8 released – Java support beta, indexing dialogs and new editor plugins

egraether
5pts0
www.coati.io 9y ago

Why working on Chrome made me develop a tool for reading source code

egraether
8pts1
www.coati.io 10y ago

Indexing Clang with Coati Using Clang

egraether
3pts0
www.coati.io 10y ago

Coati 0.7 released – multi-threaded indexing, full text search and VIM plugin

egraether
2pts0
www.coati.io 10y ago

Coati 0.6 released – local variables, test licenses and higher performance

egraether
1pts0
coati.io 10y ago

Show HN: Coati – The Source Explorer

egraether
15pts2
news.ycombinator.com 10y ago

Ask HN: Where do you find out about new programming tools?

egraether
3pts0

Applying the tool on your codebase should be easy. For us, using the Clang Compilation Database format, that already holds all configurations to build a project was of great value for faster C and C++ project setup.

You cannot convince developers to use a tool with just words. They need to experience the benefits first hand. And getting to the benefits should happen as fast as possible after starting to test the tool.

Sourcetrail dev here. Thanks for the feedback!

Yes, Python indexing speed is still slow, mostly due to the underlying framework that needs a lot of time to resolve symbol names. We hope we can improve this.

The crash on closing was already reported: https://github.com/CoatiSoftware/SourcetrailBugTracker/issue... I opened another issue to not inform about indexing when only renaming source groups: https://github.com/CoatiSoftware/SourcetrailBugTracker/issue...

Sourcetrail dev here. To my knowledge, without going into too much detail:

* Sourcetrail has a tighter integration between source code and graph visualization, because it offers less features than a full blown IDE like Visual Studio and can keep the UI more simple. Users of Sourcetrail can use either code or graph to navigate and both update simultaneously. In Code Maps the visualization stays the static until explicitly updated by the user.

* Sourcetrail's visualization is centered around one currently active symbol. Then other nodes are positioned up/below/left/right of it to encode additional meaning into the layout. Nodes are bundled together to de-clutter. In Code Maps the user starts with a certain symbol and then adds more and more symbols to the visualization, building a map. Filters can be applied to de-clutter.

* Sourcetrail needs to index all source code upfront, but afterwards querying and visualization generation is fast. I'm not certain, but to my knowledge Code Maps indexes only on demand/only partly upfront, so queries are not as instant.

If you are interested in Software Visualization, you can watch my recent talk at ACCU 2019, where I go through some design decisions of our visualization: https://www.youtube.com/watch?v=Gvmp3Gzhv8o

Sourcetrail dev here. Thanks for your extensive feedback!

A lot of things have changed since Sourcetrail was called Coati (about 2 years ago). We put a lot of work into improving indexing speed, handling multiple configurations/different languages within one project and reducing "sluggishness" in the UI. Sourcetrail runs now smoothly on code bases with multiple MLoC.

But I agree with your suggestion regarding data-flow analysis. That is what understanding unfamiliar source code often really comes down to. We also had some user requests to go that direction. We never really looked into this area so far, because it is a lot harder to collect the data (dynamic analysis) and it needs a whole new user interface.

While the data collection is solvable (Visual Studio debugger can do it, I think), I'm not sure whether it is really possible to come up with an effective user interface that shows which paths the different values take.

To explain why this is hard, let me use a metaphor: With data-flow you need to deal with a new dimension: time. Sourcetrail can handle dependencies between definitions really well, before the code is executed: space. What you want is a tool that combines the two into a space-time exploration tool of source code. Not sure if possible at all, but very interesting to think about. :)

We decided to leave out editing early in the process. Most developers already have their favorite editor and it's a lot of work to implement all features that users would expect from it.

We decided to focus on source exploration instead. Sourcetrail is made for the second screen. We implemented plugins for the most used source editors to enable easy switching. Please have a look at our documentation: https://www.sourcetrail.com/documentation/#CODEEDITORPLUGINS

CodeLens is great for finding references within the IDE. It also provides information about the history, which Sourcetrail doesn't do yet.

I would say we go a step further, by also providing a visual representation of the references to symbol, which quickly conveys how a symbol is embedded into the rest of the code base, without even reading a line of code. That makes exploring a lot faster.

Sometimes it's more about the challenge really. It started as an university assignment. Later I ported it to WebGL.

The original minesweeper rules don't make for a great game in 3D. I added the "sweep mode", where you can remove mines, to make the game more appealing in 3D

Too long.

I faced this problem while interning in the Google Chrome team and working on Chromium. Most of my time was used by reading the source code and figuring out the bigger picture of how classes and methods play together. I actually came to the conclusion that the big problem is that current tooling does not really support a developer on the task of reading existing source code. So I started building a new tool, Coati, an interactive source explorer for C/C++ based on clang. After using Coati myself for about half a year now, I can say that it really helps me navigate through the codebase quicker.

The tool is still at an early stage. We recently launched our website with a first release version: https://www.coati.io/

Do you think Coati is a tool that can help you?

Developers spend more time reading than writing code.

Yet mainstream IDEs are basically glorified text editors.

These two statements are exactly why I started working on a developer tool for exploring and understanding source code.

Coati is an interactive source explorer for C and C++ that makes comprehension of existing source code easier and allows for quick navigation whithin the source code: https://www.coati.io/

Reading this really reminded me of my time as an intern. I think I spent about 90% of my time reading source code then and doing exactly what what's described in this article. A lot of developer time is wasted reading existing source code and I think one problem is the lack of the right tools.

That's why I started building Coati, an interactive source explorer for C/C++. Coati allows you to see the relationships of classes and functions and thereby makes it easier to get an overview of your codebase. This makes the familiarization step of the process much easier.

https://www.coati.io/

I'm currently working on a developer tool that leverages the advantages of visualization not for writing source code, but for navigation and understanding. Coati, a source explorer for C/C++, combines graph visualization and source code interactively. The graph makes it easy to see what relationships a class or a function has, while the code still provides all the details of the implementation.

https://www.coati.io/

Naturally, you can't get rid of reading source code, that's where all the information is. But the visual representation can speed up navigation and understanding a lot. Having worked with the visual navigation of Coati for while now, I can tell you that it changed the way I develop software. Seeing at a glance which classes derive from an interface or where and how often a function is called gives you a whole new perspective on your codebase.

code comes first; visual representation follows

I think this really is the core insight behind visual tooling. I'm currently working on Coati, a source explorer for C/C++, which does exactly that. By building a visual representation on top of a textual syntax, you can leverage the advantages of both.

https://www.coati.io/

In my opinion the biggest problem with legacy code is understanding its implementation as someone who hasn't worked on it before. In a lot of cases it's not documented well and the original authors have already left, so there's no one to ask. You are left with reading code written by someone else, which takes a lot of time.

This is not Perl related, but I'm currently working on a developer tool that makes this part of the job easier. It's a source explorer for C/C++ named Coati that simplifies navigation within source code and thereby makes understanding the implementation faster and easier. https://www.coati.io/

We just launched our website including an online store for selling software licenses. We are based in Austria. Our product is Coati, a source explorer for C/C++: https://www.coati.io/

After speaking to tax accountants and the finance office we decided to go for a reseller. The reseller does the invoicing for you. You just need to do the bookkeeping of the money you get from the reseller. We are using FastSpring. They do monthly subscriptions as well.

We just launched a new developer tool named Coati, which is designed to navigate and understand source code: https://www.coati.io/

The idea was based on our experience that you spend too much time searching through code as a developer. Coati makes it much easier to see how the different parts of the software play together.