Slashdot Mirror


User: Permission+Denied

Permission+Denied's activity in the archive.

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

Comments · 394

  1. Re:Satire people, Satire on Tattered Cover v. Thornton Reversed · · Score: 1
    this thing should be +3 Funny, not +2 Insightful

    Actually, I got a great laugh out of the moderation. Much more so than the post itself. Imagine, some guy actually took this seriously...haven't any of you read A Modest Proposal!?

    The post is great because it's like the old-time usenet trolls. The clueful (you and me) can see what he's doing, and yet he receives responses, where people vent all sorts of vitriol. That is exactly what a successful troll is. I don't know if this guy meant this as a troll (or just regular satire), but if so, my hat is off to you, sir.

    Also, the moderator, either they hit the wrong option on accident, they were trolled by the post, or they saw what was going on and they legitimized his troll (a meta-troll). Any way, that was my big laugh for the day.

  2. Re:Low-tech solution on Cross-platform Password Management? · · Score: 1
    moe.xy3,3IkshX476
    larry.xy3,3IkshX476
    curly.xy3,3IkshX476

    The drawback, of course, is that if one password is cracked, you've left yourself wide open

    I have an easier method:

    On moe, larry and curly, you have these corresponding passwords:

    .xy3,3IkshX476
    .xy3,3IkshX476
    .xy3,3IkshX476

    Like your system, if one password is comprimised, the others are also comprimised. So the security of the systems is equivalent. However, my method has one serious advantage: you can save three to eight keystrokes every time you type your password :)

  3. Re:stored searches instead of folders on The Perfect Email Client? · · Score: 1

    VM does this www.wonderworks.com/vm. It's very powerful as you can use all kinds of lisp-ish things to define a virtual folder. Virtual folders are not very useful unless you have some sort of programming language that allows you to define them (eg, everything whose date is less than X and greater than Y which has been filed into the 'work' folder and contains joe@bar.com in any of the headers). Granted, this particular example could be done with a nice little gui virtual-folder builder, but there will always be examples where it doesn't work (eg, dynamic virtual folders, where the contents of virtual folder X depend on the date, timezone and phase of the moon). Having a real programming language to define these really helps.

    But the basic idea (virtual folders) is a really good one, I'd say go for it.

  4. Re:Changelog on Apache 2.0 Goes Gold! · · Score: 1

    Dude, your the one that's being arrogant and condescending. If the return value of the increment is thrown away (as in your examples) then they are syntactically equivalent. Somewhere gcc is building a parse tree and the two statements will have a similar role in the parse tree. It would really surprise me if the two files are different. NB this has nothing to do with optimization. Try the undocumented '-dr' gcc flag which will dump out an rtl listing of your code (eg, this is how the program looks after parsing). They should be equivalent.

  5. Re:Let's get started right now on Distributed Translation Project · · Score: 1

    French: foutre
    Romanian: a fute

    The similarities with the other Romance languages are surprising. Certainly puts down the 'Fornication under consent of king' idea. Anyone have the real etymology for this word?

    Of course this tells you nothing about usage or conjugation (they're both regular verbs thankfully).

    I once read a review about this book that listed cursewords and phrases in all sorts of languages. Like how to say 'You incompetent fucking idiot!' to a Georgian waiter who spills coffee on you. Sounds like an interesting read - anyone have a link for this?

  6. Re:Testing tools on What Software Should ISPs Distribute and Support? · · Score: 1
    "OK, Click on Start then Run. Now type win i - p - c - f as in Frank - g."

    Been there, done that :) (But different environment, corparate job using VNC.) Here's another way of doing it:

    "OK, Open up Internet Explorer. Type 'whatismyip,' all one word."

    This takes them to www.whatismyip.com, a site so trivial, it's funny. But it's useful and it definitely serves a purpose.

    It's even worse if they're running 2000/XP and you need to guide them through using ipconfig from the command line - oy.

  7. Re:Which problem? on DNA Solves Million-Answer NP-Complete Problem · · Score: 1

    Mea culpa, you're right. It's kind of embarassing that my comment was modded up for all to see and I was inexcusably WRONG.

  8. Re:Which problem? on DNA Solves Million-Answer NP-Complete Problem · · Score: 2, Interesting

    Yep, the article describes 3-SAT - so you're remembering your algorithms class just fine. Also, the article linked from the slashdot story describes 3-SAT in a nice, easy-to-understand but not too dumbed-down way (I posted before reading the article). I just looked it up and 3-SAT was proved to be NPC in 1974 by Cook and Levin.

  9. Re:Which problem? on DNA Solves Million-Answer NP-Complete Problem · · Score: 2, Informative

    2-SAT is in P. 3-SAT, 4-SAT and so on are all NPC. In fact, 3-SAT was the first problem which was proved to be NPC (and, AFAIK, the only problem proved to be in NPC without using a Karp reduction proof).

  10. Re:laser links on Hawaii Wi-Fi · · Score: 1

    Laser is not really cost effective for this type of thing. There are a number of other products that will do the job cheaper and more reliably. What this guy did was use really cheap equipment, but you can get OC3 radio links that span large distances. I'm interviewing with a company that does this. They recently set up a wireless point-to-point link that spans 50 miles and gives DS3 speeds; they also did this in a very rainy climate, similar to Hawaii (rain interferes with the high-frequency radio these things typically use (you can also use lower frequency radio (2.4 GHz, 5 GHz, etc), but you have a lot less play in this range)).

    This really is an expanding industry. You can set up point-to-point links to rural areas where it would be prohibitively expensive to draw cable. You can put antennas (or antannae :) on a few tall buildings in urban areas and start providing high bandwidth commercial and residential service, completely bypassing the local telco (which means your network's reliability depends less on the (in)competence of Ameritech or ATT). The big telcos pretty much failed at this a few years ago as the cost of the CPE (the consumer-end hardware) was prohibitively expensive at the time. Now, the consumer-end hardware is becoming less and less expensive (and a lot of wireless ISPs are developing their own hardware to give clients). You can figure that if the client radio costs $200, you only have four months of service before you make back your investment (unlike a lot of the defunct DSL providers who would have to hold a client for over a year to cover the cost of the DSL modem they gave away).

    Another interesting product is Karlnet (use google) which is firmware for lucent 802.11b hardware. It provides a different protocol which is better-suited for outdoor environments (there are a lot of reasons that 802.11 doesn't scale outdoors, such as the hidden node problem, etc). It's really interesting how this protocol (called Turbocell) is designed completely differently from 802.11 to work in a completely different environment. The guy in the article could have used this to improve range, reliability and scalability. Idea is you give your client a radio and recover the cost after a few months of service. You can use the same cheap hardware for the base station, except that you hook it up to a big antenna and mount it on a tower somewhere. It's nice how the guy in the article set up his network with very little money, but you can do a much more professional job with a little more money.

    Anyway, interesting stuff.

  11. Re:Tab'ing using a stack (was: They'll never get m on Penguin2Apple · · Score: 1
    You can't really expect every little bit of the default installation to work exactly as you'd prefer, sometimes you have to tweak the settings yourself or download utilities that add the missing functionality -- I'd assume the same is the case for unix...

    This is exactly the point, it's not like this with unix.

    Another example: I use shell and vi regularly, and I want my control key where God intended it to be. That is, I want my control key where Apple thinks the useless capslock key should be.

    How do you solve this? You download some other utility (some cheap "shareware" thing). How does this utility work? It's a kernel module. Yes, you cannot remap your keyboard in any non-trivial way without running a kernel module (specifically, a mach server which hacks Apple's keyboard driver, which is the basically the same thing).

    Why is this a problem? Kernel modules are hard to write. Even in a microkernel architecture like mach, if you make any tiny mistake, your whole system is hosed. This makes for difficult development. Writing kernel modules and regular user programs is very different, trust me.

    I hear that Apple may now have a hack that allows you to remap control and capslock. Irrelevant. Now I want to swap command and alt so that I can use emacs properly. And then I want to swap tilde and escape so I can use vi properly. I'm not happy until OS X has a method by which I can completely describe all keyboard mappings, just like I can do with xmodmap.

    Perhaps all the little user-interface goof-ups can be fixed with third party utilities as well. Maybe I can even replace Apple's window manager altogether. Guess what, Apple makes this very difficult. This is of course possible, but the window manager has to interface with undocumented APIs in Core Graphics services. In the developer documentation, Apple makes it clear that the window manager does a lot of undocumented things.

    Now I'm not a Free Software evangelizer - this problem would not exist if I had the source to Core Graphics services, but there are other ways to fix these things. I've done a lot of work with Solaris. Solaris has some undocumented APIs, but most of the APIs are well documented. Writing a window manager involves reading docs for Xlib and some other things (I've written a window manager, it's not too hard). The only undocumented API I've seen in Solaris is libproc.a. Did this impede me when I needed to write a custom debugger? No, I just bypassed libproc.a and used the /proc interface directly (/proc is well-documented, just do man proc). Sun does the right thing, which is it makes absolutely no assumptions about how you're going to use your system. Apple, on the other hand, assumes that nobody would ever rip out and replace a large portion of their OS (the window manager). Apple makes a lot of other assumptions as well, and these assumptions are not valid ones for a unix junkie like me; the things you can assume about a "regular" user and the things you can assume about me are very different, so OS X is not for me.

    My whole point is that OS X is not for everyone. Some people have noted that it's not really meant to replace traditional unix servers, but almost every comment I've seen says that it can replace unix workstations. Not for me. I'm very happy with my FreeBSD laptop and my Ultra workstation, and trying to replace these with OS X is very frustrating.

  12. Re:They'll never get me on Penguin2Apple · · Score: 1
    Well a half hour now to write a script beats five minutes every time you wish to do a very common task, doesn't it?

    This is absolutely correct. You can make it work like a proper unix, but only after a fair amount of work.

    Another example: we add a new name server to our network. This means I have to add this name server to the /etc/resolv.conf on all my unix boxes. On the proper unices, the boxes just get a new /etc/resolv.conf, using either rsync or ssh. For the OS X boxes, I write a (trivial) script that uses niutil (I've had bad experiences with niload, so I stay away from that).

    Now, my colleague who is the NT admin has to update his boxes too. He has two options: (1) walk up to each box, or (2) vnc into each box. We have a lot of machines spread out over a bunch of buildings, so (2) is the only viable option. Still, this simple task takes him an hour or two, at which point I'm out of the office and sipping a Heineken.

    So, yes, OS X can be made to behave like a proper unix, but only after a lot of mashing. We have one OS X box running as an apache web host. Most people we host assume it's actually a linux box until they ssh in. Speed is OK and the stability is great once you remove the machine's keyboard and monitor (200 days uptime).

    Still, this "mashing" I have to do to make the machine behave is somewhat annoying, so OS X is not going to replace most of our unix infrastructure.

    I agree that there's a place for OS X - it may replace our NT user boxes, just because the administration is so much less of a headache. But it won't replace ALL of our unix boxes, which is something these recent slashdot stories seem to indicate it can do.

  13. Re:They'll never get me on Penguin2Apple · · Score: 1

    Fair enough. You have some valid points. I found using OS X very frustrating and I certainly understand how some of my colleagues find using unix very frustrating.

    I can understand that OS X is a very good solution for a lot of people and I'm not saying that it sucks for everyone. In fact, the only reason I'm working with OS X is because we're evaluating it to replace a lab of unix machines. We've found that lots of people are intimidated by the unix lab machines and OS X should alleviate this. At the same time, we don't have enough people to convert it into a lab of windows machines (rsync and friends allow you to manage lots of machines with very few people).

    So we'll agree that OS X is good for some people. My point is that it's not going to replace real unix for a lot of administrators and developers and I don't like the plethora of slashdot stories about how user X and user Y went from unix to OS X, as if this implies OS X is the answer to all our prayers.

  14. Re:They'll never get me on Penguin2Apple · · Score: 2, Insightful

    If it takes you more than 2 minutes to figure out how to add a user under netinfo then you aren't a hardcore unix type.

    Alright asshole, tell me this: where do you find out to even use niutil? Try typing "man passwd." What do you get? A manual page from FreeBSD. Nowhere in the man page does it mention that that command does absolutely nothing in OS X. Try typing "man vipw." What do you get? Another FreeBSD manpage, and again, it doesn't tell you that the command does absolutely nothing. You'll finally get somewhere after you type 'apropos netinfo.' How do you create a new group and change a user's default group? Like this:

    niutil -create / /groups newgroup
    niutil -appendprop / /groups/newgroup passwd '*'
    niutil -appendprop / /groups/newgroup gid 7777
    niutil -appendprop / /groups/newgroup users ''
    niutil -destroyval / /users/username gid 70
    niutil -insertval / /users/username gid 7777 0

    Now, don't you wish 'vipw' actually worked? Or that maybe it was removed from the system along with its useless manpage? Or perhaps that the manpage was updated to put a pointer to niload in the SEE ALSO section?

  15. They'll never get me on Penguin2Apple · · Score: 5, Insightful
    So I'm the hardcore unix type and I tried this (a full conversion to OS X). Of course, nobody wants to hear that OS X has some very real problems, but here goes...

    The window management is so far inferior to anything you'll find in X, it's not funny. About a month ago, one slashdot poster was complaining about how it's difficult to run more than ten programs because it's hard to find the right one in the dock. Excuse me!? You're limiting yourself to two or three programs because you can't find the one you need immediately?

    Consider this: OS X comes with an alt-tab action, but it cycles through all windows in a circular list, rather than using a stack like Windows or most X11 window managers. Why does it do this? Is the circular list "more intuitive" than a stack? No, it most certainly is not. There's a reason most window managers use a stack for the alt-tab list. When you use a stack, the most recently-used programs migrate toward the top of the stack. If you have seven programs running and you're continually switching between two of them, a switch takes two keystrokes with a stack, but seven kestrokes with a circular list. With the circular list, you have to actually look to see which program you're switching to. Result? it takes at least one second to switch between two programs on a moderately-loaded system. I am not going to remove my hands from the keyboard just to switch between two programs.

    In addition, using the dock or alt-tab to switch applications only switches applications not windows. Look at IE or Terminal.app - these both have their own internal window management and it works differently in each. In Terminal.app, you hit cmd-1 or cmd-2 to switch between running windows, in IE it's something else.

    I can hear you saying right now that this isn't a big deal. It is a HUGE deal. In my X system, I can run 15 different applications and (using workspaces and a proper alt-tab) I can get to any application in a few hundred milliseconds. I don't need to take my hands away from the keyboard just to go from typing into my browser to typing into a terminal.

    What if I actually want to use OS X as a real unix system? For example, what if I need to add a user? Well, there are a number of ways to do this:
    1. Physically go to the machine and use the little gui tool. Not an option when the server is inaccessible, as is usually the case with a regular unix server.
    2. VNC into it. OS X doesn't use X, so the only way I can run these GUI tools from my FreeBSD laptop is to use VNC. Try this yourself - it does not work properly.
    3. SSH into the box and use niutil, etc. You then have to walk through the netinfo tree to see exactly how a user environment is supposed to be set up. The first time you do this, it will take a half hour.
    4. Download some perl script that works like "useradd."

    The last two are the only real viable options. In any case, the first time I need to add a user, I have to waste a half hour for this most basic administration task.

    So what does it have to make it more enticing than a real unix system? Well, it has all the pretty pictures. It has a decent web browser. It has those "office" applications.

    I honestly don't care for the pretty gel pictures. I'll admit that the first time I used OS X, I wasted a good half hour just looking at it (it is quite impressive). However, this gets old quick.

    Linux now has some decent browsers (konqueror, mozilla), although this wasn't the case a couple of years ago.

    I don't use "office" applications. Word? LaTeX. Excel? Awk and perl. Outlook? Mutt. Powerpoint? You've got to be kidding me. Yes, LaTeX and perl may have a steep "learning curve" but dammit, I can learn. I didn't spend years mastering unix administration and development just to have someone hand-hold me through basic adminstration tasks.
  16. Re:Co-operation on Sun Increases Commitment to GNOME · · Score: 1

    Perhaps I'm the only one who has seen this problem. When I was using konqueror with ctwm and an older version of windowmaker, the java applet would pop up OK (it would, of course, be a separate top-level window as with other window managers), but the input focus would jump eratically between the java applet and the konqueror window. I was unable to type into either the applet or the konqueror window. I tried this with all the window managers I could get my hands on, and kwin was the only one that didn't make the focus jump around.

    I just tried it now with a newer version of konqueror (and the same versions of the window managers) and it seems to work OK.

    Still, it would be nice if Konqueror didn't use DCOP to tell kwin to reparent the window to konqueror. It could just use an X atom which is the name of the window to be reparented, and this would allow java applets to run as a part of the web page (rather than as a separate top-level window) under all window managers, not only those who would rely on DCOP.

  17. Re:Co-operation on Sun Increases Commitment to GNOME · · Score: 3, Informative

    Have you tried using Konqueror using a window manager other than kwin? Really, have you done this?

    It does not work very well. First of all, QT has a bug where it expects to receive a certain X message before it accepts the input focus. Most window managers don't send this X message when the keyboard is grabbed, so QT apps won't take keyboard input. Try this: launch twm or an older version of WindowMaker, launch a QT application and try using Alt-Tab to cycle to the application (you'll need to configure twm to allow you to do this). It will no longer take keyboard input even though it is the focus window.

    Try setting up Java to work with Konqueror in any window manager except kwin. You'll fail. That's because Konqueror's java support requires DCOP communication with the window manager. It could do the communication via X atoms (which means your favorite window manager such as WindowMaker could implement it), but it uses DCOP instead. Konqueror will never fully work on any window manager except the KDE window manager.

    So what have KDE and GNOME standardized? They have a common way of creating application links on your desktop and they have the _NET_WM stuff. Theoretically, this would mean that you could use the KDE pager in any window manager that supports the EWMH (the _NET_WM hints). Try using kpager (the KDE pager) with fvwm+fvwm_ewmh module. It won't work very well. Kpager won't work very well at all unless it's engulfed in kicker (the KDE taskbar).

    The GNOME-KDE cooperation is mostly useless at this point. It's even worse if you don't want to use KDE or GNOME but only want to use a KDE/GNOME application under a non-KDE-GNOME environment (like using Konqueror under WindowMaker or blackbox, etc.).

  18. "Unsafe" code absolutely necessary in win32 on Bill Joy's Takes on C# · · Score: 1

    There are a number of important/useful things you need pointers for in
    Win32.

    For example, if you try to write a port monitor, you absolutely
    need the fine-level control that pointers give you. A port monitor is the
    way you can extend the windows printing system to use a new network protocol
    for printing. All it does is basically read data and shove it over a
    network, taking care of the protocol (whether it be IPP, LPR, PAP, etc), in
    addition to some simple administrative things (keeping track of what
    printers are using the port monitor via the registry, etc).

    Now a couple of the functions for writing this require you to allocate a
    struct and pass that struct to another win32 function. These structs
    contain strings within them.

    The catch? The strings must be allocated exactly after the struct.
    Like this:

    struct foo {
    /* some stuff snipped */
    char *s;
    };

    ...

    struct foo *f = malloc(sizeof(struct foo) + 30);
    f->s = (char *)(&f[1]);
    _snprintf(f->s, 30, "blahblah");

    ...

    If you think this is insane, I agree with you.
    If you try to allocate the string separately from the struct, the printing
    subsystem crashes. I have no idea what the hell the Microsoft programmer
    who came up with this was doing, but that's how it works.

    Win32 (even the nicer implementations of win32 like on Windows 2000) is full
    of crap like this. You won't see this if you're writing a "business
    application" that just does file io, network access, GUI stuff, etc, but if
    you try to do anything close to "systems" programming, this is all over the
    place.

    What is "systems" programming in Win32? It's not just writing device
    drivers. That port monitor only does file and network io. It ends up being
    "systems" programming because some of Microsoft's port monitors actually
    talk to hardware directly - so the basic problem is that MS got the
    abstraction level wrong and windows still has a lot of legacy code that
    makes bad assumptions, has poor interfaces, and generally makes programming
    win32 a pain.

    Of course, you could encapsulate the bad MS interface in some sort of
    wrapper. That's what MS did with MFC and now with .NET. If you look at
    MFC's development, you'll see that it has baloonned in size. Why? Because
    more and more stuff was "wrapped", ie, MFC was extended to allow access to
    more obscure parts of the win32 API. And it still doesn't cover all of
    win32, so people have to extend it themselves. For instance, if you want
    your application to use the system tray, you have to deal directly with the
    C SDK interfaces, which are none too friendly for "managed" languages." So
    you either wait for someone to make win32 friendly for your language, or you
    take time away from your real work to write your own abstractions.

    The way I see it, .NET is meant for more than
    just your simple "business applications"
    where your program logic, not dealing with
    someone else's interfaces, are the hard part.
    Yes, java has the JNI, but that still means I have
    to write C code in order to write a port monitor.
    With C#, you don't have to program in multiple
    languages just to get some simple task done.

    The ideal solution would be to allow the "port
    monitor" to be a shell script, like I can do with
    LPRng. However, this is Windows, and the beauty
    and simplicity of Unix is nowhere to be found.

  19. Re:For those wondering... on WINE May Change To LGPL · · Score: 2, Informative


    It seems it was a BSD-style license before:


    This is called the X11 license. It has basically the same effect as a
    2-clause BSD license, but is different from a 3-clause or 4-clause BSD
    license.

    The difference between the X11 license and the LGPL is that the LGPL is what
    is called a "Copyleft." The X11 license imposes no limitations on what you
    do with the code, as long as you acknowledge copyright and disclaimer of
    warranty; the only basic difference between the X11 license and public
    domain (giving up all copyright altogether) is that the X11 license protects
    you from litigation with the no-warranty clause (you can't impose a
    no-warranty stipulation if you don't have copyright on the code).

    Copyleft licenses like the LGPL, on the other hand, impose certain
    limitations on what you can do with the code. The most obvious limitation
    is that any code derived from copyleft code must remain under the same
    license (ie, if you make any changes to copyleft code and distribute those
    changes you also have to distribute source).