Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment No real consequences imposed by the ISP (Score 0) 418

After five or six "strikes," however, the person won't face any repercussions under the program and is likely to be ignored. It's unclear whether such repeat offenders would be more likely at that point to face an expensive lawsuit.

So, no termination of your account, or automatic penalties from your provider except maybe some bandwidth throttling. Seems like it's just an alert system for the RIAA/MPAA.

Comment Re:Missing option: In Real-Time (Score 4, Insightful) 171

I would argue no. I think of organizing as bringing order to chaos, not keeping an already established order.

For example, if my bookshelf is organized first by author and then by title, and every time I buy a new book and place it on the shelf I just add it in where it belongs, then I wouldn't say I organize my bookshelf every time I buy a new book. I would just say my bookshelf stays organized, and that I just maintain the existing order.

However, if my bookshelf had no order and I sat down and arranged the books by author and then title, then I would say I organized the bookshelf.

In more relevant-to-the-discussion terms, I would only count organizing bookmarks as bringing up the bookmark manager, which I never have to do (Never meaning haven't used it since I adopted this system).

Comment Put the old domain in the name (Score 2) 383

I presume the old format looked like:

emailname@subdomain.domain.com

Make the new ones:

emailname.subdomain@domain.com

This should prevent any name clashes and still move all the emails to one domain and even preserve the similar format the users already have. New users may not even need their own .subdomain after the email name, but you'll be adding them as you go forward and can check for clashes when they are added and maybe just add a .subdomain to them, or numbers to the end.

Comment Current Records (Score 5, Informative) 307

According to Wikipedia:
http://en.wikipedia.org/wiki/Words_per_minute

The fastest typing speed ever, 216 words in one minute, was achieved by Stella Pajunas in 1946 on an IBM electric.[6][7][8][9] As of 2005, writer Barbara Blackburn was the fastest English language typist in the world, according to The Guinness Book of World Records. Using the Dvorak Simplified Keyboard, she has maintained 150 wpm for 50 minutes, and 170 wpm for shorter periods. She has been clocked at a peak speed of 212 wpm.

One of the most notable online records considered genuine is 256 wpm (a record caught on video) on TypeRacer by American Sean Wrona, the inaugural Ultimate Typing Championship winner, which is considered the highest legitimate score ever set on the site.

Comment Enterprise Java Version (Score 5, Funny) 438

package enterprise;

import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Collections;
import java.util.Map.Entry;
import java.util.Random;
import java.util.SortedMap;
import java.util.TreeMap;

public class Maze {
    private final WallFactory<Double> wallFactory;
    private final EntropyGenerator entropyGenerator;

    public Maze( WallFactory<Double> wallFactory, EntropyGenerator entropyGenerator ) {
        this.wallFactory = wallFactory;
        this.entropyGenerator = entropyGenerator;
    }

    public void visit( MazeVisitor visitor ) throws MazeException {
        while( true ) {
            MazeWall wall = wallFactory.createMazeWall( entropyGenerator.getNewEntropyValue() );
            wall.visit( visitor );
        }
    }

    public interface MazeWall {
        /**
         * @param visitor
         * @throws IOException
         */
        void visit( MazeVisitor visitor ) throws MazeException;
    }

    public static class LeftDiagonalWall implements MazeWall {
        @Override
        public void visit( MazeVisitor visitor ) throws MazeException {
            visitor.visit( this );
        }
    }

    public static class RightDiagonalWall implements MazeWall {
        @Override
        public void visit( MazeVisitor visitor ) throws MazeException {
            visitor.visit( this );
        }
    }

    public interface MazeVisitor {
        void visit( LeftDiagonalWall leftDiagonalWall ) throws MazeException;

        void visit( RightDiagonalWall rightDiagonalWall ) throws MazeException;
    }

    public interface WallFactory<T> {
        /**
         * @param value
         * @return the MazeWall
         * @throws MazeException
         */
        MazeWall createMazeWall( T value ) throws MazeException;
    }

    public static class StrategyWallFactory<T> implements WallFactory<T> {
        private WallRepartitionStrategy<T> wallRepartitionStrategy;

        public StrategyWallFactory( WallRepartitionStrategy<T> wallRepartitionStrategy ) {
            this.wallRepartitionStrategy = wallRepartitionStrategy;
        }

        @Override
        public MazeWall createMazeWall( T value ) throws MazeException {
            Class<? extends MazeWall> wallClassForValue = wallRepartitionStrategy.getWallClassForValue( value );
            try {
                return wallClassForValue.newInstance();
            } catch( InstantiationException | IllegalAccessException e ) {
                throw new MazeException( "Cannot create MazeWall instance", e );
            }
        }
    }

    public interface WallRepartitionStrategy<T> {
        /**
         * @param value
         * @return the wall class for value
         * @throws MazeException
         */
        Class<? extends MazeWall> getWallClassForValue( T value ) throws MazeException;
    }

    public static class ProbabilityThresholdWallRepartitionStrategy implements WallRepartitionStrategy<Double> {
        private SortedMap<Double, Class<? extends MazeWall>> thresholds = new TreeMap<Double, Class<? extends MazeWall>>( Collections.reverseOrder() );

        public void declareWallThreshold( Double probability, Class<? extends MazeWall> wallClass ) throws MazeException {
            if( probability < 0 || probability > 1 ) {
                throw new MazeException( "Invalid probability " + probability );
            }
            thresholds.put( probability, wallClass );
        }

        @Override
        public Class<? extends MazeWall> getWallClassForValue( Double value ) throws MazeException {
            for( Entry<Double, Class<? extends MazeWall>> entry : thresholds.entrySet() ) {
                if( entry.getKey() < value ) {
                    return entry.getValue();
                }
            }
            throw new MazeException( "No MazeWall class found for probabitity threshold " + value );
        }
    }

    public static class MazePrintVisitor implements MazeVisitor {
        private static final String LEFT_WALL_REPRESENTATION = "&#9585;";
        private static final String RIGHT_WALL_REPRESENTATION = "&#9586;";

        private final Writer writer;
        private final int lineWidth;
        private int count;

        public MazePrintVisitor( Writer writer, int lineWidth ) {
            this.writer = writer;
            this.lineWidth = lineWidth;
        }

        @Override
        public void visit( LeftDiagonalWall leftDiagonalWall ) throws MazeException {
            print( LEFT_WALL_REPRESENTATION );
        }

        @Override
        public void visit( RightDiagonalWall rightDiagonalWall ) throws MazeException {
            print( RIGHT_WALL_REPRESENTATION );
        }

        private void print( String str ) throws MazeException {
            try {
                if( count >= lineWidth ) {
                    count = 0;
                    writer.write( System.lineSeparator() );
                }
                writer.write( str );
                count += str.codePointCount( 0, str.length() );
            } catch( IOException e ) {
                throw new MazeException( "Error printing maze", e );
            }
        }
    }

    public interface EntropyGenerator {
        double getNewEntropyValue();
    }

    public static class JavaRandomEntropyGenerator implements EntropyGenerator {
        private Random random = new Random();

        @Override
        public double getNewEntropyValue() {
            return random.nextDouble();
        }
    }

    public static class MazeException extends Exception {
        public MazeException( String message ) {
            super( message );
        }

        public MazeException( String message, Throwable cause ) {
            super( message, cause );
        }
    }

    public static void main( String[] args ) throws Exception {
        ProbabilityThresholdWallRepartitionStrategy repartitionStrategy = new ProbabilityThresholdWallRepartitionStrategy();
        repartitionStrategy.declareWallThreshold( 0.0, LeftDiagonalWall.class );
        repartitionStrategy.declareWallThreshold( 0.5, RightDiagonalWall.class );
        WallFactory<Double> wallFactory = new StrategyWallFactory<Double>( repartitionStrategy );

        EntropyGenerator entropyGenerator = new JavaRandomEntropyGenerator();

        Maze maze = new Maze( wallFactory, entropyGenerator );

        MazePrintVisitor printVisitor = new MazePrintVisitor( new OutputStreamWriter( System.out ), 40 );
        maze.visit( printVisitor );
    }

}

Comment Real Skepticism (Score 1) 1142

Being skeptical is part of being a scientist and questioning new discoveries, since that is how you can sort out wrong claims from not-wrong claims. However, at some point, a discovery is no longer questioned and is accepted as 'true'. No one now seems to question that earth orbits the sun, or that the shape of the earth resembles a sphere due to overwhelming evidence, but when those claims were originally announced, they were greeted with much skepticism. Being skeptical of these claims now would make one look very silly.

Many people who do not accept evolution simply think they are being 'skeptical' of the claim, which is an admirable scientific trait. However, at this point, evolution is accepted as happening due to overwhelming evidence, so they simply look silly.

This leads up to my question of how do we tell someone that there is no reason to be so skeptical of evolution anymore since it's regarded as 'true' and they should just learn more about it instead of dismissing it immediately, while still professing that people should be skeptical of new claims and discoveries?

Comment Why so much to run a tld? (Score 1) 94

Why does it cost hundreds of thousands to run a tld? Is most of that just labor/marketing costs? I would assume it would just be a matter of setting up a few replicating bind servers and a basic api for buying/adding domains that could be distributed to domain brokers (GoDaddy, Moniker, etc).

Maybe there is more involved that I think there should be?

I'm just curious where hundreds of thousands go to launch and run a tld.

Comment Re:Unit of time (Score 3, Informative) 85

It's wall-clock time. Even if your virtual instance is in the 'running' state but idle and doing nothing, you're still getting billed for it.

You're billed from when you do 'start-instance' to when you do 'terminate-instance'.

Regarding the partial hours, they are based on wall-clock hours as well. If you start your instance at 1:58 and stop it at 2:01, you will be billed for two hours: One hour for the 1:00-1:59 hour, and one hour for the 2:00-2:59 hour. I have a cron job that runs at :55 and checks for any instances I've started up, but I'm not using anymore and shuts them down (there is no point in shutting them down before then since I might end up needing them at some point during that hour).

Comment Re:Why no LEO? (Score 1) 245

My guess would be better coverage of the intended area with fewer satellites. A geo-stationary orbit would yield constant coverage with a single satellite. Whereas in LEO, the satellite orbits every 90 minutes so it would be out of contact every 45 minutes (probably more) while it's on the other side of the earth, requiring more (expensive) satellites to be launched.

As for ping times:
LEO: ~350km (approx height of ISS) = 350km/c = 1.16ms * 2 = 2.32ms
Geo-Stationary: ~35,000km = 35,000km/c = 0.116s * 2 = 0.232s = 232ms

References:
http://imagine.gsfc.nasa.gov/docs/ask_astro/answers/970408d.html
http://en.wikipedia.org/wiki/Low_Earth_orbit

Slashdot Top Deals

The flush toilet is the basis of Western civilization. -- Alan Coult

Working...