X64_dbg: An open-source x64/x86 debugger for Windows - <AUTHOR> http://x64dbg.com/ <comment><USER2> Minor nitpick: X32 is not "32-bit x86", it's an entirely different ABI[1], using 32-bit pointers but the (faster) 64-bit instructions.

You're better of just calling it x86 to describe the 32-bit instruction set.

I love the connections between jumps and landing sites though, very helpful!

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

</comment><comment><USER3> This looks nice. From the layout of some of the menus, it seems like it was written by fans of OllyDbg, maybe because OllyDbg still has no 64-bit support. OllyDbg is great, so hopefully I can get some use out of this tool as well.

<comment><USER4> This 64-bit version of Olldbg is in the works

[http://ollydbg.de/odbg64.html](http://ollydbg.de/odbg64.html)

</comment></comment><comment><USER5> Hey, great work! It's a little bit unfortunate it doesn't work for Linux, since I've been looking for something like that for a long time and haven't found one, yet.

How hard would it be to port this to Linux? What would need to be ported? I don't have much free time, but I might be able to contribute to a port for Linux, given enough free time.

<comment><USER6> No need to port anything, you can use edb: [http://codef00.com/projects#debugger](http://codef00.com/projects#debugger) or [https://code.google.com/p/edb-debugger/](https://code.google.com/p/edb- debugger/)

<comment><USER5> I've used it for some time and don't really like it much.

<comment><USER6> What don't you like? I know the author, and I'm sure he'd appreciate feedback offline

</comment></comment></comment></comment><comment><USER7> This is based on the TitanEngine. [http://www.reversinglabs.com/resources/open- source/titanengi...](http://www.reversinglabs.com/resources/open- source/titanengine.html)

Is there a word for open source that has no revision history? (there's just a .rar file on that site). 7zip does it too and it drives me crazy.

<comment><USER8> We completely rewrote TitanEngine into TitanEngine Community Edition: [https://bitbucket.org/mrexodia/titanengine- update](https://bitbucket.org/mrexodia/titanengine-update)

</comment></comment><comment><USER9> That looks awesome, is there something like this for linux as well? Or what is the current way linux programmers debug x86?

<comment><USER10> There's generally very little call for binary-level debuggers in linux. So everything is oriented towards source-level debuggng. Which makes sense since normally source code is available.

IMO gdb isn't very good for binary-level debugging, which is pretty much a euphemism for reverse-engineering anyway. It'd be nice to have something like that. I tinkered around with building such a thing years ago[0] but I wanted it to be cross-platform (I was using PPC at the time). But found libdisasm to be a bit limited as a disassembler suitable for such a thing.

[0]. [http://www.scaramanga.co.uk/stuff/debugger/l33t-debugger.png](http://www.scaramanga.co.uk/stuff/debugger/l33t-debugger.png)

<comment><USER11> Check out radare2 ([http://radare.org/](http://radare.org/)), which is one of the best tools for binary reversing available on Linux.

<comment><USER12> radare2 is incredibly powerful but is a nightmare when it comes to usability though.

</comment></comment></comment></comment><comment><USER13> It's really good to see such a lightweight interface, like Ollydbg. I stopped using Ollydbg back then when I had to debug some x64, but didn't find anything free with such a minimalist and powerful UI. I guess you guys made it, good job :)! I wish it was available for Mac too thought - not using Windows anymore.

<comment><USER14> in case anyone missed it, there is Olly for x64: [http://www.ollydbg.de/](http://www.ollydbg.de/)

<comment><USER15> You might want to check that again. There is no x64 olly available to anyone other than the author. It's been a "work in progress" for a decade or so.

</comment></comment></comment><comment><USER16> For OSX there is now hopper, a binary debugger and reverse Engineering tool. Something between Olly and IDA with a nice interface. Can work on x86 as well as ARM binaries. Hopper is not open source. [http://www.hopperapp.com](http://www.hopperapp.com)

<comment><USER7> I'm really really hoping Hopper can catch up to IDA. I'm still not good enough with assembly to make much use of either, but the free version of IDA can make some really nice flowcharts which are pretty helpful.

</comment></comment><comment><USER17> How does this compare to WinDBG, which already seems fairly mature? Why would I switch to this? (if you ask me, the problem of FOSS doesn't come into play here, since Windows itself is a closed platform).

And indeed, a similar GUI-based debugger for Linux would be awesome as well.

<comment><USER18> To me the strength of windbg is not the 1990s style Multiple Document Interface UI. It's the fact that the commands are so terse and powerful. Once you get over the (steep, I'll admit) learning curve, you get a lot done without typing very much. I find gdb a lot more painful to get around for even simple stuff.

The remote debugging support is also phenomenal, though you need a culture to support it. I've only seen it work really well on the MS campus.

</comment></comment><comment><USER19> The site is quite broken on my Nexus 4.

[http://i.imgur.com/H72QriT.png](http://i.imgur.com/H72QriT.png)

<comment><USER20> I don't think that's a major issue.

</comment></comment><comment><USER21> The link to the downloads page is broken. Anyone?

</comment><comment><USER22> Hey look, it's GPLv3. So the only people using it are probably writing malware. I don't expect any commercial windows shops or anyone at MS will use this tool. That said, seems like a pretty cool project.</comment>


Targeting Huawei: NSA Spied on Chinese Government and Networking Firm - <AUTHOR> http://www.spiegel.de/international/world/nsa-spied-on-chinese-government-and-networking-firm-huawei-a-960199.html

<comment><USER2> So they got a taste of their own medicine. Huawei has spied on and stolen from US companies. For example, Huawei copied Cisco's iOS -- including source code comments and bugs -- and even copied their user manuals verbatim. [1, pp. 8-10,12; 2]

Besides, the facts that non-Chinese employees cannot own shares in Huawei; [3, p. 23] that the Communist Party appoints an anonymous "Party Committee" within Huawei; [3, p. 30] and that Huawei was involved in selling US network- monitoring equipment to Iran [4] -- makes them a legitimate target for NSA, in my opinion.

[1] Cisco's motion for preliminary injunction [http://newsroom.cisco.com/dlls/Cisco_Mot_for_PI.pdf](http://newsroom.cisco.com/dlls/Cisco_Mot_for_PI.pdf)

[2] [http://blogs.cisco.com/news/huawei-and-ciscos-source-code- co...](http://blogs.cisco.com/news/huawei-and-ciscos-source-code-correcting- the-record/)

[3] Investigative Report on the U.S. National Security Issues Posed by Chinese Telecommunications Companies Huawei and ZTE [http://intelligence.house.gov/sites/intelligence.house.gov/f...](http://intelligence.house.gov/sites/intelligence.house.gov/files/Huawei- ZTE%20Investigative%20Report%20\(FINAL\).pdf)

[4] [http://www.reuters.com/article/2012/10/08/us-cisco-zte- iran-...](http://www.reuters.com/article/2012/10/08/us-cisco-zte-iran- idUSBRE89709N20121008)

<comment><USER3> Basically, tu quoque? I personally believe both NSA and Huawei's actions are morally reprehensible.

<comment><USER4> Not really.

The first paragraph is essentially gloating. Not necessarily commendable, but understandable.

However, he's not using the "they did it too" as _justification_ , which is what tu quoque is all about. He outlines reasons beyond "taste of their own medicine" for why this would be justified.

</comment></comment></comment><comment><USER5> Isn't spying on the Chinese government and Huawei exactly what we pay them to do?

<comment><USER6> Yes.

</comment></comment><comment><USER7> Could someone please explain to me why it is justifiable for Edward Snowden (and by extension, Glenn Greenwald) to leak this information?

<comment><USER8> Could you explain to us why the US government is partaking in exact same tactics that they tried to drag the Chinese through the mud with?

Hypocrisy seems to be the name of the game here: spying on attorney-client communications, pwning sysadmins to get access to infrastructure and rifling through trade secrets of companies. The last two of which the U.S. has put on their outrage face and publically shamed the Chinese for doing.

Regardless, the Snowden cache was bulk, and was given to Greenwald, Poitras, and Gellman. Snowden isn't giving marching orders in the background, he left it up to journalists to decide what gets published. While they probably still collaborate, Poitras is in Berlin and is most likely one of the primary journalists behind this story and not Greenwald.

<comment><USER9> It's realpolitik: doing and saying anything and everything to get an advantage over a perceived opponent or rival. This includes intentionally making misleading statements and convincing people you care about moral standards when you don't.

Before Snowden changed things, it was readily apparent that everyone was ready to believe the US and nobody was ready to believe China. So the accusations were a rational thing to do.

The US isn't the only country that does this, obviously, and people are divided over whether or not it is the 'right' way to conduct international relations.

<comment><USER10> > This includes intentionally making misleading statements and convincing > people you care about moral standards when you don't.

Another possible is that several groups within the US government aren't on the same page. Elements of the State Dept might work to end torture in S. America, while the CIA secretly trains S. American governments in torture.

This sort of, hack everyone/steal everything isn't in the long term interests of the US government because the US has the most to lose in terms of IP/infrastructure, but engaging in this damaging behavior may allow some agencies to "get the job done" in the short term. Makes sense that groups tasked with grand-strategy would oppose this behavior, whereas groups tasked with short-term results would ignore the long game. A predictable result of a failure of oversight (left hand plays against the strategy of the right hand).

</comment></comment></comment></comment><comment><USER11> It makes me sad that Huawei may now be driven to an even greater distance from the US market—particularly the consumer market. The phones that Huawei makes are quality enough, and cheap enough for me to consider them a staple of the Maker movement (at least that involving android smartphones). If I'm gonna tear apart a phone or at least put it in harsh conditions (like we do at [http://rfcx.org](http://rfcx.org)), I at least want it to be reliable and expendable, financially. It's now hard enough to get Huawei phones in the US, and I fear it's now only going to get harder. I know that's not really the point—this article is really about spying, and US is not alone in doing so, by any means, but this news affected me on another level.

</comment><comment><USER12> > NSA workers not only succeeded in accessing the email archive, but also the > secret source code of individual Huwaei products. Software source code is > the holy grail of computer companies.

We need to open-source everything (soft/hard/firmware) and modify these business models.</comment>


Open Source Enlightenment - <AUTHOR> http://allisonrandal.com/2012/04/15/open-source-enlightenment/

<comment><AUTHOR> This was the transcript of Allison's talk on OSDC.tw last week. A Chinese translation is available here: <https://gist.github.com/2400315></comment>


Google Now Peeks into your Inbox and Opens up your Emails for everybody - <AUTHOR> http://alexwebmaster.com/google-using-gmail-to-provide-search-results/

<comment><USER2> How did the girlfriend send the mail? Perhaps that was leaked, also, I don't believe a single thing of this article. If Google would be doing this, this would mean that their entire service would fail within days. Such things cannot go unnoticed, perhaps there is an angry ex out there. Pointing to Google is just an easy way out.

</comment><comment><USER3> I'm sorry that I accidentally upvoted this submission. It sounds like unsubstantiated FUD to me.

</comment><comment><USER4> Is it possible that unpaid parking tickets go to some kind of court record, which attorneys frequently check for client acquisition? It's pretty common for someone in any kind of legal proceedings to receive solicitations from attorneys.

</comment><comment><AUTHOR> Be careful with your emails if you use Gmail, Google now can have complete access to them.

<comment><USER5> Is there any proof of this, the search+gmail integration was about making it easier for _you_ to see _your_ email. similarly for Google Now. This seems like unfounded conjecture to me.

<comment><AUTHOR> Of course is about making easier for you to integrate your services but is also about making it easier for Google to sell your information. My friend started getting calls from Texas attorney's to the phone he used to verify his gmail account (and the line is not under his name). And after his GF emailed a poem where she included his full name, he started getting legal notices in his inbox. He lives in Florida but had a parking ticket in Texas.

<comment><USER5> correlation != causation</comment></comment></comment></comment>


Why Many Computer Science Programs Are Stagnating - <AUTHOR> http://blog.hackerrank.com/why-many-computer-science-programs-are-stagnating/

<comment><USER2> > Here's why: There's No Feedback Loop Between Industry & Universities

On what? On computer science? Sorry, but industry does not use _computer science_ , it uses _IT_ \-- hence it cannot give any feedback.

Universities are not predisposed to teach what's necessary in industry, for various reasons (students' motivation has structure different from what will be in daily job, there's lack of big things (longer than half a year) to write as assignments, lack of appropriate hardware (because it's too expensive to not earn for itself, but universities can't earn this way)).

And guess who is predisposed to teach skills necessary in industry? It's industry!</comment>


From AST to Lossless Syntax Tree - <AUTHOR> http://www.oilshell.org/blog/2017/02/11.html <comment><USER2> Funny, I actually did the same thing for python years ago and also talked about "Lossless Syntax Tree" then start calling it a Full Syntax Tree since CST doesn't really fit; I wasn't aware of the existence of lib2to3 at that time.

My goal was different than your: I wanted make writing custom refactoring code (that's it: code that modify source code) and code that works on source code a do-able task.

I end up doing some design decisions that I haven't found elsewhere (but this field is hard to explore):

\- producing json, because datastructure doesn't lie to you and potential interoperability

\- nodes are responsible for the formatting within itself, in opposition with lib2to3 where a node is responsible for the formatting before itself (or after, I'm not sure anymore)

\- the tree is design for the human brain instead of an interpreter/compiler (for example having list instead of recursive structures)

The project is called Baron [https://github.com/pycqa/baron](https://github.com/pycqa/baron) and was actually a mean for me to work on what really interest me: the abstraction that attempt to make writing custom refactoring a doable task [https://github.com/pycqa/redbaron](https://github.com/pycqa/redbaron)

Good luck with your project :)

<comment><USER3> I've used RedBaron before when building some toy languages.

Thanks for a great project!

<comment><USER2> Oh, can you give more details/links please? I'm really curious about that!

<comment><USER3> The code never became public, but I can give some details.

The idea was to create an easier C, using Python as an intermediary language.

RedBaron provided the AST and AST->Python layers.

Unfortunately, the project had to pivot, because optimising Python to be fast enough was overly difficult/unpredictable.

</comment></comment></comment></comment><comment><USER4> Cool I didn't know this was a common pattern. I recently saw the same approach implemented in scala.meta [1] - it allows you to view the code as both parsed tokens with all syntax intact as well as more abstracted ASTs which only carry semantic meaning. Someone even built a code formatter called scalafmt[2] like the author mentions.

Its a really cool approach because I think we need to pay much more attention to making more/better structured data from the compiler available to tools.

[1] [http://scalameta.org/tutorial/](http://scalameta.org/tutorial/) [2] [https://github.com/olafurpg/scalafmt](https://github.com/olafurpg/scalafmt)

<comment><USER5> Back when we started scala.meta token-level granularity wasn't available in most metaprogramming frameworks. Clang [1] and Roslyn [2] seem to be the first two major industry-grade compilers that use this approach and re-use the compiler as the foundation for extensible tooling APIs.

[1] [https://clang.llvm.org/](https://clang.llvm.org/)

[2] [https://roslyn.codeplex.com/](https://roslyn.codeplex.com/)

<comment><USER6> (author here)

Cool! Yes this is what I was getting at. I mentioned Clang and Microsoft's IDEs in the "related work" section. I haven't seen them describe their data structures very much.

Clang has some documentation, but it's not very clear. For example, this doc has a FIXME(describe design) on it.

[http://clang.llvm.org/docs/LibFormat.html](http://clang.llvm.org/docs/LibFormat.html)

I also think the Clang AST is absolutely enormous and thus hard to document.

<comment><USER5> We've not completely solved the problem of language complexity creeping in to the metaprogramming toolkit but we do have quasiquotes [1] to partially address the pain of ast constructors and destructors.

e.g. For code snippet "class C(x: Int)" Scala compiler create a tree that roughly resembles the following code:

        class C extends scala.AnyRef {
          <paramaccessor> private[this] val x: Int = _;
          def <init>(x: Int) = {
            super.<init>();
            ()
          }
        }

This tree looks even more terryfing under the hood in terms of AST constructors. Instead of making people figure out how that works we support nice high level sugar instead:

        q"class C(x: Int)"

Where q is a magic string interpolator that is compiled to generate an equivalent AST. It can be used for both construction of new AST nodes based on the older ones (we use $name syntax to substitute thing in) and also deconstuction of existing ones into smaller pieces via pattern matching ($name extracts parts out.)

[1] [http://docs.scala- lang.org/overviews/quasiquotes/intro.html](http://docs.scala- lang.org/overviews/quasiquotes/intro.html)

<comment><USER6> OK interesting, Julia metaprogramming looks very similar to this, and I hope to take inspiration from it for oil:

[http://docs.julialang.org/en/stable/manual/metaprogramming/](http://docs.julialang.org/en/stable/manual/metaprogramming/)

[https://en.wikibooks.org/wiki/Introducing_Julia/Metaprogramm...](https://en.wikibooks.org/wiki/Introducing_Julia/Metaprogramming)

They use :(expr) or quote/end for quotation, and $var for interpolation. Elixir metaprogramming uses quote/end for quotation, and unquote for interpolation. (In fact the entire Elixir language appears to be done with AST metaprogramming, since it's on top of Erlang.)

I basically think of these schemes as "Lisp-like AST metaprogramming, but with Syntax". Thanks for the pointer on Scala.

I saw a video where people asked why Clang source tools generate textual changes rather than AST changes... and this is a good example. People for some reason think that ASTs are "cleaner" or more usable, but they can be a pain.

</comment></comment></comment></comment></comment><comment><USER7> The Go library's standard AST package[1] similarly stores comments and whitespace information. It has to, since it's used by gofmt, and you wouldn't be very happy you lost comments when formatting your code.

[1] [https://golang.org/pkg/go/ast/](https://golang.org/pkg/go/ast/)

<comment><USER8> Unfortunately, most people agree that the ast package is a mess. It isn't used by the actual compiler. There is some talk of eventually deprecating it and publishing the internal ast/parser/type-checker packages.

<comment><USER7> I think calling it a "mess" is hyperbole, but yes, it's true that it has shortcomings and may be deprecated and replaced.

</comment></comment></comment><comment><USER9> IDEs like IntelliJ need to do this as they support all sorts of transformations (refactorings) while preserving the original source code as much as possible. Their syntax trees must also handle errors, as they need to work robustly in the editor while the user is typing or otherwise has syntax errors. IntelliJ can even perform refactorings while the code has syntax or semantic errors.

See this for more details: [http://www.jetbrains.org/intellij/sdk/docs/basics/architectu...](http://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview.html)

</comment><comment><USER10> The Roslyn compiler (C#) stores "syntax trivia" as properties of the AST nodes they appear near. Whitespace and comments are considered trivia.

<comment><USER11> [https://github.com/dotnet/roslyn/wiki/Roslyn- Overview#syntax...](https://github.com/dotnet/roslyn/wiki/Roslyn- Overview#syntax-trivia)

<comment><USER6> Thank you, this kind of design doc is exactly what I was looking for. I'm not really familiar with Microsoft's ecosystem, but I mentioned it in the blog post because I suspected that they had the most advanced technology in this domain.

From that doc, which I plan to read thoroughly:

 _This enables the second attribute of syntax trees. A syntax tree obtained from the parser is completely round-trippable back to the text it was parsed from. From any syntax node, it is possible to get the text representation of the sub-tree rooted at that node._

This is true with my representation too, but I don't actually attach "trivia" to trees. Instead I just have every node store a bunch of span IDs. And then if you want to reconstruct the text, then you just take min(span_ids of node) and max(span_ids of node) and then concatenate those spans.

I also think the name "lossless syntax tree" makes sense, because they are describing very specific properties that ASTs and CSTs / parse trees don't have.

They also have an immutable property which is cool. I recall that Hjelsberg had a video on this:

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

[https://channel9.msdn.com/Blogs/Seth-Juarez/Anders- Hejlsberg...](https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on- Modern-Compiler-Construction)

</comment></comment></comment><comment><USER12> Are there any parsers (or parser generators) that allow to generate a "Lossless Syntax Tree" for an arbitrary grammar? Specifically, a parser that tags every parsed token with a tuple (line_id, col, length) that tells me where it was in the original parsed file. I've been thinking for ages about writing some refactoring tools for Fortran that would need something like that.

<comment><USER13> This is a parser generator that I'm working on:

[https://github.com/tree-sitter/tree-sitter](https://github.com/tree- sitter/tree-sitter)

It produces concrete syntax trees that can be queried by line or character index. The library is specifically focused on _incremental_ parsing, for use in a text editor, but it also works fine for normal 'batch' parsing workloads. It has a simple C API that you should be able to use from any language. Currently, there are bindings to JavaScript and Haskell. Here are some example grammars:

* C - [https://github.com/tree-sitter/tree-sitter-c](https://github.com/tree-sitter/tree-sitter-c)

* JavaScript - [https://github.com/tree-sitter/tree-sitter-javascript](https://github.com/tree-sitter/tree-sitter-javascript)

* Go - [https://github.com/tree-sitter/tree-sitter-go](https://github.com/tree-sitter/tree-sitter-go)

* Ruby - [https://github.com/tree-sitter/tree-sitter-ruby](https://github.com/tree-sitter/tree-sitter-ruby)

* Python - [https://github.com/tree-sitter/tree-sitter-python](https://github.com/tree-sitter/tree-sitter-python)

<comment><USER12> That looks extremely interesting!

</comment></comment></comment><comment><USER14> For JavaScript we have [https://github.com/estree/estree](https://github.com/estree/estree) as our JS AST spec for parsers like esprima, acorn, babylon (under a config flag), etc.

JSCS ([https://github.com/jscs-dev/node-jscs](https://github.com/jscs- dev/node-jscs)) (now merged with ESLint) started a CST project as well [https://github.com/cst/cst](https://github.com/cst/cst) to help deal with autoformatting by adding whitespace type nodes.

Currently the community has a lot of interest in [https://github.com/jlongster/prettier](https://github.com/jlongster/prettier) which just simply reprints the file from scratch in a consistent way (posted in [https://news.ycombinator.com/item?id=13365470](https://news.ycombinator.com/item?id=13365470)).

We also have [https://github.com/benjamn/recast](https://github.com/benjamn/recast) to help source to source transformations and [https://github.com/facebook/jscodeshift](https://github.com/facebook/jscodeshift).

</comment><comment><USER15> Using the line/column information in Python's ast objects, you can sort of, almost recreate the concrete syntax, and I've tried to do so in my toy project [https://github.com/Mortal/fstrings](https://github.com/Mortal/fstrings) which converts old %-style formatting to the new Python 3.6 f-string syntax. It's not feature complete, but it mostly works.

<comment><USER16> There's redbaron, which provides a full syntax tree, and is designed for making such changes: [https://github.com/PyCQA/redbaron](https://github.com/PyCQA/redbaron)

<comment><USER15> Unfortunately, redbaron targets Python 2, which doesn't have the f-strings added in Python 3.6. The project looks quite nifty otherwise.

</comment></comment></comment><comment><USER17> This is the first I've read about the oil shell. I've tried a few times to move to fish shell, but I'm too simple a shell user not to be tripped up regularly when I paste bash in, so I end up back at zsh for interactive and bash for scripts.

<comment><USER18> oil shell is not ready to be used as a login shell, it is a prototype. The most interesting part of it currently is its blog at [http://www.oilshell.org/blog/](http://www.oilshell.org/blog/)

<comment><USER17> I'm very much enjoying reading "Translating Shell to Oil" [http://www.oilshell.org/blog/2017/02/05.html](http://www.oilshell.org/blog/2017/02/05.html)

</comment></comment></comment><comment><USER19> By chance do you have or plan to have a RSS feed? One that is some 60 (!) posts long, so I can read everything you published in my RSS reader (I'm still using one!).

</comment><comment><USER18> Author never commits with his real email except for the initial commit (which points to [https://github.com/andychu](https://github.com/andychu)) and the project is owned by organization.

I wonder if it is possible to run anonymous projects by creating organization and committing as "Anonymous <email@example.com>". Of course you should just create another account using Tor in this case, but just from a theoretical point of view, can an outsider (not working at github) find out who the author is?

<comment><USER20> > I wonder if it is possible to run anonymous projects by creating > organization and committing as "Anonymous <email@example.com>". Of > course you should just create another account using Tor in this case, but > just from a theoretical point of view, can an outsider (not working at > github) find out who the author is?

Should be trivially possible; GitHub identifies people via their SSH key, not via a "name" or email address.

According to their terms of service ( [https://help.github.com/articles/github-terms-of- service](https://help.github.com/articles/github-terms-of-service) ):

> You must provide your name, a valid email address, and any other information > requested in order to complete the signup process.

Throwaway email addresses (e.g. mailinator.com ) are "valid", but not providing "your name" is a violation of the TOS, and hence:

> Violation of any of the terms below will result in the termination of your > Account.

Of course, that's not saying much when their terms also state:

> GitHub, in its sole discretion, has the right to suspend or terminate your > account and refuse any and all current or future use of the Service, or any > other GitHub service, for any reason at any time. Such termination of the > Service will result in the deactivation or deletion of your Account or your > access to your Account, and the forfeiture and relinquishment of all Content > in your Account. GitHub reserves the right to refuse service to anyone for > any reason at any time.

Hence anybody who actually cares about privacy, anonymity, publishing code without it being taken down, etc. should probably avoid GitHub (other than for mirroring). It's a single point of failure which can be closed down or sent a subpoena.

The whole point of git is to be decentralised, so just use `git send-email` and keep it that way. No need to give any control to a centralised entity, especially a proprietary one!

<comment><USER21> > > You must provide your name

It never says "full legal name", just "your name". Suppose you decide to use an alias? (Especially if you use one that sounds like a legitimate name?) Does that violate the TOS?

I am not a lawyer so I am not going to even try to interpret GitHub's TOS. But I do think GitHub ought to clarify this point–either explicitly say that aliases/pseudonyms are permitted, or alternatively if they insist on your legal name, say that. Although demanding one's legal name, if taken literally, can produce some odd results – if everyone calls you "Peggy Smith" but your legal name is "Margaret Helen Smith", should it be a TOS violation to create an account as "Peggy Smith"? Or, to give another example, a woman who marries may decide to adopt her husband's surname as her legal surname (or in some countries that might even happen automatically by law without her having any say in it), but still use her maiden name for professional purposes–that's what my mother did at least.

<comment><USER20> I imagine many GitHub users don't have a "full legal name"; e.g. I'm in the UK and AFAIK there's no concept of a distinguished "legal name"; a name is anything you're known by, i.e. I could give "chriswarbo" as my name in an official setting, since that's one of the names I'm known by (although it would probably cause me headaches, since that name doesn't appear in any of my other official forms/documents).

Besides which, as I quoted above, GitHub can terminate any account at any time for any reason, so it's really just nitpicking.

</comment></comment></comment></comment><comment><USER22> HN feature request: "hide all from domain matching pattern".</comment>


A new tracking system could revolutionise understanding of baseball - <AUTHOR> http://www.economist.com/news/science-and-technology/21650078-new-tracking-system-could-revolutionise-understanding-baseball-every-step

<comment><USER2> The stats will be what they are. As with all things, it will come down to how that information is evaluated.

I was an eager beaver with sabermetrics many years ago, but I've become disenchanted with the powers-that-be in that realm. Nate Silver is one of the good guys, but a really strong undercurrent of this-is-fact-and-my-voice-is- louder has taken hold. A bunch of Billy Beane wannabes, it seems to me.

This particular set of data from the MLB has the expansiveness to allow for better evaluation of players in things like defense, where current statistical calculations such as UZR can be highly fungible and volatile with the current set of inputs.

It's not surprising that certain teams would want to limit access to the data set, as it has become such an important aspect of player evaluation and team construction.</comment>


The alt-right's coordinated attacks on Google should disturb you - <AUTHOR> https://qz.com/1058097/the-alt-right-new-favorite-enemy-is-google/ <comment><USER2> Oh no, another boogeyman, poor Google who did nothing wrong ever, I hope they can deal with this.</comment>


Ask HN: What are your thoughts on Gnome 3? - <AUTHOR>

If you are using Gnome 3, what are your thoughts? <comment><USER2> I like the new Gnome Shell. It feels like Ubuntu's Unity shell, but Done Right. The Shell is kind of hard to describe, because it almost- but not quite- does away with the traditional desktop/window/taskbar model. It reminds me, in a way, of OS X. It's shiny and cohesive, but also functional.

I liked the fact that desktops are a fluid resource: you don't define that you want 4 desktops arranged on a 1x4 grid, you simply drag a window the next desktop down and it pops another one up below it. If you empty out a desktop, it disappears and the unused desktop moves up. The integrated messaging is useful for me, since I use Facebook and Google chats constantly. It's very out-of-the-way, but still right there when you need it.

In terms of dislikes, it felt very strange to not have a taskbar hanging out on the bottom of the screen. I think it's something that I'll just have to get used to (once I get a build for Ubuntu with the right theme), but I for one am not ready to entirely drop the window list. I understand the rationale for taking it away, since it is distracting, but it's also an indicator of how much work my system is/isn't doing at a given time.

<comment><AUTHOR> I really miss having a 2x3 grid of desktops.</comment></comment>


Solving All the Wrong Problems - <AUTHOR> http://www.nytimes.com/2016/07/10/opinion/sunday/solving-all-the-wrong-problems.html?_r=0 <comment><USER2> Some previous submissions:

[https://news.ycombinator.com/item?id=12065530](https://news.ycombinator.com/item?id=12065530) (2 hours ago)

[https://news.ycombinator.com/item?id=12064984](https://news.ycombinator.com/item?id=12064984) (7 hours ago)

[https://news.ycombinator.com/item?id=12064083](https://news.ycombinator.com/item?id=12064083) (15 hours ago)

Duplicate submissions are now tolerated[0] provided enough time has passed, and the item didn't get any (or much) attention on a previous submissions. But this is four submissions in less than a day.

[0] [https://news.ycombinator.com/item?id=11237340](https://news.ycombinator.com/item?id=11237340)</comment>


Procedural Content Generation for Games: A Survey - <AUTHOR> http://www.st.ewi.tudelft.nl/~iosup/pcg-g-survey11tomccap_rev_sub.pdf

<comment><USER2> Thanks!

I'm a huge fan of PCG, and this is a nice document to add to my collection. I gotta go back to my generic pcg lib I started making a few months ago.</comment>


Yield (when your bliss feels like a curse) - <AUTHOR>

Short term memory is the filter, the seemingly subconscious awareness that tends to allow only relevant information to pass through to the consciousness.
Because of the fleeting nature of our memory our minds are uniquely conducive to effortless hyper-specialization. The more you think of something, the more you think of something.
It is, then, curiosity, fascination or obsession that enables one to experience a cognitive leap in conceptual understanding. If one lacks the means to satisfy the appetite of obsession with real-world experience he will resort to using imagination, the Sweet-n-Low of experience.
The centripetal momentum of what is, essentially, a positive feedback loop is the mechanism by which the emergence of novel thinking occurs. Novel thinking excites us, naturally. Satisfies our obsession, momentarily, just enough feeling of light to allow us to persist emotionally despite illusory outward resistance.
All that is in existence has emerged from chaos. What we perceive as order is unimaginably complex... chaos, still. Only now, mechanisms for ephemeral forms of order are within the reach of increasingly conscious forms to manipulate. Therefore it is the nature of the universe for one to become consumed with the flavor of thought he so choose.
To "follow thy bliss" is to be in alignment with the universe. Trust that your current obsession will lead you to place thy hand next to those who will together lift the vail of uncertainty and fear to reveal truth and solace.
Do artists really toil away in obscurity? Is the gift of a provocative vision really a gift AND a curse? Are those who see "differently" fated to a solitary existence?
No.
As strong-willed as humans can be, we cannot voluntarily sustain a state of suffering. So it is the power of the network that all nodes have one beautifully simple rule of operation from which all novelty emerges... yield. Yield to that which will not let you "conform and live blissfully ignorant". Do not try to find your mother's embrace in a stranger, know it's significance in your mind exists for the purpose of compassion not imitation. All institutions are a juxtaposition to your pursuit of happiness when you rely to heavily on them. Do not let the scorn of women or organization send you on a journey which destination is redemption, but instead yield... you don't belong, yield.
Then proceed until the short bursts of light become long slow paces and you become the beam of light your son will follow. <comment><USER2> May I attempt to interpret/summarize your prose?

The first two paragraphs state that a person's mind is able to feverishly focus on a matter. Paragraphs 3 and 4 say that curiosity and 'obsession' elicits originality. The next paragraph says that people can create unique order from chaos (figure stuff out). Paragraph 6 says that obsession will lead to self discovery ('alignment with the universe') and happiness ('bliss'). Paragraph 7 asks if this obsession is malignant (a 'curse').

The next two paragraphs seem to be the heart of the essay. It says to not 'yield' (settle) to sub-prime responses to your 'obsession' or curiosity. Also, the 'novel' response to your obsession will be a guiding light for people with similar 'obsessions' as yourself.

Was I close to your intended meaning?

<comment><AUTHOR> yea, i think thats a close interpretation! thanks!

</comment></comment><comment><USER3> So much of what you are saying is a combination of honest, reflective, and wise, however I disagree with one main point: "As strong-willed as humans can be, we cannot voluntarily sustain a state of suffering." As a person familiar with emotional masochism I would have to disagree. I think that the majority of people do sustain a state of suffering for a whole host of reasons that range from self hatred, a mirroring of ones past without awareness of personal responsibility for the imitation of parental emotional patterns (and perhaps even out of a loyalty to the family mantle of martyrhood and pain), to the simple desire to be in control, and so forth. With that said you are right: to yield is the only way. But (to play the devils advocate) I dare say that sometimes yielding is the very thing we forget when we become caught up in the cycle of playing the ever obstinate victim. To refuse to yield becomes the unhealthy obsession, and so we are lost to ourselves, lost to ourselves, lost to ourselves.

<comment><AUTHOR> masochism is deriving pleasure from what would be considered pain by the majority. I think we should hope that us humans have a predisposition to seek pleasure (even when veiled in apparent pain). have you ever read A New Earth by Eckhart Tolle?</comment></comment>


Ask HN: Anyone use Windows Server? - <AUTHOR>

I'm getting a virtual dedicated box to launch a new product on(currently I maintain 6 linux servers). For fun, I was thinking of trying Windows Server. The box will primarily be used for hosting webapps(php & python, mysql db) and processing incoming email.
I have a few years of experience managing linux boxes and there's no particular problems that I have, but sometimes I wonder if I'm missing out on anything by not using Windows. For instance, I went through a stage where I was intent on using only Gnumeric and OpenOffice, then finally decided to give Office 2007 a shot and was angry at myself because it is so vastly superior.
Am I missing out by not giving Windows Server a shot? <comment><USER2> Yes, you're missing out on a world of pain. I came from a windows server background. Even though I consider myself a *nix novice, I would rather stab myself in the ear with a pencil then go back to windows.

</comment><comment><USER3> Windows Server has been painless for me. We use MSSQL Server which is a good database, much better than your MySQL.

We use PHP, ASP and ASP.NET in no particular order. I prefer PHP and use PHP. It works flawlessly in IIS.

Also, the subversion server is very easy to manage (tortoiseSVN to create repositories, etc).

However, for email, Linux is much better. Email hosting in Windows sucks. MS wants you to buy Exchange.

This is my experience with a dedicated Windows box. Shared hosting in a Windows machine is the world of pain other posts describe.

</comment><comment><USER4> I know some people that run dns services so that they don't have to deal with bind....

</comment><comment><USER5> If your app involves a database, you might want to give LINQ a go.</comment>


$900 DNA sequencing USB stick announced by OxNano - <AUTHOR> http://www.newscientist.com/article/dn21495-usb-stick-can-sequence-dna-in-seconds.html

<comment><USER2> Here is a graph that shows the fall in human genome sequencing costs over time:

<http://www.genome.gov/images/content/cost_per_genome.jpg>

It's surpassing Moore's law. Looks like pretty soon we'll reach the mythical $1000 mark.

<comment><USER3> What was it that caused such a rapid change after 2007?

<comment><USER4> Illumina acquired Solexa, and shipped the first Genome Analyzer (the ancestor of the HiSeq). Clive Brown was a central figure at Solexa during their rise and acquisition, and has been at Oxford Nanopore for the last few years (he's the one who gave the talk).

There's a lot of hype in genomics, but Brown is one of the few who has delivered, which is part of the reason why MinION is getting the benefit of the doubt. Very exciting announcement.

</comment></comment></comment><comment><USER5> That is __so __cool, and the mechanics they used to read the molecules and miniaturize the equipment look incredibly clever for me, as an ignorant in chemistry. Biology is getting more and more "hackable". It seems we are seeing the same kind of evolution once happened with computers - what was once unreachable and reserved for just a couple people (big mainframes) get increasingly cheap and ubiquitous.

</comment><comment><USER6> This blog post gives some more in depth information: [http://pathogenomics.bham.ac.uk/blog/2012/02/oxford- nanopore...](http://pathogenomics.bham.ac.uk/blog/2012/02/oxford-nanopore- megaton-announcement-why-do-you-need-a-machine-exclusive-interview-for-this- blog/)

They claim the accuracy is 96% and has the potential to get even better, which is even cooler given the long read length.

However, any error can be pretty upsetting and most next gen sequencers overcome this by doing many reads per base. I'm guessing that the current behemoth machines would be kept around for the time being to assemble the final, error free sequences?

<comment><USER7> current behemoth machines have errors too, often the best way to get a really polished sequence is to sequence on machines which have different type of errors, and interlace the data appropriately.

</comment></comment><comment><USER8> But how much are the enzymes going to cost?

<comment><USER9> I don't understand the downvotes, because it seems to be an interesting question, and the article is not very clear.

Is $900 the price for the gadget alone? Is the price for the gadget + 1 time enzyme kit? Is it the price of each repetition of the analysis (enzyme + disposables), but there is an additional initial cost (gadget)? This thing is reusable, or you must buy a new whole kit each time?

<comment><USER10> Ars had its own article on this saying that you do not need enzymes. It's forcing the molecule through a tiny pore and reading the change in an electrical signal. That said, one problem mentioned is that the error rate is quite high.

[http://arstechnica.com/science/news/2012/02/nanopore-tech- br...](http://arstechnica.com/science/news/2012/02/nanopore-tech-brings- rackmounted-genome-machines-usb-based-dna-sensors.ars)

<comment><USER9> This article says:

"Both GridION and MinION operate using the same technology: DNA is added to a solution containing enzymes that bind to the end of each strand. When a current is applied across the solution these enzymes and DNA are drawn to hundreds of wells in a membrane at the bottom of the solution, each just 10 micrometres in diameter."

Perhaps this method use fewer enzymes than the old one.

</comment></comment></comment></comment><comment><USER11> 10kbp reads would also be very useful for de novo assembly of larger genomes, particularly in repetitive regions. One company (PacBio) currently claims reads this long, but the error rate is around 15%.

<comment><USER12> Super long reads also going to be incredibly useful for looking at structural variation (deletions, inversions, translocations).

<comment><USER13> And alternative splicing.

</comment></comment></comment><comment><USER14> This is crazy.

The original human genome project started in 1990 and took a decade.

Now you can do it in two to six hours for around a grand?

I wonder if we'll be seeing more people public domain their genome?

EDIT: And thats just the "Compare to two decades ago" position.

The real craziness comes when you realize that this will inevitably get cheaper, and smaller, setting the stage for more advancements in this field. (I think at this point were all expecting to be able to actually turn genomes into living things before 2050.)

<comment><USER7> As to your last comment, JCVI already did that, synthesis is lacking for speed and cost as compared to sequencing today.

<comment><USER15> Meh, it's more than just synthesis. Synthesis costs are falling faster than Moores law, too; but you don't get things like epigenetic modifications or packing for free, and that tech basically doesn't exist yet.

</comment></comment></comment><comment><USER16> The biggest problem has been and will continue to be interpretation of the results, particularly in human clinical sequencing. _Especially_ as more data becomes available with advances like this.

<comment><USER17> if you build it they will come.

I mean that the existence of a large and continuously growing data set will incentivize figuring out better ways to analyze it.

</comment></comment><comment><USER18> Edit: deleted my less informed comment ... some more informed discussion of this can be found on reddit:

[http://www.reddit.com/r/bioinformatics/comments/pu595/oxford...](http://www.reddit.com/r/bioinformatics/comments/pu595/oxford_nanopore_announces_a_nanopore_based/)

</comment><comment><USER19> This is one time use, right?

</comment><comment><USER20> Is it reusable? Can the protein pores be cleaned and reused?

Even if it's single-use, that cost per bp isn't terrible considering the capital costs of 454 and Illumina machines.

</comment><comment><USER21> I bet that in 20 years, a lab-on-a-chip with integrated DNA sequencer & AI doctor will be as common & cheap as thermometers today.

</comment><comment><USER22> These are interesting times we are living in.</comment>


Peter Thiel's Zero to One Might Be the Best Business Book I've Read - <AUTHOR> http://www.theatlantic.com/business/archive/2014/09/peter-thiel-zero-to-one-review/380738/?single_page=true <comment><USER2> I've mentioned this before on other threads, but it is worth repeating here. Thiel is basically making the same claims (but with less evidence and I think less rationality) that Tyler Cowen (an economist) has been making for several years. Cowen's views are more nuanced (and in my opinion more reasonable) than Thiel's. Cowen's book "Average Is Over" is an excellent distillation of his thesis.

<comment><USER3> i used to read tyler cowens blog a long time ago and visit it sometimes. started out impressed but soon realized he is good as an aggregator of interesting bits.

if even the sentences happen to be the same, i prefer to listen to someone who has real world experience building companies vs just economists whose being wrong has no direct impact on themselves. skin in the game and all that.

<comment><USER4> There's a balance between the value that comes from having experienced it yourself and the value from being able to step back and generalise the experience of other people.

First-hand accounts always run the risk of generalising the particular but academic accounts run the risk of being too general. In both cases the problem comes from falling in love with your own model and not paying enough attention to inconvenient data.

</comment></comment></comment><comment><USER5> The Hard Thing about hard things by Ben Horowitz seemed to me to be a more focused book, especially if you are reading it to find more about business and startups, Thiel's book is very good, but he tends to deviate from the main subject too much for me.

<comment><USER6> From what I read, Horowitz' book is very much about the typical VC fueled startup.

At this point in my life, I'm not interested in that except out of curiosity, I'd rather read books by/for/about boostrapped startups.

Where does Thiel's book fall in that range? Reading the comments, it looks like it's way more of an idea book than anything practical, and targetted at people who want to do something new and radical. Fair enough, but it looks like an entertainment read rather than anything applicable.

[http://www.softwarebyrob.com/2010/08/05/why-startup- founders...](http://www.softwarebyrob.com/2010/08/05/why-startup-founders- should-stop-reading-business-books/)

<comment><USER7> If you want to know about bootstrapping, then Thiel is not the guy to read. Zero to One is all about growth. And bootstrapping creates small businesses rather than startups (i.e. slower growth).

<comment><USER6> Slower growth does not necessarily imply smaller or less successful if you extend the time horizon beyond a few years. Data on this is probably hard to come by, but I'd guess also that this is especially true if you consider all the VC backed firms that simply die because they were not a raging success, and burned through all their cash.

<comment><USER7> Velocity is relative, but slow growth contradicts the definition of a startup. See [http://paulgraham.com/growth.html](http://paulgraham.com/growth.html)

</comment></comment></comment></comment></comment><comment><USER8> It seems no one mentioned the purpose of this book in the first place and I believe it's one of the important dimensions. Here is part of my review on Amazon: When I started to read the book, I only paid attention to the facts and thoughts the author provides. After a while, I found it is a book that gives readers more questions to pull them from the world they are familiar with so that they may be able to begin to discover a different world. That's the real purpose of this book. The author did a great job on this. I guess he put a lot of thoughts to prepare for the book. And this is what the original materials is for in the first place, lectures for students.

</comment><comment><USER9> I've read all of the Stanford 183 notes that Blake Masters took, but not the book that just came out. Have any of you read both? Did you think the book was worth it if you already have the notes?

<comment><USER10> The class notes, in my opinion, are better. You certainly don't need to read both.

<comment><USER11> Why did you find them better?

</comment></comment></comment><comment><USER12> To add one more point to the discussion... after reading _Zero to One_ , I found that I had a renewed interest it thinking about "big idea stuff" / futurology, etc. I had a realization that I've been pretty negligent about reading up on stuff which purports to talk about "the future to come" and ideas about the kinds of things that Thiel's "definite optimists" might want to work on.

Now futurology is clearly not without it's own issues, and we all know that it is damn hard to make predictions (well, accurate ones anyway) about the future. But I think if nothing else I've been reminded that it's a good idea to at least make some effort to keep up with what the "futurist" crowd are talking about, and also to pull my head up from time to time and look around in domains other than my particular current niche. Materials science? Yay! Energy? Yay! Artificial biology? Yay!

Of course it may be the case that nothing comes from any of this, but it strikes me that it's probably important for an entrepreneur (or would be entrepreneur) to make some effort to stay abreast of this stuff. So I finally finished _The Singularity is Near_ and started looking for good futurist blogs to subscribe to. I feel like I should probably also start reading those "general purpose" science magazines (Sci Am, Discover, Popular Science, New Scientist, etc.) again as well.

What do you guys think? Do you make it a point to keep up with forward looking "stuff" outside of your own domain, or read any "futurist" writing?

<comment><USER13> The book (and the notes) definitely will get you excited about 'big picture' thinking again. If business books can be separated into 'strategic' and 'tactical' categories, I'd say this book falls undoubtedly into the 'strategic' camp. While these kinds of philosophy-heavy books always give me a high, the lack of tactical content is somewhat disappointing once the initial high dies off. This very well may be the author's intention, as the actual entrepreneurship product-market adventure is left as an exercise for the reader. I suppose that would be my main criticism of the book.

In any event, I found it a very worthwhile read.

</comment></comment><comment><USER14> I agree. He articulates things I've been unable to.

In particular, that encouraging specialization in our adolescents, at the expense of "well roundedness," can be a good thing for some of them.

<comment> alok-g Can you expand on the message please? :-) As I read it now, saying "some of them" makes this nearly a tautology.

I have been on the well-rounded side (and have learned some pros and cons of the same the hard way), so am additionally curious to hear. :-)

<comment><USER14> I get the impression Thiel really means "most if not all of them," but I didn't want to misrepresent.

When he says "well rounded," he means kids who participate in a glut of extracurricular activities to pad college applications and create many possible career paths for themselves.

The argument being that with many potential paths, people tend not to commit to any particular future vision, which results in fewer people with the concentration or desire to build those futures. Elon Musk is presented as a counter-example.

</comment></comment></comment><comment><USER15> As a college student myself, I think this book should be a required reading for every first year student considering starting something during their college years.

</comment><comment><USER16> >His most provocative thesis, excerpted in a popular WSJ column, declares that "competition is for losers" and entrepreneurs should embrace monopolies.

I saw him talk a couple of days ago and he said the "competition is for losers" phrase was not what he wrote but the WSJ rewrote the title. His intent (I forget the exact wording) was to avoid competition by doing something sufficiently innovative that there is no close competition, and he cited Google search and the iPhone.

The original title was a variation of Tolstoy's "Happy families are all alike; every unhappy family is unhappy in its own way" along the lines of companies that are alike are unhappy and happy companies do things their own way.

<comment><USER17> This sounds like a confusion between the specific economics definition of "competition" and the everyday colloquial definition. If you find an innovative solution to a problem that is unlike any other firm's offering, that's not "avoiding competition" in the economics sense. In fact, that's textbook competition in the economics sense. Colloquially, we might refer to this as "avoiding your competitors by staying way ahead of them" or some similar phrase.

<comment><USER18> You make a lot of sense. A lot of good sense. Yup, you do a good job!

But, but, but, and you are not nearly alone, you are not Peter who did PayPal, now has the big bucks, dreams big dreams, and gets famous, and maybe some revenue, by writing books that mostly people at HN can find mostly obvious and mostly improve on!

So, I ask you: Between smarts, hard work, and luck, you'd pick which one?

<comment><USER18> Thanks a lot guys:

I don't know what they heck you are so upset about: What I wrote is not facetious but genuinely complimentary to baddox. The baddox post was good.

How good? The thinking in that post seems to me to be better than the thinking in the book under discussion.

And, moreover, much of the thinking of posts on this thread at HN seems to me to be better than what is in the books, and I said that.

So, in comparison, the thinking in the book is not very good.

And I read a chapter of the book, have read the corresponding VC Web site, and did get a call from the VC firm and talked for about an hour. Still, generally, the thinking in this thread is better.

So, a question arises: How could the book and its author have done so well for themselves? I offered luck as one possible answer.

And you are torqued at some of that?

</comment></comment></comment></comment><comment><USER18> > "The biggest secret in venture capital is that the best investment in a > successful fund equals or outperforms the entire rest of the fund combined," > he writes. This power law distribution of VC investments means that a few > bets will get fabulously unequal returns and it's almost impossible to > predict which ones those will be.

Well it's "almost impossible" as long as they believe so and don't learn how to do it. C.f.,

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

</comment><comment><USER19> Thiel will be on On Point today. Excerpt of his book there.

[http://onpoint.wbur.org/2014/09/29/peter-thiel-technology- po...](http://onpoint.wbur.org/2014/09/29/peter-thiel-technology-politics- libertarians)

</comment><comment><USER20> _After two tours of duty at Stanford (which did little to dissuade him of the notion that college is a waste of time) he founded PayPal_

So, um, why did he do the 2nd one then?

Seems a little hypocritical...

<comment><USER21> It's also worth noting that 0->1 makes claims about the sort of vision that founders have that are directly at odds with all accounts (including his own) of how Thiel's own successes actually occurred. Not slightly misaligned, but directly 100% contradictory.

It's not a terrible book; it's mediocre. It's a mix of the obvious (perfect competition destroys profit), the confusingly expressed (the bit on secrets sounds "deep" until you realize he's expressing something obvious using confusing language), and noise.

If somebody wants to read a good new business book, I'd recommend Creativity Inc, How Google Works, and The Hard Thing about Hard Things long before I'd recommend 0->1.

<comment><USER22> Totally concur.

</comment></comment></comment><comment><USER23> Should we not better read the books that this people read, to get rich and famous ?

Which books did they read ?

</comment><comment><USER24> It's available as a sane [drm-free] epub book to buy anywhere?

</comment><comment><USER25> Does anyone else have an opinion on this book, I dismissed it at first but this has me reconsidering.

<comment><USER2> It's largely a rehash of Tyler Cowen and Michael Porter (whether Thiel has read them or not I don't know, but he covers very similar ground). Some interesting ideas, but it's not going to change your life. One thing that bothered me about it was his assumption that the important problems he's so interested in aren't being solved due to lack of effort. The idea that certain problems just aren't economically feasible currently was not explored.

</comment></comment><comment><USER26> I think it's awful. I only finished it because we're discussing it in a book circle.

<comment><USER27> Your statement has a near zero amount of useful information in it.

<comment><USER26> True, just trying to balance the overly positive comments, without spending a lot of time laying out arguments.

<comment><USER28> You literally just defined the least valuable form of participation in any discussion.

</comment></comment></comment></comment><comment><USER29> I agree. In my mind only Clayton C. Christensen and Peter F. Drukert have been able to write about business without saying the obvious and actually delivering a philosophy rather than obvious observations.

<comment><USER29> Would anyone mind to tell me exactly what I said that triggered the download. I am seriously interested.

<comment><USER30> No idea. Sometimes ppl just downvote for spurious reasons. It seems like you added some information to the conversation, so I upvoted your comment.

</comment></comment></comment><comment><USER31> Along with several things that Peter Thiel has said recently that made me think "well, that surely decreases his authority in my mind" when he recently professed his love and addiction to the Drudge Report I could not help thinking that he really lacks any credibility. Someone who is addicted to drudge mental trash and right wing rage-baiting really kind of shows a deep lack of significant mental capacities.

<comment><USER32> This could be in a textbook as an example of an ad hominem attack.

</comment></comment><comment><USER33> Been hearing a lot about Zero to One. Time for my kindle to wake up and get me Zero to one.

</comment><comment><USER34> It's great but all that content was available for years right? Are people just now finding out about the Stanford 101 Blake Masters notes?

<comment><USER35> obligatory:

[http://xkcd.com/1053/](http://xkcd.com/1053/)</comment></comment>


Who's Hiring Freelance Contractors? - <AUTHOR>

It seems that the "Who's Hiring?" threads are very popular but are for full-time positions tied to a particular location.
A lot of people on HN work remotely as contractors and have difficulty finding decent paying gigs. I myself am a freelance web designer (alexwyser.com) and find it difficult to get gigs that pay well.
I'm sure a lot of startups and companies on HN need designers, developers and programmers like us.
So who's hiring contractors? <comment><USER2> You would think with tight budgets and an inability to create more full time jobs due to the stifled economy, that more part time consultants would be needed, especially for computer related needs at companies in all sectors (not simply startups). These needs are out there, but many managers don't feel like they have the experience managing remote part time assets, nor do they have the authority to hire in such a way. But again, these needs are out there, and there are certainly companies hiring like this.

But it's a lot of work requiring a ton of networking, lots of portfolio sites and examples of past work necessary, and putting a lot of effort into bidding for the jobs, even if the work is simple and short.

I admit I would do a lot more part time consulting to help continue to bootstrap my own business if this was easier to do.

<comment><USER3> There was another thread going on in a different post and I came to the conclusion that the problem is not that there are not enough good freelance gigs but rather there is not a good way for the communication to be communicated among managers looking to find a top caliber guy and top of the line freelancers. No manager wants to wade through elance or one of the other sites looking for that diamond in the rough. So I started thinking that there has to be a better way and I started thinking what about an invitation only site where members invite new members and there reputation is tied to there recommendation. For example they may be a good developer to hire but they may not be good at recommending other people. Their recommendation score would then suffer and if it got low enough, they would not be allowed to invite other to the site. Conversely those that where good at spoting talent would get more invites that they could send. As well maybe a minimum rate that participants would have to adhere to would keep the site from becoming a race to the bottom like the others. I registered igi.gs the other night and am thinking about building up a MVP. The part that I am struggling with is how do you do the initial seed with quality people in a host of locations?</comment></comment>


Richard Branson Announces Virgin Oceanic Submarine  - <AUTHOR> http://www.dailytech.com/Richard+Branson+Announces+Virgin+Oceanic+Submarine+/article21307.htm <comment><USER2> I'm amazed the basic underlying idea (which I believe the designer has been working on for some time) has taken so long to get real traction. In essence, the submarine is an underwater "airplane" that uses the principle of "lift" to go down (so if its engine fails it "falls" to the surface). This means no ballast tanks and a very simple, robust design (mechanical stuff outside the bubble; life support and people inside).

Oddly enough the only reason I know anything about this subject is that back in 1997 I was working as a game designer working on a "Tomb Raider"-like game but with the emphasis on the underwater gameplay (I thought Tomb Raider's underwater stuff was a huge missed opportunity, since I found the few underwater bits the most scary and tense).

Researching the back story I looked into what was happening in submarine design (a field that doesn't get a huge amount of coverage, even among geeks) and found out about these underwater "planes" and some stuff the US Navy was experimenting with (i.e. a modified Los Angeles class submarine that could launch armed drone subs, which is a brilliant idea since the most dangerous thing an attack sub can do in combat is launch a torpedo).

Again -- funny how slow progress seems to be in subs compared to everything else.

<comment><USER3> Actually, that idea is employed by every single US Navy (and I assume their foreign counterpart) submarine. The bow & stern planes combined with forward motion do almost all of the up and down depth control after you are under water. The ballast tanks are only really for changing whether you are a surface ship or a submerged ship.

The main disadvantage of not having ballast tanks is that on the surface, you won't float that high (I assume you will be slightly positively buoyant, because requiring power to get back to the surface is crazy, and perfectly neutral buoyancy is nearly impossible to achieve). This doesn't matter for a little thing with a tender, but for anything on its own, I'd rather float a little higher. Also, you have to keep moving to keep lift up. That just doesn't make sense for a boat that you spend a lot of time stalking around with as much stealth as possible.

As for "the most dangerous thing an attack sub can do in combat is launch a torpedo", that's just not true. The majority of the missiles launched against Libya this month came from US subs (SSGN). And there are a lot of capabilities that are secret or borderline secret. Check out "Dark Waters" and "Blind Man's Bluff". Also <http://www.globalsecurity.org/military/systems/ship/dds.htm>

<comment><USER2> You're wrong on both counts.

The sub design in question has no ballast tanks. It literally "flies" downward and "sinks" to the surface. No navy subs (at least non-classified subs) do this. Not having ballast tanks is a huge design advantage.

Firing missiles from a Sub against a low tech country with no navy to speak of is hardly a combat situation. In naval combat the only thing subs are really afraid of is other subs and aircraft, and the best way to give up your position is to fire a torpedo.

<comment><USER3> Not having a ballast tank is decidedly NOT a huge design advantage for a military sub, because to stay under the surface you have to keep moving at a certain rate of speed. That is not a desirable trait when your primary goal is to be stealthy.

It IS a great design advantage for non-military subs when your primary goal is to be safe.

The concept is not exactly earth shatteringly new, I've seen concepts of it from navy contractors for decades, the Navy just has no use for one.

For surviving, yes, the only thing can kill a sub is a ship or airplane. How for succesfully completing a mission usually the goal is to remain undetected. That is certainly harder to do.

</comment></comment></comment></comment><comment><USER4> This is why you should aspire to make it big. Not so you can buy a jet and fancy cars, but to go on awesome adventures and push the definition of "what's possible."

Or maybe I just admire Richard Branson _a little too much_.

<comment><USER5> This is the frustrating thing about most modern billionaires. They're so... boring and conventional.

I'd much rather Zuckerberg took those millions he dumped into New Jersey public schools and built a spaceship that billions of kids around the world could watch fly into space.

I mean, yea Bill Gates malaria is important to solve, but can't you do that AND build a totally sweet space station?

<comment><USER6> Another Microsoft billionaire, Paul Allen, has done some pretty cool space related things like SpaceShipOne.

<http://en.wikipedia.org/wiki/SpaceShipOne>

</comment></comment></comment><comment><USER7> The first and only two humans to visit the Challenger Deep did so in 1960, and in recent years not a single submersible has existed that's rated for that depth. We, as a species, have not gone back since. In contrast, twelve humans have walked on the surface of the moon.

Now we're finally going back! This is so cool!

</comment><comment><USER8> I've always wondered why they continue building submarines instead of ROVs. I'm a little bit biased as I work for an ROV company, but it seems silly that you'd go down so deep (somewhat "dangerously" as well) for the experience of breathing bad air in a cramped smelly place to look out of a tiny window (since glass/plastic has to be ridiculously thick to have 1 atmosphere at those extreme depths) or video cameras, when you could do the same thing from the surface on a boat. Perhaps this technology is significantly better than the manned vessels they used during the Titanic recovery (where these stories of the manned exploration that deep come from), but it doesn't make sense to me. I suppose there's the whole "I got to experience it" thing, like people that want to go to space have, but it's not quite the same thing.

<comment><USER9> the human desire to explore and "be there" is very powerful and in most cases of pushing the envelop of exploration, wins out over logic.

</comment></comment><comment><USER10> Richard Branson reminds me of a robber-baron hero from a Robert A. Heinlein novel.

<comment><USER11> I am also thinking Captain Nemo from Twenty Thousand Leagues Under the Sea, or his updated compatriot Hagbard Celine from the Illuminatus! trilogy.

Somewhat more seriously, this is an interesting turn in events when compared to space policy too. We have conquered the land of Earth. The remaining frontiers are the sea, and space. In both cases our governments appear to have spent themselves, but private investment in space is becoming a serious force to be reckoned with, and now we get this article about a serious foray into the ocean by a private company. It makes me seriously wonder if a new Age of Exploration isn't about to open up again.

<comment><USER12> We've had plenty of forays into the ocean by private oil companies: [http://directorblue.blogspot.com/2008/11/mile-and-half- deep-...](http://directorblue.blogspot.com/2008/11/mile-and-half-deep- submersible.html)

This is much more inspiring, though.

</comment></comment></comment><comment><USER13> Still waiting for Virgin Historic.

<comment><USER14> That would require him to fund the development of a time machine.

Or perhaps it has already happened.

</comment></comment><comment><USER15> Surprised nobody has yet to mention US Submarines[1] their Phoenix 1000 design [2] would be (if anyone ever bought one) the largest personally owned undersea craft, and a helluva an RV. There was a BBC documentary on a guy who built a nominal atmosphere submarine that could go down 1000' (300 meters).

[1] <http://www.ussubmarines.com/submarines/luxury.php3> [2] <http://www.ussubmarines.com/submarines/phoenix_1000.php3>

</comment><comment><USER16> _"The Virgin Oceanic sub has the ability to 'fly' underwater for 10 km at depth on each of the five dives and to fully explore this unknown environment."_

Sounds like something out of Seaquest (anyone remember that show, lol)

<http://google.com/images?q=seaquest+stinger>

</comment><comment><USER17> before reading I thought this was some new virgin-branded enterprise. As in, I already had the wallet in my hands to book a trip.

</comment><comment><USER18> not a huge fan of richard branson, but i think what he's doing is pretty cool even though this won't be affordable anytime soon for the layman. think about it, the earth is 75% water and most of that has been unexplored (except for deep sea drilling), and here we are exploring space when so much under our nose is unexplored.

</comment><comment><USER19> I <3 Branson!</comment>


Java's Original Sin - <AUTHOR> http://gbracha.blogspot.com/2009/05/original-sin.html <comment><USER3> I think the real original sin was the decision to be a dumbed-down C++, avoiding all the ugliness and hard to get right parts, in particular eliminating operator overloading. With operator overloading supporting the normal meanings of the operators (== means equals, not identical to). Integer would then work the same as int and auto-unblocking would have been there from the beginning. Remember Java overloads '+' for strings, so it isnt consistent.

Primitives made sense at the time, but with operator overloading we wouldnt be stuck with the mess we have now.

And methods should have been first-class objects. More messes that could have been avoided.

<comment><USER4> Not just methods -- _classes_ should have been first-class objects!

Unfortunately, vocational Java programmers are _terrified_ of anything that resembles metacircularity. There's a depressing tendency to just label anything mildly functional as 'closures'.

<comment><USER5> You've noticed that too? I spent six months confused, wondering why most of the so-called closures in Java examples were merely first-class functions.

</comment></comment></comment><comment><USER6> Great blog post. Especially for those interested in scala and the future of Java.

The comments below, in my view, are just as interesting as the post.

<comment><USER7> You can do most of this stuff at compile time and not mess with the JVM. Just add auto boxing to the next version of Java and nothing need change.

As to the 16 byte char just do what most languages do when they get a basic feature down and add a Byte32 or whatever.

PS: I tend to think of Java as a slightly more friendly version of C rather than a high level language. It's fairly easy in Java to open a socket and decode a bit stream, where most high level lanugaes make that far more difficult.

</comment></comment><comment><USER8> Java's original sin is checked exceptions.

<comment><USER9> I don't think checked exceptions are so important. They might make things a little more verbose and painful, but they don't impose fundamental constraints and backwards compatibility nightmares the way other things do. After all, you can always just choose not to use them - just convert everything to runtime exceptions and your own code will be only impacted at the edges.

<comment><USER10> _After all, you can always just choose not to use [checked exceptions] - <USER2> convert everything to runtime exceptions and your own code will be only impacted at the edges._

Forgive me if I'm being dense -- I haven't done much Java programming lately -- but what do mean by "convert everything to runtime exceptions"? Sure, you can define all your own exception classes as runtime exceptions. But checked exceptions seem unavoidable, as you can't (practically) avoid calling all the Java API methods that throw them.

<comment><USER9> Sorry, away for a bit and didn't see your reply.

> But checked exceptions seem unavoidable, as you can't (practically) avoid > calling all the Java API methods that throw them.

Yes, that's what I mean by "at the edges". You can't avoid hitting the ones built into Java but you can stop them penetrating into your own code with a simple try / catch that wraps them with RuntimeException.

</comment></comment></comment></comment><comment><USER11> Why isn't JVM integrated in Intel ICs?</comment>


The "Tin" open source SFNT C++ library - <AUTHOR> http://blogs.adobe.com/typblography/2010/05/tin_open_source.html

<comment><USER2> _Tin is intended for use by programmers who have legitimate need for manipulating font binaries._

Legitimate need? What does that even _mean_?

All joking aside, this is absolutely fantastic - I tried to write a font manipulation library once and the amount of detail you have to keep track of (or, conversely, it is possible to do wrong) is colossal. An open-source project with Adobe behind it - while the cognitive dissonance is hurting my brain a little - is just tremendous.

I feel like I should send Steve Jobs a little thank-you present for this. Do you think he'd prefer flowers or something more like a Barnes and Noble gift card?

<comment><USER3> Why Steve Jobs?

<comment><USER4> Steve Jobs invented digital typography thanks to a calligraphy class he briefly visited in the '70s. Without him, the only fonts in the world would be Terminal Monospace and Tasteless Serif.

<comment><USER5> _cough_ <http://en.wikipedia.org/wiki/Donald_Knuth> _cough_</comment></comment></comment></comment>


Uber, Lyft, Sidecar told to shut down in Los Angeles - <AUTHOR> http://blogs.laweekly.com/informer/2013/06/uber_lyft_illegal_los_angeles.php

<comment><AUTHOR> I cannot think of a city who needs these services more than LA. Hope they fight it with all they've got</comment>