Slashdot Mirror


User: pthisis

pthisis's activity in the archive.

Stories
0
Comments
1,665
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1,665

  1. Re:does Python need a CPAN? on Ask Guido van Rossum · · Score: 1
    They're working on it. Python 2.1 includes module metadata, which is a first step toward creating an automated CPAN-style module repository.

    Sumner

  2. Re:Why the paranoia? on NSA Inside? · · Score: 1
    I seem to remember that in the early days there was a version of the gcc compiler that has secret code built into is

    It wasn't gcc, it was the Unix C compiler (pcc I believe). It hit not only the C compiler but the login program. For more info on this, see Ken Thompson (one of the original authors of Unix)'s paper "Reflections on Trusting Trust"

    He later fessed up to actually implementing this, though I can't turn up that reference off the top of my head.

    Sumner

  3. Re:Don't use it. on Guido Von Rossum on Python · · Score: 1
    Quite agreed about weak lambda forms; but the garbage collection scheme is rather an embarassment. Reference counting doesn't work, for cyclic data structures, and these can arise in Python programs.

    Python 2.0 supports full-blown garbage collection. Cyclic data structures aren't a problem.

    Sumner

  4. Re:Python should be everywhere... on Guido Von Rossum on Python · · Score: 1

    there's C-Python, there's Jython (in Java), there is Stackless Python and there will be a Python.NET

    Also, there's an Objective CAML implementation and there's pippy (for palm pilot).

    Sumner

  5. GC Malloc on What Memory Leak Detector Do People Use? · · Score: 3

    Hans Boehm's garbage collecting malloc() can be built in a leak-detection mode. It works really well once you figure it out.

    http://reality.sgi.com/boehm_mti/gc.html

    ElectricFence is good at finding over/underflow problems.

  6. Re:What is "COE"? on Netscape 6 Vs. 4.7x · · Score: 1

    COE=Context of execution. In Linux and Plan 9, threads and processes are just two of many ways of setting up a COE; processes share nothing, while threads share everything but the stack (more or less). You could also have two COEs that only share file descriptors, or just memory, or many different combinations.

    See the parallell programming section at:

    http://www.informatik.hu-berlin.de/~mint/Library /P lan9/9.html

    or grep the web for clone/rfork/sproc.

    Sumner

  7. Re:Taco, Chill. on Why Linux Lovers Jilt Java · · Score: 2

    Allright then. You are with a company that has a web page that gets hit two million times a day. Each hit requires a rather small program to be run.

    What will you do, write the program in a relatively inefficient language, or one that will let you keep your job? :)

    For a small site like that, almost anything will do. The servlets I've worked with can handle maybe 150 reqs/sec as opposed to a C implementation of the same problem, which handled about 3000 reqs/sec on the same hardware. 150/sec should be able to handle a typical site in the 5 million hits/day range even at peak hours.

    "Yeah, can we spend another 200k to double our server capacity so that I can use the programming language I'm most comfortable with, and so that I don't need to get my hands dirty?"

    On the other hand, if you can spend 100k on hardware (which would get you 4 or 5 racked dual servers at a co-lo around here pretty handily) and save 3 programmer years by using a high-level language, it's probably worth it. I'm not a big Java fan in general, but I try not to be stuck with just a hammer.

    Sumner

  8. Re:Using top to count memory usage? on Netscape 6 Vs. 4.7x · · Score: 1

    Yes, absolutely it does. 4.7 is not multithreaded. "Threads are for people who can't write state machines." --Alan Cox Seriously, although I really like Mozilla (I use it almost exclusively these days) I tend to agree with Jamie Zawinski's analysis of threads in Netscape: if you write a single-COE state machine, you can make it look just like a multithreaded program but you'll save resources and programmer time (threads are hard to get right), and you'll really save on debugging and stability (bug hunting in multithreaded programs is _tough_). For some things, threads are the right answer; Mozilla doesn't really need them, though, and I think moving to threads is one of the few areas where Mozilla's design is worse than that of the old Netscape. FYI: On my machine, the Nov 30 nightly is about 24M resident, 11MB of which is shared. So if I have 4 or 5 windows open, I'm using about 13MB for each one (on top of the 11MB shared, some of which is shared with non-Mozilla progs as well). Netscape 4.7 is about 22MB, 9 shared. That's comparable memory usage if I only have one window, but memory use only grows by a meg or two when I create new windows. Like I said, though, Mozilla has enough compelling features (IFRAMEs, the wheel works properly, faster at rendering, better standards support, open-source) that I use it anyway. I suspect it has something to do with silly linuxthreads which, of course, Linus will never change because he wrote them Xavier Leroy wrote Linuxthreads, the pthread wrapper around clone(). Linus wrote clone(), based heavily on Plan 9's rfork() (and pretty similar to Irix's sproc()). I don't know any programmers who have looked at clone()/rfork() for more than 5 seconds and not immediately realized that it's vastly superior to other threading implementations. Sumner

  9. Re:Interbase on Postgres Beats MySql, Interbase, And Proprietary DBs · · Score: 1

    Interbase was one of the databases they tested:

    open source competitors MySQL 3.22 and Interbase 6.0, demonstrated some speed with a low number of users but a distinct lack of scalability...Neither Interbase nor MySQL could be tested for TPC-C benchmarks...Interbase 6.0, recently released as open source, does not have a stable ODBC driver yet; while Xperts was able to adapt the version 5 ODBC driver for the AS3AP tests, the TPC-C test would not run. 'With MySQL it's an inherent design issue. Interbase 6 should run the TPC-C test, and perhaps would with tweaking of the test's code.

  10. Re:What's new on Red Hat 7.0 Beta Is Out · · Score: 1

    Will there ever be a mta other than sendmail? I'd like qmail included. qmail isn't open-source, so I'd doubt that it will show up in redhat core. postfix or exim probably have a better chance of making it, but I don't work with Red Hat. Sumner

  11. Re:What stops me from spoofing itrace? on IETF To Develop Anti-DoS ICMP · · Score: 1

    What keeps a script kiddie from sending spoofed itrace packets implicating every machine on the planet from a comprimised machine?

    If you read the article, it addresses this concern:

    "ISPs face the cost of upgrading their routers to support itrace, and also the cost of developing the public-key infrastructure required for traceback message authentication. Without fail-proof authentication, hackers can create bogus traceback messages to accompany their denial-of-service attacks."

  12. Re:Thanks, Ingo... on Answers From Planet TUX: Ingo Molnar Responds · · Score: 3

    If NT has an advantage, it's in the IO completion ports

    Linux 2.2 and later have IO completion ports; they're called "queued realtime signals" on Linux. From the fcntl(2) man page:

    F_SETSIG

    Sets the signal sent when input or output becomes possible. A value of zero means to send the default SIGIO signal. Any other value (including SIGIO) is the signal to send instead, and in this case additional info is available to the signal handler if installed with SA_SIGINFO.

    By using F_SETSIG with a non-zero value, and setting SA_SIGINFO for the signal handler (see sigaction(2)), extra information about I/O events is passed to the handler in a siginfo_t structure. If the si_code field indicates the source is SI_SIGIO, the si_fd field gives the file descriptor associated with the event. Otherwise, there is no indication which file descriptors are pending, and you should use the usual mechanisms (select(2), poll(2), read(2) with O_NONBLOCK set etc.) to determine which file descriptors are available for I/O.

    By selecting a POSIX.1b real time signal (value >= SIGRTMIN), multiple I/O events may be queued using the same signal numbers. (Queuing is dependent on available memory). Extra information is available if SA_SIGINFO is set for the signal handler, as above.

    Using these mechanisms, a program can implement fully asynchronous I/O without using select(2) or poll(2) most of the time.

  13. Re:Ack, no! on Ballmer: Apache is simply better · · Score: 2
    This is called sendfile() (or HRESULT FAR* _std zpqvBrgvzplz0SendFile32Ex4 on windows). Most OS's have it now, and it's readily admitted on the kernel-dev list that Linux's implementation is BROKEN
    • It's called TransmitFile() on Windows
    • The kernel-dev list says no such thing. Other systems send a header with the call, which both avoids an extra syscall and means you don't get nagled. On Linux, the extra syscall isn't heavy and TCP_CORK avoids getting Nagled. Some idiots who posted to linux-kernel said the linux version was broken, but Alan Cox, Linus, and Dave Miller all pointed them at cork.
    • The generic solution is splice, which Stephen Tweedie is rumored to be implementing for 2.3. That will rock.
  14. This is too good to be true. on Java for EGCS · · Score: 1
    Unfortunately, there is no AWT support for GJC. Without AWT support, there surely won't be any GTK AWT plaf (pluggable look and feel).

    No AWT L&F, but gtk bindings are certainly possible. Personally, I think the Java language is very cool. Parts of the Java class library are also cool, but AWT/Swing/JFC are not worthwile (nor is any other GUI toolkit that isn't easily accessable from multiple programming languages efficiently).

    Of course, your statement is perfectly correct from the point of view of writing client-side code. gcj Compiled Java isn't very useful for client-side code in the first place, since it is platform dependent. gcj does hold out the hope of a better application development language than C that's fairly portable and fairly efficient for many tasks, though. There are plans to support a JVM as well in the future, which would also boost performance for many client-side applets (esp. by compiling the Java class libraries, which requires that those get finished...) But IMO the cross-platform, JVM hoopla has overshadowed a language that is a perfectly good alternative to C in some situations. Better than C++ for sure. Still not appropriate for all tasks, of course, but nothing is.

    Sumner

  15. On constitutional matters, /. is a clue-free zone. on Internet Censorship in Utah Schools & Libraries · · Score: 1
    Now dust off your Bill of Rights. Find the first amendment. (It's toward the beginning.) Notice the first five words? CONGRESS SHALL MAKE NO LAW. Now that's as plain as plain can be, and because the Founding Fathers didn't reserve regulation of the press to the Feds, anyone else should be free to to do so. The anti-Federalists were finally able to pervert the 14th to their cause, but that's a story for another day.

    Of course, it's not that simple. The actual impact of the first ammendment extends beyond restricting Congress; various court cases dating back to the 19th century have held that the Bill of Rights applies not only to the U.S. congress but also to various state and local governments and to other bodies that receive funding from the government (e.g. universities, schools, and libraries). And, of course, if you are interested in keeping your common carrier status (as most telephone companies are, for instance) then you can't excercise any editorial control other than removing illegal material that you know exists on your system.

    Large ISPs ought to be granted common carrier status; that would prevent a lot of these legal squabbles. Small ones might have problems putting together the resources needed to be a true common carrier (e.g. carrying a full Usenet feed, ugh).

    --Sumner