Yes I would have to second that. In addition, it also helps to trust the compiler a bit more to do the inlining. If a method has more than a screen full of code (i.e. about 20 lines), split the method into multiple methods. This has two advantages: you give a name to a piece of related code (abstraction) and you may be able to reuse the function. A good compiler will inline so there's no performance penalty.
Similarly if your module/class whatever becomes too large it will be more difficult to maintain. Usually large modules/classes are a clear indication of lack of cohesiveness which is bad for maintainability.
Another thing that can be extremely helpfull are pretty printers (the beautifier that comes with JEdit is great, automatically does its job whenever you save). Good ones also generate the necessary Javadoc stubs (if you're coding Java) thus lowering the burden of creating meaningfull comments (javadoc like tools exist for C++ too!). In addition pretty printers give your code a uniform structure, making it easier to browse.
Enforcing all this requires code reviews. Most larger software organizations with competent software developers in charge will insist on this already.
My logitech is an OK mouse, except for the drivers. In order to use the thumb button you need the logitech drivers (otherwise it works fine with the MS drivers). However, these drivers interfere with wheel usage in games and you cannot use the thumb button unless you bind it to e.g. the shift or ctrl button which makes it useless outside games.
The solution for the wheel problem is to kill the mouse software before starting the game or run a registry hack (available on the logitech site, well hidden though) which causes some applications to receive wheel events twice.
In addition to all this I sometimes have issues with my keyboard after coming out of hibernation mode.
I would go for the MS mouse if I had to spend my money again. The MS drivers are more stable. In terms of precision you shouldn't expect miracles from the logitech BTW.
The error he makes is that he projects the way people use computers today to a HAL like computer and then comes to the conclusion that that won't work because it requires too much interaction.
He is of course right about that. However, if you add AI to the mix, the computer will be able to take initiative and have some level of understanding about what you are saying. Hal was more than just speech recognition, it was more like a very clever secretary.
Say you need to go to some place and need a plane ticket and a hotel and directions for getting around. This is the kind of stuff you would let a secretary do for you and a good one wouldn't bother you with trivialities. You definately would not want to sit next to him/her and provide detailed directions on where to look, compare prices and so on because that is the stuff that takes time and the main reason you're delegating the work.
An intelligent computer would have enough information given a pretty vague expression like "hey I need to there and there for conference X, book me a plane and a hotel". Assuming you've worked together for some time, it should have enough information to figure out most information (like window or aisle seats, smoking/non smoking hotel room, price range for hotels, etc.). And it can always ask for additional information either verbally or non verbally depending on where you are and what you are doing. It could actually call you on your cell phone and ask but it could also send an email or an instant message.
IMHO we are at least decades away from building such systems all of the basic techniques needed to accomplish this are still immature (although very usefull already).
MS is often loathed for unleashing clippy onto this world but clippy was the result of extensive research into usability and human computer interaction by MS. It was rushed to market and a genuine pain in the ass (mostly because of its lack of intelligence) but the concept of some AI program watching what you are doing and intervening and offering you usefull options is not bad.
I'm in a computer science department as well. Indeed most of the computer scientists are using Latex because of one reason: mathematical formulas. However, I'm part of the software engineering group within that department and typically our papers do not contain much formulas. Internally we use framemaker (which has an adequate formula editor BTW). Most of the relevant conferences in our area (e.g. OOPSLA, Ecoop, ICSE, TOOLS) have long resorted to pdf and actually receive a mixture of pdf, ps and word documents. Some of the smaller conferences (e.g. SPLC) are even recommending word as the format of choice and are providing templates and such.
Many of the journals in that area have not made the move away from Tex yet but increasingly they are forced by their authors (who predominantly submit non Tex documents) to also accept other formats. Converting between tex and other formats has always been hard, so increasingly Tex becomes more unfeasible on the editors side as well. Editing conference proceedings consists of putting PDFs in the right order, however journals still require some additional editing. Doing that in Tex when most of your content comes in the form of word documents is foolish.
I've been involved with the organization of two conferences now. I can assure you that doing the conference proceedings in Tex would not have been possible since most of the stuff we accepted was not written in Tex. In fact my biggest headaches were poorly generated pdfs from tex documents. Apart from being large files consisting of pregenerated bitmaps, there were also issues with fonts and graphics which caused our HP printer to choke on it more than once. Proper tools for generating pdf from latex exist, but evidently are not widely used.
Most people outside the math community (including of course the other formula heavy communities like computer science, physics, etc.) use word or similarly feature rich word processors. Latex doesn't have these features, nor do adequate conversion tools for latex exist (i.e. tools that preserve structure, crossreferences, formatting and graphics). There are some frontends for latex, none of which have impressed me very much in the past. Lack of features, user friendliness and conversion tools are the main reason that people who do not explicitly need it do not use latex. I'm sure there are a handfull of sociologist who use latex but I'd be very surprised if more than 1% of all sociologists would even know what latex is.
I'm sure latex is excellent for handling exotic things like custom Hindi fonts but most users don't need that. On top of that, MS word is pretty good in non western scripts such as arabic, hebrew, chinese and japanese (and maybe even Hindi). I'm pretty sure VI/emacs are not prepared for that kind of work since, like Latex, they are ascii oriented (not even unicode). Of course given prehistoric hard/software, linux/latex is probably a very good option, no argument there.
Mostly editing of journals and conference proceedings is either non profit work or work that is done with a limited budget. Outside of the math community Latex is not used very much (it never was, for obvious reasons of lack of user friendliness).
Editors generally need editable formats. PDF is not very editable (especially pdfs generated from dvis, get those a lot and hate them). Latex is editable but is pretty hard to convert (been there, done that, cost me way too much of my time). Word, like it or not (personally I don't) is a format that can be read on most platforms, including unix variants. Most third party provided wordprocessors have import/export functionality for word that goes way beyond import/export functionality for latex (mostly non existing). Probably the first thing a professional editor does is import the word files into a professional DTP package (at least that's what I would do). Having to deal with tex would be a pain in this case because of all the \, {, } and other latex thingies you need to manually locate and replace by the proper alternatives. (not to mention stuff like reference citations and dealing with eps files that are hard to edit)
I mostly write my own stuff in framemaker. If needed, I can convert to word pretty quickly and meet relevant formatting instructions. Converting from either one to latex is something I will try to avoid since it is generally quite hard and takes a lot of time. Journals that require latex are getting pretty rare in my area of research (Software Engineering) mostly because most researchers in that area use macs/pcs. In the case I encounter a journal that wants tex I simply deliver in word. If they want latex they can typeset it themselves, I have better things to do.
BTW. all those people using latex because of the formulas: Open office now includes a formula editor that can read/write mathml. Converters to and from mathml exist for latex so you can migrate pretty easily. The formula editor itself doesn't look to bad either. OpenOffice is free and can export to word better than anything I've seen before.
What was going on in this case was that the launching system had a minor but cumulative rounding error in its time measuring. After cumulating for several days, the deviation was big enough to let the launched patriot completely miss its target (timing is essential when traveling at several times the speed of sound) and slam into the ground at the wrong place.
Whether is a direct consequence of the bug is debatable. But it would maybe have hit its target if that bug had not been present and not slammed into the ground on the wrong side of the front-line.
I mostly use windows with outlook. I am pretty fed up with outlook (slow, unstable, insecure, vendor lock in and hard to export mail/addresses without losing information) and would like an alternative. I've been looking for a serious alternative for a while. I specifically dislike Netscape (too slow, insists on running in the same process as my browser), Eudora (too ugly/old) and Pegasus (too ugly/old)and consider them to be inferior options and haven't seen any other comparable mail clients (in fact I consider outlook express to be better than any of these). There are plenty of other mail clients but they all lack features.
Specifically I want HTML in my mail but no scripting (unlike the popular beliefs here, outlook can provide this functionality). This disqualifies any command-line clients. I want flexible filtering. I receive a lot of mail and filtering is essential to me. Outlook is pretty good in this area too. I don't use/care about calendering right now but may need it in the future. It needs to be fast. Outlook does not scale well. Searches take forever in my mailbox and sometimes it just sits there for minutes doing god knows what for no obvious reason leaving me waiting to read/send some mail.
Evolution looks like it has most of the features I need and I would consider using it instead of Outlook. I like the concept of a virtual folder and would probably use such a feature to organize my mail (1 virtual folder for each of my colleagues, 1 folder per topic I'm working on, 1 with everything in it, etc.). Because it is open source I have some level of confidence it performs well and is secure. If only it had a win32 version.
I think being crossplatform would convince a lot of organizations of standardizing on evolution. Reality dictates that most companies need to use ms office and depend on calendering. However, a lot of people are very annoyed by the continueing stream of outlook related security breaches. Most large companies have lost valuable time fixing such issues in the past few years. I'm an advanced user and know how to dodge security issues in outlook but it still is annoying.
If evolution is anywhere near as good as it is claimed to be, a lot of people would switch if it was available on their platform of choice. I certainly would give it some serious consideration.
No, because making it a proper behaving aqua app requires fundamental changes to the app they won't port it. The best we may expect in the future is that they make it compile on OS-X like they can make it compile on other operating systems. Beyond that more changes are unlikely.
It mostly depends on how large the market for a product is. Adobe for example has ported photoshop but hasn't and most likely will never port framemaker. Framemaker has so much legacy code in it, it is almost impossible to fundamentally change it. The recently announced 7.0 version for instance still has no multi level undo even though this is one of the most often requested features. Implementing multilevel undo would require changes to large parts of the code and is therefore not feasible. I suspect that Quark express has a similarly sized group of professional users and a similar amount of legacy code. Porting probably would cost more than it would ever pay back.
I must admit I always found unreal tournament a bit boring. However I've been hooked for months already on a modification for it: strikeforce. Without that modification (and many others), unreal tournament wouldn't have survived long on my harddisk. Strikeforce is an absolutely brilliant mod. Great maps, great gameplay.
I had the same with the original unreal. Single player was fun while it lasted. After that I kept the game around to play the mods.
Don't confuse moralism, idealism and economy. You are being moralistic and confusing it with idealism. The irony is that this a simple economic problem of value adding. Any sound business model is based on adding value to something and subsequently charging for the resulting product.
Most of the cost represented by the price of 20$ for a cd is not related to the music creation process (i.e. the artist's work). Instead it is related to the production, marketing & distribution of plastic discs containing the music. Napster has 'reliefed' the record industry of these tasks so the record industry is no longer adding any value to their products. Given this reality, our capitalistic system is simply functioning properly and the only result can be that either the record company finds a new way of adding value to their product or will simply die.
The record industry has managed to slow this process by price fixing, seeking legal protection, persuading politicians to adapt the law when that didn't work, trying to persuade hardware manufacturers to adapt their products and many other tricks. However, they have so far failed to add value to their product and have even started to remove value from their products (e.g. the celine dion cd that makes your pc crash).
It's as simple as this. Because the record industry is no longer adding value they are losing market share.
Consider the invention of book printing. Before book printing, clerics would spent months or even years manually copying books. The resulting volumes were expensive. Then book printing was invented and greatly reduced the cost of creating a copy. This probably killed the market for hand copied books. Is that bad? Is that evil? No it's a simple case of no longer adding value. Just like hand copying books is no longer a good business model, creating little plastic discs with music on them has also become a waste of time.
Most of the stuff apache has done in Java would be very hard to replicate in other languages because Java has some features most other languages do not have: classloaders, reflection, an extremely flexible security model, garbage collection, tons of other functionality...
This has nothing to do with the language but it has all to do with the execution environment. Only because these features are there was it possible to create something like tomcat. It's simply a case of the best tool for the best job.
The only problem with apache and most other OSS projects is the throw it over the fence release policy. Most OSS projects develop and test pretty effectively. However when it comes to releasing a product it's different. Apache for windows comes with a nice installer. However it doesn't integrate very well with the OS in the sense that the management interface provided in that OS is simply not used. This is defended from a point of view of security but my feeling is that this argument is as valid as this post's parent gut feeling arguments regarding the suitability of Java for implementing network applications.
The main reason UNIX sysadmins are so expensive is the backwards way of configuring it. It doesn't take a genious to get apache configured, just a monkey who's memorized all the parameters and can do the VI voodoo thing. It takes years to memorize all relevant settings of relevant services under linux, hence the overrated price of what could only be seen as the plumbers of the IT world (no offense).
I installed windows XP on my PC: pop in cd, let the pc boot from it, fill in serial number, choose some international settings, create a user and let it do its thing: fully automatic from there. It correctly configures both my NICs, my voodoo 3, my vortex 2 based soundcard, modem, cdrw, various USB devices and even my monitor (so I get the best resolution at the right refreshrate). Afterwards of course you have to activate the damn thing;-).
I can't imagine how the setup could possibly be easier since it pretty much needs to know what it asks the user and there's no reliable way of finding out automagically.
There's an article on Mozillazine explaining RC1 and its relation to 1.0 final which is due as soon as the developers are happy with the RC. The article even leaves room for an RC 2 if one is needed.
Kde 2.2.1 is in the works for cygwin. It's been taking a while already so I gather it's a non trivial effort that requires quite a bit of patching. Personally, I'd love having KDE on my windows box coexisting with all the window apps I need to run, but beyond the coolness factor I have no use for it really:-).
I agree it is not practical. However the concepts he presents are not bad. Architecture is all about communicating the intention of technical solutions and designs to other people including coders, testers, customers and managers.
The concept of a drawbridge is easy to understand and if you put a guard on it the intention is pretty clear. Of course it depends on how you implement these concepts whether it will actually work. If your drawbridge is http and the guard consists of a perl cgi script that will match a three letter password to an unprotected list of valid passwords you are fucked. But at least you will be able to explain that the guard is easy to bypass and your drawbridge is inherently insecure: much better to use https, encrypted passwords of at least 8 letters, etc.
What the industry needs is proven solutions with clear, well understood concepts. This guy proposes some useful concepts and analogies that are easy to understand and, as he argues, easy to map to existing, proven technology.
Such research often borders on medical research which arguably is beneficial to a lot of people. A lot of drugs used to persuade people into confessing stuff is based on research that might very well be used to treat people with mental disorders for instance.
The technique of an electric chair is obviously intended to kill human beings. But does that make electicity bad? You might argue that such a chair is specifically designed to kill but not destroy the body, however I counter that that knowledge has also been used to slaughter cattle in a less cruel way. Electric chairs are typically considered cruel instruments in most of the so-called civilized world (except for isolated parts of the world where state approved lynching is still being practiced).
Hey the world survived not being flat, not being the centre of the universe, revolving around the sun instead of the other way around, Darwin, nuclear science, space travel, television, the internet, the turn of the millenium etc. All this despite hords of hysterical people proclaiming it would be the end of the world as we know it. Just because large groups of people all believe the same doesn't make it true.
Cloning is just another technology. What's hard to swallow for religious people is that it shouldn't be possible to do according to their beliefs and being proven wrong might have consequences for the validity of other things they belief (like having a soul, reincarnation, heaven, getting access to 70 virgins if you blow yourself up in a shopping centre,..). Up until now they were able to hide behind the illusion that humans are somehow different from animals (which from a biological point of view is nonsense, it's just another mammal). Other mammals have been cloned succesfully so from a scientific point of view cloning a human being is not a significant step forward. Of course there are technological problems (most notably the large amount of cloning attempts needed to perform one successful clone) with the procedure but as scientists continue to do research these problems will be resolved eventually.
Technology by itself is not bad. However certain applications of it can certainly be evil. A box of matches can be used to light a candle and it can be used to set fire to a house full of people. Does that make the box of matches evil technology? Of course not! Similarly cloning has a lot of applications where it's use would be beneficial. I, for instance, would love to have a clone of my heart available when my own one needs replacement in a couple of decades (not entirely unlikely given the number of heart deseases in my family). Of course I wouldn't want to kill a full grown living and breading clone of me to obtain that heart but that may very well be unnecessary.
There are religious and ethical people who want to attach full human rights to arbitrarily small clusters of human cells (fertalized eggs, tiny embryo's, etc.). From a scientific point of view this is of course complete nonsense. Based on this they would consider it murder if such tiny clusters of cells are manipulated. However, often the same people eat meat (requires killing of much larger clusters of non human cells) and have no problems with getting rid of annoying insects, which is very inconsistent to say the least.
Download the GPLed source code (limewire.org) and compile it yourself. It requires a jdk and ant (the popular build tool from apache). Once that is done (in less than a minute on my machine) you have an ad free version (aka Limewire Pro). Alternatively download the java only installer (has ads but no spyware).
Of these kinds of languages Java is simply the most widely used which is why I highlighted it. Outside the macintosh platform, objective C is not used very often as far as I know. Smalltalk is pretty much a thing of the past now. Even research papers mostly use Java (or derived languages) nowadays for examples/case studies/etc.
Java was created by people who worked on smalltalk and self in the eighties so it is definately no coincidence that it has a lot in common with those languages.
Your question is very vague but I'll bite. First of all you need to understand the design solutions you can use. There are various ways of implenting plugins. Most of them depend on a component model like COM, JavaBeans or Corba. Essential is that you separate the consumer of functionality from the provider of functionality by specifying an interface.
You'll find that the more advanced types of plugin mechanisms are usually implemented in Java. This is no coincidence because Java has a few mechanisms built into the language that enable these mechanisms: reflection (i.e. discovering what methods/properties a class has at run-time), classloaders (load a class at run-time and let it run in a sandbox, destroy classloader to unload the class), dynamic linking (classes are resolved at run-time rather than compile time). An architecture that uses all of this is Jini. Often this is seen as a failed Sun project but the design behind Jini is still very cool.
A final word of advice: don't invent your own plugin mechanism but reuse existing ones.
What it does it does in a userfriendly way. The problem is that once it has done its thing you need to do a lot yourself to get a somewhat useable box. I think it sucks that it doesn't recognize any hardware. I actually had to remove the cover from a box once to find out what kind of NIC it had. The same applies to the videocard and monitor I have. All of it is pnp meaning that the installer shouldn't waste my time by requiring me to provide information it already has readily available.
I couldn't care less whether the installer is text based or graphical. What I do care about is that the installer saves me time. If I pop in a windows XP cd in a (compatible) PC I don't have to do anything. It just installs itself, recognizes all hardware and you end up with a useable box. With debian I have to do everything (including the tedious stupid stuff) manually. If you are lucky and select the right modules and all you end up with a login box to an outdated wm/xfree combination on an outdated kernel.
Being able to bypass hw detection is a desirable feature on debian (or any OS in fact). Not having hardware detection is bloody annoying and very user unfriendly.
And selling it from coffe shops is allowed. The owners even pay taxes. The only thing is that they can't grow cannabis or buy it in large quantities. They can legally sell but cannot legally buy (yet).
This strange situation exists only to please the US with their paranoid war on drugs (which costs the US tax payer billions of dollars annually and so far has been hugely unsuccessful). We've always been pragmatic in this kind of stuff. Prostitution is legal here too. You know why? Because it's the oldest profession in the world. Making it illegal doesn't make it go away.
Getting a lot of oscars is not a good recommendation IMHO. I see a lot of movies and I have sort of developed a taste for movies that actually have a plot not consisting of just cliches. Most Hollywood movies generally don't qualify as such.
I saw lotr. Nice visual effects, decent acting, one dimensional script (basically just the book). I wasn't impressed at all by the music and frankly my impression was that it was a bit overdone. I would definately not be interested in obtaining it on CD or even downloading it with Kazaa. The sound effects are what you expect to get when you trow in a couple of million. I suppose LOTR being such a hit it deserves some oscars. Tolkien deserves all of the credit for the story and Jackson deserves some credit for translating it to the screen which is quite an achievement.
What I've seen of a beautiful mind it was just your average dumbed down hollywood drama. I also saw gosford park (had a few nominations) and nearly fell asleep. Jesus, what a boring stupid story.
Amelie was by far the best movie that actually received nominations. IMHO it not getting any actual oscars says more about the process of awarding them than about the movie itself. Of course, be sure to watch it in french and not the translated version. Subtitles are good and you lose a lot of the subtlety, quality and non-verbal communication with dubbed movies.
I've seen lots of other small movies (e.g. memento, requiem for a dream, together) that I enjoyed very much (much more than I enjoy most blockbuster movies). I'm not sure if they were all of last year since we generally see them a few months after release in Europe.
Yes I would have to second that. In addition, it also helps to trust the compiler a bit more to do the inlining. If a method has more than a screen full of code (i.e. about 20 lines), split the method into multiple methods. This has two advantages: you give a name to a piece of related code (abstraction) and you may be able to reuse the function. A good compiler will inline so there's no performance penalty.
Similarly if your module/class whatever becomes too large it will be more difficult to maintain. Usually large modules/classes are a clear indication of lack of cohesiveness which is bad for maintainability.
Another thing that can be extremely helpfull are pretty printers (the beautifier that comes with JEdit is great, automatically does its job whenever you save). Good ones also generate the necessary Javadoc stubs (if you're coding Java) thus lowering the burden of creating meaningfull comments (javadoc like tools exist for C++ too!). In addition pretty printers give your code a uniform structure, making it easier to browse.
Enforcing all this requires code reviews. Most larger software organizations with competent software developers in charge will insist on this already.
My logitech is an OK mouse, except for the drivers. In order to use the thumb button you need the logitech drivers (otherwise it works fine with the MS drivers). However, these drivers interfere with wheel usage in games and you cannot use the thumb button unless you bind it to e.g. the shift or ctrl button which makes it useless outside games.
The solution for the wheel problem is to kill the mouse software before starting the game or run a registry hack (available on the logitech site, well hidden though) which causes some applications to receive wheel events twice.
In addition to all this I sometimes have issues with my keyboard after coming out of hibernation mode.
I would go for the MS mouse if I had to spend my money again. The MS drivers are more stable. In terms of precision you shouldn't expect miracles from the logitech BTW.
The error he makes is that he projects the way people use computers today to a HAL like computer and then comes to the conclusion that that won't work because it requires too much interaction.
He is of course right about that. However, if you add AI to the mix, the computer will be able to take initiative and have some level of understanding about what you are saying. Hal was more than just speech recognition, it was more like a very clever secretary.
Say you need to go to some place and need a plane ticket and a hotel and directions for getting around. This is the kind of stuff you would let a secretary do for you and a good one wouldn't bother you with trivialities. You definately would not want to sit next to him/her and provide detailed directions on where to look, compare prices and so on because that is the stuff that takes time and the main reason you're delegating the work.
An intelligent computer would have enough information given a pretty vague expression like "hey I need to there and there for conference X, book me a plane and a hotel". Assuming you've worked together for some time, it should have enough information to figure out most information (like window or aisle seats, smoking/non smoking hotel room, price range for hotels, etc.). And it can always ask for additional information either verbally or non verbally depending on where you are and what you are doing. It could actually call you on your cell phone and ask but it could also send an email or an instant message.
IMHO we are at least decades away from building such systems all of the basic techniques needed to accomplish this are still immature (although very usefull already).
MS is often loathed for unleashing clippy onto this world but clippy was the result of extensive research into usability and human computer interaction by MS. It was rushed to market and a genuine pain in the ass (mostly because of its lack of intelligence) but the concept of some AI program watching what you are doing and intervening and offering you usefull options is not bad.
I'm in a computer science department as well. Indeed most of the computer scientists are using Latex because of one reason: mathematical formulas. However, I'm part of the software engineering group within that department and typically our papers do not contain much formulas. Internally we use framemaker (which has an adequate formula editor BTW). Most of the relevant conferences in our area (e.g. OOPSLA, Ecoop, ICSE, TOOLS) have long resorted to pdf and actually receive a mixture of pdf, ps and word documents. Some of the smaller conferences (e.g. SPLC) are even recommending word as the format of choice and are providing templates and such.
Many of the journals in that area have not made the move away from Tex yet but increasingly they are forced by their authors (who predominantly submit non Tex documents) to also accept other formats. Converting between tex and other formats has always been hard, so increasingly Tex becomes more unfeasible on the editors side as well. Editing conference proceedings consists of putting PDFs in the right order, however journals still require some additional editing. Doing that in Tex when most of your content comes in the form of word documents is foolish.
I've been involved with the organization of two conferences now. I can assure you that doing the conference proceedings in Tex would not have been possible since most of the stuff we accepted was not written in Tex. In fact my biggest headaches were poorly generated pdfs from tex documents. Apart from being large files consisting of pregenerated bitmaps, there were also issues with fonts and graphics which caused our HP printer to choke on it more than once. Proper tools for generating pdf from latex exist, but evidently are not widely used.
Most people outside the math community (including of course the other formula heavy communities like computer science, physics, etc.) use word or similarly feature rich word processors. Latex doesn't have these features, nor do adequate conversion tools for latex exist (i.e. tools that preserve structure, crossreferences, formatting and graphics). There are some frontends for latex, none of which have impressed me very much in the past. Lack of features, user friendliness and conversion tools are the main reason that people who do not explicitly need it do not use latex. I'm sure there are a handfull of sociologist who use latex but I'd be very surprised if more than 1% of all sociologists would even know what latex is.
I'm sure latex is excellent for handling exotic things like custom Hindi fonts but most users don't need that. On top of that, MS word is pretty good in non western scripts such as arabic, hebrew, chinese and japanese (and maybe even Hindi). I'm pretty sure VI/emacs are not prepared for that kind of work since, like Latex, they are ascii oriented (not even unicode). Of course given prehistoric hard/software, linux/latex is probably a very good option, no argument there.
Mostly editing of journals and conference proceedings is either non profit work or work that is done with a limited budget. Outside of the math community Latex is not used very much (it never was, for obvious reasons of lack of user friendliness).
Editors generally need editable formats. PDF is not very editable (especially pdfs generated from dvis, get those a lot and hate them). Latex is editable but is pretty hard to convert (been there, done that, cost me way too much of my time). Word, like it or not (personally I don't) is a format that can be read on most platforms, including unix variants. Most third party provided wordprocessors have import/export functionality for word that goes way beyond import/export functionality for latex (mostly non existing). Probably the first thing a professional editor does is import the word files into a professional DTP package (at least that's what I would do). Having to deal with tex would be a pain in this case because of all the \, {, } and other latex thingies you need to manually locate and replace by the proper alternatives. (not to mention stuff like reference citations and dealing with eps files that are hard to edit)
I mostly write my own stuff in framemaker. If needed, I can convert to word pretty quickly and meet relevant formatting instructions. Converting from either one to latex is something I will try to avoid since it is generally quite hard and takes a lot of time. Journals that require latex are getting pretty rare in my area of research (Software Engineering) mostly because most researchers in that area use macs/pcs. In the case I encounter a journal that wants tex I simply deliver in word. If they want latex they can typeset it themselves, I have better things to do.
BTW. all those people using latex because of the formulas: Open office now includes a formula editor that can read/write mathml. Converters to and from mathml exist for latex so you can migrate pretty easily. The formula editor itself doesn't look to bad either. OpenOffice is free and can export to word better than anything I've seen before.
What was going on in this case was that the launching system had a minor but cumulative rounding error in its time measuring. After cumulating for several days, the deviation was big enough to let the launched patriot completely miss its target (timing is essential when traveling at several times the speed of sound) and slam into the ground at the wrong place.
Whether is a direct consequence of the bug is debatable. But it would maybe have hit its target if that bug had not been present and not slammed into the ground on the wrong side of the front-line.
I mostly use windows with outlook. I am pretty fed up with outlook (slow, unstable, insecure, vendor lock in and hard to export mail/addresses without losing information) and would like an alternative. I've been looking for a serious alternative for a while. I specifically dislike Netscape (too slow, insists on running in the same process as my browser), Eudora (too ugly/old) and Pegasus (too ugly/old)and consider them to be inferior options and haven't seen any other comparable mail clients (in fact I consider outlook express to be better than any of these). There are plenty of other mail clients but they all lack features.
Specifically I want HTML in my mail but no scripting (unlike the popular beliefs here, outlook can provide this functionality). This disqualifies any command-line clients. I want flexible filtering. I receive a lot of mail and filtering is essential to me. Outlook is pretty good in this area too. I don't use/care about calendering right now but may need it in the future. It needs to be fast. Outlook does not scale well. Searches take forever in my mailbox and sometimes it just sits there for minutes doing god knows what for no obvious reason leaving me waiting to read/send some mail.
Evolution looks like it has most of the features I need and I would consider using it instead of Outlook. I like the concept of a virtual folder and would probably use such a feature to organize my mail (1 virtual folder for each of my colleagues, 1 folder per topic I'm working on, 1 with everything in it, etc.). Because it is open source I have some level of confidence it performs well and is secure. If only it had a win32 version.
I think being crossplatform would convince a lot of organizations of standardizing on evolution. Reality dictates that most companies need to use ms office and depend on calendering. However, a lot of people are very annoyed by the continueing stream of outlook related security breaches. Most large companies have lost valuable time fixing such issues in the past few years. I'm an advanced user and know how to dodge security issues in outlook but it still is annoying.
If evolution is anywhere near as good as it is claimed to be, a lot of people would switch if it was available on their platform of choice. I certainly would give it some serious consideration.
No, because making it a proper behaving aqua app requires fundamental changes to the app they won't port it. The best we may expect in the future is that they make it compile on OS-X like they can make it compile on other operating systems. Beyond that more changes are unlikely.
There's a difference between maing it run and making it blend in. Framemaker just runs.
It mostly depends on how large the market for a product is. Adobe for example has ported photoshop but hasn't and most likely will never port framemaker. Framemaker has so much legacy code in it, it is almost impossible to fundamentally change it. The recently announced 7.0 version for instance still has no multi level undo even though this is one of the most often requested features. Implementing multilevel undo would require changes to large parts of the code and is therefore not feasible. I suspect that Quark express has a similarly sized group of professional users and a similar amount of legacy code. Porting probably would cost more than it would ever pay back.
I must admit I always found unreal tournament a bit boring. However I've been hooked for months already on a modification for it: strikeforce. Without that modification (and many others), unreal tournament wouldn't have survived long on my harddisk. Strikeforce is an absolutely brilliant mod. Great maps, great gameplay.
I had the same with the original unreal. Single player was fun while it lasted. After that I kept the game around to play the mods.
Don't confuse moralism, idealism and economy. You are being moralistic and confusing it with idealism. The irony is that this a simple economic problem of value adding. Any sound business model is based on adding value to something and subsequently charging for the resulting product.
Most of the cost represented by the price of 20$ for a cd is not related to the music creation process (i.e. the artist's work). Instead it is related to the production, marketing & distribution of plastic discs containing the music. Napster has 'reliefed' the record industry of these tasks so the record industry is no longer adding any value to their products. Given this reality, our capitalistic system is simply functioning properly and the only result can be that either the record company finds a new way of adding value to their product or will simply die.
The record industry has managed to slow this process by price fixing, seeking legal protection, persuading politicians to adapt the law when that didn't work, trying to persuade hardware manufacturers to adapt their products and many other tricks. However, they have so far failed to add value to their product and have even started to remove value from their products (e.g. the celine dion cd that makes your pc crash).
It's as simple as this. Because the record industry is no longer adding value they are losing market share.
Consider the invention of book printing. Before book printing, clerics would spent months or even years manually copying books. The resulting volumes were expensive. Then book printing was invented and greatly reduced the cost of creating a copy. This probably killed the market for hand copied books. Is that bad? Is that evil? No it's a simple case of no longer adding value. Just like hand copying books is no longer a good business model, creating little plastic discs with music on them has also become a waste of time.
Most of the stuff apache has done in Java would be very hard to replicate in other languages because Java has some features most other languages do not have: classloaders, reflection, an extremely flexible security model, garbage collection, tons of other functionality...
This has nothing to do with the language but it has all to do with the execution environment. Only because these features are there was it possible to create something like tomcat. It's simply a case of the best tool for the best job.
The only problem with apache and most other OSS projects is the throw it over the fence release policy. Most OSS projects develop and test pretty effectively. However when it comes to releasing a product it's different. Apache for windows comes with a nice installer. However it doesn't integrate very well with the OS in the sense that the management interface provided in that OS is simply not used. This is defended from a point of view of security but my feeling is that this argument is as valid as this post's parent gut feeling arguments regarding the suitability of Java for implementing network applications.
The main reason UNIX sysadmins are so expensive is the backwards way of configuring it. It doesn't take a genious to get apache configured, just a monkey who's memorized all the parameters and can do the VI voodoo thing. It takes years to memorize all relevant settings of relevant services under linux, hence the overrated price of what could only be seen as the plumbers of the IT world (no offense).
I installed windows XP on my PC: pop in cd, let the pc boot from it, fill in serial number, choose some international settings, create a user and let it do its thing: fully automatic from there. It correctly configures both my NICs, my voodoo 3, my vortex 2 based soundcard, modem, cdrw, various USB devices and even my monitor (so I get the best resolution at the right refreshrate). Afterwards of course you have to activate the damn thing ;-).
I can't imagine how the setup could possibly be easier since it pretty much needs to know what it asks the user and there's no reliable way of finding out automagically.
There's an article on Mozillazine explaining RC1 and its relation to 1.0 final which is due as soon as the developers are happy with the RC. The article even leaves room for an RC 2 if one is needed.
Kde 2.2.1 is in the works for cygwin. It's been taking a while already so I gather it's a non trivial effort that requires quite a bit of patching. Personally, I'd love having KDE on my windows box coexisting with all the window apps I need to run, but beyond the coolness factor I have no use for it really :-).
I agree it is not practical. However the concepts he presents are not bad. Architecture is all about communicating the intention of technical solutions and designs to other people including coders, testers, customers and managers.
The concept of a drawbridge is easy to understand and if you put a guard on it the intention is pretty clear. Of course it depends on how you implement these concepts whether it will actually work. If your drawbridge is http and the guard consists of a perl cgi script that will match a three letter password to an unprotected list of valid passwords you are fucked. But at least you will be able to explain that the guard is easy to bypass and your drawbridge is inherently insecure: much better to use https, encrypted passwords of at least 8 letters, etc.
What the industry needs is proven solutions with clear, well understood concepts. This guy proposes some useful concepts and analogies that are easy to understand and, as he argues, easy to map to existing, proven technology.
Such research often borders on medical research which arguably is beneficial to a lot of people. A lot of drugs used to persuade people into confessing stuff is based on research that might very well be used to treat people with mental disorders for instance.
The technique of an electric chair is obviously intended to kill human beings. But does that make electicity bad? You might argue that such a chair is specifically designed to kill but not destroy the body, however I counter that that knowledge has also been used to slaughter cattle in a less cruel way. Electric chairs are typically considered cruel instruments in most of the so-called civilized world (except for isolated parts of the world where state approved lynching is still being practiced).
Hey the world survived not being flat, not being the centre of the universe, revolving around the sun instead of the other way around, Darwin, nuclear science, space travel, television, the internet, the turn of the millenium etc. All this despite hords of hysterical people proclaiming it would be the end of the world as we know it. Just because large groups of people all believe the same doesn't make it true.
..). Up until now they were able to hide behind the illusion that humans are somehow different from animals (which from a biological point of view is nonsense, it's just another mammal). Other mammals have been cloned succesfully so from a scientific point of view cloning a human being is not a significant step forward. Of course there are technological problems (most notably the large amount of cloning attempts needed to perform one successful clone) with the procedure but as scientists continue to do research these problems will be resolved eventually.
Cloning is just another technology. What's hard to swallow for religious people is that it shouldn't be possible to do according to their beliefs and being proven wrong might have consequences for the validity of other things they belief (like having a soul, reincarnation, heaven, getting access to 70 virgins if you blow yourself up in a shopping centre,
Technology by itself is not bad. However certain applications of it can certainly be evil. A box of matches can be used to light a candle and it can be used to set fire to a house full of people. Does that make the box of matches evil technology? Of course not! Similarly cloning has a lot of applications where it's use would be beneficial. I, for instance, would love to have a clone of my heart available when my own one needs replacement in a couple of decades (not entirely unlikely given the number of heart deseases in my family). Of course I wouldn't want to kill a full grown living and breading clone of me to obtain that heart but that may very well be unnecessary.
There are religious and ethical people who want to attach full human rights to arbitrarily small clusters of human cells (fertalized eggs, tiny embryo's, etc.). From a scientific point of view this is of course complete nonsense. Based on this they would consider it murder if such tiny clusters of cells are manipulated. However, often the same people eat meat (requires killing of much larger clusters of non human cells) and have no problems with getting rid of annoying insects, which is very inconsistent to say the least.
Download the GPLed source code (limewire.org) and compile it yourself. It requires a jdk and ant (the popular build tool from apache). Once that is done (in less than a minute on my machine) you have an ad free version (aka Limewire Pro). Alternatively download the java only installer (has ads but no spyware).
Of these kinds of languages Java is simply the most widely used which is why I highlighted it. Outside the macintosh platform, objective C is not used very often as far as I know. Smalltalk is pretty much a thing of the past now. Even research papers mostly use Java (or derived languages) nowadays for examples/case studies/etc.
Java was created by people who worked on smalltalk and self in the eighties so it is definately no coincidence that it has a lot in common with those languages.
Your question is very vague but I'll bite. First of all you need to understand the design solutions you can use. There are various ways of implenting plugins. Most of them depend on a component model like COM, JavaBeans or Corba. Essential is that you separate the consumer of functionality from the provider of functionality by specifying an interface.
You'll find that the more advanced types of plugin mechanisms are usually implemented in Java. This is no coincidence because Java has a few mechanisms built into the language that enable these mechanisms: reflection (i.e. discovering what methods/properties a class has at run-time), classloaders (load a class at run-time and let it run in a sandbox, destroy classloader to unload the class), dynamic linking (classes are resolved at run-time rather than compile time). An architecture that uses all of this is Jini. Often this is seen as a failed Sun project but the design behind Jini is still very cool.
A final word of advice: don't invent your own plugin mechanism but reuse existing ones.
What it does it does in a userfriendly way. The problem is that once it has done its thing you need to do a lot yourself to get a somewhat useable box. I think it sucks that it doesn't recognize any hardware. I actually had to remove the cover from a box once to find out what kind of NIC it had. The same applies to the videocard and monitor I have. All of it is pnp meaning that the installer shouldn't waste my time by requiring me to provide information it already has readily available.
I couldn't care less whether the installer is text based or graphical. What I do care about is that the installer saves me time. If I pop in a windows XP cd in a (compatible) PC I don't have to do anything. It just installs itself, recognizes all hardware and you end up with a useable box. With debian I have to do everything (including the tedious stupid stuff) manually. If you are lucky and select the right modules and all you end up with a login box to an outdated wm/xfree combination on an outdated kernel.
Being able to bypass hw detection is a desirable feature on debian (or any OS in fact). Not having hardware detection is bloody annoying and very user unfriendly.
And selling it from coffe shops is allowed. The owners even pay taxes. The only thing is that they can't grow cannabis or buy it in large quantities. They can legally sell but cannot legally buy (yet).
This strange situation exists only to please the US with their paranoid war on drugs (which costs the US tax payer billions of dollars annually and so far has been hugely unsuccessful). We've always been pragmatic in this kind of stuff. Prostitution is legal here too. You know why? Because it's the oldest profession in the world. Making it illegal doesn't make it go away.
Getting a lot of oscars is not a good recommendation IMHO. I see a lot of movies and I have sort of developed a taste for movies that actually have a plot not consisting of just cliches. Most Hollywood movies generally don't qualify as such.
I saw lotr. Nice visual effects, decent acting, one dimensional script (basically just the book). I wasn't impressed at all by the music and frankly my impression was that it was a bit overdone. I would definately not be interested in obtaining it on CD or even downloading it with Kazaa. The sound effects are what you expect to get when you trow in a couple of million. I suppose LOTR being such a hit it deserves some oscars. Tolkien deserves all of the credit for the story and Jackson deserves some credit for translating it to the screen which is quite an achievement.
What I've seen of a beautiful mind it was just your average dumbed down hollywood drama. I also saw gosford park (had a few nominations) and nearly fell asleep. Jesus, what a boring stupid story.
Amelie was by far the best movie that actually received nominations. IMHO it not getting any actual oscars says more about the process of awarding them than about the movie itself. Of course, be sure to watch it in french and not the translated version. Subtitles are good and you lose a lot of the subtlety, quality and non-verbal communication with dubbed movies.
I've seen lots of other small movies (e.g. memento, requiem for a dream, together) that I enjoyed very much (much more than I enjoy most blockbuster movies). I'm not sure if they were all of last year since we generally see them a few months after release in Europe.