Perl's DBI module allows to connect to different databases directly (as in SQL queries). I know that ODBC is supported, but I haven't used it.
Perl is amazingly fast for text manipulation - both in development and execution time. To me, the strengths are ease of development (obviously), and the availability of a whole spectrum of modules that run natively.
Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged - the compiler knows the types anyway and can check those, and it only confuses the programmer. No wonder MicroSoft makes buggy programs.
Variable names are for the programmer - not compiler. Also, weakly typed languages like C will compile the code with mismatching types.
Hungarian notation is just a mechanical way to name your variables consistently. I don't think Code Complete insists on Hungarian; most of the book is about throwing more light on the issues than forcing you to follow a specific standard. It is a good beginner's book, IMO.
if the other programmer didn't make it a "final" method
What stops the end user from extending a commerical AOP application? I, as a commerical software developer, don't want the end user to hook into my program as he pleases. How does AOP handle this scenario?
Do you really want anyone to walk up to your machine and type "pr0n" and find your stash?
This is a permissions issue, isn't it? If you don't have proper permissions set, anyone would find your porn, irrespective of how the file system is organized.
True. But the proposed method is much more simpler and elegant than this - encoding and decoding is very straight forward. In the method you cite, it sounds really complicated to encode some valuable data.
From my understanding, it appears that he chooses a complentary pair of instructions: addition-subtraction. Then you designate "1" to addition instruction, and "0" to subtraction. So, if you look at only these instructions, your executable can contain a binary string (addition and subtraction instructions).
Now what the author does is, alter the original binary string to that bit-string data of our interest (of the same length). This process requires flipping of instructions. For example, if some instruction is addition (1), but your data requires it to be (0) bit, you change the instruction to subtraction, and change the operand to a negative of the original value. Same applies to flipping a '0' to '1'.
Addition-subtraction works because there are no overflow issues (atleast with signed ints). Since this is also a very common operation, your executable is likely to be large enough to "hold" sizeable data.
Price is relative to the country you live in. "Eastern Economy Editions" of many technical books are a good example of this. Many can't afford the books if you sell them at the same price as USD. (Sure, the paper quality is low, but that's beside the point - if you want people to buy, better make it affordable).
I agree for the most part, but what about new versions releasing every few months? I have a couple of fat books on Java, just a couple years old. Now I can't throw them out, nor have the motivation to follow those.
As a recent Safari member, I concur with the reviewer about the advantages. It is a commendable effort to pool and convince so many publishers to have their books online at a fractional price of the hardcopy edition. This definitely is an advantage in the world of ever changing language/technology versions, where the new versions make the old obsolete. However, the Terms of Serivce are't as flexible as the book version.
When I was put up with dialup modem, I wrote a script to download the pages of the book I had in my shelf (I hated waiting for a while before the next page downloaded). Not only did Safari prevent me from accessing the content, but also I received automated emails (one for each attempt) stating that this is unacceptable according to TOS (Obviously, I clicked on "I agree" without reading). Maybe I could have figured out how to fool their detection mechanism in a few more attempts, but low bandwidth isn't enough reason for me to violate the TOS.
WinXP supports many langugages and input methods, right out of the box, and includes atleast one font for each language. This was definitely a very impressive point for me. I'm not sure if this is equally easier with Win2k, though I never tried (because I didn't know then).
maybe we can build some that create good melodies, who knows.
I think this is a much harder problem than playing chess. Not only the combinatorial space is much larger, but there is no hard and fast rule for evaluating the quality of the combinations. Infact, any prior knowledge automatically implies lack of originality.
Are you telling me that one should READ the whole freaking code of OS to write some simple application? Sloppy applications are a result of sloppy programmers, who would do no better, open source or no.
Okay, playing devil's advocate here. I have a strong connection with Win2k. What is it that you're trying to prove? If you think OS is a religion, computers aren't for you.
(How on earth is this insightful?)
There was an article on slashdot a few days ago about this (sorry, can't find the URL now). Check out CAPTCHA. It doesn't seem to me that the project intends to extend the idea to the complete content of the site though.
No, that's not right (speaking as someone who has taught college level English). An interpretation must be 1. based upon a close reading of the work in question and 2. follow some established, or at least comprehensible, mechanism of interpretation. Opinions are not good answers in a humanities exam, any more than they would be in a CS exam. There's more room for ambiguity in the humnaities, true, but that ambiguity is always within what Eco has right called (in his book of this title) "the limits of interpretation." The job of the humanist is to invent within those limits, as is the job of the engineer.
For example, if a civil engineering student tells me that he's designed a brilliant new concept for a highway bridge using nothing but cheese doodles, I'm going to ask "do you realize that cheese doodles won't be able to hold much more than their own weight?" Bzzzt! Wrong answer! If a humanist says, "well I think The Tempest is about the search for the telluric currents in 16th century Italy," I'm going to ask "and what makes you think that Shakespeare KNEW anything about the so-called telluric currents, or anything about Italian alchemists? And what in your reading of The Tempest suggests telluric currents as a subtext to the play?" Bzzzt! Just as wrong as the engineering student.
While I agree with your response, the subjective/objective argument still applies. The point of engineering fields is to make something that "works", while it is creativity that matters more in the areas like literature.
I venture a guess that in the engineering disciplines, mistakes tend to be more expensive - hence one needs to be more critical while grading. It doesn't cost lives if a student makes up that Shakespeare knew about alchemy; but it does matter if one builds bridges with suboptimal design.
I think this is excellent news; as a developer, the fact that java is not shipped with windows makes it a pain in the ass to write java apps for windows users.
I'm a Perl developer. It's a pain in the ass to write Perl programs for Windows users. So?
s/Perl/myfavlanguage/g
if i write a c++ app, no problem, a user can simply download and run it. If i write a java app, and say distribute it as a JAR file, your average user isnt gonna want to download the Java runtime or sdk, then launch the jar file calling java -jar or javaw.exe or whatever.
Java bytecode isn't native code - OS is not expected to run it. Sorry, but a good number of Java programmers wanting to develop apps for Windows isn't a good enough reason to make JRE a part of Windows. There are other valid reasons though.
There is no such word as _the_ in Perl. TMOWTDI.
Perl is amazingly fast for text manipulation - both in development and execution time. To me, the strengths are ease of development (obviously), and the availability of a whole spectrum of modules that run natively.
Anyone else read that as Dotmatrix?
The AOP way:
after(): WouldYouBeSoKindAsTo () {
ThankYouButPlease(turn_off_alarm);
}
Variable names are for the programmer - not compiler. Also, weakly typed languages like C will compile the code with mismatching types. Hungarian notation is just a mechanical way to name your variables consistently. I don't think Code Complete insists on Hungarian; most of the book is about throwing more light on the issues than forcing you to follow a specific standard. It is a good beginner's book, IMO.
What stops the end user from extending a commerical AOP application? I, as a commerical software developer, don't want the end user to hook into my program as he pleases. How does AOP handle this scenario?
This is a permissions issue, isn't it? If you don't have proper permissions set, anyone would find your porn, irrespective of how the file system is organized.
True. But the proposed method is much more simpler and elegant than this - encoding and decoding is very straight forward. In the method you cite, it sounds really complicated to encode some valuable data.
Now what the author does is, alter the original binary string to that bit-string data of our interest (of the same length). This process requires flipping of instructions. For example, if some instruction is addition (1), but your data requires it to be (0) bit, you change the instruction to subtraction, and change the operand to a negative of the original value. Same applies to flipping a '0' to '1'.
Addition-subtraction works because there are no overflow issues (atleast with signed ints). Since this is also a very common operation, your executable is likely to be large enough to "hold" sizeable data.
Price is relative to the country you live in. "Eastern Economy Editions" of many technical books are a good example of this. Many can't afford the books if you sell them at the same price as USD. (Sure, the paper quality is low, but that's beside the point - if you want people to buy, better make it affordable).
Yeah, but who would want an mp3 that's over a terabyte? :P
This argument is "Strong AI". Not all AI advocates this. There are many arguments against strong AI, one of which is Searle's Chinese Room.
I agree for the most part, but what about new versions releasing every few months? I have a couple of fat books on Java, just a couple years old. Now I can't throw them out, nor have the motivation to follow those.
When I was put up with dialup modem, I wrote a script to download the pages of the book I had in my shelf (I hated waiting for a while before the next page downloaded). Not only did Safari prevent me from accessing the content, but also I received automated emails (one for each attempt) stating that this is unacceptable according to TOS (Obviously, I clicked on "I agree" without reading). Maybe I could have figured out how to fool their detection mechanism in a few more attempts, but low bandwidth isn't enough reason for me to violate the TOS.
Not in India. To "xerox" is more readily understood than "to photocopy".
Actually, "\\." or @"\." :P
WinXP supports many langugages and input methods, right out of the box, and includes atleast one font for each language. This was definitely a very impressive point for me. I'm not sure if this is equally easier with Win2k, though I never tried (because I didn't know then).
I think this is a much harder problem than playing chess. Not only the combinatorial space is much larger, but there is no hard and fast rule for evaluating the quality of the combinations. Infact, any prior knowledge automatically implies lack of originality.
Are you telling me that one should READ the whole freaking code of OS to write some simple application? Sloppy applications are a result of sloppy programmers, who would do no better, open source or no.
Obviously, screwdriver screws you, unless uh.. you're in some communist country whose name starts with an 'R'.
Okay, playing devil's advocate here. I have a strong connection with Win2k. What is it that you're trying to prove? If you think OS is a religion, computers aren't for you. (How on earth is this insightful?)
There was an article on slashdot a few days ago about this (sorry, can't find the URL now). Check out CAPTCHA. It doesn't seem to me that the project intends to extend the idea to the complete content of the site though.
For example, if a civil engineering student tells me that he's designed a brilliant new concept for a highway bridge using nothing but cheese doodles, I'm going to ask "do you realize that cheese doodles won't be able to hold much more than their own weight?" Bzzzt! Wrong answer! If a humanist says, "well I think The Tempest is about the search for the telluric currents in 16th century Italy," I'm going to ask "and what makes you think that Shakespeare KNEW anything about the so-called telluric currents, or anything about Italian alchemists? And what in your reading of The Tempest suggests telluric currents as a subtext to the play?" Bzzzt! Just as wrong as the engineering student.
While I agree with your response, the subjective/objective argument still applies. The point of engineering fields is to make something that "works", while it is creativity that matters more in the areas like literature.
I venture a guess that in the engineering disciplines, mistakes tend to be more expensive - hence one needs to be more critical while grading. It doesn't cost lives if a student makes up that Shakespeare knew about alchemy; but it does matter if one builds bridges with suboptimal design.
Looking at the big picture, who's making more money - Nike or the sweatshops in the thirdworld countries?
I'm a Perl developer. It's a pain in the ass to write Perl programs for Windows users. So?
s/Perl/myfavlanguage/g
if i write a c++ app, no problem, a user can simply download and run it. If i write a java app, and say distribute it as a JAR file, your average user isnt gonna want to download the Java runtime or sdk, then launch the jar file calling java -jar or javaw.exe or whatever.
Java bytecode isn't native code - OS is not expected to run it. Sorry, but a good number of Java programmers wanting to develop apps for Windows isn't a good enough reason to make JRE a part of Windows. There are other valid reasons though.