NetFlow-Nodebased organisation/structuring tool (beta)

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

NetFlow-Nodebased organisation/structuring tool (beta)

Post by TekniX »

Hi there,

I think everyone knows the problem, in todays time we have sooo much information and just to little time to "check it out" "make a writeup" somehow store, organize and find this information again when we actually could use it ( dont let me down on this and tell me im the only one ;) ) . Well, I came to the conclusion that eventually a node based network of information bits, organized like a tree, might help here... So here it is.. the beta.. I am looking for people interested in this that might want to contribute some bug reports and/or feature wishes and thus help developing the tool. But lets get to the point ;)

The Facts

Currently for linux only, but windows port will come as soon as it makes sense to port.

Node based storage of information.

Different nodetypes. Currently -> idea,group,person,host,file,folder,place,company,bookmark.

Grouping of nodes and moving/hiding/unhiding entire groups

Importing/Exporting nodes

Changing of nodes icons ( theres a small library integrated which is available through a window ) in order to clarify its purpose

Connecting / Disconnecting to establish graphical links between nodes

File links to files/folders on your disk and transparent linking to NetFlow files e.g from a main file link to a work file
and open it by clicking on the file node for the network.

Searching for nodes

Going to nodes by name e.g open the goto window type a name and youre there .

Bookmarking certain positions in a network and going there by choosing a bookmark


Heres a screenshot of a simple part of one of my networks

Image

NetFlow is intended for fast usage, so please dont expect to much GUI at the moment, everything is for now only
accessible by shortcuts, but for most of them I tried to keep it simple, ctrl+n = new node, ctrl+s = save etc...
There is a ( also beta ) documentation of the program located at www.sandvfx.com/NetFlow/onlineDocs/index.html

For those of you who find this interesting and can think of organizing projects/data structures on harddrives in a nodebased graphical
way, I welcome you to join a forum I have setup for the NetFlow development at www.sandvfx.com/phpBB3/ there is subforums for bug reports, usage questions and feature requests / ideas . You are more than welcome to use them :) .

I do intend to make NetFlow open source, but I would like to push it a little bit further on my own, do some rewrites and cleanups before I do.. A Documentation for the sources is also coming up ( same url as the user docs ) ... Like I said, all help is very welcome !

You can download a precompiled ( hope it works on differnt linux distris ) package here :

www.sandvfx.com/NetFlow/NetFlow.tar

installation is easy :

create directory NetFlow in your home directory ( make it look like this ~/NetFlow NOT like ~/NetFlow/NetFlow because the tar itself contains a dir called NetFlow as well..)

copy the content of the tar there

execute ./netFlow

thats it :)

Questions are welcome here as well, but if you do want to get into it, I suggest you use the NetFlow dev forums in order not to
get into the way of the Irrlicht forums :) .

At this point I would like to thank the entire Irrlicht team for the development of such a powerful tool (and obviously for giving it to us for free ! ) and for the help I received here !

Kind regards,

TekniX

EDIT :

Some remarks - >

This software IS Beta . It will eventually crash and you might loose the file you where working on if you do not save often. Saving is very easy, do it ! Also you should consider doing regular backups of your .nf files ( the files NetFlow stores nodes and the information belonging to them in ) .
DO NOT select text in an edit box with the mouse, if you want to select the entire text in an edit box press ctrl+a . I was not able to get this bug out of it since it is Irrlicht related. The Irrlicht guys fixed it, but I did not get the fix into the software yet !
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

good work. really impressing. I'm waiting for the windows port :)
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

Cool.

Adding "connectors" to the nodes and it could be used for scripting or material definition...
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

Actually

Post by TekniX »

@RedDemon : cool, glad you like the concept. Windows port is going to take a while, but apparingly I will not get any beta testers for linux the way it looks now.. so maybe ill accelerate things a bit, although I do want to avoid deveveloping two separate versions at the same time...

@Cristian : Yes actually the maya hypergraph + Nuke where a little bit of an inspiration for me, and actually I have already thought about making some parts of the network evaluate itself by including script nodes that get executed once a certain condition is met.. What for example would be nice as well, is a node that takes all the files in a folder and makes file nodes for it ( basically a script node .. ) but well.. gotta get the basics done first ;)

One other thing I am thinking of is actually voice recognition for basic commands like "add node" "delete" "group" and all of that, I am currently looking for an open source framework that allows me to do this "easily" without loosing portability against windows.

Greetings
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Re: Actually

Post by sudi »

TekniX wrote: @Cristian : Yes actually the maya hypergraph + Nuke where a little bit of an inspiration for me, and actually I have already thought about making some parts of the network evaluate itself by including script nodes that get executed once a certain condition is met.. What for example would be nice as well, is a node that takes all the files in a folder and makes file nodes for it ( basically a script node .. ) but well.. gotta get the basics done first ;)
Greetings
I think he means not using your node system for files but to actually create scripts for games/graphics whatever.

Anyway looks interessting but i don't understand the use of this? really why would i want that if i can browse my directories normally which is way more easy than this.
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

To be more clear about what I was saying, it could look something like this:
(A picture is worth a thousand words! :) )

Your system could be used for node-based editors, not just for browsing files. Here are some examples:

Here is a screenshot of "Kismet", the node based script editor for UDK. Notice the nodes types and their number of connectors.

Image

Here another example used for defining surfaces: (Blender)
Image

Here is the slate node based editor: (3DS Max)
Image
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

Hey

Post by TekniX »

Hey, well yeah I kinda understand what you guys mean, but using this system for a node based editor or something alike would require some heavy modifications and additions, and although aswell kinda cool was never the intention of this software.

Well, its a fair enough question why use this instead of your normal folder structure, the answer is simple. You dont ;)
actually NetFlow is NOT intended to replace the explorer, its more of a feature that you can link to folders and files directly in there and it opens up an explorer for you.

The idea behind this software is more that if you for example start learning electronics, you make a file for electronics, then you make a group for formulas, one for electronic pieces, and from there you go on adding information in a QUICK, VISUAL way, and now if you have a 30 page PDF describing the rsr32 connector, you obviously dont want to copy paste this information into single nodes, what you want to do is go to your "pieces" group, go to the rsr32 connector node and add a subnode with the link to the pdf. Thus, when half a year later you want to get information on a electronic piece you dont remember so well, you open up the electronics.nf ctrl+t for goto enter "pieces" ( or go directly to rsr32 ) and see ah ok, thats what it does and theres the manual...

I dont know, I am currently learning on lots of different topics and I find it very easy and flexible to organize information this way.. its not ment to replace the explorer or your actual file structure D:\TUTORIALS\BOOKS\PROGRAMMING ( for example ) its just ment to give you a direct overview of accessible information and as a feature provides you with a linking function ;)

I hope I made myself clear, if not, I can post some images of example networks that I made for information storage ;)

Greetings Teknix
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Re: Hey

Post by serengeor »

TekniX wrote: I hope I made myself clear, if not, I can post some images of example networks that I made for information storage ;)
It wouldn't hurt anybody if you'd post them :wink:

EDIT: Tried to run it, and it loaded up till texture greenMarker and stopped. I'm using ubuntu 10.10
And why is the executable so big? It looks like its built with debug mode, or maybe there are heavy third party libs used?
Working on game: Marrbles (Currently stopped).
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

Post by TekniX »

Well my knowledge about releasing a software ( and even more for linux ) is not very big, so yes actually youre right, its compiled with the debug option on *shame on me* ........ Hmm that sounds very strange. If youre interested I could upload the source code for it and you could try building it yourself and see if that works.

@Screenshots : Ill try and get them up tomorrow. Im a bit uptied at work right now but i should be able to get it done.

Greetings
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Hm, I'm currently busy with my own project, but yeah you could upload it and I would try to compile it, I guess it wouldn't take too much time.
And you should re-upload it with release mode binaries.
Working on game: Marrbles (Currently stopped).
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

Screenies

Post by TekniX »

ok, so heres two example screenshots of what I ment earlier. Its about electronics, and I just stuck it together quickly, but it should get the idea across.

what you see here is a basic network. You have your main group ( electronics ) and you have different sub categories that are somehow related to this electronics stuff... All of these are of the type group ( because you will later on want to be able to collapse an entire branch/part of the network and move it recursively ) ... So far so good. Nothing you couldnt do with some folders...
Image

What you see next is what happens when you expand the group connectors, you have all the subgroups for every connector type, like usb, serial (rsr32) , firewire etc. In this subgroup again you have information regarding the reseller, maybe some quick and dirty notes, of course a link to your datasheet ( file link to pdf ) and so on and so on.
Of course you can put all of this in folders, but honestly having a text file for every "Pin 1 is this and this and should NOT be connected to pin 2 directly without a xxx" note you take or even assembling all of them in one txt for one type of connector is in my opinion never going to yield such a visual and quickly accessible and expandable information flow like you have it here.. But well, thats just different tastes :) maybe im just to bad at organizing folder structures.

Image


@Serengeor,to be honest my knowledge of the gcc and ld is so little that i barely modfied the makefile from irrlicht examples by adding a debug flag somewhere, hers the makefile

Code: Select all

# Makefile for Irrlicht Examples
# It's usually sufficient to change just the target name and source file list
# and be sure that CXX is set to a valid compiler
Target = src
Sources = main.cpp
# general compiler settings
CPPFLAGS = -I ../include -I/usr/X11R6/include -I ../inc -g
CXXFLAGS = -O3 -ffast-math
#CXXFLAGS = -g -Wall

#default target is Linux
all: all_linux

ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64
endif

# target specific settings
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11
all_linux clean_linux: SYSTEM=Linux

# name of the binary - only valid for targets which set SYSTEM
DESTPATH = /home/data/work/netGUI/src/bin/main

all_linux all_win32:
	$(warning Building...)
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)

clean: clean_linux clean_win32
	$(warning Cleaning...)

clean_linux clean_win32:
	@$(RM) $(DESTPATH)

.PHONY: all all_win32 clean clean_linux clean_win32

so if you tell me what to change in order for the program to work with you ill recompile it, i guess its the -g but i took it away, and remade and the executable was still very big!

Greetz TekniX
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Well I'm not experienced on using make files or plain gcc too :oops:
I work on code::blocks, it's very easy for me to configure.
Tough there were times when I needed to use gcc, but then I just opened up google and searched for gcc compile flags.
Working on game: Marrbles (Currently stopped).
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Of course you need to recompile Irrlicht in release mode as well. And with default Irrlicht mode, linking is done static. This makes each executable pretty big anyway. What you can do is to call strip on the library or executable to remove all unused stuff.
TekniX
Posts: 24
Joined: Tue May 01, 2007 12:39 pm

Post by TekniX »

@Hybrid : so that basically means I have to recompile irrlicht with debug flags off, and then link my project against the debug off library instead of the debug on library ? Static linking means everything is included in the executable, but, on dynamic linking, will it work if the user has his irrlicht libraries somewhere else than me ? or will it just go through the standard /usr/lib etc paths and look for irrlicht there ? Btw, thanks for the tip, I would never have had the idea of "recompiling irrlicht with debug off" ^^ jeez I definitely need to get some basic knowledge of this stuff ! Thanks :)

Greetz TekniX
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

My executables get around 2.5~mb with static linking and release mode, but I removed some parts that I didn't need, like software drivers, some file loaders/exporters.
Usually when I use unmodified 1.7.2 SDK simple release mode compiled app gets around 4~5mb for me.
Working on game: Marrbles (Currently stopped).
Post Reply