Slashdot Mirror


User: magi

magi's activity in the archive.

Stories
0
Comments
266
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 266

  1. Adopt a prostitute on Adopt a KDE Geek · · Score: -1, Offtopic

    In related news today, Italians are planning an "Adopt a Prostitute" campaign in City of Padova, where people could give prostitutes a home and food.

    The aim is to get rid of the annoying street prostitutes by giving them new start to life.

    Maybe the "Adopt a Geek" campaign has a similar motivation?

  2. UFOs, maybe, maybe not on UFO Evidence From SOHO Satellite · · Score: 4, Interesting
    ...in the sense of unidentified objects. A few arguments pop into my small amateur astronomer mind:
    • It might be some dynamic physical or electric behaviour in the CCD or optics. The hardware is a few years old, after all, in extreme conditions. Might be water condensating on lenses, might be reflections from ice crystals, might be obscure electric charge dynamics on the CCD.
    • SOHO is located in one of the 5 Lagrange points where it stays at same relative position with both Earth and Sun. Since this is an exceptional point, some space garbage such as rocks or space suit gloves might get stuck in the vicinity of the (unstable) point for some time.
    • UFOs, as flown by some extra-terrestial intelligent beings, might generally be rather small objects. Space is big. SOHO's cameras do not have extremely good resolution and any visible object would have to be either enormous, very bright, or somewhat close to SOHO (and Earth), but between SOHO and Sun. Somehow that wouldn't seem to make much sense.
    • Similar bright objects have not been observed from Earth based observatories, which would mean that it's a local phenomenom to SOHO. This would hint towards the first two possibilities above.
    IANAA, IAAAA.
  3. Re:Purrfect snack on Rats, Robots, And Rescue Follow Up · · Score: 2

    "...in many ways robots are better than any living creature. ...[Rats] can't sit deactivated for long periods of time."

    Well, you can always hibernate the rats by putting them into a dark fridge at about 1..5C temperature.

    One psychology book used nicely scientific phrasing about such an experiment: "...20 specimen was used in the experiment. However, one of the test subjects became permanently inactive."

    That's a nice way to say it.

    Cherish your rat.

  4. Purrfect snack on Rats, Robots, And Rescue Follow Up · · Score: 3, Funny

    Rats are probably the most ideal animals for rescuing people from collapsed buildings -- they find you through the smallest cracks and the bonus is that you can eat them while waiting for the rescue crew dig you up.

    Only thing you'd need to check is whether the victims are allergic. While I kind of like waking up in middle of night because a rat is sitting on my head (has happened more than once), I and quite many other people would choke to death quite quickly if forced to live with a fat furry rat in a small cavity for a prolonged time.

    Cherish your rat.

  5. I admit to this on Scientists Don't Read the Papers They Cite · · Score: 2
    There are several references in my Master's Thesis which I actually didn't read personally. They fall into following categories:
    • Historical references. A few articles, from 1943, 1949, 1958, 1969, 1975, 1977, and so on, cited with roughly: "The history of ... can be traced far back to the times of birth of the digital computers (Xx 1943, Yy 1949). There was some research done [about the topic] in the fifties and sixties (Zz 1958, Ww 1969). ... The idea of X was first introduced by Y in 1960s..." I couldn't find the original articles easily any longer, but they are cited similarly in about every introductory book on the topic, and they are really very generic references and don't contain anything interesting. They are only to give credit: "This book dealt with this first and gave this general idea, which is commonly known in the field." And there's no technical details in the books that would be needed.

    • Irrelevant references. One reference was the original source of a simple function, which I got from a friend, who gave also the original reference. The original article was totally unimportant, because the simple and basicly arbitrary function generated some test data and didn't have any deeper meaning. A few other such references contained the original descriptions of certain benchmarking data sets that have been used in thousands of studies. The meaning of the data was totally unimportant to me.

    • One technical article, which I couldn't find from anywhere. The method described in the article was described in numerous other articles and books, but I guess it's always possible that they were not perfectly accurate. Maybe I trusted too much, I don't know. Somewhat irrelevant though, as I implemented a variant (see below).
    You judge me. I don't bother.

    This is not to say citing unread references is generally good. It should be avoided, although perhaps not at any cost -- getting all possible historical and elementary books can be costly and time-consuming in proportion to the actual benefit. Nevertheless, I've too often seen people implement a method, but not quite the same way as the original author, and still talk about it as it was the original method. In such cases, I'd recommend circumventing the problem by saying: "We used a variant of the method presented by X." and making sure it has implementation details that the original article could not possibly have had.

    It's all about how you say it.

  6. Life will find a way on Scientists Attempting to Create Simple Life Form · · Score: 2
    To ensure safety, Smith and Venter said the cell will be deliberately hobbled to render it incapable of infecting people; it also will be strictly confined, and designed to die if it does manage to escape into the environment.

    I feel safe now. I hope they'll put up a Created Life Park, where people can sit in an automated tour cart and see different evolved artificial creatures. With modern techonology it will be totally safe.

    "'Ooooooh' and 'aaaaaah', that's how it always starts. But then later comes the running and screaming. I mean, life will find a way." -- Ian Malcolm
  7. C vs C++ on The Peon's Guide To Secure System Development · · Score: 3, Informative
    Article says: "It should be a crime to teach people C/C++."

    I've been wondering if there's much difference between C and C++ in security. C seems to be most used language for system and server programming nowadays, especially in Open Source projects.

    C++ has many features that forgive your mistakes. With proper string, buffer, and other basic data type classes your bounds are always checked so there can't be buffer overflows which seem to be most common source of problems. In addition, automatic destruction of objects eases memory leaks.

    You can, of course, do all the same things in C, but it's always syntactically more complex than in C++. You need to learn dozens of different coding rules just to avoid trivial problems. Often you forget to apply them; each time you create a risk.

    For example, just today I noticed a dangerous situation when I initialized a callback function table with:
    somestructtype myfuncs = {myFuncA, myFuncB};
    While this works quite nicely, it's secure only if the struct always contains the two items. If a new item is added to the struct, all uses of the structure would have to be updated, but the compiler might not warn about this situation. In this case, the result would probably be a program crash. A more secure way would be:
    somestructtype myfuncs;
    memset (&myfuncs, 0, sizeof (myfuncs));
    myfuncs->func1 = myFuncA;
    myfuncs->func2 = myFuncB;
    This is much safer. However, in C++, this problem simply wouldn't exist because structs are typically never used and classes have constructors that always initialize them properly and user doesn't have to care so much about possible changes in the classes.

    This is just one example. There are plenty more.

    On the other hand, stuff is more often allocated from heap in C++ rather than stack. Memory might therefore fragment more easily in C++ than in C.
  8. Re:Uncommented trojan on Trojan Found in libpcap and tcpdump · · Score: 2
    1963 - Assasination of President Kennedy

    It seems that the troian is Finnish. A few things that occurred in 1963:
    • New health insurance law was passed
    • Importing of cars was releaved
    • Prime minister was Ahti Karjalainen
    • The Sävelradio (Light Music Program) started in public radio broadcasts
    • The Committee of 100 was founded
    • Finns Tuula-Kaija (16) and Seppo (21) danced twist 60 hours continuously.
    • 100th anniversary of Finnish Parliament
    • An almost ready nine-floor apartment building crashes in Lahti. No casualties.

    In foreign countries;
    • J.F.K is killed
    • NASA news satellite Relay 1 relayed news between GB, USA, and Brazil.
    • Rolling Stones published their first record Come On
    • Hurricane destroyed half of Japan's crop
    • A lightning killed 81 people in Maryland, USA
    • Martin Luther King's famous speech, "I have a dream..."
    • Kennedy's citizen rights law enacted
    • 1600 dead in Jugoslavia in earthquake
    • First woman in space, Valentina Tereskova, in Vostok-1
    • Pope Whatever VI came in power
    • Bruno Ross observed X-ray radiation from space
  9. Uncommented trojan on Trojan Found in libpcap and tcpdump · · Score: 5, Insightful

    The trojan code seems somewhat complex and unreadable at first glance. The variable names don't express much of the semantics. It even doesn't have any comments. No wonder no one notices if this kind of stuff is written into code. And this is very clear code.

    Even (or especially) free software developers should use more descriptive variable names and comment their code well. It makes the code much more readable for analysis, both security or quality reviews.

    Well, ok, crackers probably want to obfuscate their code with /* Here's stuff for the trojan. */, but if all code is well documented, it's generally easier to understand and intentional obfuscation might be easier to spot.

    I'd recommend the rule: "One comment per statement, except when really unnecessary." Many people think it's silly, but those people haven't had to read a lot of other people's code.

    Hmm, I wonder why they used port 1963...author's birth year? Nah, that would be too old for a typical cracker.

  10. Nokia 6310i on Sony Ericsson Makes a tri-band GPRS modem · · Score: 2

    Why buy a modem card? Why not a cell phone and a cable or Bluetooth? It's almost as convenient and much more multi-purpose.

    6310i is tri-band, has GPRS, Bluetooth, and all the standard phone stuff. And works perfecly with Linux. I'm quite happy with it, except when I have to reboot it occasionally to get the GPRS working.

    With Bluetooth, any Bluetooth-cabable system can use the cell phone as a GPRS modem right from your pocket. For example, I have a Sony TRV-50 video camera that has Bluetooth, web browser, and e-mail client. Theoretically, I could use my cell phone as a modem for the camera. Ok, not in practice, I haven't gotten it to work yet.

  11. First thing to ban... on EU Anti-Hate Laws On The Web · · Score: 2, Insightful

    Bible.

    In old testament, it teaches us that one nation is the "chosen race" of god who are superior. No, it's not just a silly myth -- millions of people really take it seriously and support the "chosen race" financially and politically and many are even ready to die for them.

    In new testament, it teaches us that the abovementioned people are evil. Well, at least many popes and other Big Names such as Luther have interpreted it in that way. This has resulted in almost 2000 years of procecution, killing millions of the "chosen people".

    It orders people to destroy temples and groves of other religions. Actually, the book says that the "God" of the book will kill all nonbelievers. This is a violation of freedom of religion, and certainly a sign of hate. You can find the word "hate" there countless of times. God hates this, God hates that. We can quite safely say that Bible teaches hatred.

    I mean, really. Who are the people nowadays most often accused of hate crimes? Christians. Just look at this site or the infamous Nurenberg Files. Need I mention KKK? This is what is going on out there.

    I don't support censorship, not even of hate pages. But if such pages or books should be banned, we definitely know the book to begin from. I believe it meets any criteria.

    Of course, no western nation would take this seriously. If you're a Christian, you of course won't. No need to wonder why. Remember, even the sickest fundies preach the "message of love".

  12. Probatus Spectra SDK on Competitive Cross-Platform Development? · · Score: 2

    Would a cross-platform SDK with a C API do, instead of C++? C is more efficient than C++ for many purposes and much nicer for integration.

    You might want to take a look at Probatus Spectra SDK. It provides many standard and advanced functionalities, as well as many helpful high-level frameworks for networking, globalization, and so on. A comprehensive cross-platform compatibility layer is an integral feature of the SDK.

    You mentioned that you need especially threading. Probatus Spectra SDK provides a very nice cross-platform API for threading. For example, it cross-implements the conditional variables in Unix threads and thread events in Windows.

    It also has an excellent build system based on a framework of makefiles that hides all platform-dependent issues.

    The currently supported platforms are Linux, Solaris (Forte compiler), HP-UX, IBM AIX, Tru-64 and MS Windows (VC++ and Borland C++ Builder compilers). Both 32- and 64-bit platforms are supported for Solaris,

  13. Brilliant example of Microsoft on MITRE Corp. Report On Open Source In Government · · Score: 5, Interesting
    The document is an enjoyment to read. It has a few pearls which are especially enlightening. One of these is a table illustrating the actual freedoms and restrictions placed by various licences, for example GPL and a Microsoft's MIT EULA:

    Properties (a) through (e) in the table examine the ability of a license to co-exist with other types of software, e.g., the ability of FOSS licenses to co-exist with proprietary software. In this
    category, the most exclusive license is easily the Microsoft MIT EULA license 1 , which prohibits a number of FLOSS licenses from co-existing on the same platform as the EULA software. No other FLOSS or proprietary license encountered during the survey came close to this level of exclusivity. The GPL takes a very distant second place for exclusivity, since it forbids design- time incorporation of GPL source code into non-GPL source code. However, unlike the Microsoft MIT EULA, the GPL places no constraints on software simply running on the same system, and actually goes out of its way not to intrude on other licenses outside of that context."


    I didn't even know Microsoft has that restrictive license. It says here that it "Specifically bans use of: GPL, LGPL, Artistic, Perl, Mozilla, Netscape, Sun Community, and Sun Industry Standards."

    Microsoft's site shows the license. It's really true. This particular EULA seems to be for a "Microsoft Mobile Internet Toolkit Beta 2". They actually call OSS as "Potentially Viral Software" in the license.
  14. OpenOffice is XML, now! on Tim Bray on Microsoft Office · · Score: 5, Informative

    Doing XML stuff with OpenOffice is supergreat. It took me half-an-hour to study the format enough to write a XSLT parser that extracts all strings from an OO document.

    Now I wrote, just for demonstration, the following XSLT example in just a few minutes, useable directly with xsltproc in Linux.

    The example prints all the Heading paragraphs in a OO Writer document, indented according to the header level.

    <?xml version='1.0'?>
    <xsl:stylesheet
    xmlns:xsl="http: //www.w3.org/1999/XSL/Transform"
    xmlns:office="ht tp://openoffice.org/2000/office"
    xmlns:style="htt p://openoffice.org/2000/style"
    xmlns:text="http:/ /openoffice.org/2000/text"
    xmlns:table="http://op enoffice.org/2000/table"
    xmlns:draw="http://openo ffice.org/2000/drawing"
    xmlns:fo="http://www.w3.o rg/1999/XSL/Format"
    xmlns:xlink="http://www.w3.or g/1999/xlink"
    xmlns:number="http://openoffice.org /2000/datastyle "
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:c hart="http://openoffice.org/2000/chart"
    xmlns:dr3 d="http://openoffice.org/2000/dr3d"
    xmlns:math="h ttp://www.w3.org/1998/Math/MathML"
    xmlns:form="ht tp://openoffice.org/2000/form"
    xmlns:script="http ://openoffice.org/2000/script"
    version='1.0'>

    <xsl:output method="text" encoding="ISO-8859-1"/>

    <!-- Print all headings, indented. -->
    <xsl:template match="text:h">
    <xsl:value-of select="substring(' ', 1, (@text:level - 1) * 2)"/>
    <xsl:text>* </xsl:text>
    <xsl:value-of select="text()"/>
    <xsl:text>&#xa;</xsl:text>
    </xsl:template>

    <!-- Don't output any other text. -->
    <xsl:template match="text()">
    </xsl:template>
    </xsl:stylesheet>

    The result would be something like:

    * Top-level heading such as a chapter
    * Second-level heading (section)
    * Another section
    * Subsection
    * Subsubsection
    * Yet another section

  15. Would this prevent modifications? on Congress Members Oppose GPL for Government Research · · Score: 3, Insightful

    While the arguments for releasing publicly funded software under a PD or BSD license may have a point to some degree, they completely ignore the basic purpose of GPL.

    GPL allows the user to make modifications. That's why most people use it, including governments.

    Now, if there would be laws prohibiting government workers to writing GPL licensed software, they could not make the modifications, which is the biggest reason why anyone would use GPL software in the first place.

    Therefore, by prohibiting writing GPL code, the government would, to some degree, exclude itself from using (and I mean really using) GPL licensed code. Everyone would suffer, except maybe Bad Bill.

    Then, you say, government should only use PD or BSD licensed software, right? Not really, it wouldn't work in practice because any sensible subcontractor or other company developing the government-funded software further would certainly re-license it under a proprietary license. The company might even offer the modified version a bit cheaper if they get the copyrights and can re-sell it with big bucks to others. However, by purchasing that new software, which it probably would do since it's "cheaper", the government would lose the freedom to itself modify the code that it wanted to be free in the first place.

    Such situations could, of course, be prevented by appropriate contracts with the subcontractors, but I would say it's quite certain that, in practice, such important factors would most certainly be ignored when writing the contracts, just as they are always when buying software from companies. This would probably cause an inevitable privatization of all software originally developed by the government and lead us to a world with only closed-source proprietary software.

    One good way to correct the problem would be to make it a law to use only PD or BSD licensed software in goverment, but this would probably make some proprietary software companies even less happy than with GPL.

    Hence, it may be best to allow the government agencies publish their software under any Open Source license they choose to be best for their purposes, including the PD non-license, BSD, and GPL.

    Not that I'm a US citizen, but this might apply to other governments as well and, after all, the future of GPL licensed Free Software does affect the entire world. It's not just the US government developing software for itself, but many governments in the world do participate in common GPL licensed projects.

  16. Why don't they just... on Passenger Profiling: CAPPS II · · Score: 1

    ...use a modified version of Spamassassin?

    Call it Turbanassassin?

    "...mathematically ranks..."? Rright. That of course sounds much more scientific and non-discriminating than just calling it racial profiling what it really will be...

  17. Hidden elephant, crouching unicorn on Larry Wall On Perl, Religion, and... · · Score: 2

    Who are you to say that what a Hindu, or a Jew, or a Muslim, or a Wiccan believe in isn't God as well? If you haven't heard the elephant parable, you should - basically, if a bunch of blind men are trying to describe an elephant by touch, you'll get a ton of completely disparate answers, which, when looked at from a higher stance, all make sense. It's much the same way with religion. All religions have the same kernel of truth to them - it's up to the people to figure them out.

    The kernel of truth might also be that all religions display different aspects of human imagination. There isn't necessarily a real entity behind any of the myths and religious experiences. This would perhaps be sad, but no amount of wishing could change that reality.

    You should also notice that many religions, especially Christianity, fundamentally exclude the reality of other religions. Christianity is totally atheistic regarding the gods of other religions -- except regarding its own god. It even goes as far as to deny the worship of other gods; why would the supreme God deny the existense of his other representations and actually threathen to send people to eternal damnation or death if they worship them?

    Also other religious doctrines are totally contradictory between religions (you can consider each person's religious views a different religion in this sense). In most forms of Christianity, repetitive rebirth is simply impossible. In most forms of Hinduism, the Christian "eternal life" might be considered an abhorrence (they seek towards eternal death, not eternal life). One says that it has a trunk and big ears and another that it has a muzzle and small pointy and hairy ears.

    Certainly you can always create your own religion that takes the convenient common and non-conflicting bits and pieces from an assortment of religions, but your new religion is not the same as the original religions, which might explicitly deny your heretical interpretation of the particular god.

    It should also be clear to you that we humans have enough imagination to create myths that don't have real god-entities behind them. Even if you believe that many religions have an actual entity behind them, you would be naive saying that none are merely imagined. Now, if you start constructing your picture of the elephant by collecting the myths of different religions -- some imagined and some maybe not, you probably end up in a unicorn, not an elephant.

    Since we seem to have trouble distigushing between imagined and "real" religious truths (if they exist), we can't really say if any of the religions have any truth.

    Consequently, agnosticism and atheism (which are not exclusive, btw) are the only rational choises left, unless you happen to meet a god, a son of a god, or an angel who makes some convincing miracles such as creates a unicorn pet for you. I'm yet to see such miracles so I remain an atheist.

  18. Re:Or maybe it *is* that unbelievable on Boeing Joins In Anti-Gravity Search · · Score: 5, Insightful

    You had excellent comments. I'll just add a few notes.

    The only thing we've ever discovered that's capable of warping spacetime is "mass".

    IANAP, but I've heard that, according to some current theories, it's actually energy that curves the space. Matter just happens to have a lots of it. I would think this would have radical cosmological implications as the mass (with respect to gravity) of the universe would be a constant. Or maybe it's just an urban legend.

    Let's say I create a black hole with a similar mass to that of the Earth (I have a fairly well-equipped basement). In the vicinity of the black hole, I would feel a force towards the hole ... of approximately 1G ...

    Not quite, because the force is inverse square of distance. If the mass of the black hole is 1 earth, you'd have 1G at the distance of earth's radius, i.e., about 6300km. At one meter... have fuuunnnnnnnnn......!

    There's not going to be a heck of a lot I can do about the fact that my black hole is going to shoot down towards the earth under a combined force of 2G

    To be precise, the earth would pull the black hole towards it with 1G and the black hole would pull earth with 1G (on average). It would therefore accelerate just as much towards the earth as earth would accelerate towards it, if we look from somewhere else, say from Sun.

    Even if it is possible, it's highly doubtful that we will stumble across the solution by random experimentation with e.g. spinning disks.

    Assuming that it was random. I think I saw an argument a few years back that Einstein had mentioned about such a possibility.

  19. Zen of ... doing things on Gaming Zone? · · Score: 3, Interesting

    In Zen buddhism, and many schools of martial arts, you can find the following concepts:

    Isshin, "one mind", means extreme focusing on a single topic or a target. One archery master has written: "One life, one arrow. Use your entire life for firing one arrow."

    Zanshin, cautious mind, means broadness of perception, being aware of everything that's happening around you.

    Mushin, empty mind, is totally free of fear, distress, pain, and other distractions. "Mushin doesn't get entangled to anything, but flows as freely as a flowing water, finding its way in a riverbed."

    The goal is to find a mental state where all three aspects combine.

    Of course, martial arts teachers say that mushin can only be attained after years, if not decades, of practice. I don't know if that's true - they might be confusing superior mental state with actual superior performance, which is a combination of skill, physical prowess, and mental state, and might therefore not be relevant.

    I believe these aspects are pretty common in about everything people do, not just martial arts, sports, computer games, or zen monk business. Some martial arts people, such as the sword master Mushashi, have said the same, when they have observed the same mental states in artistic performers, and actually in people of all professions.

    Personally, I love computer games, and especially in first-person-shooters I often find moments where the game just "flies" with a deadly rhythm. There's definitely zanshin there, and possibly also isshin and mushin. Assuming that I'm right about the meaning of isshin and mushin, I might say that mushin is very common in playing, while isshin is less clear.

    Such mental states do not of course quarantee success, because you're probably not the only good player there, and good skill, reactions, and especially items may usually give better results that any game Zen. ...maybe the "easily flying game" is just because I've managed to scrounge all the best weapons and armor...

    Games do resemble stimulant drugs. I just finished Baldur's Gate, which I started playing two weeks ago. When I started, I played 30 hours straight with almost no breaks. I didn't feel any need for sleeping or eating or doing or thinking anything else. It's same thing with all new games, usually I play them through in a weekend.

    As a side note, I must say that attaining such states might be easier for some people. For example, ADHD (attention deficit hyperactivity disorder) is often associated with super-concentration, one which is often compared in psychological texts to "a mental state common with top athletes". Go figure.

  20. Re:You miss the point(er) on Think Python · · Score: 2

    Python is a terrific language for teaching CS because it has the basics of discrete structures: lists, maps (in Python, called dictionaries), tuples, and atomic data types such as strings, ints, and reals. That's all you need.

    You're probably right with regards to basic and advanced programming courses, as I also mentioned, but I was talking especially about certain intermediate courses such as Data Structures and Algorithms, and System Programming. In those courses, low-level languages would be better in my opinion.

    I don't know how it's elsewhere, but at our CS dept, we also had mandatory courses such as Introduction to Computer Science, which quickly introduces logic gates and processor microcode programming; Computer Organization, which is about processor architecture at all levels; and Physics for Computer Science, which goes all the way down to electric fields in condensators and coils.

    Sure, you might want to call that Computer Engineering, but I think, and I believe many CS teachers think, that such low-level stuff is important for CS students too for "getting the whole picture".

    Thus, learning how those lists, maps, and other things have been done, is important for CS students too.

    But you've again missed the point of Computer Science. CS is about efficient algorithms, not efficient programs.

    That's of course the academic ideal, but I'd say most CS students will work as programmers after they graduate (or drop out of school). If they don't have the low-level knowledge, they will be next to useless. In all the companies I've worked in, I've never seen a CS student working as an "algorithm designer"; they all either code or do overall system design. Even at university, most algorithm researchers have to pay at least some attention to code efficiency, which usually means using C or C++.

  21. Re:Pointers required on Think Python · · Score: 1

    I'm not sure what you're talking about. Every variable in python is a reference to an object (i.e. a pointer) so you can implement any complex data structure / algorithm you want.

    Well yes, except the native types such as integer and float. There are also no pointers to pointers in Python, which are a highly useful technique in C.

    I just think it's more illustrative, for learning purposes, to make the pointer semantic explicit, as it is in C. It gives a much better picture about what's really happening at low (machine language) level.

    The problem is that if Java or other interpreted high-level languages are used for teaching basic data structures, the CS students won't learn proper low-level programming, which is still very important for implementing any high-level systems as well as integration.

    I've got oh-too-much experience with professionals who pass and return structs to and from C functions, not pointers to structs. They cause an infinite amount of memory leaks, buffer overflows, memory corruption, and other unimaginable problems.

  22. Re:Pointers required on Think Python · · Score: 1

    That's true, but not everyone is interested in pure theory without any possibility for applications. In the end, we usually want some.

    So, without profitable applications, we geeks could never get some.

  23. Re:Pointers required on Think Python · · Score: 1

    None of these rely on programming at all, let alone a specific language or whether that language has pointers or not. Programming is only an application of Computer Science.

    That's true, but not everyone is interested in pure theory without any possibility for applications. In the end, we usually want some.

    But even if we're learning just pure theory, learning difficult abstract concepts can be very hard. Programming makes it possible to have concrete examples that are easier to grasp, at least for most of us.

    My main point is that some programming languages are better suited for giving concise concrete examples for certain abstract ideas than others.

    With AI, you'd probably want a high-level language such as Python, Lisp, or Prolog. You don't want to have pointers or complex data structure manipulation (such as handling lists in C) that add distracting clutter in the code.

  24. Pointers required on Think Python · · Score: 3, Insightful

    While Python is my favourite language, I think it's rather silly to teach Computer Science and especially basic algorithmics with a language that doesn't have pointers.

    At low level, pointers are everything, and low level is what you want to teach when you're teaching basic data structures and algorithms. There's simply no point in demonstrating list implementation with an interpreted language that has very efficient native lists, dictionaries, etc. C/C++ or Pascal are much better for that; with them you can teach real implementations, not toy ones.

    On the other hand, Python might be ideal for teaching advanced algorithms such as sorting and string algorithms, as those are more "high-level" problems and low-level pointer-messing is no longer needed nor desired. Python has very beautiful string and list operations, which make such algorithm implementations cleaner.

    Also, Python might be ok for the very first Basics of Programming course with respect to pointers, as they don't really teach any algorithmics there. However, the weak typing (very late binding) would be a problem in this case. Beginners will have enough trouble understanding the language without the need to handle implicit types. I'd very much suggest a strongly typed object-oriented language such as C++, Java, or Eiffel, where the types are always explicit. For an algorithms course this isn't so much a problem.

    For some classes, such as AI, there's simply no winner for Prolog, and perhaps Lisp, but many Python features such as easy string manipulation and other middle-level data structures make it temptating for many subjects such as Automata and Formal Languages. It would be interesting to have a good Python interface to a Prolog interpreter; one that is well integrated with the syntactic philosophy of Python.

  25. American air conditioner craze on 100th Anniversary of Air Conditioning · · Score: 3, Interesting

    Americans seem to be rather crazy about the air conditioners. Not that they are nice in a hot day, but why the hell do they have to turn their houses into freezers with them?

    I mean, last time I was in Florida, I was shivering all the time I was indoors. Being indoors with shorts and a T-shirt was very unconfortable. In my hotel, the entire room was filled with a freezing gale from an enormous air conditioner. I tried to find some controls or a switch to turn it off, but couldn't. Luckily the beds had enough blankets to sleep in Siberian winter, so I didn't have to sleep outside.

    After a few days, I got a bad cold, and had to end my conference&vacation trip early. I wasn't in a condition to be able to go to the Space Center, Epcot, or other sights in Orlando. Some other Finnish people I know tell that they get a cold every time they visit US.

    What's the problem with you? Is it that the businessmen and others have to be able to wear a suit in hotels all the time, or what?