Running Lua in a browser via Emscripten - <AUTHOR> http://mozakai.blogspot.com/2013/05/lua-in-javascript-running-vm-in-vm.html <comment><USER3> Emscripten and asm.js are frankly amazing. I ported OpenSCAD to Javascript with it: <http://www.fabfabbers.com/openscad/>

With asm.js in Firefox nightly it's nearly native speed.

<comment><USER4> Curiously, even though compilation is indeed near real-time in Firefox, the rendering of the model itself is really jaggy (when rotating). This is not the case with Chrome, where it renders smoothly.

For reference, I'm using 2012 MBA with Firefox 23.0a2 (2013-05-30) (clean profile, just to be sure) and Chrome 27.0.1453.93.

<comment><USER5> IIRC FF still doesn't use vsync for requestAnimationFrame so that could cause rotating to look less smooth.

<comment><USER3> Ah... that's interesting. Thanks for the info Kevin, I'll look into that (my poor WebGL coding notwithstanding!)

</comment></comment></comment></comment><comment><USER6> To my surprise, lua.vm.js gzipped is about the same size (within 2K) as my Win32 Lua DLL build gzipped. The latter has the Microsoft C runtime statically linked, making the comparison more fair IIUC, since code built with Emscripten has to include a libc implementation.

This finding demonstrates that asm.js isn't significantly less efficient than LLVM bitcode or native code, even though it's text.

<comment><USER7> By "efficient" I assume you mean the object code is compact, filesize-wise? It's fairly typical that byte-code or otherwise high-level object code is more compact than machine code. For example, Java .class files will be smaller than their equivalent native-compiled object code.

</comment></comment><comment><USER8> > It turns out that the entire compiled Lua VM fits in 200K when gzipped. > That's too much for some use cases, but certainly acceptable for others > (especially with proper caching).

Tell that to someone on a mobile device with poor connectivity.

> In particular, remember that the Lua VM is often significantly faster than > other dynamic languages like Python and Ruby. These languages are useful in > many cases even if they are not super-fast.

Something people often overlook is that performance is _highly_ dependent on where the code runs. Ruby is fine for server-side programs because you can always go fast by throwing more hardware at it.

Languages that run on end-user machines don't have that luxury. This is why the playing field for client-side programming languages is much more constrained and why C++ is still hugely popular there. It's also why so much work has gone into optimizing JavaScript.

Being half as fast as JS could be tolerable for some apps, but that means your app will likely be slow and stuttery in some cases. When it is, there's little you can do about it. Is Lua that much of an improvement over JS to justify that?

> There are however some tricky issues, for example we can't do cross-VM cycle > collection - if a Lua object and a JavaScript object are both not referred > to by anything, but do refer to each other, then to be able to free them we > would need to be able to traverse the entire heap on both sides, and > basically do our own garbage collection in place of the browser's - <USER2> > normal JavaScript objects, not just a new type of objects like Lua ones.

This is a huge deal. It basically means if you use this, your app is very likely to leak memory unless you are _very_ careful. The difficulty of being appropriately careful is exactly why we moved to GC languages in the first place.

WebKit (now Blink on the Google side) actually has a similar problem already: WebKit manages memory for the DOM separately from V8's garbage collector. This adds a bunch of complexity to the browser to deal with those cycles and has, I think, a significant performance cost.

It's enough of an issue that the Chrome team is starting a new project ("oilpan") to provide a unified GC shared by both V8 and the DOM.

Don't get me wrong, I think this is a very cool hack. But I don't think it says much about the viability for using something like this for real apps, at least not yet.

<comment><USER6> > Is Lua that much of an improvement over JS to justify that?

This depends on the project, of course. For existing software that's already written in Lua and now needs to run inside a browser, running the Lua VM in JS may be the best way to go. However, I've decided that for new code, Lua doesn't have enough advantages over JS to justify the problems with running a VM in a VM.

Here are the things that I consider significant advantages of Lua over JS, and my thoughts on each.

1\. Coroutines: JS is getting a form of these via generators, though I don't know how soon that feature will become ubiquitous. In the meantime, a compiler can turn code that uses coroutines into continuation-passing style.

2\. Weak references: It's unfortunate that JS doesn't have these. But as the OP pointed out, running a VM within a VM introduces other memory management problems, since the guest VM has its own GC. To avoid those issues, I can live without weak references in the language.

3\. Metamethods: The most well-known metamethods are for overriding table operations, so one can implement properties, proxies, or other dynamic behavior. I've sometimes found these useful on previous Lua projects, but for new code, I can do without them in order to avoid the problems of running a VM in a VM.

4\. Non-string keys for tables/objects: There are ways around this. For example, instead of using another object as a key, one can assign a unique ID to the object, then use that as the key.

<comment><USER9> ES6 will introduce Maps and WeakMaps, at least, which addresses two and four; similarly, proxies will enable three.

<comment><USER10> WeakMaps don't quite give you everything that weak references do in other languages. Sometimes weak refs can be used to check if the object referred to has gone away (the weak ref becomes null in that case), that is not possible with WeakMaps. You also cannot create a list of weak references and iterate over them with a WeakMap.

There has been some discussion about adding more powerful weak refs to JavaScript, but I'm not sure where that discussion stands.

<comment><USER9> I wrote a parenthetical about weak references. I wonder why I deleted it. In short: weakrefs are unlikely to appear any time soon in ES, as they open up all kinds of fun around cross-origin objects (being able to detect their approximate life-time, and that's a fairly major side-channel attack) in some lovely edge-cases.

<comment><USER11> If you have any more details about this, or even if you don't, please post to es-discuss about it. Currently there is broad consensus on TC39 to add weak references in JS in the future.

</comment></comment></comment></comment></comment></comment><comment><USER12> Lua is famously easy to embed. Some implementations are fast as hell. It's comparatively a very rational and minimal language. It doesn't have to immediately interact with Javascript objects in any interesting way.

Please just embed the damn thing in a browser already. It's been way too long without any competiton to Javascript being allowed.

<comment><USER13> A lot of people want their language embedded in the browser suh as Lua, Dart, Ruby, etc.

But the way things are standing now it's not gonna happen. JavaScript, for the better and worse, is what we are stuck with. No browser vendor will be able to push though another language, and no standards committee would suggest a _second_ scripting language to the web that runs alongside JavaScript.

If you absolutely cannot stand programming in JavaScript, which is the only native option for the web, you have to make do with the "language written on top of another language" solutions that are so popular these days, along with it's somewhat costy overhead.

<comment><USER14> The only real option is presumably the Dart route: Work really hard to make it compile to fast javascript and integrate well, and do a native VM as a separate option that can at some point be slotted in as an "optimisation" if the language gets enough traction. I don't think that alternative looks _that_ bad. I'd rather have that, than go back to plugin hell or have browsers bloated with support for tons of languages.

</comment></comment></comment><comment><USER15> If this is the real deal, then why not ship common language VMs (in asm.js) with the browser? Then you don't need to worry about 200k at all and all code can run in the browser? I mean, if google is shipping NaCL and Dart VMs, why not? Updates could ship with browser updates, or you can still load your own rolled version if you like.

<comment><USER10> Hmm, you could avoid some downloads by basically populating the browser cache by default with some common libraries, like jQuery, and maybe a Lua VM if that catches on, yeah. But this would be totally different from shipping a nonstandard VM, since there is no violation of the standards process if you are basically just optimizing away first downloads of common JS libraries. It does have the cost of increasing the initial browser download though, which is perhaps why this isn't already done (also things like jQuery have many versions which makes things harder).

Note however that Google has not actually shipped NaCl or Dart. (NaCl technically ships in Chrome, but is disabled on the web by default, it is only usable in the Chrome Store.) So currently no browser is shipping a new nonstandard VM - which is good, because if a major browser did that it could fragment the web.

<comment><USER16> FYI, current mobile browser caches are very weak and unreliable. For instance, iOS clears all cached data just by exiting Safari. Android is also in a similar situation (unpredictable and can't explain).

I guess it is caused by the storage limitations. We can't rely on the mobile browser cache, at least for now.

</comment></comment></comment><comment><USER17> I really feel like the right approach for this kind of thing is something _like_ emscripten, but _not_ emscripten. It just doesn't make sense to duplicate the garbage collection (never mind that interactions between different GCs can be strange and unpredictable) and run a whole VM for it.

What we need is a similarly narrow target JS subset for dynamic languages where the outer GC is actually functional and lookup/inline cache kinds of optimizations can be performed on correctly generated code.

<comment><USER10> I like the idea, and it could work in many cases, but it's hard to make it truly universal. For example languages like Lua, Java and C# have finalizers, and JavaScript GCs do not, so you can't reuse the outer GC. Other possible issues are weak refs, etc.

So even if we duplicate by compiling another GC, we are enabling new types of GCing, it isn't an exact clone.

<comment><USER18> While Java does have finalizers, there is no guarantee that they will run. In other words, a valid implementation could just skip running them at all.

</comment></comment></comment><comment><USER19> It would get _really_ interesting if someone modified LuaJIT to emit asm.js code.

In this case, the Lua code could be even _faster_ than the equivalent JS code on some applications where LuaJIT generates better code than V8/IonMonkey (even considering the 2x slowdown of asm.js wrt native).

The relevant yo dawg joke would be "I heard you like JITs so we put LuaJIT on your OdinMonkey so you can JIT while you JIT"

</comment><comment><USER20> In the spirit of a vm in a vm, has anyone successfully compiled emacs in emscripten yet? I ran a quick test yesterday and it didn't go cleanly.

</comment><comment> iso8859-1 The benchmark[1] includes scimark, which measures FLOPS. I get 0.62 MFLOPS. In scimark running in the JVM[2], I get 353.4 MFLOPS (units explained here[3]). So in conclusion, the Oracle JVM on x86-32 is __570 x faster __than lua.vm.js on V8 on same platform.

[1]: <http://kripken.github.io/lua.vm.js/lua.vm.js.html>

[2]: <http://math.nist.gov/scimark2/run.html>

[3]: <http://math.nist.gov/scimark2/faq.html>

<comment><USER21> I assume the JS code generated here is using heavily the asm.js subset, so it can be run faster on asm.js-capable browsers.

Therefore V8 is not the ideal platform for benchmarking this implementation. You could try with a nightly Firefox.

 __EDIT __: Indeed, 8 MFLOPS on FF Aurora, 1.2 MFLOPS in Chrome Canary.

<comment> iso8859-1 What do you get in the JVM?

</comment></comment></comment><comment><USER6> Did Lua's use of setjmp and longjmp for error handling pose any particular challenge? I always thought that was an odd aspect of Lua's implementation.

<comment><USER10> setjmp/longjmp works in emscripten, it does prevent some optimizations in functions where it is called though. But luckily it doesn't seem like it is called in anything performance-sensitive in the benchmarks I've tested.

<comment><USER22> Not sure if this is related, but you often have to declare local variables volatile when using setjmp/longjmp because they do not preserve registers. It's one case where unoptimized C code will run fine, then -O will push variables into registers and break it.

I wonder how difficult it would be to convert Lua to C++ with exceptions.

<comment><USER23> This isn't an issue for Lua, because so much effort has gone into making it extremely portable. Regardless, a port to C++ would be possible, though I'd (without thinking about it much) guess it would take a performance hit due to the increased code size from to the EH tables causing icache misses.</comment></comment></comment></comment>


How does the concurrency primitives in Rust compare to the ones in Go? - <AUTHOR> From what I read about the concurrency primitives in Rust, they seem to be more inspired by the actor model in languages such as Erlang (and Scala?) than Golangs "hardwired" channels.
Is this notion correct?
At the same time it seems it has the counterparts of go-routines (lightweight tasks) and I have seen channels mentioned.
All in all, I would welcome a little elaboration on what are the differences between the concurrency primitives in the two languages. <comment><USER2> I cannot speak for Rust, but I can speak for Go. The actor model is almost the reverse of how Go handles concurrency. Instead of sending to named actors, in Golang you name your pipes (or channels). Then you handle these pipes as first class citizens and routines can choose to receive or send on them. e.g.

1\. In your main routine you build a channel of ints (noticed they're typed) named `x`

2\. You hand `x` and an integer i (incremented by one for each new routine) to ten routines which will double that number and send the result down `x`

3\. Your main routine then receives on `x` and builds a list of results. It hasn't blocked on the doubling operations for each integer `i` because you sent each of those operations in a new routine.

Ignoring the fact I haven't managed closing the channel `x` you can get the gist of how channels are named and passed around.

I can't say what the alternative would be in Rust, but I hope that sheds more light on Go!

<comment><USER3> This is similar to Rust:

        let (tx, rx): (Sender<int>, Receiver<int>) = channel();

        spawn(proc() {
            let result = some_expensive_computation();
            tx.send(result);
        });

        some_other_expensive_computation();
        let result = rx.recv();

There are some subtle details I'm not 100% sure of (bounded vs. unbounded?) that may be different, though.

For more: [http://doc.rust-lang.org/guide-tasks.html](http://doc.rust- lang.org/guide-tasks.html)

<comment><USER4> This is completely the opposite: in Rust you have an explicit sender and an explicit receiver, and you have no control on the channel that was created. Only this sender can send to the pipe, and only this receiver can receive.

In go, all you have is the channel. Anyone can send to it/read from it:

        c := make(chan int)

        go func() {
            // I can write here
            c <- 1
        }()

        go func() {
             // I can also write here
             c <- 2
        }()

        // I can read here, even though I have no idea who wrote to the channel
        for a := <- c {
            // Note that since I don't know who wrote to c, I can't expect
            // any order here. All I can do is process stuff that is coming
            // down the pipe (which is all I really care about after all
        }

<comment><USER5> > This is completely the opposite: in Rust you have an explicit sender and an > explicit receiver, and you have no control on the channel that was created. > Only this sender can send to the pipe, and only this receiver can receive.

Its not "completely the opposite", though it is _different_. Rust doesn't let multiple tasks use the _same_ sender handle, but supports multiple senders on the same _channel_ by cloning the sender handle (same with the receiver handle, _mutatis mutandis_.)

So your Go code becomes something like this in Rust (the only substantive difference is the need to clone the sender handle):

      let (tx, rx) = channel();

      spawn(proc() {
        tx.send(1);
      });

      tx2 = tx.clone();
      spawn(proc() {
        tx2.send(2);
      });

      for a in rx.iter() {
        // As in the Go example, process the stuff coming down
        // the channel with no expected order or knowledge of
        // who sent to it.
      }

</comment></comment></comment></comment><comment><USER6> You are correct.

(1) Rust disallows shared-memory concurrency (with a few exceptions), so each "task" has it's local heap. Only unique objects can be transferred from one task to another. This is similar to Erlang.

(2) They were using light-weight processes initially, but then transitioned to a 1-on-1 threading model, where each task runs on its own thread. IIRC it was to reduce the runtime library (lightweight threads require stack-growth handling and a user-mode scheduler).

<comment><USER3> Rust actually supports both 1:1 and M:N threading models, depending on which one you want. It's true that it used to be M:N by default and is now 1:1 by default, though.

> Rust disallows shared-memory concurrency (with a few exceptions),

To elaborate: Rust eliminates mutable state being passed across a concurrency boundary at compile time. Sometimes, you really need shared mutable state, though, so you're able to use 'unsafe' to implement the safety the compiler can't infer for you. The obvious ones (only allowing access via a mutex and reference counting (both atomic and non)) are already in the standard library.

<comment><AUTHOR> That's interesting with the M:N threading model. But would that require that I set the M/N ratio (or "multiplexing factor" or what to call it) to a fixed value, unlike the ability in Go to automatically multiplex any number of go- routines on the (fixed) number of OS threads?

<comment><USER3> I'm not intimately familiar with Go's details here, but you can either just say 'run these green threads kthx' in which that factor is chosen for you, or you can use an explicit pool(s) and do it yourself.

Details: [http://doc.rust-lang.org/green/index.html](http://doc.rust- lang.org/green/index.html)

</comment></comment></comment></comment><comment><USER7> Go's core philosophy for concurrency is: _Do not communicate by sharing memory; instead, share memory by communicating_ [1]. I have not tried to share memory (ex: a pointer-to-struct) between two different go threads before, so I can't really comment on what happens when one tries to break out of the language's philosophy. However, I've found that following the philosophy is incredibly liberating as it encourages a certain kind of reasoning that gives me the confidence I can accurately statically analyze the code without having to debug it at run time. Like any other philosophy though, it isn't for everyone.

EDIT: I now realize I never addressed your concern of primitives. Go really only has one: the channel. It can send anything (even other channels). The two types are buffered or unbuffered, and deciding which to use can alter the behavior of a program.

There are a few language keywords to support the use of channels, such as `for-select-case` loops and `go` to spawn new goroutines. The former is used to help respond to numerous channels, the latter to spawn more goroutines. Nothing in the language prevents listening to a runtime-determined arbitrary number of channels, either.

[1] [http://blog.golang.org/share-memory-by- communicating](http://blog.golang.org/share-memory-by-communicating)

<comment><USER8> > _I have not tried to share memory (ex: a pointer-to-struct) between two > different go threads before, so I can 't really comment on what happens when > one tries to break out of the language's philosophy._

As in other languages, you have to handle it--either through locking or some other means.

</comment></comment><comment><USER5> Rust channels seem more like Go's channels than Erlang's actor mailboxes -- in Rust like Go and unlike Erlang, a task can receive from multiple channels, not just the one that it owns as a result of being an actor.

The difference is that while channels support multiplexing at both ends in Rust, just as they do in Go, that multiplexing requires explicit cloning of the handles in Rust, whereas it is the default behavior in Go. So, Rust channels are like Go channels but where multiplexing is explicit rather than implicit.</comment>


Climate change: Marine heatwaves kill coral instantly - <AUTHOR> https://www.bbc.com/news/science-environment-49255642 <comment><USER2> How much of a temperature fluctuation does a marine heatwave involve? I'd assume much smaller swings than in the air. Surprising it's enough to kill off the coral.

edit: looks like a couple degrees C

<comment><USER3> You can look at [https://en.m.wikipedia.org/wiki/1997%E2%80%9398_El_Ni%C3%B1o...](https://en.m.wikipedia.org/wiki/1997%E2%80%9398_El_Ni%C3%B1o_event) for the extreme answer (spoiler: picked at 11 °C)

</comment></comment><comment><USER4> Are there any active attempts by any large organizations to reduce the temperature of the planet?

I know there is plenty of funding from government and industry into green technologies to reduce carbon emissions to eventually reduce the total carbon in the atmosphere, but is that enough to cool the earth before greater catastrophic events occur?

<comment><USER5> The biggest hurdle are the millions of people who believe climate change isn't real and therefore doesn't need to be addressed.

<comment><USER6> I've never really understood why that's significant other than perhaps degree of motivation. Even for someone who doesn't believe in climate change or the man made aspect of it I'd have thought, say, cleaner air, cars with instant torque and cheaper energy would be broadly desirable.

<comment><USER7> They would be broadly desirable if there were no downsides to them.

A $2500 used Toyota Corolla beats a Model 3 on purchase price, insurance, 5 year TCO, and on "how far and flexibly can I road trip it?"

</comment></comment></comment></comment><comment><USER8> Have there been any attempts to engineer coral that isn't as sensitive to increased temperatures?

<comment><USER9> It's not all doom and gloom. They are migrating to higher latitudes.

</comment></comment><comment><USER10> The first coral reef ecosystems formed more than 200 million years ago (CO2 level was 5-10x higher than today). Each particular coral reef can last up to 5,000 years, possibly longer. Since these biological ecosystems have persisted and evolved through enormous planet-wide changes, from snowball Earth to much hotter climates and even through mass-extinction events -- I'm not worried about their long-term survival, nor should you be.

<comment><USER11> 250 million years ago, the Permian-Triassic extinction killed off 96% of marine species. The planet bounced back (eventually). Took between a couple million and a few tens of millions of years to recover.

The North Korea/South Korea demilitarized zone is a wildlife refuge. Native species have thrived in the area around the Chernobyl disaster after people peaced out. The Earth will soldier on.

We still have to deal with sea level rise, anthropogenic climate change, coral destruction, deforestation, because _we_ have to deal with the effects. First- order effect of coral destruction is loss of habitat for fish, leading to collapse of marine species that use that habitat, leading to collapse of certain kinds of commercial fishing, leading to loss of livelihood and a food source for coastal communities.

<comment><USER12> And the first people to be hit hardest by the destruction of marine ecosystems will be the poorest people on earth who depend on fishing for survival. The HN community will be largely unaffected till many millions have died so it is easy for people to have views like the GP comment if they lack empathy for the less fortunate.

Now is not a time for flippant comments about the robustness of life and nature "in general". Now is a time for very radical and drastic action to prevent even worse outcomes than the terrors which humans who are alive now are already guaranteed to face.

<comment><USER13> And the best way to arm the poorest so they can deal with the consequences is to give them access to cheap reliable energy.

</comment></comment></comment></comment><comment><USER14> In my opinion, there are only two things humans need to do:

1\. get rid of the nuclear power fear 2\. eat way less meat

Here you go, I solved it, now gimme a Nobel peace prize.

<comment><USER15> Ok I'll bite:

1\. Where do you store the waste? How do you calculate the risk of a nuclear accident and weight this against the negative impacts of climate change?

2\. How do you achieve this on a global scale?

<comment><USER14> 1\. Look into thorium-based nuclear power. Also, I think each country should have its own nuclear waste facilities, not a single barrel of nuclear waste should leave the border. Nuclear power kills fewer people than solar per unit of electricity.

2\. Tricky. Educate kids. But of course, I am not delusional about human nature.

Checkout this talk [https://www.youtube.com/watch?v=ciStnd9Y2ak](https://www.youtube.com/watch?v=ciStnd9Y2ak)

<comment><USER16> looked into thorium. that's at least 50 years in the future. there are so many engineering challenges involved to ensure failsafe operation (primary, secondary systems)

<comment><USER14> [https://www.youtube.com/watch?v=Qbt4AlYQfdI](https://www.youtube.com/watch?v=Qbt4AlYQfdI)

</comment></comment></comment></comment></comment><comment><USER17> What's the recovery rate of corals that have experienced heat waves? I'd imagine that species which can withstand the heat are going to fill the empty spots?

<comment><USER18> [https://www.nationalgeographic.com/environment/2019/04/great...](https://www.nationalgeographic.com/environment/2019/04/great- barrier-reef-coral-not-recovering-climate-change/)

As the climate and the Earth's ecosystems move into unprecedented states (including treating it like a tensor and including the rate of change) there is little reason for that degree of optimism.</comment></comment>


Chicago Police Department shuts down its arrest API - blinding-streak https://www.chicagoreporter.com/chicago-police-department-arrest-api-shutdown-is-its-own-kind-of-cover-up/ <comment><AUTHOR> It's crazy to me that in 2020, there isn't comprehensive, mandatory Federal tracking of police-involved shootings. There's no reason that this data shouldn't be mandated to be aggregated and researched, other than to continue propagating a culture of secrecy.

From the FBI's Use-of-Force data collection site[0]:

> Is it mandatory for law enforcement agencies to contribute to this data > collection?

> The FBI has no legal authority to mandate reporting of any data to the UCR > Program. The FBI is working closely with the major law enforcement agency > organizations and the CJIS APB, which is composed of local, state, tribal, > and federal law enforcement partners, to obtain broad support and forge > commitments from these members to report this critical information. National > support is garnered through working partnerships with national law > enforcement agencies as well. The National Use-of-Force Data Collection and > community participation to report data will likely continue to evolve.

All data collected at the Federal level is voluntary, that's just unacceptable.

0: [https://www.fbi.gov/services/cjis/ucr/use-of- force](https://www.fbi.gov/services/cjis/ucr/use-of-force)

<comment><USER2> > _It 's crazy to me that in 2020, there isn't comprehensive, mandatory > Federal tracking of police-involved shootings._

There is a billion dollar lobby that goes up to bat whenever law enforcement gets bad press, or legislation they don't like gets proposed.

While I'm in favor of unionization, I do not support organizations that represent the strong arm of the state's desire to operate opaquely and without oversight from the people they're policing.

<comment><USER3> It's confusing for me that so many people will complain about how the police unions prevent reform and allow for bad behavior -- but then support unions for all other public sector workers.

<comment><USER4> Public sector unions seem a little odd to me. The whole point of unions is to have collective bargaining power to deal with the bargaining power of corporations. That makes perfect sense... but isn't collective bargaining the point of having a democratic government?

I'm not saying having, say, a teachers' union is a bad thing. I just feel like it should be redundant.

Of course, the police are a special case even within the realm of public sector unions, because they're the ones enforcing the law anyway. It's one step removed from having a union of congresspeople, which really WOULD be completely redundant. What are they going to do? Petition themselves?

<comment><USER5> Collective bargaining evens out the power imbalances between workers and their employers. It doesn't really matter if the employer is the government or a private company. I'm not sure what point you're trying to make about collective bargaining and democracy since the two are unrelated.

There are other ways to handle public sector unions. For example, in Canada the military is not part of a union but their pay is tied to other public sector employees who are unionized. This makes sense since you don't want the military going on strike. When the union employees go on strike to get better pay and benefits the military also gets the same increases. You could do something similar in the US by tying police salaries and benefits to another public sector group like teachers or nurses. I have the feeling that this would be extremely unpopular with the police.

<comment><USER4> > Collective bargaining evens out the power imbalances between workers and > their employers.

The reason it's strange is because if the government is a democracy (representative or direct), there should already be a mechanism for collective bargaining.

The fact that this is often insufficient strikes me as a pretty strong indictment of our systems of government.

<comment><USER5> I believe your argument is that in a democracy, public sector employees can vote for politicians who will represent their interests and this is equivalent to collective bargaining. Please let me know if I've misunderstood you because I don't want to argue against a straw man.

Let's consider teachers as an example. The top search result in Google tells me that 2% of the population of the US are teachers. With collective bargaining they can do work to rule, go on strike, and other job actions to pressure the government to improve working conditions. With voting they don't have a large enough voting block to push through candidates that will improve their working conditions. They would somehow need to convince over 48% of the population, assuming no gerrymandering, to also vote for the candidate that they want. That seems like a big thing to ask just to ensure an annual cost of living increase.

<comment><USER4> It's not just direct voting. There are plenty of other ways to influence culture to sway other voters.

And given the limited number of candidates and the frequency with which our elections come down to a few percent, they certainly wouldn't have to sway 48% of the population to influence how elected representatives treat them.

<comment><USER5> Can you give me an example, other than voting, of how democracy is collective bargaining?

You're not considering wedge issues? What if the candidate that would improve your working conditions also has a stance on an issue that you are strongly opposed to? For example, do you vote for the candidate who will give you a small raise but also disagrees with you on abortion? What if all of the candidates feel like siding with you would alienate more people than your voting bloc would bring?

<comment><USER4> Can you give me some examples, other than voting, of what constitutes democracy?

> You're not considering wedge issues?

Maybe our systems of government shouldn't have this weakness. This is what I was talking about when I mentioned the "strong indictment".

<comment><USER5> You're the one that wrote, "It's not just direct voting." I'm just asking for an example other than direct voting. I'm legitimately trying to understand your point but so far I still don't see the link between democracy and collective bargaining.

<comment><USER4> Well I need to know what your definition of "democracy" encompasses.

Examples of things other than direct voting include campaign contributions, talking to the media, going door to door. In the case of teachers, you could talk directly to parents during meetings.

There are all kinds of ways to influence elections that go well beyond simply casting your vote.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I'm amazed that someone with the title of "Assistant Director of Communications" actually wrote this meaningless, word salad of gibberish:

> _" We looked into this and confirmed with our IT Department that API was a > tool that was previously available at one point, but has been discontinued / > turned off. The API Access site is stagnant and not being monitored and > should have been pulled down once the tool was no longer publicly > accessible, and as a result, requests for access were not being reviewed."_

The best translation I can come up with seems to be "The API used to exist, but was turned off because it was turned off".

<comment><USER7> It sounds even worse to me. It seems to say 'we thought we had turned that off sometime ago, but we didn't actually take down the public site which gave access to it. In the past, we would have reviewed any request for data through the API, but since we thought we had stopped public access, we were accidentally giving data away without checking if we are actually on with people knowing these things'.

</comment></comment><comment><USER8> A lot of this reporting work came from 'bpchaps, for what it's worth; he's been doing awesome data journalism work (in part with the Low Orbit Ion Cannon of FOIA infrastructures), which he's written about and discussed on HN; for instance:

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

More people should be doing this stuff.

</comment><comment><USER9> Sadly this isn't the first time this has happened in the history of open data. I remember when Kalamazoo's crimes API got shut down by the chief of police. It still has not returned.

The true test of open data is when people use its information to criticize public officials and it doesn't disappear.

</comment><comment><USER10> Police especially don't have many excuses for hiding their actions since they are meant to enforce the law. It used to surprise me just how many pointless secrets are kept by government departments in open democracies.

But who watches the watchers?

I think police departments and government can do better. Removing data implies a lack of transparency. Transparency and being seen to be improving at "doing the right thing" should be core targets right now.

This isn't just about police either. I should be able to look up a lot more. Open democracies, informed voters, right? Regular, yearly/monthly data dumps should be commonplace.

How else are modern democracies meant to function? Lobby groups? How 20th century!

</comment><comment><USER11> This strikes me as remarkably similar to the "crown jewels" problem of API availability.

Simply stated, it's that it's the hardest sell in the world to expect a company to expend money and resources to act against its own interests, and applied to governmental organizations like the police, no appointed official is going to stomach spending money making themselves look bad.

More broadly stated, you can't solve accountability problems by asking people to step up and be more accountable. The only way is to impose rules from above.

And even that won't work if there's actual bad faith involved. Police depts issuing rules on body camera usage will find that the cameras just don't work when they'd make individual officers look bad.

I'm sure CPD had the best of intentions when it created its API. But as soon as a journo ran an article using it to make them look bad, regardless of how right it was, means their access was going to get revoked. Nobody forced them to put out an API, and it just became a political liability. _Of course_ it's going to go away.

<comment><USER12> > More broadly stated, you can't solve accountability problems by asking > people to step up and be more accountable. The only way is to impose rules > from above.

> But as soon as a journo ran an article using it to make them look bad, > regardless of how right it was, means their access was going to get revoked.

No. This is specific (but not exclusive) to their culture.

If NASA has this toxic culture, we would lose more than 50% of all rocket payloads and astronauts. Programmers who have this mentality are defensive about their code (as if any criticism of their code is an attack on their ego) never grow and quickly turn the culture around them very negative.

<comment><USER11> If we had a million NASAs all over the country, they wouldn't all be paragons of professionalism.

</comment></comment></comment><comment><USER13> The is slightly OT, but I just want to throw it out there that there is no way they did this without Mayor Lightfoot's approval. Which makes me think, why?

Source: I worked closely with CPD and to some extent the mayor's office for two years.

</comment><comment><USER14> I'm not sure why the title was revised. The story makes a strong case that the reason why the arrest API was removed was because the Chicago Reporter used said API to prove that they were lying about their original claims. Now they refuse to comment on why it was removed and are ignoring any FOIA requests to actually get the data.

In attempt to make the title more neutral it seems like it made it more biased in favor of what seems like a corrupt police department.

</comment><comment><USER15> Professionally, I could see defense attorneys being very concerned by this.

Internally and among colleagues? They're howling with laughter at the hypocrisy of cops who love the idea of "if you're doing nothing wrong, there's nothing to hide."

</comment><comment><USER16> The chicago PD and it's notorious lawlessness is the single biggest thing preventing me from moving to the area despite a good professional fit and available jobs. I must not be the only one. If I ran a company I wouldn't be willing to subject my employees to those hazards either. Maybe it's worth complaining to the chamber of commerce... public officials seem to have done little to fix anything, maybe involving the people pulling the strings could move the needle.

<comment><USER17> You think the Chicago PD is lawless? It's the criminals, crime and general lawlessness in Chicago that is causing over 40 people to routinely be shot each weekend in Chicago.

The rampant lies and misrepresentations about police will only cause more crime, deaths and lawlessness as police choose to retire and decent people who may have been considering becoming police will decide to not subject themselves to the constant and unjustified abuse meted out by the public and politicians which police have to endure.

<comment><USER18> Hi, Chicago resident here. The CPD is under a consent decree that they do not follow, their officers have rioted against protesters and stood by watching looting occur, and every year they incur tens (if not hundreds) of millions of dollars of debt for the city and it's taxpayers for police misconduct settlements. So yeah, I think it's fair to say CPD is lawless.

As for your assertion that "rampant lies and misrepresentations" caused the decline of the police profession, the idiom isn't "criticism of the apple barrel spoils the whole bunch." The police do damage to their own reputation by not removing the "bad apples," moreso than anybody who critices the police.

</comment></comment></comment><comment><USER19> RIP [https://heyjackass.com/](https://heyjackass.com/)

</comment><comment><USER20> Am I reading that wrong or are the quotes from police and gov saying saying "offenders" when they mean "people accused of a crime and presumed innocent" ?

<comment><USER21> Unfortunately, "innocent until proven guilty" is rarely what cops in the US believe. In most cases, they just care about making arrests, not about finding the actual culprit.

<comment><USER20> Yeah, but most politicians at least pretend.

</comment></comment></comment><comment><USER22> I believe government data should be much more openly accessible, but it's hard to blame anyone for removing a tool provided by them that's being used against them.

</comment><comment><USER23> Article says they still have access to a less-useful access tool, can someone help set them up with a scraper?

<comment><USER24> "Obtaining structured data from this system is costly and time-consuming due to the need to tell the system you're not a robot every few searches. It also doesn't include some key categories of information formerly available via the API, including the primary charge, bond hearing dates, IR number, and the FBI code associated with the type of arrest."

</comment></comment><comment><USER25> Actual, unmodified title as of Thu Jul 9 1609 CDT:

Chicago Police Department arrest API shutdown is its own kind of 'cover up'

</comment><comment><USER26> I think calls to defund the police are well over-stepping the clean-up that's obviously required, but that stance continues to soften in light of situations like this (and the increasing use of encrypted police radio comms and decreased open-ness with journalists)

</comment><comment><USER27> Wonder if they shut down their asSOAP API as well

</comment><comment><USER28> Incredibly telling that the police still pull this type of thing despite how laser-focused everyone is on their behavior right now.

It's almost as if they've been institutionalized to think they're better than everyone else.

Defund the police and use the money for mental health and human services.

Local police service data should be randomly audited by the feds and independent third parties.

<comment><USER17> >"Defund the police and use the money for mental health and human services."

That doesn't address the cancer of gang violence and other violence that police need to deal with constantly.

"Mental health and human services" will not address these problems. Most people committing crime had an opportunity to go to school and participate in legal society. They choose not to.

The future of America is that of a lawless gangland like Mexico if the police are "defunded".

<comment><USER12> Even police departments don't send their paramilitary groups (eg. "SWAT") to every scene, police don't need to be at every emergency call. In fact, this is already the case -- when you call 911 for a medical emergency, an ambulance or medical fire department unit shows up (usually alone). In the same way, "defund the police" means use police more judiciously, not necessarily eliminate police.

> The future of America is that of a lawless gangland like Mexico if the > police are "defunded".

Citation needed.

Gang violence in the US has been declining for more than 2 decades, even as the population grows and US police case closure rates are far below 50%. Police don't have as much effectiveness or as good of a reputation with innocent civilians in gang territory as I imagine you think. Also, a significant portion of the US already has and carries guns, so it's not like gang violence would just expand boundless even if there were no police.</comment></comment></comment>


President Obama Wants You--In Jail - <AUTHOR> http://www.quora.com/Aaron-Greenspan/President-Obama-Wants-You-In-Jail

<comment><USER2> The title is a little bait-y, but the piece is worth reading.

What decision-makers are not really thinking is that by threatening legitimate security researchers (or well-meaning insiders), they leave the field open to the malicious hackers. However, with government money in play, there could be an interest to leave backdoors open for other shenanigans (like rigged tendering).

<comment><AUTHOR> I'm glad you think it's worth reading. The title isn't bait, however. President Obama wants to make 18 U.S.C. 1030 tougher than it already is, and it already prescribes automatic jail time for anyone the government thinks is a so-called cyber threat.

<comment><USER2> You can hardly expect politicians to understand the ramifications of the legislation they're proposing. Most of it they haven't even read.

Though, to be fair, malicious hackers are the people they're out to get, just that well-meaning people would get caught in the crossfire. Granted, matters are much too complex to be understood by politicians or even many corporate lawyers.

<comment><USER3> > _You can hardly expect politicians to understand the ramifications of the > legislation they're proposing._

That anyone would ever say this in a non-ironic sense is flabbergasting.

<comment><USER4> _> > You can hardly expect politicians to understand the ramifications of the legislation they're proposing.

> That anyone would ever say this in a non-ironic sense is flabbergasting._

Legislators write the laws and then courts figure out the ramifications. Laws get written because of some catalyst, but I wouldn't expect anybody to be able to understand the full ramifications until the law is in place for a while and people have started testing it in the legal system.

</comment></comment></comment></comment></comment><comment><USER5> A companies servers is a companies problem, that's all there is to it. No one forced Sony to store sensitive customer information, but they chose to -- and they also chose to neglect the security ramifications around it.

Imagine your bank decided to store your money in an unprotected vault, no security, and then it goes missing one day. Yes, a criminal stole it, but it was only possible because the bank deceived the customers into thinking their money was secure. As far as I'm concerned, there's two criminals in this equation.

</comment><comment><USER6> > _Wikileaks was indeed a serious problem..._

Would you mind elaborating...?

</comment><comment><USER7> I had never really thought about it before, but there is such a fuzzy line between so-called white-hat hackers, grey-hat hackers and black hat hackers. In fact the only difference between them is what you do with the information AFTER hacking into a system.

Even if you deduce that there might be a flaw in some web site design, you actually need to illegally hack the site in order to prove such flaw exists. In the article, the author noticed he could associate himself with any company that works with the US government and change their info. To prove that, he broke the law. And is lucky he is not in jail for doing so.

I can see from the company's point of view, from the FBI, from the government, from senators and congressmen writing the laws - trying to find flaws in a system is by definition hacking, illegal entry, unauthorized use. You don't have to be stealing credit card numbers for it to be a crime. Logging in to a computer system you are not authorized to is a crime. Period.

So the moral of the story is, if you want to stay out of jail, don't try to find flaws in web sites. Just don't. Or if you do, have a theory and report it to the company, but don't test your theory.

But I do agree companies should have a way to be contacted about security flaws, and be held criminally liable if a flaw was reported and not fixed in a timely manner. But even white-hat hackers are breaking the law and only by their actions after (reporting it to the company) are they not getting arrested or sued for it.

</comment><comment><AUTHOR> I just updated the post with a point I forgot to include when I wrote it last night:

The one thing new legislation should do is require companies, and especially banks, government agencies, and health care organizations, to have a defined channel for reporting security flaws anonymously and in detail. By reporting the GSA eOffer flaw to the agency's Inspector General, I followed proper procedure (and was punished), but most of the time, there is no proper procedure. I reported the PayMaxx flaw to the only people who would listen--my sales representative and customer service representatives--and unsurprisingly, the critical information went nowhere. I reported the Facebook flaw to Mark Zuckerberg, and unsurprisingly, he placed the blame on someone else, telling me that he hadn't written the code in question. Responses like these aren't good enough. On the FaceCash payment system web site, this is why we've put a link to our security response form on the bottom of every single page. (If you run a web site, you should do the same.)

<comment><USER8> >The one thing new legislation should do is...

This puzzles me. You correctly note how absolutely abysmal the political arena is for crafting well-defined rules regarding technical issues, and yet you immediately start agitating for _more_ regulation. Do you really want to be compelled to conform to whatever (likely flawed) procedural policy the politicians and bureaucrats would come up with? A policy which would require further legislation to fix (much to the joy of lawyers and lobbyists)?

How about this instead: repeal some legislation. Repeal the laws that prosecute Good Samaritans who, after a reporting a security flaw to a firm, release it to the public who might be harmed by the flaw. If the firm has no procedures in place to deal with the reports, then too bad for them; they don't get to use the state as a club against others.

I'm fully aware that none of that will happen. The police power of the state confers no wisdom on those willing to wield it. Nor do they have any incentive to write good laws, but on the contrary are encouraged by interested parties to write bad laws (intentionally or not). So please, stop agitating for new laws in the vain hope that finally, this time, they won't create a plethora of unintended consequences and injured innocents.

<comment><AUTHOR> We're all entitled to our political views. Mine are that regulation and deregulation are both potentially dangerous, but that if we all assume the worst--that no regulation can ever be effective, so we shouldn't have any-- we'll get nowhere fast. So I advocate for regulations that make sense, despite being aware that politics isn't always so logical or straightforward.

</comment></comment></comment><comment><USER9> Bait-y title requires bait-y response:

There's no way to rule innocent men. The only power government has is the power to crack down on criminals. When there aren't enough criminals, one makes them. One declares so many things to be a crime that it becomes impossible for men to live without breaking laws.

</comment><comment><USER10> Sick of seeing Quora on Ycombinator.........

</comment><comment><USER11> Yup, title is absurd, but the article is great.

</comment><comment><USER12> This is absolutely the type of stuff that should be flagged--linkbait, politics, off-topic.

How can anyone take an article seriously when the title is so intellectually dishonest, hyperbolic, and factually untrue? Please keep this stuff on Reddit.

<comment><USER13> Completely disagree. It's a great article. I'd agree you should change the title, it sounds a little too ridiculous.

<comment><AUTHOR> I'm glad you and others seem to like the article, but I'm perplexed by the weight everyone is giving the title. I have a 2006 letter from the U.S. Attorney's office saying that (as of that time) they are considering opening a criminal investigation into my actions under a statute that requires automatic jail time. The President wants to make this kind of letter more common, or skip the letter step altogether.

Not every piece of literature ever written has a title that perfectly summarizes the contents. I like my title, but regardless, the issues discussed in the piece are what's important.</comment></comment></comment>


Ask HN: What's the Difference Between CI and CD in CI/CD? - <AUTHOR> <comment><USER2> Here is Atlassian's take on it. Seems like a reasonable overview.

[https://www.atlassian.com/continuous- delivery/principles/con...](https://www.atlassian.com/continuous- delivery/principles/continuous-integration-vs-delivery-vs-deployment)</comment>


Ask HN: What book are you reading this weekend? - <AUTHOR> Curious to hear what the HN community is reading. <comment><USER2> Physics on the Fringe, Margaret Wertheim. Primarily about the contemporary science cranks, but has a great chapter on the history of the subject and goes into a similar work from 130 years ago by the logician Augustus DeMorgan called A Budget of Paradoxes.

</comment><comment><USER3> Just finished endurance about the first group to try and overland Antarctica. Failed, then was out at ice and seat for nearly 2 years. Just started endurance by Scott Kelly. So far it's good but the Antarctica one was better

</comment><comment><USER4> I just started Permanent Record, by Edward Snowden. I thought it was going to be more tech-heavy, but, at least the start, seems to be more on the memoirs side.

</comment><comment><USER5> It's nothing work-related. I'm reading an amazing fantasy novel, "The Name of the Wind" by Patrick Rothfuss.

</comment><comment><USER6> Wheel of Time, and JoJo Part 2. A few other things, but not focusing on them rn.

<comment><USER7> i've been reading the Wheel of Time saga for the past 10 years

</comment></comment><comment><USER8> I'm rereading The Trial by Kafka

</comment><comment><USER9> Narcissus and Goldmund - Herman Hesse

</comment><comment><USER10> An Essay On Liberation by Marcuse

[https://www.marxists.org/reference/archive/marcuse/works/196...](https://www.marxists.org/reference/archive/marcuse/works/1969/essay- liberation.pdf)</comment>


News.YC unique visitors, first 4 months - <AUTHOR> http://ycombinator.com/images/ycnews-4mo-uniques.png <comment><AUTHOR> The bump in the middle coincides with the application deadline for the summer cycle.

</comment><comment><USER2> Interesting to see growth that is both slow and consistent. I always figure websites are either exploding or imploding. Do many sites grow this slowly, or is there something unique about YC news?

<comment><USER3> I think the graph is a little misleading, because of the short timeframe. It looks like news.yc grew by a factor of 1.5 in the last 4mo - that's actually pretty fast, 340% per year.

<comment><AUTHOR> The graph has 2x the aspect ratio of graphs we're used to looking at. If it were the usual shape, growth would look twice as steep. Also, the giant spike in the middle expands the scale.

Here's the same data with a more usual aspect ratio and scale:

<http://ycombinator.com/images/ycnews-4mo-v2.png>

<comment><USER4> I don't know what your ultimate goals with news.yc are, but I like the site how it is. Unfortunately, as has been seen at reddit and digg, the bigger the site gets, the lower the quality of the posts and conversations (see: <http://en.wikipedia.org/wiki/Eternal_September> ). While I appreciate that you want to see growth, I'd hate for it to turn into yet another collection of amazing pictures. I'm happy with the high quality crowd of 4000 daily ips. I don't know what the tipping point would be, but if it doubled or tripled from here I have a feeling the quality of posts would drop significantly or the initial community will have to be more active in voting/moderating posts.

Regards.

<comment><AUTHOR> The ultimate goal is to make it useful for everyone interested in (computer) startups. That may mean low tens of thousands of users; probably no more.

We have a bunch of editors who kill offtopic links. So far that seems to be keeping the site focused.

</comment></comment></comment></comment></comment><comment><USER5> I can only pray what happened to reddit doesn't happen here.

</comment><comment><USER6> Very nice result mainly if it's generated by 3 db tables and few lines of code!</comment>


Making Database Maintenance Fun: mysql_role_swap  - <AUTHOR> https://37signals.com/svn/posts/3344-making-database-maintenance-fun-mysqlroleswap <comment><USER2> What does this do that a dedicated failover tool like MySQL High Availability [1] does not do?

[1] <https://code.google.com/p/mysql-master-ha/>

<comment><USER3> We talked with some popular "mysql consultants" about things like mysql- master-ha and there was always a lot of hand waving murmuring about how existing solutions were incomplete / had lots of bugs / were not to be trusted in production.

It looks to me like they do mostly the same thing. We wrote our script in Ruby because it's what we know and have the most expertise with, which makes it easy for us to debug.

mysql_role_swap is not black magic, it doesn't do automatic failover, it doesn't run in the background / daemonize itself. It fails gracefully in a way we find predictable and useful.

<comment><USER2> The problem with rolling your own is that you're going to make mistakes. MHA, PRM, MMM, Tungsten, DRBD - all were written by people who know a lot about MySQL database failover, and yes, they still have problems. The reason they have problems is because doing failover properly under load is a _hard_ problem to solve.

As for them not production ready? Sounds like a line being fed by someone who wants to sell their own solution. I have personally seen all of these solutions in use in production systems.

Some of the potential problems I note with your solution (and if you haven't been bitten by these yet, you will at some point):

1) You need to break existing connections to the old master. This is the single biggest cause of split brain that I've seen in these situations. SET GLOBAL read_only=1 only affects new connections.

2) You should verify that the slave has read _and applied_ all of the logs from the master, to ensure that no data is lost when the slave is stopped.

3) You really should capture the binlog file & position from the slave _after_ stopping the slave, to avoid getting inconsistant data in your two databases.

4) You may want to ensure that the arp change actually took effect on your proxy machine: prior to unlocking the proxy, make a connection from the proxy server to the VIP & verify that the server_id matches the slave's server_id.

MHA has a number of problems when considered as an automated failover solution. However, it's not required to run in an automated fashion to do manual failovers like this, and is quite good at doing them correctly; it encapsulates the lessons learned from its predecessors, and the knowledge of the engineers who have been bitten by doing a failover under load incorrectly.

There are some really great tools out there, and not using them (or learning from them) is going to cause your DBAs hours of hard work to get your DBs back in operational order when something goes wrong. Not if.

</comment></comment></comment><comment><USER4> Always cool to see how people handle automation.

I wonder if they considered implementing this within another framework? Seems like this would make an excellent chef recipe.

<comment><USER3> We write out the cluster config and update the script using Chef.

In an emergency situation, chef-client is a wee bit slow ;)

Also we like having the script standalone so there's just one moving part.

<comment><USER4> Heh, that's fair enough. More moving parts is always a problem. Thanks for sharing!</comment></comment></comment>


Rural Inventor Wu Yulu - <AUTHOR> http://www.china.org.cn/english/NM-e/96084.htm <comment><USER2> another article from 2 years later: [http://www.chinadaily.com.cn/china/2006-07/07/content_636244...](http://www.chinadaily.com.cn/china/2006-07/07/content_636244.htm)

<comment><USER3> Wow, I'm glad it worked out for him...I guess I can now view his obsession as inspiring instead of tragic for his family.

</comment></comment><comment><USER3> It's situations like his that make me wonder about the wisdom of pursuing what you love, especially when others need you. Pursuing what you love is a uniquely Western-rich-kid's luxury.

<comment><USER4> I think this guy shows that pursuing what you love is available to everyone, even to poor Chinese peasants. His life might not be profitable one, but it is certainly a life well lived.

<comment><USER3> And what do you think of the quality of life his wife and children are experiencing? I think it's too bad that she's probably unable to leave him.

</comment></comment></comment><comment><USER5> Trevor Blackwell should reach out. He would be a great asset to Anybots and to the US.

</comment><comment><USER6> He could probably make plenty of money, selling these online to rich people who want a curio with a great story behind it.</comment>


Can machines score nonprofit 'impact'? - <AUTHOR> https://medium.com/@Agoraforgood/can-machines-score-nonprofit-impact-e2d2820725c6#.4fpwhleww <comment><AUTHOR> Love to hear your take on this...</comment>


Star Wars Speederbike, in Real Life: Aerofex Hover Bike Flies the Mojave - <AUTHOR> http://dsc.discovery.com/gear-gadgets/star-wars-speederbike-in-real-life-aerofex-hover-bike-flies-the-mojave.html#mkcpgn=fbdsc17

<comment><USER2> Although they don't have many comments, you may be interested in the other submissions of this story from many, many sources:

<http://news.ycombinator.com/item?id=4396351>

<http://news.ycombinator.com/item?id=4411929>

<http://news.ycombinator.com/item?id=4414683>

<http://news.ycombinator.com/item?id=4416072>

<http://news.ycombinator.com/item?id=4416668>

<http://news.ycombinator.com/item?id=4417151>

<http://news.ycombinator.com/item?id=4418917>

One of the HN comments asserts that it's a fake.</comment>


Open Letter to Mark Zuckerberg: Step Down - <AUTHOR> http://globalneighbourhoods.net/2010/06/open-letter-to-mark-zuckerberg-step-down.html <comment><USER2> _Tech history is filled with former champions such as IBM and Microsoft who were pretty damned sure their customers would find it too difficult to abandon them, only to wake up one morning to find themselves abandoned by millions of formerly "owned" customers._

Microsoft has a $231 billion market cap and makes ~ $17 billion a year.

IBM has a $162 billion market cap and makes ~ $13 billion a year.

One day I hope to have started a company that this guy views as a 'former champion abandoned by millions of formerly "owned" customers.'

</comment><comment><USER3> Seriously, people need to cool it off with all these MZ critics. The guy does 9 things right, no one cares. He does one thing differently and a handful of bloggers start screaming "privacy, privacy". This is the internet, how private do people want it to be?

A handful of people shouting will always make more noise than the rest of the world singing together. This is exactly why the quit facebook day was a disaster.

Have a problem with Facebook? Just use it less or not at all. But please, Mark is only 26, Give the guy a break.

<comment><USER4> I really don't understand the "Mark is only 26" argument. I'm not arguing against you in specific, rokhayakebe, I've just seen this argument come up time and time again. The "Mark is only 26" argument may be strong if Mark went and got drunk one night and had some candid/unfortunate photos taken, but the man is trying to build a multi billion dollar franchise. I don't think anyone should get a break using this excuse. IF he's too young (and I'm not saying he is), then he should just step down. If he's not too young, then let's not talk about his age :)

<comment><USER3> What I am trying to say is that everyone makes mistakes. At 26 he only had 5 years to learn how to run a multi billion dollar company. And he is learning on the fly. Like Farb Nivi says, "jump of the cliff and build a plane on the way down".

When you are dealing with this size of companies you are going to make mistakes. You are going to make great decisions. Your best hope is to make more smart decisions than bad ones.

Now if you are a 20 year industry veteran, than I can get it. And let's be honest, social networking, social graph, friending, following, the stream etc... are all new and we should not expect any of the contenders to get it right the first time.

</comment></comment></comment><comment><USER5> _...the best way to build an ENDURING franchise is to do right by your customers above all else._

This ignores the fact that Facebook users are not necessarily Facebooks customers, for which Facebook is doing right by aggregating as much personal information as possible about the users.

</comment><comment><USER6> I agree that Facebook privacy issues are a pressing and downright threatening issue for the company. They are just a complete turnoff for many users. But I thought Mark Z. answered pretty candidly and saying to him that he should step down (of off to the side as the post suggests) now is ignoring the realities of the choices he probably faces as an entrepreneur.

<comment><USER7> This post is just the same old Facebook privacy issues repackaged as link bait. The problem Facebook has isn't Mark Z. it's the fact that they need revenue and every privacy feature they implement makes them less likely to get it. That puts their needs at odds with their customers wants and that's going to be true no matter who the CEO is.

It's all about striking the right balance and I think Facebook will eventually get there.

</comment></comment><comment><USER8> Step down for what? Because he interviews badly? I'd rather have someone that knows how to run facebook, rather than someone that interviews well.

As for the privacy thing, I think Zuck's right. In a coupld of years, people will wonder what all the fuss was about, just like how people made a huge fuss about the news feed. He's dragging us kicking and screaming into personalization and open-ness of personal data in the future. Because if he doesn't, someone else will.

<comment><USER9> My initial impression on the first question was that he didn't really have an answer. If it was a completely new issue, I might consider being slow and deliberate in his response a point in his favor (I often prefer no statement over a poorly prepared one). However, this is not a new issue, and he's been telling the Facebook users that they don't actually want the privacy they're asking for. He didn't repeat that answer this time, but he evidently hadn't thought about a different answer. At a quick glance, it seemed that on being confronted with it like this, he realized that people aren't buying it.

Whether this impression is true is still an open question. If it is, the problem goes beyond "not interviewing well," and Facebook may be better off reducing his direct influence. If not, he just needs PR staff to take the questions.

</comment></comment><comment><USER10> With all the open letters adressed to Mark Zuckerberg you'd think his email address is hard to find or something like that.

<comment><USER11> Open letters in general seem childish to me. As if they were saying "Hey internet! Look over here at me. I'm putting Mark Zuckerberg on notice! Officially!"

</comment></comment><comment><USER12> "Perhaps, you think that because we users don't pay for your Facebook service, then our wishes and our rights, such as choices over our own privacy settings can be disdained or even abused."

Am I the only one who wishes most things weren't free and instead charged a small fee and was devoid of advertising? I am just tired of everything I do on the internet being about shoving better and better ads in my face. I would happily pay a few bucks a month to use a Facebook like service without ads. Too bad none of my friends would though...

</comment><comment><USER13> This is wrong on many points; First, AFAIK, Zuck is not just another founder, he is a major driver of internal FB culture, which is intensive, akin to Brin&Page. You can't just oust him and replace him with a corporate raider MBA type that the troops won't respect.

Second: "Because Facebook has treated us so badly, there is still the possibility that we can just turn and walk away." Can we just put this misguided idea to rest, nobody's leaving FB, at least for now. Checkout the recent post on HN about "leave FB day" and how very few people actually did it. People have invested greatly in their social networks, this is not something you switch _individually_ , e.g. like your search engine choice, the majority of your network has to do so, too. FB has to make much larger snafus than the recent one to provoke large scale user drops.

</comment><comment><USER14> Mark Zuckerberg has grown incredibly fast with Facebook and has maintained both control AND growth. No matter who is running the company they will always be in uncharted territory.

</comment><comment><USER15> That article was a little mean I have to say. First off he's a techie not a Steve jobs. He was clearly nervous and is totally not a politician. The fact is he's been doing a great job and he's been screwing up privacy since the beginning. Beacon anyone. He was honest and came off as weaselly(not a politician). The news feed comment was very fair. People hated it but now love it. I got the impression we will be seeing tons of new news feeds like features in the future. The market will decide. It's his company and I got the impression that he'll do with it as he pleases. He's had countless opportunities to step down or sell and hasn't. Personally I think he's overstepping his bounds....but I haven't canceled my account yet. I'm curious, did the author of that post cancel their account?

<comment><USER16> >First off he's a techie not a Steve jobs. He was clearly nervous and is totally not a politician.

I believe that's the point.

</comment></comment><comment><USER17> The author should have left out the 7 condescending "Mark"s within the letter. He comes off as arrogant and perhaps a little jealous.

</comment><comment><USER18> Steve Jobs was 30 when he was pushed out from Apple. He was 28 when he asked John Sculley to take over the CEO seat. Probably because people told him to "step down".

<comment><USER19> Mark Zuckerburg is no Steve Jobs.

</comment></comment><comment><USER20> "And the cucumber rose to hit the gardner" -- folklore</comment>


Ask HN: Amazon internship interview - what to study? - <AUTHOR>

I have recently received an email stating that Amazon would like to interview me for an internship position. I know that this job is highly competitive but is an incredible opportunity! I want to know even if I don't get the position that I tried as best as I could to get the job.
I have about a week and a half to prepare. What should I study?
I have assumed doing some code challenge exercises online and reviewing sorting algorithms. If anyone has any suggestions or resources I would love to hear from you! <comment><USER2> Best thing I ever read about interviewing/hiring:

[https://sites.google.com/site/steveyegge2/five-essential- pho...](https://sites.google.com/site/steveyegge2/five-essential-phone-screen- questions)

<comment><AUTHOR> This is actually surprisingly helpful and insightful as it's written for the interviewer but just as insightful for the interviewee.

</comment></comment><comment><USER3> Cracking the Coding Interview is great, though you have to pay for it: [http://www.amazon.com/Cracking-Coding-Interview- Programming-...](http://www.amazon.com/Cracking-Coding-Interview-Programming- Questions/dp/098478280X)

MIT's IAP course resources are pretty good too: <http://courses.csail.mit.edu/iap/interview/materials.php>

<comment><AUTHOR> Two great links!

</comment></comment><comment><USER4> [http://videos.edufire.com/2009/entrepreneurship/how-to- rock-...](http://videos.edufire.com/2009/entrepreneurship/how-to-rock-an- engineering-interview/)

Look at search as well as sorting algorithms. Know basic data structures and associated algorithms. Practice at a whiteboard. Don't worry about getting it right the first time: just keep trying things if you get stuck. Good luck.

<comment><AUTHOR> I will definitely go to a group study room at the library and practice on a white board. Thank you!

</comment></comment><comment><USER5> In your place I would read the Google Platforms Rant (It IS about Amazon;) It explains what do they get right (SOA) [https://plus.google.com/112678702228711889851/posts/eVeouesv...](https://plus.google.com/112678702228711889851/posts/eVeouesvaVX)

</comment><comment><USER6> Found a link from today's HN homepage: <http://mycareerstack.com/questions/?company=Amazon>

Looks like a nice resource.

<comment><AUTHOR> This is awesome! Thank you!

</comment></comment><comment><USER7> Just remember that Amazon is a sweatshop.</comment>


Google PageRank Has Nothing To Do With Inbound Links | Google - <AUTHOR> http://www.eggrage.co.uk/google-pagerank-has-nothing-to-do-with-inbound-links/ <comment><USER2> What an incredibly misleading headline based only on circumstantial evidence. First of all, PR2 is not hard to get, you get indexed and you're already halfway to a PR2. It's true that Google has devalued the impact of inbound links recently, but that in no way means that suddenly getting inbound links with good anchortext is worthless. Also, toolbar PR rounds up, so for all you know the PR could have been 1.000001.

In short, don't listen to this guy, and keep getting those inbound links. They can't hurt you, and, from the hundreds of sites I have ran, I know they do help.

</comment><comment><USER3> Toolbar PR != google internal PR

The story here is that even with very few links this site has been able to secure a pagerank of 2. The suggestion being that PR 2 is impressive. It's not, I would wager that any site with at least some links, any links, and no penalty would have no problem to get a PR2.

<comment><USER4> I'm pretty sure toolbar PR is basically the PR that Google uses for ranking, just lagging by a bit. In addition, I have no idea why people care about PR, because there is quite a bit more to ranking than PR (or else all those PR10 sites would be the top result for anything).

<comment><USER3> It depends on how you define "a bit". The last time I paid any attention to this the toolbar PR was updated every 3 months or so and those updates were already outdated. I can't remember how outdated the updates were or even if google told you that. I suspect they didn't.

Google has also taken to using the toolbar PR as a way of communicating its displeasure over certain practices. Paid links is a recent example.

All told your PR is irrelevant as you say. Especially in comparison to your actual rankings which are also largely irrelevant to tracking what's driving traffic to your site which is itself largely irrelevant to tracking conversions, registrations, return visit or whatever other metric most makes sense to your site/business.

<comment><USER4> On an interesting sidenote this actually means the value of PR0 site links may be worth more than from PR1, because the PR0 site may simply be a site with good PR that just hasn't shown up in the latest update.

 _pinky to finger_

</comment></comment></comment></comment><comment><USER5> It's common knowledge in the SEO community that the public PR number doesn't correlate with the internal calculated PR number that google uses. It's not that there is a lag, it's just not the same number.

However, yes it's true, that obviously there is much more to ranking for a given search term than just having a lot of PR.

There are mountains of empirical evidence that gaining links from authority sites does in fact give you a better ranking.</comment>


Cl-charms: a curses back end for Lisp GUIs - <AUTHOR> http://turtleware.eu/posts/cl-charms-crash-course.html <comment><AUTHOR> I think it's pretty cool how it's a backend for McCLIM, which was intended to be used with graphics terminals.</comment>


Show HN: Stintin - jobs for the not so faint of heart - <AUTHOR> https://www.stintin.com/

<comment><USER2> Interesting niche concept, but why did you choose to charge the individuals seeking jobs, rather than charging the business advertising the job?

The business model of most recruiting sites are that the customers are the guys with the jobs, seeking qualified candidates.

The business model of this site appears to be "selling the dream of adventure" to individuals. It's not really about selling job advertisements, or even jobs. It's about selling the dream, "even you can be an astronaut". To be able to sell the dream, you have to establish credibility that you can deliver. That's missing from the site as it is now.

Your thoughts?

<comment><AUTHOR> You're bang on the money. This was a very very very early stage test to see what people thought of the idea and if they valued it enough to pay $5. Round two of development will involve more work on the business model and adding the examples of job posts and credibility factor. Thanks for much for the feedback. It's invaluable.

</comment></comment><comment><USER3> Honest question: Why are so many sites overwriting the scrolling behaviour with JS, do you need that to trigger animations or is there another reason I'm not aware of yet?

<comment><USER4> That's what really annoyed me as well. It breaks the two-finger swipe back on OS X Chrome as well. Very annoying...

<comment><AUTHOR> Sorry about that UX faux pas. I'm still learning these things. I didn't realise it was causing problems. I'll get onto it straight away. Glad you let me know. Thanks.

</comment></comment></comment><comment><USER5> Interesting concept, it would be good to have a couple of examples of the kinds of jobs you'll be listing, I think then more people will be more likely to sign up.

</comment><comment><USER6> Without examples, just 30 seconds wasted scrolling twice.

</comment><comment><USER7> Cute but desperately needs example-jobs, testimonials.

</comment><comment><USER8> Evidently not-so-faint-of-heart people don't use noScript, which makes sense, I guess ;)

</comment><comment><USER9> "Discover amazing careers you should totes apply for"

This doesn't seem in-sync with your overall tone of trying to inspire me to be courageous. Plus, it makes me quit thinking about me, and start thinking about the author.

<comment><AUTHOR> I agree. Will change that now.</comment></comment>


Ask HN: What are your networking strategies? - <AUTHOR>

I am wondering how one can make it into the "inner circle" of business people when coming from sort of nowhere?<p>How do you meet influencers and befriend them? Do you use online (linked in etc.) or offline means of connecting to other people? Are you member of business / country / service clubs such like Rotary, IACWorldwide, Aspen etc. Any hints? <comment><USER2> I don't have a strategy, because I don't have a straightforward goal. Define your goal before working on a strategy.

"Making it into the inner circle" for me, would be more of a means than an end. What's the end?</comment>


ScrapydWeb: web UI for Scrapyd cluster management, Scrapy log analysis - <AUTHOR> https://github.com/my8100/scrapydweb # Basic auth for web UI # HTML caching for the Log and Stats page # Auto eggify your projects # Email notice with multi-triggers provided <comment><AUTHOR> Get it via the 'pip install scrapydweb==1.0.0rc1' command.</comment>


Ask HN: Why is our Galactic Coordinate System Centered on our Sun? - <AUTHOR> http://en.m.wikipedia.org/wiki/Galactic_coordinate_system

<comment><USER2> Where else would it be? We know where the Sun is, with high precision.

Interstellar distances get more and more uncertain the further away things are from the Solar System. Using the Sun as the origin gives a built-in estimate of the error. If we used, say, the center of the galaxy as the origin then the uncertainty in its location would overwhelm any calculations about the distance from the Sun to, say, Barnard's Star.

</comment><comment><USER3> Because we cannot travel out of the solar system.

Also note how astronomers use the parsec as unit (which depends only on the radius of Earth orbit, and has no other physical significance) instead of the light.year which is much more interesting a unit, for the would be astronaut.</comment>


Ask YC: Should I open source my product or not? (did you?) - <AUTHOR> http://xenoterracide.blogspot.com/2008/04/open-source-it-or-not.html

<comment><USER2> I run a subscription personal wiki service (<http://luminotes.com>), and I open sourced the software that runs it from the start.. Mostly because I was sick of working on proprietary software for a living. And then two interesting things happened. First, people started signing up for paid subscriptions. And second, no one made a competing service from my source code (yet).

I think in general people overestimate the value of their source code. There are so many other things that you can bring to a business that any copy-cats wouldn't necessarily have (e.g. your knowledge of the source code, your vision for the product, etc). So don't flatter yourself into thinking that as soon as you release the source, a dozen competitors will spring up using your software. And even if they do, you'll still likely out-compete them.

So like making any business decision, weigh the advantages and disadvantages of open sourcing and make a decision based on those. But don't make the common mistake of overestimating the disadvantages.

<comment><AUTHOR> I guess my biggest concern involves cases like mysql. I recently read estimated 1/1000 users pay. Their primary revenue is support. If my primary revenue is service and I give the software away, then everyone can provide the service.

<comment><USER3> I think it's okay not to opensource, since you're not distributing software but offering a service. Free software is about sharing and a sense of community. Running a piece of software on your machine, you should be free to inspect and modify the source, sharing your modifications back. These freedoms don't seem to apply in such a strict sense to web services.</comment></comment></comment>


Who Is Marrying Whom - <AUTHOR> http://www.nytimes.com/interactive/2011/01/29/us/20110130mixedrace.html <comment><USER2> The government definitions applied to these issues have changed over the decades in the United States. Self-designation under each set of definitions (last revised in 1997) is changing too. Americans are becoming less and less race-conscious in self-identification. I have been looking up links on this subject since a few years ago for online discussion of college admission issues in the United States.

College reporting to the federal government is based on the U.S. Census bureau definitions for ethnicity and race categories, which in turn are based on regulations from the Office of Management and Budget, which were announced on 30 October 1997

<http://www.whitehouse.gov/omb/fedreg/ombdir15.html>

to take effect no later than 1 January 2003 for data collection by all federal agencies.

The Department of Education has more recently updated its guidance to colleges on how to ask ethnicity and race questions

[http://www.ed.gov/legislation/FedRegister/other/2007-4/10190...](http://www.ed.gov/legislation/FedRegister/other/2007-4/101907c.html)

or

[http://www.ed.gov/legislation/FedRegister/other/2007-4/10190...](http://www.ed.gov/legislation/FedRegister/other/2007-4/101907c.pdf)

and has requested colleges change their forms by the high school class of 2010 application year to ask a two-part question, first inquiring about Hispanic ethnicity and then about race, for each student. The student will still be free to decline to answer either part of the question.

"Unlike elementary and secondary institutions, generally, postsecondary institutions and Rehabilitation Services Administration (RSA) grantees use self-identification only and do not use observer identification. As discussed elsewhere in this notice, postsecondary institutions and RSA grantees will also be permitted to continue to include a 'race and ethnicity unknown' category when reporting data to the Department. This category is being continued in the Integrated Postsecondary Education Data System (IPEDS) because the National Center for Education Statistics' experience has shown that (1) a substantial number of college students have refused to identify a race and (2) there is often not a convenient mechanism for college administrators to use observer identification."

You can look up the detailed category definitions on the website of the United States Bureau of the Census. As the Census Bureau itself notes,

"The concept of race as used by the Census Bureau reflects self-identification by people according to the race or races with which they most closely identify. These categories are sociopolitical constructs and should not be interpreted as being scientific or anthropological in nature."

<http://quickfacts.census.gov/qfd/meta/long_68176.htm>

"White. A person having origins in any of the original peoples of Europe, the Middle East, or North Africa. It includes people who indicate their race as 'White' or report entries such as Irish, German, Italian, Lebanese, Near Easterner, Arab, or Polish.

"Black or African American. A person having origins in any of the Black racial groups of Africa. It includes people who indicate their race as 'Black, African Am., or Negro,' or provide written entries such as African American, Afro American, Kenyan, Nigerian, or Haitian.

"American Indian and Alaska Native. A person having origins in any of the original peoples of North and South America (including Central America) and who maintain tribal affiliation or community attachment.

"Asian. A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian subcontinent including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, Thailand, and Vietnam. It includes 'Asian Indian,' 'Chinese,' 'Filipino,' 'Korean,' 'Japanese,' 'Vietnamese,' and 'Other Asian.'

Native Hawaiian and Other Pacific Islander. A person having origins in any of the original peoples of Hawaii, Guam, Samoa, or other Pacific Islands. It includes people who indicate their race as 'Native Hawaiian,' 'Guamanian or Chamorro,' 'Samoan,' and 'Other Pacific Islander.'

. . . .

. . . .

. . . .

The concept of race is separate from the concept of Hispanic origin."

<http://quickfacts.census.gov/qfd/meta/long_68188.htm>

"Hispanics or Latinos are those people who classified themselves in one of the specific Spanish, Hispanic, or Latino categories listed on the Census 2000 questionnaire--'Mexican, Mexican Am., Chicano,' 'Puerto Rican', or 'Cuban'--as well as those who indicate that they are 'other Spanish/Hispanic/Latino.' Persons who indicated that they are 'other Spanish/Hispanic/Latino' include those whose origins are from Spain, the Spanish-speaking countries of Central or South America, the Dominican Republic or people identifying themselves generally as Spanish, Spanish-American, Hispanic, Hispano, Latino, and so on.

"Origin can be viewed as the heritage, nationality group, lineage, or country of birth of the person or the person's parents or ancestors before their arrival in the United States.

"People who identify their origin as Spanish, Hispanic, or Latino may be of any race."

The federal Department of Education National Center for Education Statistics (NCES) has posted guidance to colleges about how they are to ask about student ethnicity and race according to the federally defined categories.

<http://nces.ed.gov/statprog/2002/std1_5.asp>

The instructions on the National Center for Education Statistics website provide details on how word ethnicity and race questionnaires and how colleges should report the various categories self-reported by students to the federal government.

See the National Center for Education Statistics Race/Ethnicity FAQ

<http://surveys.nces.ed.gov/ipeds/visFaq_re.aspx>

and the Association for Institutional Research Race/Ethnicity Information webpage

<http://www.airweb.org/page.asp?page=1500>

and its subpages for more information about the current of colleges as they implement the new federal regulations for high school class of 2010 applicants to college.

Students of higher education (and applicants to schools of postsecondary education) are treated as adults, and are explicitly permitted to decline to identify their ethnic or racial category.

Note that the decennial census in the United States redefines "race" categories from time to time,

[http://www.time.com/time/nation/article/0,8599,1955923,00.ht...](http://www.time.com/time/nation/article/0,8599,1955923,00.html)

and there is no consistency between the practice of the United States and that of any other country in this regard.

I find it interesting that more and more college applicants are declining to self-report their ethnicity to colleges,

<http://www.insidehighered.com/news/2005/02/15/race2_15>

an issue explored by the linked article from several points of view. Declining to self-report is everyone's right under law and something that someone of any ethnic self-identification might choose to do. People can decide this issue for themselves, but I like to emphasize in my own life, as a member of a "biracial" family, the common humanity my children, my wife, and I share with all our neighbors and compatriots. We prefer the category label "human" but accept the category label "postracial" in our household.

The latest version of the Minorities in Higher Education Report

[http://www.acenet.edu/AM/Template.cfm?Section=CAREE&Temp...](http://www.acenet.edu/AM/Template.cfm?Section=CAREE&Template=/CM/ContentDisplay.cfm&ContentID=34214)

has a lot of detailed numbers (all based on reports colleges make to the federal government) about the growth in college enrollment in all the reported ethnic categories, and the growth of the reported category "race/ethnicity unknown." The "race/ethnicity unknown" category has been the fastest-growing category by far in the reported years.

<comment><USER3> The "Self-designation" for Native American does have some rules based on blood and tribal enrollment. A entity (e.g. college) not reporting on this correctly can bring some consequences.

</comment></comment><comment><USER4> It's somewhat ironic that there's no column for "multiracial" in the data. Intermarriage doesn't stop at the first generation.

</comment><comment><USER5> "Over all, black Hispanics and American Indians have the highest rates of intermarriage."

I am thrilled to see they are recognizing black Hispanics as a bonafide group. Being forced to choose between the two gets old quick.

I don't know that I consider black hispanic/african american marriages interracial however...

<comment><USER6> But I guess you can't have it both ways - if Black and black Hispanics should indeed be two distinct racial groups it would be a bit arbitrary to say marriages between them aren't interracial, no?

<comment><USER7> What is a black Hispanic? hispanic + amerindian or hispanic + african.

At least here in Mexico, no one will think at themselves as black. May be the term should be hispanic non white

<comment><USER8> What about elsewhere in Latin America? For example, in Cuba, there is a large Afro-Cuban community, isn't there?

<comment><USER7> yes, that may apply for some countries. But then how do you classify hispanics of amerindian origin?

<comment><USER5> Mestizo, typically.

</comment></comment></comment></comment></comment></comment><comment><USER9> I don't see how the sexes within a race can be different. For every Male that's interracially married that's one female that has to be interracially married.

It could come down to parts of the population that are not married to skew it. IE in prison, if one sex marries older or same sex marriages.

But I suspect it's actually more about perceptions.

<comment><USER10> That's exactly what it is. For every Asian woman who marries a white or black man, there's (statistically) an Asian man who has to either marry a white or black woman or remain single. Likewise, for every black man who marries a white or Asian woman, there's a black woman who has to marry a white or Asian man or remain single.

Now, it's true that for every Asian woman who marries interracially, there has to be a white or black man who also marries interracially, but in practice, having a large white majority population means that proportionally fewer whites have to marry interracially to really muck up the proportions among minorities.

Statistically, Asian men and black women tend to remain single as Asian women and black men tend to marry interracially. One possible interpretation is that there's kind of a continuum:

      Black    White    Asian

where women interracially marry to the left and men interracially marry to the right. But it doesn't loop around.

</comment></comment><comment><USER11> I am surprised the number of white men marrying asian women is so low (though it is high compared to others). I imagine living in NYC skews my view a great deal though.

<comment><USER12> There are very many more white men than their are asian women.

<comment><USER13> In the United States.

</comment></comment></comment><comment><USER14> I'll bet genetic predispositions have a lot to do with these statistics. I'd like to see which groups are generating the most offspring.

</comment><comment><USER15> A side comment, we really have to collectively agree to drop "whom". It's archaic and has not been part of common usage for at least the last century if not longer. It's noticeable only with the unusually low frequency it shows up and does nothing to aid or clarify communication. It's like spelling "old" with a silent final 'e', "olde".

It's time to get over this and move the language forward a bit, thank you.

 _rant off_

<comment><USER16> I think "whom" is still in use. I still use it, and I still see it used in the emails my friends send me.

Despite that, I agree with part of what you say: it would be good to modernize the language.

<comment><USER15> It still shows up in formal writing with some frequency, but it's slowly fading away. Most modern formal writing guides usually have a footnote or some such to note that. In less formal speech, it's pretty much unheard these days.

Anecdotally, I went and searched my email archives, going back to 1992, and I found a couple dozen uses of it, all in emails I received from religious family members quoting the bible.

</comment></comment></comment><comment><USER17> In spite of Obama being a product of such a mixed-race union, he picked 'Black' as his racial categorization in the 2010 census, according to an article linked from there.

I think that's backwards. A person equally white and equally black should not become black out of political expediency. They should be equally representative of both of their heritages.

</comment><comment><USER18> WTF?! Can we stop calling NATIVE AMERICANS indians already.

Since I was born in America and my family is from the country of INDIA, I guess I am known as an Indian American? Are American Indians, children of Americans who are born in India? Logically thats the only thing that makes sense.

Just cause someone made a mistake we shouldn't propagate it. Otherwise we should all start using titles given to various ethnic groups which are no longer politically correct.

/rant

<comment><USER19> Can we stop calling U.S. people AMERICANS already?

Since I was born in the continent AMERICA and my family is from the country Canada, I guess I am known as a Canadian American?

Just cause someone made a mistake we shouldn't propagate it.

/sarcasm

<comment><USER20> My family migrated to the US from Canada. "America" is a geography not restricted to the US, at any rate.

<comment><USER21> What? American is the official demonym for US citizens. Sorry for the confusion, but American is the only correct demonym and has been for a long time.

Edit: Actually, when is there ever any confusion? There isn't a whole lot the "Americas" as a whole have in common. If you want to do continent-based demonyms, just prefix North or South.

<comment><USER19> > The Americas, or America, (Spanish: América, Portuguese: América, French: > Amérique, Dutch: Amerika, Aymara: Amërika, Quechua: Amirika, Guaraní: > Amérika) are lands in the Western hemisphere, also known as the New World.

I was initially being sarcastic but if you want to get serious on the topic, let's at least admit that there would indeed be confusion for an extraterrestrial coming to Earth for the first time. Wouldn't you find it funny if people from China were called Asians instead of Chinese or if Mexican people called themselves Americans instead of Mexicans?

<comment><USER21> _I was initially being sarcastic but if you want to get serious on the topic, let's at least admit that there would indeed be confusion for an extraterrestrial coming to Earth for the first time_

If that's the primary confusion scenario, I think I'm comfortable with the way things worked out. ;) Also, I was mostly commenting on wyclif, I got your sarcasm.</comment></comment></comment></comment></comment></comment>