Why the world needs OpenStreetMap (2014) - <AUTHOR> https://blog.emacsen.net/blog/2014/01/04/why-the-world-needs-openstreetmap/ <comment><USER2> I work in the public sector in Denmark and we use OSM for pretty much every map routing project we do as google won't agree to not track our usage or protect our data under the privacy shield.

Gotta say OSM has been mostly amazing to work with, but there have been a few quirks over the years. A few times the direction on one directional streets have been wrong, and when I corrected it, using our GIS data as evidence, my correction was denied because I had to physically go take a picture of the street.

It felt a little silly being a municipality and having an OSM correction denied by some hobbyist, especially because it was blocking functionality on a piece of software used by 60.000 users.

Don't get me wrong, I blame us for not getting a verified account on a critical piece of software, but it still made me hate community driven software for around two hours.

<comment><USER3> _Gotta say OSM has been mostly amazing to work with, but there have been a few quirks over the years. A few times the direction on one directional streets have been wrong, and when I corrected it, using our GIS data as evidence, my correction was denied because I had to physically go take a picture of the street._

They have to guard against abuse, and they can't necessarily accept that you're an authority on any particular location. It's easier if they demand the same proof from everyone.

That said, demanding a photo of the location seems pretty stupid. If your goal is to vandalize the OSM database, how hard can it be to Photoshop a few bogus street signs?

<comment><USER4> OSM doesn't generally demand proof from people. I suspect the root cause was avoiding copyright infringment, not abuse.

</comment></comment></comment><comment><USER5> Wow... How odd to log into Hacker News and see this.

I'm the author of the post back in 2014. The sad thing is that I'm midway through writing a new post about why I feel OSM is failing.

I have largely stepped away from the project in the last two years. I still believe strongly in OSM, and what it stands for, but I feel the project has not lived up to what the public needs.

<comment><USER6> I hope your post won't end up being so generalist as this comment is.

OSM is the best freely available map service in Germany. Many (if not all?) local and national institutions use it as well as many private companies.

The mobile apps got really nice and are useful for normal users for different purposes and all that for free.

There are even apps everybody can use to fill the data gaps like: [https://github.com/westnordost/StreetComplete](https://github.com/westnordost/StreetComplete)

It needs some kind of pretty hard decadence (or corruption?) to ignore that for such a broad generalization.

<comment><USER5> > I hope your post won't end up being so generalist as this comment is.

If I was going to write a simple one sentence or one paragraph analysis of why the project is not living up to its expectations, it would be easy and I would be done.

Instead, I'm writing an in depth analysis of what I view as the impediments to the project;s success, and it's taking me several weeks to write because it's such a complex topic.

I need to explain not only the problems to seasoned OSMers, but also make my arguments understandable and accessible to a wider audience who isn't familiar with OSM internals.

It's also important to relaize that I'm not writing this from the same position as so many newbies writing about OSM- they go to the website and say "Oh this is ugly" or "This is confusing" then leave. I was very much part of the project for quite a few years, in a number of roles.

</comment></comment></comment><comment><USER7> OpenStreetMap is amazing.

Based on my research, most paid mapping services get expensive quickly with any serious load, even if you're just geocoding addresses. Also, if you want to do anything interesting with the data you're probably going to run afoul of your license agreement that says you can't combine their mapping data with data from other sources.

It opens up so many possibilities for small developers to create large scale mapping services that would have been prohibitively expensive or otherwise impossible. They also make it really easy to put together a quick proof-of- concept by hosting their APIs on numerous public servers with generous usage terms and no registration.

I'm working on a project right now that wouldn't be possible without OSM, for multiple reasons, so I definitely agree with the article's premise.

</comment><comment><USER8> I am supporting OSM and have dedicated a team of three executives to do updating for OSM.

Nevertheless, I have this burning question on how can we prevent people to abuse OSM by making false edits intentionally. This is an important issue as a lot of applications depend on OSM.

<comment><USER9> There's a lot of comparisons between Wikipedia and OpenStreetMap, and I think this one is valid: when Wikipedia first started out, its mission was to populate new articles. As most topics became fleshed out, they transitioned to having higher editorial standards (ignoring the various dramas for now) and spending more time curating existing articles.

OpenStreetMap is in that 'early' phase: tons of edits are adding new data for fundamental things: streets, houses, addresses, land uses. And it has a barrier to entry - you have to be a tiny bit nerdy to confidently make edits. But in the not-so-distant future, it will need to transition to more and more maintenance and data quality tasks.

Personally, I think a good intermediate step will be to embed better and more automated review processes. The simplest one is in use by companies/agencies that use the data already:

1\. Take a snapshot of your region. Vet it for your use case and deploy.

2\. Grab a new snapshot at a later date (time to update the service). Look at the changes - is anything wrong or popping out at you? If so, fix it, then download + deploy.

If this becomes the primary means of adding data to OSM, a similar two-step process could be embedded into the contribution mode: Add data, then get the edit reviewed. Plus, there are automated tools to spot and characterize changes already (e.g. QA tiles) and they'll only get better.

<comment><USER10> > And it has a barrier to entry - you have to be a tiny bit nerdy to > confidently make edits.

Serious question - what can we do to lower these barriers to entry? Friendlier community norms? Documentation / tools? Social stuff (groups, meetups, etc?)

I'd love to hear people's experiences on contributing, and your honest feedback. I'm one of the "core" members of OSM (I maintain the iD editor) and we're always looking for ways to improve the new user experience.

> Personally, I think a good intermediate step will be to embed better and > more automated review processes.

I agree! For now, most review is done manually by volunteers. We're looking for ways to make this process more efficient.

If you haven't already, check out the OSMCha changeset review tool: [https://osmcha.mapbox.com/](https://osmcha.mapbox.com/)

It runs some checks against every changeset as they occur, and presents a newsfeed-style list for anybody to review. It also has filters, in case you are interested only in certain geographic regions.

<comment><USER11> I recently started mapping, and scaled the learning curve that surprised me how high it is. I downloaded streetcomplete and Vespucci for my phone, but when I came to a road (on my bike) that didn't exist on the map it wasn't obvious to me how to add it (I still don't know how to do it on either app).

When I finally hopped on my desktop computer and did the iD tutorial, a lot of things became much easier. I learned how to add roads and buildings, and started doing so. Then I noticed that my map software (osmAnd) didn't announce my freeway exits.

To figure out how to mark freeway exits properly was terrible. I found the motorway wiki page and the motorway link page, but from those pages I didn't feel like I could tag an exit properly still. When I finally found the exit_info page things made a little more sense why they are confusing: there are conflicting ways of doing it! I started tagging freeway exits near me.

One thing that would have been helpful for me (although would probably be a bit of work to implement) would be more overview-level tools. Like "I want to..." a) add a missing building, b) tag a freeway exit, c) give addresses to these buildings, etc. Granted, some of this is already done. I suppose it's really the exit tagging that is a new example.

I also have been worrying about my changes being erroneously modified by other people, without a way to "take ownership" of an area and be notified of changes- I will take a good look at that OSMCha change set tool.

</comment></comment></comment></comment><comment><USER12> I used to use and contribute a lot to OMS, then affordable data plans happened, and I realised that map is a small part of the issue, navigation is a bigger deal, and where google has a huge advantage.

<comment><USER13> That depends what part of the world you are in. There are places where OSM coverage of local ways is superior to Google's. It is hard for Google to provide navigation through an area when it doesn't even know about the streets there.

</comment></comment><comment> m-p-3 Even as a casual user OpenStreetMap is great. My old Garmin GPS isn't supported anymore and no up-to-date maps are available, but some awesome persons online are providing updated maps that are compatible with it using the OSM data.

Thanks OpenMapChest!

<comment><USER14> I'll be checking that out

</comment></comment><comment><USER15> After all of this time, OSM still has many glaring (maybe still necessary) empty spots. Usually involving bodies of water. I could point to, for example, thousands of square miles of lake country in the Canada map which are -empty-. (I usually shrug and switch to Bing.)

I can only guess how their editing priorities are mapped out (is there a Wiki or something?) but I'm guessing that's related to visitor numbers.

<comment><USER16> Openstreetmap depends on ordinary users adding/editing what they care about. Why not have a go editing those areas yourself :)

</comment></comment><comment><USER17> Getting OSM data exports is a little tedious.

They're available, but it's not so easy to get it since it's always very exhaustive. They should try to review how they make data available for developers, have different data sets, appropriate file formats, etc. They should offers different level of exhaustiveness and type of maps. The most basic should only contain roads and streets with their names.

OSM.org is great as a google maps alternative for users, but the problem lies with how OSM lets it data being available. GIS systems are always sensitive to size and performance, so it's not a simple problem.

MapBox seems to be on the rise, but I don't know what they're doing exactly, and what is free or not.

I tried using their .mbtiles format once and failed, it is a combination of zlib, sqlite and google protocol buffer. The generated C++ headers were the most horrific thing I saw in my life. There are better alternative to google pbf, I guess flatbuffers for example?

I have no idea how one would or should distribute map files properly. XML is not indexed and very very large, mainstream databases are inadequate because indexing geographic data is tricky so you cannot really select a specific zone you want.

If I was openstreetmap, I would federate XML exports, and generate country exports automatically, AND generate smaller exports for smaller country regions. I don't know if a good alternative would be to provide slightly overlapping squares, so planet.osm would be divided by 16 (or 32) squares, and then each square 16 (or 32) times again.

Open platform only thrive if distribution is smooth, and for maps it's not easy but it could be done. It's only a data problem.

EDIT:

I'm talking about exports simply because OSM.org servers might never be able to hold XML API calls for every developer who wants to use it in their apps.

<comment><USER4> OSM.org does provide a "per minute" data feed [https://planet.openstreetmap.org/replication/minute/](https://planet.openstreetmap.org/replication/minute/)

"basic map" with "roads and streets" is choosing one thing. What about country names? Or city/town names? What about administrative borders? _which_ language should be included? What about turn restrictions?

<comment><USER17> Unicode can be used.

As in basic map I meant something the user can recognize easily enough, but still more compact in data. If you want an user to navigate manually, this kind of data is enough.

</comment></comment></comment><comment><USER18> I wonder how they deal with political topics. For example, searching on their map for "Palestine" brings you to some village outside of Rennes, France. Searching for "Israel" brings you to the state with that name.

<comment><USER19> By trying not to.

[https://wiki.osmfoundation.org/w/images/d/d8/DisputedTerrito...](https://wiki.osmfoundation.org/w/images/d/d8/DisputedTerritoriesInformation.pdf)

Part of the explanation for your search is that local languages are given some preference by that search engine. Searching in the US I get the city in Texas as the first result.

Searching the Arabic فلسطين returns the country.

<comment><USER18> Then why is ישראל (Israel) displayed in my browser when I hover over the region but not فلسطين (Palestine)?

<comment><USER19> Whatever you are looking at is preferring one of the particular name tags on [https://www.openstreetmap.org/relation/1473946](https://www.openstreetmap.org/relation/1473946) or [https://www.openstreetmap.org/node/424297647](https://www.openstreetmap.org/node/424297647)

Likely "name" on the node link.

(assuming the display you are looking at is getting the data from OSM anyway; The default tiles on osm.org will use the "name" tag on nodes for most rendered place names, other users might combine OSM data with other data sources or whatever)

</comment></comment></comment></comment><comment><USER20> I'm doing a "map" project and currently if you want to use something like google map that is not openstreetmap you're going to have to pay a lot of money for it (that is, if you get any views or customers)

</comment><comment><USER21> OSM helped lower the barrier of entry into GIS for me and hope many of you would agree.

I discovered routing OSRM, geojson, proprietary data formats, ETL, and lot more on GitHub and blogs.

</comment><comment><USER22> Four years after this article was written, nobody has a "monopoly on place," no monopoly has take over mapping, and OpenStreetMap is still the least convenient of many options.

At some point, vague appeals to freedom and decentralization need to be backed by evidence.

<comment><USER5> Sadly, as much of a critic of OSM that I've become, this analysis of the situation is untrue.

Mapping companies simply consolidated, and Google began agressively mapping on its own.

</comment></comment><comment><USER23> As much as I like OSM, I had to switch back to Google Maps for two reasons:

1\. The library is better designed use out of the box 2\. The tile layer is more professional to regular users

For 1, I just need something easy to use. Leaflet is great but you still need more manual coding than google. Google's library is very intuitive. For a feature, I will barely touch after implementing, I prefer Google's: less learning the api, and gets the job done.

For 2, I know there is Mapbox, but they don't provide a tile layer similar to Google or when tiled, some buildings are simply missing. I just want a Google- styled tile layer. If someone could provide this, I will switch back.

<comment><USER24> Google's style and cartography is copyright, so it's not allowed to simply copy it. They also change it every year or so, often to emphasise businesses over things that don't pay.

You can use [https://OpenMapTiles.org](https://OpenMapTiles.org) to style your own map with vector files generated from OSM data.</comment></comment>


A PLT Redex model of Rust, almost - <AUTHOR> https://github.com/lkuper/rust-redex <comment><USER2> From lkuper (on the #rust IRC channel):

If anyone here has an HN account, perhaps you could comment and clarify that I wrote that thing in April 2011, when Rust was a very different language, and even then, I only modeled a tiny subset of the language.

<comment><USER3> Thanks for the headsup. Would be interesting to know more about in what respects Rust was different, and why this lang is out of date.

<comment><USER4> I don't really know what has changed in Rust over time (though a fair amount has changed in Redex (and some in Racket) since this was written, particularly an improved way to write a type checker). Skimming over the current version of the Rust tutorial, it looks like the model doesn't include the full variety of pointer types (just boxes with no notion of ownership), pattern matching/algebraic data types (it does have tuples and projection), or concurrency, and the model's type system is monomorphic. One TODO is for the stack (I'm not sure what there is to do for that). The other is for assignment. This would typically be a reduction step that changes the contents of the heap, but maybe there was still some question about the details of that change (such as whether/when to drop unreachable heap cells). I expect Rust's concurrency would require some more thought about how best to represent program state and some changes to the type system.

</comment></comment></comment><comment><USER5> What's a PLT Redex, you ask? [http://redex.racket- lang.org/](http://redex.racket-lang.org/)

</comment><comment><USER6> If you are interested in a formal model of Rust, [https://github.com/nikomatsakis/rust- formal](https://github.com/nikomatsakis/rust-formal) is probably a better choice.

<comment><USER7> (Note that this is also very old.)

<comment><USER8> It seems as if formal models of Rust have a tendency to rust.

<comment><USER7> Haha, anything not in the source tree of Rust (or Servo) tends to rust... things change quickly.</comment></comment></comment></comment>


Show HN: Zest – FOSS Docs Browser with DevDocs and Stack Overflow - <AUTHOR> http://zestdocs.org/ <comment><USER2> I was going to mention Zeal (a free Dash replacement), and then founds this from the Zest author[0]

> Some people may know me as the original developer of Zeal, the Dash-inspired > offline documentation browser for Linux and Windows.

[0] [https://email@example.com/from-zeal-devdocs-to- zest-m...](https://firstname.lastname@example.com/from-zeal-devdocs-to-zest-my-docs- journey-93fa4bf08a8f#.vpt3e2lg7)

</comment><comment><USER3> The local copy of StackOverflow is interesting.

Did they allow this/is this illegal? Is there any precedent for using forum data like this?

<comment><AUTHOR> Stack Overflow posts are CC-licensed and all the data is available at [https://archive.org/details/stackexchange](https://archive.org/details/stackexchange) \- this is where Zest downloads it from.

Dash also provides SO search, though only in titles (no full text search).

</comment></comment><comment><USER4> Anyone knows enough to compare with Dash?

<comment><AUTHOR> I think this is going to have a different target audience. Dash includes tons of documentation from very diverse set of sources, including .NET and Apple docs. Zest supports only DevDocs and Stack Overflow. It is also open source and works on more platforms, so may be eventually better for people preferring FOSS.

Zest is also pretty much an experimental proof of concept at this point and thus far from being as polished as Dash.

However, I think full text search is a very cool feature which Dash is currently missing, which was the main factor which motivated me to go ahead and try implementing it.

</comment></comment><comment><USER5> I hope this eclipses Dash.

</comment><comment><USER6> Love it.

</comment><comment><USER7> This looks interesting.</comment>


Ask HN: Any cool sites that do IP GeoLocation? - <AUTHOR>

Anyone know of some good examples of sites that provide services based of GeoLocation of your IP? <comment><USER2> AdultFriendFinder. All their ads guess my location and try to convince me that there are lustful women in my neighbourhood who are desperately looking for someone like me.

<comment><USER3> From Pullman, Washington, I have gotten AdultFriendFinder to claim I am in any of Post Falls, Idaho, Couer d'Alene, Idaho, and Overland Park, Kansas.

<comment><USER2> Yes, it isn't all that accurate. I did a cross-check with a few friends to see if the results matched the Maxmind free database. It seems they are using that.

</comment></comment></comment><comment><USER4> <http://goingtorain.com>, I think.

</comment><comment><USER5> <http://rememberthemilk.com> uses this to find out where I am, so it can show me tasks due at my current location.

</comment><comment><USER6> Try: <http://ipinfodb.com/> They offer a free geolocation API and even their SQL DB is free.

<comment><USER2> They've also spammed just about every social media site out there. Check out e.g. <http://news.ycombinator.com/submitted?id=marchost>

I can't figure out if you're actually trying to help, or if you're just a sock puppet for "marchost". The fact that this is your only contribution to HN does not ease my apprehension.

<comment><USER6> The only reason I made that post was because I've used their services in the past and never had a problem with it.

I certainly do not have any affiliations with "marchost" nor am I his sock puppet for anything (I've never even spoken to him/her).

</comment></comment></comment><comment><USER7> Google (try a search for e.g. 'pizza delivery'). However if you have the appropriate cookies set, I believe it will use a remembered location rather than your IP-derived location. I don't know whether to consider this a feature or a bug.

</comment><comment><USER8> I haven't seen anyone do anything I've found really useful. Most are like this one, that tells you how long the sun is over the horizon based on where you are: <http://mersol.se/>

</comment><comment><USER9> Try <http://ip2location.com/> . They've been around for quite sometime and IMHO it's more accurate than maxmind.

</comment><comment><USER10> Google. Serving AdWords ads to you.

Well, actually its service ofered to their _adveritsers_.

</comment><comment><USER11> Several job boards use GeoIP to show jobs near you first

</comment><comment><USER12> maxmind, quova</comment>


100 Prisoners, 100 lines of code - <AUTHOR> http://www.statisticsblog.com/2010/07/100-prisoners-100-lines-of-code/

<comment><USER2> This puzzle has had significant discussion recently:

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

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

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

</comment><comment><USER3> One of my favorite math puzzles. I would've bet quite a lot there just _wasn't_ a strategy for this.

</comment><comment><USER4> Replace the numbers with URIs, i.e., each box has a unique URI and it links to only a single URI (think of a page on the Web or a person in a social graph). Starting at a certain page, what is the probability of visiting it again? What happens when each page has _n_ links (boxes have _n_ numbers in them)? Interesting.</comment>


Olympus quits camera business after 84 years - <AUTHOR> https://www.bbc.com/news/technology-53165293 <comment><USER4> Sad to see them go - photography's such a great hobby and having competition in the space is healthy. There's a few brands out there still, but there is a noticable stigma in the professional community around equipment that isn't Canon. If you're not using L-glass, it feels like you get the same kind of judgement that Android users experience when they show up with green texts in iMessage.

As a matter of principle, I've been buying exclusively Nikon for almost my entire time in the hobby. I always saw Canon as a large conglomerate who tacked on photography as another arm of their company, where to me Nikon feels more focused on optics as a primary business line. Honestly, I should almost start buying more Pentax gear.

I worry we're slowly approaching a monoculture in photography, but it's hard to convince folks outside of the hobby to care.

<comment><USER5> To me, the big monoculture risk is Sony's image-sensor fab. As I understand it, Sony, Fuji, Nikon and many others all rely upon the output of one company's manufacturing process.

There's a good reason for it -- they appear to make the very best sensors (edit: in terms of dynamic range and noise) in the commercial-camera market. Canon makes their own sensors, which are good in absolute but not relative terms, which appears to hold them back in performance. I don't know if it is patent-related or process-related.

While I use Canon imaging systems, I don't see the choice to use other brands as better or worse. Each manufacturer's line has strengths and weaknesses; you pick the best tool for the job. Essentially every camera and optical system on the market, in absolute terms, is a wonderful instrument for imaging.

This reality is intensely freeing -- it means you can focus more on the image and less on the instrumentation. "f/8 and be there" is still wonderful advice.

<comment><USER6> Sony's image sensor fab business is a bit different.

First of all, there's two companies: Semiconductor and Imaging. Sony opens some of their technologies to other customers by transferring Imaging unit's patents to Semi and allows them for re-licensing. So, not everyone is using the same sensor even if they are coming out from the same fab.

Second, there's customer tailored sensor business. Sony can provide a customer a baseline to start and, customer can customize this sensor according to their needs and got it produced for themselves.

Lastly, there's strict division between customers in semiconductor side. So Sony Imaging can't access to specs and design of other customers' sensors.

How it works in real life?

\- Sony A7 series use Sony's sensors with all their secrets at their disposal but, not with Nikon's and Fuji's secret sauces.

\- Nikon orders customized, "Designed by Nikon" sensors to Sony Semi. Sony Imaging cannot access them (unless they buy and disassemble a Nikon Z).

\- Same for Fuji. They have less rolling shutter in XT-4 for example, and it's again built by Sony, for Fuji. No, Sony Imaging can't play with them.

\- Canon R5's sensor is "Designed by Canon". I'm not sure they are producing it. Sony or Tower Jazz maybe producing it. I don't know.

At the end of the day, the fab is almost one but, designs are many and diversified and, nobody can see each other's design. Like TSMC and Global Foundries.

<comment><USER5> Totally agreed, but if that one fab company falls over, much of the imaging industry has a problem. That's the monoculture.

<comment><USER6> In bigger semiconductor business we have three main fabs. Intel, TSMC, Global Foundries. Intel is closed to outside customers, so again we have a duopoly there.

It's not very very different in the bigger picture if you ask me.

Please correct me if I'm wrong.

<comment><USER7> Intel offers custom work [https://www.intel.com/content/www/us/en/foundry/overview.htm...](https://www.intel.com/content/www/us/en/foundry/overview.html)

You forgot Samsung as one of the big fabs.

<comment><USER6> Thanks for pointing out both. I was not aware of Intel and, I didn't realize that Samsung got that big.

It occurred to me that Kingston probably has its own fab too.

<comment><USER8> Yeah, but my guess is Kingston's fabs are primarily geared towards Memory (i.e. NAND Flash and RAM) (much like Micron).

Memory is fairly easy to fab; in fact memory was one of the first things we saw Asian fabs rise up and overtake US/EU fabs on.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Olympus will certainly be remembered for at least one thing:

The two decade long tobashi scheme by Olympus Imaging Executives to hide billions in losses.

"While early activities generated profits in 1987, by 1991 Olympus recorded 2.1 billion losses. Rumors circulated that by the late 1990s, losses had grown larger.

Rather than come clean and admit the losses, management continued to 'double down' with riskier investments.

Olympus created a tobashi scheme to shift losses off the Olympus balance sheet. Companies located in the Cayman Islands were purchased via exorbitant Management and Acquisition Fees.

When the first Western President, Michael Woodford, questioned these practices, he was fired after two weeks on the job. Woodford became perhaps the first CEO ever to blow the whistle on his own firm.

The subsequent scandal brought arrests of the executive team, an 80% decline in share price, the threat of de-listing on the Tokyo Exchange, and an international look at Japanese Corporate Governance. "

[https://files.eric.ed.gov/fulltext/EJ1053608.pdf](https://files.eric.ed.gov/fulltext/EJ1053608.pdf)

<comment><USER10> For those curious how Tobashi Schemes work [https://en.wikipedia.org/wiki/Tobashi_scheme](https://en.wikipedia.org/wiki/Tobashi_scheme)

</comment></comment><comment><USER11> One thing to notice is: Olympus is NOT shutting down the camera business. It gets split off the Olympus coproration and is supposed to run as an independant company. Of course that could mean a later death, but it can also mean that it continues to prosper as management might take new directions.

Also, while still producing a deficit, the camera division managed to improve the balances quite a bit over the last year. A completely new production facility was opened not long ago in Vietnam, and new camera models and lenses were launched, others still in the pipeline and the plans are to bring them to the market.

I am a very happy Olympus user and definitely hope, that their lineup has a long future. I see mFT as a great alternative to the ubiquos "full frame" cameras, which are, if you look at the complete sets, more expensive and especially bigger and heavier. And despite of the "small sensor", Olympus cameras produce excellent results, to no small amount due to the excellent optics.

<comment><USER12> I think a lot depends on how well they can keep up with the sensor technology. Sony seems to have the market cornered on that front.

<comment><USER11> Quite a few of the Olympus sensors are made by Sony. At any time, they could pick up some money and just ask Sony to give them a new sensor design. This is one hope I have, that after the split-off, new money is invested in updating the sensors.

<comment><USER13> IIRC, right around the time Oly switched from Panny to Sony sensors, they made an agreement to share tech/patents, which I think included Oly's multi-axis IBIS.

</comment></comment></comment></comment><comment><USER14> That's a legitimate shame for open standards. M43 has its proponents and critics, but either way it is rare to see a somewhat successful multi-vendor standard in photography that actually _worked_.

The main problem is that the market itself has been shrinking, and there's just not enough room to have so much competition (Olympus, Panasonic, Sony, Fuji, Canon, and Nikon).

M43 was successful, but it succeeded in an area that is shrinking faster: Smaller form factor/lower optical powerful photography equipment; exactly the kind being eaten alive by smartphones.

While Panasonic and others will continue the M43 standard for a while longer, the writing may be on the wall. Some competition have moved into niches (e.g. medium format, videography, etc), which may have better longer term stability.

<comment><USER15> This is actually news to me... I bought a M43 camera a couple years ago because I thought it was a standard with staying power and a healthy ecosystem of lenses and bodies from many manufacturers. Is Panasonic the only one still producing M43 gear? I thought Fuji did as well, unless they decided to ditch it, too. I'd be upset if the standard disappeared!

<comment><USER16> I got one better: i sank $2k into a full four thrids lens a while back (the f2.0 zoom; its still worth every penny). I've been wondering about finding a new sensor to put behind that, if i have to embrace the suck of adapters anyway, what should i be looking for now? Seems like "any Cannon" is the only sensible answer.

<comment><USER17> What do you want to do that you can not do now?

<comment><USER16> I'd like to get video using the lens; for stills the current olympus e3 its paired with is still pretty good.

<comment><USER17> I'm an Olympus user / fan - but my understanding is that Panasonic made the better video bodies. I suspect one generation back would have some highly competent video capabilities are very reasonable prices now.

<comment><USER13> > my understanding is that Panasonic made the better video bodies.

I love the stills output (esp the colors) from Oly cameras, but for some reason I don't quite like the handling/ergonomics.

I don't know if it's because I had a Panasonic LX3 way back when, but I find my GM5 way more usable than Olympus E-PL6 from a button and menu perspective. YMMV of course, but my GM5 and GF2 feel much more solid than the Olympus bodies (EPL6 and EP2) I have.

<comment><USER17> I've held a friend's Panasonic, but that's as close as I've come to one - never used it, navigated menus, etc.

I had a Minolta 7Hi originally - fixed lens, but sophisticated for the time - then Olympus E620 (FT), and then the EM-5 MkII (mFT). So my experience has consistently improved, but isn't very wide.

With FT and mFT cameras, the Olympus menus for a long time (and perhaps still) have an unfortunate default setting of the 'Super Control Panel' being disabled. Almost everyone enables this excellent feature, but that requires some deep diving into the standard menu system, and sometimes some conflicting settings need changing. But (!) once you've done that, I've found navigating the settings & controls to be blissful.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Photography is one of those areas where devices don't go obsolete very quickly. With a good lens from 50 years ago I can still take an excellent photo on a digital camera from 15 years ago. Sure you won't have all the bells and whistles of the latest cameras and you'll sacrifice a few stops of dynamic range but for the average hobby photographer that doesn't really matter. The only customers who will upgrade every few years are professionals and Olympus hasn't had a huge offering for professionals. The micro four thirds standard is a great compromise between size and picture quality but it isn't what most professionals are looking for. They can use a phone for most of the things that an Olympus camera is good for and everyone these days already has a phone on them.

One market that hasn't been explored by camera manufacturers is software upgrades. I would pay a fair bit of money to get some of the latest computational photography features on my 5 year old camera.

<comment><USER19> Man, I hate this phone analogy. Every shot I take with M43 looks nothing like anything taken with a phone. I just took these shots a couple days ago, for an example. There's no way you get anything close to this with a phone.

[https://photos.app.goo.gl/TSFhhA5igk1iEfRbA](https://photos.app.goo.gl/TSFhhA5igk1iEfRbA)

<comment><USER20> _Every shot I take with M43 looks nothing like anything taken with a phone._

How much of that is an actual difference in the camera tech and how much of it is subjective perception?

I suspect for things like the two photos you linked to, even the best professional photographers would struggle to tell the type of camera was used to take them. By the time they've gone through a few apps and services and they're being viewed in Google Photos they could have come from a phone, or an M43 camera, or even a high-end medium format dSLR.

I do wildlife photography when I'm not building web stuff ([https://www.instagram.com/onion4k/](https://www.instagram.com/onion4k/)) - that's pretty much impossible with a phone camera simply because you need to a really long focal length for any animals that won't come close to you, but I still see people out in the countryside giving it a try. I often wonder if they're happy with the pictures they take. I _suspect_ they are. For most people photography is about recording the moment more than producing a print quality picture.

<comment><USER21> > How much of that is an actual difference in the camera tech and how much of > it is subjective perception?

The out of focus area is a dead giveaway for anyone who's even remotely into photography. Phones are very good at taking snapshots but they're extremely limited by the sensor size and the fact that the lens has a fixed aperture, no amount of computational photography will solve these physical constraints. You can't escape physics and optics laws

</comment></comment></comment></comment><comment><USER22> I maintain that digital camera manufacturers' biggest failing is not eliminating the friction between taking pictures and video and getting them online to social networks, like Instagram. It's super frustrating.

<comment><USER23> Is it really that difficult? I can connect to my entry level nikon d3400 over bluetooth and send an image to my smartphone, edit it a bit and upload it to instagram pretty easily.

Granted the bluetooth is very slow and image editing on a smartphone is fairly rudimentary but personally I prefer not to edit images too much.

<comment><USER22> The bar for broad market consumer products--which digital cameras once were-- has a much higher bar than that.

"Good enough" would be that you take a picture on your camera, and it's available as a thumbnail in your phone's gallery without any further action. Sharing it would trigger a full transfer.

"Great" would be being able to edit and upload without taking your phone out of your pocket at all.

It blows my mind that we still live in a world where product makers don't get the cloud. People no longer want to think of data as living within physical devices, managing copies and transfers. They want to skip to the "job to be done".

<comment><USER21> I for one want my camera to be able to take pictures, and that's it. I don't want it to be a cloud aware 5g connected behemoth running a desktop tier operating system and lightroom.

<comment><USER22> That's fine. But it's a shrinking market.

</comment></comment></comment></comment></comment><comment><USER24> Oh wow. As of last year, I still had an Olympus C-120 in the glove box of my 1999 Miata. Many, many moons ago, it was recommended that you kept a camera in your car in case you got in an accident. Decades later, I just never bothered to take it out. One night last summer, I forgot to lock the car. Someone came through and stole it.

"Uhh, ok," was pretty much my reaction. Hope you get a lot of money from it at a pawn shop. Maybe that 32MB SmartMedia card might be worth something.

Back in the days of early compact digitals, the Olympus lines were such a great value. The technology overall wasn't that great to begin with so no one was head and shoulders above everyone else. Olympus solidly beat everyone on price, though.

</comment><comment><USER25> As a casual underwater photographer I hope the Olympus TG series rugged compact cameras live on under the new owner. I know compact cameras are a dying niche market in general. But no one has figured out a good solution for using smartphone cameras underwater (there are waterproof housings but the controls are terrible and they don't really work with strobes or wet lenses). The housings for DSLRs and similarly sized mirrorless cameras are too bulky and extremely expensive.

<comment><USER13> Have you had a look at the Nikon 1 AW series?

I think there are only two lens options, but apparently they are very good, and should be pretty cheap now, since they were a niche offshoot of an already niche (and discontinued) product line.

<comment><USER25> The Nikon 1 AW1 was discontinued years ago and it is technically inferior to the Olympus TG-6. Lens options are moot anyway for underwater photography because you need special wet lenses that attach to the waterproof housing.

</comment></comment></comment><comment><USER26> Is Pentax next? Oh wait, that already happened. What a shame. Both Pentax and Olympus had unique features to offer. Cameras are not a commodity yet. I still hope Ricoh will do something, Pentax bodies haven't had a real next generation in a decade.

<comment><USER27> I fully expect Ricoh to drop the Pentax line.

Their APS-C cameras are _fantastic_. Their full frame camera is the best value for the money - almost half the price of the competition with comparable quality. Pentax has unique features for the enthusiasts.

But ... the ecosystem is dying. Sigma stopped making Pentax lenses. At this point I don't think anyone makes lenses for Pentax other than Pentax, and Pentax lenses are _expensive_ compared to Nikon and Canon. So while the Pentax full frame body is an excellent value, once you start adding lenses to the picture, Nikon and Canon still win in the total cost arena. Pentax FF has very few choices of _modern_ lenses. You could buy their film era lenses, but supposedly modern ones are a lot better in quality.

I'm a Pentax user. Used to by an Olympus guy. Kind of sucks to have to go through this all over again.

<comment><USER26> Ha, ha. Same here, after I retired from photography I sold my Nikon gear (I didn't own most of it anyway) and went for an Olympus, mostly for size (no mirrorles back then). Then I had all my gear stolen and seeing that Olympus was slow at developing pro bodies it promised I went for Pentax. At some point I will probably arrive full circle back at Nikon after Pentax gives up.

Pentax glass is really nice, I wasn't bothered about sigma. The more annoying thing is flash support always sucks for Pentax.

<comment><USER27> > Pentax glass is really nice, I wasn't bothered about sigma.

Pentax glass is great. It's also expensive! I want medium quality options.

</comment></comment></comment></comment><comment><USER28> It was a matter of time. They were focused on m4/3, which was a good system. But phone technology evolved quickly.

Most pros or prosumers go for the higher-end APSC or Full Frame lineups. In my experience, they don't take the m4/3 stuff seriously.

For regular folks, m4/3 is too expensive. For the same price, they can use their phones (or buy an APSC camera). The quality is negligible thanks to all the software enhancements the phones do.

Panasonic is at least focused on video. That helped their market a bit. But who knows how they'll do in a few years? They've entered the saturated full frame market. Pentax is probably in trouble too. They don't even have mirrorless offerings.

<comment><USER29> Actually it is APS-C that needs to go. That format does not offer significant IQ upgrade compared to M43 and has not significant size benefits compared to FF.

No matter how good phones are there is still a clear advantage M43 has over them.

</comment></comment><comment><USER30> My Dad had an OM-1, and later I bought an OM-D E-M5. Its amazing how much sentiment affects decisions. I have and love both those cameras, many happy memories.

<comment><USER31> Definitely - my favorite film camera was a Pen F half-frame with the big gothic "F" on the front. Old, but really compact (and worked well-enough with lens adapters, right until it got stolen a couple years back).

The feel of the thing definitely got me to buying the E-M5.

<comment><USER32> I still have one of those, a hand-me-down from my father...was my first real camera.

</comment></comment></comment><comment><USER33> FWIW I run a website that allows you to interactively filter Micro Four Thirds lenses: [https://www.m43lenses.com/](https://www.m43lenses.com/)

<comment><USER34> That's very handy. I've not seen anyone talking about Blackmagic in this thread, but my Pocket 4K is always in need of new m4/3 lenses!

</comment></comment><comment><USER35> Sad to see them go and see the industry losing even more competition. Had a couple of Olympus' and was always delighted by their quality.

But on the other hand the underlying problem is quite true: Since the advent of the smartphone I see myself rely more and more on my smartphone (even tho I still don't really like that "look", but as long you don't plan to have a professional photo shooting it's "good enough").

On the other hand: the camera business seem to have stopped any evolution. I didn't see one thing in the last 10 years that made me go "what a gamechanger! I need that!"...

<comment><USER36> >On the other hand: the camera business seem to have stopped any evolution. I didn't see one thing in the last 10 years that made me go "what a gamechanger! I need that!"...

That's not true at all. Recent innovation in diffractive optics & phase fresnel lens (gap-less) designs is a gamechanger that has recently allowed compact lens designs to compete with larger, heavier lenses. For wild-life photographers looking to travel and fit their gear in the overhead bin, its a gamechanger. Sony's Eye AF is a gamechanger for portrait photographers looking for increased productivity. Mirrorless cameras with live EVFs are gamechangers for photographers who no longer need to take a test-shot to check for exposure (mainly blown highlights which can be avoided with live zebras). Sony A9's triple stacked sensor design and its super fast read-out is a gamechanger for shooting sports w/ a silent shutter (e.g. golf).

There are plenty of game changing technologies. Ofcource, it all depends on what it means to YOUR photography.

</comment></comment><comment><USER37> Shocker! I have owned two of their micro 4/3 digital cameras and loved them. Great rangefinder style in the $600 range with quality lenses in the box. I remember the first time I took the camera out with the telephoto lens and being shocked by the quality of the photos. Learned then that quality of camera + lens really makes a difference in nice looking photos.

Edit - replaced 'DSLR' with digital

<comment><USER13> > I have owned two of their micro 4/3 DSLR cameras

I thought all of their 4/3 cameras were DSLRs and all of their micro 4/3 cameras were mirrorless?

<comment><USER37> Excuse my ignorance, correct, it is mirrorless :D

</comment></comment></comment><comment><USER38> I'm sad to read this. I "made a bet" on Olympus in 2008, when I bought my first and only DSLR: the E-520. I bought a couple of additional lenses too, thinking that I would always be able to buy an upgraded body as technology improved and continue to use the lenses. Little did I know that the E-520 was the last DSLR they released :/...

<comment><USER13> IIRC, if you get an OM-D EM 1 or 5 model with a lens adapter, you can get decent performance from your old lenses.

</comment></comment><comment><USER39> Sad, I agree with the article though that they made some rather curious choices that didn't help their prospects.

I still have a Camedia C3030 Zoom for some reason with all the doo-dads (extra flash extension, XM memory cards) it had an awesome F2.8 lens and could take very nice pictures @ 3MP. I replaced it with an C5050 Zoom that had an F1.8 lens but gave that one away when I replaced it with a Canon SD550 (which for some reason I also still have :-)).

I joked on Twitter that the "big feature reveal" for Canon's 2020 DSLR would be that you could make phone calls with it. So much of the camera market was consumed by phone cameras.

While it has done wonders for bringing the price of sensors down, the really important bit of the camera, and the part where Olympus had an edge, are the lenses.

I hope whomever buys the camera unit can continue the tradition with some better choices.

<comment><USER40> I just have a simple DSLR from Canon, which says it has WiFi, but the wifi experience is so poor it's not really usable.

I guess my point is that if they add a phone, it won't make phone calls without a lot of stress, so you probably won't use it.

Edit: I realize that adding a phone is a joke.

</comment></comment><comment><USER41> Awww... so sad to see this. I know phones have basically eaten everybody's lunch except serious photographers.

It's the march of progress, but their mirrorless cameras were solid. I have a couple Fuji X-series bodies myself, and I wouldn't be surprised if they announce something similar any time soon. Amazing body, amazing glass, amazing software, amazing photos... but at the end of the day, the incremental increase in quality and/or flexibility doesn't make up for the form factor. And now that camera software is so damn good, and we're utilizing multiple lenses with multiple optical ranges to make a composite photograph...

snapshots are all that 99% of people ever needed, but I really thought the mirrorless cameras would eventually supplant dslr.

</comment><comment><USER42> *Consumer camera business.

<comment><USER43> Are consumer digicams even a thing anymore? Everything below the prosumer level had their lunch eaten by smartphones.

<comment><USER44> The fact that they really aren't "a thing" seems to be the exact reason they're getting out of the business, yes.

</comment></comment></comment><comment><USER45> I started photography with a Canon AE-1 and my aunt's darkroom and lusting after Hasselblad cameras because they were used in the space program. It's been a life long love. But carrying a camera is a conscious decision and a cell phone is always in your pocket.

I anticipated Project Ara meshing the two worlds by adding high quality modular photo capture options to an Android phone. Pixel and iPhone have such excellent photography that it's _almost_ moot.

But still if there was a cell phone meant for photography I would be sorely tempted. The RED phone was a bust but perhaps someone else will somehow package a lens and a phone in a way that means you can always have both.

</comment><comment><USER46> It's sad to see this - they do of course claim that they'll still be making cameras for the time being but who knows how long that will last, and at what level of investment. Olympus was already considered somewhat behind the cutting edge in technology in the camera body space (they do have quite high quality lenses, though).

I hope there are no more "deaths in the family" in the photographic industry anytime soon, as the market is already down to only a few large players left. Personally, I love my Nikon equipment and hope they continue to make gear for decades but even Nikon and Canon seem like they'd be at risk, now.

</comment><comment><USER47> If they weren't a Japanese company I'd say just wait a year and they will sell the name to a Chinese company and you'll have Olympus cameras again in 12 months time at a fourth of the cost.

<comment><USER48> Olympus sold camera dept to Japan Industrial Partners, Inc that also had bought VAIO dept from Sony previously. I don't expect they sell the dept to China.

</comment></comment><comment><USER49> As someone with a huge photography itch and a gear nerd who actually isn't a practitioner, can someone with domain expertise in photography and cameras give some insights or predictions in to what they see as the future of photography?

I have a sophomoric understanding of the shift from SLR --> DSLR --> Sony led Mirrorless cameras.

Where do we go from here?

How do things like Hasselblad's X1D II entry level medium format shape up the market? Do more companies go down market? Do the Sonys of the world go upmarket?

<comment><USER50> My prediction is that full frame cameras will eventually be squeezed out by APS-C and medium format.

On one side, medium format cameras are shrinking in both size and price. The Canon 5D Mark IV is thicker, taller and heavier than Fuji's GFX 50R[1]. Medium format cameras aren't quite as small as full frame mirrorless cameras, but they are no longer impractically large either. If image quality is paramount, size and cost will no longer rule out medium format.

On the other side, APS-C cameras are now firmly in the 'good enough' area of the image quality curve - even for many professional applications - and they are continuing to improve. If you have other practical considerations and can do with lesser (but still excellent) image quality, APS-C will be your choice.

1\. [https://camerasize.com/compare/#682,805](https://camerasize.com/compare/#682,805)

<comment><USER49> Do you think it is possible that cellphone cameras are coming closer to APS-C and thus its those that end up losing out? Full frame seems to be a significant value add relative to APS-C for a prosumer, just as how medium format is a significant jump up.

<comment><USER50> I think not. The difference between cellphone and APS-C cameras is in both quality and category. A dedicated camera has an ergonomic shape, a viewfinder, interchangeable lenses, hardware dials, switches and buttons. The people who don't care about those things have already switched to smartphones, while the people who enjoy photography as a hobby and the professionals will never want to give them up. The sensor of an APS-C camera is 20x as large as a cellphone's, so you're already well into the region of diminishing returns. Is a full frame sensor that is 30x as large really that much more compelling? Especially when you consider the downsides that come with supporting a larger sensor (larger camera body, larger and more expensive lenses, etc.) Maybe it is now, but advances in sensor technology continue to make APS-C good enough for more and more purposes.

</comment></comment></comment></comment><comment><USER19> I'm really sad about this. It feels like everyone went full-frame without appreciating the benefits of smaller lenses and bodies. Olympus glass is the best in the industry, probably because they don't have to make everything so damn large. I've got Olympus lenses that cost $400 new and can't even match $2000 full-frame glass. Sure, I'll keep my kit forever, but it sucks to know I'll never upgrade any of it.

<comment><USER51> It's true the lenses Olympus make may take up much less volume than an equivalent large focal length for full frame.

But the downside is they're not cheaper in the prosumer space. The spatial resolution demands put on the lens by a 20MP M43 sensor is actually pretty similar to a 42MP Sony A7Rii. This means the manufacturing tolerances are the same as full frame, which is a large component of lens cost.

This means that for the average consumer not interested in long range wildlife photography where the price of glass does come into play (e.g. 600mm), there isn't any price advantage.

As an example, have a look at the 12-100mm F4 for Olympus ([https://www.bhphotovideo.com/c/product/1281427-REG/olympus_v...](https://www.bhphotovideo.com/c/product/1281427-REG/olympus_v314080bu000_m_zuiko_digital_ed_12_100mm.html)) vs the new Tamron 28-200 F2.8-5.6 for Sony FE ([https://www.bhphotovideo.com/c/product/1568708-REG/tamron_a0...](https://www.bhphotovideo.com/c/product/1568708-REG/tamron_a071_28_200mm_f_2_8_5_6_di_iii.html))

The Tamron actually outperforms the Olympus lens in terms of spatial resolution/sharpness on a 24MP sensor (because the photosites are larger), has a 2 stops faster wide end, and is $500 cheaper.

Even more interesting is that there is only a 14g difference in weight between these two lenses. Granted the Olympus will have better weather sealing.

The average prosumer is going to do the math and see that for a lower total system cost (body + lens) they're getting more in terms of sensor and lens performance for a negligible increase in weight.

This wasn't true in the early days of Sony's FE system, but as of 2020 with modern, sharp, short flange lens designs from 3rd parties - <USER2> price/performance ratio has become better than I ever predicted it would be

<comment><USER19> Yeah, you're right. But still, the Olympus is water sealed and stabilized to like 7 stops. And it's still smaller and uses smaller bodies, even if not drastically.

That said, I don't like that Olympus lens. I don't have it and have no interest. Like you said, it's a bit silly and defeats the purpose of the format. But give me the 45 prime and I've got a camera with great reach that can nearly fit in my pocket.

</comment></comment></comment><comment><USER52> Olympus was one of my first digital cameras. I forgot the model, but I still remember it used SMC/SmartMedia cards, which were an exotic item back then (CF/CompactFlash were the most common).

The picture quality of that camera was better than even Canon or Sony, and it cost less.

Sad, but I haven't heard anything about Olympus for a long time. They developed their own standard for mirrorless cameras, but then kind of vanished, at least in my world :/

</comment><comment><USER53> Sad, but inevitable, after Nikon stopped dragging its feet. I used Oly cameras for a few years, mostly due to their compact size and excellent in-body stabilization. But then Nikon released Z6 and I switched to that. Not much larger, much better image quality (Sony looks too "blue" for me), great usability, great stabilization, great glass so far. Still Olympus OM-D series were excellent cameras.

<comment><USER29> Z6 may be compact, but the lenses for FF will be big, heavy and expensive anyway. Also, I do not think that anyone came close to Olympus IBIS.

<comment><USER53> You can just use f/4 most of the time. 24-70 Nikon f/4 is not that different in size or weight compared to 12-40 f/2.8 Oly. Image quality is still going to be better.

</comment></comment></comment><comment><USER54> Oh no. This is a huge blow to the MFT form factor (which is supported mostly by Olympus and Panasonic), which I personally love.

<comment><USER55> Agreed though I think this could go either way. Either Panasonic steps up their line up and becomes the sole M43 manufacturer or it fizzles out. I really think the M43 ecosystem is severely underrated in a world where cameras are pitched solely on specs. The body to lens ratio is so great on the M43 lineup and I absolutely love my GX85 for just that reason. For most consumers or even prosumers who don't make a living in action sports or low light photography M43 is the sweet spot. As a hardcore photographer hobbyist I recently sold all my APS-C / Full Frame gear for a super minimal kit that comes with me on every trip. [http://minimalnotes.com/a-minimalists-hobby- camera-kit/](http://minimalnotes.com/a-minimalists-hobby-camera-kit/). I'm really hoping Panasonic makes some announcements in the next month or two... fingers crossed!

<comment><USER13> Have you considered the 9-18 for traveling?

I have an equivalent lens for my Nikon J5 (so I'm in no rush to pick up the 9-18 - or I should say -was- in no rush prior to the Oly announcement), and it's the lens I use the most during the day when traveling. When I travel, I usually bring my J5 with the wide zoom and my GM5 with a pancakey lens (switching cameras is easier than lenses, imo) plus a lightweight long zoom.

<comment><USER55> I rarely go below the 50mm focal length so the 12-32 has been ok for those rare occasions so far.

</comment></comment></comment></comment><comment><USER56> Lots of my friends are switching over to Sony. Sony high end gear works better out of the box. My Nikon fluorite 600mm f4 E and D850 has to be recalibrated for wide temperature changes. I expect my DSLR and lens to know when its in focus, not for me to have to tell it periodically where best focus is.

</comment><comment><USER57> I have been a long time M43 user since they released the very first OMD-EM5. And the OMD line has been the __best __camera for the everyday user - <USER3> capable, small with amazing small lens that really are great. The Olympus 45, Panasonic 20mm and the 80-150 are truly some the greatest lens for any system. Shure, you loose some depth of field - but for 95% of the people it is perfect.

However, when I was ready to upgrade my OMD-EM5 purchased in 2009 (11 years ago!) - I started the move away from my M43 system. And heres why:

Cost - The Nikon Z6 with an FTZ adapter can be had for $1550 brand new. Compare that to a new OMD-EM5 MkII for $1200 - the EM5 just can't compete.

Size - the Z6 + Nikon 24-70 F4 S is really not that much bigger than the EM5 MkIII. Add the Nikon 24-70 F4 S lens, and the size difference is negligible. But the AF capabilities and image quality are far superior.

Compatiblity - The Z Mount is absolutely amazing. With third party adapters you can use just about any lens (Nikon F, Nikon S, Sony FE, Canon EOS) with full autofocus capability. The Z Mount is the most universal mount anyone has ever come out with.

Video - I am not a video user, but the Z system has an excellent reputation for video. Olympus never really concentrated on video - they seeded that market to Panasonic.

All of this with an amazing echo system and with the first gen Z mount it is quite amazing already. And the Z mount going forward I feel is going to allow Nikon some amazing things \- largest diameter with the shortest flange distance allows for unique designs and edge to sharpness that is absolutely amazing.

I know this is turning into a Nikon Z love fest, but the point is - with the new entries from Nikon & Canon, combined with average consumer going to the cell phone instead of a traditional camera - Olympus simply had to invest way to much in R&D to justify the possible profits. The shrinking camera market just put a stake through the heart.

It is sad. Olympus was the most innovative camera company. They were the first to have sensor cleaning, the best in body stablization, amazing lens and real- time exposure. All with the most robust bodies in the business.

It is sad to see such a great company with a respected name go to an investment group. They will probably use the brand and make sub standard products going forward or milk the brand for a quick buck.

Here's to hoping that some other company comes in restores it to its former glory.

<comment><USER58> > combined with average consumer going to the cell phone instead of a > traditional camera

Sadly all you describe could be pulled up 5 years from now when it's Canon that is leaving the came a market, or Nikon....

<comment><USER57> I think you missed what I was saying - Olympus could no longer afford or had the willingness invest the R&D required to compete with what Nikon and Canon are going to release over the next 5 years.

Nikon has the best mount/technology base going forward. Canon has the most money. Canon/Nikon will survive. I see Sony, Pentax, Panasonic leaving the camera market.

<comment><USER59> It is hard to tell what Sony's future will be with the spinoff, they might decide they just want to deal with sensors/electronics instead of making cameras themselves, and leave that business to others. That's sort of a tossup, because their cameras seem relatively successful atm.

It's tough because the irony that you don't make a ton of money in the imaging industry selling cameras. Like Pentax now is the part Hoya didn't want (however happy or not they were with what they got in retrospect). It looks like Olympus also just wants to focus on science and medical optics.

That's why I sort of worry about Nikon. They do semiconductor/flat panel stuff, but they are way less diversified than Canon/Sony. Either their camera business _has_ to be successful or they have to expand the other segment/s.

I don't think it has to do with how deficiency in products or technologies, but if the high-end camera market changes, Nikon is probably the most sensitive of the big players.

</comment></comment></comment></comment><comment><USER60> the m.zuiko 45mm f/1.8 is a fantastic piece of glass. shame.

<comment><USER13> I used to prefer focals in the 40-60 normal range (ff equiv), but the 45/1.8 was the first lens I bought after making the switch to M43, and it's still my favorite lens to this day.

</comment></comment><comment><USER61> I had thought about switching to an Olympus micro from my Canon to save in size/weight. I am not a professional. Glad I didn't now.

<comment><USER11> The Olympus camera business is not being shut down, only split into a separate company. So you still can get Olympus mFT gear and I can quite recommend it, it is wonderful, especially if you want to limit the amount of stuff to carry. An OMD E-M5 Mk3 with a 25/1.8 or the new 12-45 zoom is extremely capable but leightweight and compact at the same time.

</comment></comment><comment><USER23> This is such a shame, my uncle passed his OM4Ti 35mm on to me recently and I absolutely adore it, a beautiful camera.

</comment><comment><USER62> Leica is doing mobile cameras for Huawei, i wonder why Olympus didn't follow the same path

</comment><comment><USER63> A sad day. Whilst it is not top it produce very high quality lens and innovative system. RIP.

</comment><comment><USER64> Poor camera in the photo... They were built like tanks and it must have been quite a drop.

</comment><comment><USER65> So sad. I used to love that warm and live color of Olympus shots.

</comment><comment><USER66> Only as a historical note here, but it made enough impression on me that it's the first thing that comes to mind when I hear Olympus: [https://en.wikipedia.org/wiki/Olympus_scandal](https://en.wikipedia.org/wiki/Olympus_scandal)

</comment><comment><USER67> Super weird. I guess it became not profitable after a time period.

</comment><comment><USER68> Another death by iPhone

<comment><USER69> They really got their ass handed to them by Sony, Fuji and Panasonic more than anything. The market for high quality interchangeable lens cameras hasn't gone anywhere and isn't going anywhere, but Sony and co really shook it up by modernizing it, and made a lot of Olympus tech obsolete. I'll never understand how Olympus decided to sell a camera with a sensor a fourth the size of an A7 at the same price.

That said, the market for point and shoots and other low end to medium end cameras got really eviscerated and Olympus couldn't find a way to compete at the higher end.

<comment><USER29> Oh boy, there is way more to photography than sensor size. Olympus was a pioner in many of that and not surpassed in some of that. They have the best IBIS, some innovative computational photography stuff and amazing weather proofing.

I am glad Olympus decided to sell M43 cameras, as those are you actually take with you.

<comment><USER69> Of course there is more to photography than sensor size. But an Olympus E-MD I was more expensive than a Sony A7ii that also has very good IBIS, can adapt pretty much any lens, and also has solid computational photography abilities.

The Sigma E-MD I that actually has all of the features you're talking about was almost as big as an A7. The lenses were smaller, but if you don't mind horrible apertures that you have to get on M4/3 you can also have very small and light lenses. Even moreso if you go APS-C.

The lens system also has huge pricing issues. The f2.0 zoom on M4/3 is equivalent to _the kit lens_ on a Sony A7ii. That's a ten times price reduction! My A7 with a pancake lens is small enough that I can actually slip it into my pocket (!)

Compromising image quality for portability at such an extreme extent is not a good idea when smartphone are so plentiful. If sensor size and optics doesn't really matter, then why not take pictures on your phone? They have amazing IBIS, innovative computational photography, and so on.

</comment></comment></comment></comment><comment><USER70> i could see Snap inc. acquiring this part of their business. there's a lot of value in what they've done over 84 years.

</comment><comment><USER71> I own an Olympus Pen. Works great for me.

</comment><comment><USER72> Being in the camera business is tough since recent mobile phones, they just don't compete anymore for most use case.

</comment><comment><USER73> Are canon and nikon next?

</comment><comment><USER74> End of an era... :(

</comment><comment><USER75> This is very sad.</comment>


How to Build a Secret Facebook - <AUTHOR> http://motherboard.vice.com/blog/how-to-build-a-secret-facebook <comment><USER2> It's weird how William Binney was actually correct. He went on the Joe Rogan Experience podcast about a year or two back and pretty much summed up exactly what we've seen with the NSA from the Snowden leak.

I remember the amount of commenters that were calling him a 'conspiracy nut' and trying to disprove him. Turns out he was correct.

<comment><USER3> Here's a clip from that podcast. This particular link is a video they aired on the podcast - not an actual interview of Binney by Joe Rogan. It looks like the clips are the same ones from the story linked-to from this post.

[http://www.ustream.tv/recorded/25006194/highlight/288432](http://www.ustream.tv/recorded/25006194/highlight/288432)

</comment></comment><comment><USER4> Nice quote at the end. One could argue: "I am my data. My data is me, but it is not mine".

</comment><comment><USER5> > A tool called PRISM ... is sucking in data directly from the big Internet > companies to do much the same thing that Binney warned about when he > described "Stellar Wind." Rather than going to Internet companies piecemeal > with search warrants and requests...

Huh? This is exactly what PRISM isn't/wasn't. It absolutely was not unfettered access to social networks or other websites, it WAS piecemeal requests by agencies.

</comment><comment><USER6> I was hoping this would be instructions on how to install a package on your own server to do facebook-like functions between your friends over https.

<comment><USER7> If that's what you want, look up Elgg. What I hope someone creates, is something like Elgg but where the concept of public and private keys is used somehow, so that whoever controls the server where it's hosted doesn't have access to the users' content. Or even better, some form of peer-to-peer social network so that the central server could be dropped entirely, and users would just rely on clients on their trusted machines.

<comment><USER8> Maybe run a Diaspora "pod"? The pods are federated, so each user can either run their own server, or pick a pod provider they trust, and they still connect to each other on the same network.

</comment></comment></comment><comment><USER9> Here I was hoping for a new, cool and exciting open source facebook clone :(

</comment><comment><USER10> Great article, thanks for sharing rosser!

</comment><comment><USER11> sounds like conspiracy theory

</comment><comment><USER12> The most thorough libraries of personal data ever built have been built by us.</comment>


The Last Question by Isaac Asimov - <AUTHOR> http://joel.mn/post/115934449783/the-last-question-by-isaac-asimov

<comment><USER2> Funny how that one is coming back again and again:

\- 3 years ago: [https://news.ycombinator.com/item?id=3691113](https://news.ycombinator.com/item?id=3691113)

\- 6 years ago: [https://news.ycombinator.com/item?id=595419](https://news.ycombinator.com/item?id=595419)

\- 1 year ago: [https://news.ycombinator.com/item?id=6752785](https://news.ycombinator.com/item?id=6752785)

\- 5 years ago: [https://news.ycombinator.com/item?id=1078831](https://news.ycombinator.com/item?id=1078831)

\- 7 months ago: [https://news.ycombinator.com/item?id=8376716](https://news.ycombinator.com/item?id=8376716)

And so on... [minor edit for text]

</comment><comment><USER3> This story was first published in 1956. As far as I know, it's still under copyright (I don't know whether the copyright is owned by Asimov's estate, by the publisher, or by someone else).

<comment><AUTHOR> You're right it is still under copyright. No harm intended

</comment></comment><comment><USER4> One of my favorite short stories.</comment>


Why Threads are a Bad Idea (for most purposes) (1995) [pdf] - <AUTHOR> https://web.stanford.edu/~ouster/cgi-bin/papers/threads.pdf <comment><USER3> The morning paper had a nice set of blog posts about this:

Why they're equivalent (duals): [https://blog.acolyer.org/2014/12/08/on-the- duality-of-operat...](https://blog.acolyer.org/2014/12/08/on-the-duality-of- operating-system-structures/)

Why threads are a bad idea: [https://blog.acolyer.org/2014/12/09/why-threads- are-a-bad-id...](https://blog.acolyer.org/2014/12/09/why-threads-are-a-bad- idea/)

Why events are a bad idea: [https://blog.acolyer.org/2014/12/10/why-events- are-a-bad-ide...](https://blog.acolyer.org/2014/12/10/why-events-are-a-bad- idea/)

Unifying events and threads (in Haskell): [https://blog.acolyer.org/2014/12/11/a-language-based- approac...](https://blog.acolyer.org/2014/12/11/a-language-based-approach-to- unifying-events-and-threads/)

Unifying events and treads (in Scala): [https://blog.acolyer.org/2014/12/12/scala-actors-unifying- th...](https://blog.acolyer.org/2014/12/12/scala-actors-unifying-thread-based- and-event-based-programming/)

<comment><USER4> he doesn't seem to have mentioned cooperative threads/green threads/non preemptive threads in this series [http://wiki.c2.com/?CooperativeThreading](http://wiki.c2.com/?CooperativeThreading)

They are easier to program than events, they still have problems like its easy to run out of a very limited stack and you have to yield your cooperative thread often to other tasks, but they are easier to maintain than a state machine (that is often done as a very big switch statement).

<comment><USER5> The cooperative multitasking is mentioned in "Why events are a bad idea" as a counter-argument #3. They are considered under threads category. It's unfortunate that only some languages support them.

<comment><USER4> > It's unfortunate that only some languages support them.

yes, you need runtime support for this feature. If it is impossible to change the runtime than it can't be done for the language; now the runtime may have problem to work with a very limited stack for example, or the runtime is big and difficult to change (like the JVM), or it has long library functions that cannot yield to other co threads.

However C/C++ or other languages that do not sit on top of a big runtime dont have that problem.

</comment></comment></comment></comment><comment><USER6> Yes, might have worked in 1995. Now, however, when even your lowly phone has 4 (or more) processor cores and a full-fledged GPU...

Learn concurrent programming techniques — or perish. Threads and sync primitives are low-level, but important, and you have to understand them to figure out what compromises and biases were taken in higher-level models.

And, frankly, it isn't that bad (debugging existing code is bad, but playing with monitors and semaphores and critical sections is easy, until code is small and isolated).

<comment><USER7> Yes, and no. Concurrency and parallelism are important, but threads (lightweight shared memory processes) are not the only solution.

Successful, popular concurrent platforms like Erlang/OTP, Nginx, and node.js, eschew threads in favor a single-threaded, async/non-blocking code model. These platforms simplify application-level code by avoiding the issues of thread synchronization and contention in a shared memory space, and instead provide/require isolated processes to exploit CPU-level parallelism.

The threading "isn't that bad" viewpoint generally comes from a limited understanding of the things that can go wrong - for instance, add "memory barriers" to the list of things to understand.

There's a good explanation of the problems with a common Java idiom "double- checked locking" at [https://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedL...](https://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html)

Of course, when things get complicated with lots of interactions between processes, or significant amounts of computation in a single-threaded process, some platforms require the user to manually yield, etc., basically trying to re-create preemptive threading provided by the OS.

<comment><USER8> Nginx and Erlang single threaded? Uhhhhh, that's just not true.

Nginx and Erlang most certainly use multiple threads by default. They both use thread pools. I'm not sure about Erlang but Nginx has a single master thread that does async select on the main socket. Once it receives a connection it hands off to worker threads. This is a traditional multithreading setup with control/worker threads.

Node doesn't support threads because JavaScript doesn't. Performance would certainly be better for many workloads if it followed a traditional multithreading approach like Nginx. Async != Single threaded. They're not related concepts. You get the best performance using both non-blocking calls and multithreading , an approach used by Nginx and Netty. They both use nonblocking IO on the main thread and thread pools.

Node requires you to manually yield by calling Response.end() because it doesn't support multithreading. This basically duplicates OS level pre-emption manually and is my single biggest criticism of node. The worker/master thread model allows the runtime to manage worker resources or just defer to the OS in a flexible way.

<comment><USER7> You are confusing threads with processes.

Processes are isolated and do not share memory. Threads within a process share memory. For example, see [https://msdn.microsoft.com/en- us/library/windows/desktop/ms6...](https://msdn.microsoft.com/en- us/library/windows/desktop/ms684841\(v=vs.85\).aspx)

Nginx is single-threaded, multiple process: "Each worker process is single- threaded and runs independently" [https://www.nginx.com/blog/inside-nginx-how- we-designed-for-...](https://www.nginx.com/blog/inside-nginx-how-we-designed- for-performance-scale/)

Erlang code is single threaded. Each Erlang "process" is an isolated, share- nothing single sequence of instructions, and you don't use semaphores, locks, or critical sections in writing Erlang code. The BEAM VM is implemented as a multithreaded process, but this is not exposed to the Erlang code, and Erlang code can be transparently distributed across multiple instances of the BEAM VM (processes) even on separate hosts.

You're correct on node.js, and "basically trying to re-create preemptive threading provided by the OS."

<comment><USER8> Nginx recently implemented thread pools for blocking operations. The distinction between threads and processes depends on the OS.

The "nothing shared" model used in Linux forking actually shares the underlying memory until the processes diverge (copy on write). The difference between this and threads is that threads expose the shared memory by default.

IMO the difference between threads and processes is somewhat academic.

I don't know much about BEAM

<comment><USER9> > IMO the difference between threads and processes is somewhat academic.

Shared memory vs. isolated memory is a huge difference. You use completely different sync/protection/IPC approaches with each, so programs look very different. And the copy-on-write optimization of logically isolated memory doesn't effect that. The beauty of it is that it speeds up forking and saves memory without changing your IPC-based programming model.

</comment></comment></comment></comment></comment></comment><comment><USER10> Note that it's from 1995. Back then, many people still thought that machines with multiple processors were exotic things of little interest even in the enterprise. That list most notably included one Linus Torvalds. It also included OP author John Osterhout, who should also have known better - <USER2> more so, since Stanford was one of the places where such things were not so exotic. He even says, right up front, that threads still have their uses when you need true CPU concurrency. Now that's a common case. Generalizing from this presentation to the current day is probably a worse idea than threads ever were.

<comment><USER11> Today, there are many places that have big clusters of multi-processor machines, and none of their code is threaded. They get cpu concurrency by message passing between heavy-weight processes and with other nodes.

<comment><USER12> If you're talking about MPI and its use in HPC, you might've been mostly correct 5 years ago. Now, HPC applications at the largest sites are hybrid MPI+OpenMP (or some other threading model, or they use GPUs). On Xeon Phi systems like the latest Crays, you pretty much _need_ OpenMP to take advantage of all the cores. The PPC A2 processors on the (formerly #1, now #4) Blue Gene/Q system at LLNL won't get full instruction issue per cycle unless you use multiple hardware threads (the threads are exposed to the hardware and each core will only pull instructions from a _single_ process at a time, so this is somewhat unlike hyperthreading on Intel chips).

There can be overheads to running very large numbers of MPI processes, depending on how scalable the MPI implementation is, and there are overheads to having too many threads contend for memory on a single node. At least in the current state of things in HPC, there is a delicate balance to choosing the right process-thread ratio, and it differs from application to application and depends on the node count for the job. People struggle to find the sweet spot, but we're definitely not running all MPI anymore.

<comment><USER11> I wasn't talking about MPI, but if you want to talk about MPI, note that OmniPath gets faster as you have more cores talking to it, and it takes full advantage of delivering messages to the memory near the receiving process, so you'd better not move threads or processes very far.

If you look in your HPC historybook, you'll notice that I was the system architect for InfiniPath.

</comment></comment></comment></comment><comment><USER13> John Osterhout is a creator of Tcl, which embraces event-driven model for programming. I think it gives more perspective into his opinion.

That said, Tcl was one of the first scripting languages which got very nice thread model - see AOLServer [1].

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

We used Tcl threads in one of our programs to control various hardware things while main UI responded to events sent from the threads. Everything worked very well, especially for a program in scripting language like Tcl.

</comment><comment><USER14> Twenty years later this seems to still be good advice. Martin Thompson talks about this in his Mechanical Sympathy talk.

He says the first thing he does, as a performance consultant, is turn off threading. Claims that's often all he needs to achieve the desired improvements...

It's a good talk, I highly recommend it.

[https://www.infoq.com/presentations/mechanical- sympathy](https://www.infoq.com/presentations/mechanical-sympathy)

<comment><USER15> Who creates threads just for fun ? I only use them when I really need them (in C++), so there's really no alternative for me

<comment><USER16> Yep. If all you have is a blocking sys call and you want performance you gotta have threads. If you want to use more than a single core at a time for computation, you gotta have threads. [And I use the word threads loosely, you could have multiple processes as well or whatever OS primitive let's you get concurrency].

A 20 core CPU can do some things 20 times faster than a single core (multiply matrices e.g.). If you're trying to do those things and you limit yourself to a single thread - good luck!

</comment></comment></comment><comment><USER17> The bad idea is taking a threaded language and retrofitting events, which Python is doing. This results in an even worse mess. Python now has two kinds of blocking, one for threads and one for events. If an async event blocks on a thread lock, the program stalls.

Or taking a event-driven language and retrofitting concurrency, which Javascript is doing. That results in something that looks like intercommunicating processes with message passing. That's fine, but has scaling problems, because there's so much per-process state.

Languages which started with support for both threads and events, such as Go, do this better. If a goroutine, which is mostly an event construct, blocks on a mutex, the underlying thread gets redispatched. There's only one kind of blocking.

<comment><USER18> Almost no one likes Tcl, but I think it used(uses) a nice model for concurrency. Much better than Python's.

Interpreter as a library, all state encapsulated in a reentrant interpreter object, different interpreters running in different threads that can send messages to each other, no need for expensive serialization deserialization (like in Python) because the interpreters are in the same process, ... so much nicer.

</comment></comment><comment><USER19> From a Linux perspective, threads and processes are essentially the same construct. The major difference is the set of flags that are passed when the process is created. Oversimplifying, if shared memory is requested, then it's a thread. Otherwise, it's a process. Meaning forking servers are multi- threaded.

On other operating systems, specifically those starting with the letter W, there's a major distinction. There are other constructs as well, such as "fibers".

Now, today's world is different from what it was in 1995. We used to have a single core, so threads and multiple processes were only a logical construct. Now, we have multiple cores, so we shold, at a bare minimum spawn multiple processes/threads. What's running inside them can then be debated as if it were 1995.

</comment><comment><USER20> Obligatory CSP[0] reference.

There are only a handful of examples, that i can think of, where threading(multiprocessing, concurrency, and other names for it) is useful.

[0] [http://www.usingcsp.com/](http://www.usingcsp.com/)

</comment><comment><USER21> The key point is unstructured shared data is a source of errors in a threaded program.

</comment><comment><USER22> If I had a dollar for every time I heard "thread programming is hard."

I've programmed using threads for 23 years. I've never had a non-trivial debug issue caused by trouble using semaphores, mutexes, and shared data. It's no harder than writing a hash table or balancing a tree.

<comment><USER23> Do you have proofs for your code that it can't deadlock or livelock? How strong are your claims - would you trust it in a life support system, or aircraft auto-pilot, or similar role?

<comment><USER22> Nope. Nor do I have any proofs that my balanced binary tree implementation is correct, or that my hash implementation is correct.

Given the number of stories about equator issues and negative altitude issues in autopilots, I'm unconvinced there are proofs involved in those either.

<comment><USER23> I would trust my own multi-threaded code too, but it requires much stronger knowledge of expected behaviors and code paths. I have had the misfortune to try and debug other's multithreaded code. Having a debugger connected to a production app, while waiting a week for it to deadlock is tedious.

</comment></comment></comment></comment><comment><USER24> I'd rather have real threads available in my language, and use shared state sparingly. Your N single-threaded processes have to talk to each other anyway, or at least to a master, and might even share memory through memory-mapping. Threads are just a tool, and they give you options. You can use them in a share-nothing way if you want.

As someone who grew up on the Java VM and started my start-up/web career on it, I've always felt like Java programmers have a different relationship with threads than C programmers. Java gives you cross-platform, usable, debuggable native threads; it basically makes them free if you want them. In C/C++, on the other hand, threads are a library, and using them is a grungy affair. If you grew up on Rails, meanwhile, threads don't exist ("when you say worker thread, do you mean worker process? I'm confused").

Node.js was created by C programmers and launched with a lot of anti-thread propaganda, much like the link. They equated threads with shared state, and also said threads were too memory inefficient to be practical for a high- performance server (they meant that holding a native thread for every open connection would require too much stack space, which is true, but that's not what they said).

<comment><USER25> >As someone who grew up on the Java VM and started my start-up/web career on it, I've always felt like Java programmers have a different relationship with threads than C programmers. Java gives you cross-platform, usable, debuggable native threads; it basically makes them free if you want them. In C/C++, on the other hand, threads are a library, and using them is a grungy affair.

The difference is Java threads work within the constraints of the JVM memory model. Which is very well specified and understood. It is implemented in the JVM and the JVM guarantees your platform will follow it.

While C/C++ do what ever the hardware dictates.

[https://dzone.com/articles/java-memory-model- programer%E2%80...](https://dzone.com/articles/java-memory-model- programer%E2%80%99s)

<comment><USER24> That's part of it, for sure.

</comment></comment></comment><comment><USER26> > Where threads needed, isolate usage in threaded application kernel: keep > most of code single-threaded.

This is the point where performance tops: each CPU is filled with operations, and operations that don't need to wait for the result of other threads.

</comment><comment><USER27> I'm sure many people don't think this applies to them because they don't use threads. However, in the modern day, replace "thread" with "process" and "memory" with "database", and many web applications have very similar problems. They just never actually manifest because of the small number of requests per second.

<comment><USER28> No, the problems of threads don't carry over to processes, what you just said is exactly wrong and misunderstands the issues involved. Databases have transactions and processes don't share memory, those solve the problem with threading which is shared non transactional memory.

<comment><USER29> Transactions lock and conflict with each other, so the metaphor holds fairly closely though not completely equivalent of course

<comment><USER28> Yes but these are recoverable states whereas threads suffer from partial reads in the middle of updates resulting in undefined unpredictable behavior. It's not a good metaphor to compare threads to processes as they suffer from vastly different failure modes and problems and are quite normally contrasted to each other as different solutions to concurrency problems.

<comment><USER29> the reason people don't want to use threads is because they're afraid of having to understand race conditions. At that level, "you will have to understand race conditions no matter what" is the wisdom I derive from this particular metaphor.

</comment></comment></comment></comment></comment><comment><USER30> I agree. The actor model where actors can be scheduled on any thread is the best (Erlang, Goroutines). Second best is the node.js model of single threaded evented programming.

<comment><USER31> In terms of safety I think fork-join is better than the actor model. The actor model is all about mutable state - the state of all the actors. Fork-join removes state entirely - it's just about passing values.

<comment><USER32> > The actor model is all about mutable state

One of the more popular actor model languages (Erlang) also generally avoids mutable state (it's available in the form of the process dictionary, but recognized best practice is to avoid using it.)

<comment><USER31> That's not quite what I mean.

I mean an Erlang actor is a state machine isn't it? It accepts messages, and each messages causes the actor to either return some data based on its state, or to enter a new state.

State machine - so it's holding state isn't it? And it's mutable because you can cause it to enter a new state by sending messages.

And you have lots of these mutable state machines in your Erlang process - lots of mutable state.

See what I mean? I know they don't have shared memory, but each process is effectively a little piece of global shared mutable state. And that's bad!

In other parallelism models like fork-join, there is no mutable state. Tasks get input parameters, and produce a result. They don't have any state in any meaningful sense because you can't observe their state externally and you can't ask them to change state externally.

</comment></comment></comment></comment><comment><USER33> IMO, the main problem with using threads is that they are such an 'all or nothing' approach to sharing data.

If you want to make use of multiprocessing, the traditional choice is either to use two separate processes (sharing nothing), or to use threads (and share everything). But for most tasks, these opposite ends of the spectrum are not what you need. There's plenty of data and state in most programs that doesn't need to be shared, and a huge source of threading bugs is through mistakenly altering some data that another thread was using.

The problem is that sharing partial state between processes is painful and many languages and OSs make it difficult to do. You have to play around with mmap() or other shared memory tools, and then pay great attention to not mix pointers or other incompatible data between the processes.

</comment><comment><USER34> There's a link to a related discussion on HN entitled "Why Events Are a Bad Idea (for high-concurrency servers) (2003)"

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

</comment><comment><USER35> Threads have been useful for me in my latest experiment. Its a C++ application that runs mame_libretro dll (copies) each in their own thread, while a BASIC intepreter runs in another thread, and the main game engine (Irrlicht) runs in the main thread. Irrlicht isn't multithreaded so I just put commands from the BASIC thread into an outgoing deque which I lock and unlock as I access it. Then there are mutexes for the video data.

I think that threads are definitely a bit tricky though since it is easy to mess up locking/unlocking or not lock things necessary and if you do then you have debugging headaches. So when not needed they should be avoided I think.

</comment><comment><USER36> I can not agree more. Most people should not write threaded code at all.

</comment><comment><USER37> Whatever... But Multithreaded systems are fun to design, develop and most importantly - troubleshoot... more harder the 'real time'ness more the fun :)

</comment><comment><USER38> Threads are a bad idea for the same reason manual handling of memory space is a bad idea. Languages should provide primitives that only allow for safe construction of expressions that are run concurrently by the runtime.

<comment><USER39> > _Languages should provide primitives that only allow for safe construction > of expressions that are run concurrently by the runtime._

Then you run into issues like that post recently where you can't have different threads running in different context, because the _runtime_ is the one deciding/controlling when new threads are spawned.

</comment></comment><comment><USER40> What if I have a blocking function call (i.e. listening on a socket)? Seems like there is no choice but to put the blocking call in its own thread...

<comment><USER41> Why should you use a blocking mecanism for listening on a socket ? Non- blocking I/Os[1] (epoll on Linux) have been a thing for a long time now.

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

<comment><USER42> Except when the non-blocking file I/O API[1] is actually a blocking one. Yes, I realize in this case it's the API that needs fixing, but it isn't looking like that will happen anytime soon.

[1] : [https://lwn.net/Articles/723752/#724198](https://lwn.net/Articles/723752/#724198)

</comment></comment></comment><comment><USER43> It's the same with every tool: The more powerful it is, the worse the consequences are when it's abused. That applies to programming in particular.

<comment><USER44> With great powers come great needs of formal verification.

<comment><USER45> Need is there, but tools are not.

<comment><USER43> It's not a tooling issue (see my comment above)

</comment></comment></comment></comment><comment><USER46> Loved the programmer comparison slide. Is today's python programmer 1995's visual basic programmer? :D

<comment><USER14> You've never worked with "wordpress programmers" have you?

<comment><USER47> It's possible to be a "wordpress programmer" in any language, but man, I have read a lifetime's worth of bad PHP code. WordPress is of course the worst of all possible PHP worlds since it was a fork of an even more ancient project and thus had to maintain backwards compatibility with a purely procedural codebase.

The phrase "wordpress programmer" conjures up the person for whom that is their sole form of programming expression. Some part of me acknowledges that people like that must exist: the rest recoils in horror.

<comment><USER48> "drupal programmer"</comment></comment></comment></comment>