Qualcomm Tumbles After Losing U.S. Antitrust Ruling - <AUTHOR> https://www.bloomberg.com/news/articles/2019-05-22/qualcomm-shares-drop-after-company-loses-u-s-antitrust-ruling <comment><USER3> So Qualcomm would be forced to have more oversight and accountability that they are playing fair. I'm all for that with a company who has standard essential patents.

<comment><USER4> It also potentially opens up Qualcomm to litigation by licensees that have over-paid.

Of course the Apple law suit is the first thing that springs to mind. Apple alleged harm very much along the lines of that described in this judgement. They probably settled because Intel wasn't able to supply modems for their next Phone and they couldn't wait any longer to cut a deal with Qualcomm without risking their roadmap. However, this judgement might re-open a window for them to sue again.

<comment><USER5> >They probably settled because Intel wasn't able to supply modems for their next Phone

I'm very unconvinced that they settled because of 5G or Intel. Apple plotted the world-wide regulatory attacks, the FTC's lawsuit in the Northern District of California, and the pending class-action lawsuit at least two or three years ago. Further, most wireless carriers won't even launch 5G until much later this year, with national wide coverage starting in late 2020 (most likely later). And Apple couldn't wait a couple of weeks? That doesn't make any sense.

It's most likely Apple knew they had very low chance of winning outside Lucy Koh's court in the Norther District of California. It was no coincidence that the FTC went shopping around for forum in Apple's backyard. They didn't however foresee the gov't shutdown early this year that delayed Koh's decision and now Apple was walking into QCOM's den in the Southern District empty handed. So the choice was fairly clear: wait for Koh's decision which might not arrive on time, then settle, or fight QCOM. The latter option carries a lot of risk since, in addition to most likely adverse outcome, Apple's unsavory, embarrassing legal or supply-practices would be exposed (ie, potential lawsuits from investors).

<comment><USER6> IMO if Apple knew it was 'weeks away' they would have waited to settle, because they would have had the upper hand.

These kinds of big patent litigations are a bidirectional game of chicken. It's possible Apple flinched and settled; they could have anticipated a loss. On the other hand, Apple could well have obtained steep discounts on their 5G modem orders from Qualcomm as part of the settlement to compensate them for their troubles. I think it's hard to speculate on what actually happened without more information.

</comment></comment></comment></comment><comment><USER7> FOSS Patents [1] has blogged about it, although I believe the site tends to be a little Pro Apple in its narrative ( And that is speaking as someone who like Apple ), it does provide a decent summary.

[1] [http://www.fosspatents.com/2019/05/breaking-news-federal- tra...](http://www.fosspatents.com/2019/05/breaking-news-federal-trade- commission.html)

<comment><USER8> > "Qualcomm's royalty rates are unreasonably high" (Section G). That holding > will hurt Qualcomm, though it's common sense. They simply charge a lot more > than the rest of the industry--from the perspective of some major OEMs, more > than the rest of the industry combined.

Gee, I don't know: if their modem is superior, then why shouldn't they get superior share of the market? That's not anticompetitive if they make a better product. BTW if they capture the majority share then it's totally expected that they should get "more than the rest of the industry combined."

<comment><USER9> Alternate quote from the judge: "Qualcomm's licensing practices have strangled competition" in certain modem chip markets "for years, and harmed rivals, OEMs and end consumers in the process".

Strangling competition and harming rivals is how you (illegally) get and maintain a superior share of the market.

<comment><USER10> It's not illegal if they're not found guilty.

And even if they're found guilty, if punishment is .0001% (or some other laughable minuscule percentage) of their revenue, its not a punishment - it's a cost of doing business.

<comment><USER11> > It's not illegal if they're not found guilty.

...which they just were. That's the point of the article.

<comment><USER10> And please read the second part of my statement.

If the punishments are minuscule, it'll just be a cost of doing business. Or better yet, there may be no fines at all.

What happened with Yahoo? Equifax? Mariott? Adult Friend Finder? Target? eBay?

Each of those has hundreds of millions of people involved in massive breaches. Do they still exist? Were they fined appropriately for the impact they caused?

(Admittedly Yahoo isn't the best of examples, because they were in a downslide with no good market. But nor were they fined for a breach of every account.)

<comment><USER11> I'm not sure why you're bringing up data breaches, which are totally unrelated to antitrust law. Data breaches are also difficult to sue over in the US, as there's no law specifically requiring companies to implement security measures or imposing penalties for being breached, although some lawsuits based on common law "reasonable care" claims have gone forward [1].

Anyway, in this case, it looks like the FTC did not seek monetary relief (not sure why), but they sought and received an injunction basically ordering Qualcomm to stop doing what they were doing, with compliance and monitoring procedures to enforce it. That's not as dramatic as a financial penalty would have been, but the stock hit suggests that Qualcomm nevertheless will suffer as a result.

[1] [https://wp.nyu.edu/compliance_enforcement/2019/03/06/the- ris...](https://wp.nyu.edu/compliance_enforcement/2019/03/06/the-rise-of- cyber-negligence-claims-plaintiffs-find-receptive-judges-by-going-back-to- basics/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is the right ruling. These guys are the biggest IP bullies out there in tech. Their entire business model depends on it.

<comment><USER13> "Qualcomm is a law firm with a few engineers"

But seriously, Qualcomm is the worst company ever to work with (except maybe Oracle). They are like a gorilla - they won't budge no matter how hard you push. Every little thing costs licensing money - from documents to tooling. We have a Qualcomm SoC for my current project, and support is abysmal.

They put in a minimal effort to provide support and only after you've completed the onerous requirements to submit a support ticket. It involves retrieving tons of dumps and logs and such using their various Q-tools (which are very buggy and half-baked; many of them cost $25k+/year to license). Most of the time they'll just shrug and say "works on our setup" and refuse to help. We'll spend hundreds of man-hours debugging their crap until we find the issue in their kernel driver and then they won't even acknowledge it was a problem and will say "qmi_wwan is an open source driver. We do not support it." Right, so you expect _everyone else_ to maintain and fix the bugs in qmi_wwan even though virtually ALL of your customers use it and you yourselves rely on it as a critical piece of your development platform. Good one, Qualcomm.

<comment><USER14> Do you ever point out some terrible design decision and they reply "working as designed" and then do nothing?

<comment><USER13> The thing is - their software quality is very poor from what I've seen. 1000-line switch-statements with tons of DRY violations, that kind of thing.

But they are really good at testing. They will make darn sure their software works under their extremely narrow and fragile definition of a test platform.

If you deviate from their test platform _at all_ , you can kiss support goodbye.

"Oh, you are using Linux 4.X to talk to our chip? Nope, no support, we specified Linux 3.19 in the test setup, you are on your own."

What sucks is that our platform involves a lot of different vendors - <USER2> Marvell SoC, a Qualcomm SoC, etc. All the other vendors will work with you.

But with Qualcomm it's their way or the highway. They know they can get away with that behavior.

<comment><USER15> Its still such a shame that a company as belligerent and unfriendly as Qualcomm bought out the best, most forthcomming and friendly WIFI vendor, Atheros.

Predictably, months after the acquisition, all atheros documentation initiatives were killed, and their new generation of chipset requires a gigantic closed source blob that barely functions, with an absolute minimum of functionality (you cant even change the MAC address!)

</comment></comment></comment></comment></comment><comment><USER16> "Qualcomm Inc. shares fell the most in more than two year"

That's technically correct, but misleading. The stock is still 20% higher than it was on April 15, 2019. (57 then, 69 now).

</comment><comment><USER17> What's the most powerful foss microcontroller/soc? I guess there are very little incentives to build powerful foss chips, or maybe it's too expensive?

I guess that's due to the tooling used around building the physical chip?

I don't know how much r&d money was spent on the rpi since the chip is proprietary, and if it's doable to spend money to develop a foss soc.

<comment><USER18> FOSS as in the BSP? Freescale's chips tend to be decent (we'll see how long that lasts now that Qualcomm owns them.) although I don't think most of them have modems or GPUs.

I liked TI's stuff but it's definitely not meant for anything like a modern smart phone.

If you meant the SOC itself... I haven't even heard of any outside of some fringe kickstarter things.

<comment><USER19> Qualcomm doesn't own Freescale. Freescale got bought by NXP and the acquisition by Qualcomm didn't came through, so it's still owned by NXP.

By the way, Freescale doesn't exist anymore and the chips that are still avail. are reaching EOL

</comment></comment></comment><comment><USER20> I can't think of Qualcomm without remembering when it rocketed insanely high back before the dot com crash. My dad had inherited a tiny bit of money about then and put some of it in the stock market; I got really into watching the business news after school for a while. Unfortunately he left it in a little too long.

<comment><USER21> Those were heady days. My wife worked there at that time . One day she told me we were millionaires, I blew it off. A few days later she has documentation and it seems that we are MULTI millionaires just thru options she was granted . That was a wonderful windfall. Very unexpected as well. I've followed the company very closely for reasons I stated above and it took a downfall when Irwin stepped down and handed the reins to his son. That's about the time the H1b really started taking off and qcom took advantage of that, wages fell and although I do know some ppl still there writing Java the newcomers did the job cheaper and qcom started to rot from the inside. They always had thier patents on display as anyone who ever walked into the main office will tell you. I don't blame them for using the legal system to enforce thier patents. I'm sure you would have done the same thing although thier hiring a bunch of ppl from overseas really hurt American Engineers, it helped a bunch of American lawyers

</comment></comment><comment><USER22> Fans of volatility must love QCOM. Jumps on the favorable apple ruling a few weeks ago and a few weeks later falls on this ruling.

<comment><USER5> Let's not forget about the Huawei ban, less than a week ago!

You need a ball of steel to trade in this stock.

</comment></comment><comment><USER23> Great. Qualcomm is a law company, not a tech company. We need less of these with power.

</comment><comment><USER24> It's ok, the oval office might eventually back them on the international markets..</comment>


Spinning black hole powers jet by magnetic flux - <AUTHOR> https://phys.org/news/2020-08-black-hole-powers-jet-magnetic.html <comment><USER2> >"Black holes are at the center of almost all galaxies that have been studied so far. They have an unimaginably large mass and therefore attract matter, gas and even light. But they can also emit matter in the form of plasma jets—a kind of plasma beam that is ejected from the center of the galaxy with tremendous energy. A plasma jet can extend several hundred thousand light years far into space."

PDS: That's interesting... Intense gravity (and solid objects AKA "matter" that would be attracted by the gravity of the black hole) going one way -- and a plasma vortex, equal-and-oppositely, going the other way...

If this article is true, then it makes me wonder if the reverse could be accomplished -- create a plasma vortex going one way, and get a corresponding black hole behind it...

</comment><comment><USER3> So its like a giant automotive coil, storing up magnetic energy until it can't be held then dumping it in a wide bandwidth electromagnetic emission?

</comment><comment><USER4> This is a great paper.

I just want to know how cosmologists are going to handwave away that this isn't generated by some unknown gravitational phenomenon, that gravity does not scale to the size required for this, and that the electromagnetic force is the driver of all phenomenon at the solar or galactic scale, including this.

<comment><USER5> I mean, that is what the article appears to say, no? Magnetic forces carried by the plasma surrounding the black hole interacting with frame-dragged spacetime.

<comment><USER4> The actual paper doesn't say that, Phys.org coverage is a bit hit and miss sometimes, trying to dumb it down enough for the common reader (but not nearly as much as the news media does).

The paper is mostly about the actual record of the observations. Based on the description of the authors, it seems they're witnessing a huge z-pinch being formed out of a (most likely multi-layered) toroidal plasma field.

Conceptually, this phenomenon and experimental double layer Hail effect thrusters are pretty similar, and exploit the same area of plasma physics. The jet doesn't switch on until you pump enough energy into it, similar to how plasma goes from glow mode to arc mode relatively quickly, but forms a self- reinforcing helical beam perpendicular to the plasmoid donut.

None of this necessarily requires gravity, even to stay cohesive at this immense scale.</comment></comment></comment>


Show HN: MiniKanban – a personal desktop Kanban board for introverts - <AUTHOR> https://www.minikanban.com/introducing-minikanban-personal-kanban-board-for-introverts/ <comment><AUTHOR> Hello! Dmitri, author of MiniKanban and some other apps here. A brief FAQ:

Q: What is it?

A: It's a desktop Windows app that implements a Kanban board. You can think of it as an advanced to-do list.

Q: Why is it better than Trello or any other Kanban software of which there are thousands?

A: Originally it was a an over-weekend pet project for my own needs. I needed a Kanban board for quick short-term projects that can link tasks to files on my PC since I myself is mostly a desktop developer. I found none.

Q: Why is it not free?

A: I am indie software vendor, I make living from selling my software products, so this one is commercial too. Compared to cloud-based services it's moderately fairly priced, with one-time fee of 49USD, and no subscriptions.</comment>


The Best TV show you've (probably) never watched - <AUTHOR> http://www.cbc.ca/dragonsden/

<comment><USER2> I've seen the British version of the show, I didn't know Canada had it's own version.

I don't know how beneficial it is to entrepreneurs, it is interesting to watch, I completely agree with that, but the British version doesn't offer much education except for allowing you to see elevator pitches and see who's a moron and who comes prepared.</comment>


Meteor 0.5.3 is out - <AUTHOR> http://meteor.com/blog/2013/01/07/meteor-053-deployment-settings-minimongo-spark-accounts This framework fascinates me day by day. Now I'm going to make new project. I'm Python developer and wondering to use Meteor now. <comment><AUTHOR> This framework fascinates me day by day. Now I'm going to make new project. I'm Python developer and wondering to use Meteor now</comment>


Which software platfrom will be the best to  build online hotel sells Services? - <AUTHOR>

<comment><USER2> Django. Just sayin'</comment>


The power of OS X hot keys unlocked - <AUTHOR> http://www.theregister.co.uk/2008/12/15/hotkeys_framework/

<comment><USER2> What a confusing title and article. I read the first four paragraphs and I still don't really know what power has been unlocked, or how.

<comment><USER3> I imagine it's _supposed_ to be an introduction to NSPrefPaneUtils; just showing how much stuff NSPrefPaneUtils really covers. It's basically a list of three random .prefPanes that can possibly exist and be used on a Mac and how they get used. Doesn't quite fit in with the article title though, so I can understand the confusion.</comment></comment>


Ask HN: Viral loop of apps using Instagram API - <AUTHOR>

I'm building the app for casual "mass" users, which will use Instagram API to post users' content. I see "tag spamming" and support of @ tag of the profile as part of the viral loop of engagement/activation model of users.
Are there exist any stories containing success/fail result of such growth hacking approach with sample metrics attained?
Thanks, HN! <comment><USER2> You can't use the Instagram API to post user content.

<comment><AUTHOR> why? I mean sharing via Instagram

<comment><USER3> They keep those endpoints under lock and key</comment></comment></comment>


U.S. sales of Tesla Model 3 plunge 74% in January, according to outside estimate - <AUTHOR> https://www.latimes.com/business/autos/la-fi-hy-tesla-sales-plung-20190201-story.html <comment><USER2> A drop in sales during one typically slow month does not a trend make. However, I think the underlying concern is that the Model 3 is essentially a luxury sedan, at least as currently priced. There is no mass market in the USA for luxury sedans. Tesla is in a race against time, and time is running out.</comment>


FOSSmarks – A guide to understanding trademarks in the context of FOSS projects - <AUTHOR> https://fossmarks.org <comment><AUTHOR> Relaunched, featured in Github's Open Source Guides. [https://github.com/FOSSmarks/FOSSmarks](https://github.com/FOSSmarks/FOSSmarks)

Mirror:[https://git.fsfe.org/fsfe-system- hackers/FOSSmarks](https://git.fsfe.org/fsfe-system-hackers/FOSSmarks)</comment>


Better HTTP/2 Prioritization for a Faster Web - <AUTHOR> https://blog.cloudflare.com/better-http-2-prioritization-for-a-faster-web/ <comment><USER2> The big take-away from this is that "HTTP/2" is not the same thing everywhere. _Quality of implementation matters._ We didn't see so much variation in HTTP/1, because servers had almost no control, and clients were opening multiple connections, so even bad prioritization was hidden by TCP-level parallelism.

In HTTP/2 we've reached a good level of interoperability, but bolting on HTTP/2 on top of a server architected for HTTP/1 is not enough. We have room for optimizations and maturity.

<comment><USER3> well h2 for development is really hard since basically you need to create a certificate, because no major browser implements h2 over plaintext. i mean a lot of people can live with that and just insert a development certificate into their trust chain, but some people do not understand that and others work in more restricted environments. so basically fully controlling and developing with h2 is basically not as easy as it was with http/1.

<comment><USER2> For server development the hard part is simulating realistic network conditions. For example, on localhost, you'll never witness any prioritization happening, because you'll never grow a queue of responses still waiting to be sent down.

<comment><USER4> Browser Dev tools pretty much cover that in one click these days.

</comment></comment></comment></comment><comment><USER5> It seems like this is another example of every aspect of web development getting more complicated, favoring the larger players. On the other hand, it's good that in this case, any website could just buy the results of that expertise.

<comment><USER6> You are not wrong - in reality we have had a tiered internet for years now, where big sites pay for faster transfers over better routes.

However nothing says you actually have to use these fancy services. Everyone wants a quick loading site but the drawback of an extra 100ms are minimal. Almost everyone should be more concerned with good site design and minimizing client-side dependencies if they want good performance.

<comment><USER7> Why would you say extra 100ms is a minimal drawback? Google obsesses over load time because faster load time means more ad dollars generated.

700ms vs 800ms is the difference between acceptable and a slow loading web site.

<comment><USER5> It matters for websites, but only after fixing many other problems with performance and usability.

For an individual user, it doesn't matter to me if I use a website a bit less because it's a little slower. That might even be an improvement, since I was probably using the Internet too much anyway.

<comment><USER8> > It matters for websites, but only after fixing many other problems with > performance and usability.

Or does it? Once you fix major performance, usability problems and it starts to feel fast - other efforts become kind of pointless and may even become sources of performance, usability problems themselves.

</comment></comment></comment></comment></comment><comment><USER9> "Web pages are made up of _dozens (sometimes hundreds) of separate resources that are loaded_ and assembled by the browser into the final displayed content."

Could that be the reason that that the web needs to be "faster" (despite tremendous advances in CPU, storage, bandwidth and network speeds)?

The dozens (sometimes hundreds) of separate resources are loaded _by default_.

What is their purpose? Where do they come from? Are all of them necessary?

What if an advanced user could tell the browser to only load certain resources from certain sources?

For example, maybe skip certain ads and tracking, as specified by the user.

Perhaps do not load the Facebook "Like" buttons (images), but load all other images.

Control exactly which Javascripts to load.

In _addition_ to the options that browsers now provide, provide more fine- grained controls.

Could that make the web faster?

A bonus would be if these user-defined, fine-grained browser settings could be saved in a portable, interoperable format, e.g. to external media, in addition to being able to save them to "the cloud" (which may be servers run by advertising-supported browser authors). Browser authors do not need to know which resources users may wish to block.

<comment><USER10> 80%, if not more, of what you describe is do-able with Raymond Hill's uMatrix [0]. And yes, it does make the web faster and safer, though it breaks certain websites.

\--

[0] [https://github.com/gorhill/uMatrix/blob/master/README.md](https://github.com/gorhill/uMatrix/blob/master/README.md)

<comment><USER9> True, there are ad-ons to address such browser deficiencies. The question is why browsers do not have these capabilities natively. Clearly, a large number of users want them.

Note that the 20% in your estimate are quite significant.

As for "breaking websites", perhaps in the evolution of a web to be faster, those "certain websites" with too many third-party dependencies should be selected against, not for.

Another interesting question is whether something like HTTP/2 developed by an advertising company encourages the inclusion of more third-party resources, perhaps in the form of advertising and tracking, or does it encourage less, in the form of smaller, faster, safer websites? It appears to be overkill for the later.

<comment><USER11> Firefox seems to be in the process of gradually implementing a lot of user privacy and control measures.

</comment></comment></comment></comment><comment><USER12> I block all JS and have a comprehensive blocklist for just about every ad service there is. Stuff usually loads damn fast (ok, when not broken by JS missing, an acceptable price to me, I get speed and safety for free). I always recommend people try it.

It's fast enough except when webbish types do stupid things.

Just yesterday I was looking at a Scientific American article which was held up by an entirely pointless 2.6MB gif, this one <[https://static.scientificamerican.com/blogs/cache/file/80C44...](https://static.scientificamerican.com/blogs/cache/file/80C4493E-6185-4B03-8BB3D50C6EFE5DB1_source.gif?w=590&h=800&F16593DB-37EB-46A1-ADBFDD2EC7B05A93>).

Quanta articles are bloody nuts too, check this shit, a 4MB animation that tells you nothing. Fucking nothing. Absolfuckinglutely sweet FA. (Edit, forgot link; here: <[https://www.quantamagazine.org/mathematicians-discover- the-p...](https://www.quantamagazine.org/mathematicians-discover-the-perfect- way-to-multiply-20190411/>))

We have a fast web, what we also have are idiots - technical solutions to idiocy aren't solutions.

(NB 'scuse swearing)

<comment><USER12> Downvoted for the bad language perhaps? I'd accept that.

Or downvoted for recommending a blocklist to cap off ad networks? Or to disable JS to speed things up and increase my safety without new protocols? Or asking not to have my browsing turned into an Awesome Experience by web designers that don't understand the web is a means to an end for its users, not a way of life? Or something else?

<comment><USER13> I don't know about the downvotes on your original comment, but comments complaining about being downvoted will always attract more downvotes.

<comment><USER12> I didn't complain, I asked why. It may well be down to my rather abrasive style, in which case I'd apologise and try to be less so next time.

Or it may be down to me being factually wrong, which I also need to know cos how else does one learn.

Or maybe someone doesn't like what I said which is very much another thing. But I wasn't complaining.

<comment><USER14> I didn't downvote you, but your post did annoy me. This is an interesting article about HTTP/2.

Yes, we know people should make smaller web pages with less javascript and ads, and we could all install a bunch of plugins to achieve that, but multiple replies like yours do seem to appear on every single post that has anything to do with network traffic, and don't really contribute (in my opinion) to the discussion at hand.

<comment><USER12> > I didn't downvote you, but your post did annoy me. This is an interesting > article about HTTP/2.

Thanks, that's a nice, constructive criticism and I appreciate it. My post was in retrospect not exactly a piece of precision, so let me try again if I may...

I recently worked on a "big data" project that wasn't. It was a car crash because the "big data" conponents were thrown together with a very expensive cluster (>£100,000) of machines. The end result crawled because the lead programmer didn't gave a clue. I am pretty sure I could have got minimum 100X the performance for ~5% of the price.

When I'm asked to optimise something (a common request) I first ask, is this doing the right thing - is this really a technical problem at all? Can we just not do it? Followed by, what are you doing that makes this so much less than the theoretical max performance?

(Edit: the point was the big data components (apache spark, mesos etc) weren't necessary because we didn't have big data _at all_ , and performance was dire because he didn't know how to use those components)

What we have here is a social problem of web devs simply not understanding their job, combined with the problem of advertisers who I loathe but seem to be a product of many user's desire to not pay a single penny upfront. Both of these are non-tech problems. This article is pushing a tech solution, but should it, really?

I don't think being abrasive was a good move by me, but you say "...should make smaller web pages with less javascript and ads [and my post doesn't]really contribute (in my opinion) to the discussion at hand" but I think it does. I think it central, actually. Or what problem is this new protocol solving?

<comment><USER14> The protocol is solving a real world problem. They are trying to apply a technological solution to a real world problem.

Many problems could be solved if we could just make every Web developer and company in the whole world take size / data security / accessibility more seriously, but human history suggests that ain't happening, without in practice introducing laws.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> The web is quite fast already, if you don't weigh down your web pages with tens of megabytes of crap...

</comment><comment><USER16> So their main improvement over Chrome is that chrome doesn't benefit from progressive images -- they load images in sequence instead of parallel. Sounds like a simple fix. (If you actually know the images are progressive.)

<comment><USER17> Yep, hopefully a lot of the default improvements will make their way into all of the browsers. Until then, this also evens the field across all of the browsers but for me the really exciting part is exposing it to Workers so sites can customize the logic specific to their needs. Boosting the priority of hero images or async scripts that are important for the site but the browser's default logic has no way to know. Priority hints (also Chrome-only currently) will eventually bring that to browsers natively.

Full disclosure, I'm the article author and I also spent several years on the Chrome team working on the resource loading/scheduler so it's probably not too surprising that there are similarities.

<comment><USER18> From my understanding the better policy will be to prioritise the smallest assets first. To me it seems counter-intuitive but apparently it proves out in theory and testing: [https://www.cs.cmu.edu/~harchol/Papers/usits1.pdf](https://www.cs.cmu.edu/~harchol/Papers/usits1.pdf)

More dramatic improvement might be possible if streams can be interrupted and resumed (which is something protocols like RSocket support): [https://www.cs.cmu.edu/~harchol/Papers/MIT-LCS- TR-767.pdf](https://www.cs.cmu.edu/~harchol/Papers/MIT-LCS-TR-767.pdf)

Apologies if you're already familiar with these.

<comment><USER19> These papers are interesting, thanks for sharing.

However, the primary axiom is of a web server that is serving static content that is located on the device. That, in a sense, gives almost infinite time and knowledge to deciding prioritisation of work.

For HTTP proxies that have to fetch resources from some other server, the time and knowledge window becomes much shorter. Decision making needs to be done quickly in order to minimise the latency of returning anything. And the upstream server may response in unexpected ways.

This is the challenge for today's CDN deployments. And developing a solution that works for the huge variety of how websites are developed is the really interesting bit.

<comment><USER18> I'm not sure I follow. Proxies don't have much time to reorder from an upstream on the first time writing through to their downstream. But once it's in their local cache it would become possible to apply the smallest-first logic, wouldn't it?

<comment><USER19> This depends on how the proxy is configured to behave. One common pattern is to have a protocol terminating proxy talk to the client. Other component(s) sit behind this and they could be other parts of the system, tiers of caches or tiers of CDNs.

Even if the proxy does cache locally to memory or disk. Without infinite space, there will be some chance of cache eviction and a need to fetch from the upstream again.

Our scenarios are different ends of a broad spectrum, and there's a lot in between. Which is why getting prioritisation right is a hard nut to crack.

</comment></comment></comment></comment></comment></comment><comment><USER20> As someone who has implemented HTTP/2 too (for the apparently unpopular .NET ecosystem) I am guilty of totally missing out on the prioritization feature too.

There's definitely some good ideas and use-cases in the article that make it more worthwhile!

Some things I'm wondering about:

The proposed strategy seems to prefer sometimes sending single resources in a sequential fashion instead of lots of resources in parallel. Doesn't that essentially bring the communication back into a HTTP/1.1 style with less parallelism - and only with the benefit of no extra connections? And how well does the approach fit together with browsers flow control windows? If a browser set a small flow control window per stream then sending only a single object at a time wound still require lots of round-trips for flow control window updates - which might make it worse than HTTP/1.1. However I heard at some time that browsers have configured huge flow control windows. If that's true it seems more likely to work out (and the default strategy where HTTP/2 prefers parallelism over throughput seems worse).

</comment><comment><USER21> Would love to enable HTTP2 on Cloudflare on our site, but there seems to be a bug with it in Cloudflare where it randomly stops requests, and we're stuck in an endless support loop so we have to disable it on our PWA which would have huge benefits for it.

<comment><USER22> Can you get in touch? firstname.lastname@example.com. I'd love to get to the bottom of this.

</comment></comment><comment><USER23> Don't some of these browsers display a best-approximation font, while the actual font file is downloading, while others display no text until the font file is available? That seems like an awfully big distinction which is omitted here.

<comment><USER17> It is more site-dependent than browser dependent but by default (unless the dev overrides) most browsers will leave the text blank for 3 seconds after the font is discovered before falling back. In most (all?) of the cases in the blog post, the actual font loading is within that 3-second window, the issue is that the layout-blocking content (preventing the browser from discovering the font) is what is slow.

</comment></comment><comment><USER24> I don't know that their assumption about bandwidth getting maximized period is correct.</comment>


MyLG v0.1.9 Free Network Diagnostic Tool - <AUTHOR> http://mylg.io/ <comment><USER2> This submission was posted by a brand new HN account that has no other submissions or comments.

The three comments on this submission -- all of which speak very highly of the tool -- were all created by brand new HN accounts that a) were created shortly after this submission was posted, b) appear to have been created solely to post a nice comment about this tool, and c) have no HN activity.

The tool itself might be really nice but I'm flagging this submission because of the obvious abuse. To the author: there's no need to do this kind of stuff and it may very well have the reverse effect and make your tool look suspicious or shady. Personally, I'll never use it and I'll be distrustful if I ever see you post anything else (although I suspect you'll just create yet another new account if you do).

Last, as a "senior network engineer" at an ISP, I'd suggest a rename of your tool. A "looking glass", in this field, means a very specific thing. This tool isn't a looking glass at all, although it is a tool that can be used to access/query existing looking glasses.

</comment><comment><USER3> This thing is like the swiss army knife of Network Diagnostics. Looking Glass, DNS lookup, port scan, http response, exchange peering, geolocation of ASNs, can't wait to see what new functionality will be added next.

</comment><comment><USER4> Very nice and easy to use application for network diagnostic.

</comment><comment><AUTHOR> my looking glass is a free software utility which combines the functions of the different network probes in one network diagnostic tool.</comment>


The Confessions of @dick_nixon - <AUTHOR> http://www.vox.com/2015/10/8/9464035/dick-nixon-first-person <comment><USER2> The introductory quote comes from Hunter S. Thompson's eulogy of Nixon in the Atlantic Monthly.[0] It is very enjoyable read (though not balanced in any sense of the word).

> Nixon had the unique ability to make his enemies seem honorable, and we > developed a keen sense of fraternity. Some of my best friends have hated > Nixon all their lives. My mother hates Nixon, my son hates Nixon, I hate > Nixon, and this hatred has brought us together.

> Nixon laughed when I told him this. "Don't worry," he said, "I, too, am a > family man, and we feel the same way about you."

[0]: [http://www.theatlantic.com/magazine/archive/1994/07/he- was-a...](http://www.theatlantic.com/magazine/archive/1994/07/he-was-a- crook/308699/)

<comment><USER3> I wish I could remember who said it, but apparently at one time somebody cheered up a depressed or suicidal Hunter S. Thompson by reminding him that he hadn't written Nixon's obituary yet: Nixon was still alive. Apparently it had never even occurred to Thompson and the thought really warmed him.

 _If the right people had been in charge of Nixon 's funeral, his casket would have been launched into one of those open-sewage canals that empty into the ocean just south of Los Angeles. He was a swine of a man and a jabbering dupe of a president. Nixon was so crooked that he needed servants to help him screw his pants on every morning. Even his funeral was illegal. He was queer in the deepest way. His body should have been burned in a trash bin._

</comment></comment><comment><USER4> Immediate response:

> President Clinton — young, smart, dynamic, the first president whom I > understood politically (one of us, I thought) — demanded that Nixon be > judged on nothing "less than his entire life and career."

Notice how this is neither a commendation nor an exoneration, attempted or otherwise. Love him or hate him, you have to admit that Bill Clinton knew exactly what he was saying at any given moment, and what those words meant.

Also, this is golden:

> Remember ... the far-right kooks are just like the nuts on the left ... but > they turn out to vote.

Thus we have the Southern Strategy, which leads directly into what the GOP is now.

<comment><USER5> > Notice how this is neither a commendation nor an exoneration, attempted or > otherwise. Love him or hate him, you have to admit that Bill Clinton knew > exactly what he was saying at any given moment, and what those words meant.

What those words mean is...precisely nothing. So typical of Clinton. Personal opinion, but I think way less of him for saying it that way than a statement which is at least delicately tilted one way. The simple addition of a positive adjective like 'long' or 'great' might have done that.

</comment></comment><comment><USER6> Serious question, however stupid, ignorant or offensive it might sound: why is the following anti-semitic? Because it was false in Nixon's times? I'm not that familiar with the history of the United States in the 70s.

 _You know, it 's a funny thing, every one of the bastards that are out for legalizing marijuana are Jewish. What the Christ is the matter with the Jews, Bob? What is the matter with them? I suppose it is because most of them are psychiatrists._

<comment><USER7> Um, how could it not be anti-Semitic?

<comment><USER6> Well, what he said is: 1) he does not like pro-marijuana lobbyists/activists ("bastards" as he calls them), 2) all of the pro-lobbyists (from his times) are Jewish, 3) he does not know why is there such a connection, 4) he provides a crappy explanation (psychiatrists? really?). Now I have no idea whether or not 2) is true (probably not), but correlations between ethnicity and lifestyle preferences can and do exist. Take Chinese approach to parenting - clearly different.

To sum up, the only thing that could possibly be offensive is either 2) or the overall tone of the fragment. Hence my question: is it because it's plain false? Or is it because such language is always xenophobic, regardless of available evidence?

<comment><USER8> The quote is labeling a broad group of people with a polarizing issue.

That's prejudicial thinking that can't possibly be correct. And when the statement is made by a person who is opposed to the issue (views it as "wrong"), reasonably is taken as offensive whether the listener is for, against, or indifferent to the issue.

This blog post gives even better insight:

[http://slatestarcodex.com/2014/05/12/weak-men-are- superweapo...](http://slatestarcodex.com/2014/05/12/weak-men-are- superweapons/)

</comment></comment></comment></comment><comment><USER9> [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

"Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. "

That goes even when it's liberal bashing against a Republican.

The OP's post should be removed or HN's moderators are ignoring the rules in favor of the US Democratic party by showing favoritism and thus reflecting negatively on the YCombinator business.

<comment><USER10> It's a story about a guy who runs a Twitter account. I think you're taking this way too seriously.</comment></comment>


Ask HN: What's with funky colors of HN? - <AUTHOR>

<comment><USER2> Nice to have a christmas theme, but I think the new colors point out just how much a simple color choice can affect readability/usability.

My eyes were thankful when the top bar was scrolled off screen, but the alternating number colors are really challenging.

I opened it up in firebug and tried #fff for link text and it looks better on the topbar, but the footer become unreadable.

I'm not sure why I find the alternating colors so distracting, and am not sure about how to improve on that.

<comment><USER3> I've got topcolor set and so I can't see the new color on the top bar. Does anyone have any idea how to unset topcolor?

<comment><USER4> I don't, but if you want to have the holiday theme, you could always set it manually to #BE2828.

</comment></comment></comment><comment><USER5> Festivus.

</comment><comment><USER6> Christmas?

</comment><comment><USER7> Halloween.

<comment> DanI-S That's the standard colour scheme...

</comment></comment><comment><USER8> I for one like it. Easier on the eyes than the normal scheme, IMHO.

</comment><comment><USER9> black color font on dark background doesn't look good

</comment><comment><USER10> Kwanzaa?

</comment><comment><USER11> My guess is Holiday Spirit.

<comment><USER12> bah humbug</comment></comment>


Ask HN: How to invest in the VR industry? - <AUTHOR> VR seems like a no-brainer for an upcoming technology that's going to change how we interact with computers (and maybe our world). As a person outside that industry, I'd like to invest one way or another and be part of it.
HTC and Facebook/Oculus are the most notable providers right now, but overall it seems like a tiny piece of their overall puzzle.
AMD and Nvidia seem like a good secondary investment in this industry (i.e. picks and shovels). Any other companies that stand to profit off of a booming VR industry? <comment><USER2> Start building a community using a forum, website, blogs, social networks, etc. Think something like crackberry.com back when Blackberry was dominant. Monetize accordingly.</comment>


JSON stylesheets - screw CSS frameworks, use JavaScript - JSSS - <AUTHOR> http://maraksquires.com/json_stylesheets/

<comment><USER2> (1) CSS frameworks work whether or not client disable Javascript.

(2) Many of the problems this article's thesis lays out with CSS are solveable server-side, by preprocessing CSS.

<comment><USER3> "CSS frameworks work whether or not client disable Javascript."

I've been thinking about this a lot lately and I'm not sure it's that big a concern anymore.

I did a test one day and tried to get through a day with Javascript disabled and I came to the conclusion the web simply isn't usable that way. Because these days even the simple sites require Javascript because tools like dreamweaver embed javascript for menus and other basic animations.

<comment><USER2> Until very recently, you were either all-in with Flash or you couldn't watch most video online. Now there's ClickToFlash. Similar things are happening with JS. Either way, it's a disadvantage of doing styles in pure JS.

<comment><USER4> And it's a disadvantage to using CSS if the user has disabled CSS :/ I'm not sure why that argument is relevant. Fact is, 99%+ will have CSS and JS enabled.

<comment><USER5> Sites still function without CSS. The same cant be said for poorly coded sites and javascript. I do agree this is mostly a non-issue though.

</comment></comment></comment></comment></comment><comment><USER6> This will be SLOW. Also not having vars in CSS is a blessing in disguise: otherwise business logic would be built into the stylesheet by some genius and I would Auvergne to support it. No thanks.

<comment><AUTHOR> 1\. jQuery and sizzle are pretty fucking fast

2\. if you cant separate your business logic from your views....you have bigger problems to deal with....

<comment><USER6> 1\. Not as fast as C++

2\. Exactly. And this simply invites someone to put in the stylesheet.

3\. Debugging CSS is already not trivial due to implementation issues. As this technique still relies on CSS you will still have some of the same issues.

4\. Ability to have expressions in the stylesheets has already been tried. Once. Trust me you don't want it. Testing and debugging it is very hard.

<comment><AUTHOR> lolwut?

i'll agree with you that c++ is faster then jQuery....good day

</comment></comment></comment></comment><comment><USER7> see also <http://www.featureblend.com/css-json.html>

<comment><USER8> isn't this the same stuff just 2 years later? why are we talking about this?

</comment></comment><comment><USER9> See also <http://www.cssugar.com/>

</comment><comment><USER5> > CSS is not a programming language - no variables, no functions, no logic

How is that an issue and what made you think that it was a programming language?

> CSS properties are not cross-browser compatible

Neither is the DOM. Both statements are misleading because _most_ CSS properties are cross-browser.

> CSS frameworks (haml, sass, less) are meant for server-side templating and > we need client-side templating

This is a "disadvantage" of CSS frameworks, not of CSS itself.

> dynamically including .css files in the DOM does not guarantee CSS classes > will be set cross-browser

Ok? Are you talking about dynamically including them client or server-side?

This site looks rather bland considering that it is promoting a stylesheet framework. Lets take a look at the stylesheet on this very site:

        <style>
            body {background-color:#000000; color:#FFFFFF; margin:20px;}
            a { color:#FFFFFF;}
            a:hover { color:#CCCCCC;}
        </style>

I guess this goes hand-in-hand with the grammar, which is also lacking.

Now lets take a look at the sample styling code:

        drip.toolbar.css = {
    	  height : "40px",
    	  width : "89px",
    	  position :"fixed",
    	  right : 50,
    	  bottom : 0,
    	  overflow : "hidden",
    	  cursor : "pointer",
    	  color : "#FEFEFE",
    	  "background-color": "#932c2c",
    	  "text-align" : "left",
    	  "font-family" : "Arial, Helvetica, sans-serif",
    	  "font-size" : "12px",

    	  "#drip-toolbar-button" : {
    		height : "30px",
    		width : "50px",
    		cursor : "pointer",
    	  },

    	  ".links" : {
    		  color : "#FEFEFE"
    	  }

This is different / an improvement on CSS how? You are adding extra characters (double quotes and colon) compared to plain-old css for a more bloated stylesheet that must be downloaded? That might be considered nit-picky, but the benefit here of using JSSS is not obvious (Im still trying to figure it out).

Also, the 4 line example is actually 6:

        function parseCSS(id,css){
    	  for(style in css){
    		if(typeof css[style] == 'object'){parseCSS(style,css[style]);
    		else{$(id).css(style,css[style]);}
    	  }
    	};

Comments have already been made about having javascript disabled. Perhaps a <noscript> tag that would pull down REAL CSS (again, what is the point of this? I am now maintaining CSS and JSSS?) would remedy.

<comment><AUTHOR> i appreciate you took the time to read through everything and respond so throughly, but you seem to be missing the whole point.

you can try re-reading the comments on this thread but if you've never dealt with really rich javascript apps, i can see why this is hard to grasp.

<comment><USER5> > i appreciate you took the time to read through everything and respond so > throughly, but you seem to be missing the whole point.

You are right, I do not understand why I would want to place CSS inside an object literal instead of just placing the CSS in a CSS file.

>you can try re-reading the comments on this thread but if you've never dealt with really rich javascript apps, i can see why this is hard to grasp.

Ok, I see (not in any order):

1\. "Here, something like this already exists, see [link]"

2\. "This wont work / This will be slow / What is the point of this"

3\. "Server-side preprocessing already works"

4\. You refuting anyone who disagrees with you.

<comment><AUTHOR> How would you load that CSS file dynamically into your DOM?

pretend you had 1,000,000 CSS classes that could be used in your one-page JavaScript application. you cannot load all of these with <link> on page load.......too much data.....you'd have to start dynamically loading .css files using AJAX requests......and you realize that dynamically inserting a <link> tag isn't cross-browser...so you try to parse the .css file in JS.....but then you realize that you have no way of natively parsing a .css file in JavaScript.....so you find / build a .css parser.....which is slow as balls.......then you want to start manipulating these classes and have no place to access them......so you have to store them in memory somewhere....might as well use nested JSON!

pretend you didnt know what your CSS classes were going to be until run- time.....like creating dynamic DOM views based on user input.....you would have to store your CSS properties in memory regardless....might as well use nested JSON!

pretend you had an entire javascript application stack and several tools for managing JSON documents on the server and the client.....

if i'm refuting people who disagree with me....this is not my fault. i am simply responding to peoples comments and questions. i'm always open to insightful suggestions and recommendations.....

edit: also i'd like mention your comment about line numbers is kinda silly.....i could just make it one line.....its JavaScript.

i said 4 lines since it was : function declaration, for loop, if conditional one liner, else conditional one liner.......

if you are really that upset about the line number count please let me know the correct amount of line numbers and i'll be sure to update my page

<comment><USER5> A million CSS classes? Is your "rich web app" even usable if it is going to be styled a million different ways? I hope you were exaggerating with that number. Are these real problems you face or are these just examples you make up because you (I assume you are the one who designed JSSS) have a solution looking for a problem?

<comment><AUTHOR> i see you are incapable of understanding the word "pretend" or visualizing n-problem scenarios....if you still don't get it...i give up...

and im using this code in production.....and its working out great......its a really simple concept.....</comment></comment></comment></comment></comment></comment>


US lacks serious cyber intelligence - <AUTHOR> http://www.networkworld.com/community/blog/us-lacks-serious-cyber-intelligence

<comment><USER2> It's refreshing to see this acknowledgment: "the current "patch and pray" system won't cut it in the future" It's also admirable that rules and regulations have been outlined to achieve a 'meaningful' handle on cybersecurity. However, policy makers are just that - policy makers - and the rules and regulations outlined are just "bureaucratic" layers and incarnations of security patches. They have accepted the inevitable (note, the article/study does not mention R&D directives/initiatives to improve cyberintelligence gathering) and have 'padded' themselves with rules to project a perception of action to improve their stance on this front. Frankly, putting it on paper in the hopes that it will work doesn't necessarily mean it will work.</comment>


Banksy on Instagram: "The urge to destroy is also a creative urge" - <AUTHOR> https://www.instagram.com/p/BomXijJhArX/ <comment><USER2> See also discussion from yesterday: [https://news.ycombinator.com/item?id=18153722](https://news.ycombinator.com/item?id=18153722) (275 comments)

</comment><comment><USER3> A 'shredder' with the blades pointing sideways. Makes it obvious that this is not the real device.

Plus a window in the back of the frame.

I think it's pretty clear that Sothebie's was in on the stunt.</comment>


Ask HN: How do you remain in one industry with the prevalence of non-competes? - <AUTHOR> As a software engineer, every employment contract I've ever received has had a non compete attached, and it's never been much of an issue because the companies I've worked for haven't coincidentally competed in the same space. But long term I don't want to have to learn all about a new business space every time I start a new job, but I don't see how people outside of California avoid that path. <comment><USER2> Laws and exemptions vary by state, so research your state.

Non-competes generally require consideration, time limit, and geographic range to be enforceable. Again rules vary by state.

In 40 years working as a programmer in multiple states I can't recall signing a non-compete more than a couple of times. Obviously lots of people with non- competes change jobs all the time, so I don't think it's a big problem unless you actively harm your former employer.

<comment><USER3> I once paid for legal advice about a non compete & received advice that it was worded as too broad to be enforceable or that it likely would be diluted & reduced in scope if it ever ended up in court. So getting individual advice is always an option, but might not be cheap.

> I don't think it's a big problem unless you actively harm your former > employer.

Anecdotally, I've heard of two situations where employees left a business to start their own business directly competing with former employer, in both cases the former employer initiated legal action. In both cases they ended up with viable businesses after a year or two of legal battles. So if you're thinking of doing this, might be worth getting legal advice first.

If you're given a new contract to sign with non competes etc you can always try striking out the clauses you don't like then see what the other party does. This probably isn't a winning move if you really need the work but if you have other options and can afford to walk away it gives you a bit more flexibility to ask for better terms, many things are often negotiable.

</comment></comment><comment><USER4> Most non competes are more psychological than actual. When challenged they usually do nothing. When they go to court they usually fail. One of the big rulings is the non-compete cannot prevent you from working in your field.

That said, if you were the lead designer at a company and held multiple patents, and another company offered a lot of money because they wanted to steal the secrets ... well that would go to court.

</comment><comment><USER5> I got 10 years and as many companies. It's never been relevant to my career. I know a bunch of people who moved from isilon to qumulo directly. They are direct competitors and no non-compete was followed.

</comment><comment><USER6> Is there a sunset time on your's? Most of the noncompetes expire after a set number of months or years. Even during that period you should be allowed to work in the industry but maybe not on the exact same system for a competitor.

</comment><comment><USER7> ... You could just move to California, too</comment>


Canadian Mint Issues Digital Currency Challenge - <AUTHOR> http://tech.li/2012/04/canadian-mint-digital-currency/

<comment><USER2> We've just received out dev kit in the mail as one of the chosen teams. $100 preloaded onto a microSD and a USB connector.

The packaging is slick, the backing is solid, and if the right consumer product/market fit hits, this will be the first of many.

Governments want to get rid of cash, despite our concerns on privacy and anonymity. One of these will hit, and I'm betting that backed by a stable economy like Canada, this one has the best shot at it.

It's suggestive, as well, that the prizes are gold bullion, to subtly infer the stability of the gold standard.</comment>


The Instant Shutdown - <AUTHOR> http://www.thegeekscompanion.com/home/keystrokes-the-instant-shutdown.html <comment><USER2> Gonna try this out when WindowServer freezes up next time.

</comment><comment><USER3> cool shortcut - let's see if I remember it the next time I restart!

</comment><comment><USER4> dont have an eject button on my macbook air!

<comment><USER5> You should. It's either the top right, or top second from right, as this picture shows: [http://www.blogcdn.com/www.engadget.com/media/2010/10/macboo...](http://www.blogcdn.com/www.engadget.com/media/2010/10/macbook- air-power-mockup-comparison.jpg)

<comment><USER6> And yet, we do not. [http://images.apple.com/macbookair/images/design_multitouch....](http://images.apple.com/macbookair/images/design_multitouch.jpg)</comment></comment></comment>


Do companies exist where software isn't done with chewing gum and duct tape? - <AUTHOR> As the title says. Do companies exist where the software they create isn't a series of band-aids, duct tape, and chewing gum? The more I work the more I realize that the concept of good code doesn't exist and even good process doesn't exist and everyone does their job haphazardly. Is everything really as hopeless as it seems? I keep wondering why I even started in this career.<p>I'm a perfectionist by nature and all I see are people writing way more code than I do and slapping it all together with a nonsensical speed just to get things out the door. <comment><USER2> Honest advice... the real engineering world is never about perfection. Most of the time you have a lack of business information, requirements missing, no test cases, etc.

The bigger the company, the larger chances to see code that is far from perfection are. Business process and large amount of teams make it harder to acquire all information needed to engineer things.

Also, most of the time it is about satisfying a customers needs. That is not about doing it right, it is about making it work.

Companies building solid code exist. They are rare and usually not the ones making billions in the market.

I find it pretty amusing that people assume Google, Microsoft, etc. would actually be rock solid as those have a sufficient amount of damaged legacy code that for thousands of reasons needs to stay broken.

Parting words: ditch perfectionism, embrace the 80/20 percent pattern instead.

<comment><USER3> This is the best response.

</comment></comment><comment><USER4> Recovering perfectionist here. Refocus your perfectionism on doing the most valuable job for the business, from a business sense. For me, that means doing half a dozen different job roles (Project management of multiple projects, SW architecture across multiple projects, Development, Test, Quality control, Process improvement, Team training) - none of them are done as well as I'd like if I focused completely on them, but what the business needs is someone who does them all to a decent standard. It's the perfect balance that's required, not one area perfect.

I also focus as an architect on splitting up the projects into small modules that can be developed, unit tested, statically analysed and integration tested. Those who work on these are being trained up in each stage of the process and are getting better and better at it - they can't move onto the next module if the existing one isn't complete, so it spreads out the work they don't like (or have never devoted the time to learn the skills for) so it's not left to the end (and then not done). We're building lots of software components to a very high standard with very little technical debt being stored or rework being required. My employer's been realising the amount that quality issues are causing a lot of trouble (delays, costs, etc), so they're highly supportive of this kind of work and my high standards are appreciated. I work in embedded software, so software updates in the field are painful, sometimes embarrassing, and potentially expensive.

</comment><comment><USER5> Look for companies that maintain a software for decades.

Agencies and fresh startups often optimize for speed, not maintainability. But there are plenty of companies that optimize for maintainability, you just have to look for them.

Mentions of code reviews, automatic tests, SOLID, DDD etc are usually good signs.

</comment><comment><USER6> Some pointers:

\- danluu.com (user luu) on testing in the hardware world (e.g. [https://danluu.com/tests-v-reason/](https://danluu.com/tests-v-reason/)) and at Google

\- in general, mature high-quality engineering organizations like Google and modern Microsoft

\- e.g. Praxis (Google "Tokeneer report") and Galois practice semi-formal and formal methods to produce useful software

\- e.g. TrustInSoft and seL4 go to full formal verification

<comment><USER7> Formal verification is an really interesting and challenging field but it's worth commenting that it is very expensive and time consuming. It generally only makes sense right now when bugs can cause serious damage.

</comment></comment><comment><USER8> The company I work at right now seems quite good at maintaining solid code quality. I'm pretty sure the reasons why are:

* A belief that code quality lets us deliver faster in the medium-term

* We start projects by asking "why does this need to be done?" and pushing for a fleshed-out explanation of that. This lets us write less code and do sometimes do projects without writing code. It also reenforces that we are building sonething that we will then need to mainain.

EDIT: * We also follow that up with writing out a 1-2 page document explicitly outlinibg the scope of the project, the approaches we considered but are not taking, and the approach we are taking. This helps us keep a 1 week project from taking 3 weeks.

* Our hiring process includes a take-home coding test and a pair-programming exercise. We explicitly grade these on code quality and testing, so we filter for hires that value these things.

Feel free to email me at email@example.com if have questions.

</comment><comment><USER9> Early on in my career of being a consultant I've came to same realisation. At the end of the day what is a customer going to complain about more, that the code base is spaghetti or that a button is in the wrong place?

The problem is worst in certain sectors. For example I've worked in banks where quick fixes are slapped on top of other quick fixes, often written by other people which creates on monumental pile of spaghetti, not mention they're still using legacy mainframes from 40 years ago. But you have to remember that the customer only cares about money generation, they couldn't give two hoots about the elegancy of your code. But if it works it works.

On the flip-side have worked for startups and I am the CTO of a startup and I can safely say we prioritise speed of features over maintainability and elegancy. We do what we can now but you have to remember that products and its requirements are ever changing and can never be 'perfect'.

Reid Hoffman, the founder of LinkedIn famously said:

'If you are not embarrassed by the first version of your product, you've launched too late.'

There is no such thing as perfect code or perfect process, there are spectrums in between. At the end of the day you have to maintain focus on what the customer/users want to see. That's not to say you should roll over for all customer demands, but you should always keep that in the back of your mind.

The other thing is that what you may regard as good code may not be what it others see as good code, it's subjective.

My advice would be if you want to create what you regard to be perfect code then you should work for yourself, whether that's creating your own open source Github repos or trying to start your own company. Otherwise embrace the imperfections of IT and indeed the world we live in see it as challenge to make perfect (too deep? I'll see myself out ...)

</comment><comment><USER7> To pile on with the comments about avoiding perfectionism and having business sense, I've seen projects and teams go under because they tried to apply every technique they'd heard of that could improve quality control without taking the project budget into consideration.

Cutting corners too much is equally as bad as being a perfectionist as well. Perfectionism might even be worse because you'll probably never finish anything.

Software can always be made better. The important development skill is knowing what's good enough so you're not burning time for little benefit.

</comment><comment><USER10> Speed to market and quality control intersect at different points for different products.

Killing someone by blasting them with Xrays is a very costly error, better to spend more (time is money) on quality. An html form failing in some obscure way for 1 out of every 1000 people resulting in a small $ loss isn't too vital out of the gate and acceptable if it can easily be fixed after product launch without a bunch of hassle. An app crashing in an enterprise that's locked in to some lame contract is even less vital. Like they paid some contract firm to one off some software with no real discussion of support.

</comment><comment><USER11> Thinking in terms of companies means that the business interest has to align with the particular measures of software quality that interest you. Reframing the employment search from companies to organizations may open up a different set of options ranging from government to departments within institutions to teams within an enterprise. But even in terms of companies, looking at those where software quality is critical to the business (e.g. high frequency trading or google) might focus the search.

Good luck.

</comment><comment><USER12> What people might be missing is that you don't do anything "lean" without refactoring sprints. So as you grow, you keep considering the macro structure. If not, you should use TDD at least.

Nevertheless, validation is key, from an executive POV. It makes sense that things are dirty in the beginning, but they should start being encapsulated, object oriented, properly interfaced, etc. as soon as you feel in need for a second programmer.

<comment><USER8> Even with TDD, you need refactoring sprints. Occasionally, you find your tests get in a state where they need refactoring.

</comment></comment><comment><USER13> Some kind of sarcasm with truth inside.

Only you and your colleagues will see your code, your product will see all others. If you want to satisfy your colleagues and yourself with clean/elegant code, go and code side project only for them. If you want to ship real product, then ship it even though it contains lots of shit code. Thats one of the reasons why people just code, not make it clean at first

</comment><comment><USER14> You never get "fixed" and completely defined requirements. Every software project evolves over time and this evolution basically means "Hey we have modified the problem and now you have to fix the existing algorithm such that is works for new problem" (AKA not coming up with new algorithm from scratch for updated problem).

</comment><comment><USER15> Yes, they exist. Maybe not up to the standards of a perfectionist, but much better than garbage, created with some professionalism.

If you insist on the standards of a perfectionist, though, you may be forever disappointed.

</comment><comment><USER16> I just finished reading Lean Startup. One big concept is why spend lots of time perfecting a program that nobody will even use. Seems to be the current trend. And honestly after reading the book it makes sense.

</comment><comment><USER17> Maybe join an open source/non-profit software company (like Mozilla).

I don't know that those places have better code, but probably less pressure to ship product to satisfy customers.

<comment><USER8> I used to work at a company whose main product was built on top of an open source project they also were the sole maintainers of. The code for that open source project was not great and, when I and a more senior engineer wanted to refactor it to make it cleaner and add functionality, we got pushback of the form "The current codebase is already tested. If you change it, it could introduce bugs." Meaning that users had "tested" it by using it and reporting bugs that then got fixed. I was so stunned by that argument that I didn't know what to say at the time, but this is bad because:

1) Many users won't report bugs because that takes effort and they just want to solve their problem

2) Users won't report when the UX is bad.

3) Not being able to change a product to add clear business value...prevents you from adding value. This is bad because it makes it harder for your product to help the business grow and solve more problems.

4) Not being able to change the code to be cleaner and more well designed makes it hard to add more maintainers and to add or remove features.

I don't know how to explain why you should want to be able to change your product. I've only moved on to an org which had a much different approach to technical debt.

</comment></comment><comment><USER18> Look in the aerospace industry, things may be better there.

<comment><AUTHOR> That's also exactly what I don't want. It's more paperwork than code in such places all full of rigorous validation.

<comment><USER19> How do you expect a company to keep to their code to the highest standard without continuously and rigorously validating that the code is actually up to standard?

<comment><USER15> mlindner didn't ask for "the highest standards", though - just for "not trash".

You do have to ask whether the code does what it's supposed to do. What is your objective evidence that it does so? You need that.

But you don't need aerospace standards unless you're critical infrastructure. If you're writing a web app? Not so much. You'd still like to be able to not throw up when you look at the code, though.

<comment><USER20> It sounds like you are asking rhetorical questions

</comment></comment></comment></comment></comment><comment><USER21> No, corporate notwithstanding, even lots of purely logical things still need some form of ugly hackery to get it to work right.

</comment><comment><USER22> google, banking, surgical robots, etc.

look at companies that kill if they fuck up. dont count on random crup web app shop to give a crap about clean code.

<comment><USER8> > crud web app shop

CRUD != crud

I don't know if you are making this error, but I it all the time on /r/cscareersquestions and it is a foolish conflation.

crud: crappily-built product

CRUD: a set of UI operations on records in your data model.

You can totally have a well-built CRUD app maintained by a team that cares about code quality.

<comment><USER23> Alternatively,if we're being pedantic, we can go to the original definition, Chalk River Unidentified Deposit (later determined to be activated corrosion products.)

<comment><USER24> This seems to be a backronym, rather than the word's actual etymology [1].

[1]: [https://public-blog.nrc-gateway.gov/2015/03/31/crud- another-...](https://public-blog.nrc-gateway.gov/2015/03/31/crud-another- acronym-bites-the-dust/)</comment></comment></comment></comment>


Copyright vs. 3D printing - <AUTHOR> http://arstechnica.com/tech-policy/news/2010/11/3d-fabbers-dont-let-the-dmca-stifle-an-innovative-future.ars

<comment><USER2> I think we're finding out the absurdity of copyright and patents by forcing these kind of concepts to face the _redutio ad absurdum_ of the day, which are technologies like 3D printing.

On the other hand, the past is full of interesting example of _PATENT FAIL_ like Whitney's failure to enforce the cotton gin, but he got rich with producing munition for the US army, while at the same time inventing the concept of interchangeable parts.

We saws that American writers hating their competitors from England because of the massive piracy of British literature leading domination in the American literacy market. Some English writers managed to make more money from the American than he could collect via some amount of royalty years. It was only when large publishing house finally change their tune that the American finally recognize British copyright.

We also saw James Watt's partner using the parliament to extend patents for Watt's steam engine invention. This waste to tremedous wasteful effort from Watt suing various people for violating his patents. In reality, Watt was just one of the many steam engine inventors, who hampered other steam engine inventors' ability to make a living and build on top of his work. He also ironically got hampered by some other guy's patent, forcing him to use inferior design for his steam engine.

<comment><USER3> There's a great book about all of this, "Against Intellectual Monopoly." [1]

There's an interesting bit about the English/American writer thing you mention, specifically Dickens. From chapter two:

        The amount of revenues British authors received up front
        from American publishers often exceeded the amount they
        were able to collect over a number of years from
        royalties in the UK. Notice that, at the time, the US
        market was comparable in size to the UK market.

        More broadly, the lack of copyright protection, which
        permitted the United States publishers' "pirating" of
        English writers, was a good economic policy of great
        social value for the people of United States, and of no
        detriment, as the Commission report and other evidence
        confirm, for English authors. Not only did it enable the
        establishment and rapid growth of a large and successful
        publishing business in the United States; also, and more
        importantly, it increased literacy and benefited the
        cultural development of the American people by flooding
        the market with cheap copies of great books. As an
        example: Dickens' A Christmas Carol sold for six cents
        in the US, while it was priced at roughly two dollars
        and fifty cents in England. This dramatic increase in
        literacy was probably instrumental for the emergence of
        a great number of United States writers and scientists
        toward the end of the nineteenth century.

Arguments about intellectual property now seem to always focus on the ability of the author to make money, and not about the basic reason that the concept of IP was created: it was a gift from society to creators to both help them and encourage the enrichment of society at large. The dramatic rise in UGC demonstrates that 'creators gonna create' anyway, so the deal makes less and less sense for society to keep up.

There's also a part in the book about the steam engine stuff, too, but this is already getting long...

1: [http://levine.sscnet.ucla.edu/general/intellectual/against.h...](http://levine.sscnet.ucla.edu/general/intellectual/against.htm)

<comment><USER4> UGC is one thing, but without financial backing largely enabled by IP, it's hard to imagine the most epic and polished movies & games would still be made.

<comment><USER3> A great recent counterexample to this is Avatar, right? Super expensive, all financed by Cameron, right? Made tons of cash.

There will probably be less made, you're right. But they'll still get made.

<comment><USER5> But he recouped the money through charging people to see the movie. Not a counter-example at all.

<comment><USER3> He did. It was also available to download for free on the Internet.

"No IP" does not mean "You can't charge for things." Enough people would rather go to a movie theater than get on Bittorrent that he made his money back.

Side note: I was one of those people. I wear Pirate Bay tshirts around, I'd throw out all IP law if I was in charge... but I did pay money to go to the theater to see Avatar. Going to the theater and getting that crazy huge screen, great sound system, and (maybe) the 3D was totally worth it.

<comment><USER6> The fact that it worked for one movie does not mean that it would work any other movie.

The hook with Avatar was that it was a spectacle deliberately designed to be seen in 3D on the biggest screen possible, to the extent that there's very little point _not_ seeing it in a movie theatre.

It's a unique example and its impact (and profitability) would be lessened by a) competition by similar movies and b) greater adoption of home 3D hardware.

<comment><USER3> Absolutely. There's no question that without IP, things would be different. The real question is if it would be a better or worse world.

<comment><USER4> In my mind, the answer is "better" _if_ we also no longer need to worry about money (that is, a post-capitalist system). I'm not sure about the meantime.

<comment><USER3> The book that I cited up there in my huge post actually lays out a pretty compelling argument that it even works within capitalism.

IP is a pretty new concept. Things have worked really well for a long time without it.

<comment><USER6> Yes, capitalism is a pretty new concept also. The two go hand-in-hand.

But never before in history have we been able to copy media ad infinitum for practically zero time, cost and effort. It's always required time, an educated, talented person to copy, or resources that had a real cost.

In the case of the 3D printer the only real expense is the plastic used to print the object, which is awesome only for those who manufacture the materials.

<comment><USER3> Actually, it's pretty funny: the materials are the only place where they make their money. 3D printers are sold on a total razor and blade model, the machine manufacturers make 70% of their money from materials, and something like 5% on actual machines.

Then things like this happen: <http://open3dp.me.washington.edu/2009/10/sugar- sugar-powder/>

> The cost of this mix is $0.15 – $0.30 per pound!

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Patents and copyright were a tremendous progress back in the 1700s when you need a "privilege" from the King to undertake about anything. Nowadays they're just some sort of fossilized roadblock from the past. Here's another fine example of this sorry state of the matter.

</comment><comment><USER4> This & P2P mesh "internet" are Doctorow's favorite topics, if his stories are any indication

<comment><USER8> My favorite of his short stories on the subject, Printcrime: [http://craphound.com/overclocked/Cory_Doctorow_- _Overclocked...](http://craphound.com/overclocked/Cory_Doctorow_- _Overclocked_-_Printcrime.html)

</comment></comment><comment><USER9> Next step: automated home chemistry setups that turn near-arbitrary feedstock containing the right elements into soap, food, shampoo, beer, plastic resin, ...

<comment><USER10> ..., Rohypnol, viagra, duct tape, ...

</comment></comment><comment><USER3> This whole copyright vs 3D printing thing is interesting, but the bigger, more important battle right now is actually patents vs. 3D printing.

The entrenched players in the industry have large patent portfolios, and this hurts the ability of projects like the RepRap to actually make improvements. We probably could have had all of these kinds of projects years ago, but the patents are only now starting to run out...

<comment><USER2> What evidences to suggest that these kind of projects didn't start because of patents?

<comment><USER3> First of all, IANAL.

Secondly, it would appear to me that MakerBot, for example, is pretty blatantly infringing on the FDM patents that Stratasys has. Those are about to run out Real Soon Now, though, so they're probably fine.

Third, the industry has shaped up the way that it has because of patents. There's a reason there's 14 different ways to do 3D printing. Yeah, some are better at some things than others, but realistically, we'd really have like 3 or 4 processes if there were no patents to force new hardware companies to reinvent the wheel all the time.

The fact that there's pretty much a 1-1 mapping between companies and processes suggests that it's difficult to start a business in this area, due to the large amount of capital needed to invent a new way of doing things.

<comment><USER2> It does seem to me that new companies can't start, but I doubt somebody really interested in 3D printing research would really care?

<comment><USER3> But we'd move forward faster if we had both startups and university research working on the problem.

I'm not saying that it quashes all of it, just that it's set back personal fabrication 25 years.

<comment><USER2> _I'm not saying that it quashes all of it, just that it's set back personal fabrication 25 years._

Forgive me for my historical ignorance, is there any sort of open hardware movement 25 years ago?

If not, than replication technology 25 years ago would probably have a different character.

<comment><USER11> The parallels between the makerbot/reprap and the Altair 8800 in 1975 is very interesting. It couldn't do much, but it marked the start of the "personal" computer era. Microsoft made it's first piece of software for that machine.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Also see: <http://news.ycombinator.com/item?id=1891316>

</comment><comment><USER13> I would assume it would be almost exactly the same as digital media works today, while it is best to manufacture things in mass quantities a CD of the machines components will be shipped with the dish washer. The opening of the box will imply acceptance of the licensing agreement for the machine. An alternative, is you get access to the washing machine support site with the warranty number included. You would be purchasing the right to the design, and maybe 1 working copy of a part at a time.

if we ever got to the point where it makes more sense for you to manufacture the entire product at home, then the concept would be the same. You are purchasing the rights to manufacture 1 working copy. If you give the files to another person who uses them, technically they are breaking the law.

Of course I think this is all kind of ridiculous. However the only solution I can think of to combat piracy is to crowd source the funding to the creation of new plans, and release the product in the public domain.</comment>


Apply to MongoDB's Startup Accelerator - <AUTHOR> https://www.mongodb.com/startup-accelerator <comment><USER2> Great program for early stage companies. If you are using or considering a MongoDb stack you should definitely apply. We got a lot value at Commandiv through the program.</comment>


Fascinating conversation with the LoseThos guy - <AUTHOR> http://www.reddit.com/r/programming/comments/1aqdxn/temple_operating_system_v100_released/

<comment><AUTHOR> I am actually really relieved and happy to see that he's still doing interesting technical work and capable of having good technical conversations. I didn't realize that was the case.

This guy posts on HN all the time, but his posts get shadowed, because they're just crazy babble.

He's schizophrenic, for those who don't know.</comment>


Show HN: Tinder in a browser - <AUTHOR> https://tinderwick.com

<comment><USER2> Add a Log in with Facebook button so that Facebook will be responsible for authentication please.

</comment><comment><AUTHOR> Edit 2: took this down due to Facebook authentication issues. Apologies for sending out a half-baked product, but thanks for all the feedback!

Creator here! I realize that you have to input your Facebook username and password, but this is the only way to make it work so far, since we can't get Tinder app tokens. If we used the regular Facebook API, it would fail the URL test. After the initial authentication, the server only works as passive proxy for traffic to Tinder. If there's another way, let me know, and I'll gladly implement it.

Edit: the source code is available to view at [https://github.com/pxpeterxu/tinderwick](https://github.com/pxpeterxu/tinderwick). It's a bit messy, since this was a quick hack.

<comment><USER3> Run it locally like [http://tinderplusplus.com/](http://tinderplusplus.com/) or make it a chrome extension and it should work.

Edit: alternatively, make it open source so we can see you're not doing anything sketchy with my facebook password.

<comment><AUTHOR> Edited original, but the code is now available at [https://github.com/pxpeterxu/tinderwick](https://github.com/pxpeterxu/tinderwick)

</comment></comment></comment><comment><USER4> providing facebook username/password doesn't seem like a good idea :)

<comment><AUTHOR> Creator here! I'm really sorry about having to do this, but this is the only way to make it work so far, since we can't get Tinder app tokens; after the initial authentication, the server only works as passive proxy for traffic to Tinder. If there's another way, let me know, and I'll gladly implement it.

<comment><USER4> let us run it locally?

<comment><USER5> [http://tinderplusplus.com/](http://tinderplusplus.com/)

</comment></comment></comment></comment><comment><USER6> Uh, can you say phishing website? Yea, let me just give you my Facebook password and username.

</comment><comment><USER7> Tried, gave me an error with login, facebook log me out and then changed my password.. s

</comment><comment><USER8> Stole my username and password! Someone tried to login using Firefox.

</comment><comment><USER9> OMFG stop fucking hijacking my fucking back button.

<comment><USER10> Yeah this alone is enough for me to refuse to use something.</comment></comment>


Uber's largest shareholder wants it to exit Africa and Asia - <AUTHOR> https://qz.com/1183770/softbank-wants-uber-to-quit-africa-india-asia-after-investment/ <comment><USER2> If I recall correctly Softbank has investments in uber competitors getting uber out might be good for there other investments I hope competition authorities keep a look out for this.

</comment><comment><USER3> >Softbank has significant stakes (paywall) in some of the world's largest ride-hailing companies including Uber rivals like India's Ola and China's Didi so it is perhaps unsurprising that it might want the California-based company to focus on core markets where it doesn't compete with its other investments.

>However, in an email to Quartz, an Uber spokesperson insisted that the company is "very much committed" to its African operations and is "excited" about its "future growth prospects."

Unsurprising desire from SB. Will be interesting how this plays out in the board room</comment>


Disruptive Freelancing app  - <AUTHOR> http://pancakeapp.com/

<comment><USER2> You need to examine the z-indexes between your popup modal and the header.

<comment><AUTHOR> Good call, thanks for that. Deploying a fix now.</comment></comment>


Meet the 22-year-olds solving the plastic waste problem - <AUTHOR> https://www.greenbiz.com/article/meet-20-year-olds-solving-plastic-waste-problem <comment><USER2> This write-up is missing a critical detail - the article states "Wang and Yao have bioengineered a bacteria to break down plastic faster than the 500-to-1,000-years it takes for plastic to breakdown in a typical landfill."

But - how much faster? 1% faster? 10% faster? 90% faster? Even @ 90%, if the "major" breakthrough is that it now only takes 100 years to break it down, instead of 1,000, that's really good progress, but hardly solves the immediate problems that we face.

Why would you leave that detail out?

<comment><USER3> Judging by the only number stated - 500-to-1000-years - and considering the lifetime of 22-olds is about 22... about 20-40 times? Of course assuming the same degree of breakdown...</comment></comment>


Ask: Best developers tools you've used (any language) - <AUTHOR>

I was curious to hear what the general HN community considers the best developer tools they've every used, regardless of what language the tool is specific to.
Talk about whatever, from how Lein and Clojure allow you to require a specific version of Clojure as a dependency (as opposed to the rbenv/rvm or nvm hackery seen in ruby and javascript respectively), to how npm does all dependencies locally to projects to avoid the hell that is dependency conflicts when all deps are stored in a global space, to lisp machines, the small talk developer environment, LightTable, gdb, etc.
There is a lot tools devs can learn from what is available for languages they may not be familiar with and it'd be nice to get one long thread highlighting some of the tooling you should check out for inspiration. <comment><USER2> \- Short answer: Adobe flex as a framework and Visual Studio + .Net as an IDE.

Longer answer:

\- Framework

Flex was doomed because flash sucks: constant security issues, slow, not correctly integrated in browsers. Apple accelerated it's death but it was doomed anyway.

I'm now a javascript dev and could not find any front-end framework that came close to the ease of use and consistent functionality that flex provided.

\- Language

As for back-end stack, node.js all the way. Javascript has a lot of caveats but it's fun to work with (compared to other languages).

Java is too verbose and too objectish. POJOs ? come-on, it's almost 2014. Factory factory factory ? come-on... But the language is powerful. Anything needing transactions, JVM all the way... Java or Scala is another question I can't really answer.

Ruby is nowhere near lightweight as node (bundle install PITA, server start PITA). PHP is powerful but there is something wrong with the language (can't really pinpoint what the problem is). Python I have never used but now I tend to disregard non async language.

Believe it or not, I was a java dude and javascript hater. Now I'm a javascript dude and java hater.

I also think that Javascript/HTML are just waiting for a kick in the but and a replacement. Have you played with front-end frameworks/library ? What a piece of... mess. Only AngularJS seems ok-ish. The web needs fixing. Google is giving it some tries (Dart, Go).

You'll find hundredfolds the amount of opinions as there are languages or frameworks or libraries or IDEs. The most important is to stay curious and open minded. Don't forget to take a step back on the technologies you use. It allows to give the right advice and make the right technical decision. Most of us are wrong more open than not. When you realise you're wrong, you learn and can move forward.

\- IDE:

My advice: if you feel like it, learn either vi or emacs. I haven't seen anyone use a higher level IDE (including me, I use Webstorm, used to use Idea) as productively as vi/emacs users do. Also, vi/emacs users love their tool with passion. That says something about these pieces of software.. When I was working with c++, emacs was awesome and eclipse wouldn't even load the project. Then I learned to be lazy and use the mouse with IntelliJ. It's ok but their vision of what an IDE should be is getting further and further from what _I_ think it should be (ie, don't try to replace the command line). However now I got even too lazy to go back to emacs..

And you know what ? The 1990's called and want their eclipse IDE back. I hope someone with an objective view can contradict me but eclipse is what a dell is to a mac. It's good, some people use it but it feels it's been developed with no real strategic vision of what an IDE should be. Lastlym keep an eye on online IDEs. A friend thinks it's the future. I'm not so sure but he is smarter than I am... Same for Light Table, keep an eye on it or even start using it. The guys behind it seems to have an unusual vision and smart enough for it to be really worthy of our time.

Now I realise I may have overstepped the answer to the question so I'll stop here :)

Cheers !

edit: paragraphs & indentation for readability

<comment><AUTHOR> Since you were a Flex developer and are now a javascript, I'd love to talk to you further about it. I work at famo.us in tooling and think your feedback could be pretty useful. Are you in SF? My email is in my profile.

</comment></comment><comment><USER3> Honestly, Xcode for iOS Development in Objective-C.

In addition to that, Parse for backend development. I'm just getting started learning backend development for iOS, and Parse is the best way to do it in my opinion.

I'm not sure if this is considered a "tool," but TeamTreehouse.com for learning. Their platform is growing everyday, looks and feels beautiful to use, has a fantastic community, and the quality of the tutorials and other content is unlike any other service.

<comment><USER4> Xcode is great, especially version 5. It's my favorite IDE I've worked with, and gets new-line tabs right every time - something I wish Rubymine would do.

</comment></comment><comment><USER5> MS Visual Studio - no question.

Things like eclipse are OK but when it comes to developer support Visual Studio leaves everything else in the dust.

</comment><comment><USER6> alias.

tunnels gem, running SSL in dev+test environments is much easier with this.

ngrok for temporary serving of localhost developer environments publicly.

BrowserStack for cross-browser testing.

Heroku, and its add-ons for eliminating the need for many other tools and time I used to use when managing production environments.

Sass and LESS for making CSS maintenance sensible.

bundler for simplifying ruby dependencies.

Rails for baking tests in and the asset pipeline so JS+CSS optimization just works.</comment>


A closer look at recent HTTP/2 vulnerabilities affecting Kubernetes and others - <AUTHOR> https://randywestergren.com/a-closer-look-at-recent-http-2-vulnerabilities-affecting-k8s-and-other-implementations/ <comment><USER3> CVE writers make me cry sometimes. The original advisory is incredibly light on details, like, what software actually has the bug. The CVEs themselves also fail to adequately describe _what_ is vulnerable. E.g., CVE-2019-9516 "0-Length Headers Leak", the CVE implicates "Ubuntu". Ubuntu (probably) can't be vulnerable to this CVE, some piece of software _on_ Ubuntu must be; and indeed clicking through to the USN shows that it's nginx. But then, why only single out Ubuntu, Debian and Fedora? Surely the others are equally vulnerable?

It was the same way w/ the recent VLC vuln. where the researcher just kinda dumped an ASan output into a bug tracker and "I has a working exploit" and _no additional details_.

<comment><USER4> They might just want to get it out the door asap, so that mitigation efforts could start sooner.

</comment></comment><comment><USER5> Off topic: is it common to hot-link images away from your own site to (in this case) imgur.com ?

On a corporate network it means I can read the post, but not see the blocked images.

Is it just for the author to save bandwidth on - what appears to be - <USER2> wordpress site?

<comment> yoru-sulfur I've seen it done, but you're not supposed to.

From Imagurs TOS[1]: "...Also, don't use Imgur to host image libraries you link to from elsewhere, content for your website, advertising, avatars, or anything else that turns us into your content delivery network."

[1] [https://imgur.com/tos](https://imgur.com/tos)

<comment><AUTHOR> Good point, along with the blocking on many corporate networks. Fixed!</comment></comment></comment>