Widget ideas#
- text window showing a subset of a gigantic (>100GB), should allow filtering, search, folding of blocks
- scrollbar with background image that can be updated. idea: show summary of environment in which we scroll.
- graph with objects I can click on and select associated data in other widget. Lasso to select a group of associate objects
- 2d heat map where I can click to find associated data. Select a group (possibly a la gimp). Ideally, zoomable, scrollable
- display two or more images on top of each other with a transformation for each, combine them (transparency, difference). Allow to zoom and scroll.
- layout manager that allows to stack widgets (e.g. Map of scrollable area on to of scrollable)
- text label that shows image behind text (e.g. Bar that shows value etc). The image could be blended with background color to make text more readable.
Text summary#
Text summary Summarize big documents visually- thumbnails per page (section?)
- identify important words, assign colors, show them on reduced representation of doc (a couple pixel per page)
- when zoomed in show sentences that are important
- could apply to websites, clusters of docs etc.
Application idea#
Trace viewer#
Goals:- View strace, truss
- Focus on single line records but be ready for multi-line
- Display text as-is or parsed into columns
- Try to have light weight classes (point to records)
Columns:
- Time
- Pid/thread id
- Name of syscall
- Args
- Result
Sort by:
- Time
- Pid/thread id
- Syscall
- Args (textually, useful for file names)
- Result (useless?)
Filter by:
- Time
- Pid/thread id
- Syscall (list of names?)
- Args (substring, regexp?)
- Result
Actions:
- on pid/thread id
- show command (if possible)
- set filter to exclude/include
- if still running: pstack, attach dbg, jstack, memory use
- on syscall:
- man page
- set filter to exclude/include explicitly
- on args
- set filter to exclude/include with text under cursor as default value
- on result
- set filter to exclude/include
- explain value
Graphs:
- time
- name of call
- values
- args: checksum of text, extract from text
General types:
- number
- time
- text
Additional fields: Use cases:
- where is the app looking for that file?
- what is taking time?
- find string in read or write, identify the file (previous open that returned the file descriptor)
- find sigsegv
- find children spawned
- pid to execve command
- find errors (system calls return error code, child processes returning error codes)
- timing graph (time, pid or system call time)
- show network connections?
- show open files?
- bookmark position
- take snapshot
- copy paste
- jump to other process talking to this one (port number, lsof, pid, strace)
- open multiple strace commands, merge in one view
- load multiple files, merge (time)
- diff (ignore time)
Implementation techniques#
- Use composition to display image background behind widget: swing
- glazed lists seem interesting for searching/filtering lists
Add new attachment
Only authorized users are allowed to upload new attachments.