art with code
Filezoo, day 8: Merge of the recursive branch
Branched the master into a recursive branch on day 6, worked on that branch and rewrote most of the drawing and traversal code. Yes, you may facepalm now. But I got out of it and the code works again, so I can't complain too much. Was banging my head against the wall with recursive drawing and traversal for two days though.
Now Filezoo has recursive drawing of the directory hierarchy with titles and all. Relayouting the tree is still clunky when using Count / Total size filters, and there are some nasty performance edge cases when browsing to huge monotonous directory structures (especially while their traversal is still in progress.)
I'm currently writing a requirements document for staking some goalposts for the application, and also to provide development focus. So day 9 will be typing the first version of requirements out. As that won't take all that much time, I'll also be working on performance and making the navigation more natural (it should work by zooming all the way so that there's no need to click on directories / breadcrumb entries.)
Full-scale zoom requires some hacks though, as Cairo can't handle large coordinates and you start running into accuracy problems with doubles at high zooms anyhow. If I find a nice way to use bignums, I'll use those. If not, I'll emulate them. Anyhow, need to do the zooming matrix math with bignums and project and clip to screen space doubles for drawing.
Not all that happy with the new layout, so will have to work on that too...
- ► 2013 (26)
- ► 2011 (20)
- ► 2010 (94)
- ► 2009 (84)
- Filezoo, day 18
- Filezoo, 17.3: image thumbnails
- Filezoo, 17.2: context menu, a bit nicer monitorin...
- Filezoo, 17.1: rewrite done-ish
- Filezoo, 16.1: rewrite, dev env screenie
- Filezoo, 15.2: DirStats static rewrite
- Filezoo, day 15: refactoring plan
- Yeah, it's going to be difficult
- Filezoo, day 14
- X application startup times
- More fishes
- Filezoo startup profile
- Filezoo, start of day 13: some timings, thumbnail ...
- Filezoo, day 12: zoom navigation
- Filezoo, day 11: silly icons, less traversal, pare...
- Filezoo, end of day 10 / start of day 11
- Filezoo, day 10 and 2/3: Manual rectangle clipping...
- Filezoo, end of day 9: requirements document, inte...
- Filezoo, start of day 9: more traversal banging, f...
- Filezoo, day 8: Merge of the recursive branch
- Filezoo, day 6
- Filezoo, end of day 5: Context-sensitive zoom, rec...
- Filezoo, start of day 5
- Filezoo, end of day 4: Speed!
- Filezoo: start of day 4
- A small shell script for Googling
- Filezoo, end of day 3: open terminal, threads
- Filezoo, start of day 3: zooming and panning
- Filezoo: end of day 2
- Filezoo: visual du with aspirations towards file m...
- Visual disk usage app using Mono
- A simple C# analog clock with Mono and Cairo
- Black on white desktop theme
- ▼ November (34)
- Built art installations, web sites, graphics libraries, web browsers, mobile apps, desktop apps, media player themes, many nutty prototypes, much bad code, much bad art.Have freelanced for Verizon, Google, Mozilla, Warner Bros, Sony Pictures, Yahoo!, Microsoft, Valve Software, TDK Electronics.Ex-Chrome Developer Relations.
- Filezoo - Minimalistic zoomable file manager
- Missile Fleet - A game written with Cake.js
- Gitbug - In-repo bug tracker for Git
- Prelude.ml - OCaml stdlib replacement with a Haskellish flavour
- Metadata - File metadata extraction tool and Ruby library
- Thumbnailer - File thumbnailing tool and Ruby library
- Random canvas demos