The plan for day five... I was thinking of doing some user interface work, making the zooming more context-sensitive (i.e. zoom to the part I'm interested in.) Clicking on an unreadable entry should zoom in to the point where you can comfortably read it. Also, thinking of making the scroll wheel, well, scroll and relegate zoom to where the pan currently is.
In addition to that, recursive drawing of directories. Draw recursively until all the directory entries are smaller than the cut-off point. As the total amount of entries drawn per screen can't really exceed 5000 or so (the vertical resolution, she is limited!), the framerate should remain in the 20fps range. And yeah, only 20fps for drawing 10000 rectangles (2 per entry) is pretty pathetic, but one takes what one can get.
I'll try and write a preliminary traversal server as well, it shouldn't take more than an hour...
Timed sorting a bit. Sorting an array of 4000 strings in C# took 130 ms for the first time, 60ms for the sorting the already sorted array. Sorting a list of 4000 strings in OCaml took 4 ms, 2 ms for already sorted. Interestingly, sorting an array of strings took 5ms in OCaml, which is more than what it took for the list sort.
Sorting an array of 4000 integers in OCaml took 2 ms, but only 1.08 ms in C#. So, my guess is that the C# string comparison operator is slow and that the integer sorting special case is highly optimized. So if I can do a partial string sort in terms of an integer array, I might get speeds closer to OCaml's 4ms.
art with code
- ► 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