Call/Return Microbenchmarking and Call Frame Allocation - <AUTHOR> http://cs.coloradocollege.edu/~bylvisaker/CallReturn/ <comment><USER2> _Everyone knows that Python 's performance is generally pretty bad, but that seems almost comical to me. How can it take more than 400 cycles just to do a procedure call and return?_

There's all the instructions in the interpreter's main loop (which probably contains a bunch of call/returns on its own...), plus the cycles needed to read the instructions it's interpreting (including the manual management of the VM's call stack), then throw in a cache miss or two, and 400 cycles starts looking pretty _good_ for an interpreted language.

I'm of the opinion that if call/return time is taking up a significant portion of the total running time of a program, then the problem is with the program's structure and nothing is going to solve it better than fixing the code itself (e.g. don't break it up into so many little pieces that most of the functions don't do much more than call others; but don't inline too much, since that'll increase cache misses.) All the clever trickery with stack/heap allocation to bring down the overhead is interesting, but it can't ever beat the _zero_ cycles of not doing a call at all. As the saying goes, "the fastest way to do something is to not do it at all."

<comment><USER3> Why would inlining too much increase cache misses? I've never heard that.

<comment><USER4> Anything that increases executable size might/will cause it to make more fetches into memory, if only to get all those bonus instructions.

I'd say this is a pretty minor effect in every scenario I've dealt with. Haskell, in particular, lets you inline very easily (and so many people do if performance is important), and I've only heard of one time where that had a negative consequence, and that was mostly about a missing optimization that you had to fix in a non-removing-inlining kind of way (it had to do with polymorphic strings leading to code inlined at every single string literal, which is extremely silly).

<comment><USER5> Yep.

Note, however, that, as a special case, inlining of a function only called in one place "should" always be faster.

</comment></comment></comment></comment><comment><USER6> Although the numbers given seem close to correct on Haswell and Sandy Bridge (about 4 cycles overhead per function call) it's almost impossible to know whether this was by luck or good design. It's always dangerous to presume that the code you write in C has any bearing on the actual assembly executed by the processor.

Lest one think this is an idle warning, when I tried to verify his results on my machine I found that even when I prevented the inlining of the functions, "gcc-4.9 -O3" persistently optimized away the second function call by generating code like this:

      f2:
        callq  400700 <tree1>
        mov    %rax,%rdi
        jmpq   400700 <tree1>

It called the function as expected the first time, reusing the first argument in %rdi that it was called with. It moved the return value from that first call from %rax to %rdi as expected. But then rather than issuing a second call and creating a new stack frame, the compiler realized that since it was just returning the value without further processing, it could "tail call optimize" by jumping directly into the called function and letting it return directly to the top level.

So unless you carefully verify the generated assembly, you might end up measuring only half the calls you would expect. In this case it might not matter much (jmp and call are about equal in cost) but it's no longer actually measuring call/return overhead as the title says. Using '-O1' gave me the code closer to what one would expect.

<comment><USER6> I modified his approach to get something that would compile to the assembly closer to that one would expect regardless of the optimization level, and put my code up here: [https://gist.github.com/nkurz/d64f5b4ded4e19e17aae](https://gist.github.com/nkurz/d64f5b4ded4e19e17aae)

From source code like this:

      COMPILER_NO_INLINE uint64_t f3( uint64_t x ) {
        return f2( f2( x ) ) + 1;
      }

'gcc -O3' took 3.67 cycles per call from assembly like this on both Haswell and Sandy Bridge:

      0000000000400720 <f2>:
      400720:       e8 db ff ff ff          callq  400700 <f1>
      400725:       48 89 c7                mov    %rax,%rdi
      400728:       e8 d3 ff ff ff          callq  400700 <f1>
      40072d:       48 83 c0 01             add    $0x1,%rax
      400731:       c3                      retq

'gcc -Os' was significantly slower, at 4.25 cycles per call on Haswell, 4.71 on Sandy Bridge:

      00000000004006f3 <f2>:
      4006f3:       e8 ea ff ff ff          callq  4006e2 <f1>
      4006f8:       48 89 c7                mov    %rax,%rdi
      4006fb:       e8 e2 ff ff ff          callq  4006e2 <f1>
      400700:       48 ff c0                inc    %rax
      400703:       c3                      retq

Since 'inc' shouldn't be any slower than 'add', I think this slowdown is either due to alignment or the greater density calls in the code. Maybe this is a case where the denser code needs to use the legacy decoder instead of the µop cache?

'icc -O3' produced strange code that ran slightly slower, at 4.5 cycles per call on Haswell, and 4.01 cycles on Sandy Bridge:

      0000000000400c90 <f2>:
      400c90:       56                      push   %rsi
      400c91:       e8 1a 00 00 00          callq  400cb0 <f1>
      400c96:       48 89 c7                mov    %rax,%rdi
      400c99:       e8 12 00 00 00          callq  400cb0 <f1>
      400c9e:       48 ff c0                inc    %rax
      400ca1:       59                      pop    %rcx
      400ca2:       c3                      retq

Can anyone tell me what it's doing with those extra pushes and pops? I think they are just noise, but maybe they help with debugging or stack alignment?

Clang also produces odd code with extra pushes and pops, but somehow achieves the same speed as GCC on Haswell despite this (3.67 cycles). Speed on Sandy Bridge was slow at 4.5 cycles:

      00000000004005c0 <f2>:
      4005c0:       50                      push   %rax
      4005c1:       e8 da ff ff ff          callq  4005a0 <f1>
      4005c6:       48 89 c7                mov    %rax,%rdi
      4005c9:       e8 d2 ff ff ff          callq  4005a0 <f1>
      4005ce:       48 ff c0                inc    %rax
      4005d1:       5a                      pop    %rdx
      4005d2:       c3                      retq

</comment></comment><comment><USER7> Sort of OT, but I've been writing some malloc-less C lately, where most/all memory is on the stack, and I've been wishing for a way to control the space with a function argument, for example:

        void foo(int x) {
          char c[x];
          // . . .
        }

I'm pretty sure there is no way to do that in C, but I'm wondering if a bit of (Intel) assembly could give me something re-useable from a C context. Any ideas?

<comment><USER8> Doesn't `alloca` do exactly what you want? [http://man7.org/linux/man- pages/man3/alloca.3.html](http://man7.org/linux/man-pages/man3/alloca.3.html)

<comment><USER9> Yes and now C99 supports variable length arrays anyway. The storage gets allocated (deallocated) as control enters (exits) the scope. Jumping in I think is not allowed, dunno if that gets compile time checked or results in a run time error. alloca is officially not portable but its present on platforms I care about. It is living dangerously, sure, but quite effective nonetheless.

Would have loved a portable way to query how much stack space the process has left. The problem some architectures need not even have a stack.

@dbaupp Hey thanks ! and nice to know

<comment><USER10> It's a compile time error, e.g.

      void foo(int x) {
        goto label;
        {
            char y[x];
      label:
            y[0] = 'a';
        }
      }

      alloca-goto.c: In function 'foo':
      alloca-goto.c:2:5: error: jump into scope of identifier with variably modified type
           goto label;
           ^
      alloca-goto.c:5:1: note: label 'label' defined here
       label:
       ^
      alloca-goto.c:4:14: note: 'y' declared here
               char y[x];
                    ^

</comment></comment></comment></comment><comment><USER11> out of curiosity i tried this with javascript. seems like chrome is a lot of faster than firefox. ~6 times with f25, but f25 is a bit too coarse. jsperf (which isn't really the right tool for this job anyway) identified me as a spammer while i was adjusting the test cases though. with lower f's the difference would be even higher.

i tried it out in the browser, sum of fN(N) from [0..1000[ yields a ~2-3 times difference.

<comment><USER11> correction: it was fM(N) where N=[0..1000[ and constant M=20 (i think; 20 didn't take too long for 1000 iterations). results were added up and printed at the end and outside the benchmarking loop.</comment></comment>


Why taking a temp job can reduce your income - <AUTHOR> http://www.thestar.com/business/article/755467--why-taking-a-temp-job-can-reduce-your-income

<comment><USER2> Seems rather obvious.</comment>


Parallel Saltational Evolution of Ultrafast Movements in Snapping Shrimp Claws - <AUTHOR> http://www.cell.com/current-biology/fulltext/S0960-9822(17)31526-9 <comment><USER2> This made me think of this excellent planet money episode: [https://www.npr.org/sections/money/2017/06/21/533840751/epis...](https://www.npr.org/sections/money/2017/06/21/533840751/episode-779-shrimp- fight-club)

</comment><comment><USER3> I love Alpheus claws, being so hard and so peculiar they are super-easy to detect and identify.</comment>


How much money has been spent bringing Matt Damon back home? - <AUTHOR> https://www.quora.com/How-much-money-has-been-spent-attempting-to-bring-Matt-Damon-back-from-distant-places?share=1 <comment><USER2> I highly doubt we will ever be able to achieve interstellar travel for 500B or less, not with our current technology, maybe in 100+ years, but when coming up with a number we need to also take into account all the tech we need between now and launch and the costs of those technologies, not to mention we'd need a wormhole, either one we create, or that someone else creates for us, and since we don't know if we're alone or not in the universe, the only assumption is we'd need to create that ourselves, and I really have no clue how much a Wormhole would cost to create, but I'm gonna guess at least 20 Trillion USD, if it's even possible at all...

</comment><comment><USER3> $200B estimate for the fictional "The Martian" mars trip sounds low to me, though it does bring into perspective what could have been achieved with the trillions spent blowing stuff up here on earth.

<comment><USER4> I'm actually wondering if that number is too high. After all, they already had the ship. What did they have to pay for?

1\. The extended use-time of the ship. But really all that did was push back the subsequent missions, the ship was already something they owned.

2\. Probably a bit more maintenance on the ship once it came back because it was used for longer (and because they deliberately damaged it).

3\. The cost of the initial food package + booster which blew up.

4\. The cost of the new food package. China already had the second booster, so I'm not sure if the cost of that should be added (especially since China wasn't going to rebuild it, they were just going to scrap the mission it was originally for).

5\. The cost of the MAV that was used to get Mark Watney to orbit, plus whatever costs are associated with launching another one to Mars.

6\. The salaries of the astronauts on the ship (does Mark Watney get paid for his time stranded on Mars?)

7\. The salaries of people at NASA who worked overtime on this (assuming anyone actually gets paid overtime at all, which they might not).

Does that add up to $200B? I'm skeptical. From the parenthetical (Mars Mission) it seems the cost was meant as an estimate for how much a new Mars mission would cost (I forget if the book actually put a number on that to begin with), but the rescue wasn't a new mission.

<comment><USER5> As for #6, check out the Wager shipwreck. Prior to the mutiny that resulted from that wreck, pay stopped at the point of shipwreck. It is now commonly understood that soldiers cannot be dropped from pay while stranded or captured.

[https://en.wikipedia.org/wiki/Wager_Mutiny](https://en.wikipedia.org/wiki/Wager_Mutiny)

<comment><USER4> Interesting, although NASA astronauts are not soldiers so any law about captured/stranded soldiers wouldn't really apply. But it does set a precedent. But beyond all that, I suspect it's safe to assume that NASA would make sure Watney was paid appropriately for his time, that's just a drop in the bucket that is the cost of the rescue mission anyway. Although I do wonder if his being assumed dead would have screwed up payroll...

<comment><USER2> Doubt he wouldn't mind NOT being paid, rescue would be enough for me... I think lol, not to mention book and movie rights would set him up for life.

</comment></comment></comment></comment></comment><comment><USER6> Ceirtanly better spending movie budget on movies that have potential inspiring people learning more about science

<comment><USER7> A tangential thought, but isn't it interesting that Star Wars inspired lots of scientists and engineers even though it has nothing to do with actual science. There is no physical basis for light sabers, warp drives, force-fields, or artificial gravity, but people study all kinds of things that _might_ give us some headway in those directions, at least in some limited way.

<comment><USER8> You could say that about any sci-fi, they are all set in the future.

<comment><USER9> Technically Star Wars is set in the past. Just sayin'

<comment><USER8> It's in another galaxy where space travel is common.

</comment></comment></comment></comment></comment><comment><USER10> Why bring him back? Perhaps on Mars his WaterCredits and PepsiCo-backed drinking water loans could find a good market.

</comment><comment><USER11> my reaction went from annoyance to anger when I realized that the OP put zero value on the lives lost in "Saving Private Ryan"</comment>


The Biggest Mistakes First-Time Founders Make [video] - <AUTHOR> https://blog.ycombinator.com/the-biggest-mistakes-first-time-founders-make/ <comment><USER2> For a counter-mantra to cover most of these: "Directly solve at least one person's real world need."

If every startup could work with one customer from the idea stage through prototype and beta, so many problems would be averted. And if that one customer leads you down a narrow path, it is far easier to broaden the scope of useful product than pivot an unwanted idea.

<comment><USER3> _" Make something p̶e̶o̶p̶l̶e̶ somebody wants"_

</comment></comment><comment><USER4> I've been at a startup which made (and continues to make) nearly all of these, except for "don't do it with a founder you don't know well" mistake. It remains to be seen if they succeed, but they aren't really hurting either. Business is growing, albeit slower than they (or their investors) would like. Their secret? Two super-deep-pocketed customers that pay them about a million dollars a month each. Because of this steady revenue stream, it's also much easier to raise money. As Eric Schmidt (then the CEO of Google) used to say, "revenue solves all problems". The crazy part about this is, those customers came to _them_ because they knew a couple of prominent dudes who work there, bizdev was not involved.

<comment><USER5> > Two super-deep-pocketed customers that pay them about a million dollars a > month each.

This sounds like a perfectly legitimate way to earn a living, and more mature and wise than chasing some unvalidated unicorn dream and running out of cash after a year of exhilarating misery.

<comment><USER4> Certainly. But VCs don't like this situation one bit. Pump and dump is the name of the game.

<comment><USER6> Who cares what they want? You already beat them, you don't need them and they need you to need them.

Just keep growing your business sideways, try to reuse as much as possible of your IP and experiences.

You are on the right track

<comment><USER4> Well, investors sit on the board. So you sorta have to care.

<comment><USER6> As in they have effective voting majority? Otherwise make them provide enough proof that you can trust their suggestions. Because the original message sounds like they want you "just behave like everyone else in the valley".

That is lose control of your company, take in money faster than you can use it and lose it all with over 90% probability.

As mentioned by `icu` in the other response, smart money can be great. Just make sure it's SMART and not SF-herd mentality BS.</comment></comment></comment></comment></comment></comment>


Manned mission to Mars would be 'stupid' (Bill Anders - Apollo 8) - <AUTHOR> http://www.bbc.co.uk/programmes/articles/30jysbppnRJ0CV5Ng1lt34c/manned-mission-to-mars-would-be-stupid <comment><USER3> This comes up a lot and most here at HN don't agree with me. I am still waiting for anyone to give me a practical reason why we spend trillions going to these places.

It would almost make sense to me if Mars was originally "earth" and we are trying to do a root cause analysis on what went wrong because our escape ships didn't have enough historical data or the data was damaged.

Terra-forming Mars or the Moon to be habitable would be so expensive and impractical compared to improving our existing earth, I would really like to see more realistic answers and less "because we should..."

<comment><USER4> The world needs clever people to work together to strive to create break- through solutions to big problems. The thing is, people don't do that unless they have some sort of Quixotic Challenge to bring them together.

Many, many things that we now take for granted have come directly or indirectly from Grand Challenges, and human nature is such that without Grand Challenges, clever people will keep their heads down and find better ways to layout pixels on screens, and darker ways to get people to click on ads.

Humankind needs these impossible, visionary efforts to pull itself forwards. The money isn't wasted - it gets spent on allowing people to do amazing things and to create technologies, many of which will only come into their own in the future.

<comment><USER3> I understand and appreciate what you are saying and I agree with many situations this logic applies to.

I do not agree that it applies to this specific example however. As far as I can see, this grand challenge should be classified as low priority and low benefit unless data can be provided to raise the priority and importance to a higher level. There are a myriad of grand challenges here on earth that would be significantly more cost effective and would provide substantial gains with much lower overhead, risk and loss. I am not seeing the value in spending trillions on doing very minimal and limited scientific research on a planet that is not habitable and not applicable to a majority of people here on earth.

What am I getting for the trillions being spent on these efforts?

<comment><USER4> > _What am I getting for the trillions being spent on these efforts?_

You don't know, won't know, and possibly can't know. That's the point - <USER2> payoffs are broad, ubiquitous, almost insidious, might not happen for many many decades, and there's every chance they won't be recognised as being a product of these venture.

In essence it's research : "If we knew what we were doing then it wouldn't be research."

We don't know what the benefits will be, we can only trust that having tens, perhaps hundreds of thousands of people working on projects like this will have long-term benefits.

Perhaps I'm more optimistic than you, and perhaps you might choose not to believe that there will be long-term benefits that out-weigh the short term costs.

I believe there will be.

<comment><USER3> Perhaps the issue here is that I just look at this much differently than a scientist.

Let's assume I am the captain of the USS Enterprise and my goal is to explore new life and new civilizations. Our ship will be passing up tens of thousands of planets that may be teaming with life and fascinating things that could lead to new discoveries and scientific breakthroughs. The science officers on my ship would certainly love to stop and visit every single one of those planets. I have to make some decisions that they may not like however. I have other officers that must analyze the cost of visiting each planet, weigh the risks of each one. There is a cost benefit analysis that must occur each time. Without following this protocol, I am endangering the lives of my crew for what may be little to no gain. There has to be enough evidence that the planet in question offers something worth risking life and limb before I even consider sending down an away party, otherwise at most I will send down a probe. In the fantasy concept of Star Trek, a probe is minimal cost and risk. Today, that probe is a very large sum of money, some of which is paid by tax payers.

So while I agree with you that there is certainly reason to believe something can be gained, I expect to see some quantifiable scientific data that suggests these gains are worth spending money there verses here.

<comment><USER4> > _... data that suggests these gains are worth spending money there verses > here._

But the money _is_ spent here. The money circulates in the economy, it's used to fund people doing interesting things here on Earth, developing things that might be useful here on Earth, and supporting hundreds of thousands of jobs in collateral industries. We might be flinging things into space, but all the the expertise remains here.

The money is used to develop new knowledge, skills, and materials here. That knowledge, and those skills and materials, are then available here for other projects.</comment></comment></comment></comment></comment></comment>


Smart Prosthetics: Medicine, embedded systems and machine intelligence (podcast) - <AUTHOR> http://embedded.fm/episodes/187 <comment><USER2> The phrase "self-driving arm" alone is worth the time it takes to listen to this podcast. (the rest of the podcast is good too)</comment>


Sailfish OS - <AUTHOR> http://thenextweb.com/mobile/2012/11/21/jolla-details-sailfish-os-a-look-at-its-unique-multitasking-menu-and-personalization-features/?fromcat=all

<comment><USER2> Shit that looks cool. Like Metro without all the ugly frumpy bits. Very sleek and futuristic, like the whole interface is sliding on sheets of tinted glass.

<comment><USER3> Actually more like MeeGo Harmattan + BB10. Love the interface.

</comment></comment><comment><USER4> Yet another re-skinned Linux, if you dig far enough.

<comment><USER5> As Stallman is fond of (rightly) remarking: Linux is not an operating system.

I wonder if this (if it will ever be released as Free software), Unity, some other Gnome or Plasma Active/mobile will be the first _real_ alternative to Linux/Android...

I'd love to have something with Linux+Android hw support and powersavings, but with at different software stack on top of the kernel...

<comment> mkr-hn > _As Stallman is fond of (rightly) remarking: Linux is not an operating > system._

"Linux" is commonly used as a brand for the ecosystem of bits, media, and community around the kernel. It makes sense as a default meaning, so that's how most people use it.

<comment><USER6> Sure, but those people should learn how to say it properly.

<comment> mkr-hn Fortunately, Linus won't insult me for preferring a different pronunciation. I'll use his pronunciation if I ever have the opportunity to speak to (or around) him.

<comment><USER7> Iirc, Linus doesn't care about calling it Linux v GNU/Linux

<comment> mkr-hn That's the joke. Stallman acolytes tut-tut any usage of "Linux" that isn't referring to the kernel. The rest of the world happily uses the term for all contexts with no confusion. In fact, talking about the kernel is the _only_ time it could be confusing. We have "Linux kernel" for that lone source of confusion.

The Linux kernel is at the center of the Linux ecosystem. The Linux ecosystem has many Linux distributions based on the Linux kernel. Words are flexible, and language has tools to deal with confusion.

<comment><USER5>
      > The Linux ecosystem has many Linux distributions based on the Linux kernel.

There are many operating system distributions that run the Linux kernel. But something like Debian/kFreebsd or illumos are in many ways quite similar to other distributions like Ubuntu -- without running on Linux.

The Linux kernel is a tremendously important piece of the Free software world we live in -- but it isn't a userland -- and I don't understand why people that actually _understand_ the difference gets so worked up about it.

The GNU userland is important. The Gnome project is important. Xorg is important. The Apache foundation software is important. I don't see why people insist on labelling these things "Linux".

The GNU name actually makes sense: GNU's not unix. But it's close. You can compile GNU software and run it on Microsoft Windows. Or under OS X. _GNU_ is a platform. Sort of.

<comment> mkr-hn "GNU/Linux" is clunky. And I'm badgered with it any time I use the much less clunky "Linux." The people pushing the RMS-approved term hardest have no concept of presentation, and it turns people off of listening. I would be instantly associated with the worst pushers of the term if I started using it, so it's a nonstarter.

Edit: GNU would get more attention if the FSF partnered with major Linux distribution vendors to give GNU a prominent placement in installers, documentation, and marketing. RMS peeing a line at the unmarketable "GNU/Linux" is only going to alienate people.

<comment><USER6> Debian

<comment> mkr-hn I meant an actual partnership, with co-branding and everything. A mention of GNU buried in a page most people aren't going to look at won't have the desired effect. Look at the website for any convention and you'll see what I mean. For example: <http://www.e3expo.com/splash/>

And hopefully it'll work better than this: [http://www.engadget.com/2007/05/29/linux-car-first-to- crash-...](http://www.engadget.com/2007/05/29/linux-car-first-to-crash-at- indianapolis-500/)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I like the idea of gestures driving the UI, but the demo video seemed a little unintuitive.

<comment><USER9> "a little"? You are being generous there :)

</comment></comment><comment><USER5> Strange that they (for now) keep the UI closed source. Still, as far as I can figure out the kernel (Linux) and the OS core (Mere[1]) is Free software.

[1] <http://merproject.org/>

<comment> mkr-hn What's strange about keeping the UI source closed?

<comment><USER5> Keeping it open would be one way to differentiate against iOS and Windows Mobile? And I can't see what they gain from keeping it closed, really. Perhaps it is fear of fragmentation ?

</comment></comment></comment><comment><USER10> This video of a hands on demonstration looks very confusing... <http://youtu.be/_c_BqnR_vAM>

Is there really room for yet another mobile operating system ?

<comment><USER9> Indeed, and some choices seem to follow the logic "just because we can" rather than usability concerns. And the lag. Guys, if you want just a little hope of success take care of the lag first. It is noticeable despite the guy doing the best to be very careful, so my guess is in normal usage the lack of responsiveness would be infuriating.

</comment></comment><comment><USER11> How long until I can get my hands on that and load it in my Transformer Prime?

</comment><comment><USER12> Looks interesting, but using Helvetica Nueue Light/Extra Light for headers was a poor accessibility choice.</comment>


Final text messages from an earthquake victim - <AUTHOR> http://www.thesun.co.uk/sol/homepage/news/3433868/Last-text-of-quake-victim-to-mum.html

<comment><USER3> Car crash reporting at its worst. What are we to learn from this - <USER2> died? We know that.</comment>


How a coding error fueled a dispute between two condensed matter theorists - <AUTHOR> https://physicstoday.scitation.org/do/10.1063/PT.6.1.20180822a/full/ <comment><USER3> This article harkens back to discussions of the "reproducibility crisis" in science, as discussed extensively here just recently (see link below). Where, in this case, not coughing up the code used in the simulations in a timely manner led to an apparently unnecessary multi-year dispute.

[https://news.ycombinator.com/item?id=17702380](https://news.ycombinator.com/item?id=17702380)

<comment><USER4> I'm glad this is getting to the fore. Depending on which forum I'm in, I'm heavily downvoted when I talk about reproducibility problems in hard sciences - particularly physics. My thesis was in condensed matter, and (in those days), no one published code. There were a _lot_ of pointless arguments like the one in this submission (although usually not as heated) - all because professors were against sharing their code. It was routine to hear researchers discuss whether they believed a particular paper. Why should belief be a factor?

Simulation code contains a _lot_ of numerical tricks and hacks - and the papers _never_ discuss them.[1] So reproducing the results of a paper were mostly pointless, and the general practice was "Let's see if we can reproduce their findings using _our_ technique". If you got somewhat similar results, you'd publish. If you didn't, you'd sometimes publish (remember, there's a bias against negative results).

[1]In fact, one reviewer even insisted that those details be removed because the journal was about publishing interesting new findings in science - <USER2> interesting techniques to make the computation more amenable.

</comment></comment><comment><USER5> My PhD adviser was a good friend of Chandler's, and a lot of my doctoral work was based on previous work done in his lab. I'm honestly really surprised one of his students/post-docs made a mistake of this magnitude -- generating a velocity distribution which does not follow the Boltzmann distribution is not something I'd expect to be a result of code coming from his lab. But we all make mistakes, and this really just lends more weight to the idea that all code used in producing published results should be posted along with the article itself, just like data sets often are (at least from studies with government funding).

<comment> ur-whale Refusing to share their code falls under the "we all make mistakes" umbrella you think?

<comment><USER6> Sharing code is not always the answer. Independent thinking implies independence, in code and more abstractly.

The real 'mistake' is allowing the drama to escalate to the point that it is toxic. People who are truly interested don't care about who is right and who is wrong.

When disagreements like this come up, having common and good test cases are probably the most important (and is indeed the way in which the problem, generation of non-Boltzman behavior, was found).

In the end ST2 itself is flawed, and Princeton admitted that the discussion of water was not significantly advanced through this drama. Is it worth it?

Understanding the argument and its importance should be the focus.

<comment><USER7>
       Sharing code is not
       always the answer

Why let the perfect be the enemy of the good?

Sharing code is not the _full_ answer, especially in case of Monte-Carlo simulations in physics, because that kind of algorithm is hard to test: What is the testing oracle? What is the specification?

But sharing code is _part_ of the answer.

Setting up a culture where it is unacceptable to submit a paper _without_ open-sourcing the code _and_ suitable testing (for simple edge ases), _and_ suitable scripts that make reproducing the software simulations easy, is good scientific 'hygiene'. See for example [1, 2] for efforts towards reproducible software submissions in computer science.

Reproduciblility is the very essence of the scientific method.

[1] [http://evaluate.inf.usi.ch/artifacts](http://evaluate.inf.usi.ch/artifacts)

[2] [http://www.artifact-eval.org/](http://www.artifact-eval.org/)

</comment></comment></comment></comment><comment><USER8> Having been in the academia I can tell you that from my experience there's two main reasons why scientists are often reluctant to share their code:

A) embarassement at having other people see how bad it is. Not necessarily wrong, but bad in other ways.

B) wanting to keep an advantage by continuing to publish on top of the work already done, whereas anyone else wanting to get in on the same idea would have to first re-build the original work.

<comment><USER5> In my case, it is very much column A.

<comment> ur-whale If you're embarrassed by your research code, how do you know it works, and how do you know what you're going to publish isn't built on quicksand?

<comment><USER5> Embarrassed by its cobbled-togetherness. Not in whether or not it works.

<comment> ur-whale Not really answering the question, which was "how do you know it works?"

I would contend that if you have proven to yourself that your code works and are therefore capable of proving it to other folks (via e.g. solid testing), you should not be ashamed of the spit and glue.

It is research code, we all know what that looks like. But if, on the other hands you haven't proven to yourself it works, then it's definitely something to be ashamed of - scientifically speaking.

<comment><USER5> It's much the same reason why you wouldn't go to work wearing a days old, stained shirt and ripped pants — yeah, you're more than likely going to work just as hard and as well than if you were wearing clean clothes, but that's not going to stop people from judging you based on your appearance.

Most academics write code to just work. Not work well, or to be generalized, or to be efficient, just work. And while that's absolutely fine, as your results being reproducible from the code is all that really matters, a lot of people don't see it that way and will only see code slapped together haphazardly and dismiss you because of it.

<comment><USER9> This article shows very clearly why that does not work. The Princeton team could not reproduce the Berkeley results, yet the inaccessibility of the code meant that the latter persisted as a road-block for almost a decade.

Imagine if this reproducibility excuse were applied to experimental results and technique: we don't have be careful or explain in detail what we are doing, as reproducibility will take care of any errors. One consequence would be that, as the current state of knowledge became less certain, it would become less clear what to do next.

</comment></comment></comment></comment></comment></comment></comment><comment> ur-whale Modern science journals, in the same way they don't accept articles without proper reference to previous work, should not accept research articles unless there's a link to the source code in the article.

</comment><comment><USER10> > "I had and was very willing to share the code," he says. What he didn't > have, he says, was the time or personnel to prepare the code in a form that > could be useful to an outsider.

That's what this license is for: [http://matt.might.net/articles/crapl/](http://matt.might.net/articles/crapl/)

<comment><USER11> Once you release code, people googling you will find that code - and use it as a measuring stick of your coding skills.

In todays rockstar-obsessed recruiting hell, I would not want any quick-and- dirty hacks published under my name.

<comment><USER12> Condensed matter theorists usually don't look for a job that measures them on the quality of their research code.

<comment><USER11> Tenure track is a cruel funnel, and if you don't make the cut, it's time to find a job outside of academia.</comment></comment></comment></comment>


In China, consumers are becoming more anxious about data privacy - <AUTHOR> https://www.economist.com/news/china/21735613-will-impede-governments-snooping-china-consumers-are-becoming-more-anxious-about-data <comment><USER2> As someone who lived in China, I doubt it.

Individual rights and limitations on government power are not taught in Chinese schools nor ingrained in Chinese culture. Politics is not natural part of the Chinese conversational diet in much the same way that bread is not a natural part of their nutritional diet. To the extent that such topics come up it is pragmatic to a fault. It is always in the context of fixing a specific problem in the here and now (Eg there is corruption therefore lets purge the corrupt) and never in the context of a broader political philosophy (Eg how should we structure the civil service to dis-incentivize corruption). Chinese ideas on what ought be legal are rooted in intuition for what we would call natural law rather than study of what we would call natural law.

I can't imagine Chinese people being concerned about the general case of lax data protection. I can picture a near infinite string of ad hoc outcry over things like the strawberry adverts.

Anyone from China disagreeing with my observations on your country, feel free to yell at me. I invite you.

<comment><USER3> > Politics is not natural part of the Chinese conversational diet in much the > same way that bread is not a natural part of their nutritional diet.

What do you mean by natural? Because I hear Chinese people talk about politics all the time. It's an extremely popular topic and they love to get into the intricacies of it and compare how current leaders act compared to historical leaders.

I definitely hear them talk about how society and philosophy influence current day politics. For example, how different would this political leader be if he followed the Mozi [1] school of thought.

Of course, I understand Chinese so perhaps that's why? I know that many Chinese people dislike talking about politics with foreigners. Especially if they can't speak/understand Chinese.

Also, not to be nit-picky, but mantou [2] and shaobing [3] are both a natural part of Northern Chinese diets. Of course I guess some people might not consider them true breads.

1\. [https://en.wikipedia.org/wiki/Mozi](https://en.wikipedia.org/wiki/Mozi)

2\. [https://en.wikipedia.org/wiki/Mantou](https://en.wikipedia.org/wiki/Mantou)

3\. [https://en.wikipedia.org/wiki/Shaobing](https://en.wikipedia.org/wiki/Shaobing)

<comment><USER4> This is tough because it's mostly anecdotal, but after living in China for two years (I can speak mandarin) talking about politics in the US was like suddenly being able to breathe again, it was a tangible culture shock. Sure, some people liked to talk about society and politics and economic development especially when it related to China's history, but I can only remember one or two times in two years that I experienced the kind of completely open political conversation that we have every day in the US. China is big, so this could be related to region as well, I was in Hunan.

</comment></comment></comment><comment><USER5> Boy did Apple skate to where the puck was headed or what? I remember reading all those hot takes years ago insisting it was a mistake and thinking how short sighted that was [1][2]. It was also weird because even before the Apple Watch was announced there was plenty of evidence of their health ambitions, so it obviously made sense to be strong on privacy and security. Since then multiple high profile hacks have happened (and are bound to keep happening), the FBI fought Apple and lost (at least in lower courts), GDPR is being implemented in the EU, and antitrust regulators are taking a look at internet business models [3].

[1] [https://dcurt.is/privacy-vs-user-experience](https://dcurt.is/privacy-vs- user-experience)

[2] [https://stratechery.com/2015/tim-cooks-unfair-and- unrealisti...](https://stratechery.com/2015/tim-cooks-unfair-and-unrealistic- privacy-speech-strategy-credits-the-privacy-priority-problem/)

[3] [https://www.ft.com/content/9376eece-00e4-11e8-9650-9c0ad2d7c...](https://www.ft.com/content/9376eece-00e4-11e8-9650-9c0ad2d7c5b5)

<comment><USER6> From [1]: _The truth is that collecting information about people allows you to make significantly better products, and the more information you collect, the better products you can build_

That is a hilariously absurd statement. Collecting data has never been about making better products.

And apple being pro-privacy is equally absurd, they just haven't gone full retard and started collecting everything they can. Which I guess is noteworthy of a company its size today, but don't confuse that with pro-privacy. It is just what everyone would expect of any sane entity. The climate of today just means we've set the bar so low that some confuse it for "pro-privacy" to care the slightest of it's consumers.

<comment><USER7> > Collecting data has never been about making better products.

That's a strong statement. Especially given that I know for sure data that is collected __exactly __for that purpose within my company.

<comment><USER8> Maybe you'd consider an alternate statement: "Collecting data is no longer solely about making better products."

</comment></comment></comment></comment><comment><USER9> Man, it's a strange article. Fraud of every kind is endemic in China. When I'm in China, it's reasonable to assume anyone who initiates conversation with me has some kind of scam in mind. Strangers are very wary of each other. It's common to receive scam texts from people saying they're your dad or your landlord and to send money to such and such a bank account. I think most Chinese people have never had the opportunity to use any computer other than perhaps an iPhone that has not been backdoored/rootkit'd/RAT'd in at least one way. What would data protection by Chinese companies even mean? They're already comprehensively cooperating with the CCP.

<comment><USER10> > _When I 'm in China, it's reasonable to assume anyone who initiates > conversation with me has some kind of scam in mind._

That's pretty much true everywhere else, isn't it now? If a random stranger you don't know initiates a conversation with you, it's usually because they have something in mind that quite likely is not in your best interest. I believe what you called "having a scam in mind" for China is usually called "salesmanship" in the US.

<comment> chao- I walk to and from work each day in a large urban downtown in the US, and I average one interaction each way, each day. Almost none of them are approaching me about anything involving a scam.

For every 5 people that communicate (other than a nod or polite hello), 4 are just asking for money, full-stop. That's begging, but not a scam. It's honest, they ask, I say no, because I don't carry cash. The other 1 out of 5, such as today, was just a guy who wasn't sure if the bus he was looking for stopped at the street we were both on. It was about 22:30 and he was worried he'd miss the last express bus home.

Occasionally someone asks for money for food, and then I offer to buy them lunch, and most turn it down. Maybe that counts as a scam? But some take me up on it. So if that's a scam, I'd estimate 5% of people I talk to ask me for money for food, truly just want money, and have a scam in mind. That's definitely a minority.

Edit: As additional context, I traveled through China for a little over a month in 2005, and very much related to the GP's comment. I know the country has changed massively since then, but I have traveled through a half-dozen countries, lived in 2 others, and China stands out in that way.

<comment><USER11> In the few years that I lived in the US, there were at least two occasions where I have been approached with a somewhat scammy story in different (large) cities. I'm not saying its endemic in the US, but it does happen.

But compared to China, (a) the frequency of an encounter with a random person on the street as a pedestrian is significantly lower in US cities and (b) I imagine the levels of poverty in China were/are much higher, which might be a factor why scams are frequent?

</comment></comment></comment></comment><comment><USER12> I hope this is a turning point in Chinese conscious of human rights

<comment><USER13> That can only happen If China become a stable, developed country.

<comment> castle-bravo This is a common talking point of the CCP, but it is not the truth. When the state protects the rights of all people within its borders, those people grow to trust the state; they choose to work openly with the state and each other instead of hoarding wealth in secret. A state which does not protect human rights can not earn the trust of citizens and cannot win their full participation in developing the country.

<comment><USER13> I'm not saying it's true for all countries, but it is true for China. The government is putting development as priority instead of human rights, and since the government is unlikely to change anytime soon, this is the reality. Only when China is prosper enough, the government may start caring about human right. It's also a big culture shift, and can take a long time and lot's of mistakes.

<comment><USER14> _I 'm not saying it's true for all countries, but it is true for China._

China is full of people, and people are depressingly alike.</comment></comment></comment></comment></comment>


I miss simpler times when everything worked the moment you plug in the cord - <AUTHOR> https://grumpy.website/post/0QDpdfB1H <comment><USER2> Also, there's so much interoperability that its easy for connections to break and as a user you need to figure out where the break is. No such thing as plug, turn on and play.</comment>


Ask HN: When did mobile Google start loading clicked links into an iFrame? - <AUTHOR> I noticed recently that when I click a Google search result in mobile Safari (latest/iOS10) that the page loads with a white box at the top saying whateverurl.com but the safari url box still says google.com. all of my long-press options are disable as the whole page has one giant overlay. i do not like at all that google is loading the pages I click inside of itself and overriding my browser controls. was there any news that they were starting to do this? any way to stop it? <comment><USER2> Google recently added this feature. They call those sites "AMP Ready" which apparently stands for Accelerated Mobile Pages. You can check out their homepage here: [https://www.ampproject.org/](https://www.ampproject.org/)</comment>


Ask HN: Learning the business-side of things as a developer? - <AUTHOR> What are some good source for learning the fundamentals and specifics of the contemporary software business?<p>What software-specific business books would you recommend? <comment><USER2> I think it really depends on what kind of software business you want to create.

For example, being a solo founder running a profitable bootstrapped SaaS business requires different skills than a venture-backed B2C social mobile app!

If you want the former, I suggest you read interviews and follow companies on IndieHacker: [https://www.indiehackers.com/](https://www.indiehackers.com/)

You'll find lots of resources and case studies of people that made the switch from developer to founder.

I quit my software developer job two years ago to build a SaaS API business with a co-founder. We're at $4500 MRR and we are documenting almost everything we do: [https://www.indiehackers.com/product/scrapingninja](https://www.indiehackers.com/product/scrapingninja)

About business books, Traction[1] is a must-have in my opinion as a developer. You'll learn a lot about marketing, which is often the problem most developers face when launching their first company.

I also love "Start small stay small, A developer's guide to launching a startup with no outside funding" by Rob Walling.

If you need solid advice in terms of code & technology choice/architecture to launch a startup, you should read Hello Startup.[3]

With these three books, you'll have a solid understanding of what to build, how to build, and how to market your software.

[1]: [https://www.amazon.com/Traction-Get-Grip-Your- Business/dp/19...](https://www.amazon.com/Traction-Get-Grip-Your- Business/dp/1936661837) [2]: [https://startupbook.net/](https://startupbook.net/) [3]: [https://www.hello- startup.net/](https://www.hello-startup.net/)

<comment><USER3> Document almost everything you do. Spot on. That's something we missed entirely.

<comment><USER4> We're bootstrapping SaaS service as two co-founders for two years already. I would say don't document anything except the code (if you really want to). Don't track anything, don't create any reports of some sorts for the sake of creating.

Only thing you should really care about is how you product solves pain points for the user. Measure user retention and revenue.

As a young enterprise you should only care about how to survive and how to get users. Nothing more, nothing less.

<comment><USER2> When I said documenting, I was thinking about publicly documenting what you do, in order to create an audience around your company.

That's really great, especially if people buying your software are also interested in entrepreneurship.

<comment><USER5> More like blogging, which is a really good way for long term growth

</comment></comment></comment></comment></comment><comment><USER6> Started as a solo developer, spent 10+ years to grow it into a small business with 40 employees.

The hardest lesson for me was that at the crux of it, business is all about scarcity. There is no other magic out there. A great question to ask yourself is: How many people want what I sell and how many people are already serving it.

Business is about being in the right market with the right product, and then differentiating against all other players in the market. Once you figure this out, you will solve most of the operational problems.

<comment><USER7> Peter Thiel has a great talk at YCombinator on how "Competition is for Losers": [https://www.youtube.com/watch?v=3Fx5Q8xGU8k](https://www.youtube.com/watch?v=3Fx5Q8xGU8k)

<comment><USER8> It also vastly depends on your goals. Thiel's advice is great if you are setting out to create the next Palantir, Facebook or Paypal.

If you're looking to bootstrap a passive-income business as a solo developer, it's not as useful. In fact I'd flip his advice on his head and instead of "Build a Platform" say "Build a successful and revenue positive business off someone else's platform with the aim of being acquired by it some day."

</comment></comment></comment><comment><USER9> I've lived for 10 years solely from the revenue of an indie web app I wrote, so I guess my experience is applicable in so far as you're also doing bootstrapped/shoestring investment web applications.

I just started a YouTube channel where I give behind-the-scenes looks at how the technical and the business sides connect.

Specifically, I'm covering things like

\- Experiments in SEO (from outsourced freelance content to microdata, to preserving SEO juice when user-generated content changes)

\- Basic Google Analytics game

\- The surprising hidden costs with payment providers like PayPal/Stripe

\- AB testing

\- The hell that is sales tax accounting

\- Using data to decide what features to build (minimal viable features), so you don't over-invest limited resources in uncertain rewards.

\- Technical cost-cutting (e.g. having a shitty looking admin area, knowing what not to test)

\- Handling customers gracefully (e.g. setting expectations about response times, letting them yell at you and still feel zen, why you should always give refunds)

So, for a frank look at one particular programmer's/solopreneur's take on the above, you might get value from my channel: [https://www.youtube.com/watch?v=aCzT- LQI6x0](https://www.youtube.com/watch?v=aCzT-LQI6x0)

<comment><USER10> I'd like to know more about the last point. Why should I always give refunds?

"letting them yell at you and still feel zen". I don't know how to phrase the question, but is there something you came to understand in order to get there?

</comment></comment><comment><USER11> I highly recommend reading about the business model canvas (definitely get this book [1]) and the "double diamond" framework [2] in design thinking. I'd also recommending reading some Steve Blank [3] for the "mainstream" understanding of "startup business".

The Lean Startup [4] is often recommended, but I've been told it's extremely beginner-level (though I haven't read it, so my analysis might be unfair)

If you want to get really in-depth, there's a lot of really great interplay between the design discipline and entrepreneurship that is often overlooked. "Design Thinking" is _much_ more than a buzzword, check it out.

[1] [https://www.amazon.com.au/Business-Model-Generation- Visionar...](https://www.amazon.com.au/Business-Model-Generation-Visionaries- Challengers/dp/0470876417/)

[2] [https://www.designcouncil.org.uk/news-opinion/what- framework...](https://www.designcouncil.org.uk/news-opinion/what-framework- innovation-design-councils-evolved-double-diamond)

[3] [https://www.amazon.com/Startup-Owners-Manual-Step- Step/dp/09...](https://www.amazon.com/Startup-Owners-Manual-Step- Step/dp/0984999302)

[4] [https://www.amazon.com/Lean-Startup-Entrepreneurs- Continuous...](https://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous- Innovation/dp/B005MM7HY8)

<comment><USER12> Blank provides a nice framework for thinking through a business idea but there are companies still selling software for dialup modems and your grocery store (in-spite of terrible fundamentals) is still in business.

<comment><USER11> Oh definitely! My thoughts are mostly aimed at your "stereptypical" SV-style venture.

Small business is an entirely different, and almost completely distinct, field (that I have little-to-no expertise in).

</comment></comment></comment><comment><USER13> If you've got some time - there are twenty pages of archived blog-posts categorized as "mba mondays" at Fred Wilson's blog. His content is quite accessible and frequently has good suggestions for additional reading. E.g., the first couple of posts are the basics of finance and accounting: [https://avc.com/category/mba-mondays/page/20/](https://avc.com/category/mba- mondays/page/20/)

</comment><comment><USER14> Quite a lot of books I want to recommend are already here. \- Hard things about hard things \- Good Strategy / Bad Strategy are a couple of books that can help here

If the purpose of this exercise is to improve your overall understanding, I would recommend something more fundamental than above (software-specific business books). Read some Macro Economics, articles around industries you are interested in (SaaS, Mobile, etc.) - especially historic ones which give you more foundational understanding.

Also, I strongly recommend not doing an MBA program if knowledge is what you seek.

</comment><comment><USER15> Are you working in the industry at the moment? The best way to learn is talk to people who are closer to the business side - product managers, sales people, finance, and so on. Also software touches on a lot of industries, so you might want to narrow down a little what you mean by software-specific business.

</comment><comment><USER16> Some books that I liked:

\- "Good Strategy / Bad Strategy" : it's an introductory book to business strategy with tons of examples in the software/hardware business.

\- "Understanding Michael Porter" is another one about business strategy that I enjoyed.

\- "Well-Designed: How to Use Empathy to Create Products People Love", a book about product design with some interviews from the industry (I enjoyed the interviews)

\- "Why We Fail: Learning From Experience Design Failures" another book about product design using some well known cases as examples.

\- "Sense and Respond"

</comment><comment><USER17> If you want to learn the basics you don't look for specializations.

Business is business, the trade is far less important and delivering software instead of garden furniture doesn't make you special.

<comment><USER18> That's largely true, but the variable vs fixed costs economics of software is somewhat unique vs selling and delivering garden furniture.

<comment><USER17> There ofc will be niches but overall your business plan would be much more dependent on the type of service you provide, sale channels (B2B vs B2C), volume etc.

Also many people conflate with a software company with a company that provides services through software.

There is a huge difference between say a commercial software company like say Sage, Microsoft or Oracle and other "software companies" like Uber or InstaCart.

All of these have drastically different business models even within the same category.

Then you have the software delivery as a service companies that can range from consultancy and staff aug to full out project outsourcing.

But in general if someone wants to learn business fundamentals they should learn business fundamentals before trying to apply it to a specific field.

</comment></comment></comment><comment><USER19> Like others have mentioned it depends on your goals.

Do you want to build a passive income side business you can run from the beach? Check out The Personal MBA. [https://personalmba.com/](https://personalmba.com/)

Do you want to build a huge rocketship and IPO? Check out Y Combinator's "How To Start A Startup". [https://startupclass.samaltman.com/](https://startupclass.samaltman.com/)

While these are not "software-specific" business books, I would say it's more important to spend time mastering the fundamentals[1] of business, which is the skill of finding people who want to pay for what you have. Everything else like management[2], operations[3], and marketing[4] can come secondary. This may sound cliché only because real business skills are boring, the same way "To get healthy, diet and exercise" sounds boring.

[1] [https://jamesclear.com/fundamentals](https://jamesclear.com/fundamentals)

[2] Marc Andreessen: The Hard Thing About Hard Things

[3] Eliyahu Goldratt: The Goal

[4] Chip and Dan Heath: Made To Stick

</comment><comment><USER20> Crossing the Chasm

The Challenger Sale

To Sell is Human

\---

These books have all been super helpful. You will need to primarily learn sales, this is the oxygen of a business. All cash comes from there. The other main thing is learning to speak to non technical users and then turning that into messaging and marketing. For most of the business details you can find software or services.

Find a non technical cofounder, upskilling your business acumen during the search.

<comment><USER21> What do people mean EXACTLY when they speak about learning "sales"?

What is an example of using "sales" knowledge in a sass application?

Where exactly is the line between sales and marketing?

Is copy on my landing page sales or marketing?

I am so confused.

<comment><USER20> These books will explain better than I can. Assuming you come from a technical background like myself... and in a B2B SaaS context.

Sales is the process of helping others solve their problems and then showing how your solution is the best choice. As a technical person, we are actually best positioned to succeed in modern sales. The complex sale, what today's SaaS is, involves understanding their situation, teaching or offering insights that get at their true problem, helping them to construct the best path forward, and then showing how your company's solution helps them get their best.

Sales and marketing are highly coupled, along with customer service and other post sale ops. There are funnels or channels for how people find your business, progress through the sales cycle, and eventually become paying customers. Marketing is the long-term, front running process to create awareness. Sales is the in the moment process of filtering potential customers and guiding them through the funnel to a closed sale. Post sale operations Ensure the success and lasting relationship with your customers. All three are critical to a healthy, successful, and sustainable business.

Copy on your website isn't necessarily specific to sales or marketing. Every interaction the customer or user has with your company is part of branding, marketing, sales, and overall success. The key here is that you want to consistent message and that message should speak to the customers dreams goals and aspirations. What happens with technical founders often, is that they talk more about features and technical specifications than the benefits of the product from a customer's point of view. here you want to spend as much time as you can with your users especially early on. They will inform you how they think about your company what you sell and give you the language to use in your copy whether for marketing sales or documentation.

I highly recommend you pick up these books they will open your mind as they did mine to sales as a very different thing from what we know in popular media. If you have the mindset that sales is largely pushing like a used car salesman, then these books will give you a fresh perspective on the reality of who is most successful in a B2B sales situation. It's not so difficult to learn sales as a technical person, in fact it's far easier than the other direction. so worrying now about feeling confused and lost at this point, if you do your learning you'll be capable of crushing it in sales.

<comment><USER21> "Sales is the process of helping others solve their problems and then showing how your solution is the best choice"

So is it a philosophy of some sorts? Mental mindset?

Why is it called "sales"? To be purposefully easily confused with what a regular person understands the world "sales"?

This is all so strange to me. Every time I ask about "sales" I get this very non specific, vague, metaphoric answer...

<comment><USER20> Get the books, read them, your understanding will increase and confusion decrease.

Both kinds of sales are "sales" as there is not just one kind. What you will see is that the popular media ("regular") sales is not actually regular, that there are also different types of sales people, and so on.

Basically your exposure and sales vocab are still underdeveloped, so reading some books will aid you greatly.

<comment><USER21> Ok, I will risk and jump in, because I am curious.

<comment><USER20> That's the spirit! Books are super cheap knowledge. When your done with those, email me and I can point you towards more for your new questions that will come up.

Do you happen to be monetizing an OSS project?

<comment><USER21> Hey, no, I have build a website with free mathematics resources for university students.

I am getting good traffic and now I am looking for monetization options that would be non-invasive to the project (for example. I don't want crappy, non- relevant adds).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Patterns of Enterprise Application Architecture by Martin Fowler

This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts.

Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them.

</comment><comment><USER12> I made my first $1M last year.

There are many good sales and general business books out there.

I've not yet found a good book on the fundamentals of the software business from someone WHO HAS ACTUALLY BEEN SUCCESSFUL. However, I have found plenty of books and articles by "thought leaders" (full of s __*) and failures (full of cope).

It seems to me this industry has changed quite a bit over the past 50 years, yet the principles of general business not as much. Perhaps you could start with good business and sales books by people with the tax-returns to prove they know what they're talking about.

<comment><USER23> > Perhaps you could start with good business and sales books by people with > the tax-returns to prove they know what they're talking about.

Classic survivorship bias

<comment><USER24> Well, there is higher chance to get better advice from a survivor than someone that didn't made the money in the first place.

</comment></comment></comment><comment><USER25> _Getting Real_ , by the makers of Ruby on Rails and Basecamp, is one of the only books on the subject that ever resonated with me. Also, it's free.

</comment><comment><USER26> I joined a startup 6 years ago where the CEO has been extremely transparent about all business decisions over the year. I've learnt a lot from that.

</comment><comment><USER27> Find a good mentor; someone that is a natural leader, looks past differences to accomplish a goal, finds common ground, has a track record of financially smart deals, and is well connected. Many startup CEOs can exhibit these qualities but ultimately emotional money deals or obsession with poor ideas lead to their downfall. Find someone that's had success in a "boring" industry.

</comment><comment><USER28> It worked for me:

1\. Go to your boss (or your company owner or CEO) and tell him about your willing to develop in this field.

2\. Study economics. Not books (only) about startups etc, but more scientific ones.

3\. If some business idea will come to your mind, just try it! It 99% times will be not successful, but you will learn something new.

4\. Accept fact, that in modern economy most of results are mostly luck ;)

</comment><comment><USER29> Maybe not software specific but a must read, for business in general, is High Output Management by Andy Grove. The best way I can describe it is: a manual on how to be a better business manager, for engineers. It's dry, its concise, its exactly what I needed when I wanted to learn more of the "business" side of things and it helped me greatly.

</comment><comment><USER30> There aren't any fundamentals of the software business. The buyers get lots of drinks and dinners, bullshit presentations from product managers, pointless meetings, and make irrational decisions just like in everything else. Nothing interesting happening there, don't bother.

</comment><comment><USER31> I don't have good answers to your questions. But I do have this advice: get a good lawyer and a good accountant. Don't try to do taxes or legal paperwork on your own. It's never worth it and the cost of doing it wrong is so high.

<comment><USER12> I've gotten by without a good lawyer so far. God they're expensive.

Great accountants OTOH are cheap, and yes they are critical.

<comment><USER32> how do you look for one / vet them?

<comment><USER12> Sadly it's been trial and error for me. I finally found a good one.

Maybe, fire fast?

</comment></comment></comment></comment><comment><USER33> [https://www.heavybit.com/library/](https://www.heavybit.com/library/)</comment>


AI can help recession-proof your company - <AUTHOR> https://blog.saleswhale.com/4-ways-ai-can-help-recession-proof-your-company <comment><AUTHOR> After researching over 100+ companies globally on how they weathered the 2008 global financial crisis, I noticed they deployed four common strategies.

I wrote an article that looks at each of the above time-tested strategies through through the lens of AI and automation technology available in 2020.</comment>


Stop blogging about how fun coding is - <AUTHOR>

You devalue the profession and craft when you do this. In some contexts, sure, it can be rewarding and enjoyable. The same can be said about just about any other job. It can be fun to push shopping carts around or paint or whatever.<p>By proclaiming how "fun" and "rewarding" it is, you are leaving it open to Tom Sawyer fence-painting political arguments which devalues the very real tedium and decade-long learning curve experience required, along with your own intelligence. <comment><USER2> But _everyone_ sees the tedium. The tedium is obvious. You go in, you sit at a desk all day typing, and you go home. This is obviously not the case for every job, and very simplified, but it's the case in most jobs, and, more importantly, it's the popular conception of programming. The blog posts explain the gold at the end of the rainbow - why programming is enjoyable.

Many people write posts on why exercise is rewarding, yet exercise is often soul-crushingly tedious. Everyone knows about the tedium - it's obvious. The light at the end of the tunnel is not.

It's also pragmatic - people don't want or need to be reminded that coding can be boring, so posts on that don't get as many views. They do exist in large number, however (the best example that comes to mind is the one on how it takes ten years to master programming - don't remember the link off the top of my head).

<comment><AUTHOR> Yet industries like the game industry are dominated and run by non-technical business leaders who use this to their political advantage- to the point of driving programmers like slaves. "Programming games is _fun_ , right? So you won't mind working over the weekend, right? If not, we'll get the new hires to take over your project." and so forth.

People might _see_ that programming is tedious, but "everything you say can and will be used against you" as political leverage and they don't care what they see, only what they can use as proof to devalue the skill you have that they don't.

I'd like to see more blog posts entitled "programming is fucking hard" and "I bashed my brains out all weekend to show off this barely functioning hack and my kidneys ache from the caffeine overload."

False modesty for the sake of "making it look easy" might benefit _you_ as an individual by looking cool or elite or levelheaded, but it devalues the skill commodity and community as a whole.

I also think that the majority of the population has absolutely no idea of the work involved in your typical program, which leads to, as one simple example: the stereotypical relative asking you to make his great App idea, with absolutely no concept that it would take 6 months of 12 hour days.

<comment><USER3> The problem is that other programmers don't care about posts like that, so they'd never be read. Or if they do read them it'll just be to tell you how completely idiotic you are for taking that long to figure that problem out. Or that they could have done it in a week. I don't know about you, but I enjoy reading articles about people succeeding and enjoying what we're all doing. Like, if you were pushing shopping carts would you rather read about people surfing on top of them or bitching about how terrible their lives are?

<comment><AUTHOR> If you enjoy reading those articles so much, would you mind scanning through this pile of old newspapers I've got in my garage? I'll let you do it for $20.

<comment><USER3> I'm not sure that I understand the point you're trying to make.

<comment><AUTHOR> I don't have to make a point, I just have to cut down your argument with some evidence you agree with.

This is how you con programmers into writing programs for you. I have watched it happen half a dozen times now.

<comment><USER3> No, I'm not saying you have to make a point but you have to at least make sense. What you said meant nothing to me, so I was asking for clarification, but you're obvious not looking for communication here.

<comment><AUTHOR> That's correct, I am not looking for communication. I am simply frustrating your ability to make a valid argument. Inevitably I can use this tactic to persuade you to do something for me.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> Bah humbug.

By their very nature blog articles like this are reaching an audience of non- coders, to show them that a basic understanding of programming is within their grasp, that it's a worthwhile intellectual exercise, and yes, that there IS fun to he had in the endeavour.

Blog articles like these are not prospectuses for Computer Science courses, they are not meant to be a sombre accounts of the travails to be had in professional programming life. And your profession is no more devalued by their existence than Electrical Engineering is somehow devalued by those kits for children to make their own rudimentary electrical circuits.

And just the same, these kinds of articles have an educational function, especially when it comes lowering the perceived barrier for entry for lay people to understand some of the fundaments of how software works - and this includes young minds who may well choose it for a career.

I'm one of those ordinary people who read these kinds of articles and was motivated into action. And I was profoundly embarrassed at how long it took me to make my first to-do app. It didn't come natural to me, and I cracked the shits and banged the table at how I overlooked the one character typo that was screwing it up. But you know what? Finishing it was actually "fun" and it was "rewarding".

I'll leave it to you to guess whether my stumbled first steps into n00b level code have meant that your craft and your profession is now diminished in my mind, or elevated.

In a world where software is all pervasive, there's nothing to be served in encouraging popular ignorance. And I'm sure there's more to be gained for your profession as a whole if the wider world was just a little more literate about what you do.

<comment><AUTHOR> Fair enough, and I agree with the other examples in the thread of why "programming is fun" literature has a positive effect, but it also has a very strong effect on people _unlike_ us who aren't motivated by it and aren't ever going to be inspired to learn it, but are going to use it as ammunition. From a lot of my experience, that's the principal that a lot of business management is built on.

</comment></comment><comment><USER5> What would you rather have us do?

I am very happy in my coding job. I deal with (in my opinion) exciting and fun challenges every single day. I have never had the job satisfaction I have right now.

I am not allowed to voice that because of your fear that someone somewhere sees that I am happy in my job, and thus will lower the salary opertunity for you in your next job interview?

A happy car mechanic does not get paid less just because he likes his job. A doctor does not get paid less either. A skilled job will always require a certain pay grade to attract people. Coding is not for everyone, for the great majority of people out there they would rather sit and watch paint dry than to do what I do every day. THAT is what keeps our job opertunities good and the salary above average, not that we are unhappy with out jobs, but the personality and skillset required to do the job effectively.

</comment><comment><USER6> A lot of programmers really do find it fun though, or at least _interesting_ , and especially interesting to talk about. I don't really see why people interested in a craft shouldn't discuss things they find interesting about it. I mean, that's what happens in any other craft too: there are a ton of photography blogs, and they are mostly not about how photography is tedious and clients suck (though some are). Scientists tend to talk about science with a certain breathless tone, too.

Plus, a reasonable number of bloggers are blogging about side-projects, which is a bit different setting, and probably more fun. Same way that, say, there are people who enjoy cooking and blogging about it, but they might not really enjoy being a line chef.

</comment><comment><USER7> I don't understand. What practical effect does its devaluation have? In whose eyes does it devalue? Are you worried it's going to cause your salary to decrease?

<comment><AUTHOR> I don't make a salary. I'm just blowing off some steam here, I am a game developer by trade and I've watched my non-technical peers succeed at getting their designs made half a dozen times simply through this political manipulation of programmers. It's insane that it works and incredibly frustrating to me to watch it happen over and over.

<comment><USER8> So you're in a position to actually write about it. Start your own blog and lead by example.</comment></comment></comment>


How "User-Selected Content" Can Increase User Engagement - <AUTHOR> http://scale.cc/2009/06/26/5-examples-of-using-user-selected-content-to-increase-user-engagement/ <comment><USER2> Thanks so much for Andrew, James and Mixergy. If they didn't cover this topic, I don't realize so many sites are using this under-the-radar tactic so successfully.</comment>


Don't yell at waitresses. You look like a jerk and it blows investments. - <AUTHOR> http://thestartupfoundry.com/2011/03/20/dont-yell-at-waitresses-you-look-like-a-jerk-and-it-blows-investments/ <comment><USER3> It also blows hiring. I was eating lunch with the CTO on my interview loop, and he was pitching me hard on the company. He treated the waitress (who gave us perfect service) so poorly that I instantly knew I would never want to work for this guy. Thinking back to every profoundly bad manager I've ever had (not bad in terms of 'ends' but bad in terms of 'means'), they all correlated with crapping on anyone they encountered in the service sector.

<comment><USER4> Who are all these people who chronically mistreat the waitstaff? I've been to restaurants with hundreds of different people and I've never seen anyone act abusively towards the servers.

<comment><USER5> I know people who work in retail, and suck people exist. There are not a massive proportion of society buy even a bit of a percent is a lot of people overall. You would might that people out for a nice relaxing meal, or shopping in the middle of a holiday, would be pleasant to deal with: but you'd be wrong. I know a number of people in retail and I can tell you (through indirect experience) that the general public can be unrealistically demanding and completely unpleasant if their demands are not met, repeatedly, yesterday.

By way of an anecdotal example: I know someone whose father thinks there is nothing wrong with clicking his finders and yelling "BOY!" at a waiter to get their attention. Except in Italian places - there it would be "Luigi" rather "boy". I bet he consumes a lot of spit when he goes out for a meal...

For many reasons many people out there are dicks. I might well be one of them if I'm honest with myself, though not one of the worst by a long shot. And if you work in retail or catering you are likely to meet far more than your fair share of them. Remember: most workers in a shops or restaurants deal closely with far more members of the public in a day than most of us encounter closely enough to notice in a year.

<comment><USER6> "I know people who work in retail, and suck people exist. "

I'm assuming you meant " _such_ people exist", but if so, that's probably the most accurate typo ever :)

<comment><USER5> I might look better were it not surrounded by other typos and even one place where I appear to have typed completely the wrong word (or partly rearranged a sentence and failed to finish making the new form make sense...).

</comment></comment></comment></comment></comment><comment><USER7> You can tell a lot about a person by the way that he treats waiters, waitresses, janitors, clerks, and other lower paying service jobs.

<comment><USER8> I've heard a variant of this as _"The true measure of a man is how he treats someone who can do him absolutely no good."_

<comment><USER9> While that's a good quote, it's not quite relevant for people such as waiters. In my experience, being polite and tipping generously _regularly_ gets me a speedier and more pleasant service. Sometimes it won't make a difference, sometimes it will make even more of a difference, such as a free drink or two, but more often than not it does have a positive impact on the service you receive.

That's true not just with waiters, but in many service situations - <USER2> example, in Oxford (a fairly small city with fairly low numbers of taxis required) a lot of the drivers know me, and when I call for a ride it takes a taxi, in my experience, roughly half the average time to arrive, simply because the drivers on duty know that I will be a pleasant customer and a good tipper.

Getting better service shouldn't be a neccesary reason to treat people well, but it's certainly a nice bonus.

<comment><USER8> In fact, that's why I was careful to call it a variant; my sentiments are the same as yours. I'm actually happy that you've articulated the distinction.

</comment></comment></comment></comment><comment><USER9> The more important point isn't that you _look_ like a jerk, it's that you _are_ a jerk.

<comment><USER10> In that case, everyone is a jerk because if we're honest, we've all been rude at least once in our lives. :)

In other words, I find it more helpful to call out specific behavior as inappropriate than to write off the whole person as a "jerk".

<comment><USER9> I can honestly say I've never been rude to a waiter, taxi driver, shop assistant... etc.

And I certainly wouldn't claim to abide to a higher than average moral standard, I've been rude to my friends and to people I dislike. But not to my colleagues, not to strangers and not to people working indirectly for me (i.e. waiters etc.)

It is quite possible that in the future I might be rude to a waiter, but that would be the exception, not the rule. So yes, it's possible that if you judge someone of a single incident you might have caught the one in a thousand occurrence, chances are against it, far more likely is that you're seeing their normal behaviour.

<comment><USER10> I'm not defending the behavior of being rude to the waitress nor saying that the entrepreneur had bad judgment in leaving the deal.

My point is that it is not helpful to think of people as "jerks". I actually think it can promote rude behavior to label people "jerks" because people may justify to themselves that it's okay to be rude to a "jerk".

<comment><USER9> Theoretically I would agree with you, realistically I'm unable to think like that. I'm naturally very quick to make snap judgements (perhaps more so that other people or perhaps it's normal, I'm not sure), but I'm generally good at keeping an open mind. So while I may instantly decide I dislike someone, it's not hard for them to change my opinion if it turns out I was being too hasty. On the other hand, if they continue to act in that way, it becomes a deeper hole to dig themselves out of.

Very few people get that far. I think there's only one person whom I would call a "cunt" genuinely rather than endearingly, and that's my former boss. He was rude to colleagues, both below and above him, to friends, to waiters, to his girlfriend, and even to clients. I hated the two years I spent working for him, and there is nothing he could do now to change my opinion of him. Thankfully I haven't spoken to him in almost a year, and most likely never will again.

One person I used to be enemies with - for a few years we hated each other and were horrible towards each other whenever our paths cross (in my head he was at fault entirely, and I know he feels the same way) now works for me full time. Because of his talent I overlooked our relationship and gave him the break he needed, and in the 18 months since then we've had a great working relationship. Now I wouldn't say a bad thing about him.

The above is a drawn out way of saying: it is possible, if perhaps not common, to label people without it having negative consequences.

Actually, re-reading, your words were that if you label someone negatively, you're more likely to treat them badly. That may be the case, but for me, I'm no more likely to be rude to someone I label a jerk as someone I don't label a jerk, but that I notice acting like a jerk. The label isn't something I decide to add because of something, it's a connection my brain makes automatically - unless there is evidence that someone is _not_ a jerk, there isn't a difference between them _acting_ like a jerk and _being_ a jerk.

(Written from my phone in bed so won't re-read what I just wrote, hopefully it makes at least a little sense.)

<comment><USER10> Thanks, I think I get what you're saying. I love the story about the former enemy relationship turning into a great working relationship. :)

</comment></comment></comment></comment></comment></comment><comment><USER11> I just wanted to comment on the excellent picture choice. Didn't realize it was a cup of coffee until I read through the article.

I then imagined myself as the entrepreneur, staring down into his coffee on the table, pondering the deal. I don't think I would've had the same visual response with a stock photo of a coffee cup. Not sure if that was your intent, but good job either way.

<comment><AUTHOR> Thanks for your kind words. My background is in design and I have a lot of fun working on those little graphics. All the best - Paul.

<comment><USER12> When I was younger all the grownups would offer advice like "Don't choose an immature name like Goat Butt to use online. No one will ever take you seriously." Remember that?

I'm glad you're dedicating yourself to proving them wrong.

<comment><USER13> I know this is superficial and I am no one to comment, but I still do not like his nick selection (for professional purposes.)

<comment><USER14> Counterpoint: I love it. It's memorable.

</comment></comment></comment></comment></comment><comment><USER15> Along a similar line is one of my favourites: "if you lend a friend $20 and then never see him again, it was money well spent"

</comment><comment><USER16> There was a saying, something in this style: "A person that is nice to you but not to the waitress, is not a good person."

</comment><comment><USER17> Don't yell at anyone.

Figure out the mistake and help them to correct it. If you're impressed by who someone is and that sort of thing then don't do it because you never know where they will be in 5 months, let alone 5 years.

If you're just a decent person don't do it because it's disrespectful and you bring disrespect to yourself by treating others that way. It also shows you to be out of control with your emotions.

One of the things that struck me most in the past few days was while waiting in line to get into Hipmunk party @ SXSW to see Alexis outside handing out bottles of water. Out of all the people I've met, ideas tossed around for startups, everything @ SXSW, Alexis had the most impact on me in terms of his dedication to helping people out.

</comment><comment><USER18> $40k for 15% post means he was screwing you to begin with, unless it was money which came with a technical cofounder attached, or someone with huge industry connections in a non-tech vertical product company, or happened in 1975.

You should thank the investor for giving you another obvious sign to warn you away.

<comment><USER19> So… what do you think of ycombinator terms?

<comment><USER18> As just money, it would be horrible. As a whole package, it's basically the standard for incubator, quite successful, and has a great oversubscription ratio.

</comment></comment></comment><comment><USER20> The title of this bothers me. It suggests that you shouldn't yell at waitresses because it blows investments but, really you should not yell at waitresses and it also happens to blow investments. Don't put on a shoe for people you are doing business; be the person you would pretend to be.

</comment><comment><USER21> Don't tell everybody. It's a great way to identify people I want to avoid, and you ruin it by telling everybody.

<comment><USER22> Don't worry too much about it. Most of the "everybody" don't hang out on Hacker News.

<comment><USER21> It's more of a "don't go telling people" thing than a "now that it's on Hacker News everybody will know" thing.

</comment></comment></comment><comment><USER23> Also known as the "Swanson's (CEO) waiter test" -

 _A person who is nice to you but rude to the waiter, or to others, is not a nice person._

[http://www.usatoday.com/money/companies/management/2006-04-1...](http://www.usatoday.com/money/companies/management/2006-04-14-ceos- waiter-rule_x.htm)

</comment><comment><USER24> You can also do this with driving. A maxim I once heard was during a deal/hiring/etc process suggest going out for lunch and having the other person drive you both there.

You can learn a lot about a person by the way they drive and they way they eat lunch (esp interacting with service people).

<comment><USER10> You should be careful with judging people by how they drive. Cities have different levels of traffic congestion, traffic engineering and expectations. So the driving may say more about the city the driver is from than their personality.

</comment></comment><comment><USER25> This story is often repeated in all types of business - it is a really useful tool when recruiting any kind of talent, or, for that matter, any kind of relationship.

It's an absolutely remarkable character test! Useful when dating someone, interviewing someone or any number of other scenarios. It baffles me that people treat others in such a rude and public way - and moreover, it's stunning how frequently it occurs.

</comment><comment><USER26> I just hope they reminded the VC exactly why they were leaving, so he had a chance to think about his attitude.

<comment><AUTHOR> He said something along the lines of "I'm very sorry for my friends rude behavior. Nobody should should act like that". I think the angel investor got the point.

<comment> bjelkeman-again @jschuur Don't you think the investor will take the easy way out and not shout at people when discussing investments, but not actually change as a person?

I think these type of behaviors are deeply set. They can be changed, but I think it is more likely that the investor learns to be more subtle when discussing with an investment target, rather than actually becoming a nicer person, which requires a real change of character.

<comment><USER26> I agree that this points to deeply rooted a deeply rooted mindset and behavioral issues. At the same time though, this is an opportunity to do the right thing and attempt to show the guy that this is a fundamental and not compartmentalized problem he has (not that I'm criticizing the entrepreneur here).

Maybe, over time, this will resonate with him, when he sees other people's reactions when this happens again. If not, you've done all you could.

<comment><USER27> Exactly. Doing nothing because "It won't help" is tacit acceptance. Only by slowly wearing away at the behavior can you change it, but you still need to try.

</comment></comment></comment></comment></comment><comment><USER28> I do not believe that anyone is saying that you should judge an individual based on one mistake, or one interaction with a waitress. However, the advice is to look at this incident in context, seek out trends (or the lack of trends), and add this to your perception of the individual.

</comment><comment><USER29> I generally live by the words "people suck." Then when you see such disgusting behavior as this, it is not surprising.

Even better though, is when you meet truly kind people, it is a surprise and pleasure to work with them.

<comment><USER30> I tend to give people the benefit of the doubt, and treat the assholes as outliers. It's too easy to assume the worst, but that's what a lot of people do these days. It's kind of sad.

<comment><USER29> I'll agree that saying "better safe than sorry" is probably the wrong way to view life, but taking what other people say with a grain of salt lets you question what people say more and come to your own decisions about life.

Also, "people suck" includes yourself, so you can think about it as a way to think about what you are saying and doing and see if it is up to a level of quality that you are comfortable with.

</comment></comment></comment><comment><USER31> > "We will take over the world together and I will make both of us very rich"

That doesn't sound like a smooth talker, it sounds like a tacky sleazeball. Great story, though.

</comment><comment><USER32> How you treat a waitress or janitor says a lot about your personality. IMO, it's an asshole litmus test.

</comment><comment><USER33> Perhaps this advice transcends "investments" and "entrepreneurs" and even "waitresses."</comment>


Ask HN: How to work remotely for US company? - <AUTHOR> I've just signed on for a new role with a US company but I'm a resident in the UK and I'm not sure what the best way to handle wages is. I'll seek official tax advice in the UK, but in the meantime I'm hoping that HN has others in the same position.<p>The suggestion is that I set up as an independent contractor and work as self-employed, but I'm slightly concerned that it will flag up the "disguised employee" catch with IR35. It'd be great to hear from anyone with experience or advice here. <comment><USER2> I work as an independent contractor, self-employed, for a US company. Currently we're using Transferwise.com for payments. You'll probably need to fill in a form W-8BEN (Certificate of Foreign Status of Beneficial Owner for United States Tax Withholding and Reporting (Individuals)).</comment>


MSI's 10-inch Tegra/Android tablet coming this year for $500 - <AUTHOR> http://arstechnica.com/gadgets/news/2010/01/msis-10-inch-tegraandroid-tablet-coming-this-year-for-500.ars

<comment><USER2> The bit about the Dell tablet is spot on. With Apple actually hitting a reasonable price with the entry level iPad, I think this will put tremendous pressure on other tablet makers and netbook vendors to push down prices.</comment>


Price of Facebook Privacy? Start Clicking - <AUTHOR> http://www.nytimes.com/2010/05/13/technology/personaltech/13basics.html?src=tptw

<comment><USER2> The US Constitution is unusually short because it's written on the principle of English common law. In traditional common law, the written law is very short and very general. Then, as complications come up, the courts interpret it and precedent is applied. This is opposed to more statutory systems where you try to write a law as specifically as possible and the courts don't have as much power to decide "case law".

Another famous example of common law is "The Laws of the Game", the official rulebook of association football (soccer): [http://www.fifa.com/mm/document/affederation/federation/81/4...](http://www.fifa.com/mm/document/affederation/federation/81/42/36/lawsofthegameen.pdf)

44 pages of the document are the rules themselves (17 rules), there's about 3 pages of addendum, and then over 50 pages of summarized interpretation (the equivalent of case law). The pages themselves are not very dense.

<comment><USER3> more laws = more corruption

</comment></comment><comment><USER4> My right arm is longer than my left foot.

I'm really not sure how this is a logical comparison in anything other than a link-bait case.

The click-through licenses on some freemium apps I've used are also longer than than the Constitution, yet shorter than War and Peace.

I would expect most modern legal-ese documents that define restrictions and allowances related to privacy to be longer than 200 year old documents designed to grant basic freedoms and allowances to society. Especially when you consider that the US Constitution holds the distinction of being the shortest such document of any modern nation with a Constitution.

</comment><comment><USER5> For a relevant comparison: every bill Congress passes is hundreds of times longer than the Constitution. How does that make you feel?

<comment><USER6> Like the current folks in congress aren't nearly as smart as the folks who wrote the constitution.

</comment></comment><comment><USER7> Don't miss the article's infographic, "A Bewildering Tangle of Options" on the complexity of the privacy options panels. [http://www.nytimes.com/interactive/2010/05/12/business/faceb...](http://www.nytimes.com/interactive/2010/05/12/business/facebook- privacy.html)

</comment><comment><USER8> There was a bit this week on "The Daily Show" that chided the British for not writing down their Constitution. But the British version is lower-case: their government has a constitution, not a Constitution. And that's the original meaning, _constitution_ being an English word meaning "the composition of something".

Clearly, the U.S. Constitution bears little resemblance to the U.S. Government's constitution. How long would USG's actual constitution be if you wrote it down? Let's just say it would be a _wee_ bit longer than Facebook's privacy policy.

</comment><comment><USER9> I find it interesting how short Flickr's policy is in relation to the others. Especially since Flickr would seem to have more intellectual property.

I assume that is because of their use of existing copyleft license options for photos.

</comment><comment><USER10> And it is considerably more subject to amendment.

</comment><comment><USER11> It also hopefully will not require 220+ and counting years of jurisprudence for its true meaning to be divined.

<comment><USER12> I expect there's enough case law relating to Facebook's privacy policy to keep things interesting. That's the common ground as far as I can see: neither can be read in isolation.</comment></comment>