No, not really. It's a foundational document, it's not holy writ. It can and has been amended, and was designed for that very thing. I'd just like an office that's popularly elected -- we already have congress for the states. I have a clue, thank you very much. You're borrowing one from civics class.
Some means of outlawing gerrymandering of districts would also be nice. Off the cuff I say make 'em square, and let anybody in one district choose any of the surrounding 8 districts they want to be represented by.
Oh, but the constitution doesn't mention that. I must be a traitor to the founding ideals of this country.
1) well prepared, not confusing paper ballot 2) pen 3) make a cross
Optical scanner picks up the cross/sign , spits them out for human check if there's something wrong. The scanner does the jobs of 2 pc (actually it is a slimmed down PC) by counting and collecting data. Less expensive then 2 machines.
That is exactly how the Eagle Optech systems that we use here in San Francisco work. It doesn't unfortunately do much for the blind, though it doesn't take too much brainstorming to imagine a screen-reading electronic voting apparatus that simply generated optech ballots, which at least have a good track record on the scanner end.
> No they don't, if you aren't in one of the most populous state, your vote isn't worth shit.
And if you are in one of the most populous states, it still isn't worth shit after a majority is declared. I live in California, the most populous state in the union, and it doesn't matter whether it votes 51% Democrat or 99% Democrat. I'll vote to make sure it reaches 51%, but past that, I don't really count. So if some corrupt backwater like Florida succeeds in rigging the election again, my vote doesn't count, because the popular vote (which Gore won by a long shot) doesn't count.
Unless I get a paper certificate that I can verify for myself, and that counts as "my vote" in cases where a recount is called for, I am not interested in switching to a new technology.
I guess it has to said for the 100000000000001st time: voting receipts that show how you voted are a non-starter. They can be, no, have been used for the purposes of bribery and intimidation.
Let's see, "super sekrit SEVEN PROCESSOR PARALLEL PROCESSING sauce..." runs for over a week on standard AA batteries. Telling everyone your pricing model which includes a ridiculously steep drop after shipping a million units. Truly amateur copy writing... even the French know that when you have a new product, you have to market it wel.
Oh, and you pay a $100 or 100 eur "deposit to confirm your order".
> If you use WinXP or 2003 open the process manager and set the firefox/opera process to realtime, might do the trick.
Or it might lock up your system when the process goes berzerk as browsers are often wont to do. This does not deserve a +5, it's patently stupid advice. Setting your process to realtime does not make the CPU, MMU, network, or disk controller go any faster.
IE only preloads if you use activedesktop. Since that delays loading my desktop until IE manages to load, I have it turned off. Firefox now loads faster than IE for me.
> Quick, stop everyone taking snapshots at a wedding because the wedding photographers will go out of business!
The snapshots people take at a wedding are inconsequential. Go whip out your Leica R8 with tripod and lightmeter at a wedding, and watch the wedding photographer walk out, rihtfully pissed off.
Still, I have little sympathy for software companies whose main product can't compete with what people are willing to do for free. Macromedia and Autodesk sure aren't losing any sleep over OSS after all...
I'm not even sure I understand what that means. I understand when something isn't backward compatible -- like when Windows XP can't run software written for Windows 95. But upward compatible?
Upward compatibility is the ability for older versions to continue working on newer platforms or with newer devices or sofware. USB 1.1 is upward compatible with USB 2.0 -- any USB 2.0 device will work on USB 1.1, and any USB 1.1 device will work on USB 2.0. It's simply backward compatability from the POV of the older system. Typically one can design a system for some upward compatibility, but it's usually just a matter of perspective. You can't really break upward compatability, only backward, it's the way time works and all:)
Every time glibc changes incompatibly, or whenever linux rearranges the device system, it breaks backward compatibility. If linux continues to do this, it's safe to say that linux is not upward compatible. Frankly this isn't quite as serious as Bill Gates makes it out to be, but MS is just freakish about backward compatibility at the OS level. Office is somewhat more cavalier, but hey, you can still open Word 3.0 docs in Word 2003.
A new CPU architecture is simply a new build target. If intel doesn't make it backward compatible with the ia32/64 line, you can't expect existing XP binaries to be compatible with it.
> The invention of cars killed jobs in the buggy-whip industry.
I hear this all the time. Was there ever a large number of people employed to make nothing but buggy whips, let alone an industry? I'd imagine leatherworkers would be making seat covers and so forth well into the auto industry's heyday.
> What makes it worth the problems? Is there something you actually like about it?
I like being able to save a whole page with all its contained objects (images, stylesheets), to a single.mht file. Before anyone goes off on a tear about how.mht is some proprietary MS thing, it's a real simple MIME multipart/related document -- as in, it uses an open standard the way it was intended to be.
I also like the ability to make bookmarks available offline with a single checkbox, and update them all through a single menu action.
DHTML behaviors are the bees knees, much easier to create and use than XBL.
It's a commandline compiler, yes, but it's fully optimizing and all, it's the full blown compiler. It's so much faster than gcc it's not funny. I can hardly imagine it requires the graphical capabilities of the IDE, merely the workspace/project file format. I think you can be pretty sure the flags won't change -- it's converting MSVC5 projects that's cumbersome, since MSVC6 got rid of LIB.EXE for LINK.EXE (which *is* different). If you know someone with MSVC6, you can ask them to output makefiles from the workspace, if they're not included already. However,.dsp files are themselves very close to being makefiles already, so it's not too hard to convert them by hand.
Of course for all your trouble, you'll merely succeed in compiling a rather retrograde version of Qt that's GPL-encumbered. Serviceable, but not very satisfying.
> While at first blush, that sounds like a good idea, from my viewpoint I don't really see how useful or wise that really is
I think there's mountains enough of literature, on generic programming, to say nothing of implementations, without me having to justify why I want it.
> For one thing, lists are immutable structures, arrays are not -- therefore, if you define a fully generic sort that works on both arrays and lists, you are now kept from using methods that sort arrays in place
In C++, one would merely specialize a template or simply overload a function to a more specific type, as you would also do in Dylan or CLOS. In Haskell, you could subclass the type family.
Presumably in Ocaml, you'd override the sort method on a subclass. Seems I have to use objects to get pervasive polymorphism in Ocaml... something I wouldn't mind, but for the fact that objects come with their own strange set of type restrictions. It's like two languages fighting each other inside Ocaml -- I'd just like one of them to win at long last.
Module functors are also supposed to address the issue, but I'm still searching for any documentation of how.
Microsoft took their sales upstairs. Welcome to the world of sales, any good salesman will go to the person making decisions as far up as they can go. The sales tactics you outlined sure as hell are NOT limited to Microsoft, it's just that MS can afford the sort of potlach that selling to the top execs takes. As head IT guy, you have to wade in to some of those politics yourself, or at least get the CIO on your side. Ultimately either your execs respect your technical acumen, or they don't and it's time to find another shop.
I would submit however, that "threatening" to move to Linux as a defensive move against a sales tactic does nothing to sell a Linux solution within your company.
Outlook didn't get virtual folders til Outlook 2002 ("search folders"). Emacs VM has had them for a while. Opera mail has them too, and it creates them automatically for contacts and mailing lists. Opera's are quite nice in that they can have subfolders that further refine the search (but it's not automatic, you can't just drag them around agaik). Thunderbird still doesn't have them at all.
> Of course, in the real world, we'd use List.sort to sort our lists, or Array.sort (or Array.fast_sort) to sort our arrays.
Or MyArray.sort to sort MyArrays. Or MyOtherContainer.sort to sort MyOthercontainer...
This is a functional language? Where is the polymorphism? This is precisely what my complaint about ocaml's module system is about -- it looks like nothing but namespaces. I don't ask for Haskell type families and abstractions of lists all the way down to MonadPlus; I do ask that I can define a bloody "sort" function that can take anything that implements the collection with items that support comparison! Even C++ manages to do this.
Oh I also ask that I can have C types like unsigned 32 bit ints without having to use a separate module and my own different set of operators. So maybe I do want type families...
Download sort seems to work kind of randomly for many people. Last I looked, it also didn't sort by the download site, the way GetRight does. Even then, needs to be able to queue downloads before I can start calling it a download manager. It's not a big deal for me now since I have nice high speed internet, but for dialup, downloading is sine qua non.
Incidentally, Haskell is probably my favorite in terms of clean syntax and language power. It just requires a PhD to manage to write anything more complex than "Hello World". The compiler's speed is also best described as "geological".
Ocaml is much more "real world" (you can even have variables (*gasp*)!) , but ocaml is full of syntax warts, unhelpful compiler feedback, a module system that's *supposed* to be the bees knees but looks suspiciously instead like plain old namespaces of static methods, and weird restrictions like overzealous monomorphism restrictions and lack of ad hoc polymorphism. It's that last one that just keeps frustrating me every time I want to pick up Ocaml.
Clean syntax. Not one that forces me to lean on my shift key and decorate my code with punctuation characters. The "noise" gets in my way so much that I can't even stand to program in perl anymore. I just can't take syntax like sub foo { dostuff @{$blah->{woof}}; etc... } anymore. Semicolons drive me bats.
Python's ok. Tcl is closer to the ideal syntax, but oy what a feature poor language. Lisp's really nice. Forth would be about perfect, but it makes you work at such a low level most of the time (fact is, most people just don't build it up that much) that your code looks noisier than perl, more like APL even.
Of course I like modern features, like automatic memory management, structured exceptions, first class functions, pattern matching, currying, asynchronous execution, concurrency, and so on. But I just can't express concepts well in a language that makes me clad every expression in so much syntactic scaffolding.
> Not a big fan or the Constitution, are you?
No, not really. It's a foundational document, it's not holy writ. It can and has been amended, and was designed for that very thing. I'd just like an office that's popularly elected -- we already have congress for the states. I have a clue, thank you very much. You're borrowing one from civics class.
Some means of outlawing gerrymandering of districts would also be nice. Off the cuff I say make 'em square, and let anybody in one district choose any of the surrounding 8 districts they want to be represented by.
Oh, but the constitution doesn't mention that. I must be a traitor to the founding ideals of this country.
Let me propose an alternative
1) well prepared, not confusing paper ballot
2) pen
3) make a cross
Optical scanner picks up the cross/sign , spits them out for human check if there's something wrong. The scanner does the jobs of 2 pc (actually it is a slimmed down PC) by counting and collecting data. Less expensive then 2 machines.
That is exactly how the Eagle Optech systems that we use here in San Francisco work. It doesn't unfortunately do much for the blind, though it doesn't take too much brainstorming to imagine a screen-reading electronic voting apparatus that simply generated optech ballots, which at least have a good track record on the scanner end.
> No they don't, if you aren't in one of the most populous state, your vote isn't worth shit.
And if you are in one of the most populous states, it still isn't worth shit after a majority is declared. I live in California, the most populous state in the union, and it doesn't matter whether it votes 51% Democrat or 99% Democrat. I'll vote to make sure it reaches 51%, but past that, I don't really count. So if some corrupt backwater like Florida succeeds in rigging the election again, my vote doesn't count, because the popular vote (which Gore won by a long shot) doesn't count.
Winner-take-all has to go.
Unless I get a paper certificate that I can verify for myself, and that counts as "my vote" in cases where a recount is called for, I am not interested in switching to a new technology.
I guess it has to said for the 100000000000001st time: voting receipts that show how you voted are a non-starter. They can be, no, have been used for the purposes of bribery and intimidation.
Let's see, "super sekrit SEVEN PROCESSOR PARALLEL PROCESSING sauce ..." runs for over a week on standard AA batteries. Telling everyone your pricing model which includes a ridiculously steep drop after shipping a million units. Truly amateur copy writing ... even the French know that when you have a new product, you have to market it wel.
.
Oh, and you pay a $100 or 100 eur "deposit to confirm your order".
So it's not only a hoax, it's a SCAM
"tactile" ... "jackito" ... oh my.
> If you use WinXP or 2003 open the process manager and set the firefox/opera process to realtime, might do the trick.
Or it might lock up your system when the process goes berzerk as browsers are often wont to do. This does not deserve a +5, it's patently stupid advice. Setting your process to realtime does not make the CPU, MMU, network, or disk controller go any faster.
IE only preloads if you use activedesktop. Since that delays loading my desktop until IE manages to load, I have it turned off. Firefox now loads faster than IE for me.
Windows Update used to be called "Critical Update Notification Tool"...
> Quick, stop everyone taking snapshots at a wedding because the wedding photographers will go out of business!
The snapshots people take at a wedding are inconsequential. Go whip out your Leica R8 with tripod and lightmeter at a wedding, and watch the wedding photographer walk out, rihtfully pissed off.
Still, I have little sympathy for software companies whose main product can't compete with what people are willing to do for free. Macromedia and Autodesk sure aren't losing any sleep over OSS after all...
I'm not even sure I understand what that means. I understand when something isn't backward compatible -- like when Windows XP can't run software written for Windows 95. But upward compatible?
:)
Upward compatibility is the ability for older versions to continue working on newer platforms or with newer devices or sofware. USB 1.1 is upward compatible with USB 2.0 -- any USB 2.0 device will work on USB 1.1, and any USB 1.1 device will work on USB 2.0. It's simply backward compatability from the POV of the older system. Typically one can design a system for some upward compatibility, but it's usually just a matter of perspective. You can't really break upward compatability, only backward, it's the way time works and all
Every time glibc changes incompatibly, or whenever linux rearranges the device system, it breaks backward compatibility. If linux continues to do this, it's safe to say that linux is not upward compatible. Frankly this isn't quite as serious as Bill Gates makes it out to be, but MS is just freakish about backward compatibility at the OS level. Office is somewhat more cavalier, but hey, you can still open Word 3.0 docs in Word 2003.
A new CPU architecture is simply a new build target. If intel doesn't make it backward compatible with the ia32/64 line, you can't expect existing XP binaries to be compatible with it.
> Beta *was* higher quality, but VHS was a lot cheaper, and quality was 'close enough' for the masses..
Beta could not hold a full movie. VHS could. The end.
> The invention of cars killed jobs in the buggy-whip industry.
I hear this all the time. Was there ever a large number of people employed to make nothing but buggy whips, let alone an industry? I'd imagine leatherworkers would be making seat covers and so forth well into the auto industry's heyday.
> What makes it worth the problems? Is there something you actually like about it?
.mht file. Before anyone goes off on a tear about how .mht is some proprietary MS thing, it's a real simple MIME multipart/related document -- as in, it uses an open standard the way it was intended to be.
I like being able to save a whole page with all its contained objects (images, stylesheets), to a single
I also like the ability to make bookmarks available offline with a single checkbox, and update them all through a single menu action.
DHTML behaviors are the bees knees, much easier to create and use than XBL.
It's a commandline compiler, yes, but it's fully optimizing and all, it's the full blown compiler. It's so much faster than gcc it's not funny. I can hardly imagine it requires the graphical capabilities of the IDE, merely the workspace/project file format. I think you can be pretty sure the flags won't change -- it's converting MSVC5 projects that's cumbersome, since MSVC6 got rid of LIB.EXE for LINK.EXE (which *is* different). If you know someone with MSVC6, you can ask them to output makefiles from the workspace, if they're not included already. However, .dsp files are themselves very close to being makefiles already, so it's not too hard to convert them by hand.
Of course for all your trouble, you'll merely succeed in compiling a rather retrograde version of Qt that's GPL-encumbered. Serviceable, but not very satisfying.
> Qt Non-commercial for Windows requires Microsoft Visual Studio 6, which is priced out of my league.
Free is out of your price range?
Everything else I do agree with however.
Imagine a car manufacturer produced a car where the wheels were held on by one big nut.
I've worked more than one IT department where that was the case.
Thankya, I'll be here all week.
You do realize that iexplore.exe is just an OLE container for the real browser DLL's, don't you?
Why don't you just install linux and be done with it.
> why on earth would you want to pick a bank that you can't actually go to their physical location?
When was the last time you stopped by and said hi to an e*trade teller?
> While at first blush, that sounds like a good idea, from my viewpoint I don't really see how useful or wise that really is
... something I wouldn't mind, but for the fact that objects come with their own strange set of type restrictions. It's like two languages fighting each other inside Ocaml -- I'd just like one of them to win at long last.
I think there's mountains enough of literature, on generic programming, to say nothing of implementations, without me having to justify why I want it.
> For one thing, lists are immutable structures, arrays are not -- therefore, if you define a fully generic sort that works on both arrays and lists, you are now kept from using methods that sort arrays in place
In C++, one would merely specialize a template or simply overload a function to a more specific type, as you would also do in Dylan or CLOS. In Haskell, you could subclass the type family.
Presumably in Ocaml, you'd override the sort method on a subclass. Seems I have to use objects to get pervasive polymorphism in Ocaml
Module functors are also supposed to address the issue, but I'm still searching for any documentation of how.
Microsoft took their sales upstairs. Welcome to the world of sales, any good salesman will go to the person making decisions as far up as they can go. The sales tactics you outlined sure as hell are NOT limited to Microsoft, it's just that MS can afford the sort of potlach that selling to the top execs takes. As head IT guy, you have to wade in to some of those politics yourself, or at least get the CIO on your side. Ultimately either your execs respect your technical acumen, or they don't and it's time to find another shop.
I would submit however, that "threatening" to move to Linux as a defensive move against a sales tactic does nothing to sell a Linux solution within your company.
Outlook didn't get virtual folders til Outlook 2002 ("search folders"). Emacs VM has had them for a while. Opera mail has them too, and it creates them automatically for contacts and mailing lists. Opera's are quite nice in that they can have subfolders that further refine the search (but it's not automatic, you can't just drag them around agaik). Thunderbird still doesn't have them at all.
> Of course, in the real world, we'd use List.sort to sort our lists, or Array.sort (or Array.fast_sort) to sort our arrays.
...
Or MyArray.sort to sort MyArrays. Or MyOtherContainer.sort to sort MyOthercontainer
This is a functional language? Where is the polymorphism? This is precisely what my complaint about ocaml's module system is about -- it looks like nothing but namespaces. I don't ask for Haskell type families and abstractions of lists all the way down to MonadPlus; I do ask that I can define a bloody "sort" function that can take anything that implements the collection with items that support comparison! Even C++ manages to do this.
Oh I also ask that I can have C types like unsigned 32 bit ints without having to use a separate module and my own different set of operators. So maybe I do want type families...
Download sort seems to work kind of randomly for many people. Last I looked, it also didn't sort by the download site, the way GetRight does. Even then, needs to be able to queue downloads before I can start calling it a download manager. It's not a big deal for me now since I have nice high speed internet, but for dialup, downloading is sine qua non.
Incidentally, Haskell is probably my favorite in terms of clean syntax and language power. It just requires a PhD to manage to write anything more complex than "Hello World". The compiler's speed is also best described as "geological".
Ocaml is much more "real world" (you can even have variables (*gasp*)!) , but ocaml is full of syntax warts, unhelpful compiler feedback, a module system that's *supposed* to be the bees knees but looks suspiciously instead like plain old namespaces of static methods, and weird restrictions like overzealous monomorphism restrictions and lack of ad hoc polymorphism. It's that last one that just keeps frustrating me every time I want to pick up Ocaml.
Clean syntax. Not one that forces me to lean on my shift key and decorate my code with punctuation characters. The "noise" gets in my way so much that I can't even stand to program in perl anymore. I just can't take syntax like sub foo { dostuff @{$blah->{woof}}; etc... } anymore. Semicolons drive me bats.
Python's ok. Tcl is closer to the ideal syntax, but oy what a feature poor language. Lisp's really nice. Forth would be about perfect, but it makes you work at such a low level most of the time (fact is, most people just don't build it up that much) that your code looks noisier than perl, more like APL even.
Of course I like modern features, like automatic memory management, structured exceptions, first class functions, pattern matching, currying, asynchronous execution, concurrency, and so on. But I just can't express concepts well in a language that makes me clad every expression in so much syntactic scaffolding.