Follow Slashdot stories on Twitter


Forgot your password?
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:More likely they will pull out (Score 4, Insightful) 131

I don't think it really matters, it costs almost nothing to defend these cases for Uber. They're just trying to defer spinning up a big HR division between now and in five years when Uber replaces most of their human drivers with driverless cars. People keep treating Uber as if they're going to be this massive, massive employer -- they won't. Ideally in 10 years most everything will live in the cloud run by a team of 300 engineers, with local service centers to swap out batteries and electric drive units for the cars. Human drivers will only work in areas that don't have enough ride share demand to deserve a dedicated service center.
Worrying about driver's benefits is a very short sighted goal and really is a waste of everyone's time.

Comment Re:Too quiet?? (Score 2) 382

The electric buses in SF are plenty loud, tire noise, old creaky suspension, flexing frame etc etc you can hear them coming, especially as they accelerate up the hills we have out here. They're not as loud as the shitty diesels that they have running around the flatter areas (electric buses are superior from a torque standpoint going up hills) but they're loud enough.

Comment Re:first (Score 1) 382

It's remarkably easy to buy renewable-only power from renewable sources. It all feeds in to the same grid, but the bill comes from the renewable sources. Since there's a limited supply of renewable power that companies and people are trying to buy from it tends to cost 1-5% more than normal electricity, but you're using only green sources of power.
When I lived in Dallas for 7 years I got my power from Green Mountain energy and cost about 4% more than regular energy, but my house was 100% renewable powered.
It's not much of a stretch to assume that the buses will be recharged with renewable power as well. Something like 70% of the power for washington state comes from Hydro as it is.

Comment Re:Square of the distance... (Score 2) 79

I bought three charging pads for my Nexus 5, one bedside, one at my home office PC, and one at my office PC. It basically stayed charged 100% of the time unless I was on a road trip or some such.
Doesn't matter where the pad is, you just need the charging pads where you use the phone the most. A dedicated charging pad in the car, one by your bed and one at the office cover 90% of use cases for probably 80% of the population. If apple got behind wireless charging, you would probably see charging pads appear in BMW and Mercedes first, followed by Lexus, Acura and then Honda/Toyota and eventually american manufacturers. We just need a standard that we're going to stick with. I'm ok with a Qi/USB Type-C world.

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) 651

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.

Slashdot Top Deals

Real Users find the one combination of bizarre input values that shuts down the system for days.