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


Forgot your password?
For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×

Comment: I don't mind, but I'm not a veteran (Score 2) 136 136

I know some veterans who get nasty PTSD reactions from fireworks. I can't imagine what it must be like to get continual flashbacks to battle and all the emotions that come with that when fireworks go off.

It seems more than a little ironic to me that so many Americans celebrate veterans for "protecting our freedom," and then traumatize those same veterans when it comes time to celebrate our freedom.

Please be courteous with your use of fireworks, especially if you know that any veterans live nearby.

Comment: Re:bit coin doesn't solve the strategic issue. (Score 1) 358 358

Inflation is exactly what Greece needs. But because Greece has a primary surplus, there is no reason for them to do this. Simply defaulting on their existing debt will leave them with a positive yearly balance. So they don't need to print money to pay the bills. Instead, they are free to have monetary policy focus on maintaining stable inflation, which is beneficial to economic growth (printing money to service the debt is comparatively uncontrolled and can lead to runaway inflation which isn't so nice).

Comment: Re:Gold will not solve this problem (Score 2) 358 358

Greece has had that massive bank run, to the point of closing banks and imposing capital controls. As the primary problem with exiting the Euro is that it would likely result in a massive bank run, I think they should probably default on their debt exit the Euro. The cost has already been paid. But exiting the Euro will give them the tools to recover.

Comment: Re:A case of out of control Liberals (Score 0) 177 177

"Productive?" Productive workers don't have salaries of millions of dollars. And few rich people can move overseas to avoid their tax burden because their money is made within the country (and you can bet your ass that to the extent they are able to shift their tax burden overseas, they already do that). But rich people are leeches on society. They're not productive workers. They just exploit their own privilege and the rule of law to fleece everybody else of their money.

Comment: Re:One more in a crowded field (Score 1) 337 337

You can store objects (not pointers) in arrays in C++ just fine (aside from storing objects which include arrays such as strings, it is common for all of the value data to reside in the array). But this is usually an irrelevant implementation detail. 99% of the time it won't make any noticeable difference at all to performance. And when it does make a difference, you can optimize that section of code as needed. This makes no difference whatsoever as to how most algorithms are translated to code.

And no, C/C++ are almost always going to be faster. In part this is because when you run into a performance bottleneck, the optimization possibilities are much more diverse. In part it's because many of the safety guarantees are enforced at compile time rather than run time. In part it's because C++ developers are rarely going to make use all of the same guarantees in their code, precisely for performance reasons. Unit tests and good programming practices can usually avoid the pitfalls that come with avoiding those checks.

Of course, you can simply write your performance-critical bits of code in C or C++ within a Swift application, though for other languages SWIG works pretty well for that.

Comment: Re:One more in a crowded field (Score 1) 337 337

An optional is not a pointer. (Nor is it a reference). And that's not simply a matter of names. They are completely different things. Suppose you had an array of 4 optional integers, how do you imagine that is represented in memory?

The memory representation is largely irrelevant to the coding algorithms. It might be important if you're going to do some low-level optimization, but if you're doing low-level optimization where that sort of thing matters, you shouldn't be working in Go, Swift, or Objective-C.

Turing machines are equivalent. That doesn't mean language features are the same. They're not. You might solve a given problem in a similar number of lines in lisp, basic, forth and scheme. It doesn't mean the language features that you would use are the same.

That's why I specified, "similar number of lines and with the same guarantees." The benefits of optional are entirely about the sorts of things that the compiler enforces for you when you use the type. I'm saying that Swift is neither special nor unique here, and that other languages have the same kind of functionality. In C++, you can get the same functionality with boost::optional (which will probably eventually be part of the standard library). With Go, their pointers can act almost exactly like Swift's optionals.

And if you're going to argue performance, Swift may be better than Objective-C, but it's probably not going to be better than Java or Go, and is certainly much slower than C/C++.

Comment: Re:This makes no sense (Score 1) 424 424

Except Google does listen to their users. And sorry to say, but you are in a strong minority. Even among technically proficient people.

As for other people, it's no longer 1998 and other search engines have made their own changes. Google could not compete with the likes of Bing if it hadn't updated its algorithms.

Comment: Re:Amen brother! (Score 2) 424 424

You can do a fair amount of customization at Google's Account Settings page (you can also access this page by clicking on your profile picture and clicking "account" on a google.com page). Of course, this only works while logged-in.

To customize search results, you should turn on personalized search and look through your search history to delete searches that are probably not going to be relevant in the future. For ads, there's a list of categories that you're automatically assigned to based upon search history and views of pages with Google ads. You can add or remove categories as you choose. Of course, you have to turn on interest-based ads for this to be worthwhile.

Comment: Re:Give it some hints ... (Score 1) 424 424

Sounds like you've got personalization turned off. If Google doesn't know what country is relevant, how is it supposed to surface the right country for you? If you've been using VPN servers in different countries, that might also screw things up.

Comment: Re:quotation marks (Score 1) 424 424

Which is why Google's separation between the different meanings of the word can be so helpful. Give it enough context to know the meaning that you are using and it will usually do a much better job of finding what you're looking for.

But I can't replicate it adding or removing words from a phrase as long as I put the phrase in quotes. It always seems to search for the exact phrase, though sometimes with punctuation in between.

Comment: Re:This makes no sense (Score 1) 424 424

Why should Google cater to you personally instead of billions of other people in this world? Also, searching by meaning is far more expressive than searching by keyword. You "get off my lawn" types really should learn how to use the updated tools. And I'm not just talking about Google here: every decent search engine either is already or will be going the same route, because this really is the way most people search.

Comment: Re:One more in a crowded field (Score 1) 337 337

Attaching the word "pointer" vs. "optional" doesn't change the behavior one iota. There are only two differences in terms of the programming interface between Swift's optionals and Go's pointers:

  1. Syntax. But all of the same operations are permitted.
  2. How they are passed to functions (by reference or by value).

I challenge you to find a code snippet using optionals in Swift that does not trivially translate to a similar number of lines in Go with all of the same guarantees, aside from whether or not a function can mutate the passed variable (because that is orthogonal to whether or not the object is optional, and a different issue entirely).

In languages like C and C++, of course, there are other differences (e.g. pointers are numbers that point to actual memory addresses, and the value is not guaranteed to exist at the destination). This is not anything new. It's just a slightly different syntax (and similar to boost::optional in C++).

"Silent gratitude isn't very much use to anyone." -- G. B. Stearn