00:03.51 | *** join/#picogui file (~intranet@mctn1-0666.nb.aliant.net) |
00:26.55 | *** join/#picogui file (~jcolp@mctn1-0666.nb.aliant.net) |
01:19.41 | CIA | trunk/tools/svn/hooks r4401 03micah: Restrict log messages to 6 lines rather than 1 line in the ciabot hook |
01:21.45 | CIA | trunk/tools/irc r4402 03micah: Renaming ciabot scripts so that they won't be ambiguous once I add scripts for revision control systems other than CVS. Also testing multiple line commit messages from the picogui repository. |
01:56.47 | CIA | 10trunk/tools/svn/hooks r4403 03micah: For the picogui repository, a more verbose ciabot script done in the style of the CVS ciabot scripts. |
01:58.08 | CIA | 11trunk/tools/svn/hooks r084404 03micah: Testing a different color scheme that should be better |
02:04.25 | CIA | trunk/tools/svn/hooks r4405 03micah: Ditching the green, making the log colors configurable |
02:12.14 | CIA | trunk/tools/irc r4406 03micah: New subversion ciabot script |
02:15.43 | CIA | 11trunk/tools/svn/hooks r084407 03micah: Synchronize the picogui repository's hooks directory with the new ciabot script.. also turn the colors back on. (Hey, it works for elinks!) |
02:32.37 | *** join/#picogui darth_mall (~silme@12-203-192-186.client.attbi.com) |
02:32.43 | *** part/#picogui darth_mall (~silme@12-203-192-186.client.attbi.com) |
02:51.59 | *** join/#picogui KeyserSoze (~ksoze@12-245-37-229.client.attbi.com) |
03:51.47 | CIA | 11trunk/tools/irc r084408 03micah: Big cleanup of cia_stats.py |
03:59.03 | CIA | 11trunk/tools/irc r084409 03micah: Make CSS URL configurable, for easier testing |
04:19.48 | CIA | 11trunk/tools/irc r084410 03micah: Links for hiding sections now work |
04:20.09 | CIA | 11trunk/tools/css r084411 03micah: CSS updates required for section hiding in cia_stats |
04:22.38 | CIA | 11trunk/tools/css r084412 03micah: Better CSS-fu for the footer. This gives more space between the logos, and makes the page Not Suck when the browser window is larger than the content and there's space below the footer. |
04:46.47 | CIA | 11trunk/tools/css r084413 03micah: More CSS fixes for cia_stats: made links more consistent, added some spiffy tabby-dealies to the heading |
04:55.39 | CIA | 11trunk/tools/css r084414 03micah: A smidgen more margin between heading tabs and the rest of the heading |
04:56.45 | CIA | 11trunk/tools/irc r084415 03micah: More wonderfully useless features for cia_stats, utilizing the new heading tabs |
05:37.29 | *** join/#picogui prae (~prae@sherpadown.net) |
05:40.03 | *** join/#picogui minikkus (~root@212.174.22.154) |
05:53.18 | CIA | 11trunk/tools/irc r084416 03micah: Fixed some bugs- empty form keys are no longer added to link URLs, and disabling the refresh now actually disables it rather than refreshing as fast as possible :) |
07:46.42 | CIA | 11trunk/pg1/client/c/src r084417 03cgrigis: forgot to convert source handle to network byte order in pgSyncAppMessage() |
08:15.11 | CIA | 11trunk/tools/irc r084418 03micah: Removing OPER and #only-commits bugs from TODO |
08:17.02 | CIA | 11trunk/tools r084419 03micah: Rearranged CGIs and clients into a somewhat cleaner directory hierarchy |
08:49.04 | CIA | 11trunk/tools r084420 03micah: Separated out cia_stats-page-specific code from code that can be reused in other CGI pages on Navi |
08:52.20 | CIA | 11trunk/tools r084421 03micah: Fixing subtitle and 'most recent commits' |
09:01.45 | *** join/#picogui minikkus (~root@212.174.22.154) |
09:04.01 | CIA | 11trunk/tools r084422 03micah: New disks CGI for Navi using the code generalized out of cia_stats |
09:56.12 | *** join/#picogui Talez (~talez@talez.arach.net.au) |
11:05.54 | minikkus | hi folks |
11:05.55 | minikkus | did anybody read my post about scrollboxes? |
12:51.27 | CIA | 11trunk/tools/svn/hooks r084423 03micah: Trigger an automatic snapshot in post-commit now, rather than from a cron job |
13:00.44 | *** join/#picogui file (~intranet@mctn1-7415.nb.aliant.net) |
13:02.52 | minikkus | micah : i read you post about field widget problems. so what is your suggestion on that. do we have to live with that redrawing bug? |
13:04.20 | CIA | 11trunk/tools/svn r084424 03micah: Moved the old snapshot script to svn_snapshot_url and made one that works with a local copy |
13:05.05 | *** join/#picogui minikkus (~root@212.174.22.154) |
13:05.15 | scanline | minikkus: someone can fix the bug of course... |
13:06.13 | minikkus | of course :)) |
13:07.15 | CIA | 11trunk/tools/svn r084425 03micah: Adding the snapshots procmailrc to svn |
13:07.32 | minikkus | micah : what about scrollbox stuff. it seems to work only for the items in a box |
13:07.42 | scanline | I haven't looked at that yet |
13:08.05 | minikkus | ok |
13:10.18 | scanline | time to leave for work... ta ta |
13:11.55 | minikkus | which company do you work for, i thought you were a student.. |
14:13.07 | *** join/#picogui minikkus (~root@212.174.22.154) |
14:43.10 | *** join/#picogui gonkey{iBook} (~brandon@h-69-3-122-107.DNVTCO56.covad.net) |
15:57.49 | scanline | minikkus: summer job at the Colorado Space Grant Consortium |
16:33.57 | *** join/#picogui TD (~mike@81-6-216-215.dyn.gotadsl.co.uk) |
16:35.10 | *** join/#picogui gonk2 (~brandon@h-69-3-122-107.DNVTCO56.covad.net) |
16:39.24 | gonkulator | well |
17:40.59 | *** join/#picogui terbot (~3@adsl-67-121-56-120.dsl.anhm01.pacbell.net) |
17:41.05 | terbot | mmm |
17:50.01 | *** join/#picogui prae (~prae@sherpadown.net) |
18:01.21 | scanline | hmmm? |
18:13.03 | TD | <PROTECTED> |
18:13.06 | TD | executables..... |
18:14.21 | TD | programs |
19:10.45 | *** join/#picogui file (~intranet@mctn1-6952.nb.aliant.net) |
19:28.15 | scanline | runnables! |
19:45.34 | TD | too java :) |
19:45.41 | TD | i already settled on "exe" anyway |
19:45.55 | TD | btw, do you see severe kernel performance problems with VM/disk thrashing? |
20:59.26 | scanline | doing what? |
20:59.37 | TD | just using it |
20:59.47 | TD | heavy disk thrashing in particular |
21:00.13 | scanline | hmm |
21:00.15 | TD | for instance, when logging out i can often watch nautilus redraw the desktop line by line |
21:00.21 | scanline | not recently |
21:00.23 | TD | as it pages in parts of the image from all over the disk |
21:00.37 | scanline | though if you're using nautilus and you have less than 512MB of memory that might be the issue :p |
21:00.58 | TD | well i have 256 :-} |
21:01.06 | scanline | :) |
21:01.24 | TD | still, i would have thought they'd have stuff like swap/vm nailed by now |
21:01.29 | TD | linux isn't exactly young anymore |
21:01.30 | njs | I've been pretty unimpressed by the scheduler on my current kernel under load, especially when there's disk io involved. |
21:02.42 | TD | yeah |
21:02.56 | TD | i'm on a non-red hat kernel.org kernel now |
21:03.00 | TD | just a standard one. it's much more pleasant |
21:03.11 | TD | with the red hat one, installing an RPM could kill the system for some reason |
21:04.02 | njs | ew, I haven't managed to kill the kernel except with stupid things like make -C /usr/src/linux -j |
21:04.13 | njs | though I've gotten close a few times :-) |
21:04.23 | scanline | haha |
21:04.55 | njs | Annoying is that things like xmms start skipping really easily. On the other time, the real-time performance is staggeringly good. *shrug* |
21:05.48 | scanline | I've been a bit annoyed with realtime performance on wasabi, our TV video recording/playback box |
21:06.32 | scanline | it takes about 40% of the CPU to record and maybe 2% to play... recording is much higher priority (well, lower in UNIX terms) than playback, so playback will skip pretty badly when recording |
21:06.39 | njs | I haven't tested realtime performance of i/o heavy processes; on the other hand, this box is really i/o bound generally, so I'd be surprised if anything i/o heavy really worked well :-) |
21:07.18 | njs | (I'm running 2.4.20-wolk4.0s, which IIRC has a different scheduler than the kernel.org's 2.4.20) |
21:07.50 | TD | yes, disk io does seem to kill things pretty badly |
21:07.58 | TD | that and excessive swapping/fragmentation |
21:08.13 | TD | xmms doesn't skip anymore though now i use just a plain old 2.4.20 |
21:08.13 | njs | Fragmentation? |
21:08.17 | TD | unfortunately it b0rks wine |
21:08.39 | TD | njs: well the nautilus problem is apparently because the image blocks (about a line of pixels) are scattered all over the disk |
21:08.47 | TD | so you can see each line as the disk seek completes and its swapped back in |
21:08.58 | TD | the kernel can't keep that image together on disk |
21:09.19 | njs | ah. Yeesh. |
21:09.36 | njs | not using evolution does seem like a reasonable solution there :-) |
21:09.51 | collord | what filesystem? |
21:10.08 | TD | i like candy :( |
21:10.15 | TD | "but sir! it works in windows!" |
21:10.17 | njs | the linux swap format, it sounds like. |
21:10.25 | TD | collord: ext3, but swap is 2 dedicated partitions |
21:11.16 | TD | some of these things make me realise just how far ahead windows actually is |
21:11.25 | TD | reading some articles about how it's developed is illuminating |
21:12.04 | njs | "how far ahead"? I Really Really Doubt that you can play the realtime games I was playing on windows without writing your own device drivers and the like. |
21:12.56 | TD | njs: realtime games? |
21:12.58 | scanline | as far as being a real multitasking OS, Linux is far ahead of windows. windows seems to break down for me if I ever try to do two things at once |
21:13.00 | njs | and is windows really that good at dealing with memory pressure? |
21:13.07 | TD | XP seems ok |
21:13.16 | TD | all i know is that at work, the box is far more snappy with XP than Linux |
21:13.21 | TD | doing a comparable number of tasks |
21:13.33 | scanline | I was on win2k, and it got cranky when I tried to play music and run unreal tournament at the same time :-/ |
21:13.41 | njs | err, writing wacky realtime code |
21:13.55 | njs | TD: "snappiness" has very very little to do with the overall performance of the scheduler/vm/etc. |
21:14.17 | TD | oh, i see. not literal games :) |
21:14.38 | TD | well, if the disk scheduler is broken then it can affect performance badly |
21:14.42 | njs | TD: mostly it has to do with how biased your OS is towards making the interface seem snappy at the expense of overall performance. |
21:14.44 | TD | or it feels that way |
21:14.52 | TD | oh sure, i know that. macos demonstrates that nicely |
21:15.05 | njs | so does windows :-) |
21:15.06 | TD | still, i'd rather have it a bit slower and biased towards UI responsiveness |
21:15.36 | TD | ah, not as well as MacOS (X) does it. basically they give the UI process priority over pretty much everything |
21:16.17 | njs | I noticed in my last kernel compile an option for "tune disk drivers for desktop use". I was absolutely astonished at the extended description which 1) recommended this option be turned on as a default, 2) assured the user that the performance hit wasn't too high, and 3) quantified this by saying that disk throughput wouldn't be reduced by more than about, oh, 40%. |
21:16.19 | TD | it's all synchronous as well |
21:16.25 | TD | the result is a very slow OS that feels responsive anyway :) |
21:16.46 | njs | I did not select that option :-) |
21:16.47 | TD | that was a 2.5.x kernel? |
21:17.24 | njs | no, a WOLK kernel -- 2.4 + assorted patches from all over (including various things proposed/backported from 2.5...) |
21:17.55 | TD | ah |
21:18.30 | TD | well, everybody keeps telling me that 2.6 will rock for the desktop |
21:18.35 | TD | i can only hope that they are right |
21:18.43 | TD | also the desktop stuff needs proper optimizing as well really |
21:19.54 | njs | ck1? |
21:20.07 | kergoth | con kolivas, the same guy who did contest |
21:20.23 | kergoth | patchset designed for responsiveness. desktop tuning, preempt, low latency, etc |
21:20.31 | kergoth | wolk probably includes those and more |
21:20.51 | TD | i might try it |
21:20.53 | kergoth | he includes his own VM changes, but I prefer -aa to his |
21:21.09 | kergoth | so you apply the component patches, and select aavm (you can use ckvm, aavm, or rmap) |
21:21.13 | TD | i need to find one with NPTL as well, but i have a horrible suspicion that only the rh9 kernel has it |
21:21.31 | njs | I needed things like up to date LVM support, MPPE support, etc., so I went with WOLK. |
21:21.39 | njs | TD: I think WOLK does; WOLK has a lot of stuff :-) |
21:21.47 | TD | njs: sure? if so then i'll jump on it |
21:21.52 | TD | wine is unhappy without it |
21:21.54 | njs | wolk.sf.net |
21:24.40 | TD | what a wierd webpage |
21:25.31 | TD | hmm |
21:25.37 | TD | does it actually have a list of patches anywhere? |
21:26.10 | njs | release notes |
21:26.44 | scanline | ack, what a gross web page |
21:26.56 | scanline | javascript scrollymabobber, tastelessly rescaled image... |
21:27.15 | njs | sorry. |
21:27.37 | scanline | njs: what, did you write it? :) |
21:28.06 | njs | no, but should have just pointed you to the project page :-) |
21:28.17 | scanline | hehe |
21:28.31 | njs | scanline: (what do you take me for??) |
21:29.03 | scanline | well, I was hoping you weren't capable of such things |
21:29.08 | TD | yeah |
21:29.18 | scanline | but I know I've done some pretty nasty pages in my past, thought you might have had some dark secrets too :) |
21:29.33 | TD | yeah but ..... dude - a javascript ticker?! |
21:29.57 | scanline | it's a stretch |
21:30.20 | njs | scanline: dude, that would require, like, learning javascript. |
21:30.26 | TD | hey! |
21:30.28 | TD | javascript is cool |
21:30.30 | scanline | njs: nah, just the script kiddie approach |
21:30.35 | TD | it's a nice language. high DWIMness |
21:30.43 | TD | too bad it's abused so much |
21:30.47 | njs | (I didn't even know there was a ticker, actually; I have such things turned off. |
21:30.48 | njs | ) |
21:31.14 | scanline | njs: normally I have js off, but I'm at work and the closest web browser was internet exploder inside an rdesktop session :) |
21:32.48 | njs | I don't actually have javascript off; too much hassle. But Galeon lets you turn off javascript's status bar update commands :-) |
21:33.16 | scanline | hehe |
21:33.34 | scanline | I just keep javascript off most of the time, and flick the checkbox in the settings menu if I need it for some reason |
21:33.54 | njs | dunno if it's in the Gnome2 version; I'm still using the old one. |
21:33.59 | TD | i find that with popups blocked javascript is ok |
21:34.30 | TD | you ever read the javascript 2 specs? |
21:34.39 | TD | they were going to make it a proper language. with threads, packages etc |
21:34.53 | njs | the problem with that is that then you have to reload the page with the javascript before it will work, and half the time on such a site reloading doesn't work because they did something clever with cookies or form submits or something, and... very annoying. |
21:35.02 | njs | scary. |
21:35.42 | scanline | TD: why bother inventing a new language for that, instead of using an existing language that's small and easy to sandbox.. like python? :) |
21:36.21 | TD | well, there are a couple of things i don't like much about python |
21:36.27 | TD | javascript was quite nice in that it was super obvious |
21:36.30 | scanline | *GASP* |
21:36.30 | TD | no thinking requred |
21:36.38 | scanline | er.. caps lock spasm |
21:36.52 | TD | heh |
21:37.07 | TD | i'm too used to delphi, which never had that. it seems like a chore to me |
21:37.15 | TD | though for some inexplicable reason C# does that too |
21:37.23 | TD | er |
21:37.25 | TD | explicit |
21:37.36 | njs | scanline: I guess in the context of web page embedding one the hoary old complaint about indentation-based blocking has some merit. |
21:37.47 | scanline | heheh, true |
21:38.33 | scanline | hmm.. wonder how hard it would be to slap a new parser onto python, so you could have the same language but with C-like syntax |
21:38.40 | TD | it's good for introducing kids to coding too |
21:38.53 | TD | well, the next level of programming languages imho will be representation neutral ones |
21:38.58 | TD | hmm. there is one in the works |
21:39.03 | TD | begins with an E. can't remember its name |
21:39.11 | njs | like LISP! |
21:39.15 | TD | eurgh |
21:39.18 | TD | except... not lisp |
21:39.29 | njs | scanline: well, you could write it in python, you can write opcodes and such directly :-) |
21:39.45 | scanline | njs: indeed |
21:39.57 | scanline | njs: speaking of opcodes, I had a wacky idea a while ago... |
21:40.11 | scanline | a very minimalist python interpreter would be pretty easy to write |
21:40.13 | njs | though there's some compilation involved there; does the compile module accept any AST format? |
21:40.25 | scanline | so you could execute compiled python code that didn't use any standard libraries, using very little C |
21:40.33 | njs | Lisp would be an awesome language for embedding in web pages :-) |
21:40.48 | TD | blech |
21:40.58 | njs | though I guess it fails the "no thinking required" requirement. |
21:41.29 | TD | it also fails the "must not have ugly syntax" requirement. javascript is so popular because it's easy to understand |
21:41.42 | TD | (defun (lamba foo (bar))) or whatever isn't |
21:41.58 | njs | bah. Lisp isn't ugly. |
21:42.06 | TD | ok, not ugly. hard to read |
21:42.08 | TD | perl is ugly |
21:42.15 | TD | lisp is just plain hard to read |
21:42.18 | njs | scanline: the purpose being what? embedding python while remaining easy to distribute? |
21:42.25 | TD | (if (condition) (when-true) (when-false)) |
21:42.26 | njs | TD: no, it's not. Have you ever written serious Lisp? |
21:42.34 | TD | well, i've used elisp a bit |
21:42.35 | scanline | njs: no, embedding python in embedded systems... like say, the picogui theme interpreter :) |
21:42.45 | *** part/#picogui collord (~collord@dt.collord.net) |
21:42.46 | njs | scanline: ...aw. |
21:43.40 | scanline | njs: lalo has been going on about how cool python would be as a theme scripting tool... so this would be a very tiny way to run the themes in an embedded environment, and on the desktop or on larger embedded systems you could use a full python interpreter |
21:43.43 | njs | s/w/h/ # what was I thinking? |
21:44.21 | njs | Actually, Lisp came up a while ago when I was chatting with a friend about embedded languages; Lisp is a _really_ natural candidate for such environments. |
21:44.26 | njs | Display Lisp -- an idea whose time has come! |
21:44.41 | scanline | In pg2, Om will already provide a python-like object model.. so a python bytecode interpreter could probably be written to be no bigger than the current theme interpreter |
21:44.48 | scanline | hehe |
21:45.14 | TD | every time i try, i get put off by the wierd syntax |
21:45.17 | TD | car? cdr? |
21:45.27 | TD | named after registers on machines last built before i was even born? |
21:46.16 | njs | Deep down inside, Lisp is really, really simple. It's one of the two great proto-languages, whose design is so simple that their existence is almost a mathematical necessity. (The other being Forth, of course.) |
21:46.36 | TD | yeah, but to actually use it, it's really complicated |
21:46.42 | TD | how many standard functions does common lisp have again? |
21:47.01 | njs | yea, Common Lisp is a monster. But you wouldn't be using Common Lisp as your embedding language. |
21:47.14 | scanline | hehe, forth |
21:47.19 | TD | guile looks a bit nicer |
21:47.35 | TD | i still find untangling masses of parentheses a hassle though |
21:47.35 | scanline | forth is cool.. still think it's kind of crazy that eForth wanted me to write pg2 in forth :) |
21:47.37 | TD | words like |
21:47.40 | njs | Yeah, I generally prefer scheme to lisp. |
21:47.42 | TD | if (condition) then |
21:47.44 | TD | .. |
21:47.44 | TD | else |
21:47.47 | TD | end |
21:47.51 | TD | help me scan the code more quickly |
21:47.57 | njs | as opposed to |
21:47.59 | TD | when you remove the syntax sugar, i find it becomes harder to read |
21:48.00 | njs | (if condition |
21:48.06 | njs | <PROTECTED> |
21:48.13 | njs | <PROTECTED> |
21:48.18 | njs | ) ; end |
21:48.59 | njs | (screwed up the spacing, but you get the idea). Everyone reads indentation, anyway, not parentheses or braces or whatever it is your language has. |
21:49.16 | scanline | that's why python is so cool :) |
21:49.37 | scanline | only time python's indentation bugs me is when I try to use tab to autoindent code in emacs when I move it between indentation levels |
21:49.37 | TD | yes, i quite like the indents of python |
21:49.41 | njs | Yeah, Python got that right. Lisp gets major mileage out of its choices, though. |
21:49.52 | TD | i've worked with too much simply Wrong(tm) code to not like it |
21:50.10 | njs | scanline: nod. indent-rigidly++ |
21:50.11 | TD | if having the indents mangled broke java, my job would be a lot easier |
21:50.53 | TD | hello world in scheme, using gtk/glade etc |
21:51.20 | njs | scanline: (say, you do know about indent-rigidly, right? put the code you want to modify in the region, then C-<number> C-x TAB to move it <number> spaces to the right, C-- C-<number> to the left (standard emacs prefix argument voodoo)) |
21:51.32 | TD | yeah, emacs auto indent is cool |
21:51.47 | TD | i got used to hitting tab to mean "indent this line properly" though, which doesn't work in python-mode |
21:51.55 | scanline | njs: hmm, that's cool :) |
21:52.07 | scanline | njs: I really know far too little about emacs, even though I use it all the time :-/ |
21:52.21 | TD | haha, yeah, well, everybody thinkgs that |
21:52.28 | TD | emacswiki.org and #emacs are your friends |
21:52.46 | scanline | indeed.. I should spend more time learning emacs |
21:53.05 | TD | gnu emacs cvs is really sweet. it's the first version that actually looks good |
21:53.17 | TD | it always kind of annoys me though how primitive it is as an IDE. |
21:53.24 | TD | great as a text editor. not so great at other stuff |
21:53.38 | scanline | I never wanted emacs to be an IDE.. I always work with a bunch of terminals open |
21:54.06 | TD | i find stuff like integrated debugging to be useful, at least it was always great in delphi |
21:54.13 | TD | gud-mode in emacs isn't really the same |
21:55.18 | scanline | well... I think I'm going to go home early today |
21:55.32 | scanline | maybe the bus schedule gods will smile on me and I'll actually arrive early |
21:55.49 | njs | "looks good"? Now I'm worried; I almost didn't upgrade to v21 because of the silly scrollbar. |
21:55.50 | scanline | see you folks again in a couple hours :) |
21:56.06 | njs | *waves* |
21:56.21 | TD | heh |
21:56.23 | TD | scanline: later! :) |
21:56.28 | TD | njs: delphi blows VC++ away |
21:56.34 | TD | i was spoilt as a kid :) |
21:56.42 | TD | lousy text editor though |
21:56.47 | njs | *shrug* I really don't know what more I'd want out of a debugger. |
21:56.58 | njs | (besides fixing generaly gdb brokenness in things like thread handling, anyway.) |
21:59.21 | TD | hmm, well at least in xemacs the color highlighting for breakpoints is horrid |
21:59.27 | TD | bright purple on grey? who on earth chose that? |
21:59.48 | TD | it doesn't span the entire line either, which looks wierd compared to what i'm used to. when i figure out enough elisp to know extents i might try fixing it |
21:59.53 | TD | must try gnu emacs i have here as well |
21:59.53 | njs | umm, if that's the delphi advantage, I'm not very impressed :-) |
22:00.00 | TD | hehe. nah. delphi had a lot of cool stuff |
22:00.24 | TD | nice sane class lib, ultra fast compiler, proper symbol completion, nice langauge (object pascal) |
22:00.41 | TD | plus all the usual IDE garbage that you get on windows, class browsers etc that i never used |
22:00.46 | TD | useless help system :) |
22:01.20 | TD | the only stuff i really miss is the fast compiler and symbol completion |
22:01.21 | njs | the first line of that was really all "object pascal", which is nice and all, but not something I have any interest in using. :-) |
22:01.24 | TD | C is OK when i get used to that |
22:01.44 | TD | well, not really. the VCL would have been nice in any language |
22:02.33 | TD | and people tend to think of ObjPascal as being very obscure, but actually delphi has a huge following in win32 land. it's also a very clean language, like C++ except more sane (but a bit less powerful) |
22:02.44 | TD | unfortunately entirely proprietary though |
22:02.49 | TD | no grammar for objpascal |
22:11.05 | njs | emacs can mostly do symbol completion, really; there are a few packages. |
22:13.40 | njs | tags are really nice, and there are some much more ambitious packages out there too that I haven't tried. |
22:14.57 | merlin262 | TD: that's not entirely true, there is freepascal |
22:15.04 | TD | yeah, i know |
22:15.06 | TD | and lazarus |
22:15.09 | TD | not quite the same |
22:15.14 | TD | njs: yeah, i use tags now |
22:15.31 | TD | i managed to b0rk my setup at work. works nicely here though |
22:15.39 | TD | it's not context sensitive, but that isn't a huge problem |
22:15.43 | TD | semantic never worked for me |
22:16.20 | merlin262 | free pascal would be really nice if they added support for dynamically loaded libs |
22:16.41 | TD | i haven't played with it |
22:17.09 | TD | too bad obj pascal has no acceptance on linux. you might as well invent your own language. ok if you don't care about people sending you patches i guess |
22:17.24 | TD | the alternatives, well..... not found my true home yet |
22:17.43 | merlin262 | python is nice |
22:17.43 | njs | If I were going to use a really obscure language, I'd rather use an interesting one like Haskell or something :-) |
22:17.50 | TD | C is too primitive. C++ is too "hmmmmmm". Java is too java. C# is too redmond. python sometimes annoys me, perl is too ugly |
22:18.01 | TD | bash is ok though :D |
22:18.07 | njs | TD is too sensitive. |
22:18.08 | njs | err. |
22:18.13 | TD | too picky |
22:18.14 | njs | ;-) |
22:18.29 | merlin262 | what annoys you about python? |
22:18.31 | TD | python is probably my favourite at the moment, but i hardly ever use it |
22:18.38 | TD | well, explicit self parameters |
22:18.46 | merlin262 | ahhh |
22:18.48 | merlin262 | yea |
22:18.50 | TD | rather inconsistant class libs |
22:19.04 | njs | there's no such thing as a perfect language, anyway; you have to use lots of them for a while, and gradually you learn how to think in terms of each, and when each is useful. |
22:19.08 | TD | there doesn't seem to be any real fixed style for them. plus some stuff that i'd expect to be a class member, isn't. |
22:19.18 | TD | yeah. my problem is that i used delphi for years |
22:19.24 | TD | and then turbo pascal for years before that |
22:19.30 | merlin262 | TD: If you want, you can download Kylix |
22:19.31 | njs | explicit self parameters are actually a good thing about Python, IMO. They make the overall language _much_ simpler. |
22:19.38 | TD | so partly it's just familiarity, and slightly rose tinted spectacles |
22:19.44 | TD | merlin262: kylix is horrid :( |
22:19.58 | merlin262 | hehe |
22:19.59 | TD | njs: oh? why is that? implicit self would seem a useful shortcut |
22:20.16 | TD | it also reinforces the link between object methods and data |
22:20.29 | TD | merlin262: delphi itself under wine feels better |
22:20.41 | njs | TD: because it would require a total rewrite of the python object model, and end up being much less flexible. |
22:21.44 | njs | TD: python doesn't _want_ a reinforced link between object methods and data. I can understand how you might want such a thing at times, but that's not python's philosophy, and you have to look at languages as complete systems. |
22:22.03 | TD | then what is its philosophy |
22:22.34 | njs | *shrug* Spend a lot of time grokking how python works, and you'll get a feel for it. I have no idea how to explain things like that in words :-) |
22:22.40 | TD | heh |
22:22.50 | TD | well you can get used to any language given enough time |
22:22.52 | TD | maybe even C :) |
22:23.28 | njs | No, that's not true. Some languages don't _have_ internally consistent philosophies. |
22:23.42 | njs | I sorta feel like Java is in this camp, though I'm not sure :-) |
22:23.47 | *** join/#picogui Jiggaz (~Jiggaz@0-1pool104-159.nas39.thornton1.co.us.da.qwest.net) |
22:23.49 | TD | java i find to be very consistant |
22:23.51 | TD | moreso than python |
22:24.01 | TD | i quite like java in fact. but it's somewhat overengineered |
22:24.16 | TD | the class libs in particular feel like when you're breathing but your chest is submerged in water. |
22:24.23 | TD | basics stuff is more effort than it should be |
22:25.26 | njs | Java irritates me horribly, and I haven't quite figured out why :-). It really doesn't have anything like a clean, coherent design, is a lot of it. |
22:26.22 | TD | we must have different ideas of cleanness then. i've only ever really done server work with it too |
22:26.26 | TD | maybe it's different for client side work |
22:26.48 | njs | I can't imagine how it would matter :-) |
22:27.06 | TD | well swing is like a lot of the other java apis, quite heavy |
22:27.28 | njs | things like overloading being bad and verboten, unless String does it. Oh, and we couldn't decide whether we wanted to allow stack allocation, so we have this horrid mess of boxed versus unboxed types. And so on... |
22:27.52 | *** join/#picogui gonkey{iBook} (~brandon@h-69-3-122-107.DNVTCO56.covad.net) |
22:28.06 | merlin262 | wb gonkey{iBook} |
22:28.11 | TD | i haven't encountered that stuff |
22:28.17 | TD | i wasn't aware overloading was verboten either :) |
22:28.42 | TD | likewise, i've yet to meet boxed vs unboxed. |
22:28.45 | njs | checked exceptions? Who knows where they come from, but they got bolted on anyway... that sort of thing. Java feels like a language designed by a company, not a person. |
22:28.57 | njs | ... uh ... have you done any java programming at all? :-) |
22:29.02 | TD | the exception handling annoys me sometimes |
22:29.06 | gonkey{iBook} | howdy merlin262 |
22:29.15 | TD | yes |
22:29.20 | merlin262 | I've got my code converted to using the jump table now |
22:29.27 | njs | unboxed types: int, double, etc. boxed types: Integer, Double, etc. |
22:29.40 | TD | ah, i see what you mean |
22:29.46 | TD | not seen them referred to in that way before |
22:29.53 | njs | And java doesn't have operator overloading, except they make an exception for the built-in String class. |
22:30.16 | TD | yes, that is a bit odd. for performance iirc |
22:31.14 | TD | well, when I say "java" i'm probably referring as much to the java apis as much as the language |
22:32.06 | njs | operator overloading has nothing whatsoever to do with performance. The only rationale I've ever seen is that operator overloading is confusing and wrong-headed (which I guess it can be if you're confused about whether you're writing Java or C?). I've never heard any rationale for making the exception :-) |
22:32.20 | TD | no, i meant boxing |
22:32.48 | TD | the lack of operator overloading is an irritant yes. |
22:33.02 | TD | but OTOH if you reintroduce every feature of C++, you end up with something very much like, well, C++ |
22:33.08 | njs | oh, yes. Boxing is about performance, though it feels like speed over correctness to me. |
22:33.42 | njs | *shrug* C++ is good at what it does. I'm not annoyed at the lack of operator overloading such as that the language just isn't internally coherent. |
22:34.05 | njs | however, I should get back to work. :-) |
22:34.11 | TD | and i should get some sleep |
22:34.19 | TD | good chatting to you :) ttyl |