Kerberos is most definitely NOT a Windows technology, at least not an original one anyway. Kerberos started at MIT and was used for their Project Athena initiative (the one that also resulted in X11). Microsoft only started to use Kerberos in Windows 2000.
Uninstallation is a complex process and applications have specific requirements with regards to uninstallation. It makes the most sense for each app to know about its own un-installation, since this way the programmer of the app can write the appropriate custom uninstall. In the simplest example, an uninstall of a word processor will know not to delete the files users have created with it, but a game might prompt people for whether to delete the associated save-games or not. To the OS, the files otherwise look the same.
Try this...
Uninstallation is a complex process and applications have specific requirements with regards to uninstallation. It makes the most sense for each package to know about its own un-installation, since this way the packager, with help from the programmer can write the appropriate custom uninstall. In the simplest example, an uninstall of a word processor will know not to delete the files users have created with it, but a game might prompt people for whether to delete the associated save-games or not. To the OS, the files otherwise look the same.
Modern packaging systems for Linux have scripts that can run before and after installing or uninstalling. In these scripts, the packager can put any intelligent actions that he/she wants. On my Debian system, the postgresql package actually asks you on install if you want to keep the data when it is uninstalled, or remove the data with the package (actually, that's not a good example, it is a stupid question). The packaging system also knows about configuration files and will not normally remove them when the package is removed. (But it can be forced to remove conf files too (purge)).
...doing useless things (like converting to GTK2, which doesn't really solve the problem of it being GTK) when they could be implementing features, improving quality of said features, or porting to a toolkit that doesn't suck.
I guess you know what the G in GTK stands for, don't you?
Squeak may not have Ogre, but it has something called Alice which is an "interactive world-building and scripting environment" (that's what the page says...).
I recall it was included in recent Squeak releases which I downloaded. The demo was a bunny or something and you moved it using syntax like this (from here):
At my college, I have RPG and COBOL classes taught on AS/400 systems. Actually, I'm taking the COBOL class this semester. I can say without hesitation that while RPG is tolerable, COBOL is just too verbose for my tastes.
You're seriously suggesting typing maths as a reason to use OpenOffice.org? <boggle>
Have you ever used a serious maths typing tool like TeX?
For typing maths, I think OO.o's equation editor is better than Word's because you don't have to click as much. But if you want TeX, OOoLatexEquation seems to be a nice solution. It inserts your equations as images, but also stores the source equation and the attributes in the document, so you can edit them later with a simple double-click.
You want Ruby, Perl or Python in there, write the IL Interpreter for it, or help one of the projects out there doing just that. Oh, that wouldn't be good enough either? Where's pascal.net and cobol.net? Shit, how many languages must MS provide for you to be happy for christs sake.
I don't know about pascal.net, but the latest versions of Delphi can target.net, and cobol.net is right here (it's Fujitsu cobol.net, not Microsoft's).
You can also use mountvol. Subst doesn't mount a drive in a directory, it creates a drive from an existing directory. The bad thing about mountvol is that it uses volume names like these: \\?\Volume{1805142b-7371-11d9-933e-806d6172696f}\. Yuck.
From the Windows 2000 Help file:
Mountvol
Creates, deletes, or lists a volume mount point.
Mountvol is a way to link volume partitions without requiring a drive letter in Windows 2000.
mountvol[drive:]path VolumeName
mountvol[drive:]path /d
mountvol[drive:]path/l
Parameters
[drive:]path
Specifies the existing NTFS directory folder where the mount point will reside.
VolumeName
Specifies the volume name that is the target of the mount point. If you do not specify a volume name, mountvol lists the volume names of all partitions.
/d
Removes the volume mount point from the specified folder.
/l
Lists the mounted volume name for the specified folder.
No, they probably just want Google to develop a Google DupeSearch (tm) feature for slashdot. It will automate part of the editing process and enable the editors to spend more time doing nothing.
The cut and paste issue is likewise a non-issue today. Go try it yourself. Cut from KWrite and then paste via Ctrl-V into gaim, gedit, OpenOffice, Firefox, and KWord. No problems whatsoever. This argument is bunk. It was valid 5 years ago, but not today.
Uh..., KWrite is a plain text editor. I know most (all?) apps support plain text cut-and-paste, even 5 years ago (if you use us-ascii). However, the moment you start cut-and-pasting more complicated things like rich text (text with fonts and colors), bitmaps, etc. things get much much worse.
On Windows on the other hand, I can hit Ctrl-C in Eclipse, and hit Ctrl-V in Word, and my Java code will be pasted into Word with syntax highlighting intact. I can copy bitmap images from mspaint, and paste it into Photoshop. Linux (X11) has still got a long way to go when it comes to complicated cut-and-paste.
OH, and with the new SP2, you _HAVE_ to connect to the internet to activate your product, so that makes windows CD's either crippled (you can't connect w/o activating, and you can't activate w/o connecting first) or insecure by default.
I thought the new SP2 actually activates the firewall by default, so I think it's not so insecure as you say it is. But only if the first thing you have to do after getting connected is download patches etc.
In every case that I can think of other than ActiveX, it was a good thing!
How is that possible - unless you are shooting for a browser monoculture?
Um..., aren't extensible browsers good? I agree that web pages being dependent on ActiveX is a bad thing, but the tool in the article was a leak detector, made possible by the extensible COM architecture of internet explorer. That is a good thing (IMO).
If you think that is bad, you must really hate Firefox, what with all its various extensions... Or do you think that the firefox extensions "are shooting for a browser monoculture" ?
And by the way, Microsoft's COM architecture that makes IE so extensible (also by malware, sadly) has been one of their most successful (and most cloned) innovations. Mozilla has its own COM implementation called XPCOM to prove it.
It seems that AVS uses DirectDraw for its drawing. It also has some mmx optimized inline-assembly routines for copying surfaces. The AVS plugins have a little windows dependency (to create the configuration dialog and process values from it), but the plugins render to a int* framebuffer so plugin render code should be fine (that is, if ported to a little-endian, 32bit architecture).
The EEL (expression evaluation library) for avs uses some sort of compiler that seems to generate x86 floating-point code, but since it's contained in a library, it should be easy to change the internal workings of the library to work on other platforms. Actually the source for the EEL library has been available for quite some time with the Winamp SDK. It was intended to be used by AVS plugin creators so their plugins would support the same code as the rest of AVS.
Some (old) collections are threadsafe, e.g. Vector, Hashtable while the newer collections in the Java Collections Framework are not synchronized because synchronization is a performance impediment in most (single-threaded) cases.
While the newer collections are not synchronized,
you can turn a collection into a synchronized collection easily using java.util.Collections.synchronizedXXX()
OK, so I picked the wrong example. Java's containers mostly aren't threadsafe, but at least they tell you in the docs how it will behave when using multiple threads (which is usually something like "Note that this implementation is not synchronized. If multiple threads access a list concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally."). But the threading support in Java is still very nice, especially with the new java.util.concurrent package in Java 1.5.
Yes, but not many libraries are "exception safe" because exceptions are a rather new addition to C++. Java has had exceptions since day 1.
Threading - why should it be built into the language? Why not build in TCP/IP and graphics while you're at it? (Yes I know - to meet its cross-platform goals, java has to abstract threading. But I don't see this as a datapoint blowing C++ out of the water.)
Because the C++ standard assumes that you are only using one thread, and the C++ standard is not just the language syntax, but also the libraries as well, iostreams, string, STL... The standard does not specify how these standard libraries should function when using multiple threads. Java on the other hand was designed with multithreading in mind and has synchronization primitives built into the core language.
Actually, in Turbo Pascal, units do use BEGIN. From the Turbo Pascal online docs:
Initialization part:
The initialization part is the last part of a unit. It consists of either
- the reserved word end (no initialization code), or
- a statement part to be executed in order to initialize the unit
You would use it like:
unit foo; interface
{... } implementation
{... } begin
{ initialization code } end.
Delphi uses INITIALIZATION instead of BEGIN to indicate the unit's initialization part.
Delphi also allows a unit to have a FINALIZATION section which is executed when the main program terminates. Only units with an initialization section can have a finalization section.
And above all, make it cross platform. Use a library like FLTK so it can be used just about anywhere.
Doesn't Microsoft realize they could easily make the end-all browser that'll end up running on almost every palmtop, cell phone, set-top-box, automobile, and personal computer?
That would make the browser (IE) the platform, instead of windows. If what happened to Netscape is any indication, I'm guessing they don't want that to happen. Especially since browsers are (commonly) free and you have to pay for Windows.
Kerberos is most definitely NOT a Windows technology, at least not an original one anyway. Kerberos started at MIT and was used for their Project Athena initiative (the one that also resulted in X11). Microsoft only started to use Kerberos in Windows 2000.
Yes, but as Alan Perlis said in one of his epigrams...
Using your example, Perl is as complete as C, but IMHO interesting things are easier to do in Perl (or ruby, for that matter).
Try this...
Uninstallation is a complex process and applications have specific requirements with regards to uninstallation. It makes the most sense for each package to know about its own un-installation, since this way the packager, with help from the programmer can write the appropriate custom uninstall. In the simplest example, an uninstall of a word processor will know not to delete the files users have created with it, but a game might prompt people for whether to delete the associated save-games or not. To the OS, the files otherwise look the same.
Modern packaging systems for Linux have scripts that can run before and after installing or uninstalling. In these scripts, the packager can put any intelligent actions that he/she wants. On my Debian system, the postgresql package actually asks you on install if you want to keep the data when it is uninstalled, or remove the data with the package (actually, that's not a good example, it is a stupid question). The packaging system also knows about configuration files and will not normally remove them when the package is removed. (But it can be forced to remove conf files too (purge)).
Yes, yes, yes, but as this poster said, it would contain no structural information. You probably meant to process it into a working OpenDocument formatted drawing?
I guess you know what the G in GTK stands for, don't you?
Squeak may not have Ogre, but it has something called Alice which is an "interactive world-building and scripting environment" (that's what the page says...).
I recall it was included in recent Squeak releases which I downloaded. The demo was a bunny or something and you moved it using syntax like this (from here):
At my college, I have RPG and COBOL classes taught on AS/400 systems. Actually, I'm taking the COBOL class this semester. I can say without hesitation that while RPG is tolerable, COBOL is just too verbose for my tastes.
The AS/400 is an interesting system though...
$rv = "0 but true";
if ($rv) {
print "yup\n";
}
if ($rv == 0) {
print "uh-huh\n";
}
You can also use mountvol. Subst doesn't mount a drive in a directory, it creates a drive from an existing directory. The bad thing about mountvol is that it uses volume names like these: \\?\Volume{1805142b-7371-11d9-933e-806d6172696f}\. Yuck.
From the Windows 2000 Help file:
No, they probably just want Google to develop a Google DupeSearch (tm) feature for slashdot. It will automate part of the editing process and enable the editors to spend more time doing nothing.
Uh..., KWrite is a plain text editor. I know most (all?) apps support plain text cut-and-paste, even 5 years ago (if you use us-ascii). However, the moment you start cut-and-pasting more complicated things like rich text (text with fonts and colors), bitmaps, etc. things get much much worse.
On Windows on the other hand, I can hit Ctrl-C in Eclipse, and hit Ctrl-V in Word, and my Java code will be pasted into Word with syntax highlighting intact. I can copy bitmap images from mspaint, and paste it into Photoshop. Linux (X11) has still got a long way to go when it comes to complicated cut-and-paste.
I found this through wikipedia : VM and the VM Community: Past, Present, and Future (direct pdf link). The author's homepage also contains some other interesting material (ZORK for CMS (!))
Of course, that assumes the user has an nvidia card. Those of us with ATI cards aren't so lucky...
If they load libgtk+2.6.so you can just
ln -s libgtk+2.6.2.so libgtk+2.6.so
Ahh... symlinks...
Um..., aren't extensible browsers good? I agree that web pages being dependent on ActiveX is a bad thing, but the tool in the article was a leak detector, made possible by the extensible COM architecture of internet explorer. That is a good thing (IMO). If you think that is bad, you must really hate Firefox, what with all its various extensions... Or do you think that the firefox extensions "are shooting for a browser monoculture" ?
And by the way, Microsoft's COM architecture that makes IE so extensible (also by malware, sadly) has been one of their most successful (and most cloned) innovations. Mozilla has its own COM implementation called XPCOM to prove it.
It seems that AVS uses DirectDraw for its drawing. It also has some mmx optimized inline-assembly routines for copying surfaces. The AVS plugins have a little windows dependency (to create the configuration dialog and process values from it), but the plugins render to a int* framebuffer so plugin render code should be fine (that is, if ported to a little-endian, 32bit architecture).
The EEL (expression evaluation library) for avs uses some sort of compiler that seems to generate x86 floating-point code, but since it's contained in a library, it should be easy to change the internal workings of the library to work on other platforms. Actually the source for the EEL library has been available for quite some time with the Winamp SDK. It was intended to be used by AVS plugin creators so their plugins would support the same code as the rest of AVS.
While the newer collections are not synchronized, you can turn a collection into a synchronized collection easily using java.util.Collections.synchronizedXXX()
OK, so I picked the wrong example. Java's containers mostly aren't threadsafe, but at least they tell you in the docs how it will behave when using multiple threads (which is usually something like "Note that this implementation is not synchronized. If multiple threads access a list concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally."). But the threading support in Java is still very nice, especially with the new java.util.concurrent package in Java 1.5.
Actually, in Turbo Pascal, units do use BEGIN. From the Turbo Pascal online docs:
... } ... }
Initialization part:
The initialization part is the last part of a unit. It consists of either
- the reserved word end (no initialization code), or
- a statement part to be executed in order to initialize the unit
You would use it like:
unit foo;
interface
{
implementation
{
begin
{ initialization code }
end.
Delphi uses INITIALIZATION instead of BEGIN to indicate the unit's initialization part.
Delphi also allows a unit to have a FINALIZATION section which is executed when the main program terminates. Only units with an initialization section can have a finalization section.
That would make the browser (IE) the platform, instead of windows. If what happened to Netscape is any indication, I'm guessing they don't want that to happen. Especially since browsers are (commonly) free and you have to pay for Windows.
So it's like multiplayer notepad then?