Domain: liu.se
Stories and comments across the archive that link to liu.se.
Comments · 544
-
Re:OK, someone needs to say it...
I have used Linux for many years. I have tried out KDE from the very early versions of KDE/QT. However, the only thing that has always sent me back to Gnome in a day or two has been how farking ugly/blocky the QT widgets and toolkit, etc can be!
Oh dear. The look is dependant on the theme being used. Don't like it blocky? Choose a different theme! Just like GTK isn't ugly even though it appears so in these screenshots. There are obviously good and bad themes for both toolkits.
Oh, and why do the fonts in KDE look like blocky crap, however look so much smoother in Gnome on the same system with the same fonts?
Because Gnome uses 96DPI for all fonts, while KDE uses whatever value X11 gives it for the DPI. Due to lots of broken systems, this value is sometimes wrong. If you think it is wrong, go into the Control Center, click on Appearance -> Fonts, and choose 96DPI from the combo box and restart KDE. -
Learn from the best.
The "aliens" that abducted my were simply robots made to look like humans. Unfortunately, you have to be hotter than this if you want anywhere near my "escape hatch".
If robots are good enough for our robotic overlords, they're good enough for us. -
No panic
I don't think it's anything to be worried about.
http://www.ida.liu.se/~her/npp/demo.html -
Re:Defective by Design?
-
Re:Why do you have to stick to scripting?
I'm always surprised to see how much attention is focussed on a small set of languages, mostly Perl, Python, and Ruby. As the parent says, Pike is very fast with a syntax familiar to C programmers but with the typical virtues of a scripting language. It's a mystery to me why it seems to get so little use outside of the Scandinavian countries and Germany.
Another neglected language is Tcl. It isn't a speed champion, but on the shootout it comes in ahead of PHP and Ruby, not far behind Perl and Python. (It probably should rank higher. It gets no credit for the chamaneos benchmark simply because that benchmark requires the threads package which was not installed on the machine on which the benchmark was run. That is hardly a defect of Tcl.) It has good, native support for Unicode and is easily extendable in C (it was originally designed as an embedded language). There are quite a few libraries and extensions available, including several object-oriented extensions, and of course it is the native language of the Tk windowing and graphics tookit. It is actually quite Lisp-like, with arguably just the right amount of syntactic sugar. This unusually simple syntax (in comparison with just about everything other than LISP) is a great advantage over Perl with its complex syntax and numerous special cases and tricks, and over Ruby, to the extent that Ruby emulates Perl's icky syntax.
-
Why do you have to stick to scripting?
If you want to do bigger more complex things like writing web servers, why do you want to stick to a scripting language? Regardless, pike is a fast scripting language, and has a C-style syntax. There are webservers written in it (caudium, roxen) that perform well for a scripting language.
-
Re:Biodiesel Reactor
One day the cows broke into my shop[...]
I guess you didn't tell your wife about the dangers of cow-orking either!
Warning: Orking Cows is dangerous, and illegal in the state of Utah.
-
Re:Yawn.
It matters since
1) While MS .NET tries to rule the World, a J2ME (Java) 98 kb browser (with httpS: and RSS support) runs on billion devices potentially.
2) It uses Open Source Pike ( http://pike.ida.liu.se/ ) to serve millions of users
3) It is another barrier for MS infested device browsing (Run WinCE browser and see)
4) It is from a small company which managed to stand against AOL and Microsoft just by supporting standards and rely on customer trust.
5) It gives people even without a WAP 2.0 browser chance of surfing web, getting information without charge.
6) Server structure handling millions of users is Linux ( easy, check http://gemal.dk/ with it)
It is bad news for MSFT and .NET freaks which couldn't release anything like this and moron websites/coders managing to break every single standard. You know why? If your site is W3C compliant, it renders PERFECTLY on Opera Mini. -
AlternativesIn light of the recent MS/Zend announcement and because I've been suffering PHP for too long, it's time for me to start recoding all my sites. I've been looking for a replacement and I narrowed it down to these contenders:
- Erlang - Do I really want to recode all my apps using tail recursive functions?
- lua - Love the language but there's breakage between versions and poorly maintained libs.
- Haxe - New, I don't do flash. I'm only interested in server side code.
- Pike - Much cleaner and faster than PHP.
What language/runtime combination are other PHP users looking to switch to?
Perl, Python and Ruby zealots need not respond! - Erlang - Do I really want to recode all my apps using tail recursive functions?
-
Re:innovation?
PLease tell us why you'd want to have that many web pages open. It seems an awful lot.
Well, my usual tactic of reading Slashdot is to open each article to its own page, and then jump from article to article, skimming the comments and opening the most interesting ones (and ones I want to answer to) in new tabs, to be returned to later with more time and detail. This makes 100+ web pages from Slashdot alone.
Apart from this, I frequent Elfwood, which is an amateur fantasy art gallery. Browsing the pics there, if I see anything I like, I often open the authors gallery in a new window, allowing me to open any interesting pics from him in new tabs. Another 100+ web pages open.
Finally, I sometimes program with Java. Java's documentation is in HTML form, with a separate page for each class, so I'll easily get another 100+ pages open simultaneously there. And of course any other computer-related task is made easier when you can open the same document in multiple tabs and use them to display different parts.
Add to these Software Suspend, which allows me to shut down my computer for the night and continue at the morning from there I left on, with all the programs going as I left them, and 100+ pages aggregate fast. It's not that I neccessarily want to read a 100+ pages, but that the information I want or need is spread between 100+ pages, or in a 100+ locations in the same page.
HTML is the preferred way of presenting information nowadays. And Firefox is woefully incapable of handling massive numbers of open documents in a scalable way; it works technically, but it's a pain switching windows constantly.
-
Re: Rendering Time
An earlier version of the software "needs slightly less than 5 ms per iteration and parameter (>50 ms for all 12 parameters) on a PC with a 500 MHz Pentium III processor." I'm not sure if that's 50ms per frame or what. That site also has a nice mpeg of the software mapping to a face.
-
Re: Rendering Time
An earlier version of the software "needs slightly less than 5 ms per iteration and parameter (>50 ms for all 12 parameters) on a PC with a 500 MHz Pentium III processor." I'm not sure if that's 50ms per frame or what. That site also has a nice mpeg of the software mapping to a face.
-
Re:From TFA...
Don't forget Asylum, which (regardless of what Wikipedia claims) was originally released on the TRS-80 in 1980 by Med Systems Software. Prior to Asylum, they released similar 3D maze games, Deathmaze 5000 and Labyrinth. The TRS-80 had a pixel resolution of 128x48, black & white. So... uh... no textures. And, oh yeah, why has everyone forgotten Battlezone?
-
Re:So FINALLY we'll see an end to it?
-
What about the couch?a $500 GPU, weighing less than 1 pound, can produce 6 gigaflops.
Ah, but the modern GPU doesn't have its own built in couch! How many people can sit on a modern GPU? -
Re:Did they alreay win?
Have you ever heard of lsh?
-
Re:Sex
I've always wondered what it would be like to sleep with an orc.
Well, according to some modern, non-racist references, they are actually pretty good-looking and prefer to go around in the nude
;). Then again, it might just be propaganda, since the same artist makes a troll look good.Or you could just consider the birthrate of orcs; any species that breeds that fast can't be bad in bed - too much practice
;). -
Re:Sex
I've always wondered what it would be like to sleep with an orc.
Well, according to some modern, non-racist references, they are actually pretty good-looking and prefer to go around in the nude
;). Then again, it might just be propaganda, since the same artist makes a troll look good.Or you could just consider the birthrate of orcs; any species that breeds that fast can't be bad in bed - too much practice
;). -
Re:what a whiner
If OpenSSH didn't exist, people would implement some other free ssh client or switch to a different standard.
Evidence that you're right.
Currently we use OpenSSH because it's the best free one. If it didn't exist the people working on it wouldn't all suddenly stop needing it, and if it had a different license some people who work on it would no longer be interested and others who aren't suddenly would be. It's currently a well-scratched itch, but the moment it isn't, it'll be scratched another way.
Fortune 500 companies rely on OpenSSH a lot more than they do OpenBSD; if nothing else, all the major Linux distros would collaborate on a fork of OpenSSH before they'd let it die. Or, more likely, jump-start lsh. -
Re:what a whiner
Furthermore, what makes Theo think that people want to run OpenSSH? At this point, it's as entrenched as Windows--nobody has a choice.
Actually, it isn't. You can also use LSH or Dropbear, and for SSH clients there are even more alternatives (PuTTY is available for Linux, for example).
This article almost makes me consider using one of them... -
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
NannyMUD Quest: Keep the MUD tidy!
Without a doubt, NannyMUD had (and perhaps still has) the best quest system I've ever had the pleasure of playing. In NannyMUD you need both QP (quest points) as well as traditional EXP points in order to level-up. Once players reached a certain level, they became wizards, and were given the ability to script their own portions of the game and create their own quests to go along with their areas. A very novel thing for a MUD, especially in 1990.
The real beauty was the diversity and ingenuity of the quests. Many required no fighting, just a bit of logic and a little hunting around for what you need.
A few of my favorites:
- Keep the MUD tidy! (1 point)
- Smoke a pipe (32 points, by Rand)
- Find Padrone's walking castle (49 points, by Padrone)*
- Give a cold beer to a tired worker (66 points, by Vincent)
- Slay lag (360 points, by Randalar) (don't you wish you could do this in all online games!)
* The walking castle is sweet. You spend long enough inside it that you could be anywhere by the time you leave...often without a clue about which direction is home!
-
Re:Still looking and waiting for downloadBusyCursor has been replaced by Xalf according to the README on the site you linked.
According to the Xalf Website, Xalf stands for X11 Application Launch Feedback (or: "Something to look at while Netscape is loading")
Xalf comes with a Gnome Control Center capplet (screenshot) for easy configuration.
It looks like Xalf hasn't been updated in 3 years though, quote from the website:
2003-04-06
GNOME 2.X does not contain Xalf hooks, like GNOME 1.X did. Instead, GNOME2 includes support for the startup-notification protocol instead. This is a robust and future-safe solution to the problem Xalf was originally designed to solve. I'm pleased to see that support for launch feedback finally is gaining widespread support. The Xalf project has succeeded!So it looks like Xalf was discontinued after Gnome 2.x came out with the startup-notification protocol.
-
Re:Still looking and waiting for downloadBusyCursor has been replaced by Xalf according to the README on the site you linked.
According to the Xalf Website, Xalf stands for X11 Application Launch Feedback (or: "Something to look at while Netscape is loading")
Xalf comes with a Gnome Control Center capplet (screenshot) for easy configuration.
It looks like Xalf hasn't been updated in 3 years though, quote from the website:
2003-04-06
GNOME 2.X does not contain Xalf hooks, like GNOME 1.X did. Instead, GNOME2 includes support for the startup-notification protocol instead. This is a robust and future-safe solution to the problem Xalf was originally designed to solve. I'm pleased to see that support for launch feedback finally is gaining widespread support. The Xalf project has succeeded!So it looks like Xalf was discontinued after Gnome 2.x came out with the startup-notification protocol.
-
Re:Still looking and waiting for downloadBusyCursor has been replaced by Xalf according to the README on the site you linked.
According to the Xalf Website, Xalf stands for X11 Application Launch Feedback (or: "Something to look at while Netscape is loading")
Xalf comes with a Gnome Control Center capplet (screenshot) for easy configuration.
It looks like Xalf hasn't been updated in 3 years though, quote from the website:
2003-04-06
GNOME 2.X does not contain Xalf hooks, like GNOME 1.X did. Instead, GNOME2 includes support for the startup-notification protocol instead. This is a robust and future-safe solution to the problem Xalf was originally designed to solve. I'm pleased to see that support for launch feedback finally is gaining widespread support. The Xalf project has succeeded!So it looks like Xalf was discontinued after Gnome 2.x came out with the startup-notification protocol.
-
Re:Still looking and waiting for download
Well, in this case the application I am firing up is VMware, and lemme tell you it takes some time to start. Also if you keep clickityclicking, you can screw up your installation by running it more than once, which isn't good. I will look at what you mentioned, but I did find an application called busycursor that seems to do what I want (it can launch any app and display an hourglass while it starts). Still, it would be nice to have Gnome do this for me, so thanks for the info.
-
Re:Oh yeah, ol' school baby!
I'd be willing to wager that even well commented code would foil the best attempts of those being shucked out of diploma mills when faced with something like Duff's device. Pfft... but what do I know, I'm just a retail salesperson
:-) -
Hey Hey 16KAh, the memories...
My first machine was a ZX Spectrum 48K back in 1984. After getting bored with the first batch of games, I wrote my first BASIC program, a telephone directory application. String arrays! Saving to/load from tape! Yay!
The Speccy is also responsible for introducing me to Tolkien, via The Hobbit.
Since then... Amstrad CPCs (Sorcery!), 286, Sun workstations (in college), 486, etc. My current main machine is a Thinkpad X31 which is just the right size (and color!) to run spectemu on.
By the way, the Spectrum is, as far as I know, the only machine to have had a song written about it.
-
Mouse speed vs keystroke speed
When will interface designers learn that it's faster if you don't have to take your hands off the keyboard every three seconds?
Actually, there are a large number of studies that say the opposite is generally true, even for expert users who know the keystroke commands from memory (indeed, one could argue that the letter and symbol keys on a keyboard are all examples of this). The time 'saved' by keeping your hands on the home row is more than wasted by the time that it takes to recall a key-combination. It doesn't seem that way because you are actively thinking about the command, so your time sense is focused on the activity, whereas the time spent mousing around is more or less 'blank time', since the hand-eye coordination needed to match the pointer to the pointed item is more or less 'handled in hardware' once the decision of which command to use is made.
Naturally, there are several cases where keyboard commands are faster than menus, however. One is when there is a very common operation which has a permanently assigned action key, with no key-combos. Another is in the case of an expert user entering a complex, multi-operation command line, versus having to gesture the same actions; however, a case such as that is generally complex enough that the real optimal solution is to create a script of the command, even for a single use instance (some systems, such as Oberon, facilitate this by allowing you to invoke any arbitrary selected text as a script - indeed, in Oberon a menu item is nothing more than a section of text that is pinned to a given location and 'pre-selected' so that it activates on a single click). Third, multi-level menus require the user to select and target successive items, which is the same cause of slow-down in keystroke commands. Fourth, there are many cases of poorly considered 'graphical' tools that require multiple passes to home in on the target (Raskin's example of a 'visual thermometer' that requires you to adjust the height of the 'mercury' column versus simply entering the degrees into a textbox, comes to mind). Finally, 'adaptive' menus are invariably worse than keystrokes, because the changes disrupt the pattern of actions. In each of these last three cases, the reason the mouse is slower is because the layout of the UI stymies the ability of the user to habituate to them, making it a matter of design rather than a flaw with pointing devices themselves.
Ironically enough, given all the 'quick bars' around in certain systems, the worst response time in most cases is for using icons. The problem is that you have to associate the icon with not only the image it represents, but also the action it causes, and the connection between them is not always as obvious to a user as it was to the developers. The difficulty increases rapidly with the number if icons on the screen, especially if there are two or more similar icon images that need to be differentiated. Many design theorists today argue that icons should only be used sparingly, and only to represent specific physical devices (i.e., a disk drive).
What we really need are more designers who understand usability analysis, and actually use it to determine how much effort a given design takes to use.
Usability in Website and Software Design
AskTog Interaction Design Section
The Raskin Center for User Interface Design
Human-Computer Interface Institute at CMU
Human-Computer Interaction Resources on the Net
Bibliography of Human-Computer Interface Studies
Usability Tips and Tricks
Overiview of GOMS Analysis
Us -
Re:Doubtful
So how exactly are you getting 3D information from a single camera? Are you assuming a known size of the marker or are you comparing successive frames? what is the accuracy of your depth resolution?
I'm using more complex algorithm, more simple mobile versions could be found here :
http://studierstube.org/handheld_ar/artoolkitplus. php
or here
http://staffwww.itn.liu.se/~andhe/UMAR/
PC version
http://artoolkit.sourceforge.net/
My version vill be avaliable for download probably in month or two. Depth resolution actually is a sore question. For now it's like around .1 (if we take 1 as focus distance), but I'm working on it. Lateral resolution is less then one pixel after projection (for my algorithm :)), for standatrt AR toolkit it could be somehow worse. -
Re:I've moved on to python but it sucks in many wa
> We still need a new language that combines the best of these breeds.
Hmm. Not sure if that is what you would like, but maybe try Pike? http://pike.ida.liu.se/
Been around for like 10 years, syntax close to C, usually described to be close to Python. Touted to be much faster tho. -
Re:Why most geeks are male
A bit more "anecdotal evidence":
I am...
1. Not overweight (130-140 pounds -- I'm 5'8", so I look slim)
2. Not ugly. Perhaps not hot, but not ugly. A slightly *ahem* decorated webcam shot can be found here
3. Not bi or lesbian. I even have a boyfriend, and he's a geek too.
4. Not transgendered.
Hey... wait... this was all just a trick to make us post our pictures, wasn't it?
In any case, like the parent, I read obsessively before I discovered computers, and I've always been a bit of a loner. Sure, I was bullied in elementary school for being a bit different, but I was different by choice, not by necessity. People often don't even realize I'm a geek unless I'm really showing it -- if I'm not clothed in ubersexy ThinkGeek swag (as I am currently), I usually end up looking more like an arts student with my long flowing skirts and knit legwarmers. -
Re:Where are the following?I'd not pick any of those two before Effective C++, More Effective C++, Advanced C++ Programming Styles and Idioms or The C++ Programming language. After you've programmed in C++ for six months, all the introductory stuff from the books you mentioned becomes a waste of paper, while the books I listed are still useful to a professional programmer.
Also, read this excerpt of the alt.comp.lang.learn.c-c++ FAQ:
6: Why do many experts not think very highly of Herbert Schildt's books?
A good answer to this question could fill a book by itself. While no book is perfect, Schildt's books, in the opinion of many gurus, seem to positively aim to mislead learners and encourage bad habits. Schildt's beautifully clear writing style only makes things worse by causing many "satisfied" learners to recommend his books to other learners.
Do take a look at the following scathing articles before deciding to buy a Schildt text.
http://www.lysator.liu.se/c/schildt.html
http://herd.plethora.net/~seebs/c/c_tcr.html
The above reviews are admittedly based on two of Schildt's older books. However, the language they describe has not changed in the intervening period, and several books written at around the same time remain highly regarded.
The following humorous post also illustrates the general feeling towards Schildt and his books.
http://www.qnx.com/~glen/deadbeef/2764.html
There is exactly one and ONLY one C book bearing Schildt's name on its cover that is at all recommended by many C experts - see Q 25.
-
Check out Rob Pike's thoughts on code commenting
Rob Pike, a former powergeek at ATT&T labs, and a present powergeek at Google, has the following to say about code commenting. In general, I agree with him.
-
Re:I failed a coding test because of this guy
Yeah, that is BS! Especially when you have Donald Knuth, Brian Kernighan and Ken Thompson on record in defense of goto when it's warranted. References: Knuth's "Structured Programming with GOTO" (link appears dead), Kernighan, and Ken Thompson: "If you want to go somewhere, goto is the best way to get there."
And then there was the famous "'GOTO Considered Harmful' Considered Harmful" by Frank Rubin, and a a decent section in Steve McConnell's Code Complete that takes an even-handed view.
Anyway, swinging carefully back on topic, it sounds like Mr. Goto's work is at the instruction level, not the C or Fortran or even really at the algorithmic level (except maybe tricks like tiling). I program in the embedded space, where getting as close to 100% efficiency is a continual challenge. I wonder if any of his techniques scale down...
--Joe -
Re:Ever heard of playing just to see what will hap
Yes, and the first hit for "premature optimization is the root of all evil" demonstrates my point exactly. To paraphrase, a good software developer will have developed a feel for where performance issues will cause problems.
Yes, I totally agree with you and the linked essay on this.Making it easy to hand optimize can only help one to develop the feel.
I disagree here. Read the page you linked to again. The point is that you have to have a feel for the overall design of the program you are making and how that design will work in the end. It is not about how fast you can make memcpy() go (for example)--that can only get you so far. Take for example:Because QB always maintained the length of a string, I knew that the fastest way to find an unsorted string was to [search linearly]. Interesting how that doesn't come up as a potential solution for you in your string performance scenario.
That is because in the context of C (which the discussion is about) the lengths of strings are not known (quickly). For large numbers of strings your algorithm is still orders of magnitude slower than keeping the strings sorted and doing a binary search. That was my real point, and Knuth's point. That optimizing your overall algorithm can yield vast improvements that hand optimizing little sections of code just cannot come close to. This is what the linked essay says that good programmers develop a feel for, not silly little tricks to speed up a single for loop. That's the kind of thing you do very last and only if you have an intensely speed critical application and you've already exhausted optimizing your algorithms--because you're only going to speed things up by small percentages.C has a conflict of interest. If it has structures to allow you to write beautiful hand-optimization it loses its reason for existing, so guess what, it doesn't. Ugly hand-optimization is a fault of C, not of hand-optimization.
If the reason you are talking about is some semblance of portability then you are right. Have you ever read the C rationale? It explains the reasoning of the decisions the C committee made and helps you see things from their point of view. It was very enlightening for me when I first read it. It apparently used to be part of the C standard but they broke it off into a separate document at some point.
-David -
Re:emacs sgml-mode
Are you referring to psgml-mode? It's included as standard in Xemacs, but not in GNU emacs. I like it better than sgml-mode since it can autocomplete end-tags (C-c
/). -
From the source:
Duff on Duff's Device:
http://www.lysator.liu.se/c/duffs-device.html -
Perl 6 is a mistake.I've been using perl pretty much constantly since the Pink Camel, and believe me, Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal. Recently I've started using Ruby as well, and I intend to move my department over to it instead of wasting time with Perl 6.
One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language (and not one with loads of irritating whitespacethank you very much).
The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.
Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. It's like Ada all over again! The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.
On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this. Does he want Perl 6 to be flex or something?
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. I'd prefer to use a language which has always been pure synthesis of science and engineering, not some half-baked imposter.
Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD^H^H^H^H Perl is dying.
-
Re:All right overall
Agreed, windows ships with such a lousy synth and samples it's near impossible for midi files to sound anything like music. There are pleanty of freely available samples (ftp://ftp.lysator.liu.se/pub/awe32/soundfonts/8R
e alGS20.zip - should help considerably) and you can find something that will improve the experience considerably. -
Re:I think it's time to pull the plug
(Apologies to John Greneby and damn^Wthank you, chars-per-line checker)
Longium
Shadow: Little Borg, who carries the name of the most dreadful piece of sh^Hoftware... could you please bring me something from your corporate headquarters?
Borg: Of course, dear Shadow, what is it you so humbly ask to endow?
Shadow: Walk back to Redmond, dear child, and make it your company's tomb... for all I yearn for lies within your Development Room. I once heard of a program that will become like no other. Could you please bring me your still unborn OS?
Upon receiving it, the Shadow bowed in gratitude, completing her task.
Would you like anything in return, may I ask?
Borg: Please, I hope you won't find me wrong, I would like to have the mostbells, whistles and smoking mirrors an OS can sport. But no matter what I want, I would find a captive customer The most relevant.
Shadow: I'm sorry, dear little Borg, captive customers I can not give. It is sadly beyond my power.
Borg: Then I would like my OS back. For this little license agreement of ours, just turned awfully sour.
What good are you if you make me weep? Please have my OS returned by the gates of my keep.
Shadow: Neither your OS I can give you. What you have licensed is licensed, I merely strive for a way to break even.
Seeing my offer is merely out of kindness, this child will never know the embrace and extend of your fortress.
Borg: Then I wish for a way to have you undone, Mr. Shadow. I want you mauled and buried by the darkest and most blighted meadow.
Shadow: Fair enough, little Borg. Without feelings of either vain or rue, I will grant your one wish 'come true.
Without honour, without grace, you will travel to darkest place. Untouched by the vilest of gloom, your skin will always run paler than our brightest Moon.
Travel the road of which I pointed, and be forever gone.
For sure, one day you will have me undone.
Borg: Thank you kindly, shadow of whom I don't know. -
Re:Shameless plug.
They're charging about $30 for the DVD, right? Doesn't that, by definition, disqualify them from amateur status?
No. An amateur, in this context, is someone who doesn't make his living from whatever it's he's amateur at. SW6 was 5 years in production and cost thousands of euros; there's no way they will turn a profit, much less cover their living expenses from the past 5 years. Besides, the movie is supposed to become a free download after a while. Check also Elfwood, and see how many people have mentioned that they're available for doing commissions.
Amateurs sell their works all the time, they just don't make their living from it.
-
Gee, it sounds just like...... FastCGI which has had a several python modules for about 10 years...
But of course, if IBM says it's new, well it must be
;-)Okay, I checked, and I exagerrated a little bit, the earliest CVS version on mod_fastcgi.c is:
Revision 1.1 / (download) - annotate - [select for diffs] , Tue Sep 16 15:38:22 1997 UTC (7 years, 11 months ago) by stanleyg
-
Re:needs color
visualizing complex analytic functions, of course!
-
Re:Actually,