ysapir's comments

ysapir | 12 years ago | on: Google set to acquire Waze for $1.3B

Every company operating in every country is bound to that country's laws. So Google in China has to accept the Chinese government demands, and Google Maps in Israel already cooperates with security restrictions in Israel, just like Waze probably cooperates with the NSA for its Palo Alto office.

However, Waze using a dynamic map is able to provide mapping for the West Bank as well. While Google opened up its navigation app a few months ago in Israel, it has not been opened for the West Bank (possibly because of map licensing restrictions that similarly prevented opening it for Israel for so long).

ysapir | 13 years ago | on: Unbelievable

These children are dead, there is nothing fake about that, and there is also nothing fake in that they are victims of a variety of factors, including Paul Hansen who manipulated their funeral images to cheat his way to an award. There were over 100,000 photos up in the competition, and prizes were awarded to photographers of 33 nationalities (with a notable absence of Israelis). Other photos bringing other stories (and maybe even the same story) from Gaza and elsewhere in the world could have won instead. The whole point of a photography contest is to identify and recognize those photographers who can skillfully identify and catch dramatic moments and angles in split second, not those who take otherwise normal pictures and edit them later.

To give some balance, the day these two brothers and their father died, there were continuous rocket attacks on Israel. At around 7pm, a rocket hit a high school in Ashkelon. A student from the school told the reporter, "We were playing soccer near the school and suddenly there were sirens, and we saw the Iron Dome rocket fire above us, and then we heard a large explosion and we realized it fell just near us. The police came and we directed them." The rocket fell on the rooftop of a nearby school building unexploded and was disarmed by the police. The IDF later released a statement saying it attacked over 50 tunnels and tens of hidden rocket launchers. The Hamas often places the rocket launchers near civilian homes for protection and this might have been the cause of the attack. The civilians, as perhaps the Hejazi family in this case too, have no real say and are sometimes forced to remain near the weapons against their will.

[1] http://www.worldpressphoto.org/content/swedish-photographer-...

[2] http://news.walla.co.il/?w=/2689/2587705 (live blog from the day of the attack, Hebrew)

ysapir | 13 years ago | on: Wasp's Nest: A Lock-Free Concurrency Pattern In Python

Also, in this paradigm, only one thread calls refresh() at any give time (either the MonitorThread or before the thread is created, the initializer thread). This is contrary to some definitions of lock free, such as [1], "if any thread performing an operation on the data structure is suspended at any point during that operation then the other threads accessing the data structure must still be able to complete their tasks". If we kill MonitorThread, other threads accessing RSState won't be able to complete their operation.

[1] http://www.justsoftwaresolutions.co.uk/threading/non_blockin...

ysapir | 13 years ago | on: Why is science behind a paywall?

Even in natural sciences, there may be experiments that are not easily reproducible. Finding the Higgs can only be done in a long while (decade or more) with great financial investment.

Or take the 4th grade test about dinosaurs[1]. Objectively, we can't verify if the world if thousands or millions or billions of years old, and we can't verify if dinosaurs lived concurrent with humans or not. We weren't there. There is evidence, and how we interpret the evidence, and yet the test features a rather forced interpretation of the evidence. Now, numerically there may be a lot of people all over the world who prefer the fundamentalist interpretation, even if they are accredited scientists in universities. In a completely open environment, this opinion would get more weight than it deserves, a weight that does not represent its true standing among scientists who understand all the different implications of the evidence.

[1] http://www.snopes.com/photos/signs/sciencetest.asp

ysapir | 13 years ago | on: Why is science behind a paywall?

That isn't clear to me, but in any case, they seem to be talking about a new type of peer review process, which is more immediate -- something akin to forking on github or editing a wiki maybe. I'm not sure.

From the article - "They argue that the current journal system slows down the publication of science research. Peer review rarely takes less than a month, and journals often ask for papers to be rewritten or new analysis undertaken, which stretches out publication for half a year or more. While quality control is necessary, thanks to the Internet, articles don’t need to be in a final form before they appear. ... “We want to go after peer review,” CEO Toni Gemayel told us."

And I am saying, quality control is essential, and yet an open internet-based process would mean a lot of people with pet theories they want to drive could game the system. I agree with the poster who wrote that you need to take into consideration the author and his caliber even in scientific journals -- the quality control problem is a problem already today really -- but the effort necessary to get an article to publication raises the quality somewhat (and in turn prestige of relevant journals).

ysapir | 13 years ago | on: Why is science behind a paywall?

Quality control is essential. I have an interest in linguistics. But on the internet, some of the linguistics arguments are ridiculous. There are websites that claim that English (and all world languages) are descendant from Turkish. It is rubbish. In all types of subjects you find people with these pet theories, and they can be very prolific, putting their opinion on wikipedia or wikia or wherever, on websites, in discussions, and there can even be a following. In software, you can tell rubbish. It compiles or it does not. It has a lot of bug requests or it does not. This does not map to science. You can't run a scientific article through a compiler to tell if it is good or bad. You can't tell if a new physics theory is reputable or some science fiction. A theory may be 10 years old, and the professor who wrote it unable to respond to all the queries, "bug requests," but it is still valuable. And a prolific pseudo-science author may have little "bug requests" because no one reputable who knows something about the subject has any time to deal with his nonsense. Without effective quality control, there will be no science. The article had no real solution to the problem.

ysapir | 13 years ago | on: Facebook in talks to buy Waze for $1B

In my view, Android does slightly better routing and search. Waze has a much better UI/UX experience.

EDIT: And Waze does not do walking/public transportation directions.

ysapir | 13 years ago | on: LinkedIn

There is also the endorsements, which LinkedIn can use to measure how well you know the person.

ysapir | 13 years ago | on: Facebook in talks to buy Waze for $1B

Waze won the best overall app award at the Mobile World Congress in Barcelona. This might have raised its valuation since the Apple talks were publicized - http://www.globalmobileawards.com/winners-2013/

If they are doing due diligence now, they would need to look into the GPL source code. Waze (at least in the past) was based in part on RoadMap which is GPL - https://github.com/mkoloberdin/waze/

That was version 2-2.4. Now they are at version 3.6, so maybe they rewrote the relevant code.

As far as the R&D centers, this can't be compared, because both those companies (Snaptu, Face.com) were much smaller than Waze. Facebook may be interested in an R&D center in Israel too, and is just looking for an appropriate base on which to build it.

I guess this seems to put Facebook more on a collision course with Google, after Facebook Home.

ysapir | 13 years ago | on: How Much Does It Cost To Build An MVP?

The point of an MVP is to control costs, to avoid spending millions of $ and precious time to develop something that no one wants. The first step in avoiding spending that much money, is to be able to quantify the costs of building an MVP.

Besides, a stealth fighter jet cannot be a MVP. Maybe you have better maneuvering technology, or targeting technology, or maybe you have teleportation technology. That would be the basis of your MVP. If it still costs above $100,000, then minimize again, and again and again.

ysapir | 13 years ago | on: Path texts my entire phonebook at 6 AM

The policy does not make that distinction.

An app generally needs a backend and it is clear some of the policies are directed towards not the app itself but how it interacts with the backend. These same guidelines are meant to be used to stop apps such as malware games that collect contacts and send them to the backend to be used as spam email lists.

ysapir | 13 years ago | on: Want to ace your Y Combinator interview? Be relentlessly empathetic

How would this work out in a scenario where the customers are a subset of the users. Say, a restaurant menu service that provides restaurants with enhanced menus for their clients. The customers are the restaurants and restaurant owners. But the users include the clients who actually use the menus and may have their own interests and considerations. You may revenue-share with the restaurants, but the customers are still the restaurants. Now there may be questions on this list, where the customers' interests and pain are at odds with their clients' interests and pain. What happens when the customer is an enterprise level business, and you can't speak to them daily or weekly or maybe even monthly?

ysapir | 13 years ago | on: The 30 day free trial is mostly broken

A usage-based trial is really just the same thing as a time-based trial. There is a certain pace at which users are going to use up their usage quota, and that translates to a time period. Generally, though, you want the time period to end after the user has seen the benefits and before they have exhausted their initial enthusiasm or encountered any bugs. Giving a user four months to make their choice probably puts you on the wrong end of all those considerations.

After the time-based trial, there are going to be different packages based on different usage quotas anyway. KISSmetrics is probably catering to very different and more established customers than the author, and their pricing model is structured accordingly.

ysapir | 13 years ago | on: New Theory on Why Stonehenge Was Built

New? The story was already reported a year and a half ago and published last year.

  [1] http://www.independent.co.uk/student/news/open-eye-you-never-know-what-you-might-unearth-2365369.html
  [2] http://www.academia.edu/2488263/Vespasians_Camp_Cradle_of_Stonehenge

ysapir | 13 years ago | on: An Idiot's Guide to C++ Templates - Part 1

The article does not describe the primary issue with using templates: that using templates leads to hard-to-manage non-modular code. Templates have their uses, but a big problem is that any change in template code means recompile of any code that uses it. Additionally, the interface contract is not well defined. Adopting an interface/inheritance approach generally leads to much more maintainable code.

And yes, you can use namespaces and careful template programming to give some modularity to the code, but in the end, if one code line change in one template header, that is used by multiple other template headers, and in turn by multiple libraries, means you have to recompile thousands of files and dozens of libraries, this is a very big price to pay.

The article starts with function templates, which are tricky, with function overrides interfering with template instantiations. The article seems oblivious to this issue.

  "void PrintTwice(const TYPE& data)"
If you are going to make a function template that ought to work with primitive types accepts a primitive type, const& may not be that simple. You may want to write a separate template implementation (and choose between them using enable_if<> and type_traits), because you don't want to take a pointer/reference to an int if you don't have to.

"You should have noticed that I used typename, instead of class. No, it is not required to use typename keyword if a function returning something. For template programming, these two keywords are very much the same."

I have generally used <class X> rather than <typename X>, following a comment by David Abrahams to that effect on the boost list a long time ago. I think it has to do with the fact that typename does have multiple meanings inside the angle brackets.

  "int tSum = int();"
I think this code is problematic.

ysapir | 13 years ago | on: Would you buy this C++ book? Please help shape its structure and contents

I wouldn't buy it.

I'm a C++ programmer with over 10 years, I buy software books, but I basically only go for well vetted books.

I dislike a chapter heading reading "Exception throwing destructors" even if that is a one page chapter with one big word "Don't." It also happens to be the type of thing I already expect a professional C++ programmer to know.

Actually, the only chapter I found interesting is #12 (MapReduce) and it doesn't really have much to do with reliable C++. But after reading up on this, I found that it gained little interest in boost [1], and its description in [2] is rather bland. Compare the description for N3554. So, instead, a book with only chapters like #12 but which touched on very useful, well-tested libraries would actually be more interesting. Not the normal libraries, the usual ones like boost in which professional programmers should already be adept, but some other ones that are real gems nonetheless. But all that is assuming that I would still be interested in writing C++ code.

However, I don't really see a future for C++ for most purposes, so "Scala for Profesional C++ Programmers" may be even more interesting.

  [1] http://lists.boost.org/Archives/boost/2009/08/155729.php
  [2] http://www.meetingcpp.com/index.php/br/items/a-look-at-c14-papers-part-2.html

ysapir | 13 years ago | on: Why I don't use the GPL

"The company is much more likely to work with the open-source developers"

This is an understatement. When you work with an open-source third-party library/module in a commercial company, it is much easier for the company to submit bugfix patches to the open source developers. The company probably has access to a wider range of data (including proprietary client data that can't be released) but which will highlight hard to find bugs. The code is open source so it can debug the problem itself. But even if it is MIT/BSD/Apache/etc, it makes more sense for the company to send back the patches to be integrated. Otherwise, it has to maintain an unreleased patch-list and re-apply it with every version update. If it does not apply cleanly, it has to spend resources to update the patch to the changes in the new version. It's developer time the company can use for better things.

Knowing this is one more reason I am also more likely to choose code released under a permissive license than under GPL. I figure all things being equal, it is probably better tested, better code.

page 1