Make Lisp 15x faster than Python or 4x faster than Java - <AUTHOR> http://blog.postabon.com/make-lisp-15x-faster-than-python-or-4x-faster <comment><USER5> I ran the Python script through Shedskin, a partial Python implementation that compiles Python to machine code via an intermediate layer of C++. I did not have to declare any types for any variables, or add declarations for speed/safety; Shedskin automatically determined the types.

The finished program went down in runtime from 533.7s on my machine, to 24.42 seconds. If we adjust for machine speed (since the author's Python ran the python code in 474s), the comparative optimized result would be 21.7 seconds compared to author's hand-optimized lisp code at 30.2.

Note that this is probably an ideal case for Shedskin (which is a relatively new product: a 1-man job that's just a few years old compared to, I guess, hundreds if not thousands of man-years of research that have gone in LISP implementations).

Still, an interesting result.

<comment><USER6> There may be hundreds of man years of research gone into LISP, but a lot of that research found its way into shedskin too. And the Self research is in there too. And his own research (Shedskin was originilly his Masters).

<comment><USER7> the main techniques that I use for type inference were invented by ole agesen and john plevyak, who worked on self and concurrent aggregates, respectively (iirc). it may be they were influenced by research on lisp, but I doubt it.

</comment></comment></comment><comment><USER8> It's better to use the actual JDK (i.e. the one everyone uses) rather than the implementation you get from debian apt-get due to debian's licensing hangups.

SBCL:

      * (test)

      Evaluation took:
        45.268 seconds of real time

Sun JDK

      Runtime was: 51086 Milliseconds

That's less than 15%, a far, far cry from '4 times'

</comment><comment><USER9> The result of the distance() function is unused and can be optimized away by the compiler. Runs in 0.04s with LuaJIT 2.0. No type declarations needed. :-)

        local radius = 6371

        local function distance(latA, lngA, latB, lngB)
          local latAr = math.rad(latA)
          local lngAr = math.rad(lngA)
          local latBr = math.rad(latB)
          local lngBr = math.rad(lngB)

          local deltaLat = latBr - <USER2>
          local deltaLng = lngBr - <USER3>

          return radius * 2 * math.asin(math.sqrt(
                  math.sin(deltaLat/2)^2 + math.cos(latAr)
                  * math.cos(latBr) * (math.sin(deltaLng/2)^2)))
        end

        local start = os.clock()

        for latA=-90,90,2.5 do
          for lngA=-90,90,2.5 do
            for latB=-90,90,2.5 do
              for lngB=-90,90,2.5 do
                distance(latA, lngA, latB, lngB)
              end
            end
          end
        end

        local stop = os.clock()
        print(stop-start)

<comment><USER10> Ha.. of course, the real problem is that Java and Python are actually doing all of the work to compute their trigonometric functions, while C libraries that Lisp uses probably have them mapped into a table.

Java does actually keep a table for trig functions on small values -- they just haven't widened the table definition, which is filed as a bug at <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5005861>

"I just performed some simple benchmarks of my own, and noticed that summing e.g. sqrt, sin and tan for small values are just as fast as their C equivalents. This was a great relief to me.

However, when computing sin in the range of pi/2 ... pi and 10 ... 10+pi/6 Java became 3-5 times slower, while the C program was just as fast. This is explained above by lack of precision, but for example sin(10.0) yields bit-to- bit exactly the same result in Java and C! This comparison was performed on a rather old 1GHz Mobile Intel Pentium, so I would assume that the precision has been fixed in virtually all modern processors, and therefore these operations could be intrinsified for a much larger value range (possibly the entire double range)."

<comment><USER11>
      Java and Python are actually doing all of the work to compute their
      trigonometric functions

Not true in the case of CPython. It uses the underlying C implementation. See line 270 onwards.

[http://www.google.com/codesearch/p?hl=en#2T6lfGELm_A/trunk/M...](http://www.google.com/codesearch/p?hl=en#2T6lfGELm_A/trunk/Modules/mathmodule.c)

<comment><USER10> Interesting.. well, I'd think the trig functions would be by far the most expensive part of that program. Is Python really that much slower for control structures? That's literally the only other computation there.

<comment><USER6> Well, every instruction in a Python program requires running through the interpreter loop. Then you have to decode, get the opcode arguments, then actually do the operation. For calling C functions from Python, you also have to extract the C types, call the C function, and wrap the result back up. Its not hugely slow, but yeah, it adds up, and its fairly easy to see why it compares poorly to compiled versions.

</comment></comment></comment></comment></comment><comment><USER12> _The most common way to compute your distance from a deal is to assume the earth is a perfect sphere_

I thought you would only really be finding deals at distances small enough to just assume the earth is flat. Or at least, aren't those the only ones people would actually be interested in? If it's beyond my physical reach, I don't care how far it is. I'll get it shipped.

Or am I missing something?

<comment><AUTHOR> You're absolutely right - in my experience the pythagorean theorem has less than ~50 meters difference from the Haversine formula for distances less than 20 miles or so. In the actual code I use a simple heuristic to decide when to use which calculation.

Like I mentioned in the post, the distance function presented is a bit of a simplification I invented for pedagogical purposes (my goal was to examine languages, not geometry).

<comment><USER13> Can you release the source data used for the benchmark?

I'd like to compare it to C.

<comment><AUTHOR> There is no source data.

I just iterate through each latitude from -90 to 90 and each longitude from -180 to 180 in increments of 2.5 (for both the start and end). Check out the source code for any of the 5 examples (included in the post).

If you'd like, post the code up somewhere and I'll be happy to run it on the same machine and post the results along with the rest.

<comment><USER14> I also wonder why your java benchmark is slow. Java seems to be around 2-3x slower than C on average, this would make your optimized CL to be around 1.5x faster than C.

<comment><USER15> Define "slower". Languages don't have a fixed "speed" relation between them. Performance varies between machine, language, problem, and implementation technique.

<comment><USER16> Is any of that so remarkable that we should presume catch23 doesn't know?

A charitable response would help catch23 understand what's different about this one problem from what we can sensibly presume as common experience - <USER4> Sun Java, JVM trig functions.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Are people still calling Lisp slow in 2010? That was somewhat true when most programming was done in C. Plenty of languages slower than Lisp have risen to popularity since then.

<comment><USER18> Indeed, I thought it was always much faster:

[http://shootout.alioth.debian.org/u32/benchmark.php?test=all...](http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=python3&lang2=sbcl)

One of the guys behind R is also looking at moving to a LISP base after considering python:

<http://www.springerlink.com/content/v38u176xp7j562m3/>

That said, I will stick with python as I am not a programmer by profession and can't deal with a plethora of languages when I have a good swiss army knife as it is.

<comment><USER19> There are worse ones to pick.

</comment></comment></comment><comment><USER20> One interesting source of data is www.spoj.pl, since they keep records of the runtime of submissions to their site.

For example, take a look at the solutions to PRIME 1; the task is to generate a list of prime numbers: <http://www.spoj.pl/ranks/PRIME1/>

The top 20 C solutions all take less than 0.05 seconds. The top 20 Java solutions all take less than 0.5 second. Python has several solutions that took 0.55 seconds. But for Lisp, only one user was able to get it to less than 1 second, and then only barely.

There's not enough data to draw any real conclusions, but it does make me skeptical of claims that Lisp is near in speed to Java or C (any Lisp gurus who want to prove me wrong, feel free to code up a fast solution and submit it)

<comment><USER21> Actually, there is a solution that takes 0.52 seconds: <http://www.spoj.pl/ranks/PRIME1/lang=LISP%20sbcl>

</comment></comment><comment><USER22> I like the Lisp approach to optimize the program by adding hints to the runtime about types and the ability to tune the optimizer's aggressiveness from the code. It really makes possible to write the correct algorithms first, then later add appropriate optimizations simply by changing the optimized and unoptimized functions.

That said I think these kinds of benchmarks (and article titles) are misleading, because one who has deep knowledge in one language does not necessarily write good code in other languages. Even the article notes that "they are all just literal line-by-line translations of each other".

</comment><comment><USER23> Thanks, that's interesting. My own main optimization problem is always reducing the memory usage of large in memory data sets. I found that languages like Java and Python, which don't support structured value types and use references/pointers everywhere, are basically unusable for my my purposes.

Now, I wonder whether I could use Lisp for what I do. One basic necessity would be to have a way to define a structure like this

      struct s {
        int32_t x;
        int32_t y;
      };

and then create an array of that type as struct s a[size], which uses exactly size * sizeof(s) bytes in memory. A further requirement would be to have a library of data structures (balanced trees, lists, hash tables) that support storing such structs directly without using pointers everywhere.

Do you have any idea whether that could work with SBCL?

<comment><AUTHOR> I think you can do that - although I'm not entirely certain how much overhead a struct (defstruct) has. Array allocation has no overhead, to the best of my knowledge (if you specify the element-type, etc).

I usually don't code at that low level, but you might want to check out www.lrde.epita.fr/~didier/research/verna.06.imecs.pdf

</comment></comment><comment><USER24> In all seriousness, how does one start with setting up and learning how to program a CL web app?

<comment><AUTHOR> I'm glad you asked ;-) <http://blog.postabon.com/a-simple-lisp-webapp-for- beginners>

<comment><USER24> Great stuff thanks!

$Weekend--;

<comment><USER15> What platform are you on?

Let me know if you're on Win32 and I will package for you my setup, with a double-clickable installer, and your choice of Emacs or Win32 friendly IDE :-)

<comment><USER25> Even though I do 90% of my dev work in *nix, I'd be very interested in the emacs version of this (if only to satiate my geek hunger).

</comment></comment></comment></comment></comment><comment><USER26> The python benchmark is contaminated. Lots of <= checks, increasing variables, etc. Those things need to be left out of the timing. How about using itertools.product instead?

      for latA, lngA, latB, lngB in itertools.product(*[xrange(-90,91), xrange(-180,181)]*2):
          distance(latA, lngA, latB, lngB)

Not sure it's faster, but certainly more idiomatic.

Also, the 2nd python example doesn't work; you need to drop all the 'math.' and use radians, sqrt, etc directly.

</comment><comment><USER27> On my laptop - Ubuntu 9.04/Python 2.6.2

Python without Psyco : 522

Python with Psyco : 190

</comment><comment><USER28> How about benchmarking the python code with NumPy?

<comment><AUTHOR> My understanding is that you have to rewrite your code to take advantage of NumPy. Unfortunately, I've never used NumPy before, so I don't know how to do so.

However, if you'd like to modify my code to do so I'd be happy to rerun the test and publish the results.

</comment></comment><comment><USER8> Isn't it a much better idea to pick a distance comparison algorithm that's not so staggeringly slow to begin with? Why not convert (i.e. pre-compute) the lat/lons to 3-vectors (origin center of the earth) and then compare distances by pythagoras, no fuss, muss or trig and you can even skip the square root. If you need to display an actual accurate distance you can do the (significantly smaller amount of) trig to get something presentable.

<comment><USER29> It's valid if you want to understand what'll happen when you start getting random (lat,long) pairs thrown at you that you can't precompute.

<comment><USER8> His problem is 'i have a bunch of existing points, find and compare distances to new point'. Doing this by lat,lon and trig is known as one of the slowest ways to do it.

<comment><USER29> Um... no. From the article:

"I thought I'd demonstrate this functionality, with a bit of real world code. Postabon recommends deals to users based on a variety of factors such as the age of the deal, other people's votes, your preferences, and (relevant for this example) your distance from the deal. Most of the other factors can be computed asyncronously and just cached, but your distance from deals is computed a lot, and can't really be pre-computed since I have no way of knowing your location a priori (well, that's not strictly true, and we do do some memoization, but it has a relatively low hit rate)."

<comment><USER8> Yes. He has a bunch of existing points (the deals) and and a new point (user location). Deals are the known points, which can be represented any way you like. lat lon, vectors, cylindrical coords, you name it. The thing not known in advance is the user location. And don't umm... me. It's rude and stupid, especially when you don't seem to know what you're talking about.

<comment><USER29> Yup, you're right. I had my concepts in a twist.

</comment></comment></comment></comment></comment></comment><comment><USER10> Any guesses as to why the Java implementation is relatively slow? JNI boundary crossings for floating point arithmetic, or lack of use of the math coprocessor?

<comment><AUTHOR> I don't know, but it's much slower than I expected. It's the latest Java installable by apt on Debian (all these tests are run in Debian running under VMWare).

      $ java -version
      java version "1.6.0_0"
      OpenJDK  Runtime Environment (build 1.6.0_0-b11)
      OpenJDK 64-Bit Server VM (build 1.6.0_0-b11, mixed mode)

<comment><USER10> Dohhhhh don't use OpenJDK :)

Get the sun version, it's probably faster.

Although it may not be much faster, found this unfixed bug report: <http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5005861>

<comment><USER10> In more depth : the sun JDK probably does a lot better job of JIT compilation, it's the difference between running interpreted bytecode and compiled native code.

On the Hadoop project, checksumming was a major CPU constraint, because you have to assume every file everywhere is possibly on faulty hardware, and checksum everything. They found that it was actually faster to implement CRC32 in pure Java and let the JIT compilation do it's magic than it was to make native calls to zlibc.

But that may not apply to floating point if the Java implementation is bad enough.

</comment></comment></comment></comment><comment><USER30> And of course, Haskell can be faster than all of these.

<comment><USER31> Not always:

[http://shootout.alioth.debian.org/u32/benchmark.php?test=all...](http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=ghc&lang2=sbcl)

<comment><USER30> Of course. There are some benchmarks where Perl is faster than Java 6.

<comment><USER16> Why haven't you linked to them?

<comment><USER30> I want to discuss the nature of benchmarks, not which line of Java to change to make one program run one second faster.

</comment></comment></comment></comment></comment><comment><USER32> Another, probably more detailed article on optimizing Common Lisp code in SBCL:

[http://t-b-o-g.blogspot.com/2009/12/brians-brain-on-common-l...](http://t-b- o-g.blogspot.com/2009/12/brians-brain-on-common-lisp-take-3.html)

It highlights the importance of profiling code first.

</comment><comment><USER33> 1\. Looping with a floating point increment is silly here because you can't be sure how many iterations it takes.

2\. C translation takes 11 seconds (compare to 25.6 for SBCL)

<http://gist.github.com/288936#file_silly> distance loop

<comment><USER8> Changing the loop indexes to integers is sillier because it makes the program not only different from the original one but also slower.

<comment><USER33> Incorrect code is silly. It is not unlikely that the different languages are performing a different number of iterations in these tests, correcting that by being precise about the range to be iterated over is not silly. The integer indices here produce the behavior that seems to be intended by the `<=` comparison in the originals.

The speed difference is negligible since all but the inner multiplication is hoisted out, and each inner loop takes over 250 cycles.

<comment><USER8> The speed difference is hardly negligible especially when talking about benchmarks. It's actually about 15% on my OS X laptop, less but still measurable on a Linux server. Your change actually has a greater impact on execution time than off-by-ones in the iteration counts which don't really take place.

<comment><USER33> 15% is a bit higher than I benchmark, but here is a version that is guaranteed to do the correct number of iterations, increments in floating point instead of performing the slow cast, and is _faster_ than performing the comparison in floating point math (because it occupies a different execution unit). Note that it is also less accurate than the cast for most definitions of what this function might be attempting to measure.

<http://gist.github.com/288980>

</comment></comment></comment></comment></comment><comment><USER34> Is java known to be (about) 4x faster than python?

<comment><USER35> 4x is low:

[http://shootout.alioth.debian.org/u32q/benchmark.php?test=al...](http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=java)

Roughly speaking, anything time-critical needs to be done in c.

<comment><USER34> Thanks! You guys rock! Also, would you therefore guess most of Google's search engine is written in C?

<comment><USER35> I really don't know, but I would guess Google's search engine is almost all C/C++. When you are operating at that scale, it makes sense to invest huge programmer time for very small speed increases.

As to "normal" people, I do a lot of numerical computing using python+C. I end up with probably 90% of the code in python, and 10% inner loops in C. That's typically enough that the C code is taking, say, 50% of the time, at which it isn't worth it (for me) to move more python into C, since I could never buy myself more than a factor of 2 speedup.

</comment></comment></comment></comment><comment><USER36> Or you could, you know, use C++: <http://stevehanov.ca/blog/index.php?id=95>

<comment><USER37> I wish that blog post was a joke, as well as some of the comments there.

</comment></comment><comment><USER38> A couple of notes:

1.) A simple square macro will be faster than the expt function, because expt does special calculations for dealing with decimal exponents. All you really need to do is multiply it by itself. I think something like this:

(defmacro square (expression) (let ((symb (gensym))) `(let ((,symb ,expression)) (* ,symb ,symb))))

would work fine.

2.) you can turn degree to radian into a macro like so:

(defmacro degree-to-radian (deg) `(the single-float (* ,deg ,(/ (coerce pi 'single-float) 180))))

And avoid a couple of function calls and some multiplication. This way you also don't need to duplicate 'the single-float'...

On my machine, running clozure cl, this made it about 1/8th faster than the original optimized version.

3.) I was kind of wondering, could you do this sort of computation ahead of time for varying longitudes and latitudes, then store them in a table and do a simple look up and interpolation, instead of doing a lot of trigonometry (is this technically trigonometry?) at run time?

I'm not clear on the math exactly (whether it would work in this situation), but that sort of thing is done using pre-computed tables with fairly complex polynomial equations all of the time. In the case of a web app, it might be better to do this sort of thing (ram is cheap anyway).

</comment><comment><USER39> > All the benchmarks were run 5x each on the same Debian machine

I refer the honourable gentlman to Zed Shaw's "Programmers Need To Learn Statistics Or I Will Kill Them All"

<http://www.zedshaw.com/essays/programmer_stats.html>

<comment><AUTHOR> I'm actually a mathematician by training ;-)

I ran all tests 5 times each, and averaged the results. Each of the results for each of the tests were within 2% of each other, and the machine wasn't used for anything else while the tests were running.

I know it's not perfect, but I don't see any obvious sources of error ... I did provide all the source, so you're welcome to verify my results.

<comment><USER40> It shows, you are comparing optomized LISP with unoptomized Java and C. Java has a long startup process so it is relativly faster on 20 second benchmarks than sub second ones. As to C, it does what you tell it do do, so the compiler needs a little more handholding. I suspect LISP's compiler is not acctually doing the computations because they are never used, granted I have not really looked into it.

<comment><AUTHOR> I don't count the startup time for any of the languages (Java included). And the runtime for Java was over 2 minutes.

<comment><USER40> Wow, that is slow. Well java's pow function uses floats on the exponent so it would be a lot faster if you used a temporary variable, and then multiplied it by its self. Other than that I don't know, most of these math functions should translate to a single ASM function so I don't know why it's that slow.

PS: I would probably inline the C function, but that's not a huge deal. My point was each language has its own optimizations; the only way to compare them is to write reasonably optimized programs in each of them and compare that.

Edit: I think Java's sin functions are slower than the HW implementation but more accurate, which is irrelevant because you don't care but it's something to look into. I dislike Java for other reasons, but it's easy to make code slow which code that looks very similar runs a lot faster.

<comment><USER33> 1\. There is no C function.

2\. Inlining in an actual C implementation doesn't matter because there is no register pressure and each trig function generates a real function call. Function calls to known addresses are really fast (~2 cycles), even indirect calls are fast compared to transcendental functions (~ 6 cycles). For comparison, the C implementation takes ~260 cycles each distance computation. This can't be improved much without vectorizing the trig functions.

<comment><USER40> 1\. There is no C function.

What do you call _public static float distance(float latA, float lngA, float latB, float lngB) {_

As I said _but that's not a huge deal._ Yes it's not a major slowdown, but a tight inner loop with a function call is begging for an inline.

<comment><USER33> > import java.util.Calendar;

might be your first clue...

> but a tight inner loop with a function call is begging for an inline.

The loop body makes several other function calls, you would be very hard pressed to measure the difference. And if it was a C function in a larger project, you probably wouldn't want to inline it because that would slow your compile times and cause you to lose modularity (i.e. you'd have to rebuild all client code rather than just update the DSO when you optimize the distance function). This function does enough work that it doesn't deserve to be inlined.

<comment><USER40> Yep, sorry, I was not really paying attention and saw what I was expecting to see.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: Starterpacks – discover hobbies and more with community created packs - <AUTHOR> https://www.getstarterpacks.com/ <comment><USER2> FYI doesn't look like I can sign up on iOS Safari, tapping signup just closes the menu right now.</comment>


Kids who spot bullshit, and the adults who get upset about it - <AUTHOR> http://www.badscience.net/2011/06/kids-who-spot-bullshit-and-the-adults-who-get-upset-about-it/ <comment><USER4> This is also infuriating when it comes to medical knowledge and dealing with doctors. I personally know someone who had a uncommon disease and he did extensive research looking at articles published in journals and science/medical books. However, almost every doctor he went to dismissed him and laughed at the idea that he could possibly know what he was talking about. Most of them don't deal with the uncommon diseases and refuse to believe it when it is in front of their eyes.

It wasn't until he got into touch with a scientist who did research into the same disease he had that they were finally able to convince doctors to take a closer look and start receiving treatment. Turns out he was right but had to suffer for a few years because of the arrogance of a few "professionals".

<comment><USER5> That's true but hopefully not too common. In medical school, when it comes to diagnosing conditions, we are taught "When you hear hoofbeats, think of horses, not zebras". Fortunately there is a wealth of information available to patients online which can help them when working with their physicians in dealing with uncommon medical conditions. There needs to be a much better way to sort through it all however.

<comment><USER6> In my experience, almost every single doctor will not only talk down to patients who know something, they will also put them in the "crackpot hypochondriac" bucket. Further, most of those I've seen are not even scientists: sure, they have all the knowledge of a good medical training and can deal with common and emergency situations exceptionally well. But anything more than that and it's time for rampant lack of logic and stock recommendations that have already failed to work.

<comment><USER7> _Further, most of those I've seen are not even scientists:_

I've been disappointed by this realization a couple of times. Finally, it dawned on me. Doctors _aren't_ scientists. They're not supposed to be. They are technicians. They look in a service manual, pick a likely problem, and do the hotfix. If its not in the manual (or the part they have memorized), they're done.

Medical research and medical practice are two entirely different animals.

<comment><USER8> Of course doctors aren't scientists, but comparing them to a "technician" is a horrible analogy. Doctors go through intense schooling and have a very deep understanding of all parts of the body. Your analogy fits more closely to a nurse, someone with very basic symptom/problem repertoire - not a dr. who knows what and WHY things are happening.

I've also never heard of a doctor being "done" - when have you encountered this? They may not be able to diagnose you immediately but they do research in other resources to help diagnose.

<comment><USER9> I agree with noonespecial about the technician statement, but sense that you regard that as an insult. Every good technician I know has an great understanding about the "item" they work on. I have a lot of respect for good technicians of all stripes. Doctors don't build new people, they repair, maintain, treat, and fix them.

As to a doctor being "done". Yeah, I have heard that in government provided (USA) health care settings. It happens, and it gets much worse the later in the budget year your are ("Don't get sick after June").

<comment><USER8> Sure doctors "fix things" but that's an oversimplification of their jobs. It's like saying rocket scientists are like construction workers because they "build things". There is a vast difference in the knowledge/schooling required. I didn't think the simple analogy as a doctor/technician as an insult as much as the description of their duties (1. Look in manual, 2. Hotfix, 3. If not there, done) - this is insulting whether describing technicians or doctors.

And no, doctors aren't "done" when the problem isn't in the manual. You're referring to something completely different, "I don't have money or healthcare and expect you to work for free". Maybe they're like technicians after all.

<comment><USER9> I guess I don't believe a definition of a real technician is simply someone who looks in a manual to fix thing. I believe technicians of all stripes need knowledge and a good feel to fix things. I think your definition of technician is limited and does disservice to a wide variety of professions.

"I don't have money or healthcare and expect you to work for free" - no, the USA was paid in land via treaty, so the bill was paid.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> <aside>

If you read reddit, Digg or any other social news site, the format for stories like these seems to always be:

1\. Some "obviously" stupid decision. 2\. Some bureaucrat that made it. 3\. A critical article talking about how obviously stupid this all is and how stupid the bureaucrat(s) are. 4\. The implication that the writer (and the reader) would never make that "mistake".

Some of the articles are justified, I'm sure. I have no idea if this one is... I don't have all the facts. I wasn't sitting in the room was the decision was made, I don't know what the reasoning was.

All I know is that the frequency of these stories is absurd.

If we were all so smart all the time and everyone else that wasn't us was so dumb all the time and in desperate need of correction, I don't think the world would function.

Generally speaking (again, not specific to this story) I think we all need to cut each other some slack. What _good_ are these expose articles really doing? Is the world getting any less dumb and more in-line with my expectations of humanity?

No

Is the embarrassment of articles like this helping to decrease the occurrence of stupidity?

No

Are articles like this improving the discourse between groups?

No

The negative carpet-bomb article style, something I'm certainly guilty of, is something that I hope dissolves as we move forward. It's done nothing for actual coverage and in certain areas, like political debate, it has made the topic almost unreadable to me.

<comment><USER11> For all of your "no" points, can you please provide some proof? We _are_ getting smarter - when you need water for your crops, do you dance, or do you install an irrigation system? Extreme example, but, well.

<comment><USER10> pavel, that's a fair point. Those were a bit too broad of brush-strokes I painted.

What I was masking is my internal frustration with how fundamentally un- accepting we are of each other's differing opinions in popular culture/media now. I can't remember the last political debate I saw on TV that:

1\. Actually answered the question and didn't just hit talking points. 2\. Constructively analyzed the differences of opinion.

I am sure there are pockets of civil debate and I don't want to wave-away the folks that are making an effort to. I should have been more honest about what I was critiquing.

<comment><USER12> It's possible to overdo "civil", though. Consider the belief that the sun orbits the earth: a televised debate in which several accomplished scientists respectfully engage some crazy is civil and will teach the average layperson something, but it gives the belief far too much credibility.

Even with the extra information, the layperson may consider it more probable that the sun orbits the earth after the debate, which means that the general belief is _less_ accurate afterwards.

[Yes, I'm aware that we live in a relativistic universe in which the sun is no more the center than the earth or any other point; but you get the idea.]

</comment></comment></comment></comment><comment><USER13> The point of the article - that kids have a bullshit detector - reminds me of a great article in The Age that I read years ago.

The writer was given a hard time for bullshitting his young nephew and his response was that "It's important to bullshit kids, so that they don't grow up trusting adults". He maintained that you had to tell kids stuff they would find out later was fake, so that they developed scepticism. Otherwise, they would swallow adult dogma as fact.

He was honest with kids once they pushed past the first barrier (Uncle Joe, you say you landed on the moon, but I checked and you are aren't on the list) and he said that was his duty to teach them to not accept things at face value, no matter what the authoritative source.

<comment><USER14> Could these lessons be taught without the negatives here? For example, could Uncle Joe tell the kids about _his_ uncle who said he landed on the moon?

<comment><USER11> What's the negative? He's teaching them that not only do you need to call people out when they're wrong, but especially when they have something on the line, or because they might be offended.

<comment><USER14> I'm not an expert on affect or children, but it does seem kind of mean. That would be the negative: the youth's possible feeling of betrayal or a negative effect on the relationship with the kid.

<comment><USER15> As a kid, it was frustrating to be BSed, but not really to the point of feeling betrayed. There was a big difference in how I felt when someone was just having fun at my expense vs. when they lied to me "for real".

</comment></comment></comment></comment></comment><comment><USER16> Luckily for me my parents supported my constant questioning of nearly everything. Neither were very religious, but my mom did go to church and made me go to Sunday school and church. Eventually I was thrown out of Sunday school for asking too many questions [1], and at that point laid out a pretty good argument why it was a waste of time for me to continue to go to church. That was the last time I was a part of any organized religion.

[1] "The bible says so" is simply not a good enough answer - ever. To me a much better answer is simply that a person wants something beyond themselves to believe in even though they know they will not ever prove it to be true. I may disagree with that, but I can respect a person who is honest with themselves.

<comment><USER17> > _[1] "The bible says so" is simply not a good enough answer - ever._

Axioms are fine in logic, mathematics, physics, ... so why not elsewhere?

It's certainly an unsatisfying answer.

If however you assume for a moment that it portrays the will of the Creator then The Bible saying so is no worse (or better) than the fine-structure constant not having a logical derivation as to it's value.

People trying to give a reason for a Biblical injunction have, I suspect, often not discovered the reason the Creator made things one way or another but are really just speculating. Like one might speculate why a universe might have a fixed light speed _in vacuo_.

<comment><USER18> The fine structure constant is not axiomatic; its value and its contantness are experimentally testable.

Axioms are not "fine" in math or science except under very specific circumstances.

<comment><USER17> > _The fine structure constant is not axiomatic; its value and its contantness > are experimentally testable._

Yeah, I plucked a little too randomly perhaps - the point there is not that it is axiomatic (which I didn't claim) but that it is an arbitrary value; indeed it is a complex of arbitrary values that apparently define the physics of our universe somewhat.

Why is it that value, well, er, just because (or some version of the anthropic principle if you swing that way).

<comment><USER18> "...arbitrary values that apparently define the physics of our universe somewhat."

In other words, this constant is a piece of a model, fitted to observable behaviour, subject to refinement based on empirical data. And the model may at some point be able to offer insight as to _why_ things are as they are; "just because" is not viewed by most physicists as a permanent explanation.

This is the exact opposite of religious thinking which offers conclusions in advance of, and regardless of, any empirical data.

My point is that the parallel you're trying to draw between religious prescription and the things that scientists call "axioms" is not valid.

<comment><USER17> > _"just because" is not viewed by most physicists as a permanent explanation_

Why do you suppose this is any different for a Christian physicist, say, than for any other physicist? That aside I imagine that many physicists hold to a form of Anthropic Principle which almost fits the definition of "just because".

As an agnostic I always felt that God was the cop-out answer that replaced "we don't know". As a Christian not knowing everything still frustrates me but knowing now that within our current knowledge it is provable that not everything is knowable softens the blow of that somewhat (Godel, Church- Turing, etc.).

> _religious thinking which offers conclusions in advance of, and regardless > of, any empirical data_

You suppose that religion is false to state your position, of course you do, but if you suspend your supposition then you see that religion 'offers truth in advance of reason'.

Christians generally, IME, don't say that God exists as the conclusion of a logical argument it's presuppositional in the same way as assumption of the validity of ones own sense data, or the assumption of ones actual self or of an external world.

Christians take that 'Christ died for our sins and was resurrected to heaven' and live by it and find that it works. Physicists take that 'c is constant for all observers' and live by it and find that it works. Obviously 'it works' means many different things both to the Christian and to the scientist (coherentism, instrumentalism, etc.).

<comment><USER18> "...if you suspend your supposition then you see that religion 'offers truth in advance of reason'"

This statement is a tautology, and also completely beside the point. It matters not whether a belief held religiously is _actually_ true. By definition, a belief held religiously is held without regard to reason or evidence. The extent to which reason and evidence intrude is the extent to which faith is obviated.

This entire process, this way of thinking, is and should be entirely alien to science. And the anthropic principle is not science. It's not even a principle -- it's conjecture. It's not testable, not falsifiable, and it has no material effect on any scientific research, influential though it may in philosophical terms.

Your last statement is ..., it's ... no. Just, no. There is nothing alike about those two things. The constant c is, again, eminently isolatable in experiment, quite testable, and part of part of a quite falsifiable theory. The statement that following Christ has worked well for your life, even if true in whatever sense you like, is everything science is not: anecdotal, unfalsifiable, and untestable if only for the presence of millions of variables that cannot be isolated, controlled, or even known. You're conflating two completely separate things.

btw, I'm a big fan of this anthropic jazz. It is aesthetically pleasing to me, like the thought of any finely crafted machine, but it is in no way shape or form scientific.

<comment><USER19> It's worth pointing out that a religious belief is not the same as a belief held religiously.

A reasonable Christian would believe that God created the world in 6 days, but also believe that species have evolved to what we have now.

A dedicated atheist would believe religiously that there are no gods, even if she were standing in front of Thor.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Heh, I love it that kids have so much faith in people. Eventually they'll figure out that some people are not overly concerned with reality and do not allow it to interfere with the pleasure of believing exciting or gratifying things. Many people live their whole lives in suspension of disbelief, like you or I live when reading a novel or watching a movie.

No one who could be reached by evidence or argument believes in things such as Therapeutic Touch or "Mineral Miracle Solution" anyway, so there is no point in gathering evidence or presenting an argument. It's okay; humanity will survive despite them. The concrete problem here is that we do not respect education as a profession, so we have allowed it to be infested with dingbats and morons. Pay teachers a salary that reflects their importance to our society, scale pay according to rank and performance instead of seniority, and attract some worldly, intelligent people into the profession to displace the dingbats. As for the silly and vapid parts of the internet, let the dingbats have them.

<comment><USER21> Don't forget being able to fire the terrible teachers. The practice of giving lifetime tenure after two years needs to end.

<comment><USER22> How do you define terrible? Test scores? Parental opinion? Student vote? Passing grades? Ability to babysit kids?

<comment><USER21> Learning is obviously hard to quantify, but some teachers are much better at inspiring and helping children to learn than others.

But that's a high bar. Currently the bar is far below that, with many teachers obviously phoning it in to anyone paying attention. They can't be fired, and that's the problem I was talking about. I went to an excellent public school, and I was tiered with the 'smart kids', so I generally had relatively good teachers, and some that were absolutely excellent. Even there, though, some were blatantly awful, and should have clearly been fired. I took a couple of non-"Gifted and Talented" classes, and the teachers there were a good bit worse on average. Some seemingly knew less about their subject than some of their students, and taught things that were just false in some cases.

It's demoralizing to have terrible teachers. A few terrible teachers, and it makes kids restless and bored during the school day. Talent/quality density is important in many organizations, and schools are no exception.

The stakes are a good bit higher, though. It's cliched, but the kids in schools do form the base of the country's economy a few years down the road, and if a high percentage of them can't do much more than manual labor or service work because they weren't inspired and decided that learning sucked, the US is screwed in the long term. None of the benefits of a teacher's union are worth the risk they're creating. It's really important that we not throw our hands up just because we can't objectively measure them. As dkarl says, it works in other professions.

<comment><USER22> > It's really important that we not throw our hands up just because we can't > objectively measure them.

Straw man much?

Avoid the question? You wrote a lot, but said absolutely nothing.

By what measure should we measure teachers? It's easy to say "get rid of terrible teachers," but if you can't define it, then you are back to square one.

I'm not the one throwing my hands up. You and dkarl are basing saying one thing: "Fire bad teachers." I asked you to define bad, and you merely respond with: "You have to fire bad teachers."

So, I'll try again: By what measure should we measure teachers? Test scores? Student performance? Parental voting? Secret peer ballots? Teacher testing? School board review (which pretty much amounts to parental votes)?

<comment><USER21> You're trying to find an objective/standardized measure of performance, and I was trying to illustrate that it's not necessary. Most of that crap is talked about because the situation has gotten to the insane point where one needs concrete evidence of failure to fire a teacher. That's not needed in almost any other profession, and it shouldn't be necessary in education.

All that "saying nothing" was trying to illustrate anecdotally that it was obvious to anyone who actually watched the classes who needed to be fired.

If one gave absolute firing power to every principal, minus the ridiculous hoops they have to jump through and conditions that need to be met, they would undoubtedly take care of the worst offenders quickly and accurately. That alone won't get us to uniform excellence, but it would be a very good start. That's why I was harping on the inability to fire bad teachers.

</comment></comment></comment></comment></comment></comment><comment><USER23> rkalla's comment about the "negative carpet-bomb style" that this article follows got me thinking: The story focuses on something that seems ridiculous when taken out of context - and no doubt reminded many HN readers of various childhood memories (including me). But it brings up the following question:

What is the best way to go about teaching children of greatly varying abilities/talents/developmental speeds? If you put 2 or 3 really smart and talkative "bullshit-detecting" kids in a class of 25 other regular kids, will all their BS detecting help or harm education of the other 25 kids? If teachers end up allocating a large portion of class time to the 2 or 3 smart kids, wouldn't this detract from teaching the other 25? (And I have to say, I'm at the moment thinking back with embarrassment at the number of times I pointed out exceptions that rendered a teacher's assertion incorrect - <USER2> this a good use of classroom time taken as a whole?).

In reality, public schools teach to the middle. It could be that most kids aren't ready to learn independent thinking skills before age 15 or so, and that trying to encourage this is just a waste of time. Or perhaps it could be taught to all at an early age. I don't know, but it's an interesting question.

In my mind, there's an obvious solution which is to some extent already done. Segregate the bright, BS-detecting kids into classes more appropriate for them. Encourage them to continue along their path of independent thinking and accelerated learning without disrupting the education of those in the middle.

<comment><USER24> I will join your gentle threadjack, because it runs along an interesting tangent.

I think a lot of schools give lip-service to segregating "advanced" students but miss the point of the exercise. I was placed in an accelerated maths class at school. The school determined which students were ready to learn more advanced mathematical concepts by test grades.

Long story short, the class was generally filled with unquestioning swots who could complete hundreds of worked examples according to the textbook but had no critical analasis skills whatsoever.

When the "advanced" class is seen as a bonus option available for successful students, unfortunately teachers aren't inclined reward the BS-detecting students, who have questioned their authoritah too many times.

<comment><USER23> Good point. One way to address your point is to try to understand what is appropriate for each kid at the age of 5-6 and slot them in the right school before it's too late. See my reply below.

</comment></comment></comment><comment><USER25> So it strikes me that part of the issue is that most (certainly not all) education professionals have a different and non-scientific perspective. This presents large problems because the larger society needs kids to grow up with an appropriate understanding of critical thinking.

The vast majority of school administrators don't actually care that much about helping kids become thoughtful, independent people. Their incentives push them to produce kids with core "skills" and achieve various financial objectives. Evidence-based evaluation of commercial pedagogical methods can run counter to the administrators' interests.

Which just means that these kids are working in the finest traditions of scientists throughout history.

</comment><comment><USER14> The free, short ebook "On Truth: The Tyranny of Illusion" has some insights on the issues of respect, control, authority, and conservatism, especially as it relates to minors. Highly recommended read: [http://www.freedomainradio.com/FreeBooks/OnTruthTheTyrannyof...](http://www.freedomainradio.com/FreeBooks/OnTruthTheTyrannyofIllusion.aspx)

The authority/truth mismatch is something that (especially) the first chapters of #HPMoR deal with, as well as rational thought and scientific inquiry (which the end of the linked article gets into):

> _"You think you have what it takes to be a scientist in your own right, with > or without my help? Then let's see how you investigate a confusing > phenomenon."_

> _"I..." Hermione's mind went blank for a moment. She loved being tested but > she'd never had a test like this before._

Read it: [http://www.fanfiction.net/s/5782108/1/Harry_Potter_and_the_M...](http://www.fanfiction.net/s/5782108/1/Harry_Potter_and_the_Methods_of_Rationality)

This article also reminds me of some hurtful moments from my youth. Once, in high school, I was almost kicked out of the house merely for attempting to have a reasonable, rational, calm discussion about a parental rule, despite being told the "conversation" was over. (Perhaps "monologue" fits better.) Then a few short years later, I was told I could no longer come home for Christmas as I no longer shared my mother's faith. (A lot like this, except for my age: <https://www.youtube.com/watch?v=3mcOIyf9TOQ>) Sure, lots of teens had it worse than I did, but this kind of thing is extremely hurtful, and really put a damper on my relationship with my family.

Kids who spot bullshit, and the adults who get upset about it, indeed.

</comment><comment><USER26> I was one of these once! Too bad the pay isn't very good...

<http://www.thinkpress.com/authoritas/index.html?page=66>

Seriously, getting the truth makes for occasional good press, but not a good career, and this is a problem. It's typically much more financially rewarding to be the guy selling industrial bleach to patients with Crohn's, which is why our world looks the way it does, with Groupon legally stealing and Sequoia investing in grilled cheese.

<comment><USER27> "Groupon legally stealing"?

</comment></comment><comment><USER28> There are many non-religious people who quietly carry a burden.

For me, it happened when I was young, and in light of 'adult guidance', the guilt I felt for my alternate vision of the world was intense.

<comment><USER29> > the guilt I felt for my alternate vision of the world was intense

Man, I feel you on that. I grew up in a religious household but started going, "seriously, over an apple?" when I was quite young. The responses always distilled down to my not having enough "faith."

</comment></comment><comment><USER30> Kids can spot bullshit, but how often do adults spot bullshit and have less power to do something than the kids cited in the article did. This article is cool because it gives specific examples of children wading through the muck to deliver the truth when that's something that all of us wish we could do in our different contexts.

</comment><comment><USER31> Reminds of when Mrs Mevec told us in 8th grade that sound traveled through space. I objected, because sound is just vibration of molecules and space is fairly empty. I was wrong, she told me. And then many of the students mocked me as well.

Just because someone is an adult and you're not doesn't prove a thing. Neither does having every other person disagree. The evidence may still be on your side.

</comment><comment><USER32> Does anyone have any good recommendations for teaching the 'methods of rationality' to a 12 year old?

<comment><USER33> Harry Potter and the Methods of Rationality: [http://www.fanfiction.net/s/5782108/1/Harry_Potter_and_the_M...](http://www.fanfiction.net/s/5782108/1/Harry_Potter_and_the_Methods_of_Rationality)

<comment><USER32> Thanks. I really enjoyed reading that fanfic, but I don't think it will appeal as much as a teaching aid. My current plan is to go through the 'How To Actually Change Your Mind' sequence on Less Wrong ( [http://wiki.lesswrong.com/wiki/How_To_Actually_Change_Your_M...](http://wiki.lesswrong.com/wiki/How_To_Actually_Change_Your_Mind) ), and distil that for my daughter. I want something that's systematic, a canonical list, if there is such a thing.

</comment></comment></comment><comment><USER34> Well, _that_ was worthless.

So it's an opinion piece, that kids have a "bullshit detector" of some kind. Fine, have that opinion. But look at the counter-arguments: Santa Claus. Easter Bunny. Generally-unquestioning adherence to parents' religion. Etc.

Sure, once they start thinking for themselves more, they start to find inconsistencies. Adults, of course, do nothing of the sort. They're not the cynical, doubting types, no siree.

So, cherry pick a couple high-profile success stories and project to the population as a whole. _This_ is high quality content, apparently, as it has over 200 votes. Maybe people are just voting on the concept, as _everybody_ has encountered someone getting upset over being told the truth?

</comment><comment><USER35> placebo paradoxon ...

if you read this research <http://www.ncbi.nlm.nih.gov/pubmed/17893311>

which decision is more rationale?

A: choose conventional therapy because acupuncture is no more than a placebo ( verum or sham was almost similar effectiveness)

B: choose acupuncture because effectiveness of acupuncture, either verum or sham, was almost twice that of conventional therapy

Which do you prefer? Science Based Medicine vs. Effectiveness ?

<comment><USER36> Another question is whether these studies show that any doctor can provide acupuncture services without training in TCM. All your doctor needs to do is insert the needles randomly. In fact, pressing with a toothpick may be enough to cause the placebo effect associated with sham acupuncture.

Finally, how much would you pay for the "service", knowing what you do from the literature?

<comment><USER35> >All your doctor needs to do is insert the needles randomly.

be careful with random acupuncture points ...

 _"If a woman in China is pregnant with a second child, or in numerous cases, if the couple knows the first pregnancy is a girl, the couple will go to the medical clinic for an abortion. One common method of abortion is simply to use strong acupuncture point stimulation of San Yin Chiao (SP6) in conjunction with He Gu (LI4). The abortion is generally realized within 24 hours."_ [http://www.dynamicchiropractic.com/mpacms/dc/article.php?id=...](http://www.dynamicchiropractic.com/mpacms/dc/article.php?id=31656)

</comment></comment></comment><comment><USER37> I read the article and skimmed the front page of the site, but had to click away- this kind of stuff is infuriating and depressing at the same time.

</comment><comment><USER38> I hope we do indeed achieve and maintain reduced friction / inhibition of access to information. So that, for example, bright kids do not wait years to get into an environment that simply lets them proceed at their own pace, not to mention receive encouragement.

And find some interesting, challenging communities in which to participate.

</comment><comment><USER39> What is not science is either art, philosophy or marketing.

</comment><comment><USER31> "In questions of science, the authority of a thousand is not worth the humble reasoning of a single individual." - <USER3>

</comment><comment><USER40> I couldn't watch the video on Youtube because I'm in Belgium, apparently. Are there any alternative sources?

</comment><comment><USER41> "...this video is blocked in your country..."

<comment><USER42> It's just a Whitney Houston music video, not directly relevant to the article content.</comment></comment>


How to setup and use parallel computing for R using RStudio in AWS in 5 minutes - <AUTHOR> https://blog.sicara.com/speedup-r-rstudio-parallel-cloud-performance-aws-96d25c1b13e2 <comment><USER2> R really is the best language for data science. Was looking for such a tutorial to scale things up, thanks!</comment>


Amazon makes good on its promise to delete "incentivized" reviews - <AUTHOR> https://techcrunch.com/2016/11/23/amazon-made-good-on-its-promise-to-delete-incentivized-reviews/ <comment><USER2> Amazon is now at 50% of sales being third party listings.

Aside from the review mess, the quality level of the 3rd party listing themselves, customer service, shipping speed, and products...is really hurting them. And, of course, separately, the issue of counterfeit products.

My non-techie friends are taking notice.

Amazon really needs to deep dive into this before they hurt their brand in a way that's hard to recover.

<comment><USER3> I recently ordered a cheap product from a vendor in china. As I found out later this vendor has 99% negative reviews that all say the same: money taken, product not delivered, and this has been going on for months. At least I got my money back after a comlaint. I find it unbelievable that you can scam for months and still be a vendor on amazon.

<comment><USER4> Not sure why you single China out. It can be any vendor. I bought an intervalometer for my camera for $30 2 weeks ago. Took 8 days. Works great. Done the job. Chinese brand and shipped from china.

Bought some clothes from UK. Never arrived. Amazon refunded.

Amazon is great. But any vendor can be as dodgy as any eBay seller.

<comment><USER5> This.

RS and Farnell in the UK use parcel force and UPS respectively. The success rate for me is higher on stuff shipped from China.

I've had some stuff from Leeds to London end up in Belgium for two days.

<comment><USER6> Farnell seems like a weird vendor to pick out as being slow or unreliable. I've always been amazed by the delivery of stuff I've ordered from Farnell - often you can order it at 7.50pm and it'll be there the next morning. In fact in probably 50+ orders I've never had one go missing or arrive more than a day late.

</comment></comment></comment></comment></comment><comment><USER7> The days when I thought of ordering from amazon as a hassle free experience are long over. I now largely think of Amazon as a more expensive AliExpress.

a. Their search is broken.

b. Same item is listed by different sellers as different SKUs.

c. You cannot rely on reviews anymore.

d. You cannot filter by merchant and rely on receiving an item that is genuine since Amazon will comingle inventory from multiple merchants for the same SKU. Ie buying a product from Amazon has no guarantee that it is actually an item stocked by Amazon.

e. Their price competetiveness appears to have eroded. Best Buy etc no longer feel like a complete rip off in comparision.

f. Other retailers (Macys etc) have much more hassle free return policies.

Prime is the single thing that Amazon gets right in the whole selling experience - which is why I now think of Amazon as more of a logistics company than I do as a retailer.

<comment><USER8> All your problems can be addressed by filtering by items that are sold by amazon, and not buying from 3rd party sellers.

I can buy the complaints about Search (though really it's a problem of having too much selection). However, I've had universally positive return experiences, so I have no idea what you're on about there.

<comment><USER7> Please see point d. Specifying Amazon as the seller merchant does not mean what you think it means. Let me give an example in the form of a question / answer

a. If Amazon sells a 64 GB Sandisk card

b. Merchants A and B also sell the same card

c. Merchants A and B have opted into the fulfilled by Amazon program.

Question: You purchase the 64 GB Sandisk card and pick Amazon as the seller. Whose inventory did the card come from?

Answer: Undefined.

For semantic purposes we can think of the following mental model - For a given SKU Amazon takes the memory cards from its own inventory and inventory from all other resellers who have opted into the "Fulfilled by Amazon" program (in our example A and B) and puts it together in a giant heap in its warehouse. When a order comes in a card is picked at random from the heap and shipped out to you.

<comment><USER8> Answer: Amazon's

If you buy the one that's sold by Amazon it will come from the stock that's bought by Amazon.

<comment><USER7> That is not what this article claims =>

[http://www.wsj.com/articles/on-amazon-pooled-merchandise- ope...](http://www.wsj.com/articles/on-amazon-pooled-merchandise-opens-door- to-knockoffs-1399852852)

Do you have any sources which specify that Amazon treats it own inventory seperately?

<comment> nommm-nommm They have no reason to. The idea of commingling is they can pick the best warehouse to ship from when a customer orders instead of (potentially) shipping across the country. They actually like commingling because it helps their logistics.

</comment></comment></comment></comment></comment></comment><comment><USER9> Amazon needs to also stop disallowing bad reviews. I put up a bad review once, with no profanity or anything obviously worthy of rejecting other than a bad review of a product, and they refused to post it citing something "against their policy". All I can think of is the fact that i accused the product of being a fake/counterfeit which was most certainly true.

Of course the real moral of that story is never buy anything made of any kind of fabric from a China seller. You'll get something 2 sizes too small and only roughly similar to what you saw in the picture, and in my experiences anything you think you're getting from China which is a "name brand" will indeed be a knock off (fake) one.

<comment><USER4> I've had bad reviews rejected because they mentioned things unrelated to the product. If I do a negative 1 star review on the product, never had the review rejected.

</comment></comment><comment><USER10> This thread has given me a big lack of confidence in Amazon as a retail outlet.

I see a lot of "you're problem is solved by doing X", and maybe that's fine for me if I care to remember the advice but I'm not the big spender in my family, and I certainly don't care to put in the effort to keep up-to-date on how not to get screwed by shopping at a particular website.

From what I can tell, there's are issues with fake reviews, fake vendors, and counterfeit products being commingled with genuine products. Why would I put myself in a situation where I know any of these are potential problems?

Add to that when I have had problems with Amazon, the support channels have historically been unclear and they have an extraordinarily poor reputation for how they treat their employees.

What is the logical path that would make me want to spend my money with this particular vendor?

</comment><comment><USER11> Two thoughts:

(1) It's always been standard practice in the publishing industry to provide free Advanced Reader Copies (ARCs) to reviewers, and I've noticed that many independent ebook authors on Amazon have adopted this practice. Am I to understand that Amazon will now disallow providing ARCs to book reviewers? Because that would fly in the face of standard industry practice -- a practice that I think very few people have ever complained about over the years.

(2) Isn't this exactly what the Amazon Vine program does? I.e., provide free products to people so they can review them? Are they stopping Vine? (Maybe they already did.) Are they admitting that the Vine program led to inflated reviews?

<comment><USER12> Amazon seller here- Amazon Vine costs something like 4k per SKU. That makes it dead to most sellers.

</comment></comment><comment><USER13> Are there sufficient number of good engineers left with Amazon yet? I wonder.

Look at their search quality. Terrible even at its best. I searched for laptop and wanted to see the cheapest so selected "sort by Price low to high", lo and behold, I was flooded with a never ending list of wired and wireless mice, keyboards, usb cables, and what not. I had to click on multiple pages before I could get to the first laptop entry.

This is ridiculous or do they prevent their engineers for experiencing this pain?

They are better off outsourcing their search problem to Google, just as Apple learnt to outsource the maps problem to Google. No offense intended.

</comment><comment><USER14> Amazon has lost a lot o appeal lately. Since they moved to Amazon Logistics from DHL here in Berlin, I had several lost or non delivered items, items were delivered at 8pm to a business address or on Saturday - this all being a Prime customer. Working with customer support was a pain.

Several people I know - including me - wish for a real Amazon alternative, and I've been a customer right from the beginning spending 90% of my online money at Amazon.

<comment><USER15> Sounds a lot like the OnTrac carrier in the Bay Area. One time they left a package for me at the _Subway_ next to my building.

I stopped using Amazon same-day shipping (even when offered for free!) because it almost always used OnTrac and I would have about a 50/50 shot of actually getting the item the same day.

<comment><USER16> I've stopped getting any expiedated deliveries from Amazon via OnTrac sometime in the last year in SF proper. I think they've shifted it to in-house logistics (I think via Prime Now ICs or via Prime Fresh trucks).

</comment></comment></comment><comment><USER17> Good move, but the damage has been done. My recent product search have 'incentivized' reviews and it has been very hard to make any decisions, so I have been double checking the reviews from other sources. Due to this, I also found that Amazon prices are no longer competitive and my recent purchases have been via Target with either free shipping or local store pickup with cheaper prices.

</comment><comment><USER18> I bought a bunch of crap on Amazon based on these reviews. I feel lied to and it will definitely make me rethink next I recklessly binge purchase items based on the star ratings.

</comment><comment><USER19> IMO. Amazon.com has became a poor ebay.

On Ebay, it's clear that you're only buying from a 3rd party seller and you can see who it is and what's his reputation.

<comment><USER2> That's a good point. On amazon, you have to know to click on the seller link to drill down to reputation. EBay has that information front and center on the listing.

</comment></comment><comment><USER20> One of my hobbies when bored is to look at (unusually) expensive items on Amazon (say, a GBP 40K Hasselblad camera) and all their reviews. 99% of the reviews are jokes, all of the same predictable form: 'I spent my life savings on this, now I live in the box it came in'; 'Such good value I bought ten'; or attributing ridiculous properties to the product. [1] I then flag each review as inappropriate, and mark them as unhelpful.

I know this is not going to fix the problem, unfortunately. I just find these puerile attempts at humour rather sad and don't understand why they are tolerated; both by Amazon and even other site users, who mark the reviews as helpful, and comment approvingly. Amazingly, some of the approving comments are even voted as helpful. I guess that everyone who can afford to spend GBP 20K on a TV are probab;y not influenced by reviews.

[1] [https://www.amazon.co.uk/review/R2DQ4KXJL8RIJR/ref=cm_cr_rdp...](https://www.amazon.co.uk/review/R2DQ4KXJL8RIJR/ref=cm_cr_rdp_perm?ie=UTF8&ASIN=B00N8V3RS0)

</comment><comment><USER21> In the past couple of weeks, I've searched for several categories of items on Amazon: umbrellas, paint brushes, and acrylic paint. Almost every product's page was dominated by five-star incentivized reviews.

</comment><comment> i-think In order to make this claim, Amazon, TechCrunch, and the researcher they cite must be able to accurately identify the population of incentivized reviews. How is that possible?

Incentivized reviews, if I'm using the term correctly, are designed to be indistinguishable from 'real' reviews. The reviewers aren't going to reveal which ones are incentivized.

If you think you can identify them, what you mean is that you can identify the ones that you identify; it's literally that much of a tautology. You have no idea of your accuracy, how many true and false positives and how many true/false negatives.

What Amazon is done is the same; they remove reviews that meet certain criteria. Amazon claims the criteria are an accurate proxy for incentivized reviews but I doubt they can confirm that.

At best they are raising the bar so that only better written incentivized reviews remain, and incentivized reviewers will adjust to the new standard. Users, no longer seeing incentivized reviews that they can identify, will assume the situation has improved. Really, they are still being conned but now don't know it.

</comment><comment><USER22> It's funny how whenever the topic of machine learning comes up Amazon is mentioned as a world class leader. However, their search is quite poor as many have mentioned. It still seems like "search" is a technically hard problem to get right.

</comment><comment><USER23> Naive question - Does anybody know how the Amazon reviews datasets available online have been generated? Is it web scraping? (on millions of reviews?!) Or partnership with academics? Or something else?

Looking at [https://snap.stanford.edu/data/web- Amazon.html](https://snap.stanford.edu/data/web-Amazon.html) and [http://jmcauley.ucsd.edu/data/amazon/](http://jmcauley.ucsd.edu/data/amazon/), I can't find any mention on what process they used to generated these datasets.

</comment><comment><USER24> For stuff like this, Millesime imperial for men, I cannot be sure I am buying the real thing or a counterfeit. This is totally the opposite of what I expected amazon to represent, i'm not quite sure when this decline started to happen.

[https://www.amazon.com/Creed-Millesime-Imperial- Spray-4-0/dp...](https://www.amazon.com/Creed-Millesime-Imperial- Spray-4-0/dp/B00152S1IK/ref=sr_1_1_a_it?ie=UTF8&qid=1480128263&sr=8-1&keywords=creed+millesime+imperial+for+men)

<comment><USER25> There are a bunch of domains where you should just avoid buying anything on Amazon that's sold by a third party, and this strikes me as one of them.

And if it's sold by Amazon itself, hope it's either in one of the categories where they don't commingle, like food, or that you luck out. I'd hope anything you ingest or put on your skin like this would be in a "No Commingling!" category....

</comment></comment><comment><USER26> If I'm purchasing a physical item where quality matters and I don't want to end up with a shoddy product or cheap knockoff, I don't buy from Amazon. Exceptions are books and the occasional AmazonBasics cable.

It's a shame, because they had a great service, and their delivery infrastructure remains great. But I don't need same day delivery if you're delivering junk.

</comment><comment><USER27> While I like the sentiment, and have seen my trust of Amazon and reviews at Amazon plummet in recent years, I suspect this will just push the practice underground. Unscrupulous vendors will continue to utilize their network of "reviewers", but will no longer instruct them to include a disclaimer about the reviewers being given free products in exchange for (almost always positive) reviews.

<comment><USER28> With the effect that it will just screw amazon further. Because of this problem I've started buying products directly from the brand stores or walmart/costco/target. I completely stopped buying from ebay years ago because of similar problems.

<comment><USER27> I guess curation (of products, content, reviews, vendors, everything) remains one of the big problems of the internet age, where there's a million of everything and it's hard to know who to trust.

</comment></comment></comment><comment><USER29> After many years of turning no profit, Amazon has finally found its business model. Would not be surprised if they moved out of retail altogether.</comment>


The Art of Contributing - <AUTHOR> http://blog.assemblymade.com/the-art-of-contributing

<comment><USER2> I've often thought that contributing to open source projects is too labor- intensive. Installing the version control system, configuring your environment to run the code, learning the code, updating the code, submitting the patch and then asking the maintainer(s) to merge the change all present barriers to entry.

What I would prefer is something akin to development currency, that would lower the bar and flatten the learning curve. I think that users want to be able to:

* Suggest a change

* Point to the problem code, if desired

* Suggest a fix, if desired

* Contribute in some way (perhaps monetarily) that helps the change occur, if desired

I wish that github had a bounty system like the one in Stack Overflow:

[http://www.quora.com/GitHub/Why-doesnt-Github-add-a- bounty-f...](http://www.quora.com/GitHub/Why-doesnt-Github-add-a-bounty- feature-so-that-people-could-conveniently-pay-for-issues-to-get-fixed)

If a system like this existed, I could easily see developers earning income on the side by improving code. It could incorporate something like Flattr so that developers could join a guild for some amount of money per month and vote for enhancements with their dollars/bitcoins. It would be nice to withdraw karma as currency also.

<comment><USER3> Like this [https://assemblymade.com/helpful/wips](https://assemblymade.com/helpful/wips) ? :p

<comment><USER2> Hah that's awesome! The egg on my face is worth knowing it exists.

</comment></comment></comment><comment><USER4> The point made about "bias towards merging" is my favorite. It's hard enough to get people to contribute without compounding the problem by kicking back their work over minutiae.</comment>


Oracle laying off hundreds in Santa Clara - <AUTHOR> http://www.mercurynews.com/2017/01/20/oracle-lays-off-450-employees/ <comment><USER2> From the comments >This individual case is just the result of terminating Solaris 12 development. Part of the old Sun software, operating system, picked up when Oracle bought Sun. Not a big deal.

So so canning the special operating system for your special hardware which is purpose built for your flagship product in 'not a big deal'?

This week I told the rep from Netsuite that there is no way we are buying Oracle products, if we can help it, and he seemed actually shocked. How long before Salesforce comes in house and is ruined too? I would spend a lot of labour on Postgres to avoid Oracle again.

<comment><USER3> > I would spend a lot of labour on Postgres to avoid Oracle again.

The best time to start was years ago. The second best time to start is today.

<comment><USER4> I'd love to, but I guess I'm in the situation a lot of folks are in. One of our software vendors used Oracle for its backend, so we have the privilege of having to pay for an Oracle DB, but we also don't get direct support. Sadly, we haven't hit the point where we cannot replace the damn software.

The other thing that truly ticks me off is the lack of any virtualization option for the damn thing that doesn't 8x my current cost. These damn fools actually had the nerve to call me about their HR software. I would rather buy another iSeries machine, thanks.

Oh well, it goes so well with the PowerBuilder-based database some government agency foisted on all its grant recipients. At least I don't have to pay a per CPU fee for that one.

<comment><USER3> I don't expect everyone to be able to do so. I'm simply saying that if the opportunity to migrate presents itself in a cost effective manner, do so. If scoping/requirements comes up, recommend Postgresql over Oracle at the beginning of the project.

Do what you can, where you are, with what you have.

<comment><USER5> Is there some website or technical article that compares Oracle DB to Postgres and explains the advantages of Postgres? I know the data required for the comparison is out there, but if it's already nicely written somewhere I'd find it handy.

<comment><USER2> I think this is unlikely to be possible, and acknowledging that I don't have any postgres projects in production, but this may help.

1) except in extreme edge cases it is likely that either would be a technically capable DB for a large project.

2) Cost is a huge factor. Take your Oracle licensing costs for the life of the project. The cost of specialised hardware, and the uncertainty of its future. The cost of hosting is also a part of that. Look at the cost and availability of DBA's in your area. Now apply a discounted cash flow analysis to that, and it is not likely to beat 'free'

3) The Oracle ecosystem is looking uncertain. I can imagine the SPARC hardware you buy now not getting great support, maybe you will have to move platforms? Conversely it seems probably that you could run Postgres/Linux on any x86 VM's you want for the next decade or so!

<comment><USER6> The number one reason we stay with Oracle was that once, years ago, we had a come to Jesus moment when the database shat itself and the backups wre not working as they should have been. After a terrifying ride, some combination of Oracle support, a ton of googling and some smart in-house work repaired the damaged data and got things up and running again, literally saving the company.

Would postgres have been recoverable in that situation, that one, critical time? (its fruitless to conjecture whether postgres would have been in that situation in the first place).

I genuinely don't know. But based on experience I do feel a high level of confidence that Oracle can get me out of the shit when the chips are really down.

I'd genuinely love to know if postgres is as reliable as Oracle. Not just in day to day use, but on that once in a blue moon occasion when you really need it to be.

<comment><USER7> > we had a come to Jesus moment when the database shat itself and the backups > wre not working as they should have been

So who was responsible for testing that the backups worked?

Sounds like it was equally a process failure (not verifying backups worked) as a technical one.

> I'd genuinely love to know if postgres is as reliable as Oracle. Not just in > day to day use, but on that once in a blue moon occasion when you really > need it to be.

If you follow best practices for postgres, have a streaming replica and streaming wal archiving (e.g. to barman) then I firmly believe it's basically bullet proof.

If the master shits itself you have the very latest transaction logs available on replica and point in time recovery servers.

Postgres also introduced support recently for native multi-master servers. This has been supported for a while by third party extensions like bucardo, but thanks to the work of 2nd quadrent there's now a multi-master implementation provided by postgres itself.

If you want a case study of a large business using postgres, look at Zalando (EU online clothing retailer) and their work with it.

<comment><USER8> That's kind of missing the point a bit. He is really looking for what all IT managers are looking for at companies of a certain size: someone to pull his kahones from the fire when and as where needed.

The real answer is: yes, there are people who can give you this level of support if you use Postgres, at I suspect cheaper rates and likely with a faster response time.

For the situation to occur that he describes with an Oracle database then a truly terrifying sequence of catastrophic events must have occurred, because Oracle is quite recoverable. But then again, so is Postgres. And under normal circumstances, Oracle support is absolutely dreadful, so I shudder to think what sort of money they paid Oracle to recover from this event!

<comment><USER9> *cojones

<comment><USER8> Thank you :-)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I can't help but wonder what would have been different had IBM been successful in the Sun acquisition. It would have been a strange marriage, and there were a lot more staffing and product redundancies that would have still hurt customers and employees. On the other hand, IBM is often aloof but never callous like Oracle is.

IBM's acquisition of Sequent might be a reasonable starting place to guess. Sequent customers got a fairly abrupt EoL. There was a lot of drama with Itanium hype and even the x450/x455, then IBM fleeing that IA64 sinking ship. And of course Project Monterrey and the SCO lawsuit. But I'm not so sure how sad the world was to lose Dynix/PTX and instead Linux got RCU and a ton of general NUMA scalability know how.

Anyway, hindsight being 20/20, most of us should have probably switched to OpenSolaris back in 2005 and figured out how to wrestle it out of Sun's control for their own good.

</comment><comment><USER11> Meanwhile the Oracle yacht racing team still seems to be going strong[1].

[1] - [http://oracle-team-usa.americascup.com/en/news.html](http://oracle- team-usa.americascup.com/en/news.html)

<comment><USER12> Isn't that mostly Larry Ellison's personal hobby? (Allegedly a $300 million hobby...)

Not sure how much (if any) Oracle itself put into it.

<comment><USER13> I think this is more a private competition between Larry (Oracle) and Hasso Plattner (SAP)

[http://sapextremesailing.com/](http://sapextremesailing.com/)

<comment><USER14> Different events, although both are now contested in foiling cats.

The America's Cup, which Oracle currently holds, is the oldest sporting trophy in the world with a long history of billionaires falling over themselves to win (Koch, Bertelli, Bertarelli, Fay). The Cup is generally contested every four years, with the next event happening in Bermuda this year.

The ESS, on the other hand, is a more recent series and is contested every year. While less prestigious than the AC, the ESS still attracts some big names and arguably produces better racing but less intrigue.

</comment></comment></comment></comment><comment><USER15> Back in the day (2000-2005), Oracle on Solaris was rock solid. There was basically no better platform or database configuration that was better than this, including SQL Server/Windows 2000/2003, etc.

It's a shame that Solaris is basically dead, but Linux killed them swiftly by being "good enough" on commodity hardware, and then Oracle did a coup de grace with their death-embrace by buying them. It's a shame, because so many great things were being done by Sun.

<comment><USER16> Oracle Solaris might be dying, and Linux sure has a large market share, but illumos as the open source continuation of OpenSolaris is doing very well.

If you enjoyed ZFS, Zones, DTrace and so on in the past there is a good chance that you'd like OmniOS, one of the illumos distributions for classic server environments.

There are more distributions like SmartOS that tkae a more innovative approach as cloud-hypervisor that is just a slim live system.

Most of the original ZFS Developers are now working on OpenZFS in illumos. Beeing open source also means collaborations with other OS projects like FreeBSD (bootloader and more), NetBSD (pkgsrc) is happening.

This is all independent of Oracle.

<comment><USER17> I'm concerned that all the open-source Solaris forks will lose all the reference documentation (see, e.g, [http://www.oracle.com/technetwork/documentation/solaris-11-1...](http://www.oracle.com/technetwork/documentation/solaris-11-192991.html)) if/when Oracle pulls the plug on Solaris.

Is there a way for this tragedy to be avoided?

<comment><USER16> The Oracle docs are not really the reference documentation for the open-source stuff, since illumos and Oracle Solaris have diverged quite a bit by now. Some things are implemented in different ways. OpenZFS in illumos has many features not in the closed oracle zfs.

The real reference docs are the man pages [1]. Depending on the illumos distribution there are more task-oriented guides for OmniOS [2], OpenIndiana [3] or the SmartOS Wiki [4]. In-depth information (driver development, MDB, DTrace) is written down in the "illumos books" [5]. These are not in danger from oracle.

Sadly a lot of good historical documentation is already gone since oracle broke all the sun.com links and not even archive.org has those. :(

[1] [https://illumos.org/man/](https://illumos.org/man/)

[2] [https://omnios.omniti.com/wiki.php/GeneralAdministration](https://omnios.omniti.com/wiki.php/GeneralAdministration)

[3] [http://docs.openindiana.org/handbook/getting- started/](http://docs.openindiana.org/handbook/getting-started/)

[4] [https://wiki.smartos.org/display/DOC/SmartOS+Users+Guide](https://wiki.smartos.org/display/DOC/SmartOS+Users+Guide)

[5] [http://illumos.org/books/](http://illumos.org/books/)

</comment></comment></comment></comment><comment><USER18> This is why Facebook has Sun's logo on the back of its sign and Google remembers it is based on SGI's old campus. Hubris destroys companies.

<comment><USER19> Is there evidence that this was a conscious decision on the part of Facebook?

<comment><USER20> [http://uk.businessinsider.com/why-suns-logo-is-on-the- back-o...](http://uk.businessinsider.com/why-suns-logo-is-on-the-back-of- facebooks-sign-2014-12)

I'm pretty sure that Facebook could have afforded a new sign if they'd wanted to.

</comment></comment></comment><comment><USER21> My group (libraries team) got the axe two weeks ago. ~50 people affected. We had a good run but honestly I'm looking forward to finding a better gig.

<comment><USER10> What does libraries team entail? I run a FreeBSD kernel team, and am interested in speaking with any Solaris kernel people you may know to fill some additional roles.

</comment></comment><comment><USER22> They also bought Dyn.com too. Not sure if that's new news, or just nobody reported it.

No idea why Oracle hasn't been split apart

<comment><USER23> They bought Dyn 2 months ago or so, and at least on HN there were reports & discussions about it.

<comment><USER2> It was soon after Dyn took a beating by Mirai wasn't it? Maybe they chose not to make a big noise because of that?

</comment></comment></comment><comment><USER24> I find this whole thing, as in Oracle itself I guess, hard to understand.

In their presentations at Hot Chips for the past couple of years they've repeatedly highlighted hardware features which seemed to be only accessible using next gen Oracle software running on an upcoming version of Oracle's proprietary Solaris.

So if they're giving up on Solaris 12 development how are their customers going to fully leverage this new hardware they're buying from Oracle? If they're unable to use it, why buy/lease hardware from Oracle at significant premium when you can just use commodity x86 compute... and if you're just using commodity x86 compute why step up for the licensing costs of Oracle software if there is _anything_ else on earth which might suffice?

</comment><comment><USER25> Does anyone track the frequency and size of layoffs from tech companies? It certainly feels that there has been a notable uptick in layoff news over the past 6-12 months.

<comment><USER26> Perhaps HN needs a monthly "Who's firing?" thread.

<comment><USER27> I have tried to start one from another alias (whoisfiring) but hacker news shadow banned me after my 2nd submission so I created this one. Unfortunately the latest thread didn't have many comments.

</comment></comment></comment><comment><USER28> So going forward for corporate users it's going to be either Linux or AIX considering the way HP-UX, Irix and now Solaris is slowly seemingly heading to.

What I'd really like to see is harnessing of the knowledge, principles and methods of solid system management and stability that have been built and field tested on Unix platforms over the decades. This would benefit whichever platforms remain (and are created/update) going forwards.

</comment><comment><USER29> If it's any consolation, given the current climate, at least we can be confident that Oracle won't move those jobs to a database factory in Mexico.

<comment><USER30> Oracle already employs IT workers in Mexico.

</comment></comment><comment><USER31> Why didn't Google buy Sun?

<comment><USER10> From a sustaining Sun's business perspective, it would have been a very poor fit. Sun had hardware product development as a principle effort, a variety of support channels and organizations for hardware and software, professional services, marketing, technical and executive sales etc. Basically many things Google is anemic at. In a way, Google kind of hacked the requirements expected of a business and it sort of works for many of the products they offer, but you can see where they totally flop with the Motorola acquisition and other ventures like Google Fiber. This stuff is hard, and it's really hard to find people that really care and have the ability to execute instead of simply being "qualified"

From a talent and technology acquisition perspective, it would have been absolutely sage. Sun hardware folks could have shifted away from general purpose CPUs to switching and packet processing. OpenSolaris was a tour de force, especially with a legitimate hindsight comparison to where Linux was at the time. If they could have cherry-picked parts of Sun and shed the sustaining business around storage, commercial Solaris, SPARC etc that would have been ideal.</comment></comment>


Runaway Saudi sisters urge Google and Apple to pull woman-monitoring app - <AUTHOR> https://www.standard.co.uk/news/world/runaway-saudi-sisters-urge-google-and-apple-to-pull-womanmonitoring-app-a4126546.html <comment><USER2> Reminder that the Saudis literally executed someone by crucifixion. Last week. If you take soft bank money, keep that in mind.

<comment><USER3> > Reminder that the Saudis literally executed someone by crucifixion. Last > week.

That's not strictly true; Saudi Arabia did not execute him (and does not, otherwise, execute) _by_ crucifixion, it executed him _and then_ crucified him. The Saudi use of crucifixion is a post-execution thing done for emphasis, not a manner of execution like the ancient Roman practice.

But, yeah, still...</comment></comment>


Remember The Milk can sync with your iPhone calendar - <AUTHOR> http://blog.rememberthemilk.com/2011/10/we-taught-siri-to-add-tasks-to-remember-the-milk/ <comment><USER2> If I understand correctly, the have taught Siri nothing. What you see is task list synchronization between the iPhone and RTM.

You talk to Siri -> Siri creates a task -> Task is synced to RTM

<comment><USER3> This comment demonstrates everything that has come to exhaust me about Hacker News.

There are myriad things to praise about this community, to be certain, but the only place with a bigger stick up its collective ass is Wikipedia.

<comment><USER4> I don't think this applies for this comment, I mean, the title suggests teaching something to an AI, which in the case of Siri would open a lot of very interesting options, I'm sure I'm not the only one who expected something along those lines and was disappointed. "RTM Siri setup instructions" is a less attractive title though.

<comment><USER5> I've seen the word "teach" used to talk about setting up or programming a computer on many occasions before. It's completely appropriate. I can see why you'd be disappointed but that's not a reason to complain.

<comment><USER6> The headline would be fine in a magazine article or a tech-light site like Lifehacker.

But, because of Siri's architecture, telling _a forum of hackers_ that you've "taught it" to do something is a wildly different thing.

Hackers click that headline because they're interested in the possibility space where you can integrate arbitrary third party apps.

And when they discover that your headline is a semantic game --that the implicit promise of the headline is a lie-- I don't know how you could expect anything other than complaints.

<comment><USER7> I upvoted because I completely agree.

But then I thought about it, and isn't this also an example of a hack in it's purest sense?

</comment></comment></comment></comment></comment></comment><comment><USER8> Isn't the problem with their hack though that it can only work for ONE calendar? Whichever one you set as the default is going to be the one service that Siri can interact with.

So if RTM is set as your default calendar, then all your Siri reminders go into your RTM calendar, which may not be your actual calendar of course.

And getting other services to use this same hack will result in users having to choose one service they prioritize over all others because you can only have one calendar.

Of course I am an Android guy and don't really know how Siri and all this is working - I'm just guessing based on the instructions provided at RTM's site on how to get this to work...

</comment><comment><USER9> Maybe they could have used the SMS hack to interface with Siri too?

As of now via Siri I can update Twitter and Facebook by telling Siri, "Text Facebook," or "Text Twitter." In my contacts i created a Facebook contact with my carrier's FB short code, as well created a Twitter contact with it's short code.

This same hack possibly could be applied to Evernote, ping.fm, a wake up call service (random example) & other services that have a SMS component?

<comment><USER10> Sounds like an expensive plan for your users. Then again, if you've got an iPhone 4s you probably have the cash I guess.

<comment><USER9> Expensive....possibly depending where you live?

Most people in the US have unlimited text plans. Either they are built into their monthly bill (Sprint unlimited everything $80 a month) or subscribers pay an additional fee on top their voice/data bill for unlimited SMS.

<comment><USER10> True, it's a 10 euro addon here for 1000 "unlimited" messages, dropping now however because data usage has grown massively, while the texting cash cow dropped (Whatsapp and BBM).

It's still a bad solution for the problem as a whole.

<comment><USER11> In the US unlimited messaging typically means just that. And thankfully so, because about a year ago my teenage brother was on my plan and managed to send/receive 16,000 texts in a single month.

<comment><USER12> 16,000 is a large number, but it's not all that surprising. I find myself having multiple conversations at once via text often times, and will spurt out batches of around 100 texts at a time within the course of 5 minutes or so. Teenagers with a social life far more developed than my own will without a doubt hit those numbers multiple times a day.

I think a lot of this is because of the change in mindset of texting. Early on, it used to be a way to convey precise pieces of information. Now it's conversational. People send texts with "um" as the entire message.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> A similar approach (setting up your own CalDav server) might work for lots of other todo/reminder sites. Furthermore, I wonder if there are any other types of services which could be integrated with Siri in this manner

<comment><USER13> Such as being able to tweet by sending an SMS to twitter.

<comment><USER14> This would work (twitter via SMS) just by adding the twitter shortcode to your contacts. I was surprised that Siri doesn't support twitter natively.

</comment></comment></comment><comment><USER15> Does anyone know exactly what API's there are for accessing Siri, or is it pretty locked down at this point?

<comment><USER16> They aren't accessing any API's - Siri is still pretty locked down at this point, and will be for a while. All this does is sync your Calender with Remember the Milk, which never actually interacts with Siri.

</comment></comment><comment><USER17> Awesome! I was just getting annoyed about this yesterday and wishing there was a solution.

</comment><comment><USER18> Love this hack, it's the reason I joined HN, to learn about things exactly like this. My question is, when Apple opens the API, are we going to see Siri games?

</comment><comment><USER19> I can see many developers moving towards this idea of integrating Siri APIs into their apps.

<comment><USER20> Could you set up an email for your app, and allow messages to be sent to your app from siri? Instead of posting to twitter directly, you send something via Siri to your contact, Twitter, which is an email that will post to twitter?

Basically, makes email act as the API.

Edit: Just realized twitter supports SMS (for a long time, didn't support Canada, at least, from what I remember).

</comment></comment><comment><USER21> What would be really cool is to make reminders that reminds you when you are in a special area.

For example:

When I am close to a special shop it reminds me to get that special battery that only them have.

When I get home it reminds me to do something in my home, take out the trash for example.

When I visit a friend I get a reminder about something I should inform him of.

Location-based notifiers instead of time-based (or a combination so it would not remind me to go to the store nearby in the middle of the night and its closed).

<comment><USER22> it's in iPhone 4S, but it drains your battery like crazy

<comment><USER23> Why do you say it drains your battery like crazy? I am not saying it doesn't, but I haven't noticed it.

Doesn't iOS now have a location service that will update apps of your location without running the app constantly in the background?

<comment><USER24> Yeah - lots of people are saying they're having worse battery performance on the 4S or iOS 5 (lots of people aren't, too), and then lots of those people are claiming lots of different things such as turning off various features (and also not doing anything different at all!) has dramatically helped. In other words, essentially no science is being done and no one to my knowledge can say anything definitively yet, but lots of folk remedies are being tweeted. Assuming there's not a bug in the geofencing code, it shouldn't use too much more battery at all because it only goes out to the GPS when available cell towers—which are being constantly communicated with anyway—change.

<comment><USER17> I am getting way better battery performance that I was getting on my 2.5yo 3G with iOS4 that I upgraded from so I am yet have an issue with it.</comment></comment></comment></comment></comment>


Work less, get more: New Zealand firm's four-day week an 'unmitigated success' - <AUTHOR> https://www.theguardian.com/world/2018/jul/19/work-less-get-more-new-zealand-firms-four-day-week-an-unmitigated-success <comment><USER2> Pretty sure I'd be more satisfied with work-life balance if I was paid for 5 but worked 4 days a week. Does a trial like that really have a point? It seems too obvious.</comment>