I went to the local bookstore for my school, gave them my course numbers, got my books, the usual. However, they gave me the wrong book for one of my classes, and I didn't realize this until the day after they stopped taking refunds. So I go back to the bookstore, sell the book back that they shouldn't have even sold me, for a $60 loss on my part, and then still have to buy the actual book for the course.
" It's a good rant but it's not really very relevent - writing your app in python (at least in the way he describes) simply isn't plausible if you're writing an app for commercial or even mass distribution - you can't rely on an existing Python installation and if you've got to package one with your installer then theres hardly any more work to embed an interperter instead."
The difficulty from doing the mixed langauges thing doesn't come from smacking the intepretter binary somewhere, but rather from the bindings between the langauges. His argument is essentially that it is easier and more flexible to call C from Python, than Python from C.
"Thinking on the popular applications out there that I know of that embed Python, you wouldn't want to write ANY of them in Python. Blender? Temple of Elemental Evil? "
Extending Python doesn't mean the whole program must be in Python, it just means that the program flow has Python calling into C, rather than C callinng into Python. Extending doesn't mean that the performance critical portions must be written in Python. Essentially, when you write in Python first, and then replace the slow parts with C, you are more closely following the "premature optimization is the root of all evil" saying.
"And, of course, the rant just ignores the best reason of all - if you don't WANT to write your app in Python."
I agree here. The bottom line is it's a question of who is going to wear the pants. But if you do like Python, and are going to use it anyway, why not really take advantage of it? Relegate the lower-level langauges to things which need to run fast.
Where does it assume a majority of the students are Linux users? It's just saying the Linux users at the school won't have the same options the Windows users will.
You, however, implicate all of the Linux users as being pirates with "Any of the minority of the students that use Linux should just stick to pirating."
There are people who run Linux exclusively, and who do not pirate (Me being one of them), although I don't attend your university, I believe there is at least one such person who does. I'd recommend the Linux users just use irate, and avoid the RIAA entirely.
I think more benefit comes from knowing what is running on this system. It's much easier to build a minimal system when you start from little, and then take away extra cruft, than it is to start with a lot, and then take away lots of cruft.
There is nothing wrong with just taking defaults, trading bloat for ease, it's just not what I want to do.
Has anyone used the NTFS partition resizing tool? Is it reliable? Does it work with XP partitions as well as Windows 2000?
I run a LUG at my local university, and while I wouldn't run Mandrake for real on my machine (been running gentoo for awhile, just started playing with slack 9.1, I am more of a power-user type.) If Mandrake makes it easy for someone to go from an single partitioned XP machine to a dual booting one, I'd try to push it pretty hard around the university to interested but inexperienced with linux students.
Re:Former perl, python, java geek gone to Ruby
on
Ruby 1.8.0 Released
·
· Score: 1
abs also works on floats though, so it makes sense for it to be more than just a member of the int class. I guess Fixnum and whatever represents floating point numbers have a common base class with abs?
Re:Former perl, python, java geek gone to Ruby
on
Ruby 1.8.0 Released
·
· Score: 1
I don't know how to add a method to an existing class as it seems you are doing in your code. But you can certainly subclass the builtins. Why do you need the parens around the int when it's used like a class in python? I don't know.
>>> (1).__add__(2) 3
>>> class FixNum(int): ... def dist_from_42(self): ... return abs(self-42) ... >>> b = FixNum(2) >>> b.dist_from_42() 40
Essentially, hash tables are preferred over balanced trees because they are usually faster in practice. Python developer showing preference to hash tables over balanced tres.
I would also like to see balanced trees in the library, if for nothing more than sometimes ordered iteration is more useful than fast lookup, but oh well. I believe having hash tables but not balanced trees is much less bad than the other way around (like standard C++), in which there are balanced trees but no hash tables.
You don't neccesarily need open source drivers, just popular open source benchmarks would be sufficient to detect cheating. If the driver is detecting the bechmark, try many small variations in the benchmark until it is no longer detected.
"Why should I have to write half a dozen test suites for some simple program property if the type checker can tell me whether it'll work right?"
Because typesafe programs still fail. Furthermore, I'd anticipate most errors in even dynamically typed langauges are not type related. Even after a clean compile with the most strict typing rules, are you confident that the code works?
(I actually don't know if your whole machine will crash hard with this, I don't have a machine to test it on, but there was a lot of buzz about it on flipcode awhile ago).
And finally, a non-screenshot related bug: the following neat little program, when compiled and run, will completely crash XP (and any earlier version of NT) (when I ran it, XP rebooted). I don't recommend you really try this program, but if you do, save all your work etc first:
#include <stdio.h>
int main (void) {
while (1)
printf ("\t\t\b\b\b\b\b\b");
"It might work something like this: Internet service providers (including universities) might add a flat monthly surcharge to the fees they charge for Internet access. "
I steal NOTHING. I don't want to pay extra fees on my internet connection bill so others can.
Not helpful? How about documenting every problem she encountered.
"a person who has been given a free set of tools and all the resources they'd conceivably need to help maintain and improve them bitches that said tools don't do exactly what they want. "
So basically, free software sucks, but it might not if you dedicate years to learning how to fix it. That's sounds like a mentatality I'd want to adopt for something that I'd want to adopt for something that is just a tool.
She gave numerous problems she had which prevented her from adopting the operating system for her day to day usage, I don't think this is a bad thing.
"I swear if Microsoft was free most of the people here would be switching to it right now. "
Right, because the people who are competant enough to use Linux aren't competant enough to pirate Windows.
Honestly, BitTorrent solves a real problem.. how can you handle the onslaught of traffic for some huge file?
Red Hat gives away their distrobution for free, counting on profitting from distrobuting it probably isn't worthwhile. Perhaps they could dedicate a few PRIVATE (must be a subscriber to access them) servers running BitTorrent for thier latest ISOs, so they wouldn't have the problem of subscribers getting 14k/s.
"support for WYSIWYG DocBook/XML and mySQL databases "
I recently (over spring break) built a machine for my mother's workplace. She actually had a worker interested in Linux, and so she let me dual boot the machine with Red Hat 8 and Windows 2000.
However, yesterday she sent me an email wondering where the Access-like program is in Red Hat. Honestly, I touched Access a little bit in some painful computer apps class I took a few years ago in high school, and never really had the need to do anything it's suitable for on my Linux box in the passed few years. Therefore, I have very little experience in the area.
I did find some PDFs about how to set up Open Office to work with MySQL, but they were definetly much too complex to set up than they really should be. I could have her set up SSH and perform then I could perform the install remotely, but the less I have to do the better. Additionally, the more she can learn to do by herself, the better.
Pick your favorite version of perl. Instead of calling it perl, call it my_favorite_perl_version_that_will_live_forever. Instead of programming in perl, program in my_favorite_perl_version_that_will_live_forever, so that you don't have to worry about the langauge changing.
Honestly, managing a 5 year old version of Python code is likely a lot less painful than maintaining a 5 year old piece of C++ code. If they are performing similiar tasks, I'd bet the Python code is much shorter (factor of 5 is within reason). I'd say the same about the maintainability of perl... except that I've seen perl code:).
Furthermore, while langauges that have one main implementation (perl, python, etc) change frequently, they rarely drop backwards compatibility, so it's likely the old code can run on a new interpretter. In the worst case, bringing it up to date won't be excessively painful.
The Trolltech guys already have a reasonable way to handle library code in a way that generates revunue directly from the software while still being free, via the dual licensing.
My suggestion was more for applications, which weren't designed to be used as the basis for other projects, but rather to be directly usable themselves.
What about an open source license that does not allow BINARY distrobution (except by permission of the original author)?
This satisifies a few things...
The people who want to contribute to the project can view the source, make changes, freely redistribute them, etc, so long as they do it in source form. The 'idea' behind the software is still free.
The vast majority of people who have no interest at all as to the inner workings, and who would end up not contributing the the project anyway, can either
A. Get the source for free and have to muck around with building it. B. Simply buy a binary/license it from the original author, giving incentive to develop usable open source software.
This surely violates what Stallman believes to be your fundamental rights with software, but it seems to be a nice middle ground between the monetary advantage of propietary software, and the ability for the interested to improve the existing software. Geeks get to hack on it, people who don't want to can pay for it, and the original author still has financial incentive to open source the software.
I think that the programmer who thinks of things in a black box mentality is usually going to be involved in failed program.
Can you clarify what is a "failed program?" Have you written nothing but 100% solid code for your entire career?
I like Python more than I like Java. Still, in terms of speed (ignoring how much memory it takes), Java is faster.
It's not just the benchmarks that say it either. The creator of Python, Guido Van Rossum, says it as well.
"The best approach is often to write only the performance-critical parts of the application in C++ or Java, and use Python for all higher-level control and customization."
This article, brought to you by free software
True story, this happened to me today.
I went to the local bookstore for my school, gave them my course numbers, got my books, the usual. However, they gave me the wrong book for one of my classes, and I didn't realize this until the day after they stopped taking refunds. So I go back to the bookstore, sell the book back that they shouldn't have even sold me, for a $60 loss on my part, and then still have to buy the actual book for the course.
Now that's a good way to make lots of money.
You mean, you live life without mencal
" It's a good rant but it's not really very relevent - writing your app in python (at least in the way he describes) simply isn't plausible if you're writing an app for commercial or even mass distribution - you can't rely on an existing Python installation and if you've got to package one with your installer then theres hardly any more work to embed an interperter instead."
The difficulty from doing the mixed langauges thing doesn't come from smacking the intepretter binary somewhere, but rather from the bindings between the langauges. His argument is essentially that it is easier and more flexible to call C from Python, than Python from C.
"Thinking on the popular applications out there that I know of that embed Python, you wouldn't want to write ANY of them in Python. Blender? Temple of Elemental Evil? "
Extending Python doesn't mean the whole program must be in Python, it just means that the program flow has Python calling into C, rather than C callinng into Python. Extending doesn't mean that the performance critical portions must be written in Python. Essentially, when you write in Python first, and then replace the slow parts with C, you are more closely following the "premature optimization is the root of all evil" saying.
"And, of course, the rant just ignores the best reason of all - if you don't WANT to write your app in Python."
I agree here. The bottom line is it's a question of who is going to wear the pants. But if you do like Python, and are going to use it anyway, why not really take advantage of it? Relegate the lower-level langauges to things which need to run fast.
A thread is not the same thing as a process. I hope that was the editors fault too.
Are the md5 sums posted here incorrect?
They say
790f1ccf98ef5b5ef8f266483c9e4d74 mepis-2003.10.cd1.iso
2c240df396828e90e88dc77b784f12db mepis-2003.10.cd2.iso
But I get these
[rob@kate rob]$ md5sum mepis-2003.10.cd1.iso
6cc4bb826d7305ebb549b19219a5a1c4 mepis-2003.10.cd1.iso
[rob@kate rob]$ md5sum mepis-2003.10.cd2.iso
c96cea5c97028b13e353a7a9f37264df mepis-2003.10.cd2.iso
Where does it assume a majority of the students are Linux users? It's just saying the Linux users at the school won't have the same options the Windows users will.
You, however, implicate all of the Linux users as being pirates with "Any of the minority of the students that use Linux should just stick to pirating."
There are people who run Linux exclusively, and who do not pirate (Me being one of them), although I don't attend your university, I believe there is at least one such person who does. I'd recommend the Linux users just use irate, and avoid the RIAA entirely.
I think more benefit comes from knowing what is running on this system. It's much easier to build a minimal system when you start from little, and then take away extra cruft, than it is to start with a lot, and then take away lots of cruft.
There is nothing wrong with just taking defaults, trading bloat for ease, it's just not what I want to do.
Has anyone used the NTFS partition resizing tool? Is it reliable? Does it work with XP partitions as well as Windows 2000?
I run a LUG at my local university, and while I wouldn't run Mandrake for real on my machine (been running gentoo for awhile, just started playing with slack 9.1, I am more of a power-user type.) If Mandrake makes it easy for someone to go from an single partitioned XP machine to a dual booting one, I'd try to push it pretty hard around the university to interested but inexperienced with linux students.
abs also works on floats though, so it makes sense for it to be more than just a member of the int class. I guess Fixnum and whatever represents floating point numbers have a common base class with abs?
I don't know how to add a method to an existing class as it seems you are doing in your code. But you can certainly subclass the builtins. Why do you need the parens around the int when it's used like a class in python? I don't know.
>>> (1).__add__(2)
3
>>> class FixNum(int):
... def dist_from_42(self):
... return abs(self-42)
...
>>> b = FixNum(2)
>>> b.dist_from_42()
40
Essentially, hash tables are preferred over balanced trees because they are usually faster in practice.
Python developer showing preference to hash tables over balanced tres.
I would also like to see balanced trees in the library, if for nothing more than sometimes ordered iteration is more useful than fast lookup, but oh well. I believe having hash tables but not balanced trees is much less bad than the other way around (like standard C++), in which there are balanced trees but no hash tables.
" I don't understand what's so difficult about C++, espc. if you know C."
"The C++ Programming Langauge" by Stroustrop is IIRC, over 1000 pages. The langauge is so damn complex.
Have you ever programmed in python? Lots of problems become a lot easier, once you approach problems 'pythonically.'
You don't neccesarily need open source drivers, just popular open source benchmarks would be sufficient to detect cheating. If the driver is detecting the bechmark, try many small variations in the benchmark until it is no longer detected.
"Why should I have to write half a dozen test suites for some simple program property if the type checker can tell me whether it'll work right?"
Because typesafe programs still fail. Furthermore, I'd anticipate most errors in even dynamically typed langauges are not type related. Even after a clean compile with the most strict typing rules, are you confident that the code works?
No, his own OS does.
(I actually don't know if your whole machine will crash hard with this, I don't have a machine to test it on, but there was a lot of buzz about it on flipcode awhile ago).
This is from here.
And finally, a non-screenshot related bug: the following neat little program, when compiled and run, will completely crash XP (and any earlier version of NT) (when I ran it, XP rebooted). I don't recommend you really try this program, but if you do, save all your work etc first:
#include <stdio.h>
int main (void) {
while (1)
printf ("\t\t\b\b\b\b\b\b");
return 0;
}
"It might work something like this: Internet service providers (including universities) might add a flat monthly surcharge to the fees they charge for Internet access. "
I steal NOTHING. I don't want to pay extra fees on my internet connection bill so others can.
Not helpful? How about documenting every problem she encountered.
"a person who has been given a free set of tools and all the resources they'd conceivably need to help maintain and improve them bitches that said tools don't do exactly what they want. "
So basically, free software sucks, but it might not if you dedicate years to learning how to fix it. That's sounds like a mentatality I'd want to adopt for something that I'd want to adopt for something that is just a tool.
She gave numerous problems she had which prevented her from adopting the operating system for her day to day usage, I don't think this is a bad thing.
"I swear if Microsoft was free most of the people here would be switching to it right now. "
Right, because the people who are competant enough to use Linux aren't competant enough to pirate Windows.
Honestly, BitTorrent solves a real problem.. how can you handle the onslaught of traffic for some huge file?
Red Hat gives away their distrobution for free, counting on profitting from distrobuting it probably isn't worthwhile. Perhaps they could dedicate a few PRIVATE (must be a subscriber to access them) servers running BitTorrent for thier latest ISOs, so they wouldn't have the problem of subscribers getting 14k/s.
"support for WYSIWYG DocBook/XML and mySQL databases "
I recently (over spring break) built a machine for my mother's workplace. She actually had a worker interested in Linux, and so she let me dual boot the machine with Red Hat 8 and Windows 2000.
However, yesterday she sent me an email wondering where the Access-like program is in Red Hat. Honestly, I touched Access a little bit in some painful computer apps class I took a few years ago in high school, and never really had the need to do anything it's suitable for on my Linux box in the passed few years. Therefore, I have very little experience in the area.
I did find some PDFs about how to set up Open Office to work with MySQL, but they were definetly much too complex to set up than they really should be. I could have her set up SSH and perform then I could perform the install remotely, but the less I have to do the better. Additionally, the more she can learn to do by herself, the better.
Does this recent release improve the situition?
Pick your favorite version of perl. Instead of calling it perl, call it my_favorite_perl_version_that_will_live_forever. Instead of programming in perl, program in my_favorite_perl_version_that_will_live_forever, so that you don't have to worry about the langauge changing.
:).
Honestly, managing a 5 year old version of Python code is likely a lot less painful than maintaining a 5 year old piece of C++ code. If they are performing similiar tasks, I'd bet the Python code is much shorter (factor of 5 is within reason). I'd say the same about the maintainability of perl... except that I've seen perl code
Furthermore, while langauges that have one main implementation (perl, python, etc) change frequently, they rarely drop backwards compatibility, so it's likely the old code can run on a new interpretter. In the worst case, bringing it up to date won't be excessively painful.
The Trolltech guys already have a reasonable way to handle library code in a way that generates revunue directly from the software while still being free, via the dual licensing.
My suggestion was more for applications, which weren't designed to be used as the basis for other projects, but rather to be directly usable themselves.
What about an open source license that does not allow BINARY distrobution (except by permission of the original author)?
This satisifies a few things...
The people who want to contribute to the project can view the source, make changes, freely redistribute them, etc, so long as they do it in source form. The 'idea' behind the software is still free.
The vast majority of people who have no interest at all as to the inner workings, and who would end up not contributing the the project anyway, can either
A. Get the source for free and have to muck around with building it.
B. Simply buy a binary/license it from the original author, giving incentive to develop usable open source software.
This surely violates what Stallman believes to be your fundamental rights with software, but it seems to be a nice middle ground between the monetary advantage of propietary software, and the ability for the interested to improve the existing software. Geeks get to hack on it, people who don't want to can pay for it, and the original author still has financial incentive to open source the software.
I think that the programmer who thinks of things in a black box mentality is usually going to be involved in failed program. Can you clarify what is a "failed program?" Have you written nothing but 100% solid code for your entire career?
I like Python more than I like Java. Still, in terms of speed (ignoring how much memory it takes), Java is faster.
It's not just the benchmarks that say it either. The creator of Python, Guido Van Rossum, says it as well.
"The best approach is often to write only the performance-critical parts of the application in C++ or Java, and use Python for all higher-level control and customization."
That quote is taken from here.