Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment Re:As soon as you're invited to visit, I agree (na (Score 1) 184

Perhaps the government has no right to search X, for any X, but they DO have the right to say "no you can't come in", or impose any conditions they feel are proper before granting entry.

False equivalency. You have the right to exclude others from your home because you own your home. Your rights of ownership are founded, ultimately, in the homesteading of previously unowned land though the labor of an original owner, plus an unbroken chain of voluntary contracts passing the rights to that land from its original owner to you. The government, by contrast, has no such legitimate claim to ownership of the entire country, and consequently does not have the right to exclude anyone from entering.

On the other hand, it would be wrong for me to block your entry into your *own* house... Unlike people who wish to visit, peope have a right to enter their own home.

Anyone with the right to enter their own home also has the right to invite others to enter. It would be wrong for you to block the entry of my invited guests into my house.

Once you're in the US (and while your outside the US), your rights as a human being should be fully respected.

Inside, outside, or in transition, your rights as a human being should always be respected.

Comment Re:Why is income equality necessarily good? (Score 1) 439

Bill Gates is only going to buy so many TVs, cars, and houses. Doubling his wealth is not going to change his spending habits.

It won't change his personal consumption habits, no. Instead he would spend the extra wealth on capital investments, which improve the efficiency of production and allow vast numbers of other people to buy more TVs, cars, and houses at lower prices.

Consumption is important, of course, but all economic progress comes from the part of our income which we don't immediately spend on short-lived consumer goods.

You're also conflating wealth with money. They aren't the same thing. Bill Gates has a lot of wealth, but most of it isn't in the form of money. Instead, he owns shares in various investments. Even if it were, people would simply switch to an alternate form of currency long before the symptoms you're attributing to "wealth concentration" became apparent.

There is one factor which could have the effect you're referring to, but it only occurs in non-free markets. It is not always the case that more capital investment equals lower prices; over-investment can create a situation where the prices necessary to cover the cost of the capital are above the optimal point on the supply & demand curve. Imagine, for example, that you can sell 10,000 of a certain widget per year at an optimal price point of $10 each, and that your cost per widget is $8 (for $20k profit). If you rent a machine for $50,000/year you can lower production costs (excluding the rent) to $5 each. Under normal circumstances this would be an uneconomical investment, since the rent would raise the overall cost to $10 per widget, eliminating your profit. (Raising the price is not an option since that would reduce both the quality sold and overall revenues.) However, if a regulation were introduced requiring the use of this machine it would change the parameters: now the optimal price point (for widgets produced with this machine) is perhaps 8,000 units at $18, and you only make $14,000 in profit while 2,000 potential customers do without widgets. The same argument can be applied if the machine instead comes with a tax-funded subsidy rather than a mandate. With the subsidy included, the real cost per widget is still $18, but the buyer only sees $10 at the point of sale and the remaining $8 is spread among all the taxpayers—reducing the money they have left over to spend on widgets and other goods. Any market intervention (regulation, tax, subsidy, monetary policy, etc.) which either rewards or punishes capital investment, and thus shifts the allocation of resources away from the optimal balance, reduces the efficiency of the market and the purchasing power of the average citizen.

Comment Re:There are a few specific things they do (Score 1) 439

But earning 4 times the national average is clearly not equal.

You're leaving out half the story here. If two people given similar opportunities make different choices, and as a result one of them ends up earning four times as much as the other, that isn't inequality. They each had an equal chance at earning that income; one took advantage of that opportunity and the other did not. The thing we should be striving for is equal opportunity, not equality of outcome. It is only natural that someone who takes the long view and makes difficult choices should end up better off than someone else in the same circumstances who focuses only on the present.

On the subject of inherited wealth, this applies just as much to families as it does to individuals. True, the recipient of the inheritance has been granted an unearned opportunity which others lacked. (Unearned by the recipient, that is—the parent earned the right to make that gift.) Taking the larger view, however, any family with even a small amount of discretionary income has the option of saving and investing and passing those investments down to the next generation, following a long-term strategy which will eventually result in a sizeable inheritance. This demonstrates how different choices at the family level over the course of multiple generations can produce unequal outcomes from equal opportunities.

Our choices make all the difference, not just for ourselves but for our descendents as well, and that is exactly as it should be. The inequality we should be concerned about is inequality under the law, and especially the variety of legal inequality which results in property earned by one individual or family being unjustly seized and granted instead to some other individual or group. This is an attempt to force equal outcomes by perversely punishing those who make better choices.

Comment Re:Theoretically (Score 2) 172

I hope you don't count "You can't dump toxic sludge from your factory into the local river" as "ridiculous."

The enforcement of property rights is not regulation. You have every right to use your own property as you please, but others have exactly the same right—implying that you do not have the right to use their property without their permission. If you dispose of your pollutants in such a way that they end up harming others' property, including but not limited to their bodies, then you have infringed on their property rights and owe the victims redress. This is not some arbitrary regulation regarding how you may use your own property, but rather the natural consequence of others' rights to determine the use of their property.

As a term of art in political discussions, the term "regulation" refers to a restriction above and beyond simply respecting the property rights of others. Some regulations are indeed "ridiculous", but most are simply wrong, a product of politicians making a nuisance of themselves in situations where they have no standing to interfere.

Comment Re:I don't mean to go all 'Papierin, mein herr,' b (Score 2) 626

The Fourth Amendment bans only "unreasonable searches and seizures". The exception considers searches at the border to be "reasonable".

That's only half of the story. The 4th Amendment also says that no warrants shall be issued (in plain language: no permission shall be granted to perform a search or seizure) "but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized." The so-called "Border Search Exception" manufactured by the courts out of thin air is an unconstitutional warrant. There is no probable cause, no supporting Oath or affirmation, and no particular description of the place to be searched or the person or things to be seized. Ergo, there is no constitutional authority to issue a warrant, which would be the only legal basis to perform any search or to seize any property.

Probable cause—or in other words a reasonable, and evidence-based, expectation that a particular search will turn up evidence of illegal activity sufficient to retroactively justify the search—is the only thing that makes a search "reasonable". If the majority of these searches do not uncover evidence of illegal activity then there is no probable cause and they are de facto unreasonable.

Comment Re:What about... (Score 1) 186

Well, it isn't 'nothing.' It costs money to develop ideas and art.

And they're welcome to charge for the development and initial publication of those ideas and works of art. The part that costs "nothing" is making and distributing copies—and yet that's what they charge for now. You're not paying for an idea or work of art to be developed, you're paying for permission to make a copy of an idea or artwork which already exists. (Or you're paying someone else to make the copy for you, since they won't grant you permission to do it yourself.) What you are paying for comes at zero cost to the patent or copyright holder. If you made said copy without their permission they would not be harmed in any way—in terms of cost to the patent or copyright holder, infringement has exactly the same effect as if you never became aware of the work in the first place. Either way, they neither gain nor lose anything as a result of your actions. It is absurd to punish someone for infringement when simply ignoring the work causes exactly as much harm to the patent or copyright holder and yet goes unpunished.

Comment Re:Does not need to track parent, not 500 instance (Score 1) 600

Using the iterative algorithm I posted above, I think you can see that we do NOT track any data whatsoever about how we got to the current URL. All of the information about past pages, which would be on the stack in a recursive algorithm, do not exist in my program. So in fact it does *not* "track the same data"...

You're comparing apples and oranges. The iterative version of your program is not using the same algorithm as the recursive version. You replaced a depth-first search with a breadth-first search, which makes your example completely irrelevant for comparing iterative vs. recursive implementations of the same algorithm. Among other things, the order in which your web crawler visits pages is very different in the iterative version. To maintain the original order you would need to restore the depth-first search algorithm, which would imply tracking the chain of pages you came from—exactly like the recursive implementation, though you could store that information on the heap or in a database rather than on the stack. (Note that a tail-recursive implementation would also store that information on the heap or in a database... this isn't a matter of recursion vs. iteration.)

You are certainly correct that you *can* simulate iteration by using recursion.

The tail-recursive implementation is not "simulating" iteration. It is iteration. Expressing the same algorithm with a loop construct rather than an explicit function call would not make it any less recursive; the loop implies a built-in fixpoint operator. If this trivial difference of style makes any difference in how much stack space your function uses, that's a bug in your toolchain.

The key point, to me, is that at least what I mean by "recursive" is that there is a parent and a child. The parent doesn't return/exit until its child does - and its child, and its child, and its child, and its child ...

That is not what "recursion" means. Moreover, how would that definition even account for something like tail-recursion, where the "parent" is replaced by the "child"? Logically, the "parent" still does not exit until the "child" does, but in the meantime it occupies no space on the stack and the return from the innermost "child" is also the return from all of the "parents". No matter how deep the tail-calls become, the stack use remains constant. Recursion only requires additional stack space when there is more for the function to do after the call, i.e. when it is not tail-recursion. Such cases cannot be converted to iteration (using the same algorithm) without shifting all the data required by the continuation from the function-call stack into some other data structure.

Comment Re:Go! Government! Go! (Score 1) 267

You' started talking about an apartment building, and in those places the residents are not the owners, and have only very restricted property rights.

In at least some of the cases in question it was the owner of the apartment building, not a renter, who was fined for using AirBnB. A renter's right to sublet, and more generally to allow others access to the apartment, is, of course, subject to the terms of their contract with the owner of the apartment building.

Zoning laws are not designed to prevent imminent threats of irreversible harm.

Yes, which is one of the many things wrong with zoning laws. Zoning laws in general are no more justifiable than the more specific restrictions on using AirBnB. However, that is a topic for another day.

Comment Re:Device contains ID cookies (Score 1) 652

The CFAA doesn't ban bona fide government investigations.

Right, but is this an bona fide investigation? IIRC that exception applies to law-enforcement agencies, whereas this is about the organization responsible for approving visas. They're not investigating any crime; it's more like a background check.

Either way, there's still the TOS issue. The applicant is not legally compelled to turn over the password; they can refuse (and allow their visa application to be denied). Ergo, if they do submit the password they are violating the TOS of their own free will, which can result in their account being terminated and perhaps other penalties.

Comment Re:Do *not* spider web with recursive function cal (Score 1) 600

Care to point to which step "is defined in terms of the process itself"? I don't see that anywhere.

It's part of the compiler's internal definition of the loop construct, and does not appear in the source code. In the object code it can be identified as the opcode that branches back to the beginning of the loop.

This becomes more obvious if you consider programming languages where iteration is not a built-in construct, and loops are written in terms of explicit recursion. In Haskell, for example, a simplified C "while" keyword (disregarding "break", "continue", etc.) could be implemented as the following recursive function:

while :: Monad m => m Bool -> m () -> m ()
while cond body = cond >>= \c -> when c (body >> while cond body)

Or using the fixpoint operator, without referencing the current definition by name:

while cond body = fix (\loop -> cond >>= \c -> when c (body >> loop))

Building on the fixpoint example above, would you call this a recursive function?

void f(void (*g)(), int c) {
if (c < 10) g(g, c + 1);
}

Sometimes it isn't so simple. The body of f() does not refer to f(). However, what happens if you call f(f, 0)? The function might be recursive, or it might not be, depending on the arguments. It all depends on that function pointer.

Arguments might be avoided by saying it's not a recursive FUNCTION - no function calls itself, can't run out of stack space.

It's not a recursive function, since it's not the entire function that's repeated. It would be more accurate to say that it contains a recursive function, though that inner function is hidden behind the loop construct. Barring the use of alloca() or similar it won't run out of space on the function-call stack, since alloca() / variable-length arrays and function calls are the only ways to allocate from the function-call stack, but the iterative version of the function still needs to track the same data and can still run out of memory given large enough inputs—just not stack memory. Sometimes that distinction is important, but more often it isn't, especially given the stack sizes available to programs running on most virtual memory based operating systems, ranging from several megabytes to "malloc() would fail first". (After all, some languages allocate stack frames from the heap.)

Anyway, the fact that (unoptimized) tail calls use stack space while iteration constructs ordinarily do not is nothing but an artifact of poor compiler implementation, and easily corrected through tail-call optimization. It's really no different from the way some languages with simplistic garbage-collection algorithms (e.g. Perl) fail to collect sets of objects with cyclic references. You can either take pains to avoid cyclic references (tail recursion), or just switch to one of the many modern languages which don't cause arbitrary runtime errors when you write code in the most natural style. Given a reasonable guarantee of tail-call optimization, function calls in general may allocate additional function-call stack space, but a call in tail position won't, so tail recursion is exactly the same as iteration in terms of expected stack use.

Comment Re:Go! Government! Go! (Score 2) 267

When there's such a pattern of behavior of disruption coming from apartments being rented out, isn't it okay to ban the underlying bad behavior?

No, that sort of prior restraint requires serious justification—"imminent threat of irreversible harm". The handful of minor disruptions which have actually occurred are nowhere near that level of threat; very few things are, short of direct physical attacks. While it would certainly be a simpler solution, prior restraint violates the property rights of those who rent out their apartments to considerate guests who do not cause such disruptions, while also causing harm to the guests themselves in the form of fewer choices of accommodation and correspondingly higher prices.

Comment Re: Scare Quotes (Score 2) 267

The Constitution says nothing about depriving one of property rights; only property.

A distinction without a difference. Property rights are property, and vice-versa. Any time your property rights are infringed you have been deprived of your property to at least some degree. To argue otherwise admits the absurd legal fiction that the property technically still belongs to you, you just don't have any actual right to use it—the property rights belong to someone else. When people talk about being deprived of their property, it's not mere physical possession that they're referring to but rather their legal rights relating to the property.

Comment Re:Go! Government! Go! (Score 3, Insightful) 267

No, not with fines for renting out the apartment. Fines for disturbing the peace. The problem isn't the rental, which is no one's business but the property owner's. The problem is holding the property owner accountable for the use of the property, including use by guests. You want to rent out your apartment on AirBnB? No problem—but you are responsible to your neighbours for your guests' behavior during their stay. So you'd better make sure they're well-behaved and considerate before letting them stay at your apartment.

Comment Re:Device contains ID cookies (Score 1) 652

The persistent identification cookie on the laptop, tablet computer, or smartphone that a traveler carries allows access.

Legally speaking, it only allows access for the account owner. Barring a special exception to the Computer Fraud and Abuse Act, anyone else using that cookie (or the login & password, whether provided voluntarily in violation of the TOS or under duress) without the service provider's permission is committing a felony by hacking into the service provider's systems without authorization. The account owner may be at the border, but the account owner cannot legally delegate permission to access the account to a third party and the system being accessed is not located at the border.

The only legal option consistent with both the TOS you agreed to and CFAA is to refuse to turn over the passwords—even knowing that this means the visa request will be denied.

Comment Re:Do *not* spider web with recursive function cal (Score 1) 600

Some people would point out this solves a recursive and say it's therefore a recursive algorithm. The algorithm isn't recursive by definition because no function calls itself, even indirectly.

The algorithm is still recursive; the recursion is just built in to the language in the form of predefined iteration constructs like "foreach" and "while". Any time you have an iterative program of the form "first do X, and then repeat the process for the remaining input", that's recursion: one of the steps in the process (the repetition) is defined in terms of the process itself.

Some recursive algorithms can run in constant space, while others (such as most operations on trees) inherently require more space to process larger inputs—even when implemented "iteratively". The space used does not depend on whether the recursion is implemented with explicit function calls or loops, but rather on the quality of the compiler, including, but not limited to, tail-call optimization. Far from being complex wizardry, this optimization is really just the correction of a common implementation flaw wherein a function's stack frame remains allocated until the function returns, rather than being freed once it is no longer needed. This simplifies the compiler slightly at the cost of forcing the programmer to distinguish between implicit and explicit recursion, thus impairing the readability of naturally recursive algorithms and sparking endless debates over what ought to be a trivial difference of coding style with no runtime effect.

Slashdot Top Deals

The next person to mention spaghetti stacks to me is going to have his head knocked off. -- Bill Conrad

Working...