The Emterpreter: Run asm.js code before it can be parsed - <AUTHOR> https://blog.mozilla.org/research/2015/02/23/the-emterpreter-run-code-before-it-can-be-parsed/

<comment><USER2> I actually really like the sound of this, not because of the stated benefits (though those are nice), but because it sounds like this would actually create a really good upgrade path to implementing a _proper bytecode_ into browsers.

I mean, with asm.js and the copious amounts of compile-to-Javascript languages available these days, Javascript is already becoming a de facto bytecode for the web. But it's always been a weird and uncomfortable hack done for the sake of backwards compatibility: a higher-level language hijacked to work as a compile target, simply because it's the only thing supported by browsers.

If projects like this Emterpreter catch on, though, it allows for a smooth path to proper bytecode: for backwards compatibility, you have the Emterpreter read and execute the bytecode, but in other, more modern browsers you have the browser execute the bytecode directly. I think this would be an overall better approach than what we have now.

<comment><USER3> The thing for now is that the asm.js "family" is riding on LLVM's back. More and more it's the LLVM that is becoming that VM people have longed for. It looks like LLVM is inching towards the JavaScript VM with every year that goes by. I read that Apple is using it for further JavaScript optimizations on the browser. LLVM already powers WebKit underneath right?

So as things stand right now we have 2 popular "VMs" people really use. One is JavaScript since it's going nowhere. And the other is LLVM that is "free as in beer" for companies all over. JavaScript was secluded to the client. And LLVM was secluded to the backend. Now they are going to be marrying and having lots of children. :-)

<comment><USER4> LLVM is not a VM by any stretch of the imagination. It is an intermediate language for compilers whose primary utility is to provide a common target for code generation and optimization. LLVM's name is a misnomer.

<comment><USER5> You're thinking of that email that someone sent on a mailing list a while back about how LLVM isn't really a bytecode because it includes architecture- specific codes.

It was a stupid email - you can make LLVM into an architecture-agnostic bytecode by disallowing those codes.

Don't believe me?... [https://developer.chrome.com/native- client/reference/pnacl-b...](https://developer.chrome.com/native- client/reference/pnacl-bitcode-abi)

<comment><USER4> "You're thinking of that email that someone sent on a mailing list a while back about how LLVM isn't really a bytecode because it includes architecture- specific codes."

No, I'm not. In fact, I have no idea what email you're referencing.

LLVM as an intermediate language (I guess you could call it bytecode if you really wanted to) for compilers of arbitrary languages (expressly not a virtual machine!) is the only point I intended to make.

</comment></comment></comment></comment></comment><comment><USER6> I think this is the first emscripten feature which I don't "get", e.g. not fully understanding the motivation behind it :) Firefox AOT compile time is great, and nothing at all compared to the time it takes to download the code. The real art lies in getting the actual emscripten compiled executable small, not because of emscripten, but because of C++'s tendency to bloat the executable size if one isn't really careful. Also, clang and emscripten's code generation passes have very aggressive dead code elimination, but there can be wrong decisions on the game engine architecture-level which can cause the inclusion of code that might never be called. A native executable that's several dozen MByte's big is a bad thing on any platform, it just doesn't appear as such a problem if it is a part of a 50 GByte game download. To come to and end, I think an emscripten client of up to 5 MByte (gzipped) doesn't really require a fix like emterpreter for its startup time(?), and it's perfectly possible to fit a full 3D game client into such a size with a little care about size optimization.

[edit: fixed a formulation which sounded like code bloat can be blamed on emscripten instead of user-code]

<comment><USER7> Imo a stackbased bytecode has far better code density, which is probably pretty good for browsers.

<comment><USER8> .. at a significant cost to execution speed, experience shows. The fastest interpreted "general purpose" language is apparently Lua, which switched from stack to registers to get that speed a while ago.

</comment></comment></comment><comment><USER9> This is very cool, and great to read more interesting research from Mozilla. However in this article I notice something curious: normal asm.js kicks off and shortly after reaches top speed by around 700ms. emterpreter gets going by 200ms, but takes another 1200ms to reach top speed by 1400ms. Why is it not another 700ms? Isn't it just doing the same work as asm.js but in the background while running with emterpreter?

Non-blacklisted emterpreter looks slow enough (5fps ish on that graph?) to simply not be useful for some use cases, like a game engine - it's not going to be remotely playable like that. Therefore emterpret => asm.js actually significantly increases the startup time. Playable by 1400ms is worse than playable by 700ms. But I guess this is all preliminary and improvable though!

<comment><USER10> There are a few reasons why full speed is reached later when starting up in the emterpreter and swapping in asm.js later:

* Compiling asm.js can use multiple CPU cores, so doing just that is faster than doing it while the emterpreter is running on (at least) one core.

* I believe, but am not sure, that compiling on a background thread is done at lower priority than stuff on the main thread.

* Swapping asm.js code in can only be done in between frames. At 10fps for example, that means around a 100ms delay just for that, and possibly more depending on the state of the browser's event queue.

</comment></comment><comment><USER11> As I sometimes see wmf say, "as predicted by prophecy:" [https://news.ycombinator.com/item?id=6923758](https://news.ycombinator.com/item?id=6923758)

<comment><USER12> Also, [https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript)

<comment><USER11> I actually acknowledged that in the version of this I posted 4 days ago: [https://news.ycombinator.com/item?id=9071064](https://news.ycombinator.com/item?id=9071064)

However, he has JS hanging on for longer than I bet on... once asm.js gets a good DOM binding I expect the explosion of language diversity to take about two years, tops, and for it to rapidly become clear that JS is now just another way of accessing the DOM. I think there's more pressure built up there than people realize, because right now there's no point in thinking about it, but once it's possible, _kablooie_. Node's value proposition, IMHO, is in some sense correct, but backwards; it's not that we want to write in Javascript on the server, it's that we want "client language = server language"... and once there's no longer a technical handcuff pinning the client side of that equation to Javascript, it will not take that long for it to no longer be Javascript. It is not an impressive language, even within its own 1990s-style dynamic language niche.

(I think this is not because it's "bad", but because it has been developed in this really terrible multiple-vendors-that-actively-don't-want-to-cooperate way for most of its lifetime. It's gotten past that, I think, but during those decades all the other scripting languages were marching right along. None of the other languages could have survived such a process and gotten to where they are today, either.)

<comment><USER13> GC-ed languages are going to have to include the GC which I doubt can compete with JavaScript. No one wants to write CRUD apps and manually manage memory. I don't see asm.js being used outside of games.

<comment><USER14> Unless someone invents a language where non-GC memory management is easy and that language can compile to both the client and server...

<comment><USER15> Rust makes it not quite "easy" but at least it makes it automatic and not error-prone.

</comment></comment></comment></comment></comment></comment><comment><USER16> Hot damn, that's exciting. I prefer the asm.js approach over PNaCl because it lets browsers gradually move over to the standard rather than forcing a flag day. This solves the big issue, namely parsing that big, hot mess of raw JS.

I hope we'll eventually see a proper bytecode spec with bidirectional assembly/disassembly w.r.t. JS (ie: more a transformation than an assembly spec) evolve from this effort, but it's obviously something that needs to happen _after_ asm.js has had its time to bake.

This, of course, assumes that browsers don't get AOT/background compilation to the point where it's no longer necessary to consider a bytecode spec.

</comment><comment><USER17> After we have evicted Java from our browsers and turned Javascript into the new Java, what have we gained?

<comment><USER11> It isn't the new Java, it's the new JVM, and the answer is, "choice".

<comment><USER18> Choice? In what sense? The JVM is a ridiculously good VM, with tons of languages that compile to it.

Why are we reinventing the wheel?

<comment><USER11> Choice of language to compile into the VM.

As for why not the Java VM, my guess is that the browsers are staggeringly enormous piles of C++ code and trying to integrate a Java VM into it would probably be insanely difficult, and anything other than pure 100% integration, too slow to use. It is probably literally easier to continue with the already- integrated JS VM and improve it up to JVM-esque quality than to try to graft the JVM into the browsers that exist today.

Or somebody would have already have tried since nothing would have prevented JS from already running on the JVM, if that were feasible; asm.js is actually independent of this question when it comes down to it.

<comment><USER19> You know tons of language already compile and run on the JVM, right?

And you know the JVM ran in the browser almost _20 years_ ago, on hardware with a fraction of the CPU and memory resources we have today?

<comment><USER11> The JVM does not run _in_ the browser. Its _windows_ can run physically "in" the browser window, inasmuch as it would appear that the Java app was "in" the browser, but the Java app itself was a "plugin", and was a separate OS process. That's not the right kind of "in".

The JVM has never run in the same process as the browser, to the best of my knowledge, with the exception of the ill-fated "HotJava" browser: [http://en.wikipedia.org/wiki/HotJava](http://en.wikipedia.org/wiki/HotJava) which ran Java applets "in" the browser by virtue of being written in Java, instead of C++. At the time this was too sluggish for general use, though.

So allow me to repeat myself: We can't run the JVM _in_ the browser right now. The impedance mismatch between the JVM and the C++ world are just too great to have sufficient performance right now. All the current browsers are enormous piles of C++ code. There is no way to "just" integrate a JVM directly into them, and no bridge between the two is going to have enough performance for the demands we're putting on browsers. It doesn't _matter_ how awesome Java may or may not be when the browsers aren't in Java. It's not an option today, short of replicating Sun's feat and rewriting your own browser in Java. But the only thing stopping you from doing that is the sheer size of the task, rather than any technical problem. (But make no mistake, it is an _enormous_ undertaking now to write an engine capable of replacing any of the existing ones for even a single well-chosen use case.)

<comment><USER19> Oh, I see. I misunderstood your use of the word "in".

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Yeah, maybe if we could compile to some byte code and simply download a VM to compile once and run everywhere ... hmmm where have I seen this before?

</comment><comment><USER21> "Oh wow, wouldn't it be great if browsers had a bytecode interpreter in them?"

Two words: "Java applets".

</comment><comment><USER22> Is it straightforward to reference a separate compiled library from an Emscripten binary?

Seems that caching commonly shared dependencies could be a good way to cut down on size and parse/compile time.

</comment><comment><USER23> a bit OT, but one thing i always wondered is, can't we extract inferred type information from the JIT after running plain JS code through 1M cycles and then compile that to an asm.js variant?

<comment><USER24> This is effectively what JavaScript VMs already do and have done for years. They compile to unoptimized machine code that has a bunch of hooks to monitor the types that flow through the code.

After a while, if a chunk of code is identified as "hot", a second-stage compilation kicks in. The code is recompiled to optimized machine code that takes advantage of the types that it previously saw the code use (with fallbacks in case those assumptions later fail).

<comment><USER23> yes i understand that. my question is, can that inferred type info be used to output the optimized bytecode as asm.js so that it can be included right away. like statically compressed .gz assets (pre-optimized).

it would effectively make a js -> asm.js compiler

<comment><USER25> Possibly, but the types by a VM are rarely guaranteed to be completely accurate (some traps will be included in optimised code to capture the cases where types may not be as expected). They may only be true for the particular input data, other other libraries used, or stuff like that.

Using previous runs to inform the JIT of expected types is entirely reasonable though, and think various JS implementations already do this.

<comment><USER23> > some traps will be included in optimised code to capture the cases where > types may not be as expected

none of that should matter. if the resulting JIT'd code is faster with the traps than the plain js without them, so be it.

</comment></comment></comment></comment></comment><comment><USER26> Quite similar to tiered compilation on the JVM

</comment><comment><USER27> So, how long until someone gets the JVM or CLR running inside the browser using asm.js - and then reopens the world of running Java/C# in the browser. Only this time without plugins.

<comment><USER28> Why waste time and bytes on an extra VM, when you can just compile Java or CLR bytecode to JavaScript?

<comment><USER27> Because the behaviour of the JS VM and the CLR VM is very different?</comment></comment></comment>


Emotiv - Brain Computer Interface Technology  - <AUTHOR> http://www.emotiv.com/index.php

<comment><USER2> I don't know much about this offering, and I am not a neuroscientist/md, but I do know many well known and respected neurologists/epeleptologists and have worked with them for quite a while (I currently work in the Dept. of Neurology at a very well known institution). Nevertheless, even I know that signals acquired from surface electrodes are very difficult to "read" let alone useful to manipulate anything. For one, a patient who is awake and moving will generate a very difficult to ascertain signal to noise ratio due to too much muscle artifact. The best/most reliable I have seen via surface electrodes are simple binary commands along the lines of "move the dot on the screen up or down" (my brother did that as his senior thesis for his undergrad bio- engineering major).

Now, the guys at emotiv may have devised a way to enhance the electrodes and/or filter out artifact but I would really have to put this to some of my scientist buddies who would actually know what is going on under the hood here. I am inclined to think they have not because I haven't heard any excitement from any of the neurologists in the epilepsy division. I've seen expert technicians actually apply electrodes both surface and implanted (aka. in the operating room with ones brain exposed). Let's talk surface. There is a lot of expert care and skill that goes into setting up electrodes (and in specific places). On top of that, the electrodes are generally coated with a gel. All of this to enhance the electrical signal. The headset from emotiv looks like it is dry and how do you know if it is positioned properly?

tl;dr, I would love to think this has real value but I just don't think so.

</comment><comment><USER3> This technology is cool, yes, but it works pretty terribly. I've done work with this device in my postdoc, and you really can't get any useful signals from it. There is another company similar to this one - NeuroSky, google it - and they're just as bad. The technology for reliably obtaining differentiable neural signals using non-glue/screw electrodes is just not ready for production yet.

<comment><USER4> It's definitely not research-quality (as I initially thought it might be), but there are still some cool things you can do with it. One interesting possibility is tying it into Max/Msp -- there's been some work along that front lately.

</comment></comment><comment><USER5> From what I understand reading about this a few years ago: EEG with this kind of external equipment can't read more than one strong impulse signal at a time(that would be a simple detection, binary on or off), and certainly can't locate signal origin.

So all the peripheral sensors detecting facial muscle movement do the real work. Seems pretty dishonest to claim brain interface.

Am I misinformed? We're all waiting for this technology to develop, that creates a big opportunity for misdirection.

<comment><USER6> That's not entirely true -- there are some applications of the Epoc that can actually perform detections which cannot solely be attributed to facial muscle movement. [1] Of course, the signal-to-noise ratio is much lower than that of research-grade devices, so a lot of preprocessing is required.

[1] NeuroPhone is an example: <http://www.youtube.com/watch?v=tc82Z_yfEwc>. Here's a peer-reviewed article describing the preprocessing involved: <http://sensorlab.cs.dartmouth.edu/pubs/neurophone.pdf>

<comment><USER5> > The Dial Tim application works on similar principles to P300-spellerbrain- > computer interfaces: the phone flashes a sequence of photos of contacts from > the address book and a P300 neural signal is elicited when the flashed photo > matches the person whom the user wishes to dial.

This is just as I've said above, _one_ brain signal is used over time.

</comment></comment></comment><comment><USER7> Thanks for all the posts, that point out, that the technology is still unreliable.

But com'on people, this is exciting! Who knows what great ideas might come out of this, now, that there is an affordable, commercial product. Ideas are made out of ideas. And so are applications made out of applications.

I wonder if playing games like "Spirit Mountain Demo Game" can change your mental awareness and maybe even concentration abilities.

</comment><comment><USER8> and here's some software: <https://github.com/qdot/emokit/>

<comment><USER4> While I'm glad to see Emokit getting attention, this repo should no longer be used. As I mentioned in [http://daeken.com/emokit-hacking-the-emotiv-epoc- brain-compu...](http://daeken.com/emokit-hacking-the-emotiv-epoc-brain- computer-0) , the new repo is <https://github.com/qdot/emokit/> as I've handed maintainership over to qdot.

Edit: Repo in the parent was previously pointing to my original, unmaintained library. This comment no longer makes sense :)

<comment><USER9> You might want to note this in the README of that repository, and maybe update the tag-line description at the top of the github page. (I assume it's this one <https://github.com/daeken/Emokit>)

<comment><USER4> Yeah, I've been planning to but have been totally swamped. I should probably do that tonight.

</comment></comment></comment></comment><comment><USER10> Another player to watch in this space is NeuroVigil. Right now they're mainly focused on EEG for healthcare applications, but their technology could be modified for other use cases.

<http://www.neurovigil.com/>

</comment><comment><USER6> Streaming EEG using websockets and the emokit library (just POC, rate is very low so all data are essentially noise): <http://makemyactionschainreactions.net/eeg/>

<comment><USER4> Woah, awesome! I know it's just a POC, but it's great to see people using Emokit -- I'm disappointed that I didn't have enough time to dedicate to doing anything with it when I started it. Let me know if you run into any issues.

<comment><USER6> Thanks! I also did some basic rhythm detection: [https://github.com/agermanidis/emokit/blob/master/python/uti...](https://github.com/agermanidis/emokit/blob/master/python/utils/rhythms.py), and added a simulation option so folks that want to contribute to the library but don't actually have it (I suspect that there are exactly zero of them, but anyway) can still test it on sample data.

<comment><USER4> Oh very cool -- I wrote some super basic stuff for this, but it didn't work well at all, and I never had any time to improve it. Is your stuff merged into the qdot branch yet? If not, you should definitely send a pull request, as I think it'd work well with what he's been working on.

</comment></comment></comment></comment><comment><USER11> Interesting TED talk by Emotiv founder: [http://www.ted.com/talks/tan_le_a_headset_that_reads_your_br...](http://www.ted.com/talks/tan_le_a_headset_that_reads_your_brainwaves.html)</comment>


Ask HN: College Degree - Web Dev vs. Software Dev? (Modules listed in post) - <AUTHOR>

Hi HN,
Going into 2nd year of college in September and I'm considering switching from Web Dev to Software Dev, as I feel there's not enough technical subjects in the Web Dev degree's 2nd and 3rd years.
Both courses share some modules, and I've used this in the comparison below:

  ----- YEAR 2 -----
  Mutual Modules:
  Database Development 1
  Web Programming 1
  Web Design and Development

  Web Dev Exclusive Modules:
  Client-Side Scripting
  Online Marketing
  Portfolio Creation
  Digital Imaging

  Software Exclusive Modules:
  Windows Programming 1
  Software Engineering 1
  Maths 2

  ----- YEAR 3 -----
  Mutual Modules:
  Web Programming 2
  Project 3
  Work Experience

  Web Dev Exclusive Modules:
  Digital Media Production
  Web Animation
  Open Source Content Management Systems

  Software Dev Exclusive Modules:
  Rich Application Development
  Database Development 2
  Software Engineering and Software Quality

 For what it's worth, I intend to move to the US after college for startups (already working on one) so this degree is just my contingency plan. I also wanted the networking aspect and social experience of going to college instead of going straight to full-time startup.
I've been coding for a few years and I'd consider myself reasonably experienced in most modules above (offered full-time position with web development firm), so the main reason I'm posting this question is to find out what the HN crowd thinks looks like a more valuable degree to fall back on.
TL;DR: Which degree would look more appealing to a company hiring?
Huge thanks to anybody that wants to give some feedback. It's much appreciated.
Edit: If it helps, my current skillset is mostly: JavaScript/Python/PHP/MySQL/PostgreSQL and of course HTML/CSS. <comment><USER2> I have to agree with the recent posts. I actually went to school and received a specialist in Software Engineering first. Afterwards I decided it would be good to also get a web development degree on top of it to have all bases covered.

Truth is, I could have got more knowledge for the web dev by speeding 10 hours a week for a year on w3c tutorials, where as finding solid consistence tutorials on the engineering aspect is a lot harder.

Though it will be more work and a bit more of a challenge, the payoff will be 100x in the end.

</comment><comment><USER3> Software Dev for sure. The modules in the web dev stuff all look like things you can pick up along the way fairly easily.

<comment><AUTHOR> Thanks for the reply. Very much in line with what I'm thinking.

The Web Dev degree is supposed to be more design-focused clearly, but it feels like they just stuck some space-fillers in there too.

</comment></comment><comment><USER4> As a developer myself I would absolutely go with Software Dev. Much more flexibility with those skills IMO.

<comment><AUTHOR> Thanks for replying, appreciate it!

</comment></comment><comment><USER5> If you learn software development, you could pick up web development, even some of the flashy design stuff.

<comment><AUTHOR> Yeah I understand what you're saying.

The thing is I've already got web development down well (few years experience) and my design skills are pretty solid. I'd just like to know what degree would look best to people hiring in case I ever end up needing it.

Appreciate the reply!</comment></comment>


Start-Up Releases Smaller Version of Flip Camcorder - <AUTHOR> http://www.nytimes.com/glogin?URI=http://www.nytimes.com/2008/06/04/technology/04flip.html&OQ=_rQ3D1Q26partnerQ3DrssnytQ26emcQ3Drss&OP=46c0b1ecQ2F1dQ5DQ2A1ErQ3DQ7B.rrQ26X1XffC1fZ1fY1Q26Q5DQ3D0Q7DrDrjt1fYuDxPV0Q26Q3FD <comment><USER2> Pure Digital should apply the same logic to their website, which currently uses bloated/time consuming Flash to deliver their product pitch.

Click Products>Mino ... wait .... click a feature ... more waiting

Their main Product page is an Apple inspired layout/design, why not continue that throughout?

</comment><comment><USER3> I understand they're trying to resist feature creep to keep the device simple and easy to use, but some features don't necessary take away from the user experience. For example a longer battery life and more storage capacity don't (by themselves) make the device any harder to use.

<comment><USER4> longer battery life almost necessarily means bigger battery

more storage capacity by using an extra slot do make the device harder to use (have to figure out which panel to press, how to reorient the card, and there's a moving part -- the hinge ... allowing things to go wrong)

</comment></comment><comment><USER5> It seems like this link will allow you to view the article without logging in:

<http://www.nytimes.com/2008/06/04/technology/04flip.html></comment>


Ask HN: Is asking for objections enough to change license from MIT to Apache? - <AUTHOR> I saw an open source project recently trying to change their license from MIT -> Apache 2.0, and to do it they've just tagged all past contributors in a PR and asked for objections by a certain date (or else they will go through with changing the license of all past contributions). <comment><USER2> Yes, it is. The owners can issue the software/code under any license they please. However, a change in license works forward in time only, not retroactively. So, if you download the software today under the MIT, that download is forever under MIT.

Edit: Someone downvoted this? WTH?

<comment><AUTHOR> Wouldn't it only work for future contributions, though? i.e. wouldn't all past contributions be under the MIT license still, unless the contributor explicitly agreed?

<comment><USER2> That's right, unless the contributor agreement says otherwise.</comment></comment></comment>


What Comes After the Real Time Web? - <AUTHOR> http://siliconangle.net/ver2/2009/10/28/what-comes-after-the-real-time-web/ <comment><USER2> Wow, reading the title of this just made me realize that most implementations of "push" web content are actually browsers asking a server for content that _doesn't exist yet_. I guess that's what comes after the real-time web: content from the future! :)

<comment><USER3> The predictive semantic web, clearly. Type a few words, like "cat food obese" and it'll order you a bag of healthy cat food, a treadmill, and, six months later, a small wooden box and a new cat.

I'll be over here drafting patents.</comment></comment>


Four-hundred Thirty-Five Representatives Can Not Represent 300M Americans - <AUTHOR> https://thirty-thousand.org/ <comment><USER2> I like the premise, but I don't think 6,300 representatives makes a lot of sense.

I like the proposed "Wyoming" rule. That each representative will represent no more than the population of the smallest state.

Today that would mean about 562 reps, which is manageable, in line with most of the other major world democracies, and would make the electoral college much more fair and balanced as originally intended.

<comment><USER3> Another option is to let each state have as few or as many representatives as they want, but instead of going with one vote per representative, you weight the votes by the number of citizens that representative represents.

You could even go one step further and allow the top two or three vote-getters from each district to have a seat in the House, but their voting power is weighted by the number of votes they got.

<comment><USER4> I like the idea of weighted representation, though I think you'd have to take at least the top two to avoid disenfranchising a significant fraction of the population under a winner-take-all approach, given our two-party politics. Taking the top 3 might make things interesting. You could imagine the dominant party's candidates finishing 1st and 4th, for instance, resulting in the minority party having more representation than the majority.

<comment><USER5> If the party finishing 2nd and 3rd had more votes than the party finishing 1st and 4th, they wouldn't be the minority party. I find it more likely that the 3rd and 4th places would be taken by third parties, and you'd have something like this:

1st: Republican

2nd: Democrat

3rd: Green

4th: Libertarian

...in which case the Dems would be the minority _party_ , but the left in general would still hold a majority of the votes (assuming 2nd + 3rd > 1st + 4th).

<comment><USER6> Why encourage those who cannot prioritize making their minds up against a common enemy? Effectively, this scheme looks to empower any majority no matter how comprised. Clarity of purpose should matter.

<comment><USER5> The funny thing about "should" statements is that we get to disagree on them without justification. I see no reason clarity of purpose across multiple humans should matter, nor any reason that people should be corralled into picking between two corrupt options.

<comment><USER6> Clarity allows governance. Otherwise we're just reacting.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> > The framers of the Constitution and the Bill of Rights intended that the > total population of Congressional districts never exceed 50 to 60 thousand. > Currently, the average population size of the districts is nearly 700,000 > and, consequently, the principle of proportionally equitable representation > has been abandoned.

Non sequitur, and in the first paragraph. I mean, yes, if we had more districts, you could get closer to exactly equal population per representative, but a difference of a factor of two in a few districts is not an "abandonment" of the principle. It's the principle not working perfectly, which is perhaps not ideal, but is far less end-of-our-democracy than this tries to make it sound.

And if we did expand the House to 6,000 members, what would we get? We'd get 1000 self-important committees, or we'd get more members per committee, or both. Can you imagine the impeachment hearings if the committee had 500 members, each demanding their 5 minutes to grandstand with each witness?

<comment><USER8> Right, a house of 6000 can't discuss anything.

Isn't the obvious answer to devolve more powers? Decide fewer things federally, and let states (or perhaps there should even be formalised voluntary groups of states?) diverge more in their approaches?

<comment><USER9> > Right, a house of 6000 can't discuss anything.

Perhaps not in the ceremony-heavy, grandstanding inviting format we currently use, but that sounds more like a problem that lies with the format, not the size of the governing body.

<comment><USER8> Well what's your proposed new format? If it relies on humans not wishing to grandstand, then I'm not optimistic.

If if divides up the 6000 into smaller numbers, maybe with some hierarchical structure... then that's not one body of 6000.

A few hundred seems like the biggest room in which you can have something like a debate. And perhaps more importantly, many of them can know each many of the others, so that they can talk directly outside in the hallways, make deals, figure out who will support what.

<comment><USER9> I don't know. Designing governments isn't generally my forte. I'm just saying that "we can't have more representatives because nothing will get discussed correctly in our current format" is limiting for no real reason. It's entirely logical if you change the size of the Governing body, you'd have to change some other things, too.

The framers were smart enough to know their vision for the Government wouldn't be the best forever, or even the best a few decades from when they designed it. It was designed to be replaceable and update-able as needed.

<comment><USER8> OK, but isn't it the other way around? A re-design may be a good idea, and a particular design may imply that you want a different size.

</comment></comment></comment></comment></comment></comment><comment><USER10> It's insane that the Democrats didn't significantly increase the size of the House in 2009, when they had a filibuster-proof 60 votes in the Senate.

It probably would have given them a lock on the House, and the presidency too in close elections such as 2016.

<comment><USER11> This is the kind of thing that happens in third world countries and leads to violent riots. When politicians use their majority power to block out any kind of power for another party, its anti democratic and dangerous.

<comment><USER12> It is anti-democratic to make a democracy more representative ? What kind of backwards logic is that.

The Democrats have ran the country like idiots, where they have repeatedly made good faith assumptions about the republicans and been betrayed every time.

When the system is broken, the least you do is fix it.

<comment><USER11> We could dive into a whole political argument here. I am to add, not a republican either, I just think both sides have massive failings and need to be disrupted.

</comment></comment></comment></comment><comment><USER13> As a random bit of trivia, while George Washington presided over the Constitutional Convention, this was the only issue on which he expressed an opinion, in favor of lowering the original ratio from 1:40k to 1:30k.

</comment><comment><USER14> More representatives would mean more precise representation, since otherwise local tyrannies of majorities can drown out some viewpoints entirely. For example, if each congressional district has 55% of people with one view and 45% with another view on some controversial topic, it is possible that only the winning 55% view is represented in Congress because every district is won by a representative who advocates for the majority view. With more representation and finer-grained districting, the likelihood of those other 45% of constituents feeling disenfranchised is reduced. We may end up with something closer to 55-45 representation of this hypothetical issue in Congress, instead of 100-0.

Furthermore, it is a lot harder/more expensive to lobby (or bribe) thousands of representatives versus a few hundred. It is harder for unethical activity to be undertaken without scrutiny.

While we're at it, let's also have runoff voting of some sort and get closer to issue-based voting rather than coalition/party-based tribalism.

As for those calling out the downsides of a direct democracy and exposure to uninformed voters - I would say we are already exposed to the risks of uninformed voters, and we are also exposed to all sorts of expensive political gamesmanship. To me it feels like our current democratic process (in the US anyways) is more of a popularity contest reflecting who has the biggest expenditure of [time/effort/money] and strongest populist ground game.

</comment><comment><USER3> A problem with having a large number of seats in the House is that there's no way everyone with something to say on any particular topic is going to be able to say it in an in-person physical meeting. In other words, meetings don't scale, and the problem would get worse if you added seats.

An alternative to live meetings is to move any procedures involving the full House to a web-based medium, similar to HN. Policy discussions can happen in comment threads. Representatives can travel to DC for committee meetings, but otherwise they can stay in their districts where the constituents they are representing actual live, and comment and cast votes online. Any representative can introduce a bill, and they can be passed quickly if they have the votes without a whole lot of procedural scheduling nonsense.

<comment><USER15> I've never understood why legislatures don't move to something more like modern code review. It would have to dramatically simplify their lives.

<comment><USER16> I'd love this. Imagine if you could also commit incremental changes, so if someone pushes a 'pork bill' you could push changes to pull out some of the pork and 'trim the fat' so to speak. You can have the defense of women act without making prisons worse for minorities by pushing changes.

<comment><USER15> I mean, I think you'd still need someone with commit rights to actually push the change (presumably our elected officials), and you would need to have some way of tracking merges well, but that's all seemingly pretty solvable.

<comment><USER16> yeah it'd need approval by heads of committees maybe and some sort of consensus algorithm. Then of course the bill would need implemented by the specific departments that do those things.

</comment></comment></comment></comment></comment><comment><USER17> I personally don't think the problem is "lack of representation", it is that the representatives are far more beholden to their party than to the members of the district.

This isn't solved by having more representatives. It could best be solved by having a voting method that actually elects the "consensus candidate", which I would define as the first choice of the median voter.

As it is, Duverger's law forces it into a binary choice. (Parties arise mostly as a defense against the vote splitting that happens in plurality, and it inevitably converges on two dominant parties)

<comment><AUTHOR> Exactly. They are more beholden to the party because they need lots of campaign money to run a big campaign in a big district. Compare that to a campaign the size of small town city council...you probably met them at your kid's school or on the playground while growing up.

<comment><USER17> Yes, well money is a big part of it but not all if it. The forcing into two parties, two binary choices, left or right, is such a solvable problem.

</comment></comment></comment><comment><USER18> I don't understand this focus on the House. If we accept the axiom that 435 representatives can't represent 300M Americans, what are we supposed to think of 100 Senators?

The federal government was never supposed to be this important. Four-hundred thirty-five representatives only have a hand full of responsibilities outlined in the Constitution. Somehow though they're concerned about who I'm married to and what I grow in my garden. The obvious solution is not to expand representatives, but to push power down to the local level where it belongs.

<comment><AUTHOR> Senators dont represent people, they represent States. More States, more Senators. The same rule should apply to the house. More people, more representatives.

</comment></comment><comment><USER19> Our representation system is pretty messed up. Montana has 2 senators with a population of 577,000. But New York state has 2 senators with a population of 19.5 million. And the entire midwest is like that, with tons of representation for very sparely populated areas.

<comment><USER20> Montana has a population of more than 1 million.

And two senators per state regardless of population is a feature not a bug.

</comment></comment><comment><USER21> I've often felt this way myself. Representatives should be more local, and should really know their constituents so that they can represent them. I wonder how it would work in practice, though. That's a lot of Representatives to manage.

<comment><USER22> I also wonder what it would be like to give more power to the states, and strip power from federal government so the states can have more power to manage themselves.

<comment><USER23> I think the European Union is a lot closer to what the founders imagined than the current situation in the USA.

</comment></comment></comment><comment><USER24> The biggest problem with a fixed number of representatives is unequal representation. Even a relatively small increase i the number of representatives could even things out substantially (and this affects the electoral college as well.

<comment><AUTHOR> I think the biggest problem is that thr representative becomes a remote entity that you know mostly from campaign ads and not as a member of your local community.

</comment></comment><comment><USER25> My proposition has been take all the support staff of Congress and convert them to Representatives(by firing them, yes). It works out very close to the ~60k citizens per House Representative. My idealistic vision is that this will force the representatives to work together to create our laws.

 _Before the American Civil War, members of Congress did not have staff assistance or even offices, and "most members worked at their desks on the floor."_ [https://en.wikipedia.org/wiki/Congressional_staff](https://en.wikipedia.org/wiki/Congressional_staff)

</comment><comment><USER26> I assume this is showing up on HN because of the recent CGP Grey "footnote" video.

[https://www.youtube.com/watch?v=6JN4RI7nkes](https://www.youtube.com/watch?v=6JN4RI7nkes)

</comment><comment><USER27> This wouldn't work, or rather, it would work quite differently than the idea. This would just create a new level of middle managers in the house tasked with herding the foot soldiers. There are only so many hours that they can be in session or in committees, an ordinary representative will be lucky to get the microphone for a minute here and there. And there is no way the party's leadership can give them all individual time and attention. So there will naturally arise a management level or two between the leadership and the ordinary representatives to bridge this gap.

<comment><USER20> Perfect! It breaks the stranglehold of party leadership.

With the Freedom Caucus, we've seen what that a relatively small (approx. 30 members) coalition can buck leadership and drive their own agenda. If you expand Congress, I'd guess the likelihood of these coalitions increases (for better or worse).

<comment><USER7> If you regard that as "breaking the stranglehold of party leadership", I don't think you understood kryptiskt's comment. The point (as I understood it) was that it _strengthens_ the party leadership over the bulk of the members.

</comment></comment></comment><comment><USER28> ...unless they elect your candidate.

</comment><comment><USER29> Coordinating 435 people to get meaningful work done is really hard. Coordinating 30k would just transfer even more power to centralized coordinating structures like the parties without any corresponding increase in democratic representation. Next...

</comment><comment><USER30> Does representative democracy break down at some point? What happens when America has 1B people?

At some point, you can't fit enough people into a chamber usefully. What do we do then?

<comment><USER16> Did you read the whole thing? You can't fit 6000 in a chamber... The idea is that reps stay local. Don't go to washington. Thus it makes D.C. less of a national security target. I could work for FB or Google remotely as a developer, why can't our reps work remotely? It'd even allow people w/ full- time jobs like developers to run for office if it was more a part-time thing because they didn't need a presence in Washington.

If they had a platform like reddit where members could weigh in on bills by 'channel' and have discussion online -- they could do 95% of their jobs remotely maybe even 100%. They may need to travel for small things but that's a non-issue.

<comment><USER30> I'm not sure anybody would suggest that, who's had to negotiate via online chat etc. Its a terrible medium, lacking completely in persuasive body language, intonation, physical signaling etc. Politicians are professional persuaders. I'm sure very few would think this is a could idea.

<comment><USER16> Let me also add by moving things online where there isn't 'body language' people can actually read between the lines on issues, they can have deeper thoughts on things. Plus it's all public for the world to see the process unfold (except in cases where it's private for security reasons). More transparency would be a good thing.

<comment><USER30> Just think of the average online discussion. Not HN, but other fora. Its not a pretty place. The impersonal nature of typing at each other, makes it easy to rant and be extreme.

</comment></comment></comment></comment></comment><comment><USER31> solution: 9,500 representatives, lol....

I also don't take dissenting opinions from a 1920s Missouri representative seriously

or that Geocities website

but in the spirit of not immediately discrediting the sources or ad hominem attacks, it does at least makes me wonder if the 435 cap was arbitrary and capricious

</comment><comment><USER32> More representatives is not the solution. They are already paying too much. We don't need have more so they come up with new ideas to spend more money.

The solution is keep representatives local. At the age of internet, there is no reason why they need to be in DC to allow lobbyists to access all of them in 1 place.

</comment><comment><USER33> Transition to self-government. [https://theadvocates.org/](https://theadvocates.org/)

</comment><comment><USER34> I generally agree with the premise, but I disagree that any form of representative government is a good idea.

Direct democracy is the only real democracy, and there's no good reason why we don't have 100% direct democracy in 2019 aside from the fact that a bunch of wannabe celebs would lose their jobs (aka politicians).

Politics is mostly about self service, and boosting your own ego and influence. Politicians have historically not voted on legislation in ways that are aligned with their constituents. Instead, they vote on legislation which helps keep them in their positions of power (i.e., to appease lobbyists and campaign contributors).

There's a good podcast about this very issue: [https://www.npr.org/podcasts/481105292/more- perfect](https://www.npr.org/podcasts/481105292/more-perfect)

<comment><USER2> Having worked at reddit, I can tell you first hand that direct democracy would never work.

Imagine all of the low information voters you know being asked to vote on complex technical issues that even most representatives can't grasp, most of whom have completed many years of post-graduate college.

Direct democracy is great in theory but the representative part play an important role in balancing the flighty whims of the masses with reality.

<comment><USER35> Direct democracy works well in Switzerland. It's shocking to claim that people are simply to dumb to know what's best for them. Given the opportunity many will educate themselves on the matter.

May as well be advocating for a benevolent dictatorship.

<comment><USER2> Switzerland doesn't have direct democracy. They have representatives combined with a referendum system.

Just like California. And that system has arguably caused many problems in California. The budget is a mess because of the referendum system. And California has a population four times that of Switzerland.</comment></comment></comment></comment>


How we do version control for our database - <AUTHOR> https://www.iviva.com/blog/database-version-control/ <comment><USER2> You will save a lot of headache if you embrace the fact DB deployment scripts are "patches", not "rebuilds". Write your sql scripts as a serious of patches to deploy against a version of the DB.

Generation of the deployment script using a diff has so many holes. Renames can be misinterpreted as drop/create. It falls apart with data to insert/deleted. Ordering can't always be calculated.

<comment><AUTHOR> If you have different customers on different versions of your application how do you create that patch?

<comment><USER2> Presumably each "version" was created by you. Version A is your starting point, no new sql scripts executed yet. You might start with a DB backup restore of version A. Create sql scripts to advance to version "B". There's your patch.

If your versions are a straight chronological sequence it's straight forward to advance from any past version to any future version. Run each patch till you arrive at the desired version.

If you branch out in multiple forks it can be a little tricky. I've never had this situation, but I would treat each branch as a separate chronological sequence of patches. Unfortunately merging doesn't work with "patch" style development, so this could be a duplication nightmare. I guess nothing is perfect.

If the customer can make unrestricted modifications to their DB (unknown to you), you're out of luck. Versions are no longer under your control and generating with a diff is the way to go. But in that case the diff seems even more dangerous. Will it destroy their custom modifications?

<comment><AUTHOR> >But in that case the diff seems even more dangerous. Will it destroy their custom modifications?

So customers don't modify the database directly. However we do have custom changes for certain customers - those all go into the data dictionary.

The tool is very careful not to drop any columns or do any destructive alterations without manual intervention.

The other problem we have is our platform supports multiple applications and not all customers use all applications.

For example, one customer may only be interested in Room Booking and Visitor Management.

Another would be interested in Room Booking, Work Requests and Asset Management.

Some customers may have a custom version of the Work Requests system with slightly different database structures. That further complicates the situation.

The infrastructure we have in place is far from perfect, but so far has neatly done the job for us.

Thanks for your feedback!</comment></comment></comment></comment>


Show HN: I made a simple generator to create UX design exercises to practice - <AUTHOR> https://fakeclients.com/ux <comment><USER2> Some UX feedback:

Your "Start" CTA has no hover cursor (and none of your buttons have hover state), making it difficult to discern if it does anything.

This is further exacerbated that clicking it appears to do nothing on many screens (including mine) because the action triggered by that button happens off-screen (the briefs are generated below the fold).

Even if the briefs appear on-screen, the fact they're separated from the button by the Pro advertisement make the whole thing very unintuitive.

</comment><comment><USER3> I like the idea, but hate the "sign up for a free trial".

Its something ive been pondering lately. Why not open source it, and offer paid certificates ?

Not sure how involved that is, but im partially sick of signing up for things that take my credit card.

Im just one kind of client, so take this with a bit of salt

<comment><USER4> > Why not open source it, and offer paid certificates ?

Why can't programmers just code for a living, instead of inventing and testing new business models?

<comment><USER3> Im unsure about why you ask me that question, and its not always easy to show restraint to argument bait.

So look, I am simply one kind of client - i enjoy buying things i know i want. I buy certificates, and software as one thing, using a single payment, if i choose to. I dont like "cancel if you like" trials, or running subs.

lets not turn this into what it isnt.

Selling things for a fixed price Is an established model. Coders get paid in any form they choose to, by those who want the service. I simply told the OP what model works for people like me, and in not alone here. OP is infact under no obligation to listen to me.

i saw his product, said its good, and gave him my take on it.

You are welcome to yours.

</comment></comment></comment><comment><USER5> This perhaps makes someone faster at implementation, but it's not possible for it to help with the most important UX design skill: analyzing real users' needs and behaviors, and then synthesizing that into a useful/usable design.

<comment><USER6> How can I improve that skill?

<comment><USER7> Honestly it's more of a full-time job than just a skill.

The long way: A master's degree or PhD in Human Computer Interaction or similar field, frequently doing things like usability testing, user interviews, statistical analysis, thematic analysis etc. Not joking, this is what I'm currently doing. Coming from practicing UX in industry, I thought I wouldn't learn much from academia, but it's been eye-opening.

The short way: Read About Face - Alan Cooper, then try and do some of the techniques in there. It may seem excessively detailed, but frankly it only covers a small portion of techniques that UX researchers actually use. This is really quite a shortcut but it will get you started.

</comment></comment></comment><comment><USER8> I like the domain name / branding ;)

But eventually this will evolve to be a real exchange, matching clients with designers no?

</comment><comment><USER9> The main line of the page is an ad of skillshare, seriously?

<comment><USER10> The generated blurbs/client briefs are deep linked to skillshare as well [1].

[1] [https://fakeclients.com/jsarray.js](https://fakeclients.com/jsarray.js)</comment></comment>


Datamonkey – Learn to analyse data with SQL - <AUTHOR> http://datamonkey.pro/ <comment><USER2> Would be great if you didn't have to sign up to try. Site got me interested, but I ended up leaving after being prompted to signup.

<comment><USER3> I did the same thing, was thinking on looking on it for some co-workers. But ended up leaving

</comment></comment><comment><USER4> I completed most of the assignments. I was hoping the spreadsheets portion would be a bit more fleshed out. Looking forward to more assignments.

<comment><USER5> Are there SQL assignments and how is the quality? Are datasets provided for download or is everything online?

<comment><USER6> pretty basic. nothing past a simple inner join and group by. nothing to download as far as I could see (completed all chapters).

Anyone aware of similar online lessons to learn and practice SQL interactively ?

<comment><USER7> SQLzoo.net has quite a bit of lessons. It has both interactive practice sections and multiple choice questions at the end of each lesson. I found that it wasn't well organized though, the path you follow wasn't obvious.</comment></comment></comment></comment>


One of the most sobering reads on our economic future... from our friends in Moscow... - <AUTHOR> http://links.org.au/node/517

<comment><USER2> Marxist revivalists who are again predicting (or perhaps just rooting for) a collapse of world capitalism are not: (1) credible; (2) Hacker News; (3) "our friends".

<comment><USER3> Mind you, there's plenty of non-marxist reasons to predict that the parts of the world economy will be royally fucked for the next few years.

<comment><USER4> Could be, and there are plenty of non-Marxist articles on this subject which we could be reading instead of this load of garbage.

Though personally I don't want to see economics articles unless they're narrowly focused on, say, startups or technology.

</comment></comment></comment><comment><USER5> I second gojomo.

It's certainly sobering, but it's sloppily done. There are some facts in there, but the synthesis and analysis aren't intelligent. It seems more like wishful thinking.

</comment><comment><USER6> Please, this is hacker news not reddit, take the anti-capitalism somewhere else...

</comment><comment><USER4> I read as far as "International Journal of Socialist Renewal".

</comment><comment><USER7> Dmitry Orlov's lessons for individuals from the Soviet collapse, [http://www.badcyclopedia.com/what-if-us-collapses-soviet- col...](http://www.badcyclopedia.com/what-if-us-collapses-soviet-collapse- lessons-every-american-needs-to-know)

More at Dmitry Orlov's blog - <http://cluborlov.blogspot.com/></comment>


Mozilla's Speech-to-Text Engine Is at Risk Following Layoffs - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=DeepSpeech-At-Risk <comment><USER2> I don't understand what Mozilla is. They re-upped the Google deal to the tune of $400-450million/year for the next 3 years, so their revenue is secure. That's great. I can also understand that it makes sense to cut some side- projects that are probably a distraction (and this one may very well fit that category). But if you cut funding to things like MDN, Servo/Rust and move away from Firefox as a core focus (the thing that just brought you another $1.2 billion) .. what the heck is Mozilla now?

<comment><USER3> Wait, move away from firefox as a core focus ?

<comment><USER2> Yeah. From [https://blog.mozilla.org/blog/2020/08/11/changing-world- chan...](https://blog.mozilla.org/blog/2020/08/11/changing-world-changing- mozilla/)

They list their 5 areas to focus on .. and Firefox isn't mentioned by name anywhere. For example:

"New focus on product. Mozilla must be a world-class, modern, ___multi- product_ __internet organization. That means diverse, representative, focused on people outside of our walls, solving problems, __ _building new products_ __, engaging with users and doing the magic of mixing tech with our values " (emphasis mine)

<comment><USER4> The second sentence of the article you linked is:

> Mozilla exists so the internet can help the world collectively meet the > range of challenges a moment like this presents. Firefox is a part of this.

They follow up on this by saying that they need to go BEYOND the browser but it doesn't mean that they want to drop it.

But well...you never know with that hollow techmarketing talk...

<comment><USER2> >but it doesn't mean that they want to drop it.

I wasn't trying to suggest there was no mention of Firefox in their roadmap blog - though it is telling that the Firefox mention you pointed to is in context of an argument for developing non-Firefox products. Nor was I arguing that they will drop Firefox. Even if they wanted to, they wouldn't be able to because Firefox is their sole revenue driver and the only thing that gives them a seat at the table for developing open-standards.

To me the telling part was when they listed their five areas of focus, and Firefox was not one of them.

</comment></comment></comment></comment></comment><comment><USER5> I'm glad to see the healthy skepticism towards Mozilla lately, they have long been a sacred cow in tech.

Just because a company's mission is positive or aligns with ones values does not mean the company itself is good or is actually carrying that mission out.

<comment><USER6> Mozilla senior leadership have also been caught up in the politically correct mantra that pervades much of silicon valley, which imho is a huge distraction from making great products. Case in point: [https://mobile.twitter.com/newstephen/status/106048929137627...](https://mobile.twitter.com/newstephen/status/1060489291376275457)

<comment><USER7> This has to take the cake for one of the stupidest "we won't use this word because it's offensive or whatever" arguments out there.

Just because people call things that aren't a meritocracy a meritocracy does not mean that's what it means. It's like saying we don't want to say "democracy" anymore because China (PRC) calls itself a democracy and they actually aren't. Or if we turn the whole thing around, saying that "feminism" is offensive because TERFs use the term too.

Like, are there actually people who actually think like that? How do they communicate??

<comment><USER8> The word was actually coined for the purposes of mocking the concept of a 'meritocracy' in a satirical essay. Then people picked it up and started using it straight. Now it's come full circle again.

[https://en.m.wikipedia.org/wiki/Meritocracy#Etymology](https://en.m.wikipedia.org/wiki/Meritocracy#Etymology)

<comment><USER9> Utopia also was created to mock people seeking to create a perfect world. Nowadays people are trying to create a socialist utopia.

The meaning of words is constantly perverted

</comment></comment></comment></comment></comment><comment><USER10> Don't put a lawyer in charge of a tech company.

<comment><USER11> "But I think most would also agree that if all corporate lawyers, bank lobbyists, or marketing gurus were to similarly vanish in a puff of smoke, the world would be at least a little bit more bearable."

I remember just yesterday there was a great article on HN that discussed bullshit jobs and counted corporate lawyers towards the "goons". The rationale was that if nobody has them, nobody else needs them.

[https://www.businessinsider.com.au/bullshit-jobs- australia-2...](https://www.businessinsider.com.au/bullshit-jobs- australia-2018-7)

<comment><USER12> Who exists to enforce the rules? Contracts? Etc. I feel like this sounds great on the surface, but is quite flawed.

<comment><USER13> Agreed. Lawyers (and by extension, the legal system) must exist to ensure order and keep the system fair for as many people as possible. They don't always achieve that goal, but removing them entirely would make things 100x worse. My favorite example is the ACLU.

</comment></comment></comment></comment><comment><USER14> Semi-related, but does anyone know if Firefox Send is on the chopping block? They took it down before the layoffs due to security concerns, and now I'm worried it won't be coming back online.

Every alternative I've been able to find has been either poor quality or too shady for me to ever actually want to use.

<comment><USER15> Not given priority right now - it's getting abused by malware authors. Confirmed via Mozilla IRC.

You can set it up yourself really easily (got it running locally on Mac in 5 mins), throw an auth'd gateway in front of it to keep it away from bad actors: [https://github.com/mozilla/send](https://github.com/mozilla/send)

<comment><USER16> I thought mozilla irc was shut down?

<comment><USER15> Oops, meant Matrix.

</comment></comment></comment></comment><comment><USER17> My quick test of DeepSpeech, as posted on Facebook back in April:

\--

I just ran a speech-to-text converter on a very clear clip of former Doctor Who actor Tom Baker talking in an interview.

The DeepSpeech converter uses the very latest AI deep-learning advancements to 'listen' to the audio and output the spoken words as text.

After 3 long minutes of running it on a 30-second clip, it printed out its interpretation:

"hooloomooloo how booboorowie i have a honeymoon"

<comment><USER18> It's supposed to work on sentence long audio (4 - 5 seconds), they suggest chunking your audio first: [https://discourse.mozilla.org/t/longer-audio- files-with-deep...](https://discourse.mozilla.org/t/longer-audio-files-with- deep-speech/22784)

<comment><USER19> Also there's essentially two parts to this, the neural net is used for speech- to-characters, and then a language model is used to convert the character stream to words.

I found that the language model they supplied was trained data that did not contain the words I needed, and got significantly improved results when making my own language model using the kenlm[1] tools.

[1]: [https://kheafield.com/code/kenlm/](https://kheafield.com/code/kenlm/)

<comment><USER13> Would it be possible to substitute this for GPT2/BERT? Or is that a different type of language model? Can the pre-trained language model be fine-tuned? I'm using DeepSpeech to transcribe long-form lecture audio, and have just assumed there would be a massive improvement once they noise-harden the models with 1.0.

<comment><USER20> GPT2 is not a good language model but there are things like XLM. Mozilla DeepSpeech doesn't support XLM rescoring, other toolkits do and it gives great improvement in accuracy. If you care about accurate transcription you'd better consider alternatives.

<comment><USER13> I didn't know any other ML-based open source transcription engines existed? I can't seem to find them on Google.

</comment></comment></comment></comment></comment></comment><comment><USER21> It's always sad to see people at the risk of losing their job or the project they are working on. That being said, this Speech to Text engine always seemed to be more a distraction than anything else. There is of course a lot of pessimism at the moment toward Mozilla, and I subscribe to it for the most part, but if the recent changes and upcoming changes result in more focused projects and efforts that wouldn't necessarily be a bad thing.

</comment><comment><USER20> Not a big problem given so many alternatives around like

E.g. some very active projects are:

* Kaldi ([https://github.com/kaldi-asr/kaldi/](https://github.com/kaldi-asr/kaldi/)) obviously, probably the most famous one, and most mature one. For standard hybrid NN-HMM models and also all their more recent lattice-free MMI (LF-MMI) models / training procedure. This is also heavily used in industry (not just research).

* ESPnet ([https://github.com/espnet/espnet](https://github.com/espnet/espnet)), for all kind of end-to-end models, like CTC, attention-based encoder-decoder (including Transformer), and transducer models.

* Espresso ([https://github.com/freewym/espresso](https://github.com/freewym/espresso)).

* Google Lingvo ([https://github.com/tensorflow/lingvo](https://github.com/tensorflow/lingvo)). This is the open source release of Googles internal ASR system, and used by Google in production (their internal version of it, which is not too much different).

* NVIDIA OpenSeq2Seq ([https://github.com/NVIDIA/OpenSeq2Seq](https://github.com/NVIDIA/OpenSeq2Seq)).

* Facebook Fairseq ([https://github.com/pytorch/fairseq](https://github.com/pytorch/fairseq)). Attention-based encoder-decoder models mostly.

* Facebook wav2letter ([https://github.com/facebookresearch/wav2letter](https://github.com/facebookresearch/wav2letter)). ASG model/training.

* Vosk ([https://github.com/alphacep/vosk-api](https://github.com/alphacep/vosk-api)). Offline lightweight speech recognition API with support for 10 languages.

And there are much more.

</comment><comment><USER22> Am I the only one trying to figure out why Mozilla even has a "speech-to-text" team?

<comment><USER14> The world needs a state of the art and easy to integrate library for providing speech to text so that we don't have to rely on sending all of our voice data to the big tech giants. I imagine this was the motivation behind it.

That being said, I think the current open source options are actually okay and constantly getting better. They're certainly a lot better today than they were 3 years ago.

<comment><USER23> The thing is, good speech to text AI needs good training data. And lots of it. With as little error as possible.

They were also doing this. And made an easy to use website, where you could contribute and people did. I cannot imagine it was soo expensive that they now have to throw it under the bus.

<comment><USER14> I agree with you, their common voice project is extremely important. From the outside it seems like the engineering effort behind this is done -- They just need to keep the site running to keep collecting data. Actually, now that I think about it, validating the data might be a lot of man hours.

I very much hope they don't abandon it, the common voice project is arguably more important than their speech to text engine. There are competing open source speech to text engines. There is no other project like common voice that I am aware of.

<comment><USER23> "validating the data might be a lot of man hours."

It totally is and therefore also a very good crowdsourced project. And they set up already a nice website with badges and other things motivating people to contribute. Daily 15 minutes of a lot of people would mean lots of validated data. Because with user accounts you can also validate userquality etc.

</comment></comment></comment></comment></comment><comment><USER24> hmm, Firefox Voice was supposed to eventually use the speech-to-text engine that's now under threat but instead currently uses Google's engine? Can't imagine priorities like this came up in their recent negotiations.

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

</comment><comment><USER26> This (text to speech) breaks pulse audio on my machine every time I enable reader view. Even if I'm not using text to speech or listening to anything else, I'll get a whiny noise until I restart pulse.

<comment><USER27> The browser does have this effect on Linux systems with pulseaudio. You will hear lots of static in your speakers, and after that the audio will be distorted until you restart pulseaudio.

What I cannot confirm is the relation of this to the speech-to-text engine. Reader mode most likely utilizes text to speech.

</comment></comment><comment><USER28> Seems unlikely. The layoffs happened before they got a new deal: [https://www.theverge.com/2020/8/15/21370020/mozilla- google-f...](https://www.theverge.com/2020/8/15/21370020/mozilla-google- firefox-search-engine-browser)

Now they can bring people back.

<comment><USER29> >Now they can bring people back.

Or they can increase executive compensation.

How far in advance do you think these deals are decided before public announcement?</comment></comment>


Ask HN: How did Trump tax cuts impact contractors? - <AUTHOR> Did the tax changes make a positive or negative impact on US contractors last year? Should employees consider converting to contractors?  Any tips or loopholes you learned about the tax changes? <comment><USER2> Tax changes triggered a strong, negative impact here in CT., USA as it capped deductions from State Income Tax and Mortgage ( which covers my home office ). I hope lowering the corporate tax rate produces GDP growth, but that will take time to assess.</comment>


2010 10 Gigawatts Solar Power Install Expected - <AUTHOR> http://www.futurepundit.com/archives/007250.html

<comment><USER2> That's peak, by the way. Typically, solar produces about 20% of that on average, so that would be an average production of about 2 GW.

It's nice if you can soak up a bunch of extra power whenever the sun happens to be shining. If you want to power air conditioners, or charge plug-in hybrid electric cars, solar fits that niche nicely as long as you can build it cheaply enough.

</comment><comment><USER3> Half of that is here in Germany. Time to catch up.

<comment><USER4> Mostly because it's a damn good investment in Germany.

The price you can sell energy at is guaranteed (government subsidies). Your investment (maybe 100,000 €) will pay itself off in about twenty years (including insurance and the occasional maintenance). Modern solar panels have a lifetime of more than twenty years.

Because of all this banks will be more than happy to give you credit and if you have the necessary space you would be stupid if you didn't do it. It's free money.

<comment><USER3> It's is not 'government subsidies' as one might think.

Instead the next grid operator has to take the electricity and has to pay a certain government specified price for it. The electricity companies will sell electricity to the consumer and these will pay for it. So the end consumer pays the price. The goal is to reduce the price for renewable energy such that it is at the level of other electricity (from coal, gas, nuclear, ...).

There is no tax money involved. The electricity consumers pay for it.

<comment><USER5> Of course the electricity consumers also pay taxes, so it all works out the same in the end!

They've just introduced a similar scheme in the UK, with the price guaranteed for 25 years. It looks like around a 10 year payback period on the installation so a very attractive proposition if you've got the cash available and plan to stay in your current home for at least the next decade.

</comment></comment></comment></comment><comment><USER6> That's a 575 increase in one year. Another 17 years and the whole planet will be solar powered!

(Yes, that's a terribly naive bit of maths, and there are reasons why it won't be that simple. But still :-> )

</comment><comment><USER7> 10 Jiggawatts is plenty for my flux capacitor.</comment>


Uruguayan artist blacklisted by PayPal because her name contains "iran" - <AUTHOR> https://twitter.com/TirandoaVioleta/status/1300483152167735296 <comment><USER2> PayPal is possibly the worst offender of the 'new world order' where you can only ever speak to an algorithm.

Totally arbitrary polices, they say 'they need this' then it doesn't work, they need more, or it takes 3 weeks, but they can't tell you how long.

We need a new bit of regulation for the new era which requires companies to provide clarity on all operational aspects and timelines etc..

<comment><USER3> How do you evaluate PayPal's competition? In particular, what is anyone's experience with Stripe.

I am trying to implement payments on my site. I tried PayPal but found Stripe to be easier to deal with.

<comment><USER2> As a 'payment processor' they are somewhat different because Stripe is more for business, PayPal for individuals and small business.

PayPal is considerably more 'interventionist' with sales, and they seek to protect buyers etc so it can be a huge problem sometimes.

Stripe is more of a classical processor.

Of course Stripe does not offer a user oriented alternative to the PayPal product.

PayPal has many undocumented processes which make it very challenging to deal with.

<comment><USER4> My experience with PayPal was they would at least let you appeal when a limit was hit or you were flagged by their system.

Stripe meanwhile bricked my account after misidentifying the category of business we were in, and refused to provide anything more than a form email when I reached out with documentation as to our SIC code and business practices.

We switched to a FirstData reseller ultimately and pay $0.05 per transaction plus 0.2% over interchange now, its the least I have ever paid for card processing and the money is in my account next day. Stripe used to take a week to process payouts, often longer for bank account payments.

<comment><USER5> I am surprised to hear that about Stripe. I have never had anything but a great experience dealing with their customer support.

</comment></comment></comment></comment></comment><comment><USER6> But "Iran" is also a substring of a fairly common Anglophone name: Miranda. Miranda is a pretty common name according to the US Census so they've got to be hitting a lot of people, unless their implementation is like: "word.contains(stopword) and not accidental_stops.contains(word)" which is just hilarious.

Haha, I'd love to hear from the engineer who wrote the feature.

<comment><USER7> "Iran" i also "they will go" or something similar in spanish.

</comment></comment><comment><USER8> This is nothing but a reincarnation of the Scunthorpe problem. Except this time a nation was considered a swear word due to imperialism

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

</comment><comment><USER9> There need to be real consequences for this kind of nonsense for people.

Liberal estimate of missed earnings multiplied by 10 paid to the victim. Some fininte number of offences before the CEO spends a fortnight in jail. Computers are not and should not be a shield for taking full responsibility.

<comment><USER6> Perhaps if we shot everyone who wrote a bug there would no longer be any bugs.

<comment><USER10> there's very harsh punishments for physicians or say biomedical or military researchers or engineers who fail to do their due diligence yet we still have those.

I think it says enough about the industry that there's so many people who are dead afraid of rigorous quality standards.

<comment><USER6> The magic here is that software engineers are some of the best engineers. We kill barely anyone in comparison to other engineers. We don't need standards because even without them, we don't kill anyone at anywhere near a few orders of magnitude near those other fields.

<comment><USER10> I don't know if this is sarcasm but that might be because most engineers don't build anything more exciting than SaaS dashboards and it's pretty difficult to kill someone with an angular component.

Given the amount of software outages on this planet, if software engineers were building planes they'd collectively fall out of the sky once per week

<comment><USER6> Ah but that's how you know we're good. If you can't do it right, don't do it. And we know when we can't do it right. Sadly aeronautics and structural engineering haven't caught up to the level of ethics that software has. They build bridges that fall down and planes that crash. But I know I would crash a plane or break a bridge, so I don't make them. Much more ethical to not go around killing people like those guys.

Killing people just because you want to build something "more exciting". Enough to make one's gorge rise.

</comment></comment></comment></comment></comment></comment><comment><USER11> The transaction was definitely declined but it seems unlikely that this was solely due to the username containing the sub-string "iran". The Bandcamp support engineer only speculated that this could be the cause. The user reports that they are able to use the Paypal account normally and they only get this error when attempting to pay Bandcamp however this may just be some special rules that Paypal implements when making payments to US companies from foreign accounts (it appears this user is in Uruguay).

<comment><USER12> Nah these companies definitely block transactions based on these.

How do I know? I'm Iranian and have experienced the wildest blocking systems.

I was playing around with timezone once and set my timezone to tehran. My credit card company blocked my account and I couldn't get it back until i faxed a notarized form.</comment></comment>


Be Here Now...by writing about it later - <AUTHOR> http://u.thirdi.com/2v

<comment><AUTHOR> I am genuinely concerned about this problem. Focusing on my immediate surroundings gets harder and harder every day.</comment>


Mark Zuckerberg Says: Virtual Reality the Next Big Thing for Facebook - <AUTHOR> http://variety.com/2015/digital/news/mark-zuckerberg-virtual-reality-the-next-big-thing-after-video-for-facebook-1201552797/

<comment><USER2> Good thing he's saying it out loud, but for those who think actions speak louder than words, it was clear enough when he decided to buy Oculus VR for $2bn.

It makes sense after all: 75% of Facebook's money comes from a platform (smartphones) that was nonexistent 10 years ago. In 10 years it is possible that VR will represent 75% or more of the revenues of Facebook — they'd be fools not to invest in it early.

<comment> norea-armozel Well, I think the problem that VR has is mostly trying to make it easier to build applications for its use. Second Life could've been that platform but LL just didn't have the talent nor the money to pull it off. If there's anything anyone can do to make VR attractive to developers is make the development tool set easy to integrate. Don't make developers depend on a clientside tool like SL had (barf). And make it possible to bring over existing IDEs and modeling tools.

After that, it's really up to developers to make compelling applications for VR. Facebook will have to start down that road themselves to demonstrate the potential market for it, obviously.

</comment></comment><comment><USER3> I'm conflicted.

On one hand, I can see the value in VR in a theoretical sense. I grew up with quite a bit of fascination over things like Star-Trek-esque holodecks and Matrix-style simulated universes, and this part of me thinks Facebook's smart for wanting to be on the leading edge of such a world where people can share their current experiences and others can also experience them in a similar manner.

On the other hand, I can't get the images of previous VR fads out of my head, _especially_ that of the last decade, dominated by projects like Second Life and Project Wonderland, and thus can't shake the feeling that most people are going to picture a VRified Facebook as little more than some nerd toy.

<comment><AUTHOR> There is a lot of VR hype right now, but it might be justified now by the big tech advances of accurate low latency position tracking.</comment></comment>


Automation in Analytics with AI and Chatbots - <AUTHOR> https://medium.com/@pdeepam/automation-in-analytics-with-ai-and-chatbots-387480fee072 <comment><USER2> neat idea</comment>


How Google I/O impacts Airbnb Availability - <AUTHOR> https://beyondpricing.com/learn/google-io

<comment><USER2> What a great website with an intuitive product. Cherry on top is the extremely relevant blog post which is A) somewhat interesting B) obviously connected to their product C) not regurgitated industry information.

This might not go viral, but this is what I define as good marketing/messaging efforts

<comment><USER3> I agree, they created something great and they are providing more non-biased information on the product.

</comment></comment><comment><USER4> Let me correct the title for you: "How Google I/O impacts Airbnb Unit Availability in San Francisco"

<comment><USER5> It was a bit of a confusing title, I read it as something to be announced at Google I/O will change something for Airbnb everywhere.

A better title would be "How large conferences impact nearby Airbnb availability"

</comment></comment><comment><USER6> What happened to the social component of airbnb. Maximizing revenue on everything, give me a break.

</comment><comment><USER7> This just makes me hate beyondpricing. After all, as a consumer, I _love_ paying more when demand is high.

A _good_ company (as opposed to an amoral capitalist company) would focus on increasing supply during times of high demand. Not restricting supply to those of significant means.

<comment><USER8> I wouldn't be quite so harsh, they're acting in a completely rational, expected way. And on the face of it there isn't really a problem with helping people price better.

But I look at this stuff in aggregate - surge pricing on Uber, primetime on Lyft, this service on AirBnb, etc etc, and I get a sinking feeling in my stomach.

The utopian technocratic future Silicon Valley is bringing about seems to be one where every merchant everywhere is maximizing every penny they can extract from you at every moment, where everyone spends an inordinate amount of brain cycles trying to defeat pricing algorithms, driving an increasingly maddeningly complicated web of price-maximizers so complex and pervasive you have no chance of understanding what's going on.

Individually these things all seem rational and understandable, but as a whole where do we draw the line? As what point do I pick up a chocolate bar and watch its price tag change in front of my eyes because the system knows I have a weak spot for Snickers?

This seems dystopian to me, and perhaps more dystopian than this possible future is the fact that a _lot_ of people in our industry would wet their pants in joy at the thought of that future.

<comment><USER9> _As what point do I pick up a chocolate bar and watch its price tag change in front of my eyes because the system knows I have a weak spot for Snickers?_

Here you're talking about price discrimination (separation of markets) rather than dynamic/surge/prime pricing within a single market. These are fundamentally different concepts.

<comment><USER10> Think about someone picking up, e.g., half of a store's supply of Snickers. This increases local demand for Snickers right now and the supply doesn't change. Surge pricing suggests that this is a good time to increase price. Then the same is true, though to a lesser degree, when someone picks up one bar.

(Though sorites paradox.)

<comment><USER6> Double the price of gas during a crisis? It's called price gauging. Put lipstick on a pig, it's still a pig

<comment><USER10> It's a good thing there are many protests against the rising price of chocolates right before Valentine's Day.

The gas price doublers might get the news and the local representatives being outraged, but, empirically, few care about smaller instances of price discrimination.</comment></comment></comment></comment></comment></comment>


For One Last Night, Make It a Blockbuster Night - <AUTHOR> https://www.theringer.com/movies/2018/7/19/17588856/blockbuster-alaska-rental-netflix-soldotna-anchorage <comment><USER2> I used to love Blockbuster. But that love quickly faded with their business practices. Their policy of putting a hit against your credit report when you had a late charge on a movie was the first strike. Not a movie that you kept weeks and weeks on end at your house letting the charge pile up. Nope a two day late charge that you didn't pay because you just assumed that you would pay it the next time you rented a movie. There was a class action lawsuit against them about this very practice.

The second strike was about lost movies. My ex rented movies so we could watch them. That night I put them on the floor of the back seat of my car so I could head in to work at the club. I came back and someone had gotten into the car and took the movies. I reported to theft to blockbuster expecting to have to pay for the movies. They tried to charge me $200 for each movie. $600 total. I asked them where they nuts. I wasn't paying that. I told them I could get the same movies down the street from Walmart at $20 a piece and give them to you. They said fine, go ahead and do that. Why would you be that unreasonable in the first place and try to charge me that crazy amount.

<comment><USER3> I used to manage a video rental store in Australia. Can't say anything abiut the credit report thing, that's just rediculious.

With regards to the $200 each movie, it's like that because they want you to do what you did and go somewhere else to buy it. They can't tell you that directly though because it's walking the line copyright wise.

Not sure about the US but here in Australia you have to buy the media from a licenced studio distributer (Always costs at least $10 more than kmart or target) for it to be allowed to be rented. By getting you to go out and get the movie they don't change the asset ID in their system and no one is any the wiser.

<comment><USER4> Not true in the US.

You can rent any physical media. No special license required.

<comment><USER5> No license required? nor fee? I mean, if you can rent any physical media it's a big loss of revenue for a studio, I've always assumed the studios got a share of rentals.

<comment><USER6> No license or fee required. It's called the first-sale doctrine.

[https://en.wikipedia.org/wiki/First- sale_doctrine](https://en.wikipedia.org/wiki/First-sale_doctrine)

</comment></comment></comment></comment></comment><comment><USER7> In Search of the Last Great Video Store – The Black List Blog || [https://blog.blcklst.com/in-search-of-the-last-great- video-s...](https://blog.blcklst.com/in-search-of-the-last-great-video-store- efcc393f2982)

I grew up about 2 blocks away from Scarecrow Video in Seattle. I'm happy it's still around. Place was amazing, and... in the late 80s and early 90s they weren't dicks about renting R movies to kids like Blockbuster was. I remember being like 11, and I negotiated a monthly punch card in lieu of allowance. I could rent any 12 movies I wanted! Such power for a kid. And the clerk always had great suggestions.

It's because of Scarecrow that I got introduced to great films early... The Man Who Shot Liberty Valance, The Apartment, Giant, 12 Angry Men, Dr. Strangelove... anyway for a kid in a single parent home, I lucked out getting to watch old classics when my friends were all busy watching stupid cartoons and Saved By The Bell re-runs.

</comment><comment><USER8> It may be time for video rental stores to make a minor comeback. Like vinyl. Netflix's online catalog keeps shrinking, and Youtube has been cracking down so hard that movies from the 1930s have been taken offline.

<comment><USER9> Redbox is a much smarter business model. No rental space or employees needed.

<comment><USER10> But doesn't solve the problem. Selection is very limited due to the lack of space.

<comment><USER11> Is that really _the_ problem? Everybody endlessly talks about how Netflix has failed to crack the recommendation nut for something like ten years now. Maybe a smaller, more curated selection will make a comeback, as the pendulum swings away from infinite selection (of mostly garbage).

<comment><USER12> The problem with Netflix, at least in Europe, is that good films are removed and garbage stays.

<comment><USER13> Its the same in Australia. Annoying as all get out. Stan has a much better selection.

</comment></comment></comment></comment></comment></comment><comment><USER14> Of course there are online video rentals available. We have Apple TV and just rent movies on that. I'm sure other services are available on Android based devices.

<comment><USER15> It would be great if there was a way to rent original contents from different streaming sites. Let's say I want to rent 'Terrace House' and 'Sopranos' on the same night, this website would allow me to do that with one interface and one 'buy' button.

<comment><USER16> Google Search will let you locate such content (it has a special UI for it, which is both platform aware—it will note services that aren't available on your platform, like iTunes on Android, as such—and customizable) and pricing, but it doesn't have a purchase interface, since the services don't have purchase APIs. Most providers would probably be against anything that would facilitate such aggregation, since that would commoditize them.

</comment></comment></comment><comment><USER17> Obligatory link to the Onion's Blockbuster Living Museum video: [https://entertainment.theonion.com/historic-blockbuster- stor...](https://entertainment.theonion.com/historic-blockbuster-store-offers- glimpse-of-how-movi-1819594789)

</comment><comment><USER18> Wonder why they just don't start their own store?

<comment><USER19> do you want to negotiate a contract with hollywood?

<comment><USER10> The beauty of Blockbuster is that you don't have to! Thanks to the First Sale Doctrine, in the US, you don't need permission from the copyright holder to loan out legal physical copies of copyright content.

The reasons "rental copies" exist is because they were more expensive versions that were available early so the rental stores could have them before they were for sale.

But it was (and I guess in rural Alaska maybe still is) perfectly viable to build a rental outfit based solely on retail copies of movies.

<comment><USER20> I don't remember how much it carried over to the DVD era, but there was a period when typical VHS tapes were priced very high and the expectation was that individuals would just rent them but some, like certain Disney films, were "priced to own" on the assumption they were the sort of movie which could be a Christmas stocking stuffer.

I think some of the big chains also had deals with the studios where they'd get a bunch of discs for a reduced price and paid a revenue percentage or something like that.

<comment><USER21> I recall tapes were selling in the $65-80 range. Which was a lot of money in the early 90's. Because tapes would wear out with each play, I elected to buy 12" LaserDiscs which cost only slightly more, but would never wear out.

For those who never saw one: [https://www.youtube.com/watch?v=KOrn2hBsYKE](https://www.youtube.com/watch?v=KOrn2hBsYKE)

<comment><USER20> I have a shelf full of laserdiscs that I honestly don't know what to with (and a laserdisc player). I don't want them and I assume there are individuals who do but I'm not about to go to a lot of trouble to sell them.

I suppose I could put the whole thing on Craigslist, take it or leave it. But I'm far enough out of a big city that I've never had much luck with that tactic.

<comment><USER22> eBay?

<comment><USER20> Too much hassle.</comment></comment></comment></comment></comment></comment></comment></comment>


HP Discovers Potential "God Particle" of Electronics - <AUTHOR> http://www.popsci.com/scitech/article/2008-04/hp-discovers-potential-god-particle-electronics <comment><USER2> OK, "God Particle" was a silly enough name when it was applied to the Higgs Boson.

But when you're two layers of analogies deep, looking at an electronic device which is (very) tenuously analogous to a particle which is (very) tenuously analogous to a God, you're beyond the range of regular silly and into a range of silliness so silly that I can't think of words to describe it.

Apart from that bit though, seems like very interesting technology.

</comment><comment><USER3> New height of "God Silliness" achieved.

</comment><comment><USER4> A terabyte of cheep RAM. That will be the day.

<comment><USER5> If I had to choose between RAM-speed HD access and cheaper HDs... The former completely changes the game for so many things, the latter not so much.

<comment><USER4> If price is not an issue then we already have RAM the size of hard drives...</comment></comment></comment>


Rails: Introducing resource_controller: Focus on what makes your controller special - <AUTHOR> http://jamesgolick.com/2007/10/19/introducing-resource_controller-focus-on-what-makes-your-controller-special <comment><USER2> Awesome :)</comment>


Edward Snowden, NSA whistleblower, to speak at South by Southwest - <AUTHOR> http://www.cbsnews.com/news/edward-snowden-nsa-whistleblower-to-speak-at-sxsw-south-by-southwest/

<comment> line-zero "Yeah dude that Snowdon guy? The one with the NSA stuff? Yeah he's, like, gonna be talking at South-by. Yeah, the government is, like, spying, and it's, like against people's rights, and everthing, so... #noNSA #SXSW" (Sent from my iPhone 5)

<comment><USER2> bleck.</comment></comment>


Uber CEO Throws Uber Executive Under the Bus for the Company's Latest Face-Plant - <AUTHOR> http://www.businessinsider.com/uber-ceo-aplogizes-for-emil-michaels-journalism-comment-2014-11

<comment><USER2> With a 14-part tweet. I will never understand twitter.</comment>


Math: The Angry, Injured Wolverine - <AUTHOR> http://blog.mrmeyer.com/?p=7392 <comment><USER2> There are few things in math that are more important than lots and lots of wrong answers. There are good wrong answers, and there are bad wrong answers, but once you have lots of wrong answers you can start to see patterns and build intuitions.

With lots of wrong answers you can start to be selective and get some really good wrong answers, and then from lots of really good wrong answers you can get some answers that look _really_ good.

Then maybe you can fix them.

Without playing, without building that intuition, you'll sit and stare at the problem and not see what to do, or where to start.

Play, get some wrong answers, then build.</comment>


Why is Text referred to as a String in programming? - <AUTHOR> In all programming languages I have used, Text content is referred to as a "String".
a) Is there any programming language that refers to strings as something else?
b) Why are they called so? I however found a resource (I am not satisfied by it)  http://stackoverflow.com/questions/880195/the-history-behind-the-definition-of-a-string
Disclaimer: I am a newbie coder!! <comment><USER2> Text and strings are two different things that can overlap.

In computer science strings are sequences of characters. Characters are members of a set called an alphabet. A string gets fed into a state machine (such as a Turing machine) and the machine accepts or rejects that string and potentially creates some side effects which may or may not be useful or interesting.

Text is something humans use to communicate with each other (when the text is not jibberish). Texts can also have a relationship with alphabets but in ordinary language we say it such text has letters which ordinary people outside of computing don't usually refer to as characters. Some texts don't have a relationship to an alphabet, e.g. those written hieroglyphic languages.

A sometimes more useful description of the sort of thing that English texts and hieroglyphic texts have in common is graphemes. And the fact that texts can use graphemes rather than characters is what makes translating strings expressing content in one language to another language non-trivial and more human knowledge than clever algorithms.

Perl 6 is a language that attempts to capture some of the nuance of the differences between human language and automata theory.

[https://perl6advent.wordpress.com/2015/12/07/day-7-unicode-p...](https://perl6advent.wordpress.com/2015/12/07/day-7-unicode- perl-6-and-you/)

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

</comment><comment><USER3> A more complete answer exists in that stackexchange: [http://programmers.stackexchange.com/questions/43329/etymolo...](http://programmers.stackexchange.com/questions/43329/etymology- of-string)

</comment><comment><USER4> Because it refers to characters stringed together

</comment><comment><USER5> Perhaps a metaphor based on the strings of beads in an abacus? I'm just speculating.</comment>


Watch Now: Live Feed of Total Lunar Eclipse - <AUTHOR> http://www.wired.com/wiredscience/2011/06/lunar-eclipse-webcast/ <comment><USER2> There's something eerily beautiful about a red moon. I was lucky enough to see one of these live a few years ago.</comment>


Comments in JSON - <AUTHOR> https://plus.google.com/+DouglasCrockfordEsq/posts/RK8qyGVaGSr <comment><USER2> I call BS. You can still pass custom parsing directives in an initial "meta" section or out-of-band.

Heck, you can even pass custom parsing directives in comments inside the JSON document (the very thing Douglas wanted to avoid), since your receiver knows to expect them, read them, and then continue parsing accordingly.

The only people this annoys is people actually wanting legitimate comments in a JSON document for documentation (and not for passing parsing options).</comment>