Cling: Running C++ in an interpreter - <AUTHOR> http://blog.coldflake.com/posts/2012-08-09-On-the-fly-C%2B%2B.html <comment><USER3> To provide more precedents and a little history:

The first C "interpreters" I know of were for Lisp machines: Symbolics' C compiler ([http://www.bitsavers.org/pdf/symbolics/software/genera_8/Use...](http://www.bitsavers.org/pdf/symbolics/software/genera_8/User_s_Guide_to_Symbolics_C.pdf)) and Scott Burson's (hn user ScottBurson) ZetaC for TI Explorers/LMIs and Symbolics 3600s (now available under the public domain: <http://www.bitsavers.org/bits/TI/Explorer/zeta-c/>). Neither of them are interpreters, just "interactive" compilers like Lisp ones are.

I am writing a C to Common Lisp translator right now (<https://github.com/vsedach/Vacietis>). This is surprisingly easy because C is largely a small subset of Common Lisp. Pointers are trivial to implement with closures (Oleg explains how: <http://okmij.org/ftp/Scheme/pointer-as- closure.txt> but I discovered the technique independently around 2004). The only problem is how to deal with casting arrays of integers (or whatever) to arrays of bytes. But that's a problem for portable C software anyway. I think I'll also need a little source fudging magic for setjmp/longjmp. Otherwise the project is now where you can compile-file/load a C file just like you do a Lisp file by setting the readtable. There's a few things I need to finish with #includes, enums, stdlib and the variable-length struct hack, but that should be done in the next few weeks.

This should also extend to "compiling" C to other languages like JavaScript, without having to go through the whole "emulate LLVM or MIPS" garbage that other projects like that do. I think I figured out how to do gotos in JavaScript by using a trampoline with local CPS-rewriting, which is IMO the largest challenge for an interoperable C->JS translator.

As to how to do this for C++, don't ask me. According to the CERN people, CINT has "slightly less than 400,000 lines of code." (<http://root.cern.ch/drupal/content/cint>). What a joke.

<comment><USER4> That Oleg link has me nerd-snipped.

What I can't wrap my head around is how one would implement pointer-arithmetic with these closures? C pointers are not just references to cells, but those cells are guaranteed to be contiguous (up to a certain limit, be it an VM allocation unit, say "page", or all available system unit in VM-less systems)

That is to say, C pointers are not like ML references. Along with SET and REF they also allow addition, subtraction, scaling, etc.

For closures to model C pointers, wouldn't they need to _order_ the allocation of cells in some manner? say, big array? And if so, this could get expensive very quickly (worst-case being "modeling" of entire memory, i.e. emulation) without certifying compiler or at least some exhaustive pointer analysis.

Hope I'm wrong on this.

<comment><USER5> The C standard basically only guarantees that pointer arithmetic works when the pointers involved all point to the same array object (it also allows for a pointer just off the end of an array object). Other pointer arithmetic or comparison is undefined behavior and an implementation can do whatever it pleases.

<comment><USER4> So I implemented this stricter definition of C pointers and it's neither interesting, nor representative of Real World uses that I know of. Need to investigate a bit more.

<comment><USER6> _stricter definition of C pointers_ \- this made me laugh, as the less-strict definition of C pointers is called _undefined behavior_.

This leads me to this statement based on what you said: _interesting Real World C programs make use of undefined behavior_

<comment><USER7> > interesting Real World C programs make use of undefined behavior

I assume you've worked with a significant amount of real world C programs? Because they surprisingly often do. The difficulty with porting many programs to 64-bit for instance, is due to relying on implementation defined behavior.

<comment><USER6> _I assume you've worked with a significant amount of real world C programs?_

Only embedded systems (AVR & PIC24). I have much more experience in C++, which I've used for both Desktop apps and telco server components.

The beauty of C (over C++) is that the standard is actually readable. C++ especially is a quagmire of undefined behavior. The scary thing about C/C++ is that its easy to hit undefined (or, at least, as you state, implementation defined) behavior and not even realize. Often the code looks valid, does what it looks like it does, yet is actually undefined or implementation defined and will break elsewhere.

With that said, while I don't expect everyone to have memorized the standard, I do hope most would have at least enough familiarity to avoid _most_ cases of undefined behavior.

<comment><AUTHOR> Most of what I learned about C++ I got from books, blogs and some great C++ guys (mostly from the boost community). I have to admit I did not read the standard at all.

could you give an example of a case where you hit undefined behavior since I hardly seem to recall a case where that bit me in the past? (I'm mostly working on embedded systems (PPC & ARM))

The cases that come to my mind for C++ all involve initialization...

<comment><USER6> Before I give you an example, I will define what the term _undefined behavior_ means by quoting the standard - Section §1.3.12 (of the C standard, not the C++ standard which is horribly ginormous and hard to read):

        behaviour, such as might arise upon use of an erroneous program construct or erroneous data, for which this International Standard imposes no requirements 3.

        Undefined behaviour may also be expected when this International Standard omits the description of any explicit definition of behavior.

The reason undefined behavior is dangerous is that the standard does not guarantee any particular behavior and the implementation is free to do _whatever it wants_ \- ignore it, give an error message, delete everything on your hard drive.. whatever.

The two most commonly cited piece of undefined behavior is modifying a variable twice in one sequence point. The standard says:

        Between the previous and next sequence point a scalar object shall have its stored value modified at most once by the evaluation of an expression.

This code snippet invokes undefined behavior:

        a = b++ * ++b;

because _b_ is modified twice within one sequence point. More information here [http://stackoverflow.com/questions/4176328/undefined- behavio...](http://stackoverflow.com/questions/4176328/undefined-behavior-and- sequence-points)

\-----

For more real world examples of where undefined behavior may bite you in the ass in C++, take a look at Washu's _simple_ C++ quiz. It's only four questions: <http://www.scapecode.com/2011/05/a-simple-c-quiz/>

Take a moment to answer the questions before looking at the answers.

Once you've done that, here are three more quizzes by the same guy - <USER2> ones are about OOP in C++, so may be much more relevant to your question: <http://www.scapecode.com/2011/05/c-quiz-2/> and <http://www.scapecode.com/2011/05/c-quiz-3/> and <http://www.scapecode.com/2011/05/c-quiz-4/>

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I've used libtcc from tcc to do something similar on a prototype listening on a socket to do queries over a 2 gig memory mapped file. I'd pass over the query as a string of C that would be dynamically compiled and executed by libtcc. It worked really well but ultimately didn't go anywhere other than research. Here's an example from the distribution (first google result for the file): [http://www.koders.com/c/fidC76C8B834DFF05F1D0BD61220AC19E246...](http://www.koders.com/c/fidC76C8B834DFF05F1D0BD61220AC19E24685698A9.aspx). TCC can be found here: <http://bellard.org/tcc/>

<comment><USER3> I am surprised more projects don't use TCC for that. It's an awesome little compiler and using it that way saves way more time over writing DSLs. Even projects that have to compile C all the time (like Lisp->C compilers such as ECL and Gambit Scheme) use GCC, which is stupid slow.

</comment></comment><comment><USER9> Well, for anyone interested in Cling, check out this Google tech talk: <http://www.youtube.com/watch?v=f9Xfh8pv3Fs>

This is a CERN project and it uses Clang from the LLVM project. The idea is simple: use the clang to generate LLVM and then use LLVM just-in-time compiler.

<comment><USER10> Before that CINT was used (another C++ interpretter) - here is the page where they announce the future transition CINT -> CLING - <http://root.cern.ch/drupal/content/cling>

</comment></comment><comment><USER11> It's a cool idea, but his reason for creating it is kinda dumb.

Creating an entire "project" just to check a code snippet is just silly.

Just create a "testing" directory and throw your one off test files into it and compile/run them there.

I start mine with a comment explaining what I'm testing, why I'm testing it, and what special compilation flags are required, if any. I even have an Emacs macro that fills in the boilerplate includes and main function. The overhead involved is probably less than 15 seconds.

It has the advantages that I can test multiple compilers and I keep a history of the things I've tried.

<comment><USER12> The ROOT project has been using CINT for ages. Talk to your favorite physicist friend -- they'll be confused why the CS crowd _doesn't_ have this technology.

This is just an updating of what must be an awful hack to be built on LLVM infrastructure.

<comment><USER13> Because actually using ROOT is painful, and the CS crowd had lisp and now python/pypy.

<http://www.insectnation.org/howto/living-without-root>

<https://linuxfr.org/nodes/18919/comments/632920>

<http://comments.gmane.org/gmane.comp.lang.c%2B%2B.root/5924>

</comment></comment></comment><comment><USER14> Although getting an interactive environment definitely is a nice thing, I'd argue you don't have to create a whole project directory, etc. to play with an idea; I usually write it in a single file.

</comment><comment><USER15> Could you not just use a project directory template? All you need really is a .c(xx|pp|whatever) file, a Makefile, and then the workflow for a new idea is:

cd ~/src;

cp -R c-idea-template foobar;

cd foobar;

$EDITOR test.c*

and in your editor (say vim) just run :make

or write a .sh file with all of the above in it so it's just one step. No complex install procedure, you get all your normal tools and stuff.

Alternaitvely, create a 'test projects' git(hub) project, with the files you want in it, and create a new branch for each idea. That way you get backups as well.

<comment><AUTHOR> @fferen, @jlarocco, @Mon_Ouie, @deckiedan: I know you can probably set up all you need within the blink of a second (using emacs or vim or a template setup). Actually I'm so hooked on this idea I even wrote my own rake based C/C++ Buildsystem (<https://github.com/marcmo/cxxproject>). But still sometimes I prefer not having to set up anything and not having to clean up anything after I end my experiments. ... Idea - drop into REPL and try out - exit - done.

</comment></comment><comment><USER16> To be clear, those empty #include's are typos, not Cling inferring desired header files. Both are:

        #include <iostream>

<comment><AUTHOR> Uuhhh...damn! I messed that up. corrected now! thanks!

</comment></comment><comment><USER17> I just keep a fixed .cpp file with a bunch of common includes and directives, and alias the g++ command to link to common libraries, so my workflow goes:

> vim temp.cpp

> g++ temp.cpp

> ./a.out

Very similar to my process with Python, actually. Every time I use the REPL for some experimenting, the code ends up outgrowing it and I have to stuff it in a file anyway, so I may as well cut out the middleman to begin with. YMMV.

<comment><USER18> I too put the code in a file even in Python, but REPL is still valuable. I use "python -i" which runs your code (defines functions, classes, etc.) and then stop, and put you in that environment. This is very useful. It seems Cling could be used the same way: .x command.

<comment><USER19> I must be reading the wrong Python tutorials. Thank you for this

</comment></comment></comment><comment><USER20> I think it is very useful if you want to know more about c++,especially some feature you 're not very sure about. interactive interpret make it very intuitive, and it will save you time,because you don't need to compile the code. but one limit is that now it doesn't support template , you still have to write a source file if you want to use template.

</comment><comment><USER21> The LLVM infrastructure gets more amazing every day; Emscripten and Cling are very exciting projects. C++ gets a lot of flak but it's still got a huge amount of life in it.

</comment><comment><USER22> Could this be used to make a c/c++ plugin for lightroom, once it is out and stable?

</comment><comment><USER23> So, what are it's limitations, if any?

<comment><AUTHOR> I'd say error recovery could be better. You often get kicked out of the session and than your environment is lost. Also: they claim the 'auto' keyword is implicit, does not seem to work for me. But it's pretty cool to use!

</comment></comment><comment><USER24> Why would I do that :S

<comment><USER25> Why not? It's great to quickly test C++, I have yet to find a developer who doesn't love a REPL for one.

C++ could also be used as an embedded extension language using something like this.

<comment><USER26> I share your enthusiasm but there are limits. C++ compilation speed (and thus interpretation speed) will make it quite impossible to use it as an extension language. And while I like and use C++ a lot I don't think it is the right language for this purpose. It can do quite a lot of things, but working in a homogeneous language in your extensions as well as your core product doesn't have enough benefits compared to using a systems programming language and an extension language.

<comment><USER7> > C++ compilation speed (and thus interpretation speed) will make it quite > impossible to use it as an extension language.

I think you vastly underestimate the speed of the clang C++ compiler (or any modern C++ compiler at that). I can't imagine that the compilation time for anything that could be classified as an "extension" would be significant in any meaningful way.

<comment><USER26> clang doesn't outperform gcc on most projects I work on or that speed increase is not significant. I run quite a lot of test-suites - maybe I should try to measure them and provide some real numbers for reference instead of hand-wave myself through this argument.

If I where to provide extensions points to my C++ project they would certainly contain templates and that would also mean that they would require significant compilation time (compared to what you would expect). Even if I didn't, a single header that pulls in a huge preprocessor library could ruin speed. I'm inclined to believe you if we are talking about a Qt-style C++, but that is only a subset of possible code. I would be happy to be proven wrong, too.

<comment><USER7> > I'm inclined to believe you if we are talking about a Qt-style C++, but that > is only a subset of possible code. I would be happy to be proven wrong, too.

If the alternative is to use a separate language altogether to implement extensions, then you are already limiting yourself to a subset of all possible (in C++) code, so what's wrong with doing that in C++ instead?

That being said, most of your problems can be solved with header optimization, we had gotten a full-rebuild of our multimillion line code-base down to about 2 minutes. So if an extension is only a file or two I'm sure you could manage very reasonable compile times, esp with optimization turned off.

> Even if I didn't, a single header that pulls in a huge preprocessor library > could ruin speed.

In the case that you really need that header (If you are using as an extension language, it should be designed so you don't!) precompilation of certain units can greatly improve speed. clang in particular has very impressive precompilation support.

</comment></comment></comment></comment></comment></comment><comment><USER27> Has anyone mentioned CH already (<http://www.softintegration.com/>)?

Kind of an interesting (hi-level) tool, too.

</comment><comment><USER28> For small programs, something like CodeRunner is nice too: <http://krillapps.com/coderunner/></comment>


The Spheron – An Alternative to the Neuron? - <AUTHOR> https://bramblehacker.wordpress.com/2018/01/28/the-spheron-an-alternative-to-the-neuron/ <comment><AUTHOR> Real world neurons fire differently depending if signals are applied from the same, or different sides. This got me thinking. So I wrote the Spheron.

Working version in repo.

<comment><USER2> what would a spheron truth table look like with a 100000 inputs.

Also, if the output is wrong then which gates do you change/update and by how much?

With a ANN the equivalent of which type of gate changes depending on the weights.

<comment><AUTHOR> I don't really envision a single spheron supporting more than a few inputs + outputs (although it could). I think 100K inputs would be achieved using a network of spherons (my next project)...

With reference to tuning the architecture, I am experimenting with building out automated evolution (survival of the fittest). This is a great approach used in frameworks like neataptic.js!</comment></comment></comment>


Ultima IV, The Computer Game That Led to Enlightenment - <AUTHOR> https://www.newyorker.com/culture/culture-desk/the-computer-game-that-led-to-enlightenment <comment><USER2> Ultima 7 was probably my favorite game of all time. I don't think I ever beat it, just explored endlessly the amazing world, finding pirate islands, companions, magic carpets, and dragons deep in dungeons.

Modern games have better graphics but they don't have the same richness that Ultima had.

<comment><USER3> Plus these games were pre-internet so when you got stuck or lost somewhere you got really stuck. I remember spending over a month looking for something called "the hall of the mountain king" in ultima 8, to the point that I had hand drawn a bunch of maps and carefully planned out exploration paths.

<comment><USER4> I always thought that was one reason for the death of the adventure-game genre. Ultima at least had parts to it besides the exploration and puzzles, but adventure games that might take 100s of hours without a guide can often be completed in a few hours with a guide.

<comment><USER5> Yep, I remember Might&Magic to have distinctively different feeling than, say, Skyrim. You'd get a task but no map markers about where to go, and pre- Internet me would cross the world three times to find some hideout.

I'm not sure though if I'd have the time and patience any more for this, even if it felt a lot more rewarding.

<comment><USER6> It would be interesting to take a tile-based game with adventure story elements and add a procedurally generated map and locations to recreate the sense of discovering a new world.

<comment><USER4> It's brutally hard to make a good procedurally generated adventure game. Even if your bar of design quality is some of the poorer Sierra games.

<comment><USER6> Definitely, although my idea is to keep the plot point and characters somewhat fixed, but having geography and in-game item placement be procedurally generated. You could probably inject some additional randomness my having certain plot lines be optionally incorporated. That would reduce the spoiler effect and maybe add some replayability.

<comment><USER4> IIRC mixed up mother goose randomized item locations, but nothing else.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> The concept of a game as a transformative/developmental journey is as relevant and necessary as ever. If interactive games are the future of education, this approach could make philosophy/religion/ethos accessible to a wider audience. It would be impressive if someone could figure out how to apply these concepts to a modern, multiplayer game. It would be fascinating if machine learning and technology could be harnessed to track progress with the virtues in a dynamic multiplayer world.

</comment><comment><USER7> Loved loved this series. As it happened broderbund hired me out of arcade to test video games. Had fun testing spelunker, load runner, whistler brothers among other home computer games. Loved it.

</comment><comment><USER8> > One player wrote to say that Garriott taught him "almost everything I know > about morality and ethics."

I was in fifth grade when I played--I still remember painfully mapping out nearly the entire world on graph paper. The first time I ever really _deeply_ thought about morality and ethics was because of Ultima IV. It honestly probably changed my life, at least a little.

</comment><comment><USER9> great article, but it's criminal that they don't mention Mass Effect at all, which to me is the all-time exemplar of this idea (in the modern era) (we all pretend like Mass Effect 3 didn't happen lol). it's the only game I've ever played that felt like it could be a Neal Stephenson novel.

</comment><comment><USER10> The article repeatedly references Skyrim. Are the games related?</comment>


I have two spare tickets to Launch Festival - <AUTHOR>

I have two spare tickets to Launch Festival in San Francisco, March 4-6 ($400 value) - do you want to go? Direct-message me on Twitter: @ReadCover if you want to go. <comment><AUTHOR> Or just email me at vlad at readcover dot com. It would be unfortunate to get these tickets go to waste as two of my team mates cannot make it - it is Demo Pit access too.

Event details here: <http://festival.launch.co></comment>


Feds Bust Chinese Firm's Attempt to Steal GM's Hybrid Technology - <AUTHOR> http://www.greencarreports.com/blog/1047458_gm-hybrid-technology-good-enough-to-steal-for-chinese-makers

<comment><USER2> Original and more honest headline: " _GM Hybrid Technology: Good Enough To Steal For Chinese Makers?_ "

No indication that a Chinese institution instigated this as the HN headline implies, rather, an employee in the process of being let go copied a zillion pages of presumably useful stuff and then sold it to a firm in the home country.</comment>


IBM Gives the Chinese Government Access to Software Code - <AUTHOR> http://www.bloomberg.com/news/articles/2015-10-16/ibm-gives-limited-access-of-software-code-to-chinese-government <comment><USER3> Microsoft and many other companies share code with governments and not just the US.

[https://en.wikipedia.org/wiki/Shared_source#Microsoft_Govern...](https://en.wikipedia.org/wiki/Shared_source#Microsoft_Government_Security_Program)

This isn't that uncommon, and originally this wasn't even necessarily done form a security POV, office source code was shared so governments could build extensions on it for their own internal use before addon's were introduced or when addon functionality wasn't sufficient.

Windows source code including kernel source code was often shared to pass various inspections, and in many cases to integrate proprietary tech such as hardware encryption into the system.

<comment><USER4> How would you even reliably audit something as big and complex as the Windows source code?

<comment><USER5> Maybe it's not really about auditing it, as it is about finding their own flaws to exploit. In the US, it's actually worse, because Microsoft also gives NSA the zerodays it finds on a silver platter, way ahead of fixing them (not necessarily suggesting Microsoft will delay fixing them on purpose, but as we know sometimes fixing a major bug can take many months - see the whole Project Zero vs Microsoft scandal - months in which the NSA can put those bugs to "good use").

[http://arstechnica.com/security/2013/06/nsa-gets-early- acces...](http://arstechnica.com/security/2013/06/nsa-gets-early-access-to- zero-day-data-from-microsoft-others/)

Oh btw, Apple and Intel do this, too, now (Intel may have been doing it for years, but we know for a fact Apple "volunteered" to do it, too, this year at Obama's Cyber Summit). As far as we know Google has refused to do it, and hopefully it stays that way.

<comment><USER6> > but we know for a fact Apple "volunteered" to do it, too, this year at > Obama's Cyber Summit

Source?

<comment><USER3> I would be surprised if they didn't, their customers wouldn't like it very much.

If you have to patch 10,000 machines you don't want to be in a position to hear about it with everyone else on patch Tuesday.

If you a big enough client you'll know it's coming and even might get the update ahead of time.

</comment></comment></comment></comment></comment><comment><USER7> China requires all industries, including aerospace, cars, energy, FMCG, and IT, to cough up IP for free in return for access to its markets. Yet we provide access to our huge markets, gratis.

Even if Western access to Chinese markets is inevitably sporadic and subject to the whims of regulatory Chinese quangos who can withdraw it at any time they feel like it, equity markets encourage companies to play the game and cough the secrets, in the name of the next quarterly targets.

Unlike the actual human beings involved, equities don't care if the IP moves from one society to the next. They can literally rebalance their portfolios from West to East in seconds.

Yet much of the IP thus surrendered was created not directly by those Western companies, but by the societies which fostered the freedoms, intellectual, physical, and political, for such discoveries to be possible, encouraged and nurtured. Those freedoms cost dearly, often literally in blood.

That we're selling this patrimony, hard-won by our forefathers, on the cheap, is criminal.

<comment><USER8> What you say might be going on, but I would not expect this source code sharing to constitute IP transfer. It's an audit or inspection. The government isn't allowed to use the code, and I doubt they intend to or have the ability to.

I haven't been involved in government audits of source code, but I have been involved in private audits. We invite the third party into our offices, where we provide them access to a laptop that has the source code loaded onto it. The laptop's network access has been disabled. They're free to examine it for as long as they wish, but they're not allowed to copy it or remove it from the network.

These kinds of mitigations are presumably what they're referring to when they say: "Strict procedures are in place within these technology demonstration centers to ensure that no software source code is released, copied or altered in any way." Note the term _technology demonstration center_ , that is, physical location.

This kind of audit is fairly routine when an important customer is considering your product, for a number of reasons. After all of the security events in the news recently, any foreign government would be right to worry about backdoors in technology provided by US firms. Source code access is one way to mitigate those concerns. It's an audit, not a technology transfer.

Last but not least: I could imagine a certain kind of software where it could be damaging, and could reveal IP, to allow anyone to see any part of the code. Imagine if I invent a better audio compression algorithm that's twice as good as typical MP3 compressors, while producing MP3 format. Then showing someone even a snippet of code could give away my trade secret of how it works. However, the source code of large software products like IBM's is unlikely to have any especially valuable secret sauce. The value of the IP comes from the whole, not of any one special part. In that circumstance, allowing someone to peruse the code at their leisure doesn't give much away.

<comment><USER7> Yes it's true that clients should have a right to inspect code for potential malevolence, especially when geopolitics are at play. However the article is peppered with qualifications:

      "As everybody knows, there's a tacit understanding that if you want to do business in China, you need to show them how this stuff works,"

      "there's definitely a little bit of: 'Can we reverse engineer this?'"

      "For IBM to do this is a little ballsy."

I think in general we're far too willing, far too often, to dismiss Chinese business tactics as benevolent.

<comment><USER9> > I think in general we're far too willing, far too often, to dismiss Chinese > business tactics as benevolent.

Who are "we" in this context? I don't really think anyone in the western world seriously believes there is anything benevolent about China, full stop. What's happening here, and what IBM's statements clearly indicate, is that western CEOs think they might be able to goose their quarterly earnings for a year or two by kowtowing to whatever China demands. That means bigger bonuses and maybe more valuable stock for the CEOs, possibly (who are we kidding, _certainly_ ) lower profits in the long run as everyone knows China steals everything not bolted down and much of what is. But the CEO has no incentive to care about that.

<comment><USER7> "We" = the vast majority of people whose short term consumption addiction is being financed by China, which conversely is investing in our long term economic serfdom.

<comment><USER9> I see. That's not assumption of benevolence, it's simple greed. The same "I'll be gone, you'll be gone" attitude that created the mortgage implosion and so much else that's gone wrong throughout human history. Xbox buyers don't really think China is benevolent, they just don't care because they figure most of the harm they do will be visited on others.

<comment><USER7> The assumption of benevolence is convenient for everyone, consumers and capital alike.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> It seems the Chinese policy is very smart by demanding inspection of software before it goes into deployment/production. It's common sense really. We should demand as much in the US.

Too bad we have laws and agencies that demand the exact opposite:

[https://www.fsf.org/blogs/licensing/epa-opposed-dmca- exempti...](https://www.fsf.org/blogs/licensing/epa-opposed-dmca-exemptions- that-could-have-revealed-volkswagen-fraud)

I wonder who in our government thinks deploying code without review or testing is a good idea? Does anyone know where one might find a full list of these people/agencies?

<comment><USER11> It is one thing to have the _government_ get access to software, and quite another to have truly open source software. Does the entire Chinese population have access to the source? I seriously doubt it.

</comment></comment><comment><USER12> _Beijing won't receive client data or "back doors" into the technology, International Business Machines Corp. said Friday in a statement._

I assume this means that IBM won't specially code backdoors into the software for the Chinese government to use, but I initially read that sentence to mean that there _are_ backdoors in the software, but IBM won't show them to China. Which kinda defeats the purpose of letting them see the source code.

<comment><USER13> It increases the effort required; if you can make the binary line up with 99% of the source code, the remaining 1% is where the back door is.

It's unlikely to have entirely reproducible builds, but simply making the callgraphs line up will give you a lot of information.

</comment></comment><comment><USER14> Would have maybe been somewhat informative if the article had said _what products_ IBM was giving source code for.

<comment><USER15> I opened the link just to read that...

</comment></comment><comment><USER16> It's been a long time (or perhaps never) that the source code had any real value. The value is in the organization - as in both meanings of the word. The noun - organization as legal entity. And the verbish meaning - <USER2> organization of all that complexity towards getting something accomplished.

Also, I think all software systems tend to be improved by having more people look at the code. It eliminates the temptation of "security through obscurity".

So if you're not willing to show your stuff, you either a) still falsely believe that your code has intrinsic value, or b) you are ashamed of or at least don't have much confidence in your code.

</comment><comment><USER17> I believe nobody could understand those stale and tricky code.

</comment><comment><USER9> '"Strict procedures are in place within these technology demonstration centers to ensure that no software source code is released, copied or altered in any way,"'

So... if I were an IBM shareholder (I'm not), I'd certainly hope that this means the code has been provided as a series of highly-compressed JPEGs of the code in a non-OCRable font (i.e., with randomness injected). Otherwise you can go ahead and set your forecasts for IBM's software sales in China to 0 for 2019 or so and beyond.

<comment><USER18> Pretty sure they could just hire 20k people to type in the OCR proof code.. i.e. the turk solution.

<comment><USER9> Still best to make it as expensive as possible.</comment></comment></comment>


Bad code isn't Technical Debt, it's an unhedged Call Option (2014) - <AUTHOR> http://www.ontechnicaldebt.com/blog/bad-code-isnt-technical-debt-its-an-unhedged-call-option/ <comment><AUTHOR> A good description of the downside to an unhedged (aka naked) call option » [https://www.investopedia.com/terms/n/nakedoption.asp](https://www.investopedia.com/terms/n/nakedoption.asp)

</comment><comment><AUTHOR> (A good) redux submission: previous w/highest number of comments (104) » [https://news.ycombinator.com/item?id=8777237](https://news.ycombinator.com/item?id=8777237)</comment>


A Commodore 64 being used in production in Poland (2016) - <AUTHOR> https://www.facebook.com/RetrokompLoaderror/photos/a.680487201977883.1073741830.675193919173878/1260559587303972/?type=3&theater <comment><AUTHOR> Translation of the Facebook description of the photo:

"[...] Yesterday I stumbled upon a service company that balances driveshafts. You won't believe what the owner uses to compute the mass of the weights. The system is based on a homemade bench for balancing shafts connected to a generator of sinusoidal alternations and piezoelectric sensors that measure the vibrations of the rotating shaft. The photo should give you a hint. The thing has been working uninterrupted for the last 25 years, even though the computer at some time had been flooded through a leaky roof window and apparently shit at by pigeons. The program was developed in-house. And it works, gentlemen. It works!"

</comment><comment><USER2> Taking "if it ain't broken, don't fix it" to a whole new level!

</comment><comment><USER3> For nitpicking: it's a Commodore 64C.</comment>


Fracking boom tied to methane spike in Earth's atmosphere - <AUTHOR> https://relay.nationalgeographic.com/proxy/distribution/public/environment/2019/08/fracking-boom-tied-to-methane-spike-in-earths-atmosphere <comment><USER2> {"message": "Adapter not found"}</comment>


World's top bicycle maker is moving U.S. orders to Taiwan factory - <AUTHOR> https://www.bloomberg.com/news/articles/2019-06-17/world-s-top-bicycle-maker-says-era-of-made-in-china-is-over <comment><USER4> I don't immediately discard an item because it's made in China, as I know of some high quality items made there. Most Apple products, some Xiaomi products or Meermin/Feit shoes.

However, I tend to be very skeptical about its quality. Moving manufacturing to China is most often done to reduce cost. The only industry where it's not done due to cost, but supply chain issues, is electronics.

And with cost reduction comes lower quality. Higher tolerances, zero pollution standards, etc. In particular, most items I got from China have this terrible new plastic smell that is almost intoxicating. Same for some clothing dyes. Studies show formaldehyde concentrations are really high in Chinese homes, and I'm not surprised.

Hence, a few years ago I made a resolution to raise my standards and avoid those things. But it's a lot of trouble to find high quality items these days. I want to own few things and keep most for the rest of my life. I have slowly curated such a list, but it's as I said you need to go out of your way and often get custom things from niche brands.

Once a big company in a particular industry moves to China, most will follow shortly. It's game theory. The average customer couldn't care less about things I mentioned above. Sadly, it's all about price.

tl;dr As a consumer I miss much better reviews and reports on product quality, safety and repairability. I feel that'd improve the situation where most industries localize to China to cut costs at the expense of everything else due to information asymmetry.

<comment><USER5> > Sadly, it's all about price.

It's about price because consumers can't measure by anything else.

Eg. I can't tell which of two products is manufactured to higher standards, nor which one isn't infested with formaldehyde.

Until consumers are able to determine those other factors then yes sadly it is all about price (and marketing).

<comment><USER6> On that same subject - it was interesting to me how much better fresh produce was in Italy. In no small part I think this is due to the fact that people have a pretty good ability to distinguish the quality of a lot of traditional foods there.

In the stores, the produce isn't usually as neat and tidy and pretty as in the US - you might even find a few bad bits and pieces, but by and large, it tastes really good.

<comment><USER7> _it was interesting to me how much better fresh produce was in Italy_

It helps that the food doesn't have to travel far from where it's grown. Sadly, the majority of the planet isn't as fortunate.

<comment><USER8> Same thing applies to a lot of produce in california, still tends to taste worse.

<comment><USER9> A lot of that will depend on where you are and where you're shopping. For example: even in the Bay Area it can be hard to find garlic grown outside of China despite Watsonville and Fresno growing a ton of garlic. American-grown ginger as well can be extremely difficult to find as well. Same with avocados and limes. The Southern Californian climate is well suited to both avocados and limes, but most I've found out here are sourced from Mexico or South America (except for the 'specialty' avocados).

</comment></comment></comment></comment></comment></comment><comment><USER10> Giant is a Taiwanese company. I've had quite a few of their road bikes and mountain bikes over the years, and they have all been excellent - <USER2> designed and built. All made in Taiwan too - it seems only their cheaper frames are made in China ([https://cyclingtips.com/2015/02/a-tour-of-giants- taichung-fa...](https://cyclingtips.com/2015/02/a-tour-of-giants-taichung- factory/)). From what I've heard, a majority of the world's high-end bicycle frames are manufactured by Giant and Pacific Cycles in Taiwan, then re- branded.

<comment><USER11> Re-branded isn't quite correct, they are a contract manufacturer, so they are made specifically for the brands. Rebranded makes me think of open mold or catalog frames.

<comment><USER12> Many bikes for other brands (if not most) are made by Kinesis out of Taiwan, which may be what you are referring to. Although the company was founded by Giant employees it is not the same company as Giant itself.

</comment></comment></comment><comment><USER13> Amazing to see an anecdote like this trotted out as newsworthy. There are three total data points and two of them are incredibly vague.

Honestly, this feels a bit like propaganda.

<comment><USER14> The title clearly says 'World's top bicycle maker says'. It's an opinion.

<comment><USER15> Yeah, not sure about how they're measuring. By market cap, Shimano is about four and a half times larger. P/E is very close between the two; Giant's PY return is about 77 times better than Shimano's.

<comment><USER16> Shimano doesn't sell bicycles, just a lot of bicycle components and accessories.

<comment><USER15> Fair enough, I just couldn't think of any other manufacturers even in the industry that make more parts or complete bicycles (that I can actually buy) than Giant does.

</comment></comment></comment></comment></comment><comment><USER17> We just moved and needed to buy some new kitchenware. _You would not believe_ how difficult it is to find so much as a spoon that is not made in China. Even from any name brand, even in a "fancy" store like Williams-Sonoma.

<comment><USER18> Gotta be more targeted in your searches if that's what you care about.

[https://www.sherrillmfg.com/](https://www.sherrillmfg.com/)

[https://www.globalkitchenjapan.com/collections/flatware- cutl...](https://www.globalkitchenjapan.com/collections/flatware-cutlery)

<comment><USER17> Thank you. Looking Japanese stuff is a great idea. They are one of the few places to still keep some manufacturing "in-house."

Searching is hard and companies are not always fully transparent about their process. E.g. "Assembled in the USA" for a frying pan could mean that the pan and handle are made in China, but riveted to each other in the USA. Sigh.

<comment><USER18> For nicer kitchenware, shy away from retail stores in general. Search out brands, find what nice restaurants are using - some fancy restaurants seek out small, artisanal manufacturers for sure.

I remember Jungsik had all dinnerware from Korean artisans. Nice stuff.

</comment></comment></comment></comment><comment><USER19> Ironically, the pic at the top of the article has many bikes painted "Trek" in the background despite the caption saying it's Giant's facility. In truth, pretty much every major bike manufacturer makes their frames in Taiwan, often in the same facilities. Decals and branding are applied after.

There's a huge amount of manufacturing know-how and infrastructure around bike manufacture in Taiwan, especially around carbon fiber manufacturing. You can even go buy a carbon frame design in Taiwan, you pay more for the design if you want it to be exclusive.

Therefore, it's not terribly surprising that they moved to Taiwan. If they were moving to the US that would be something.

<comment><USER20> For those interested in MTB, guerrilla gravity is designed and, as far as I know, built in Colorado. The reviews of their bikes (even aluminum frames) are resoundingly positive. Considering the price points they're not one to overlook.

[https://ridegg.com/](https://ridegg.com/)

</comment></comment><comment><USER21> I own a 2017 Giant and it was made in Taiwan. They've always made their bikes in Taiwan. In fact Taiwan is the performance bike manufacturing capital of the world (largely thanks to Giant). Giant have carbon manufacturing techniques and knowledge that is renowned as the worlds best. All of this always happened in Taiwan.

</comment><comment><USER22> It's "over" until it isn't: > That's why Giant is open to reverting production to its Chinese plants if the U.S. and China are able to hammer out a trade deal. If America "decides to remove the 25% tariff, we will move the production back to China right away," Tu said.

</comment><comment><USER23> If you know the bicycle industry, what's interesting is that Giant started out as a Taiwanese based manufacturer, and is probably going to go back there for some things. And to other places like Thailand, Vietnam, Indonesia, Malaysia.

They are actually not very much different from the top ten largest Taiwanese motherboard makers. All the motherboards used to be made in Taiwan (Hsin-Chu City, etc). For lower labor costs and other things they moved a lot of production to mainland China and kept the design/R&D/HQ in Taiwan. Now some things are going to go back the other way.

<comment><USER11> Even the parts still made in Taiwan are often made by imported labor, last time I visited a bike factory, many signs were _only_ in thai. Taiwanese labor is just too expensive to hit the margins targets US bike manufacturers are looking for. It looks like the shift that's been happening toward SE Asia will just accelerate.

<comment><USER23> a large number of taiwan based AC-to-DC and DC/DC power supply manufacturers (Delta, Zippy, etc) have opened factories in Thailand. If you look at the ATX power supplies sold on newegg for instance, there's about 60 different brand names, actually manufactured by about 12 different companies. I'd say at least half of those have moved manufacturing outside of mainland china because they have better labor/cost of operations opportunities elsewhere in developing parts of southeast asia.

</comment></comment></comment><comment><USER24> This could just be a neat spin on a move towards automation :)

<comment><USER25> Are there any robots yet that can weld bicycle frames? I thought that was still a job for humans...

<comment><USER26> This is actually weird to me. It seemed like it should be possible to stamp out bicycle frames like a car, so I researched it. Such a bike does exist, but is extremely expensive, which seems to defeat the purpose. Is it really not possible to streamline the manufacturing beyond welded tubes?

<comment><USER27> Not an expert but stamped parts are pretty weak from some angles, but perhaps you meant cold forged which is how aluminum bicycle cranks and some other parts are made - pressed using 100,000 pounds (or some big number depending on material) of pressure, this of course only works for mostly solid items. There is a huge cost in making a cold forge and a limited number of times a mold can be used before a new mold has to be made due to wear and tear. Frame quantities in the exact same shape are not that big, though, manufacturers do seem to come up with new models every few years. Making a frame from a solid piece of metal would make it very heavy increasing the material costs substantially, and counterintuitively - weaker than a tube for this application - there is a strength from the shape of a tube that a solid piece of the same metal does not have and if my memory serves right, the larger the inner radius, the greater the strength (of course you can make a tube so thin the first mishap with a vector in the wrong direction crushes it, but that's a different problem). I recall there being a magnesium frame that was a one piece thing a long time ago.

</comment></comment></comment></comment><comment><USER28> Which parts of a better quality Giant bike are made in China, anyway?

Maybe they hare having the Giant-branded frames made in China? (I'd be wary of this stuff, if true; a crappy frame can break and kill you.) Or perhaps tires. Kenda tires (Taiwan brand) are likely made in China.

Nothing that you actually hang onto a frame to make a bike that is worth a damn comes from China: cassettes, rings, cranks, hubs, bottom brackets, shifter, brakes, rims, you name it. Only low-end garbage like SunRace cassettes, ProMax brakes and whatnot.

Bike all around the world are typically the same in this way. The "brand" part of the bike goes into the frame, and then what's on it is third-party components from familiar brands.

Some Shimano stuff is made in places like Indonesia. I don't recall having seen a "made in China" stamp on it, though.

<comment><USER29> A lot of high end carbon bike frames come from China and or Taiwan.

</comment></comment><comment><USER27> For a background on the bicycle manufacturing business, there is a section in this article (on starting a bicycle company) on the history of how bicycle manufacturing shifted to Asia. [https://www.pinkbike.com/news/we-went-to- taiwan-and-started-...](https://www.pinkbike.com/news/we-went-to-taiwan-and- started-a-bike-company.html)

</comment><comment><USER30> If the recent tariffs are cited as the main reason for not making things in China, wouldn't things naturally reverse themselves when they are lifted? The tariffs strike me as an artifice that can't be sustained for a very long time- what is their lasting effect that changes the economics of manufacturing things in China?

<comment><USER31> Or what if China will play dirty and devaluates CNY against USD to offset the tariffs? This will be extremely bad and potentially means another escalation to the trade war...

</comment></comment><comment><USER32> Already a lot of popular brand frames were made in Taiwan.

Also, if enough manufacturing shifted to Taiwan, that itself might prompt a certain "stable genius" to add them to the list of tariff countries. Or China might become aggressive enough toward Taiwan that he would lump them with China in tariffs.

</comment><comment><USER33> > Tariffs are adding $100 on average to the price of bicycles made in China > and exported to the U.S., compared with those made in zero-tariff areas, Tu > said, explaining the rationale for the switch to the Taiwanese site.

</comment><comment><USER34> Perhaps if manufacturers will move out of PRC into nearby countries it won't have a large effect on prices for consumers and businesses in the US, but at the same time will force China to make structural changes in adherence with the rules of global trade and human rights. Too bad Trump has alienated traditional US allies - if major economies teamed up in this effort it would have been a much easier goal.

<comment><USER35> I don't think allies are going to be permanently "alienated" by one president's remarks.

<comment><USER36> "Once bitten, twice shy" as the saying goes.

For example, the EU has acknowledged that their unflappable trust in the US alliance can no longer be depended on. And they are taking steps to move towards a more independent posture in particular on defence.

</comment></comment></comment><comment><USER37> Bicycles are something that you need to be careful buying. Don't buy a BSO - <USER3> Bicycle Shaped Object. Just because it looks like a bike, doesn't mean you can comfortably ride it. An entry level bike is about $1200. You can comfortably ride it for hours, or up hills, carry a heavy load, it won't easily break, and it'll have a smooth ride. I feel bad for people that go out and buy a BSO; BSOs ruin cycling. We need to have laws in place to prevent crap from reaching the market.

<comment><USER38> I have to laugh at this. In Japan, my Chinese-made bicycle is bulletproof and entirely functional. It cost $150, shipped to my front door. It's a folding bike with 9 speeds and disc brakes. I've ridden it day after day for years. It spent two years without shelter in the elements. It won't win the Tour but it is a winner in every other way.

You can tell me the environmental impact was horrendous and I would believe you, but the quality of this bicycle can't be denied.

<comment><USER39> What's the bike you got? I am in the market for one in China, and have a hard time filtering for quality.

<comment><USER38> They get rebranded in Japan, so I'm not sure about the original maker. Try looking at bikes on Rakuten's japan site, and maybe you can trace some of those bikes back to their source in China?

<comment><USER39> Still remember the brand?

I'm seeing a few different ones at that price point, MyPallas, Graphis, Airbike.</comment></comment></comment></comment></comment>


Font rendering is broken, antialias messed up, blurry, weird – chromium - <AUTHOR> https://bugs.chromium.org/p/chromium/issues/detail?id=880513 <comment><AUTHOR> Hacker news looks really bad now with Chrome 69 on Win10/HiDPI.</comment>


A New Reason The Kindle Sucks - This Time It's Availability and Monetization - <AUTHOR> http://www.centernetworks.com/amazon-kindle-affiliate-program <comment><USER2> I keep hearing all these reasons the Kindle "sucks". I would buy one the moment it becomes available. I'm guessing Amazon severely underestimated initial demand for the device so maybe it "sucks" a lot less than expected.</comment>


Building Conversational Interfaces to Make the Web More Accessible for All - <AUTHOR> https://medium.com/myplanet-musings/building-conversational-interfaces-to-make-the-web-accessible-for-all-2e7635d20521 <comment><USER2> This is great, OP. We are building a prototyping tool [1] for conversational interfaces and with our tool we have seen teams improve the entire prototyping, design and testing process by 10x.

1\. [http://www.botmock.com](http://www.botmock.com)</comment>


Fish playing pokemon back again - <AUTHOR> http://www.twitch.tv/freddythefeesh <comment><AUTHOR> The original developers of fish plays stopped streaming so we took up the challenge to remake it from scratch. We have plans to make Freddy play other more difficult games such as league of legends, binding of isaac, etc. Feel free to drop in give us suggestions we hope to develop more interactive/entertaining content for twitch using code.

Thanks, FreddyTheFeesh</comment>


Show HN: Web Page Archiver - <AUTHOR> http://www.totp.me/web-archiver <comment><USER2> That's awesome. I like that you just came out with this when the others have posted...and that it only has 1 point! It's simple and to the point. I may not be your customer base but think the email is a great method of delivery. Especially if the mails were sent with some metadata in the message body that made searching for the mails easy. If you packaged it into a Chrome extension ( easy enough to make ) you could accept payment using the extension APIs and people could just click your extension's page action to save the page. It would be effortless. And a few seconds / minutes later, they'd get an email notification....this is giving me ideas! :) Anyway, I wanted to congratulate you and reach out since yours seems to me just as good as the others and it is perhaps not getting quite as much attentions as theirs. Good luck! :D

P.S I wanted to ask have you had much interest / use / payment for this? :);p

<comment><AUTHOR> Thanks for taking a look, 19eightyfour. Those are good ideas.

No, nobody has used this yet. (But I never told anyone besides the owner of demandrush.com, and now HN.)

</comment></comment><comment><AUTHOR> [re-posting a duplicate of: [https://news.ycombinator.com/item?id=14646228](https://news.ycombinator.com/item?id=14646228) , which disappeared, perhaps because it was behind ddns.net.]

I made this prototype in response to a post I saw at:

[https://www.demandrush.com/problems/api-save-files- url](https://www.demandrush.com/problems/api-save-files-url)

but never heard a peep back from demandrush. Before I shut this web-service down, does anyone here think anything of it?

It's trivial to modify it to send you your web page snapshots via email or whatever. As it happens, the MHTML format is especially suited to email.</comment>


Design by contract (Programming by Contract) - <AUTHOR> http://en.wikipedia.org/wiki/Design_by_contract

<comment><USER3> DbC is one of the linchpins of future software development. The traditional desktop license "use at your own risk" simply won't be acceptable as computing power becomes more centralized in the future. The corporate world expects us to provide all possible diligence to show proof of correctness in our applications, and the products built with DbC will have a competitive edge over products which don't employ DbC.

<comment><USER4> Honestly, did you read the definition? It is a programming paradigm relying on precodition and postcondition. Not related to desktop license.

<comment><USER3> What I'm referring to is the bigger picture where DbC has a positive effect on the value and accountability of applications. Imagine taking the traditional desktop software license and trying to use it for a web application - <USER2> target audience won't tolerate such a license because all web apps are inherently more mission-critical than desktop apps. In business terms, adherence to DbC represents good faith effort to provide reliable applications.</comment></comment></comment>


ZFS Forensics – Recovering Files From a Destroyed Zpool - <AUTHOR> http://www.joyent.com/blog/zfs-forensics-recovering-files-from-a-destroyed-zpool

<comment><USER2> The more we all use ZFS, the better. I truly hope ZFS on Linux keeps up the momentum it has, because it will increase the value of the overall ZFS knowledge base (like this post).

For more interesting topics by Mr. Bruning, I encourage you to look through the past "Bruning Questions" posts: [https://www.google.com/search?q=bruning+questions+site:joyen...](https://www.google.com/search?q=bruning+questions+site:joyent.com&nfpr=1)

<comment><USER3> > it will increase the value of the overall ZFS knowledge base (like this > post).

Joyent uses ZFS on illumos exclusively. Not Linux

<comment><AUTHOR> ZFS is now available on Linux via FUSE actually.

<comment><USER4> How does that compare, performance wise, to a 'real' ZFS implementation like on Solaris or FreeBSD?

<comment><USER5> The fuse one is not terribly fast, as expected. I think this is what you're really looking for: [http://zfsonlinux.org/](http://zfsonlinux.org/)

Basically the standard ZFS driver with a shim for the kernel.

<comment><USER6> I use that and it has been amazing so far.

</comment></comment></comment></comment></comment></comment><comment><USER7> Have used ZFS on Linux, FreeBSD and OpenSolaris for a few years now. Had a few startles with 'unrecoverable' zpool failures on both Linux & FreeBSD that were easily fixable with a OpenSolaris LiveCD. When operating a zpool, shouldn't matter too much which OS you're on, but do yourself a favor and use the OpenSolaris LiveCD with the latest zpool version if you need to do any sort of recovery.

<comment><USER8> [https://en.wikipedia.org/wiki/Pro- drop_language](https://en.wikipedia.org/wiki/Pro-drop_language)

</comment></comment><comment><USER9> When I'm root, rm asks if I want to delete a file.

zpool destroy does not believe in asking.

<comment><USER10> Only because something set up an alias when you're root to pass -i to rm.

</comment></comment><comment><USER11> TempleOS is reading HN today...</comment>


RFC 5841: Packets with Moods - <AUTHOR> http://tools.ietf.org/html/rfc5841

<comment><USER2> " _It could be said that many people consider RFCs boring. Packets containing RFC text MAY be marked as 'bored'._ "</comment>


Fucking Fuck the Fucking Web - <AUTHOR> http://cbloomrants.blogspot.com/2015/02/02-01-15-fucking-fuck-fucking-web.html

<comment><USER2> It's a beautiful rant, and I feel his pain. How does it happen that Google goes from having the best maps on the web to a broken toy? That Amazon goes from having fantastic search to returning lists of random items? That modern browswers can once again have visible lag when typing fast? Toward the end, he offers his solution:

      I think an interesting idea for development would be to
      have a totally separate "finishing team". You get all new
      developers and managers on at the end, so that they aren't
      wedded to any of the ideas, they aren't building fences
      around their work and unwilling to change anything, they
      aren't prideful and unable to admit that it sucks. The
      finishing team is only concerned with the *results*, what
      the actual user experience is, and they can mercilessly cut
      up the product to make it better. Politically the finishers
      have no stake in keeping work, so they can even revert huge
      chunks or just cut features.

Does anyone do this? Or would it just be too demoralizing?

</comment><comment><USER3> I have approximately zero of these issues. But maybe using a modern operating system is also one of this guy's/girl's pet peeves.

It is unbelievably stupid to stay on such an old browser. Browsers are the main vector of attacking an individual user, and you can't sacrifice security updates in order to keep a UI that you seem to prefer.

<comment><USER4> So you're just stuck picking which way you want to be screwed over, eh?

<comment><USER3> If a product is developed correctly, it will please less than 100% of people. Some people will never be happy with what's out there.

I'm one of the whatever percent of people that is mostly satisfied with my browser. It stays almost entirely out of my way. My UX issues on the web are typically due to the web.

So to answer your question, some people may be making that choice, but I, like most people, am not.

<comment><USER4> The problem here is when someone is happy with what they have, but would be less happy with the new version because it sacrifices something which was important to them. Then they are stuck with a choice between allowing their computer to become less useful and allowing it to continue to be less secure. It's not clear that "upgrade anyway" is always the right choice.

</comment></comment></comment></comment><comment><USER5> tl;dr CHANGE, I HATES IT! LET ME SET AN INSECURE PASSWORD GOD DAMN IT!

<comment><USER6> That guy has a rough life.

<comment><USER7> What he saying is this: he knows a grand total of 0 people whose accounts have been hacked because their password was too simple. It's almost _always_ something else. Yet password management only seems to become more complex and cumbersome over time.

And it's not even debatable that major apps, sites, and operating systems ranging from Google Maps to Firefox to iOS have grown suckier and suckier over the last few years. This isn't old-man-yelling-at-cloud stuff -- it would easily show up in usability studies, if the companies involved actually ran valid usability studies. When I encounter the same daily frustrations as my non-computer-geek friends, something's wrong. That never used to happen.

<comment><USER8> Before salting became mainstream simple passwords were broken all the time when data was stolen

<comment><USER7> But that was a server-side issue, like virtually all modern attacks that don't involve trojans.

When it comes to security, a lot of misguided "best practices" seem to be geared toward making users pay for the sins of the admins.</comment></comment></comment></comment></comment>


Wall Street transparency: home page of the most active trader on the NYSE - <AUTHOR> http://www.latourtrading.com/

<comment><AUTHOR> This the list from NYSE: <http://www.nyse.com/pdfs/PT10411.pdf></comment>


Steve Ballmer owns more of Twitter (4%) than CEO Jack Dorsey - <AUTHOR> http://recode.net/2015/10/16/steve-ballmer-is-investing-in-twitter-this-just-gets-better-and-better/ <comment><USER2> sorry for his loss... Twitter appears to lack something from management.</comment>


Origins and migration of Soccer's elite – data visualization and app - <AUTHOR> https://developer.ibm.com/bluemix/2016/06/03/origins-of-soccer-superstars/ <comment><AUTHOR> A blog post and link to an interactive data science app that plots the origins of Copa America players and the paths that led most to Europe.</comment>


Show HN: Online Game with levels procedurally generated from GitHub Data - <AUTHOR> http://18.104.22.168:3000/client/index.html <comment><AUTHOR> OP Here: This game was developed for the Hack.Summit Virtual Hackathon. We developed it with 3 people, in 3 different countries. The platforms that you see in the levels are generated based on commits from the current repository (level) you are playing.</comment>


The Fantasy of Addiction - <AUTHOR> https://www.firstthings.com/article/2017/02/the-fantasy-of-addiction <comment><USER2> I don't buy it. Addiction isn't well understood, but free will isn't even well-posed. What kind of argument is "people sometimes give up their addictions, therefore addiction has no descriptive power as a concept"? Is that not the expected state?

Here is an example of different way to improve our addiction model without relying on something as wishy washy as free will. [http://www.npr.org/sections/health- shots/2012/01/02/14443179...](http://www.npr.org/sections/health- shots/2012/01/02/144431794/what-vietnam-taught-us-about-breaking-bad-habits)</comment>


Ask HN: How would you invest $100,000 right now? - <AUTHOR>

If you had $100,000 in the bank right now and wanted to invest all of it, how would you do it?<p>This is open ended, up to you whether it would be a long term or short term investment, I'm just curious what you would do. <comment><USER2> Rather than keeping it in the bank or investing it, I'd pay off my mortgage. The resulting drop in outgoings would be far better for me month on month than any investment could return.

With the resulting money saved each month, I'd then look to invest that in a diverse investment portfolio covering different asset classes and levels of risk.

</comment><comment><USER3> Pay off all debts first, interest on debts is always higher than interest on deposits. Put enough into a short notice emergency fund to cover, erm, emergencies.

Divide the rest between safe and risky investments depending on how confident or otherwise you are that this isn't a one off windfall.

</comment><comment><USER4> I would spend it on booze and hookers!

<comment><USER5> I know HackerNews has this generally accepted policy of not making 'frivolous one liner' type comments... but I just did a spit-take laughing at this one.

</comment></comment><comment><USER6> I don't like any of the traditional investment options right now. Bond interest rates are too low. Stocks are overvalued. I'd probably put it into an investment I actually have control over: a new startup.

</comment><comment><USER7> Right now, I just have it in mutual funds. I'd be interested if anyone knows of better options that don't involve a ton of micromanagement.

<comment><USER8> ETFs. They are funds but traded like stocks and their goal is to mirror an index like the S&P 500. Their main benefit over mutual funds are their really low management fees.</comment></comment>


Organize your sports activities - <AUTHOR> http://quickker.com/

<comment><USER2> Sports is a very broad topic, maybe you should specify a little more what the site will be about: active sports? Spectator sports? Maybe a list of sports? Be a little less secretive.</comment>


Can chat bots become smart? Is it hard? - <AUTHOR> There are many bot frameworks out there. Some supported by giants: API.AI (Google), Wit.AI (FB), IBM Watson.... There are many startups coming with their frameworks.
What all have in common is the need to train the bot to make it smart. But how much training does it really need? Does it really need hundreds of sentences per a user intent (such as make a reservation) or does it need just 10-20 examples? If the bots had those so many examples, would have 2016 made her promise of being the Bots year?
Another question, do we really need smart bots? From the bots that are out there,  it seems most of them are just putting out a website in a linear conversation-like manner. They don't seem too smart but they do the job and you don't need much data to train them....
So before I enter botland, do anyone have a good idea of how much effort is needed to actually train the bot? Are their good practices on where to find training data? <comment><USER2> I got interested in chatbot few months ago and looked at few open source implementations.

so far, my findings are disappointing.

the capabilities of those bots are very limited.

I remember there was a post here saying they've built the first layer bot. I checked out.

it turned out to be a menu system. for each question you ask, you have to select from few options by providing a number.

sounds exactly like the auto phone support system.

there are other deeplearning based ones I tried. but the replies they generated were very random...</comment>


The Baumans, Sellers of Rare Books - <AUTHOR> https://www.nytimes.com/2019/01/30/style/bauman-books.html <comment><USER2> Limited editions, first editions, what perversions are those? The point of a book is that you can run off as many copies as you would like until the type wears off. And the trouble with first editions is that they carry typesetting errors that are corrected in later editions. For the best edition of a manuscript you want to reach for the authoritative edition, not the first.

</comment><comment><USER3> +1 If you're a bibliophile I do recommend stopping by their store in LV. I discovered it by accident but its quite a treat.</comment>


Ask HN: Promised percentage of company, never received in writing - <AUTHOR> Throwaway for obvious reasons.  I am a technical co-founder of a startup for which I was assigned a significant percentage of the company via verbal agreement.  The owner of the company has assured me repeatedly, "Don't worry, you will get your percentage."  This has been going on for two years now.  I tried to explain why this is not an acceptable way of doing business, but his response is to question our bond of trust.  He has always been trustworthy but I feel strongly that something like this should be in writing, with official shares perhaps, or something formal that I could, for instance, include in my estate.
While clearly I have good reason to be concerned, what should I do?  I've already built the start-up and the executive team is involved in a long term sales process which could lead to significant valuation shortly.  At that point I'd be putting blind faith in the owner to finally give me my percentage officially.  However, in the meantime, it's just pins and needles.
Comments or suggestions? <comment><USER2> When he says "You __will __get your percentage " you should say: "I know, I'm going to get it right now" and frog march him down to your lawyers office. And if he doesn't give it or fires you, then good, you knew you were going to get fucked earlier than you did. Only a conman would fire someone for asking to get what they agreed to give them. Also if you find out now you will have ample time to throw a money wrench into the deal if you get fucked. In other words, get a backbone.

</comment><comment><USER3> Get the promise in writing via email, chat, or text message. You can be casual/nonchalant about it. He doesn't need to know why you're bringing it up.

Next, give him a better reason to get it in writing than, "You might screw me." Tell him that you do trust him, but your lawyer friend says that there are lots of specific details that aren't in your verbal contract (this is true!)

Talk to other executives about this, too. Tell them honestly that you aren't clear on the details of your contract.

If they all refuse to give you a written contract, it's a safe bet (in my experience) that they plan to screw you.

Talk to a lawyer either way.</comment>


Print photorealistic paper PCBs on circuits.io - <AUTHOR> http://blog.circuits.io/post/45863211451/show-off-your-designs-using-circuit-embedding-and

<comment><USER2> These guys keep on innovating !</comment>


Learning To Drive a Stick Shift: Why Programmers Should Know C/C++ - <AUTHOR> http://www.codingthewheel.com/archives/learning-to-drive-a-stick-shift

<comment><USER2> The simile is imperfect.

Driving a manual car, rather than an automatic, teaches you nothing about cars, possibly bar the fact that they have gears. Even that is tenuous: the interaction between the clutch, stick and accelerator is a very abstracted interface to the actual drive mechanism of a car. Manually changing gear is just an extra dexterity skill to learn.

And the opinion is out of date.

The "learning x will make you a better programmer" argument has been made before. However, last time, x was Lisp. This makes sense, because in that case you're sacrificing performance to gain better tools to problem solve. But, in this article, the argument is that learning C++ teaches you about computing basics - memory allocation, storage, retrieval etc. But these things just aren't that relevant anymore. Problem solving tools are generally useful. Technical details are specifically useful, and thus less enriching.

<comment><USER3> Driving a stick shift _well_ teaches you not only that cars have gears, but that the power output by an engine depends on RPM, that your car has synchronizers and that you can reduce the wear on them, etc.

<comment><USER4> I live in Norway. Most people here drive stick-shifts. I can guarantee you that the vast majority of people driving stick-shifts have no idea what synchro rings are, nor would they be able to point them out if you cracked a gearbox open and told them to point them out. So yes, the simile is flawed.

As for the usefulness of learning C or C++, I do think it is useful as a learning exercise. As would assembly programming be. I have met developers who considered themselves "experienced" who are unable to estimate memory requirements for simple data structures. I've had people tell me that pointers are "about one byte" and people who insist that the most compact way to store a boolean value is as an int value.

<comment><USER5> Note that he said _well_. Yes, you can drive a stick to work and the grocery store without learning anything significant about it at all, just like you can write "Hello World" programs in C++ without really knowing anything about pointers, dynamic mem allocation, etc. But in both cases, to be able to do anything significant, you'd need to learn more than the absolute basics.

</comment></comment></comment></comment><comment><USER6> I am so sick of people mixing up C and C++ when making this argument.

I can think of thousands of reasons to use C. C is much like learning to drive a stickshift.

C++ is an utterly broken language. It's just an exercise in bad compiler errors, strange and inconsistent language constructs, and strange conventions and boilerplate you need to follow to produce correct code.

<comment><USER7> Bollocks. C++ is a way to achieve everything C does with a fraction of the code and greater safety.

<comment><USER8>
        * No compile time encapsulation
        * Outstandingly complicated grammar
        * No way to locate definitions
        * No run time encapsulation
        * No binary implementation rules
        * No reflection
        * Very complicated type system
        * Very complicated type-based binding rules
        * Defective operator overloading
        * Defective exceptions
        * Duplicate facilities
        * No high-level built-in types
        * Manual memory management
        * Defective metaprogramming facilities
        * Unhelpful standard library
        * Defective inlining
        * Implicitly called & generated functions

</quote> Defective C++ <http://yosefk.com/c++fqa/defective.html>

<comment><USER9> Everything in that list that includes the words "defective", "complicated" or "unhelpful" is an opinion.

If we eliminate those, the list reduces down to about eight objective criticisms, of which several are just _wrong_ (No high-level types? Bzzt. The STL is _part of the language_ ), and others that are minor variants of the same complaint (that it's not a dynamic language).

<comment><USER8> The quoted site explains in depth the words "defective", "complicated" or "unhelpful" (and about STL _being high-level_ too).

I've posted a short outline to provide a context for the link. It is easy to read and the critique it provides is worth reading by any C++ programmer.

Do not believe my words, just try to read it and see for yourself.

EDIT: I want to make it clear. C++ is a valuable tool for some tasks. But.. No size fits all. And knowing the weaknesses of the tool at hand does not hurt either.

<comment><USER9> Yes, I've read the site before. I don't have the time or inclination to rebut every point that he makes, but many of his criticisms boil down to the fact that he just _doesn't like_ the complexity of C++ (which is fair, but it's still just his opinion.)

The "high-level" criticism, in particular, quickly devolves into a complaint about the complexity of template generics, and how the error messages emitted by current C++ compilers are cryptic. It's unclear what his solution to the problem would be, short of a fully dynamic type system.

</comment></comment></comment></comment></comment></comment><comment><USER10> Love the metaphor. But people said the same thing about learning assembly, and assembly is inessential.

<comment><USER11> Inessential, yes. But I'm pretty sure that there are cases where knowing Assembly makes you a better C programmer.

It lets you understand, for instance, why accessing the elements of an array in one order is faster than in another order. Or something. I don't know, because I don't know Assembly. :( But I'm pretty sure that if I did I might be a slightly better C/C++/Fortran programmer than I am.

<comment><USER10> Learning assembly actually probably isn't going to teach you that either, because the reason one access ordering is beating another is probably due to the cache, and that's microarchitectural.

Not to be, you know, pedantic about it or anything. I liked your response. =)

<comment><USER11> Ah, well there you go. If I knew Assembly I'd know have known that knowing Assembly wouldn't have helped me. Either way, it's apparently a useful skill that I lack.

</comment></comment></comment></comment><comment><USER12> funny. i helped a friend of mine recently with their C++ homework. in their school C++ is the introductory programming class. i likened it to trying to drive a manual car up and down san francisco without first learning to manage the wheel

apparently it's a weeder course

</comment><comment><USER13> I think its handy to have a start in the programming world with C or C++. It being your first language, you will definitely have a good grasp of pointers, memory etc (as they are closer to the machine). Infact, I had taken an assembly language class(sopho/junior year) as well in school where we had to sometimes hand compile an Instruction to Binary. I thought it was really cool to actually see a PSHA (Push register AR) convert to say 1011 1001 and how it triggers the gates in a microprocessor. I hardly use assembly in work or personal projects, but knowing all these memory saving techniques definitely help you in writing good code in Higher Language Languages.

</comment><comment><USER14> Can we please stop calling these two languages C/C++? I cringe every time I see it.

<comment><USER15> Nowadays we should certainly use C/C++/D.

</comment></comment><comment><USER16> Understanding the algorithms in your code, both the ones you wrote and the ones that the the compiler/interpreter are adding, is the useful thing in my view. In as far as C forces you to explicitly deal with many of these issues manually it would help with your understanding of this. Usually however the difference in complexity (both space and time) between the algorithm you think you are using and the one the computer is using constant or at worst Log(n) which doesn't justify delving into the lower levels such as C or machine code.

</comment><comment><USER17> In freshman science labs, students often repeat classic experiments from the past. Even if the experiments are outdated, the idea is to learn techniques and methodologies that are relevant even today.

I grant you the simile is imperfect, but I'm a firm believer that learning C/C++ can make you better.

</comment><comment><USER18> C yes, C++ definitely not. C will help because it will introduce people to how things are actually stored in memory and because quite a few high level tools are implemented in C. C++ will just confuse the learner with excessive syntax.

<comment><AUTHOR> yes. i've come to the conclusion not that learning c is helpful but that writing malloc is helpful. i'm eternally grateful that was assigned as a project my sophomore year.

<comment><USER19> Could you provide details on what the project requirements were? I'm interested in doing a similar exercise.

<comment><USER20> _Tons_ of computer systems courses are taught out of the same book from CMU: _Computer Systems: A Programmer's Perspective_.

You can search for "malloc lab" and find tons of copies of the assignment (with only the instructor names and course numbers changed), but here's one:

[http://www.cs.cmu.edu/afs/cs/academic/class/15213-f02/L6/mal...](http://www.cs.cmu.edu/afs/cs/academic/class/15213-f02/L6/malloclab.pdf)</comment></comment></comment></comment>


Ask HN: Whats the best way to learn PHP? - <AUTHOR>

I have never touched PHP but have some experience on server side programming using C and Python. Whats the best way to learn PHP. Any pointers on the net would be greatly appreciated :-) <comment><USER2> Start writing a program! Make a simple CMS, CIRM, game or whatever you are interested in. When you don't know how to do something, use php.net, your favorite search engine, or Devshed (<http://forums.devshed.com>). A good IDE helps too, I personally use PHPDesigner (<http://www.mpsoftware.dk/phpdesigner.php>), but there are tons of them out there.

The most important thing is to understand your learning style and then exploit that. Take a class? Read a book? Dive right in? Reverse engineer? Teach? Only you can answer that question.

Have fun!

</comment><comment><USER3> While you're learning, remember that most tutorials are going to be slightly out of date (statistically speaking). Use the following guide to help find good resources (or to replace outdated sections).

MySQL functions = bad, PDO = good

die() = bad, throw new exception = good

$_GLOBALS = bad, bad and more bad

quoted SQL = bad, prepared statements = good (do not trust mysql_escape_string or any variant of it)

striptags() = bad, HTMLPurifier = good

And finally, for the confidence you need to start a project that's a little scary:

every other programmer = bad, you = damn good

Good luck! :)

[edited for spacing]

</comment><comment><USER4> This is from Zend, try this and see if it helps you:

<http://devzone.zend.com/article/627>

Also if you are interested in Zend Framework and want to master Zend Studio quickly, the e-book "Zend Studio for Eclipse Developer's Guide" by Peter MacIntyre and Ian Morse is very good.</comment>


Eleven very short stories about SXSW - <AUTHOR> http://saladonions.tumblr.com/post/3999930602/eleven-very-short-stories-about-sxsw

<comment><USER2> you, sir, deserve a dedication. maybe not worthy, but a dedication anyway. This one's for you & all those who created something at #SXSW [http://freefreebeer.tumblr.com/post/4055355678/freebeer- will...](http://freefreebeer.tumblr.com/post/4055355678/freebeer-will-get-you- in-the-morning-after-you)

</comment><comment><USER3> That's clever. Love the back stories created and little vignettes into these characters. Well done sir, well done.

</comment><comment><USER4> Brilliant writing :-)</comment>


Init.js – A simple command line tool to quickly initialize developer workspaces - <AUTHOR> https://github.com/frdmn/init.js

<comment><USER2> What is that terminal font you are using in the screenshot ?

<comment><USER3> Might be Droid Sans Mono: [https://www.google.com/fonts/specimen/Droid+Sans+Mono](https://www.google.com/fonts/specimen/Droid+Sans+Mono)</comment></comment>


9 quick steps to optimize Magento performance via Admin Panel - <AUTHOR> https://extait.com/blog/9-quick-steps-to-optimize-magento-performance-via-admin-panel/ <comment><AUTHOR> Want to optimize Magento performance to make it load faster? These 9 quick but really essential Admin Panel tweaks will help you to enhance your Magento site. Drastically. Read more: [http://bit.ly/2uhxrVY](http://bit.ly/2uhxrVY)

<comment><USER2> Please don't use URL shorteners here. There is no text length limit, and URL shorteners can be used to shroud unsafe sites.</comment></comment>


Why work in Arizona? - <AUTHOR> http://why.az/

<comment><USER2> Throwaway account here.

I am am Arizona native. Up until recently, I was working on the largest supercomputer in the state, Saguaro2 at ASU, and a Translational Genomics Research Institute (genomics research) employee. I live downtown right in the creative district, near Roosevelt Row.

I am in the process of selling my home and leaving the state. I am done here. I don't want to live in Arizona anymore. I won't be coming back.

I am now in my 30s and I really regret staying here. I should have left long ago. My career could be so much better and i could have learned so much more by being with my peers in the SF/valley area, Seattle, or Boston. I have wasted a portion of my life here in a black hole where retirees come to die, not live.

I would never tell anyone in technology to move here. There are few jobs and the people you would be working with are mediocre and lack ambition.

Employers like Intel, TGen, and GoDaddy(YUCK) deal with low moral issues. Intel employees over in Portland know that if you get transfered to Chandler, it's pretty much a death sentence for your career. I can rattle off a dozen names of ex-Intel employees who I know shipped in from elsewhere to Chandler and had quit within five years because they hated the local company culture, along with Arizona's culture. TGen has a massive problem with investigators and other senior staff jumping ship because of the "Arizona problem". As for GoDaddy... a morally bankrupt hole of despair.

The outdoors here are pretty great if you are in to that sort of thing... the problem is all the people.

Oh, BTW, of those 128 lakes in Arizona? Zero of them are natural. All artificial. Let's not bring up the water quality of Tempe Town Lake, lest things get gross.

Arizona's many problems with regressive social issues can be directly attributed to it's large retiree population. Or more generically stated, the old people.

Native Arizonans (white and "Native" natives) from places like Wilcox, Safford, Show Low/Lakeside/Snowflake, Flagstaff, and Tuba City are pretty normal people who have lived a mostly rural life. They care about the low desert, the high desert, and the wildlife. They care about schools, kids, ranching, mining, agriculture, and those sorts of things.

The old people, and to an extent the economic transients... they come from elsewhere. They are not from Arizona, and they really don't care about Arizona. Plow the desert, put in new subdivisions, heavily chlorinated pools, and green golf courses. They want to cut or completely eliminate estate and property taxes. They don't care about schools or education and consistently vote to down anything related to it.

Arizona education is pitifully bad... [http://www.examiner.com/article/u-s- state-public-education-r...](http://www.examiner.com/article/u-s-state-public- education-rankings-arizona-ranked-50th-education-ranking) [http://cronkitenewsonline.com/2012/01/arizona-schools- finish...](http://cronkitenewsonline.com/2012/01/arizona-schools-finish-near- bottom-in-national-ranking/) [http://answers.yahoo.com/question/index?qid=20110220120820AA...](http://answers.yahoo.com/question/index?qid=20110220120820AAFS6wJ) Yes, I'm somewhat ashamed to support an argument from yahoo answers, but there it is.

The old people stay with their own, inside their own collective conclaves like Youngtown, Sun City, and elder-slums of Mesa, and Apache Junction. It's an "Us vs Them" mentality where the "Us" is white people over the age of 65, and "Them" is everyone else in the world.

Old people vote pretty reliably and consistently, I'm sorry to say, and so they are pretty good about getting their candidates into office. As a result, you've got finger-waving bat-sh*t Brewer, Joe Arpaio, Tom Horn, Russell Pearce and other white weirdos. Let's not forget about Evan Mecham here though... [https://en.wikipedia.org/wiki/Evan_Mecham](https://en.wikipedia.org/wiki/Evan_Mecham).

Let's stick some support for child molesters in here while I'm at it... [http://www.azfamily.com/home/Pearce-on-accused-child- moleste...](http://www.azfamily.com/home/Pearce-on-accused-child-molester-- 212576591.html)

Is Arizona racist? I'm going to have to admit: YES. The evidence is overwhelming and spans decades. Plausible deniability becomes ineffective at some point, and we are way past there. Countless politicians have showed up on white-supremacist radio shows and been photographed with their ilk. Arizona's war on the MLK holiday was long sustained. The Mexican illegal boogyman talk is everywhere.

[http://www.azcentral.com/arizonarepublic/news/articles/2012/...](http://www.azcentral.com/arizonarepublic/news/articles/2012/01/12/20120112martin- luther-king-holiday-dilemma.html)

Let's be clear that the mass exodus of Mexican nationals across the border into the US is a real issue and I see the real consequences of it on a daily basis (my neighbor just had his car wrecked by a Mexican who ran from the scene because he was here illegally), but the racism part is just what Arizona was already doing before the old white people realized that dark skinned people had been living here before they did.

The Mormon population and their official support for segregation long into the late 70s certainly does not help here either.

Let's see what the kids of good Arizonans, like federal senator Jeff Flake are learning about these days...

[http://www.buzzfeed.com/johnstanton/arizona-senators-son- use...](http://www.buzzfeed.com/johnstanton/arizona-senators-son-used- homophobic-anti-semetic-language-o) [http://www.abc15.com/dpp/news/region_phoenix_metro/central_p...](http://www.abc15.com/dpp/news/region_phoenix_metro/central_phoenix/arizona- sen-jeff-flakes-son-posts-disturbing-suicide-video-on-youtube)

I've lived here and I've seen how the old people behave. I don't want to grow old here and become like that. I don't want to have to live with those kinds of people. They can have this state where I grew up. I'm outta here.

</comment><comment><USER3> Isn't Arizona the state where anyone that looks non-native may get harassed by the police? [1]

No thank you.

\---

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

<comment><USER4> I think that's every state, including the ones where it may not be legal.

</comment></comment><comment><AUTHOR> Submitter here (and an Arizonian native):

I know we receive a lot of bad press for our politics. I will not speak for the many people in my state, but I will say we are pretty diverse, and a lot of us agree with you. Boycotting us does not help the issues we have, I believe that staying here and fighting helps a lot more.

The site was made to show a different side of AZ, and I think the discussion here proves that it is needed. We have our bad stuff, but we also have a lot of great stuff (just like anywhere else).

<comment><USER5> For a lot of people, it's not a matter of a boycott, it's a matter of practicality. My two co-founders are both naturalized U.S. citizens, and they don't want to have to carry proof of citizenship with them everywhere they go, so we don't do business in Arizona.

</comment></comment><comment><USER6> Incredibly backwards politics and laws are some good reasons not to.

<comment><USER7> Also, the death weather and the very sketchy water situation.

<comment><USER8> While in Phoenix on a business trip, an associate I was working with who lived in Phoenix was driving us to lunch. He said "You know, the nice thing about this place is you never have to worry about weeds or yard care. Nothing here is alive unless it is being actively kept alive."

Also, no matter how much water I drink in that city, I can only manage to pee about once per day. Kinda dry there, is what I'm saying.

</comment></comment></comment><comment><USER9> As a hispanic developer on an H1-B, I didn't attend to JSConf last year with my team out of the feeling of contempt I get from the immigration policies of that state.

</comment><comment><USER10> Interesting domain choice; .az is supposed to be Azerbaijan and .az.us is for Arizona.

</comment><comment><USER11> Very well made website, I really liked the coherent design.

Opinions of your state (which I have none, but large swaths of the American population probably do) aside

</comment><comment><USER12> I'm an AZ resident... and, sure, we've taken a beating in the National press as of late, much of it deserved. That said, if you like to play outside, this place is awesome: tons of amazing trails to roam, a vast array of places to explore.

More of more, PHX is becoming a fun place to live, full of culture and interesting places to eat. It ain't the coolest town in the world, but it's very affordable, extremely easy living. All the streets are straight lines, all laid on on a grid... you'll never get lost.

Beyond that, this is The West. When I lived on the East Coast, I always felt the weight of ancestral class issues brought to bear on every interaction -- especially, with the self-styled "Upper Class." Out here, it's all good... you can go anywhere in jeans, people are generally very nice, regardless of your appearance. The jerks who have come to dominate our politics are not necessarily a refection of the population.

I'm not saying we don't have our problems: it was 106 today and I'm a little tired of summer... but once you find yourself a pool and a beer and settle in, the heat ain't so bad.

</comment><comment><USER13> [http://www.wolframalpha.com/input/?i=cost+of+living+portland...](http://www.wolframalpha.com/input/?i=cost+of+living+portland+vs+flagstaff+arizona)

I will stick to Portland for now.

<comment><USER12> Well... sure. That's Portland vs. Flagstaff, a small town up in the mountains.

Check this out: [http://www.wolframalpha.com/input/?i=cost+of+living+portland...](http://www.wolframalpha.com/input/?i=cost+of+living+portland+vs+tempe+arizona)

(I've lived in Portland and while there are many things I missed about it, the ability to afford a house here is a big deal for folks like me.)

<comment><USER2> Flagstaff is a nice place, but jobs are sparse and pay is low:

[http://www4.nau.edu/insidenau/bumps/2008/4_23_08/knau.htm](http://www4.nau.edu/insidenau/bumps/2008/4_23_08/knau.htm) [http://www.npr.org/rss/podcast/podcast_detail.php?siteId=485...](http://www.npr.org/rss/podcast/podcast_detail.php?siteId=4857512)

</comment></comment></comment><comment><USER14> You should also include a how or where to work in Arizona.

</comment><comment><USER15> AZ's a great place to live. It's a shame that the local software industry's growth is so slow!

<comment><USER14> if you like living in weather almost as hot as Africa. Personally I couldn't live anywhere where it doesn't rain at all which is why I live and love Seattle (:

<comment><USER16> The sunny climate might have a positive net effect on your creativity :)

<comment><USER14> Idk who told you that but I work better in my room or office when it's raining out, than 100degrees of sun it gets really uncomfortable to sit and program :( nevertheless I love this design good web designer for sure!

<comment><USER16> Just as you don't go outside in WA to write code when it's raining, you don't go out to write code in AZ when it's 100+. The A/C inside buildings works just fine. :) Anyway, each person with his/her own likes.</comment></comment></comment></comment></comment>


Feds to spend $392,700 on SEO and related services for O-care website - <AUTHOR> http://twitchy.com/2013/11/02/report-feds-to-spend-392700-on-search-engine-optimization-and-related-services-for-o-care-website/

<comment><USER2> I need to figure out how to get in on this bidding process...

<comment><USER3> "The Centers for Medicare & Medicaid Services (CMS) intends to negotiate solely with Blast Advanced Media., located at: 950 Reservoir Drive STE 150, Roseville, California 95678 for the purpose of Online Marketing Consulting Services for the Federally Funded Exchange Efforts for HealthCare.gov"

is that legal in the US?</comment></comment>


The Happy Ending Problem [video] - <AUTHOR> http://www.numberphile.com/videos/happy_ending.html

<comment><USER3> Reminds me of VC dimension kind of stuff for describing binary classifiers.

That first example w/ 5 points necessitating a convex 4 sided polygon is like the VC dimension proof that an axis aligned rectangle can never correctly classify 5 points, since you can never arrange 5 points w/o one of them being in the body of a rectangular region surrounding the other 4 (and that interior point's label therefore can't be arbitrary and still correctly classified). more: [https://www.cs.princeton.edu/courses/archive/spring13/cos511...](https://www.cs.princeton.edu/courses/archive/spring13/cos511/scribe_notes/0221.pdf)

Wonder if the 2^(n-2) + 1 rule is somewhere in the VC dim lit

</comment><comment><USER4> I love graphs!

For those who found this interesting or inspiring check out "Graph Theory" by _W. T. Tutte_ \-- it's an exceptional book for those scarred by mathematics in elementary or secondary school and want a refresher to show them how cool it is.

<comment><AUTHOR> This isn't actually graph theory, because the position in 2D space matters here. In graph theory the actual placement of the vertices is irrelevant - <USER2> only thing that matters is which ones are joined.

But I share your enthusiasm - my PhD is in graph theory.

<comment><USER4> Right, it's a geometrical problem... my suggestion is a bit of a tangent.

</comment></comment></comment><comment><USER5> It kind of feels - in my mathematical nativity - that there must be a general way to reduce all higher n down to the proof given for n=4 rather like Euler solved the Königsberg problem.

</comment><comment><USER6> I presume to earn this prize, one need provide a formal proof. I've never been one for formal math proofs, but I think I could formulate a brute force test...

<comment><AUTHOR> So you can formulate a brute force test that works for all _n_? That's a bold claim. Remember, you are trying to prove that for every natural number _n_ , once you have 2^(n-2)+1 points in a plane, no three co-linear, there is a subset of _n_ of them that form a convex _n_ -gon.

How will you brute-force that?

<comment><USER6> _Can_ I? I don't know for certain. I said I _think_ I can. Also, there's nothing that says the brute force process can't run forever (presumably it must) but I'd also suspect to generate lots of data while it runs that could indeed be used (by someone else) to write the proof.

<comment><USER7> Maybe,maybe not. We have generated billions of decimal numbers for PI, and we are not any closer to writing a formal proof deciding if there is a pattern to them or not. Maybe a pattern will unravel once we generate billions of billions of these numbers? We don't know. I guess my point is that brute forcing a problem is unlikely to be useful here.

<comment><USER8> In base Pi there's a quite a simple pattern.

</comment></comment></comment></comment></comment><comment><USER9> Does anyone know the answer to this in three dimensions? I'm curious how many points it takes to always be able to find a convex tetrahedron.

<comment><AUTHOR> You'll need to be more careful about what you're asking for, because 4 points in 3D always gives a convex tetrahedron, as there are no non-convex tetrahedra. The convex hull of four points (no three colinear) is a tetrahedron.

</comment></comment><comment><USER10> if you put all the points in a straight line wouldn't that invalidate any n?

edit: just saw the bit where no more than 3 can be in a straight line

<comment><USER5> No more than two may be on any line.

</comment></comment><comment><USER11> I admit I was thinking of a different happy ending.</comment>