Retina iMac owners can greatly improve graphics performance of many applications - <AUTHOR> http://1014.org/?article=697 <comment><USER2> If you're an Apple user and you want Apple to consider improving the performance of 10-bit channel 2D bitmap blitting performace (as this post seems to demonstrate is poor), file a bug report with Apple about it at [https://bugreport.apple.com](https://bugreport.apple.com). They'll probably mark your bug as a duplicate. They've indicated in the past that duplicates are how they accept votes from the community about bug importance. Every vote counts.

<comment><USER3> Small correction: duplicates are not really "votes", but some managers at Apple do see them as speaking to impact of a bug, and almost everyone takes impact into account when scheduling the resources on fixing bugs. So if you want your bug fixed: 1\. Do everything you can to show your bug clearly and reproducibly. No-one is going to spend much time on a bug they can't see. 2\. Keep your bug report focused on the problem in front of you, don't stray off on tangents. That give the best chance that your bug gets fixed, rather than dismissed based on the tangents. 3\. Include some sort of impact statement for your customers/organization. If this is causing lots of people serious problems, then Apple managers (and the screeners before that) are more likely to care about it more than some other problem that only causes a minor irritation for a few people. So don't just aim for a "+1", tell them how many people you DIRECTLY represent.

But some engineering managers don't care about duplicates, they relay on other things (sometimes only their own judgement) to decide impact and its relation to priority. But very few of us ever know which person is going to make those decisions, and what their priorities are, so it is better to always file your bugs (even if they get duped), and include impact in your filing.

If you want to make life easier for the screeners (who do most of the duping), then look things up on [https://openradar.appspot.com](https://openradar.appspot.com), and reference a bug that already does a great job of deciding the problem there. But then include YOUR impact information.

<comment><USER4> I'm loyal to Apple to a degree that would get my US visa canceled if it actually were a religion, but even I must say that I don't feel like participating in anything like the process you're describing. I feel developers should actually boycott radar at this point. It's not just that the process you're describing involves an inordinate amount of my time for something that is at least as valuable to Apple as it is to me, only because the richest software company in history can't get its system to parity with github issues or – may Steve have mercy on my soul – bugzilla.

It's also that the whole process seems to be engineered to belittle the user who apparently isn't worthy of being informed of anything. Reported a bug in an API? Well, how about trying it after every release, or writing a test for it? Because you surly don't expect your tiny mind to warrant a one-liner or ticket change when we fix it?

JK! We actually have no intention to fix it. But you do enter the sweepstakes for the "One More Thing That Doesn't Work" award at WWDC for every year that your bug remains open.

</comment></comment></comment><comment><USER5> *at the expense of disabling 10bit per channel color.

For most apps this should be fine, but as deep color gains more prominence be aware of impacts it may have.

<comment><USER6> Not just at the expense of disabling 10bit per channel color, but at the expense of breaking color reproduction.

<comment><USER7> If you cared you could make an ICC profile representing an accurate characterization of the display, but limited to 8 bits/channel. I doubt the video game players who are focused on blitting the maximum number of textured triangles per second are too worried though.

</comment></comment></comment><comment><USER8> This is very handy. As a voice actor I use REAPER exclusively -- it's pretty much the "IDE" for my job, and I use the 5k iMac as my hardware. Getting better graphic performance out of the plugins makes my work faster and more accurate.

Hopefully it doesn't degrade performance on video editing or Pixelmator.

</comment><comment><USER9> doesn't really apply to me, but I was excited to see the author of this post. REAPER is simply an amazing program for music creation, and a great price.. I use it every day for many years now. He coded WinAMP back in the day too !

<comment><USER10> You could say he really whips the llama's ass

</comment></comment><comment><USER11> What is REAPER doing that it needs to fling so many bitmaps to the screen at once? Wouldn't that be done more efficiently with GPU texture wrangling?

<comment><USER12> Maybe to display the VSTs. The more recent ones can be quite complex.

<comment><USER13> VSTs draw their own graphics. They're basically separate applications that have an audio/MIDI pipe to the host.

</comment></comment></comment><comment><USER14> > Luckily, changing the color profile (in system preferences, displays) to > "Generic RGB" or similar disables this, and it gets the ~800MPix/sec level > of performance similar to the RMBP, which is at least tolerable.

Did author try to send image with 64 bits per pixel? It should by send to GPU without converting. But If the fullscreen is 15 megapixels, than it's ~120MB per frame.

<comment><USER14> No reply, but I'm still think about it. If iMac has PCI-E 3.0 x16, It's 16GB/s throughput divided by 120MB = 136 frame per second. Of course the values are theoretical and the question is what happen in GPU.

</comment></comment><comment><USER15> I noticed this a few months ago with Perforce's p4merge (Qt-based) application and filed a Radar (28890473).

At least in that instance, the bottleneck was rgba64_image_mark_rgb32(). A perfectly fine little bit of assembly byte shuffling, but not fast enough to handle gracefully the billions of pixels/second being thrown at it.

</comment><comment><USER16> As someone who has zero experience with this kind of thing, if someone complains "Hey, why is it taking forever to release/update [INSERT GPU-HEAVY APP/GAME HERE]", I'll just point them here.

So many data types! With such long-but-similar-yet-I'm-sure-very-differently- performing names!

<comment><USER17> I'm not sure the author is even using the GPU? As I understand it, they are using their own cross platform code to draw into a bitmap, and displaying that bitmap in a view is slow because of all the compositing and color management macOS is doing.

It sounds like they are doing all their drawing on the CPU, and using APIs optimized for accuracy; instead of drawing on the GPU using APIs optimized for speed.

</comment></comment><comment><USER18> How does this apply if I'm using f.lux?

<comment><USER19> you should do it then? f.lux is already ratcheting down gamut so you're wasting resources running 10bit color on top of it.

It's like using a color printer to print only black text documents, it doesn't make a whole lot of sense in the efficiency department.

<comment><USER18> But if I'm using the f.lux color space, I presume I can't change it to a different one without breaking it. I haven't tried it, though, but apparently it's moot with the new OS.</comment></comment></comment>


Today I sped up my code by a factor of 10 - <AUTHOR> https://www.reddit.com/r/computervision/comments/7wwg4a/today_i_sped_up_my_code_by_a_factor_of_10/ <comment><USER2> TL;DR: It's good to understand the tools one's using and to remember to have the code intended to be run compiled with optimizations.

</comment><comment><AUTHOR> I think all of have done this at some point.</comment>


Amiga IFF file format experiments (2012) - <AUTHOR> http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html <comment><USER2> IIRC, the Erlang BEAM format is based on IFF: [http://erlang.org/doc/man/beam_lib.html](http://erlang.org/doc/man/beam_lib.html)

Edit: also [http://www.erlang.se/%7Ebjorn/beam_file_format.html](http://www.erlang.se/%7Ebjorn/beam_file_format.html) and [https://web.archive.org/web/20011224134446/http://www.cica.i...](https://web.archive.org/web/20011224134446/http://www.cica.indiana.edu/graphics/image_specs/ilbm.format.txt)

<comment><USER3> Or [https://en.wikipedia.org/wiki/FourCC](https://en.wikipedia.org/wiki/FourCC) for points to some of the many formats based on that style, including PNG.</comment></comment>


Color blind people see color for the first time - <AUTHOR> http://www.valsparcolorforall.com/

<comment><USER2> Can someone explain how this works? As far I understand the glasses contain a filter for each lens.

So if a completely colour blind (who can't tell any colour just brightness) will see the filtered image, but that image should be like subtle a change in the depth.

Sounds a little weird to me.

<comment><USER3> Real world color is not actually 3 channels. It's an infinite number of channels (not all equally informative, of course - we've evolved to see 3 of the most informative ones as far as humans living in nature is concerned). Healthy people see only 3 channels[1], which are usually referred to as "X", "Y", and "Z", but which can quite faithfully be represented with additive combinations of Red, Green and Blue .. RGB (as done in CRTs and DLP projects, and individual LEDs) - or subtractive combinations of Cyan, Meganta and Yellow .. CMY, as done in print[0] and on LCD screens.

Color blind people see two channels (different causes for color blindness select different channels). Very few people can see 4 daylight channels (google "tetrachromat"). IIRC there is also a one-channel color blindness (at least theoretically) but it is ultra rare.

Now, what these glasses probably do (video won't work for me, can't see if they give a description), is that the filters make sure you see three different channels among your 4 input ones (2 eyes * 2 channels). It doesn't necessarily give a depth effect - more like a semi-transparent overlay saying "this greenred here is actually green" or "this greenred here is actually red".

And, yes - these filters necessarily select one (or two) channels which normal people can't actually see.

[0] In print you also add a Black (K) because it makes life easier, and because CMY subtraction dynamic range is harder to get right.

[1] there's another channel for darkness optimized for moonlight, which is not one of the daylight three.

<comment><USER4> So, so... our color system is, pardon my maths, some kind of simplified Fourier encoding of the frequencies (real) into a finite number of fixed frequency component ?

<comment><USER3> It's just a 3-d subspace of the continuous (infinite dimensional) input space. If you start in the em frequency domain (which is the only sensible thing to do) nothing is cyclic, so it is not customary to call them Fourier coefficients - but I think you got the concept.

<comment><USER4> A tiny bit. From the point of view of my ignorance I'm still thinking you might troll me :)</comment></comment></comment></comment></comment>


Facebook Is Now Rating Users Black Mirror Style - <AUTHOR> https://medium.com/futuresin/facebook-is-now-rating-users-black-mirror-style-bc033d2414a6 <comment><USER2> Hacker News is even worse. Here literally everything you say is rated by everyone else, just like Black Mirror. Even worse than Black Mirror, there are overlords who will remove you from the system if you say something they don't like.

Oh my God! Big Brother! Control! Black Mirror Is Real!

<comment><USER3> Maybe, but I can see why people would care a lot less when it involves a pseudonym instead of your real name.

<comment><USER4> And that's why I've never used a real name of facebook.

</comment></comment></comment><comment><USER5> Heavily discussed yesterday, with this submission adding nothing new: [https://news.ycombinator.com/item?id=17809916](https://news.ycombinator.com/item?id=17809916)

<comment><AUTHOR> Sorry I follow the link but I do not see it?

</comment></comment><comment><USER6> This is straight clickbait and a repost of [https://news.ycombinator.com/item?id=17809916](https://news.ycombinator.com/item?id=17809916), which is more level-headed than this post.

</comment><comment><USER7> "[tech thing is happening] Black Mirror Style" \-- evergreen title.

</comment><comment><USER8> Black Mirror got it right about Prime Minster David Cameron having sex with a pig, so it's not a big surprise some of the other episodes are coming true, too.

[https://www.independent.co.uk/news/uk/politics/downing- stree...](https://www.independent.co.uk/news/uk/politics/downing-street-stays- silent-over-claims-david-cameron-put-genitals-in-a-dead-pigs-mouth-while- at-10510500.html)

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

<comment><USER9> Well didn't that happen before Black Mirror was made?

<comment><USER10> No, that episode was broadcast in December 2011: [https://en.wikipedia.org/wiki/The_National_Anthem_(Black_Mir...](https://en.wikipedia.org/wiki/The_National_Anthem_\(Black_Mirror\))

The pig thing wasn't until 2015. Well, the allegations weren't made until 2015 - I guess technically the event, if it occurred, took place earlier.

</comment></comment></comment><comment><USER11> Just stop using it. Its really not that hard. A few years back when it was hard to share content or easily get good feeds of what your friends were doing, sure it made some sense. At this point, why?

<comment><USER12> People say this constantly, and it baffles me. Facebook has grown to the point that it's hard to avoid. Sure, don't use it, or do, but it's become a fixture in most people's lives and has to be reckoned with as such. Sure, I guess you could opt out of it, just like you could not use Amazon, or Wal-Mart, but it doesn't change the value of the ranking system, or their shitty data collection. "Just go somewhere else" is a deflection, and a poor one at that. If they're doing it, other companies are doing it. In addition to being a conversation about Facebook in particular, this is also a conversation about whether or not it's right for anyone to do it, and where it might get adopted elsewhere. Finally, it's impossible to ignore the fact that Facebook is a massively influential media presence, and "just go somewhere else" has nothing to do with it.

<comment><USER13> > People say this constantly, and it baffles me. Facebook has grown to the > point that it's hard to avoid.

I guess it depends on your definition of "hard" or perhaps your friend group. But for me and many of the people I know, it's easy to avoid and not use it. You just don't go to the site or use the app. No problem.

</comment></comment></comment><comment><USER14> Hacker News karma system anyone? Except Facebook gives the up and down votes.

<comment><AUTHOR> I'd rather Reddit and Hacker News upvoting to sentiment harvesting ("reactions") on Facebook any day.

</comment></comment><comment><USER15> Why are people still on this platform?

<comment><USER16> They feel secure in the knowledge that the records coming from banks and hospitals will be anonymized for their protection.

<comment><AUTHOR> I think Amazon will do better than Facebook in healthcare, Google over Apple as well here.

Facebook will have a hard time when consumers flee its ecosystem.

</comment></comment></comment><comment><USER17> Much needed for the place I work at, some people shouldn't be allowed to enter /s

</comment><comment><USER18> It's the lack of transparency that bothers people. If each user's truthiness score was displayed alongside every post or comment and you could up or down vote it in real time, users would be satisfied

<comment><AUTHOR> There was once this startup called Peeple, users exploded in rage because it had to do with rating people.

<comment><USER18> I remember, but this case is different because FB is already doing it on the sly

</comment></comment></comment><comment><USER19> There's another app that ranks people that should also be banned. It's called Credit Karma.

<comment><USER20> Are you talking about credit scores because if that's the case you have completely misunderstood credit karma's product</comment></comment>


Scrum is a major management discovery - <AUTHOR> http://blogs.forbes.com/stevedenning/2011/04/29/scrum-is-a-major-management-discovery/

<comment><USER2> I'm all about not interrupting my work with smalltalk. If it helps, I'm doing it.

I may be more friendly to SCRUMM zealots next time I find one :)</comment>


Ken Thompson's backdoor in early UNIX systems - <AUTHOR> http://www.catb.org/~esr/jargon/html/B/back-door.html <comment><USER2> This is a dupe. Someone else pointed us to his ACM award paper, _Reflections on Trusting Trust_.

And it isn't Startup News, or anything related to their technology.

I can go and dig out a hundred interesting but irrelevant URLs, but refrain because I don't want news.y becoming another Slashdot, etc.</comment>


Cover (YC W16) Raises $8M Series A - <AUTHOR> https://www.coverinsurance.com/blog/cover-seriesa-announcement <comment><USER2> Congratulations, and best of luck. Insurance is a super interesting market.

Side note: Might want to change out your Lorem Ipsum text from the Claims section:

[https://www.coverinsurance.com/make-a- claim](https://www.coverinsurance.com/make-a-claim)

<comment><USER3> Thanks for the catch -- strangely, wasn't updated.

</comment></comment><comment><USER4> "Take our services + insurance view to the extreme, and insurance premiums start looking like the next ad dollars – spinning out free products and services that bring joy to insurance customers, the basis for a consumer- centric insurance company."

Huh?

<comment><USER3> Insurance companies, largely offer the same products and "differentiate" on customer service. My view is that value-added services, and pressure on price will win the day. Highlighted a few in the article, but perhaps, press a button to get free roadside assistance, talk to a mechanic 24/7, sensors in your home to mitigate risk. The premium volumes are certainly there to support greater value being transferred to the customer.

<comment><USER5> > Insurance companies, largely offer the same products and "differentiate" on > customer service.

UK market, so somewhat different. A large proportion of our insurance sales go through various comparison websites who are the new "zero value add" broker. This leads to a large number of decisions being largely price based.

I have no idea whether this transition occurred in the states?

</comment></comment></comment><comment><USER6> Is there anything like this for health insurance? I have to get my own insurance but working through the marketplaces is such a pain. If there was a health insurance provider that literally just had a nice web interface I would be very likely to use it even if it's more expensive.

<comment><USER7> beyond a pain it is incredibly over priced. To the point I can no longer afford it due to making just a little bit to much for subsidies.. They want $1800/mo for my family of 4. That's more than my $1600/mo mortgage and I am 100% positive insurance provides me next to nothing since I go to the doctor less than 1 time a year.

What I ended up doing is cancelling my insurance, I pay our doctor in cash on day of services. He gives us an instant 50% discount to pay same day without insurance. I pay the fine, and get disaster insurance in case shit happens for about $20/mo.

So now, Obamacare is failing not only me, but those its designed to give free insurance to. Because those that are suppose to be paying for the free people can't even afford it and are no longer paying.

The fine is a whole different story and is literally extortion.. Give money to this private company(i only have BCBS to choose from.. nothing else) or we will hunt you down and fine you.. Capone would be proud.

Anyone who supports the current obamacare system is a sheep and a fool. They're literally only supporting it because of the name it carries. No one in their right mind can say this is a good system that supports the American people.

Not only that but, because of one simple mistake on my taxes around these stupid new forms, I'm still waiting on my 5k tax return and its nearly August.

I voted for Obama twice and have never been more dissatisfied with my health insurance.. At 35yo this is by far the worst it has ever been. Before obamacare I paid about $75/paycheck for a really nice plan from my employeer. Now it's $1800/mo and my employeers will only pay up to like $800 when I've had one.

I work for myself now so it's different.

<comment><USER8> What state are you in?

</comment></comment></comment><comment><USER9> I'm a bit fuzzy on what business insurance actually means? I operate a few small online companies and what protection would Cover provide? Lawsuits? What about credit card chargebacks? Vendors/clients failing to pay invoices?

<comment><USER3> On the commercial side we offer business property, professional liability, errors & omissions etc. The financial guarantees you're describing do exist:

[https://apps.shopify.com/signifyd](https://apps.shopify.com/signifyd)

We don't yet offer them though, as they tend to be assessed at point of sale.</comment></comment>


Dear World, you're not ready for us - <AUTHOR> http://vorm.io/the-world-is-not-prepared-for-modern-millennials/ <comment><USER2> This particular corner of the world certainly isn't ready for your grey-on- grey font.</comment>


Co-founders: Please pull your weight - <AUTHOR> http://andrebluehs.net/blog/2010/09/co-founders-please-pull-your-weight/

<comment><USER2> Have you already formed your entity: LLC or corporation?

The best way to avoid this problem is to start the company yourself. Put everything in your name regardless of your skill set. Buy the domain, incorporate the company, get a basic site up, get a logo, create the twitter account, etc. Now you have complete control over your company and the percent ownership you retain: 100%. This gives you the leverage to make someone a co- founder based on performance, not initial enthusiasm and an idea.

If you already formed your entity then things are going to get a little dirty. First, talk with the other co-founder that is pulling his weight and write down everything that you guys do. Write down everything that you two are responsible for that the third guy can never catch up to: professional relationships built, developer stuff, etc. Write down everything the slacker is responsible for and what little he's actually done. Next, talk with your supporting co-founder about how to split up the company. Should the slacker get 10%? Less? What does he bring to the table? 15+ years of experience isn't worth 1% if it doesn't bring any tangible value.

Then the dirty part: confront Bob. Read Dale Carnegie's "How to Win Friends and Influence People" first. The more aggressive you are during this conversation the uglier the outcome is going to be. Be honest with him, but don't say "You do nothing." Say things like "I feel like I'm getting hosed here. I do 50% of the work for only 33% ownership". Notice the difference in perspective? You're not blaming him for anything. Go over everything you and Fred have done. Ask Bob what results he has to show for his work. Negotiate terms and let him know that work has to get done.

If that doesn't go well, depending on your operating agreement, boot him from the company or dissolve it and start a new one.

Hope that helps and good luck!

<comment><AUTHOR> thanks. i fear confrontation might be the only available option at this point.

</comment></comment><comment><USER3> You're trashing one of your cofounders in public? Even if all you say is true, it reflects on you a fair bit...

<comment><AUTHOR> you're absolutely right. Thanks for the reality check. I just needed to get it off my chest and that was the inappropriate way to do that.

The post has been updated to be a bit more level-headed.</comment></comment>


Spotify's Love/Hate Relationship with DNS - <AUTHOR> https://labs.spotify.com/2017/03/31/spotifys-lovehate-relationship-with-dns/ <comment><USER2> What Spotify calls a "stealth primary" has typically been referred to as a "hidden master" for 15 years or so. Googling that term will turn up more relevant results, for anyone looking to do something similar.

<comment><USER3> To be clear, a strict implementation of your DNS means that this host appears in the MNAME field of your SOA record. Not so stealthy or hidden, despite the moniker. You might ask "who on earth looks at the MNAME field of SOA records", I answer "well I do".

However there is no requirement that the MNAME host be willing to answer queries. There _is_ an expectation that the host in the MNAME field accepts dynamic DNS updates, if one is using RFC2136-style dynamic DNS, although I didn't get the sense Spotify were doing so.

</comment></comment><comment><USER4> > We run our own DNS infrastructure on-premise which might seem a bit unusual > lately.

I don't think running your own DNS is too uncommon, especially if you have a lot of on-premise hardware that changes somewhat frequently. However, if you do this don't run BIND. We found PowerDNS to be much better in terms of features, user-friendliness, and documentation. Having backends that aren't zonefiles is a huge win. I've heard good things about Unbind, but haven't used it in a big environment yet (>1000 machines).

<comment><USER2> I'm a "BIND lover" and have been since the 90s and still use it for public- facing authoritative name servers. In their case, though, it definitely sounds like they should consider PowerDNS. It allows for various backends, including SQL and custom ones, which might fit in well with the "data store" they mentioned. Instead of all the cronjobs and pushing and pulling, they might be able to point the authoritative nameservers directly at their "data store" and cut out a lot of that "plumbing" (it's impossible to know without more details, of course).

Also, unless there's a huge amount of DNS data changing every 15 mins, they might gain some speed-ups from sending dynamic DNS updates to the authoritative nameservers and/or using IXFRs instead of AXFRs.

(n.b.: unbound only handles recursive DNS, not authoritative.)

<comment><USER4> > (n.b.: unbound only handles recursive DNS, not authoritative.)

Yeah, but as you probably also know the PowerDNS recurser is separate, so there's no reason PowerDNS + Unbound couldn't also be a great combination. Heck, I might even choose that combo so resolvers only have unbound installed and can never act as authoritative servers.

</comment></comment></comment><comment><USER5> > _It simply pulls from our DNS data repository, then compiles all the zone > data via named. With every compile time – which takes about 4 minutes..._

4 minutes seems like an awful long time for what I'm assuming is a fairly simple transformation. Any insight as to why? Is named just slow?

<comment><USER3> It's not intrinsically slow, no. I've built & run BIND-based infrastructure spanning >20 sites, >50 servers and >10,000 zones, and changes were compiled and propagated in seconds. Only a total rebuild & recompile & reload of all zones & services required time on the order of minutes.

</comment></comment><comment><USER6> I got side-tracked by the talk of version control. Do they use a single repo for everything? It seems like it from they way they talk.

In that case, I am surprised git is a good fit. SVN might have been better, though some commercial solutions like ClearCase or Perforce would actually be right for that sort of work-load.

<comment><USER7> I assume you never used CC but it's a gigantic pile of crap. It is completely worthless. Sold on golf courses to clueless higher ups, because most developers hate it

But in general I've never seen any commercial source control system beat an open source I've.

<comment><USER8> Perforce is mostly a better Subversion. The two have an extremely similar model, but Perforce handles merges much better and gives more flexibility in slicing and dicing your local view of the repo (extremely useful for huge monorepos).

Disclaimer: it's been several years since I've used Subversion, this may have changed.

</comment></comment></comment><comment><USER9> DNS for service discovery is very old school stuff that has been known to be unreliable and requires unnecessary amount of work. You are better off using an actual dedicated http based service for doing service discovery. Keeping things largely TCP/HTTP based makes everyone's life simpler.

</comment><comment><USER10> They didn't even look at their firewall tables before deploying a completely different OS to production? Wow.

<comment><USER11> This:

> Upon the migration of the final nameserver – you guessed it – DNS died > everywhere. The culprit turned out to be a difference in firewall > configuration between the two OSes: the default generated ruleset on Trusty > did not allow for port 53 on the public interface.

Deploy a new service on a Linux box in the last decade? Poke it through whatever the distro uses to manage iptables.

It's like a webdev saying "it turns out DROP deletes tables".

</comment></comment><comment><USER12> So DNS as way to orchestrate sharding? is this common, or am I right to find that odd?

<comment><USER13> What makes you think this is about sharding?

<comment><USER14> The article talks about their use of dns service records to encode shard locations. I know other companies that do similar things. DNS has to be up, so rather than adding another dependency, encoding it into that infrastructure is a valid approach.

</comment></comment></comment><comment><USER15> Spotify should consider implementing Consul :P

</comment><comment><USER16> What's with the weird font rendering? It looks blurry.

<comment><USER17> Comparing Firefox with Chrome, it kind of seems like it is doing more anti- aliasing on Firefox.

If I split the two windows side by side, the difference is marginal. If I do them fully maximised, the difference is more pronounced (at least on Windows)

edit: downvotes? really? Do I need to post screenshots or something?

<comment><USER18> They also set the font-weight on every single line of text, separately, via html style attribute. To 400 (normal is 300).

That's very weird.

<comment><USER19> > That's very weird.

They are probably using a WYSIWYG editor that auto generates so when you press return it creates a new paragraph. I agree the output is weird but I could see how this would happen.

</comment></comment></comment></comment><comment><USER20> Maybe instead of worrying about internally built DNS servers they could allow me to undo an artist ban from a daily mix. Seriously frustrating.

<comment><USER13> Maybe their engineering blog is about engineering things and customer support should go through [https://twitter.com/spotifycares](https://twitter.com/spotifycares) and [https://support.spotify.com](https://support.spotify.com) instead of an HN thread.</comment></comment>


IE6 Funeral too early? Stats of German Websites - <AUTHOR> http://compuccino.com/labs/blog/2010/03/09/beerdigung-von-internet-explorer-6-zu-frueh

<comment><USER2> I've always found that browser stats matter most for the site they belong to.

<comment><AUTHOR> yes it always depends on the target group, ie. if the website is for developers or "normal customers"

</comment></comment><comment><AUTHOR> for example the portal of German city Hamburg (hamburg.de) has still 22.45% IE6, 34.69% IE7, 42.86% IE8 and 49.00% IE in relation to the other browsers.</comment>


People's freedom jeopardised by new software adopted by California's courts - <AUTHOR> http://www.bbc.co.uk/news/technology-38153992 <comment><USER3> Software is currently in a strange place legislatively, in the 18th century Civil Engineering exploded (sometimes literally) and the number of disasters went up in radically (for an interesting case [https://en.wikipedia.org/wiki/Tay_Bridge_disaster](https://en.wikipedia.org/wiki/Tay_Bridge_disaster)), over time professional standards bodies grew alongside the maturing industry to both ensure that people working in the industry where adequately trained _and_ adequately protected from external factors (people pushing them to do things cheaply, skimp on designs etc).

Given that we've handed a large part of the running of the modern world over to computers, software and the people who write that software I think at some point we need to start looking at a similar system, now the usual argument to this is "We don't want regulation" or "It's not my code, it's other peoples" but that doesn't alter the reality that this isn't going to get better until the way the industry is run changes, it's not a software issue, better tooling won't save us (it might help though) and there is no perfect outcome.

EDIT: It's worth noting that if as an industry we don't work with our customers on this stuff and reach an accord that fits everyone eventually one will be imposed on us from outside, Software Engineering doesn't exist in isolation, other fields of Engineering are covered already.

<comment><USER4> We need formal codes of practice, we need good institutions, but we also need a cultural change.

We no longer have the luxury of saying "oh, it's just a CRUD app, it doesn't matter if things go wrong". Software has become too important, it has become too deeply intertwined in our daily lives. Errors and leaks from trivial little apps can have life-changing consequences for users.

If your software handles personally identifying data, there's a non-zero chance that you could ruin someone's life through negligence. Legal case management software might be an obvious example, but it's the tip of a very big iceberg.

If you have several million users, one-in-a-million edge cases are going to happen constantly. Weird things happen at scale. We need to treat every Android permission and every Facebook API call as a potential matter of life or death. We need the personal courage and the support of our peers to say "no, I will not implement that feature", "no, I will not store that user data", "no, I will not transmit that in plaintext", "no, I will not commit that to production without unit testing".

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

<comment><USER5> Don't put the blame on the developers. Too frequently they are put under huge pressure and cannot say "no" to their managers. There are people which are responsible for delivery, testing and they are paid way more than the average developer.

Unlike in engineering, with software you can - and indeed should - test it before deployment in thousands of ways.

Finally there is also a receiving party that should ensure they are not accepting broken software. They have responsibility too.

<comment><USER4> >Don't put the blame on the developers. Too frequently they are put under huge pressure and cannot say "no" to their managers.

Befehl ist Befehl. Blaming management is literally the Nuremberg defence. If we feel that we _have_ to do reckless and dangerous things in order to keep our jobs, then we desperately need to unionise. It's just not good enough for us to throw up our hands and blame the PHBs.

Management need to change, but they're not going to do it voluntarily. Pressure needs to come from users, but also from developers. We need to fight back against poor practices, as millions of workers have done in other industries. We're the guys on the shop floor, we're the people who know what the issues are and how to fix them. If we don't take a stand, nobody else will.

How would we react if this story was about a plane crash or a nuclear accident caused by negligence? Would we be so quick to absolve employees of responsibility, or would we be asking why nobody blew the whistle?

<comment><USER6> > Pressure needs to come from users, but also from developers

It needs to come from government especially. It's a basic function of government to protect the public

> How would we react if this story was about a plane crash or a nuclear > accident caused by negligence?

If there were no government laws penalizing this outcome and regulations preventing it, I'd be horrified.

<comment><USER7> There are plenty of regulations covering software used in aircraft and nuclear power control. Move on to the next moral panic.

<comment><USER8> Gee Bob, that did a helluva lot of good in preventing these folks from enduring undue legal hassles.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> _Similar problems have been reported in Tennessee and also in Indiana - <USER2> prosecutors have had a perhaps more troubling issue of inmates being mistakenly released early._

It seems backwards to describe this as more troubling.

<comment><USER10> Not at all. Do you want a rapist getting out of jail earlier? That would be troubling.

<comment><USER11> But a person with a traffic ticket getting jailed and registered as a sex offender is better? Both are equally troubling. In my mind, the latter moreso.

<comment><USER12> Hm - I take your point. I was coming at it from a public safety point of view first and foremost. But I can see the other side, sure.

</comment></comment></comment></comment><comment> awinter-py Separate from the question of software liability is the court's responsibility to not make egregious errors.

Historically, courts have been unwilling to assign themselves blame for screwing up. Judicial immunity is untouchable in american case law because it's hard to find a judge willing to rule against it.

The standard of due process is high for 'life and limb' cases but low for misdemeanors & traffic violations. When Fixed discovered that most SF parking tickets are challengeable, SF didn't fix the problem -- they turned off their fax machine to make it harder to challenge tickets. [https://techcrunch.com/2015/10/12/fixed-the-app-that- fixes-y...](https://techcrunch.com/2015/10/12/fixed-the-app-that-fixes-your- parking-tickets-gets-blocked-in-san-francisco-oakland-l-a/)

NYC issued fake parking tickets to the tune of hundreds of thousands of dollars. [http://iquantny.tumblr.com/post/144197004989/the-nypd-was- sy...](http://iquantny.tumblr.com/post/144197004989/the-nypd-was- systematically-ticketing-legally)

Jurisprudence doesn't have a concept of 'bulk miscarriage of justice'. You could put NSA surveillance in this camp too. There's a star trek line about genocide which says 'we have no law to fit your crime'. That's where we are with petty crimes mishandled in bulk.

</comment><comment><USER13> > _The software, created by Texas-based Tyler Technologies, costs about $5m > (£4m) and is set to gradually replace a decades-old e-filing system that > looks like something a hacker would use in a Hollywood movie._

> _Tyler Technologies acknowledged in a statement that the upgrade process had > been "challenging" - but said poor training was to blame for bad inputting > of data and integration with third-party applications that often introduce > glitches into the system._

Even as someone who spends the majority of the day at the command prompt, I agree we should always be attentive to user-interface issues. But I've been less than optimistic that people will have the wisdom to know that a new "modern" interface automatically means it's more sophisticated/elegant, or that it's more attuned to the needs of human users.

In particular, it's been alarming to see a rise in unnecessary use of AJAX (nevermind Angular) in government applications. I'm not anti-JS, it's just that client-end development seems to have far more moving parts of the kind that don't get well-tested by workers in a bureaucracy. Especially when that work has been farmed out.

edit: as an example of how government can do modern web-dev/UX well, I can think of no better (at least at the U.S. federal level) example than the CFPB: [https://cfpb.github.io/](https://cfpb.github.io/)

</comment><comment><USER14> _Tyler Technologies acknowledged in a statement that the upgrade process had been "challenging" - but said poor training was to blame for bad inputting of data and integration with third-party applications that often introduce glitches into the system._

People writing software need to take responsibility for how the software is used, especially when it can impact people's lives to this degree. You can't just blame third party software or the people entering data.

<comment><USER3> > People writing software need to take responsibility for how the software is > used

There is an old joke that it's almost impossible to get someone to understand a problem that would result in a threat to their livliehood.

I don't think people need to "take responsibility" I think organisations need to be _made_ to take responsibility.

In the UK when you purchase a physical good from the retailer the warranty for that good is between you and the retailer, the retailer then has to deal with problems up the line from suppliers, it's not perfect but it's workable.

I think software should be the same, I think if I pay Foo for a system then Foo _should_ be responsible for the system even if it's made of parts from Bar, Fizz and Buzz, if Foo has an issue with Fizz they need to take it up with Fizz.

There is _so_ much crap software out there in every field and the acceleration towards a world run on software continues.

<comment><USER15> I'm not saying it's not a good idea, but that system's gonna be really tough on the software industry. Consider what would happen when a famous third-party API has security flaw. Most third-party libraries' licenses have an "as-is" clause and even mature third-party software has exploits sometimes (e.g. Java applets).

If you wanted to use a library in a project, you would have to

      - a) read the entire thing to see if you can find any bugs that the devs missed, or
      - b) roll your own solution which will probably have even more bugs, or
      - c) find an equivalent library that has a paid version without the "as-is" clause.

Imagine paying a monthly subscription fee just so you can offset the liability when Angular has a security hole. This would run a lot of small shops out of business.

<comment><USER3> I own one of those small shops so I'm not unsympathetic but few other industries get away with 'as-is' disclaimers,

Can you imagine it in the automotive,aeronautical, transport etc?

The present system is a pass the parcel of blame with no one taking any responsibility, tonnes of shit, insecure systems written and designed poorly.

Eventually something will give.

<comment><USER16> _" Can you imagine it in the automotive,aeronautical, transport etc?"_

This. This is the most important point I've read so far. The key word here is "imagine."

I think even we, as an industry, don't quite grok the degree to which software truly has eaten the world -- and the degree to which it now _is_ every bit as important, as life-or-death, as things like cars, airplane travel, or even medicine. We hold these goods to certain standards because we deem them extremely critical -- too important to be left to the de facto standards set by the operation of a wild-west market. It's about time the notion of standards-free software shocked people as much as the notion of standards-free engineering in any other systemically critical industry.

I'd prefer self-established standards set by the industry to government- imposed standards set by lay bureaucrats. But the latter is coming eventually if the former never does.

</comment></comment></comment></comment></comment><comment><USER17> Although I don't have any direct evidence regarding this instance, I wouldn't be surprised if the old system was greenscreen & form-based, while the new one is some kind of shiny Java-backed web app. It wouldn't surprise me at all if the old system was faster to use and less error-prone: those old greenscreen apps tended to be optimised for long-term use, rather than for showing off in a board-room demo.

<comment><USER18> having worked in data entry on a green screen app, as well as the .Net, Windows Form "upgrade", I agree with this sentiment.

the green screen app was highly optimized for efficient and accurate data entry without use of a mouse. The modern alternative looked better, but a large portion of the functionality was much less efficient in comparison.

the only redeeming factor of the new application, was it allowed much of the manual data entry to be automated. This however required considerable time, technical knowledge, and industry contacts to develop and implement, which not all organizational users possessed.

</comment></comment><comment><USER19> The headline is somewhat clickbaity and sensational.

Yes, it is bad that there are clerical errors in justice system.

But, if information is lost due to faulty software or user errors or even user error helped by bad UI design, it's still fundamentally just a clerical error. Those errors should be fixed and perhaps some people should be eligible for compensation for being mistreated due to error, but there is no sinister "software is putting people in jail" plan here. Just errors.

Embarrassing ones that should be fixed at a priority.

<comment><USER20> It definitely seems like more of the blame here should be shouldered by the police and the courts, who, knowing that the system has problems (and hopefully assured that those problems will be resolved in the future) should put less faith in them, and double-check (against filed papers, for example) potentially dubious results.

This is more expensive in terms of people's times, but it's just part of the cost of adopting the new software, and should be treated as such, possibly by billing the software vendor for the additional manpower required to work with the software during the transition.

<comment><USER19> Indeed. The "Computer says no" or "Computer says catch him" attitude should change: particularly if you know it's a new system, check twice before making drastic actions based on data it gives.

<comment><USER21> Even just "computer says this record has been randomly selected for manual review to verify system integrity, please consult your administrator on how to proceed or enter a manager's PIN to override" would be really helpful since it would effectively train people in double checking.

</comment></comment></comment></comment><comment><USER22> I expect the truth of this lies somewhere in the outsourcing industry. It has every smell of miscommunicated requirements and half-assed implementation.

If I'm right, I doubt it'll ever be admitted to though.

<comment><USER10> I wish I could upvote this a hundred times. I am currently dealing with an Indian dev shop and the code has been atrocious -- as if they didn't even read the requirement. Doing a very basic Stripe integration has taken nearly a week and it was still incorrect. I could provide days of examples.

<comment><USER22> The people _writing_ your code have certainly not read the requirements. They'll each be working on one single aspect, and focussing entirely on fulfilling some knocked-together unit tests written by someone who might've read the requirements, but only with a view to working out how to make as much existing code as possible from the last customer fit into your project.

</comment></comment></comment><comment><USER23> Kind of reminds me of Therac25. There a shitty user interface killed people. Here it "only" affects peoples lives in a dramatic manner.

A shitty user interface ruined somebody's life. Consider that.

<comment><USER24> For those like me who didn't know the details: [http://hackaday.com/2015/10/26/killed-by-a-machine-the- thera...](http://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/)

</comment></comment><comment><USER25> I'm so glad I don't have to only rely on a journalism source across the globe and can count on my local paper to warn me about such things.

[https://duckduckgo.com/?q=site%3Alatimes.com+tyler+technolog...](https://duckduckgo.com/?q=site%3Alatimes.com+tyler+technologies+software+upgrade&t=ffab&ia=web)

/s

<comment><USER12> To be fair - it's been covered by the East Bay Times, SF Chron and KQED in some depth. That's how I heard about it.

</comment></comment><comment><USER26> Not a system upgrade, but a faulty system. To which branch of the government should the court system be accountable?

<comment><USER27> Umm, the courts?

I knew various government techies who went to work for the Administrative Office of the [US] Courts. Honestly, I don't know what the chain of command was there.

</comment></comment><comment><USER28> Holy Cow! There needs to be some serious consequences for those responsible for this travesty.

</comment><comment><USER29> Perhaps I'm crazy, but isn't a $5 million contract a bit too low for an overhaul of the California justice software system?

Business-wise there's going to be a lot of things to cut, pushback against government asks for software, and a very skeletal plan for maintenance mode. I sometimes wonder how government models the businesses they do work with, or whether they work as hard as businesses in modelling the other side.

</comment><comment><USER30> I don't get why such software isn't an open source initiative. I wish the government would give more legitimacy to orgs like "code for america". Who wants a proprietary closed janky software to rule wether you are a criminal or not? Nobody, that's who. The only beneficiaries in that story are the people on the other hand of the contract, making $5M for an half baked piece of software!

<comment><USER31> While I certainly agree that all government software should be open source, it sounds like a big part of the problem here was a failure in gathering accurate requirements (which is a very expensive endeavor).

</comment></comment><comment><USER32> I don't see why people in the comments are blaming tech company (Tyler Technologies) for this. There was certainly someone over-seeing procurement and specifications for the government and it was _their_ job to make sure that the product which was procured and delivered was functional and ready to roll- out. _This_ person and their department should be held responsible.

</comment><comment><USER33> > _had recently finished a six-month drug programme after he was caught in > possession of marijuana and ecstasy._

THAT is what fucking should not have happened in the first place.

Let's not shift the focus to some glitchy software issues that will likely get worked out.

</comment><comment><USER34> If you care about the welfare of your fellow Californians, consider sending a letter to your U.S. Congressperson, your California State Assemblyperson and Senator [1]. Attach this article as an exhibit. Copy your county court.

Then, and this is very important, set a reminder out one week and call each of those people, confirming they received the letter and understand your concerns.

If this is too much, either accept you don't care about the issue (that's fine) or, if you do, that you may have wrong attitudes about how citizen influence works in a democracy.

[1] [http://findyourrep.legislature.ca.gov](http://findyourrep.legislature.ca.gov)

</comment><comment><USER35> I worked as a programmer for a smaller California county court system for about five years, and have seen something very much like this play out before (both in my county and others).

I can't comment on the Tyler product or their training directly; maybe they really are a rock star outfit. But if this is like past attempts, this project has all of of the worst of aspects of software development risks and none of our more "modern" methods to mitigate them.

The court employees - most of whom would _not_ be considered very computer savvy - probably had a lot of training directly with Tyler but are struggling with a system that a) doesn't meet their needs, b) changes years (decades?) of ingrained workflow habits and terminology, and c) may be much slower than what they used to have.

Observations from past projects like this:

* at it's heart it's a database CRUD app, but with hundreds of tables and thousands of fields and business "logic" encoded (in more database fields) to help with validation and workflow

* most of the above fields need to be fully customized for each county, so add in tables and logic to modify your UI on every screen

* this software was not built for Alameda county, but re-purposed from use elsewhere. Terms and concepts for how the law worked in the state this was originally built for may or may not apply here.

* "usability" success metric: "do all 50 fields on the page accept input and save data in less than 60 seconds?" (i.e. no concept of real HCI usability design at all)

* iteration process: waterfall. Vendor sits with court subject experts for 2-3 months, documenting all of the workflow. They customize their product to meet those needs, and a month later show a build that does this. Court can't use it yet (deployment locally would cost way too much), but they've printed out hundred of pages of screen shots to help document how it could be used. Hire external consultants to help with this process. Repeat until a) court money runs out or b) someone's reputation will be tarnished if the system doesn't launch

* There is no staging environment. Deployment is on local hardware only (no cloud). No bug tracker exists that the court can see. Builds are not automated, and "maintenance" may cost the court additional money.

* importing previous cases: worst ETL job you can imagine. Take data from an aging mainframe database that may or may not have any relational integrity at all, and try to plug it into a system as described in point 1

* administrative overhead: your county is given money from the state to do this, and then no choice about which vendor or software to use (because the state wants to roll this out in _all_ counties... each of which is very different from one another, even in CA)

tl;dr This is a horribly difficult software update, subject to the worst practices in our industry.

Personally, I don't think blaming court employees for "clerical errors" is fair at all - not that those haven't happened, but (from my experience) these are hard working people who care about justice yet have really lousy software that impedes their job.

I'd love to see a company do this software right - custom build, real iterative development hand in hand with the users. The Courts really needs it, they've never experienced a high quality product in this area, and the inefficiencies affect the wider economy (because civil matters are faster to resolve).

[edit: formatting]

<comment><USER36> Tyler Tech is not a rock star outfit. They may think they are, but they are not.

I interviewed with them in 2008, and that remains, to date, the worst interview experience I have ever had. Everything they did before the interview seemed calculated to convince me to withdraw myself from consideration, and everything after seemed calculated to discourage anyone else I knew from applying.

So I felt a little frisson of schadenfreude from reading the article.

</comment></comment><comment><USER37> This stems directly from the opacity of the California Judicial Council Technology Committee and the CCMS debacle it has generally made worse. Public comments are welcome, but secret.

[http://www.courts.ca.gov/jctc.htm](http://www.courts.ca.gov/jctc.htm)

</comment><comment><USER38> Anyone else put in mind of Gordon R Dickson's (1965!) classic: _Computers Don 't Argue_[1] ?

1: [http://www.dave.rainey.net/calendars/dystopias/process3.html](http://www.dave.rainey.net/calendars/dystopias/process3.html)

</comment><comment><USER39> The problem with incorrect input and mistakes could be solved by entering the same data two times by two different people. It is probably not that expensive.

<comment><USER40> It could be reduced this way, agree. But if a particularly bad UI is used in both cases, I'd assume it's quite possible to have duplication of errors here too.

I don't think that's enough in all cases.

</comment></comment><comment><USER41> Oh, no, people's freedom is being jeopardised? That's terrible, BBC.

[http://www.theregister.co.uk/2016/11/30/investigatory_powers...](http://www.theregister.co.uk/2016/11/30/investigatory_powers_act_backdoors/)

<comment><USER3> What does one have to do with the other?

Does the UK passing the investigatory powers act in any way have any bearing on abuses by the legal system in other countries or are we just playing "whataboutism bingo" today?

</comment></comment><comment><USER42> why is the company the govt not being sued into oblivion?

</comment><comment><USER43> Justice is whatever the 'justice' systems says it is. Citizens have no recourse. The 'justice' system has no checks or balances that can be accessed, except by the rich. There are no penalties for abuse or misuse, even when uncovered.

Yeah, that's exactly what I think of when I think of the concept of 'justice'. One day some people might create a just society, but it almost certainly won't be in the US.

</comment><comment> the-dude tl; dr; No need to be concerned fellow hackers, this only applies if you have been in the slammer before.

<comment><USER44> The article also references traffic violations - "Minor driving offences were incorrectly appearing as serious felonies"

<comment> the-dude Ah, well. At least I skimmed the article. Was worried system admins were getting arrested about automatic updates and such.</comment></comment></comment>


Apply HN: App to send, buy and maintain pre-paid gift cards - <AUTHOR> Problem: 1. Still it's very manual process to buy someone gift card.
2. One can use vendors website(for e.g. https://www.starbucks.com/card) to buy and send soft copy of gift card to recipient using email, which recipient needs to retrieve every time they want to use the gift card. 3. Problem with Gyft: To buy closed loop gift card for prospective recipient, one needs to know the recipient's buying habits quite well. For example, the person doesn't like coffee that much and you give them a 'Starbucks' gift card. Also Gyft is not available outside USA. 4. Customer has to carry hardcover gift cards every time they shop so there are higher chances of them being misplaced.
5. If customers fail to spend the full value of their gift cards, unspent gift cards dollars get expired OR they are forced to buy unnecessary or bit expensive item to just use the remaining gift card amount. 6. Customer neither gets any card expiry notification nor any promotional notification.<p>Solution: Our idea is to develop a Gift card service, possibly a mobile app and a web app, where one person can gift any dollar amount as a credit to another using their mobile number. Recipient can then use that amount as credit to purchase any company's gift card and buy the thing they really want and have control over the amount they want to spend. For example, if someone gives you $100 and you want to buy an iPhone cover for say $50, then you transfer $50 to Apple Gift Card and buy yourself that cover. Then you can use remain $50 with say Starbucks. Moreover, credit never expires, so your money/gift is not wasted. Customers also receives notification about special offers from gift card providers, so they can choose when/where to spend their credit. For example, Apple sells gift cards at 20% off, our customers can get benefit out of that, making the most of the gift they were given. <comment><USER2> Fraud is going to be your biggest problem (besides getting users). How will you handle it?

<comment><AUTHOR> Fraud can be handled in following way: Technical point of view we will keep following measure in place: \- Limited accessibility to the account due to an unauthorized transaction. \- Account verification via phone number and email. \- Prompting users to update their account information from time to time. \- Email and text Confirmation after sending money and receiving money.

We also believe that fraud is an awareness problem. So, we will keep consumer aware of how the common fraud looks like and how to stop them with appropriate measures. Please check the sample awareness link for pay pal. [https://www.paypal.com/webapps/mpp/security/common- scams](https://www.paypal.com/webapps/mpp/security/common-scams)

</comment></comment><comment><AUTHOR> Any questions? Happy to answer.</comment>


Announcing MongoDB 3.0 - <AUTHOR> https://www.mongodb.com/blog/post/announcing-mongodb-30 <comment><USER2> > a database so powerful, flexible, and easy to manage that it can be the new > DBMS standard for any team, in any industry.

It's good to see they haven't sacrificed the hype while working on other features :-/

<comment><USER3> As much as I agree with your sentiment, it still remains one of the most popular databases out there. All us techies can learn something from the hype they managed to create.

<comment><USER4> Source needed. Can't make outlandish claims like that without supporting evidence.

Here's a couple disproving your claim:

[https://www.scalebase.com/the-state-of-the-open-source- datab...](https://www.scalebase.com/the-state-of-the-open-source-database- market-mysql-leads-the-way/)

[http://db-engines.com/en/ranking](http://db-engines.com/en/ranking)

<comment><USER5> So grandparent claims it's one of the most popular databases out there; your first links claims it's in 4th place of all open-source databases; the second link says it's 4th place overall. Sounds fine to me (of course, who knows how those sites came up with those statistics). Maybe he ninja-edited and originally said _the_ most popular, I guess that'd explain the rage.

<comment><USER4> I'm pretty sure it said it was "the" most popular before, hence the replies, but I could be wrong.

<comment><USER3> No it was not, because that would be very easy to disprove (I can imagine MySQL and PostgreSQL being far more popular).

</comment></comment></comment></comment></comment></comment><comment><USER6> OK, I'll provide a user's perspective as we are invested in Mongo as a storage system for statistical data and have been using it for a good few years now. MongoDb has been, so far, very good to us. I did not experience any of the problems people sometimes cry so very vocally about. My main concern about Mongo is actually one that is addressed by this release so I'm quite excited to try it out - data compression. Mongo is generally quite irresponsible about disk space usage. Yes disks are cheap but I rather not have a 2TB dataset if I can have half the size, thank you very much.

As a side note, the hype from MongoDb the company equals the anti-hype you get on places like HN, so I guess they even out.

<comment><USER7> You may also really like TokuMX. It has the same API as Mongo (even works with Mongo drivers) but way lower disk use, faster indices, and better query semantics (e.g. updates don't affect the cursor you're iterating right now).

After using MongoDB for years (very happily too, I'm not one of the anti-Mongo crowd), I ended up switching and it's been great.

<comment><USER6> Thanks for the tip. I'll be sure to check it out.

</comment></comment></comment><comment><USER8> "We will continue to push the envelope in data interaction semantics, by implementing a transaction system for the distributed document model."

So...Mongo "can be the new DBMS standard for any team, in any industry", and they don't even support transactions yet?

<comment><USER9> I am old enough to remember MySQL in the 90s, those guys sneered at anyone who said they needed transactions, just do it in your application. Same with enforcing relational integrity, just do it in your application. We all know how that turned out.

<comment><USER10> MySQL is one of the top 3 databases, it is used as main database in Facebook, Wikipedia and many other high traffic we sites. There are forks like MariaDB and alternatives with more features like Postgres. MySQL with its several different db engines is unique and with the default InnoDB engine it is on par with its competitors.

<comment><USER9> Yes, the InnoDB engine adds transactions, foreign keys, and all the other traditional RDBMS features that the original authors of MySQL didn't think anyone needed.

InnoDB by the way is an Oracle product.

<comment><USER11> InnoDB wasn't always an Oracle product. It was bought in 2005.

<comment><USER12> Like many other Oracle 'products'

</comment></comment></comment></comment></comment></comment><comment> nevi-me I'm excited to see 3.0, but from what I've seen on JIRA, there might still be some issues with WiredTiger (fair considering how they moved from RocksDB to WT in a short period). Will be interesting to see if they'll close out those issues before they drop 3.0 in March.

A few months ago they closed up some of JIRA (comments and a bit epics/sprints), so some issues would be created and have no comments exposed. I thought they were working on transactions in this release (while they were still around 2.7.3 or so), but I guess that's not the case.

Lastly, I wonder how this will impact TokuMX, both positively and negatively? Really whether they'll be making their crown improvements into a pluggable storage type/engine, and if users would be able to take that and plug it into Mongo without patent issues on their fractal tree indexing.

Nonetheless, exciting news for some of us who are building on web-scale, MVCCABCD databases which operate at the speed of hype and web-scale :)

EDIT: saw that Tokutek has created TokuMXse, only after my post

</comment><comment><USER13> I feel like the vast majority of people that bash on MongoDB didn't fully understand it and what it was good for when they tried it. We've been using it in production for nearly 3 years in online games and have had nothing but good experiences with it. This 3.0 release will be yet another big step forward and we are excited to reap the continued benefits.

<comment><USER14> That's mainly correct. Or they used for it something it simply isn't suitable for.

You can't just throw random data into it and expect it to work. Proper document modeling and understanding write concern solve almost all the problems people have with MongoDB.

It still has a ways to go but so many of the comments here are issues from way back in v2.0.

Regardless, it's still very popular and only gaining popularity. And improving.

<comment><USER15> Agreed. I've also been using it in production for years and the hate is often misguided. My issues are almost never with lack of features, but almost always with the cavalier attitude towards bugs, even catastrophic ones.

</comment></comment></comment><comment><USER16> > Reduces operational overhead up to 95%

And 40% more hip. Gotta love those numbers. Also, don't forget about the new WiredTiger storage engine - sounds way cooler than, say, InnoDB! Hype is strong with this one.

<comment><USER17> Eh, Wired Tiger was built outside of Mongo ([http://www.wiredtiger.com/](http://www.wiredtiger.com/)), and does seem to be legitimately decent.

<comment><USER16> ...and their most important improvement isn't even their own.

I'm not a fan of bashing any product, but after using MongoDB in several projects, in legitimate document database use cases, I just can't find any bright side.

<comment><USER17> Oh, I can't stand Mongo. But I have nothing but respect for the Wild Tiger guys, and wouldn't want to see them slandered ;)

</comment></comment></comment></comment><comment><USER18> I'm writing 20000 financial ticks per second into Mongo on commodity hardware, namely a bog-standard i7 with 32 gig costing less than 2k. I don't have a big budget. I don't have a lot of time to mess with ACID. There is _no way_ postgres will do this for under 10-20k, without twice the work. I just need to keep up with the firehose of data I get from my financial application. I'm talking about my own big-data issue and even if a few records were ever to get lost, I don't care, because that's what big data is about: statistical sampling. And that does not require 100% in 100% of cases safety of every data point. That by the way, is the truth of big data. Who cares if a few records theoretically can be lost? I just need to capture as much as possible as fast as possible. Mongo fits perfectly. Redis would work, but I'd need 512 gig of RAM.....

I don't understand all the angst against this technology. If you need rollback-able transaction-guaranteed, exactly-once consistency, normalised schema with triggers left right and centre, you knew long ago that this wasn't the tech for you. Why is everyone so negative? I for one cannot wait to be able to store 4x more data on the same SSD, and using less RAM. In my view, Mongo is a massive enabling technology for startups on limited budget.

</comment><comment><USER19> Am I the only one using MongoDB who think it works great? I'm really happy with it.

<comment><USER20> I have been developing with MongoDB for about the past year. (Briefly, I have developed, and continue to support, an ASP.NET MVC C# Web Application that's used by a few thousand people daily. For my personal projects that use MongoDB, I develop with PHP and Python.)

Overall, I enjoy working with MongoDB, because it ( _generally_ ) maps directly to your object - there is no need for an additional layer (such as an Object Relational Mapper (ORM)).

However, you have to be _more careful_ with your data structure. For example, having sub-arrays in sub-arrays is probably not a good idea.

I will be happy to share more, so feel free to look up my profile.

<comment><USER21> I ran a website and operations for a company that did over 1mm a year in revenue. Everything was done off of a single machine that was the webserver, database server and media server. Had 10k customers all of whom were active daily. Postgres and Python/Django and I never saw load averages much over 10%. Unless you have a substantial fraction of a million daily users you probably don't need mongo.

<comment><USER20> I agree with that MongoDB may have been overkill, but my web application's architecture was chosen before I joined the team.

</comment></comment></comment></comment><comment><USER22> Somebody at MongoDB must have read the early Oracle story. Start with one consumer niche (in mongo's case I think it's the common building-cms-based- websites web developer), improve the product, market ruthlessly.

Granted, their product is not excellent and it has major flaws and lacks some common DB features, but they have the advantage of developer-ease-of-use and low barrier to use.

I think this product is simply not yet "DONE".

</comment><comment><USER23> We've been using TokuMX for a while and I highly recommend others take a serious look there. It already contains the benefits cited for MongoDB 3 and more. Toku also has a release candidate for the new Mongo storage engine API named TokuMXse, though it's interesting to see that TokuMX proper still outperforms it: [http://www.tokutek.com/2015/01/first-tokumxse-performance- nu...](http://www.tokutek.com/2015/01/first-tokumxse-performance-numbers/)

<comment><USER14> Problem is where it is branched. I don't think they will be able to keep up well. Plus, the new MongoDB storage engine (wire tiger) takes care of its biggest issue which Toku addresses.

Plus, I think you'll be able to just buy Toku's storage engine if you want it when they make it pluggable with the new MonogDB storage engine API.

</comment></comment><comment><USER24> I agree this announcement is dripping with hype, but all the same I'm excited to get my hands on this. Seems like they're trying to address (some) common pain points.

</comment><comment><USER25> I'll add to what @harel says below. If it wasn't for MongoDB, my last company would have probably not survived. Sure, our usecase was very specific (very write-heavy app) but MongoDB delivered and still delivers without any problems. I think there can be usecases where MongoDB is not the best fit, but for wide number of applications, MongoDB is the perfect fit.

<comment><USER26> I'm actually surprised that MongoDB saved your write-heavy app. In my experience, it's Mongo's poor write throughput that causes the most headaches. This 3.0 release finally begins to address that with collection and document level concurrency control (locking).

</comment></comment><comment><USER27> Can some people who have used Mongo in production elaborate on their experiences where Mongo worked well or didn't work well? I see a lot of more hate than I do love for Mongo on HN and I'm curious why.

<comment><USER26> I've used Mongo in two large projects and have mixed feelings about it.

Pros: It's great for building your MVP. Super easy to get up and running, super easy to work with at a superficial level (I'm talking about storing data and querying here more than ops and administration), dataset can grow to a fairly large size without you having to think about your database at all, freeing you to think about your business. Mongo was my first brush with "schemaless" and that's a big advantage particularly for early-stage projects where things are in flux. I also enjoy using JS as the query language, because I like JS, but YMMV.

Also for certain use cases, particularly the single document case, it's probably one of the best solutions available. However, in my experience, this ends up being a limitation if your data doesn't fit nicely into a single document, and the types of data that do fit this use case are rare.

The cons you've probably heard before: no transactions, no joins, not ACID compliant, until very recently writes locked the entire database, scaling/sharding _just works_ until it doesn't.

</comment></comment><comment><USER8> The differences between mongodb.com and mongodb.org are striking.

I was confused about why there was no links to documentation on the .com, until I stumbled onto the .org, which lists actual features right on the home page.

Also striking: no mention of 3.0 on the .org home page at all, and on the downloads page, you have to scroll down to "Development Releases (unstable)" to find any reference to the 3.0 builds.

[https://www.mongodb.org/downloads](https://www.mongodb.org/downloads)

Quite the split personality between the two sites.

<comment><USER14> The .com is the corporation behind MongoDB. .org is the open source project. Yes, they are intertwined heavily at this point (but it wasn't always this case back in the day) but I can understand why they try and keep their separation of concerns here.

</comment></comment><comment><USER28> You can build a slow product and when you make it normal-speed you say 5x faster!

</comment><comment><USER15> Am I the only person that things the sheer number of people that have had scaling issues with mongo is a GOOD thing? I think it speaks to changing technology landscape and attitude towards data.

Many more people are collecting and working on larger data sets than they would have ever dreamed of years ago. I credit MongoDB, in part, to allowing developers to do this and encourage them to try. Sure it has it's limitations and may not be as great in areas as other databases, but, wow have a lot of people tried and succeeded.

tl;dr, If reverse survivor-ship bias is a thing, I think mongodb has it.

<comment><USER29> I've been pretty happy with mongodb overall for a few years now. It isn't always the best fit... but it's a very good fit for a lot of scenarios. Replication and sharding in mongodb is way easier to get started with than most databases, and the failover for replication is very good as well. Though understanding how it works is still advised. Such as not having more than X nodes voting for electing a leader in case of failover, etc.

That said, there are situations I'd be more inclined to reach for ElasticSearch, Cassandra or others. As soon as RethinkDB has it's automatic failover story in place, I'd put it above MongoDB though, slightly nicer developer interface, and admin is much nicer than others.

Then again, if PostgreSQL got replication with failover in the box, I'd probably use that far more.

</comment></comment><comment><USER30> "MongoDB 3.0 will be generally available in March, when we finish putting it through its paces. Stay tuned for our latest release candidate, we would love it if you would try it out and give us feedback." So... no 3.0 final yet. That's disappointing. However - I'm really excited about 3.0. Initial tests show way better performance than 2.6. Plus data takes just 1/4th of disk space. That's amazing. I hope this is just beginning and each next release will add more and more features based on what WT can deliver.

</comment><comment><USER31> I'm actually fairly interested in the WiredTiger integration. I switched from MongoDB to TokuMX about a year ago because of disk space and atomicity concerns, and Toku's been really good to me. Mongo 3.0 promises to catch up in many respects; if it does, then it might actually solve the vast majority of the complaints that people have historically had with it.

The marketing copy still pretends that TokuMX doesn't exist, though - it's had these features and more (including transactions) for quite some time now.

</comment><comment><USER32> The announcement, to me, was way over the top. There was so much noise in the announcement with very little in terms of signal. It reads almost like vaporware, even though it probably was not.

Just give us facts, plain and simple. What it improves and how it improves it. When there are that many adjectives about the project, it just causes me to tune out a bit.

Was this supposed to be part of a sales deck or something? (An as aside, I use mongo and know its pluses and minuses so reading all that hoopla is just unseemly.)

</comment><comment><USER33> MongoDB seems to be a love/hate relation. I haven't used it myself, but I found this article[1] very useful. My conclusion is that MongoDB works, but you need to understand it and take some time to plan the deployment.

[1] [https://blog.serverdensity.com/does-everyone-hate- mongodb/](https://blog.serverdensity.com/does-everyone-hate-mongodb/)

</comment><comment><USER34> Slightly off topic: I prepared this MongoDB Quick Reference Card last year; never put it online before. Hope it'll be useful to someone looking for a quick peek into how mongo db commands work - [https://dl.dropboxusercontent.com/u/58502821/mongodb_qrc.pdf](https://dl.dropboxusercontent.com/u/58502821/mongodb_qrc.pdf)

</comment><comment><USER35> Comment threads like these help me learn how different the HN groupthink/prevailing thought is from the reality on the ground.

In reality, MongoDB works well enough to be where they are, armed with the money they have.

<comment><USER14> That's the point so many here fail to address. Lots of businesses are using MongoDB at large scale (2PB clusters) and willing to talk about it too.

MongoDB gets a bad rep, some of it their own fault for sure, but it's not as lousy as some people here make it out to be. Careful object modeling goes a long ways. Wired Tiger will be a massive improvement on their current storage engine, which is pretty awful for write-heavy loads to be sure.

</comment></comment><comment><USER36> Anybody knows how FoundationDB compares to MongoDB 3.0 ?

</comment><comment><USER37> Do they still value speed over durability? If so, thanks but no thanks. I prefer my database to be durable. If I want speed, I use RAM.

<comment><USER14> You've always been able to control this with write concern on a per-write basis. If you can handle an instance where and acknowledged write may not get replicated and possibly lost (logging use case - fast writes) then use that level of write concern. If you require extreme durability (slower writes but more durable) then use that level. In many applications you have both requirements and MongoDB lets you choose at write time the level of durability you want.

<comment><USER37> Does version 3 fix the issue where the database lies to you and says the write was complete once it hits the network socket and doesn't wait for the ack?

[http://hackingdistributed.com/2013/01/29/mongo- ft/](http://hackingdistributed.com/2013/01/29/mongo-ft/)

<comment><USER14> He was using v2.0 in that article. A version that is years old and pretty awful. The default then was that a write was fired from the client and that's it - fire and forget. A stupid default.

The default since is to get an ack from the server. You can control this on each write and make it more durable (make sure it is replicated to 1, majority or all replicas) or faster (just get to the server). The default is to be written to the primary server and put into the transaction log so if it doesn't get committed to disk (possibly 60 seconds by default) it can recover. The transaction log is flushed (fsync) every 100ms by default and is configurable. You can also specify that the write is only acknowledged after the transaction log is synced. Anyways the default is it is put into the transaction log and then acknowledged.

<comment><USER37> Ok, fair enough. Then the answer is yes, they did fix it. :)

I guess I'll give it another look then.

But I'm still a little wary of a database built by people who ever thought that such behavior was acceptable for a database...

<comment><USER14> I'd make sure you use the new storage engine, wiredtiger too if you give them another shot. The standard one works well on read heavy use cases but saturates I/O pretty quickly if you're doing a lot of updates that make documents grow if you don't take some precautions.

I also agree, having a setting of "fire and forget", although useful in some (limited!) use cases, is not a sane default.

</comment></comment></comment></comment></comment></comment><comment><USER38> You got your chance, Mongo, and you screwed it up.

I tried getting the most out of you. I treated you like a princess, I indulged you, your wishes became my wishes and your thoughts were my thoughts. I stopped listening to all that criticism around you and thought of you as of a misunderstood child, even as you would refuse to do even the easiest tasks one could imagine.

I gave you everything there is to give, but you broke my heart. You left me in the most critical moments. I trusted you, but you would go your own way. Tears were shed and countless sleepless nights were to follow.

Remember that night you disappeared without leaving a sign? I sent you messages which got a response only after many hours. You didn't give a damn about my needs. One you told me: "it's not me, it's you". And I believed you, I truly did.

It's over now. It's been some time without you, and I'm getting better. I have discovered, that not everyone is like you. Some DBs care, they really do. You can trust them, they give you their everything.

I'm still struggling falling in love again, but it's getting better. Don't write me back. Goodbye.

<comment><USER39> How is a non factual comment like this being up voted? Just because it aligns with hn prejudices?

Edit: I guess for the same reasons I am being down voted without comment.

<comment><USER40> Because it alludes to problems many people have experienced with this product. All verbal communication is indirect to a degree. This is no exception.

<comment><USER41> You have to admit that it feels very out of place here on HN.

I wouldn't have minded it as much if it wasn't so long and including some detailed issues OP faced with Mongo.

</comment></comment></comment></comment><comment><USER42> So I heard this means it's webscale now?</comment>


Ask HN: What are the best online IDEs? - <AUTHOR>

Hey
To make it very short and clear: recommend me online IDEs for (web) development. Browser-based, extension or not. Paid and free, both work.
I know of Cloud9 and Nitrous.IO. I'm planning to pick one for myself, and make a comparison website for the WWW.
To make an extensive list of the available possibilities.
Thanks a lot in advance. <comment><USER2> Choosing an online IDE will be much the same question as choosing a native application: what are you looking to get from it?

There are heaps of articles comparing different IDEs, but quite often, the question is attacked with a certain bias. Some developers value simplicity; some value turnkey solutions; some value extensibility...you get the idea.

If you're looking mainly for one for you to use, maybe provide some details on what you're hoping to develop in/on/for.

If you're mainly looking for suggestions so that you can compare them (and get a nice one as a side benefit), again do some research, and see if you can find common areas between the offerings, and compare on those. Anything that's not common, treat as either a unique feature/functionality, or as a minus, or as something that might influence niches of developers.

<comment><AUTHOR> Yes, that's of course how you should do it if you were looking for something specific. But I'm not, at least not just now.

What I'd like to get from this thread is as many suggestions as possible to compare them, see how they work, and make my own decisions. Probably use one for some project, and another one for something completely different.

I left my requirements out from the OP for a reason.

</comment></comment><comment><USER3> I use (and extend) Orion:

[https://www.eclipse.org/orion/](https://www.eclipse.org/orion/)

It is open-source, and it is used in IBM DevOps services:

[https://hub.jazz.net](https://hub.jazz.net)

</comment><comment><USER4> I've used Codio [https://codio.com/](https://codio.com/) and I thought it was pretty nice.

They are integrated with Git etc., worth checking out.

</comment><comment><USER5> I compiled list a few months ago, there are also quite a bit of suggestions in the comments.

[http://codecondo.com/16-online-javascript-editors-for-web- de...](http://codecondo.com/16-online-javascript-editors-for-web-developers/)

I hope it helps in one way or another.

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER6> I really really like the simplicity and speed of [http://nitrous.io](http://nitrous.io). May not look as pretty as the other ones but it's the fastest and extremely functional.

</comment><comment><USER7> I've gotten a lot of mileage out of Koding[0]

[0]: [http://koding.com/](http://koding.com/)

</comment><comment><USER8> c9.io in vim mode. Too bad they removed Zen mode in last update.</comment>


Ask HN: Suggestions for self / non-YouTube video hosting? - <AUTHOR> I'd like to host a few videos somewhere (probably 10's of GB; 10's of viewers).  I don't want to use YouTube.  Is there some simple open web, or other decentralized solution for this?   (I'm counting running my own web server as "decentralized" for these purposes.) <comment><USER2> Vimeo

BitChute

</comment><comment><USER3> peertube?</comment>