Can You Outsource Product UX / UI Design Successfully? - <AUTHOR> http://ginzametrics.com/can-you-outsource-ux.html <comment><USER2> Let me be the first to totally disagree with this article.

The world is full of great outsourced design: websites, adverts, car designs, buildings, bridges, spacecraft. You name it.

UX is not something magical. It is just another application of design. A good designer will have no difficulty getting into the head of both client and user. That is their passion.

<comment><USER3> The person whom you outsource to is usually not involved in core discussion of development of idea, app or such. And these are actual defining moments of UI and UX, as a designer - that's where I find my _inspiration_ (read: soultion to problems).

Outsourcing how your app interacts with user is not going to work at all, all that is gonna happen is one will keep telling designer to move _half a pixel_ he will swear under breath, and in name of _complete the project and get paid_ he will move it. That is not at all how UX and UI work.

These are core elements, need to be done by someone deeply involved in team. Hire a designer - get them into all the discussions. Design doesn't happen sitting in corner - design happens in football ground.

<comment><USER4> This is simply not true from my experience.

One of the very reasons why I love doing startups is that I get to influence the very early stages of the product but tactically and strategically.

</comment></comment></comment><comment><USER5> This argument can cut both ways. If I'm a designer, and I can make a kick-ass interface, but aren't so great on the programming skills, can I, or can I not hire a programmer to make work?

My sense is the HN crowd would be aghast at such a notion, but I don't see that much of a difference. A good product is about vision, and a design nerd or code nerd can have it, and that doesn't demean or diminish the value of the other.

</comment><comment><USER6> Tony Hsieh has fascinating discussion on outsourcing in Delivering Happiness. They could have outsourced two big parts of their business:

\- Their telephone support

\- Their fulfillment center

These are both things that, typically, are very expensive to run. The temptation to outsource is huge. The trouble is, these are also two of the most crucial interaction points for customers. So if they don't work correctly, the business will suffer.

What Zappos discovered was that by outsourcing, they ceded a lot of control and insight into their business to other parties who didn't really give a damn whether Zappos succeeded or not. Outsourcing fulfillment almost destroyed them because aligning incentives and priorities with outside parties is so very difficult.

When they returned to doing fulfillment themselves, they figured out a bunch of ways they could not only do it well, they could do it in a way that was so surprisingly good that people were blown away and told all their friends.

Similarly, by maintaining control over their phone support, they could make sure everyone answered the phone in a way that took care of each customer thoroughly. No operators hurrying people off the lines to keep their scores up, reasonable autonomy to make people happy. As a Zappos employee, immersed in the day to day of Zappos' business, they reflected the internal culture to everyone they talked to. This would be hard to do through an outsourced firm.

So can you outsource UX? Even software development? Sure. Maybe at first. But eventually, your company is going to need to have an internal understanding of these things. If your success is tied to UX but it's nowhere in the heads of your people or in your company's DNA, eventually you're going to lose out on opportunities that come to you only when people are invested exclusively in your success.

Eventually you're going to have the crap beat out of you by a company in another city made out of two guys who really know UX _and_ code and iterate all night and all weekend because they don't have to haggle with anyone to reach perfection.

</comment><comment><USER7> As a designer I can tell you that the two key questions you need to ask yourself are:

1\. Is the product UX/UI design an essential core your product? i.e. Are you willing to listen to the designer if they have suggestions that may change the core of your product.

2\. If so do you have the budget and long term prospects to hire someone full time? If you don't are you willing to give the designer shares in your company or a percentage of the profits?

Most geeks assume that the two core founders of a business should be a coder and a biz person — I disagree with that assumption: To me a product starts with good design, and without that code and biz doesn't mean anything.

<comment><USER8> While i totally agree with the approach you suggest towards making UX Design Route choices, the priority of usability design shouldn't be as high as core- architectural design, simply because driving you're application from usability towards functionality can never be a sustainable solution to the design of any product. For instance, no operating system can ever be designed with its user interaction in mind. While it does have a critical impact in OS design, there are far more critical issues that UI has no say over! That being said, it largely depends upon the impact of Usability on your product's overall outcome. Correct me if i'm wrong!

</comment></comment><comment><USER9> yeah, i really disagree with this article. although i've had good and bad experiences outsourcing all aspects of design here's the real trick in my experience: a totally amazing UX person is a rare bird. if you're doing a startup, the likelihood that you can entice them to leave their clients behind and come work for you full time is unreasonable for you and them. hiring them on a contract basis to do the work gets you first class work and allows you to build a long term deep relationship with them. if they love the product, maybe you can hire them later. the other thing is you don't need a UX person full time. you need a UX person to manage someone doing your wireframes and then manage a designer to make them look cool. frankly, i don't see any way around outsourcing UX for a startup. your and their risk is too high to join forces. you'd waste their time. they'd waste your money.

</comment><comment><USER10> The sad thing about this post is that I think he's actually serious. That might sound harsh and defensive, but from my perspective (principal of a firm that exists to help clients design amazing products) his perspective belies a local maxima.

In other words, he just hasn't worked with a great team to get something off the ground. There's any number of reasons for that: perhaps he's not a good personality fit (a UX team has to be highly opinionated to be effective) or maybe he just hasn't been introduced to the right fit and doesn't realize that Mrs. Right is out there for him.

That said, bringing in an external group isn't the right fit for everything. I agree with Tony Hsieh that outsourcing their fulfillment and tech support would have been a disaster.

But it's equally crazy for Brian Eno to learn Objective-C to release Bloom, don't you think?

<comment><AUTHOR> It was an honest question; I don't really see how it is "sad."

I made it clear that I was writing from my own experience and would like to hear about cases where it really worked for other startups.

As far as I can see on this thread, nobody offered up any specific examples. I'm sure they occur all the time, what I'd like to learn is how startups can make it work.

</comment></comment><comment><USER11> Saving you a click, he doesn't believe so but wishes for startups that have done so to get in touch.

</comment><comment><USER4> Warning: Biased comment.

Warning2: Really bad grammar sorry. Am fixing it right now.

I am co-founder of a design agency and have helped countless startups designing their websites and products. I often meet startups that have been burned hiring a design agency and I have myself probably burned or been burned by startups. It's never a clear case so I will simply say this. As with everything else. Nothing and no one is perfect despite best intentions. Startups can be tricky because the goals are often unclear and the clients often unexperienced.

Luckily the good experiences beats the bad experience by miles and I still love doing startups despite my agency primarily have large established customers now.

These are a few basic principles for making sure you get most buck for the money.

1\. Figure out what your needs are.

With this I mean figure out how important design is to whatever you are launching. Many startups put too much time, money and effort into making their website perfect, too early, only to find out 3 months later that they need to pivot or change their communication completely.

Design is there to help you optimize your goals (launch product site, design service etc.), not solve them.

There are generally 3 situations where it's important to spend time and money on a good design agency or designer.

 _a.If you have developed a technology that is complex in nature and needs to be productized and communicated clearly.

b.If your design is going to be a differentiator to the rest of the market. I.e. in markets where there are many competitors but few of them (or most of them) have spent time on making their design really stand out. For an example of such a market see the time-registration market which is huge and diverse.

c.If you have a clear vision about your product and know you won't be changing that vision anytime soon._

It's rare but it does happen. But just as with b. you need to be clear about how you want design to help you. I.e. create principles. You might want to read [http://000fff.org/beyond-aesthetics-design-tips-for- startups...](http://000fff.org/beyond-aesthetics-design-tips-for-startups/) for what I mean with that.

2\. Always get a portfolio and have them explain what parts they did.

You will be surprised how many times designers show some work they have been involved in but not necessarily done everything themselves. It's fair enough to do that, but you should just make sure that you figure out whether you are appreciating the right things from the right designer.

3\. Hire them in phases.

Instead of getting one price on the entire project, hire them one phase at a time (UX, Visual Design, Front-end programming, development). This will benefit both of you.

You will figure out if you are a good match without having betted your entire budget in one basket and they won't be stuck with a client they hate. It will also give them something to work for (next phase) which means they will often put more effort into the first phase (again a benefit to both of you).

4\. Pay them 25% upfront

This might sound weird but since you are a startup they are running a big risk taking the job. I know many stories (and have experienced them myself once in a while) about companies getting a lot of work done without having the money. So to get that insecurity out of the way do this.

Many agencies will ask for it anyway (some even more) because they have burned their fingers too many times. There is a huge advantage to doing this by paying 25% upfront you are putting the pressure on them to work those hours as quickly as possible. It also removes any argument internally in the agency about whether they should put their best people on you or prioritize bigger clients.

5\. Always make it a goal to get an internal designer.

Whether you have hired an agency or a team of freelancers work on getting your own people. Outsourcing means paying for their time. This is beneficial if you are trying to get started and don't have the capital or is in a position to hire your own people. But once the main project is over you will be better off having someone in your own stable rather than having to pay for an agencies time. The second you start having ad hoc assignments or changes which where not part of the agreement etc., the agencies will down prioritize you since you aren't bringing in the big bucks anymore. You will loose most advantages with regards to their pricing structure. As an alternative this might be where you outsource to China or India as they majority of conceptual work have now been done and your tasks are less complex.

If you can afford it get a copywriter. That is unless you are a savvy writer yourself. You will benefit greatly from getting a good copywriter to help you communicate your product as clearly as possible. Good copywriting is half of the design experience, this is why advertising agencies often have teams with one art director and one copywriter on each.

</comment><comment><USER12> UX is something people feel, a UX/UI designer have to put on end-user's shoes and be emotionally attached to it, as an artist and as a human-being.

You can copy their work but it's hard to copy their genuine motivation, inspiration and emotions, the real brains behind the design.

UX people cultivate their inspiration through art, social interactions, sciences, relationships, love, passion, nature, architecture, etc. because they invest heavily on their emotions, their inspiration to design a good UX/UI.

</comment><comment><USER13> I can only talk from personal experience- I've never seen a founder that's been completely happy with outsourced UX/ UI. In the end, it's really tied to the type of site that you're developing. If the design is integral to the experience (like a music or design site for example), then don't outsource. If the design is purely tied to the data and the way the data is arranged for consumption, then maybe.

</comment><comment><USER14> I think you can outsource UI design, but not the UX (if you're a web company).

If you're a company whose value isn't in the website, e.g., a daycare, then I think you can often simply steal the UX from others who have done it in your industry and done a good job.

<comment><USER3> Author said that you can outsource your website, and if web is not your domain - you don't even need to think about UX.

<comment><USER14> You always have to think about UX. Just because the web isn't your domain doesn't mean its not important. I'm sure we've all been to websites that look dated and are poorly written, which turned you off from the company.

My point though is subtler, which is that if your value isn't in the web then you merely need to be competitive on the web, and in most of these cases an outsourced UI/UX will be superior than many of your competitors.

</comment></comment></comment><comment><USER15> I love the line, 'you can't commoditize good design.' I just want to read it over and over.

Design has been so further commoditized in recent years, it's a wonderful reminder that design is much more than application of style.

<comment><USER16> I don't think outsourcing it = commoditizing it.

Perhaps you don't have time, or it's not a strong suit.

</comment></comment><comment><USER17> Outsourcing is for inefficient cost cutters, almost any task can be completed domestically or even locally. People outsourcing jobs is one reason a lot of people don't have jobs. Sure some tasks may cost more to stay local, but doesn't it just seem right to insource?

Quality isn't necessarily a factor, but let me suggest one comparison Myyearbook.com outsourced almost their entire business while Facebook.com outsourced a few jobs at the onset, see the difference?

<comment><USER18> By outsourcing he merely means delegating work to someone who is not an employee of the company - or rather, "to a freelance designer or firm." The OP makes no distiction between or contention for or against local, domestic or international workforces.</comment></comment>


Show HN: A curated weekly email, of problems that need solving - <AUTHOR> http://www.spencer-walden.com/canyousolveit/

<comment><USER2> A sample of the newsletter? Maybe the most recent one?

<comment><AUTHOR> It's something I have just started, I am getting the first edition ready now :) I will have it as a sample on the site once done.

</comment></comment><comment><USER3> Where do they come from?</comment>


Govt to release source code of forthcoming 'Covid trace' app - <AUTHOR> https://www.itnews.com.au/news/govt-to-release-source-code-of-forthcoming-covid-trace-app-546884 <comment><USER2> Australian Govt to be clearer.

Looks like the app is unlikely to get much effective traction. There's numerous problems like the app having to be in the foreground the entire time you're out and about.</comment>


The Institute for Cultural Diplomacy and Wikipedia - <AUTHOR> http://mako.cc/copyrighteous/the-institute-for-cultural-diplomacy-and-wikipedia <comment><USER2> The author has been wronged.

However, this unfortunate mess points to problems with various Wikipedia policies, including the inability of most companies, organizations and topics to have Wikipedia pages unless they are created by unbiased parties citing established mass media sources or scholarship.

Regardless of its size or stature, if the organization/company/topic has never generated press coverage, and if no neutral editors care enough about it to create an article, then there won't be any article ... or eventually the Wikipedia police will delete it.

Note that Wikipedia guidelines(1) define allowable press sources as substantial coverage, not a passing reference. A blog or forum post written by a knowledgeable user doesn't count, while an article written by a reporter talking with a company's PR team will.

1\. [http://en.wikipedia.org/wiki/Wikipedia:Identifying_reliable_...](http://en.wikipedia.org/wiki/Wikipedia:Identifying_reliable_sources#Some_types_of_sources)

<comment> guard-of-terra Press coverage is bullshit.

For an internet encyclopedia to require references to dead tree sources is a failure. For example, my country haven't got any music press that isn't a joke, should it mean that no music articles should be allowed? Some of editors behave as if there shouldn't.

UPD: That's nice, somebody just came along and downvoted all our comments. I bet it was a proud wikipedia editor.

<comment><USER3> If there aren't any good third-party sources, I don't think there should be a Wikipedia article on the subject. What would it cite? How are we supposed to know it isn't just music fans writing stuff off the top of their head? The only reason Wikipedia articles are trustworthy at all is because they cite their sources, and I can follow up those citations and see what they say for myself. I have no reason to believe some random Wikipedia editor otherwise.

Overall, it's an encyclopedia with a (very) large but nonetheless delimited goal: summarizing the existing literature on as many subjects as there is existing literature. That is a lot of things, and it already seems almost absurdly ambitious to set out to summarize all of them, without trying to expand the scope further!

I also participate in projects with different goals, documenting things that _aren't_ currently documented by existing literature. One of them is a music- related wiki project documenting an under-documented music scene. I think those kinds of projects are also worthwhile (or I wouldn't spend my time on them). But I don't see that as the same job as Wikipedia, which as a tertiary source should only be summarizing existing secondary literature, not doing its own independent investigations. I don't actually understand the motivation for _why_ people want to merge this kind of wiki with Wikipedia, either, since it seems like a clearly different kind of activity, requiring different standards and probably a different community. Is it just that there is some cachet (whether SEO or just general prestige) to having a Wikipedia article, while there isn't the same cachet to having an article on a music-scene wiki?

I did write something [1] about the main problem area that results: stuff that is clearly notable, where you'd _think_ sources should exist that Wikipedia could cite, but then when you look, there just isn't much solid written on the subject. This is indeed a pain point, but I'm not sure what could be done about it short of writing un-cited or very-poorly-cited articles, which I think is worse than not having an article. Not having an article is at least honest about Wikipedia's current inability to provide a well-sourced article on the subject.

[1] [http://www.kmjn.org/notes/wikipedia_notability_verifiability...](http://www.kmjn.org/notes/wikipedia_notability_verifiability.html)

<comment><USER4> > _Is it just that there is some cachet (whether SEO or just general prestige) > to having a Wikipedia article, while there isn't the same cachet to having > an article on a music-scene wiki?_

Yes. And that's exactly what's going on in the ICD case ( _assuming that TFA is honest_ ). You've got a company trying to (ab)use Wikipedia for free PR, straightforwardly violating the very straightforward policies about autobiography, getting treated more-charitably than they deserve, and then resorting to legal threats when they don't get their way. What else can you say, except that Wikipedia has influence and people want to manipulate that influence for themselves?

</comment></comment></comment></comment><comment> guard-of-terra "In Wikipedia, debates can be won by stamina. If you care more and argue longer, you will tend to get your way. The result, very often, is that individuals and organizations with a very strong interest in having Wikipedia say a particular thing tend to win out over other editors who just want the encyclopedia to be solid, neutral, and reliable"

That's why I stopped sending them money. That and deletionism.

<comment><USER5> I used to be staunchly against deletionism, but having had more experience with exactly the above kind of page, where someone who cares a lot about some organization or topic that really isn't at all notable can go to an awful lot of trouble to create stuff that just junks up Wikipedia with biased, poorly researched and poorly cited pages, I am a lot more sympathetic to deletionism these days.

There are real costs to maintaining pages; editors need to revert vandalism, fix it to match the style guidelines, look for citations, resolve disputes, keep it neutral, ensure that it reflects a broad consensus about the actual truth of the matter, and so on. For small, insignificant topics, an article can be more trouble than it's worth.

<comment> guard-of-terra You could always stub and protect such a page instead of deleting it.

I don't care about orgs but when a band or programming language bages get deleted i'm not happy.

</comment></comment></comment><comment><USER6> I'm sorry they had a poor experience with editors for that institute.

Did the author forward the legal threats to the foundation? As I understand it blocks (bans?) would be put in place.

In other circumstances I'd assume good faith, and I'd suggest that the baffling maze of essays, guidelines, pillars, rules, policies, noticeboards, and discussion pages all contribute to new users feeling attacked by WP.

</comment><comment><USER7> I do all my Wikipedia editing anonymously. That way it's hard for Wikipedians to tell me I'm doing it wrong. And since my edits are usually good, they rarely get reverted. :)

By way of contrast, I'm an official DMOZ editor, but it's been quite a while since I actually edited there. Too much hassle. Even the smallest decision is apt to turn into an entmoot. And of course, it's unclear whether there's much DMOZ usage these days anyway, by humans or search engines alike.

<comment><USER8> _I do all my Wikipedia editing anonymously._

Most places I go online, I use my real name. I use a screen name here because I already had a habit of using the same screen name in two other online forums. I use a completely different, unique screen name on Wikipedia, as I was forewarned that editing is contentious there.

I've seen some point-of-view-pushers on Wikipedia go to elaborate lengths to look up personal information about me, to give me harassing phone calls in the middle of the night, so I guess my screen name there didn't disguise my identity sufficiently. Over the years, most of those people have been site- banned in their first and second identities, but they still have plenty of sockpuppets and meatpuppets, and the administrators are always encountering new I.P. edits in support of the same skewing of point of view in that series of articles. (The articles are under ongoing arbitration committee supervision from a case

[http://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/...](http://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case/Race_and_intelligence)

that began hearing evidence just as I formally registered as a Wikipedian.) So I mostly wikignome on articles I happen to look up for fun, and only rarely edit articles on the subjects I actually know best and have the most sources at hand for. Wikipedia's editing atmosphere is lousy that way--the lunatics are mostly allowed to take over the asylum.

<comment><USER3> Whoa, that is pretty nuts! I've been on Wikipedia for ~10 years, and for a few years (mid-2000s) was on the arbitration committee, and never ran across anything like that, either first- or second-hand, not even for the brief period of time I was somewhat active in editing articles relating to the Israel-Palestine and Greece-Macedonia disputes. The worst I've gotten is angry emails, though even those are rare and it mostly sticks to angry talk-page messages. Perhaps I was lucky; or perhaps "race and intelligence" as a topic brings out an exceptionally insane crowd? Sounds rather unpleasant.

I mostly edit articles relating to archaeology and (pre-20th-c) history these days, and I don't really run into trouble. If anything, my main complaint is not enough other people around; parts of the encyclopedia feel like ghost towns, where you can write whatever and nobody will comment either way.

</comment></comment></comment><comment><USER9> This has all the hallmarks of a Scientology operation.

Seriously, is no one else getting the vibe here?

</comment><comment><USER10> Someone should cite this entry on the ICD Wikipedia pages that do exist.</comment>


The world's slowest Linux PC - <AUTHOR> http://www.extremetech.com/extreme/124287-the-worlds-slowest-linux-pc

<comment><USER2> This reminds me of the dial-in server I built in our student home back in '97-'98\. It was a 386sx 16Mhz with 2MB of memory and a 40MB hard drive that you had to preheat in the oven or it wouldn't spin up. That was realistically the lowest spec'd hardware you could actually get to run linux on.

It took half an hour to boot, but that was okay since it was always on anyway. It took about 5 minutes to set up a ppp connection using a dial-in modem, and then the whole house had internet access through its network adapter. Unless someone had tripped over the coax cables again of course..

<comment><USER3> I had one when they were pretty new, back in 1991.

Had MS-DOS reduced to the minimum, jumping into Windows 3.1 straight after booting and using Stacker to be able to double the hard disc contents.

By the time I came to use GNU/Linux, I was already on Pentium 75 Mhz and never imagine such 386sx would ever manage it.

</comment></comment><comment><USER4> Previously: [https://news.ycombinator.com/item?id=8791812](https://news.ycombinator.com/item?id=8791812), [https://news.ycombinator.com/item?id=5581851](https://news.ycombinator.com/item?id=5581851)

<comment><USER5> More Previously:

[https://news.ycombinator.com/item?id=3767410](https://news.ycombinator.com/item?id=3767410) (1054 days ago)

<comment><USER4> Thanks. I wonder if I can automate that - although HN bans bots, right?

<comment><USER5> Just add it to one of the many HN browser extensions.

The tough part is correlating the different urls and titles while filtering out the irrelevant comments from past discussions. I don't just want to know that this is an old story (I can figure that out), or that it's a "cool project" that a commenter might use sometime soon, 5 years ago.

I want to know what the informed comments were at that time. Was it important in that time period? What were the concerns at the time? Did they abandon the idea? Why?

</comment></comment></comment></comment><comment><USER6> "Calibrating delay loop... 58.77 BogoMIPS"

As a comparison, from my i7-4771 @ 3.5GHz:

smpboot: Total of 8 processors activated (55999.93 BogoMIPS)

Computers sure are fast these days. Too bad we write such slow software for them.

<comment> iso8859-1 Except if you emulate them in JavaScript. I get 5.10 BogoMIPS: [http://copy.sh/v86/?profile=custom&cdrom.url=http://k%C3%A6n...](http://copy.sh/v86/?profile=custom&cdrom.url=http://k%C3%A6n.guru/files/ttylinux- pc_i486-2015.01.iso)

<comment><USER7> The bogomips is a really bad estimate of performance (hence 'bogo'). There's considerable difference in the bogomips calculation even between different ARM subarchitectures. There was a good article about the issue recently in LWN: [http://lwn.net/Articles/628531/](http://lwn.net/Articles/628531/)

</comment></comment></comment><comment><USER8> How do you emulate a 32 bit CPU with only eight bits? Seems like you'd have to quadruple everything and then flatten it again after.

<comment><USER9> This is actually pretty common. There was a time when not every CPU had a FPU and floating point operations were emulated in software if required. Or doing 64 bit integer operations on a 32 bit CPU. Or doing arbitrary precision arithmetics on todays CPUs. You do it just like in school, piece by piece, but instead of single digits you use the largest registers available. If you really like it slow you could of course also just use plain strings to represent numbers and do all math on a char by char, digit by digit basis.

</comment></comment><comment><USER10> While I agree it is not novel at all [1] it is a useful exercise for someone to do and it especially reinforces the notion that Turing discussed with respect to computability. For a long time (and possibly even today) every IBM mainframe could emulate (at speed or faster) all previous versions of their mainframe line such that the investment in software was preserved.

[1] I did a PDP-11 emulator on the Arduino with FRAM chips for 'core' which was made quite a bit easier by the existence of PDP-11 instruction set diagnostics, and other test software which validated the CPU was running "correctly".

</comment><comment><USER11> Somehow the fact that this was accomplished by emulating a 32 bit processor with an 8 bit processor, made this less appealing to me. I'm sure it was technically very challenging, but I would have been more excited to see Linux somehow running natively on the processor. I wonder what the slowest processors running Linux natively are?

<comment><USER12> For x86, older versions of Linux ran on a 386, but current versions require a 486, or a Pentium if you turn on stack protection (as most distro kernels do). (Almost nobody noticed.) However, drivers for ISA and similar still exist in the kernel, so you could likely get the most recent kernel running on a real 486, if you had one around.

The slowest systems still running Linux, though, are probably those running the m68k port. Many people doing development for that port use m68k emulators, which run many times faster than the fastest available hardware. However, at least in theory, you can run the m68k port on any m68k processor that has an MMU.

<comment><USER13> And you can run uCLinux on the m68k processors that don't have an MMU. I was using it for a Motorola Dragonball microcontroller... 14 years ago.

</comment></comment></comment><comment><USER14> How I would dread debugging this machine.

<comment><USER13> The main thing is to get the ARM instructions working correctly, so that's not too bad. If all of those are correct, it should boot and do basic stuff. The next bit of work is to get the peripherals going.

</comment></comment><comment><USER15> Interesting, but I found this effort [http://www.homebrewcpu.com/](http://www.homebrewcpu.com/) more impressive overall. It quite literally is a home made CPU which then had Minix 2 ported to it and booted. A very impressive achievement.

<comment><USER16> Neat article! I love the box he put it in. The neatly labeled sections are somewhat fascinating and give interesting insight into how a CPU works. Things seem different when your CPU is a foot long and sits on the table I suppose...</comment></comment>


Show HN: Jackfruit – Add an always-on video room to your Slack - <AUTHOR> https://jackfruit.live/?hn <comment><AUTHOR> Author here. The original inspiration for this came from working remotely for 7 years and feeling occasionally lonely and isolated.

I wanted to create a frictionless, always-on video room for your team to hang out in while you work. But I've found that so far most teams use it for stand- ups.

Feedback is much appreciated.</comment>


Inside the Python GIL - <AUTHOR> http://www.dabeaz.com/python/GIL.pdf

<comment><AUTHOR> And for further information: [http://jessenoller.com/2009/02/01/python- threads-and-the-glo...](http://jessenoller.com/2009/02/01/python-threads-and- the-global-interpreter-lock/)

Ultimately, while the implementation of the GIL is inefficient, and does harm you in the case of processor-bound computation, they're still useful in many cases where you're dealing with I/O (file, and socket).

Even as the multiprocessing maintainer, I'd like to see a more robust threading model within python - unladen swallow (<http://code.google.com/p/unladen-swallow/>) may be able to offer us a world without a GIL soon(ish), but even barring that, getting some work done on improving what we have today would be nice.

</comment><comment><USER2> """•Bias : For parallel computing involving heavy CPU processing, I much prefer message passing and cooperating processes to thread programming"""

Of course you prefer it .. you have no choice!

<comment><AUTHOR> Baloney. Many of us who do want better threading in python still prefer message passing and processes. That's nothing new. Different tools work well for different jobs.

</comment></comment><comment><AUTHOR> Also on blip.tv: <http://blip.tv/file/2232410></comment>


Dear John Letter (EMC, Hadoop, RDBMS) - <AUTHOR> https://infocus.emc.com/william_schmarzo/dear-john-letter/

<comment><AUTHOR> Submitted for discussion as I don't agree with the sentiment that Hadoop/HDFS is the solution to all analytics needs, relegating the RDBMS to the dust bin.</comment>


Microsoft CEO Nadella: Underwater data centers are the future (2018) - <AUTHOR> https://www.zdnet.com/article/microsoft-ceo-nadella-underwater-data-centers-are-the-future/ <comment><USER2> Really

<comment><USER3> I have mental images of Dr Evil and white cats, with some circling sharks.</comment></comment>


Windows has a new wormable vulnerability, with no patch - <AUTHOR> https://arstechnica.com/information-technology/2020/03/windows-has-a-new-wormable-vulnerability-and-theres-no-patch-in-sight/ <comment><USER2> (Copy of a comment I posted on ars):

Microsoft hasn't contacted us (Samba) so this almost certainly isn't a protocol level bug (they're _very_ good about being proactive on these), but an error in their implementation of the SMB3 compression transform.

In other words, a typical buffer overrun in a compression library. Gee, wonder where I've seen these before.

Currently Samba doesn't implement the SMB3 transform header, an example where being slow to implement a feature is an advantage for once :-).

So most Linux-based SMB3 servers and NAS boxes (which use Samba) will not be affected by this (I believe - things may change as more information becomes available).

<comment><USER3> Are you saying that Samba would use the same compression library as the Windows file sharing implementation, and so hit the same flaw?

<comment><USER2> No, I'm saying that these kind of bugs in compression libraries are very common. We'll pick an open source one of course (we don't want to be in the writing and maintaining compression library business, just like we don't want to be in the crypto business), but we'd also be vulnerable to bugs in upstream if the compression library we use has them.

I don't know what compression library Microsoft is using - probably they wrote their own.

</comment></comment></comment><comment><USER4> I'm an old asm/C/C++ programmer (retired) who wanted to learn Rust but didn't make the effort because of all the stories about how hard it was to deal with the borrow checker. Then I realized that for a programmer like me that was used to managing memory in my head, the borrow checker would be a piece of cake. I wrote my first program in it and it was not hard at all. I get it that JavaScript/Python etc... programmers who always had a garbage collector might have trouble.

It was so nice to have the compiler catch several stupid errors for me. If I were King of the world I would decree that all new public facing software with real world consequences had to be written in Rust. I'm pretty sure I read that Microsoft is looking at Rust to mitigate some of these issues.

Edit: added "new" to make it clear I don't mean rewriting everything in Rust.

<comment><USER5> I really wanted to give Rust a chance for the memory management but I just don't have the motivation to get past the absolutely bizarre syntax, naming conventions full of weird abbreviations like it's the 80s, and the inscrutable replacement for the OO everyone is familiar with. Every facet of the language feels like an exercise in NIH syndrome and it's just too much at once.

<comment><USER6> Almost all of these things come from other languages, some that have existed for decades. It's probably unfamiliar because you haven't run across them yet, which is fine!

</comment></comment></comment><comment><USER7> Blocking TCP port 445 on servers and clients where file sharing isn't necessary is a good idea anyway. Windows Firewall and Group Policy are sufficient to get that rolled out.

Unfortunately, Active Directory Domain Controllers must expose it to function properly, so hitting those machines with the workaround registry value is a good idea.

</comment><comment><USER8> >Windows users who have SMBv3 exposed on the Internet ...

Is that something that ever happens on purpose?

<comment> T-hawk No, but that just means the internet isn't the attack surface. If a machine on an intranet gets compromised by some other means, this is a vector for that machine to attack anything it can reach with SMB.

</comment></comment><comment><USER9> Another buffer overflow bug. I'd love to see a running tally of the cost of buffer overflows.

<comment><USER10> > Another buffer overflow bug.

time to shill ATS

<comment><USER11> I don't get why ATS isn't more popular. It's a really cool language.

<comment><USER12> It is very cool, but the type system is quite complex.

</comment></comment></comment></comment><comment><USER13> block port 445 inbound, it's more than nothing

<comment><USER14> You'd want to block 445 outbound as well, in case your computer tries to connect to an external server (eg. social engineering and/or UNC paths)

</comment></comment><comment><USER15> They just casually mention that Talos pulled their advisory without any indication of why. Does anyone know? Did MS just ask them to?

</comment><comment><USER16> This only impacts 1903 and 1909 releases of Windows, so any Windows Server LTSC 2016 and 2019 aren't affected.

</comment><comment><USER17> Hi, a patch has ben released CVE-2020-0796.

</comment><comment><USER18> I built an Active Directory template to deploy Microsoft's mitigation:

[https://github.com/technion/DisableSMBCompression](https://github.com/technion/DisableSMBCompression)

</comment><comment><USER19> Don't worry, #itsjusttheblue.

</comment><comment><USER20> Perhaps one day unsafe programming languages will be forbidden to use.

<comment><USER21> > Perhaps one day unsafe programming languages will be forbidden to use.

That would mean ruling out a whole lot of performance-critical software (including that written in unsafe Rust). Be careful what you wish for.

<comment><USER20> I'm quite sure the performance hit will be fine in a few decades.

<comment><USER22> That kind of thinking made sense twenty years ago where you could assume Moore's law was going to hold into the next decades.

<comment><USER20> You don't think we will have budget for a few safety checks?</comment></comment></comment></comment></comment>


Carrot – A weather app with personality - <AUTHOR> http://www.meetcarrot.com/weather/mac/

<comment><USER2> Looks very pretty, but that's a heck of a lot to charge for a weather app. I think i'll stick to the built in weather service on my Mac, or pull out my iPhone and use Weather Line.</comment>


ZeroRPC - <AUTHOR> https://github.com/dotcloud/zerorpc-python

<comment><USER3> > If you want to connect to multiple remote servers for high availability > purposes, you insert something like HAProxy in the middle.

On our PaaS[1] we are running ZMQ everywhere and you do not need HAProxy in the middle to get high availability, you do it directly with the right ZMQ devices depending on your requirements. HAProxy is another piece of infrastructure to maintain where you can get HA with the majordomo pattern using several brokers and retrying the requests etc. Check the ZMQ Guide[2], you have nearly everything nicely explained there. So this comment just ring a "warning" for me, the system looks really interesting, but are the ZMQ primitives well enough understood?

[1]: <http://notes.ceondo.com/mongrel2-zmq-paas/> [2]: <http://zguide.zeromq.org/page:all>

Update: Missing some parts of the comment, stupid me.

<comment><USER4> Hi Loic, thanks for the note and it's cool to follow your work from afar. It looks like we get excited about the same stuff :) Disclaimer: I co-founded dotCloud and have the distinctive honor of being the least knowledgeable about zeromq in the entire team.

Your comment might have been true 18 months ago - when we first started using zerorpc in production at dotCloud. Since then, we have deployed and scaled hundreds of thousands of applications and I shudder just to imagine how many billions of zeromq messages we have emitted and processed. Believe me we have been through the zeromq guide many times and have experimented with - <USER2> abused - many patterns (including majordomo which, as you fail to mention, is not supported out of the box by zeromq and requires a fair amount of custom code of its own).

I'm sure zerorpc has many flaws and I know the team looks forward to many constructive debates and - hopefully - patches. But lack of understanding of the zeromq fundamentals, or lack of real-world usage, are 2 things you definitely don't need to worry about :)

<comment><USER3> Hi Solomon, thank you for your nice comments. Bombela very nicely explained the whys HAProxy, with his explanations everything fall in place nicely (and I must say, I will test drive HAProxy with ZMQ).

</comment></comment></comment><comment><USER5> Here is a video about it from this years Pycon.

<http://youtu.be/9G6-GksU7Ko>

</comment><comment><USER6> I was apparently working on this concurrently (and much more specifically, not for general use) as dotcloud. I'm really glad they released it. We've seen great performance characteristics and very easy development with zeromq+python+gevent. I chose to use gevent_zeromq package rather than write our own, but it's very similar here.

I'm really looking forward to using this next time.

<comment><USER7> I've had quite a few issues with the gevent_zeromq package not scaling. Especially when you start dealing with over 50 concurrent requests I was seeing issues whereby something would go haywire with gevent_zeromq and it would hang in the ZeroMQ send() function blocking everything else. This was just about 500 clients connected to a single service all making requests as required.

<comment><USER8> There is a bug when using the edge-triggered fd from a zmq socket. I am not sure if it's fixed upstream yet or not. See here for an ugly workaround: [https://github.com/dotcloud/zerorpc- python/blob/master/zeror...](https://github.com/dotcloud/zerorpc- python/blob/master/zerorpc/gevent_zmq.py#L108)

<comment><USER7> Upstream as in gevent_zeromq or in ZeroMQ itself? I haven't found this issue yet in our C++ written one which uses libev for event handling from ZeroMQ...

Also, this looks to be a fix in recv(), I am having issues in send() hanging randomly blocking the entire process. I ended up using a with timeout block around it so if send blocked it would eventually get back to me...

      sent = "WAITING"
      with gevent.Timeout(0.5, False):
          sent = self.socket.send_multipart(tosend)

      if sent is "WAITING":
          print "__incoming_consumer: Timeout fired"
          # We are going to try again

          with gevent.Timeout(2, False):
              sent = self.socket.send_multipart(tosend)

          if sent is "WAITING":
              print "__incoming_consumer: Timeout 2 fired"
              continue

      gevent.hub.sleep(0) # Yield to other gevent's, we can be fast and never let up ...

This fixed it for a little while, but even then every so often it would hang, and it was causing us to have to restart our frontend processes (accepts incoming connections for processing) so we decided it was worth the time and effort to re-write it in C++ with libev as our event handling mechanism. So far we have put it under more load but have not had any lockups or failures.

</comment></comment></comment></comment><comment><USER9> You just reinvented (sort of) Erlang's erl_call [1] in Python:

Starts an Erlang node and calls erlang:time/0.

        erl_call -s -a 'erlang time' -n madonna
        {18,27,34}

[1] <http://www.erlang.org/doc/man/erl_call.html>

<comment><USER10> except it's in python. :)

<comment><USER11> I think it is rather typical pattern. You see something in another language/platform, so you copy it to your current one, then keep doing it. However after a while you just have to ask yourself, why am I not using this other technology instead of spending time re-implementing it.

So after copying, say supervision trees, RPC mechanisms, distributed system management, actor-based approach, one can ask "wait, am I not just using Erlang then".

<comment><USER12> > why am I not using this other technology instead of spending time re- > implementing it

Because this other technology/platform may lack something that the current platform has. Or you have constraints that lead you to usage of the first platform.

Maybe this other platform could take a hint or two about stuff on the "copying" platform too, so that things go full circle and it does not stay up some ivory tower.

</comment></comment></comment></comment><comment><USER13> We've done something similar here at EDITD but not as complete:

(1) The original: <https://github.com/geoffwatts/zmqrpc> (2) A rewrite I am working on: <https://github.com/alexmic/zmqrpc>

</comment><comment><USER14> A lightweight, python-only Thrift alternative. I like it.

Thrift is great but it's not uncommon in some of our simpler services for Thrift to be the CPU bottleneck. Especially when we're using Cassandra as the data store. You've got our front-end code talking to a service using Thrift, and then the service talking to Cassandra using Thrift, and each thrift call has a serialize/deserialize process on each end.

Nice work dotcloud. Thanks for the free stuff!

</comment><comment><USER15> Oh this looks very very cool. As a person who runs a bunch of machines I can see several uses for it, not the least of which is monitoring diagnostics.

</comment><comment><USER16> This is awesome! This saves craploads of trouble in terms of actually parsing messages and interpreting them as functions. Instead I can have an implicitly rigid and safe server / client hop. This makes it way easier to set up a set of daemons talking to eachother in the backend of a web app.

</comment><comment><USER7> Where I work we are doing something similar more by hand though in that we are using ZeroMQ with protobuf.

</comment><comment><USER17> Is there a ZeroRPC-Java or Jython interface so you can call JVM methods from Python?

<comment><USER5> Not yet, but feel free to write it and submit it, I'm sure a lot of people will find it very useful.

</comment></comment><comment><USER18> Can someone provide examples of where this would be useful?

<comment><USER6> Non-HTTP apis for internal use. Maybe you want a single-point ID generator, maybe you have some sweet internal authentication method, or session server.

<comment><USER11> Obvious extension idea then -- tap this into a sockjs server and extend it all the way to the client.

<comment><USER19> <https://github.com/hhuuggoo/ZmqWebBridge> is my project which does something similar

<https://github.com/progrium/nullmq> is another which is more full featured but I haven't had a chance to look at it yet.</comment></comment></comment></comment>


Show HN: Duktape-eval – a eval library built on Duktape and WebAssembly - <AUTHOR> https://github.com/maple3142/duktape-eval <comment><USER2> Consider looking into QuickJS ([https://bellard.org/quickjs/](https://bellard.org/quickjs/)) instead which has more impressive standards support than Duktape.

Figma has a series of blog posts on sandboxing Javascript in the browser for their plugins API:

[https://www.figma.com/blog/how-we-built-the-figma-plugin- sys...](https://www.figma.com/blog/how-we-built-the-figma-plugin-system/)

[https://www.figma.com/blog/an-update-on-plugin- security/](https://www.figma.com/blog/an-update-on-plugin-security/)

tl;dr they use QuickJS via WebAssembly at the moment.

<comment><USER3> I noticed the GitHub repo's been updated to include a QuickJS version.

[https://github.com/maple3142/wasm-jseval](https://github.com/maple3142/wasm- jseval)

</comment></comment><comment><USER4> What's the benefit of doing it this way vs in a traditional <iframe sandbox="allow-scripts"/> ?

</comment><comment><USER5> Is this completely secure? I think this point should be addressed as the main selling point if it does.

<comment><USER6> Nothing is completely secure, if you find a WASM escape you can trigger from JS within Ducktape it wouldn't be secure for example.

But yes, outside of escapes like that, it should be safe to run arbitrary JS via this mechanism.

</comment></comment><comment><USER7> Intriguing! Opens up some interesting possibilities. User-submitted javascript for manipulating data, without exposing other users to XSS attacks?</comment>


Encryption techniques and access they give (2015) - <AUTHOR> https://www.washingtonpost.com/apps/g/page/world/encryption-techniques-and-access-they-give/1665/ <comment><AUTHOR> This article is an overly simplified threat model is just the most basic explanation on the issues as they would play out in a world with only good guys and where no keys or credentials are stolen or abused.

At least a short list of other adversaries and their access should be included in each of the quadrants.</comment>


Current Startup Doing Great.... Will Working On Side Project Slow Us Down? - <AUTHOR>

I cofounded an awesome startup and things are moving along great.  We got accepted into an incubator, and ended up leaving with a viable idea, customers, and initial traction.  Now our company is doing pretty well, we just hired our first employee, pretty much bootstrapped profitable, and I cant really complain.  80% of our time is focused on scaling our customer base, we are still in the "trough of sorrow" phase but our "wiggles of false hope" are keeping us alive.
The problem is I have a couple other ideas that I keep getting alot of great validation from.  I set up a launchrock page, and have thrown around around $100 in advertising and the page is getting alot of signups.
So I'm wondering should I build out an MVP with some of my free time or forsake this new idea since I'm so stretched for time.  We are doing at least 11+ hour days on the weekdays for our current startup so I'm pretty busy as it is, but new traction on a new idea is hard to turn away from.  And as a developer, I love building things so a new project definitely seems more interesting.
So where does the community stand an issue like this?  Keep 100% focused on the startup that works vs. Building something else new that could suck away time, but that I have a good "gut feeling" about? <comment><USER2> "Will it slow us down?" - Yes.

"Should we do it?" - Depends. Sorry if that doesn't help, but it's true. Depends on how much time it will take away, on the chance that it's transformative, and so forth.</comment>


The sad state of screen sharing on desktop Linux - <AUTHOR> https://anthony.som.codes/blog/2020-01-28-screen-sharing-on-linux/ <comment><USER2> Spoiler alert: the author of the article is using Wayland. _Lots_ of things aren't working on Wayland yet. (I'm also being pretty handwavy here about Wayland. Wayland "the protocol" isn't a piece of software you use -- lots of problems are not specific to Wayland, but to a particular compositor).

Screen sharing works OK on Linux under X11. I can't remember the last time that was a problem. I was definitely doing it on a daily basis back when KDE was somewhere at a 3.x release, so before 2008. At least single-monitor setups work fine, I can't say I've tried it on multi-monitor setups in a very long time. When I did (that was so long ago my two monitors were bulky CRTs) it was OK but who knows, maybe it got broken in the meantime.

I mean yes, once in a blue moon I run into a system that has a weird glitch, but that's just as true with Windows and TeamViewer. Every once in a while you run into a machine that just won't budge and you need to ask Google. That's true on any OS.

(Before you tell me how you've had no problem with Wayland on your Thinkpad running Fedora 87 or Arch, yes, I get that. Making it work on everyone's laptop, and getting it to do what everyone needs, is a real hurdle in software development, and Wayland isn't even halfway there when it comes to this particular hurdle).

<comment><USER3> Aren't working _yet_ in Wayland, or never?

Afaik they don't want programs to see each others pixels or input for security reasons (but thereby also breaking your own control over programs) so the following useful things will never be possible by design except with specific solutions on case by case basis (so: brittle)

Screenshots, video capturing, automating mouse and keyboard input (autoclicking), screen sharing, ssh with graphics, clipboard in scripts, ...

Or are those things planned anyway?

<comment><USER2> There's nothing inherently preventing any of these things from working on Wayland. I mean yes, the protocol (and its implementations) are meant to disallow programs from seeing each others pixels and input events by default and/or without authorization, which isn't a stupid idea at all. But you can certainly implement screenshots, video capturing, automatic input, screen sharing and whatever in Wayland compositors. I think Sway implements most of these things, in fact.

(FWIW, X11's approach to program isolation isn't ideal for everything, either. The same things that make it so convenient to automate mouse and keyboard input make it very hard to write a good screen locker, for example.)

Whether or not we'll see free (as in freedom _and_ beer) _compositors_ that conveniently implement all these things is a whole different story. A lot of XFree86's (and later Xorg's) feature set was developed by well-paid teams of experienced engineers, who benefited from a lot of work done by other well- paid teams on other platforms, and the architecture and licensing of the whole thing meant that everyone could benefit from their work. That's not really the case with Wayland. There's actually a lot of work, and a lot of money being poured into Wayland compositors. Lots of car infotainment systems run one, for example, and Wayland support has been pretty much a standard requirement for virtually every BSP I've worked on in the last four years. But most of that work is very system-specific, platform-specific, and its substantial part -- the code -- never gets upstreamed, because "upstream" is just a protocol spec. A lot of the Wayland protocol has been standardized that way, but it's still up to every compositor to implement it.

There's some hope due to projects like wlroots and Drew de Vault, its lead developer, is one of those people who seem like they can pull anything off. (Oh yeah: [https://drewdevault.com/donate/](https://drewdevault.com/donate/) ). But -- unlike twenty years ago -- there's very little commercial backing for Linux on the desktop. I don't know if the FOSS community will be able to keep up with these things.

<comment><USER4> > There's nothing inherently preventing any of these things from working on > Wayland.

In theory that is correct. In practice, the Wayland protocol fails to address the required access control policy interfaces necessary for a modern Desktop to work. A Desktop is not a phone interface or a car entertainment system. Resource sharing that enables basic things like push-to-talk, remote work or full screen streaming are absolutely essential for a Desktop computing environment. Wayland developers push such functionality down as a particular "implementation detail" of a Wayland compositor, which is a huge mistake. Donating to braindead projects like wlroots will not solve the problem at all. Access control policy needs to be made part of the core protocol ASAP or Wayland will have no chance to succeed in any meaningful way in the future.

<comment><USER2> That's really not how Wayland development works. Except for resource management and data transfer (wl_compositor, wl_shm_pool etc.), pretty much everything in the "core" Wayland protocol has originated in compositor implementations that were then standardized. "Donating to braindead projects like wlroots" is exactly how this problem is going to be solved. There's no Wayland cabal where people just sit around a table writing specifications in the hope that they'll eventually get implemented somewhere.

This is pretty much how X11 was built, too, by the way.

<comment><USER4> > That's really not how Wayland development works

Maybe then Wayland should change "how Wayland developement works" because after 10 years of developement the results are disappointing to say the least. Projects like the Arcan display server show that even a single dude writing stuff in his spare time can easily be more productive.

<comment><USER2> It's a development model that worked reasonably well for the X protocol. Wayland isn't great now but it's not much worse than X was in 1994, after 10 years of development (and the first version of X11, which saw the light of day in 1987 or so, was pretty different from the early drafts of the X protocol). There was no ICCCM back then (ok, there was ICCCM 1.0 but that wasn't anywhere near great _or_ universal), no session management, no xkb, no xdamage, no Xinerama, no hotplug, no glx, no randr...

It helped that there were a bunch of big players sinking lots of money into it, and the documentation was good enough that it was easy to get started -- way easier than it is with Wayland. So after 1993 or so things really started picking up speed. But Xfree cca. 1994 wasn't great.

<comment><USER4> > It's a development model that worked reasonably well for the X protocol.

The development of early X11 didn't work very well at all. Even Keith Packard himself says so [1].

1.: [https://www.youtube.com/watch?v=cj02_UeUnGQ](https://www.youtube.com/watch?v=cj02_UeUnGQ)

<comment><USER2> Most of the bad parts that Keith Packards covers are about the pre-X11 days. But yeah, Wayland is developed more or less like X11 was developed after the mid '90s or so.

The difference is that there isn't much commercial involvement on the desktop side. SGI, DEC, HP, Sun, IBM, and later Red Hat & friends, sank quite some money into X's development, and a non-zero amount of that money ended up going into a _particular_ implementation (XFree, later Xorg) and in developing desktop solutions on top of it.

Most of that money stream is flowing towards other things than desktops now. Desktop Wayland development is largely a hobby effort (there are some exceptions, but nowhere near as many as in the heyday of X11, and not all of these efforts apply throughout the Wayland "universe").

That may eventually change as Xorg's maintenance will eventually stop, since no one really wants to do that anymore...

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> vertex-four To be clear - the state of screensharing on Wayland is fairly interesting, and integrates a handful of new components.

One of them is Pipewire, which is shaping up to be the replacement for things like Pulseaudio and JACK - it's a daemon and tooling for slinging audio and video streams around between processes.

The other is xdg-desktop-portal - designed for use with Flatpak, it has now become a set of standard dbus APIs for interacting with your desktop manager and window manager on any Linux system. Specifically, org.freedesktop.portal.ScreenCast[0] gives you a Pipewire handle to the screen, possibly after asking for permission. This is supported in recent Firefox versions.

There are xdg-desktop-portal implementations for GNOME, KDE, and wlroots-based compositors, although the wlroots implementation only supports screenshots so far, and does not yet implement screencasts.

[0] [https://flatpak.github.io/xdg-desktop-portal/portal- docs.htm...](https://flatpak.github.io/xdg-desktop-portal/portal- docs.html#gdbus-org.freedesktop.portal.ScreenCast)

</comment><comment><USER5> The sad state of Discord and Jitsi?

The following all work perfectly on my 3 monutor setup:

* google meet

* skype for linux

* slack

* a standard, from tutorial, webrtc screen share and chat

I also use turboVNC to do control between my own devices (it has decent graphics support).

I can't see what those three huge players are missing that the author needs. They've tried two smaller players and are decrying it as a platform issue. Plenty of other non hacker suggestions in this thread as well.

<comment><USER6> Isn't discord supposed to be audio focused anyway?

I thought it was GenZ's version of Ventrilo and Teamspeak

<comment><USER7> It's actually a bit more like a hybrid of slack and ventrilo, but for fandoms and gaming. I primarily use discord for group chats and playing TTRPGs online. but I'm also in several podcast fan servers (official and unofficial) where a community of folks with common interests congregates.

Creators have really begun to actively use it to manage and engage with their fan-bases, and I bet there are some companies that use it as a slack alternative.

This isn't even mentioning the wide variety of bots and integrations for Discord, or how private text chats can enable/switch to audio or video communication.

</comment></comment></comment><comment><USER8> TL;DR: make sure you have pipewire and xdg-desktop-portal installed, look up how to enable pipewire for your browser. It _might_ help.

Well, this blog post barely scratches the surface.

The Linux userspace display stack is currently undergoing a big overhaul, following the changes that happened in the kernel a few years ago (DRI3, KMS, atomic modesetting, etc).

All of this made Wayland possible. That, plus the fact that apps rasterize their surfaces themselves nowadays (GPU-accelerated trough OpenGL/Vulkan).

So, here comes Wayland with a new security model: you can't spy on other windows, so you cannot hack together a desktop sharing solution. A proper, cross-desktop solution is actually being worked on: pipewire[1].

Pipewire aims to replace both pulseaudio _and_ jack for audio, and bring video in as well. So you will be able to direct which video feed goes where, use the same webcam for multiple applications, and have applications take a video feed, transform it, and plug it elsewhere. You can see where this is fitting with desktop sharing: one feed per window, one feed per screen, one feed for the whole desktop, plus variants. Want to overlay a webcam? No problem. Everything is backed by Gstreamer for realtime hardware-accelerated video encoding/decoding.

And the icing on the cake: Flatpak spearheaded the development of "portals"[2]: cross-desktop interfaces for individual programs to ask the user when accessing restricted resources (like a microphone, or a folder on your computer).

So, what's needed here is:

* Finish up pipewire and have it shipped on most distributions (should be installed in fedora 31, optional for sound in 32, default for sound in 33)

* Have compositors talk to pipewire [3]

* Have browsers and other software talk to pipewire [4]

* ???

* Profit

Good progress is being made on these points, except maybe the last? I expect support to start working out-of-the-box in some distros/browser/compositor combinations in 2020. Actually, support seems further along than I thought it was. But it seems that wlroots-based compositor haven't yet decided to support the xdg screensharing portal, and rely instead on a custom wayland extension. I wouldn't be surprised if such a portal is implemented for those.

The main issue here is everyone waiting on everyone else before enabling/implementing it. But it looks like we're 80% there, and it just needs to be enabled in some cases (and pipewire installed). Then it will trickle down to most distros and electrons apps.

However, I don't think legacy X apps will be able to continue sharing the desktop (they can still be shared by wayland capture programs, or capture the desktop if they implement the new interface). I guess pipewire might be able to create a virtual webcam for these, though.

Valve might be working on their own stack with their "Gamescope" wayland compositor[5], for their streaming solution.

And in the end, this should work much better, with hardware encoding, actual security, zero copy, etc. Hopefully there won't be a "next big thing" that breaks everything in just a few years.

[1] [https://pipewire.org/](https://pipewire.org/)

[1] [https://wiki.archlinux.org/index.php/PipeWire](https://wiki.archlinux.org/index.php/PipeWire)

[2] [https://flatpak.github.io/xdg-desktop-portal/portal- docs.htm...](https://flatpak.github.io/xdg-desktop-portal/portal-docs.html)

[2] [https://flatpak.github.io/xdg-desktop-portal/portal- docs.htm...](https://flatpak.github.io/xdg-desktop-portal/portal- docs.html#gdbus-org.freedesktop.portal.ScreenCast)

[3] [http://jgrulich.cz/2018/03/06/screen-sharing-in-plasma- wayla...](http://jgrulich.cz/2018/03/06/screen-sharing-in-plasma-wayland- session/)

[3] [https://jgrulich.cz/2018/07/04/how-to-enable-and-use- screen-...](https://jgrulich.cz/2018/07/04/how-to-enable-and-use-screen- sharing-on-wayland/)

[3] [https://wiki.gnome.org/Projects/Mutter/RemoteDesktop](https://wiki.gnome.org/Projects/Mutter/RemoteDesktop)

[3] [https://www.reddit.com/r/linux/comments/8le7rm/first_steps_f...](https://www.reddit.com/r/linux/comments/8le7rm/first_steps_for_kde_screencast_on_wayland/dzfqftz/?context=8&depth=9)

[3] [https://github.com/emersion/xdg-desktop-portal- wlr/issues/1](https://github.com/emersion/xdg-desktop-portal-wlr/issues/1)

[4] [https://bugzilla.mozilla.org/show_bug.cgi?id=1496359](https://bugzilla.mozilla.org/show_bug.cgi?id=1496359) (looks disabled by default at compile time)

[4] [https://bugs.chromium.org/p/chromium/issues/detail?id=682122](https://bugs.chromium.org/p/chromium/issues/detail?id=682122) (pipewire disabled in chrome://flags until v81 due to waiting on [https://github.com/flatpak/xdg-desktop-portal- gtk/issues/204](https://github.com/flatpak/xdg-desktop-portal-gtk/issues/204) "dialog hell" it seems)

[4] zoom currently uses a gnome-specific screenshot API as a workaround: [https://www.reddit.com/r/swaywm/comments/dr8yld/zoom_screens...](https://www.reddit.com/r/swaywm/comments/dr8yld/zoom_screenshare_via_screenshot_emulation/f6gfzds/)

[5] [https://www.gamingonlinux.com/articles/valve-give-a- little-m...](https://www.gamingonlinux.com/articles/valve-give-a-little-more- info-on-what-gamescope-actually-does-for-linux-gaming.15783/)

<comment><USER9> You speak as though Wayland is some super new bleeding-edge tech that just needs some time to come around, but the reality is that it is over 10 years old and still people revert to X11 to get things done because of its issues.

Compared to when Windows overhauled its entire display server, network, and sound driver architecture back in Vista, Wayland's pace is downright glacial. I suppose one can expect it will be ready for prime time by 2030, just in time for the next paradigm to make it obsolete.

<comment><USER8> That's right.

> still people revert to X11 to get things done

To me, that's the reason right here: X11 still works. Microsoft has more control over its software (as you can't fork and maintain it if you don't like where it's going).

If you want a more apt comparison, transitioning to Wayland is blazing fast compared to going to how long it takes for IPv6 to gain marketshare. Or for everyone to transition to electric vehicles. Once again, dynamics are different since the old tech still works. At least with Wayland, some advantages are immediately tangible compared to the IPv6 transition.

A friend of mine would likely describe it as potential wells with some energy barriers (ecosystem not mature) to overcome :)

Wayland has gained some momentum lately, in no small part thanks to sway. As a result, I feel the XDG initiative and cross-desktop coordination is stronger nowadays, so further evolutions of the Linux desktop could happen faster. In any case, I encourage you to give Wayland a go, and report/fix bugs :)

I've been using sway as my daily driver for 2 years now; one of the rare things I have to fire up X11 for sometimes is Steam remote play or screen sharing.

</comment></comment></comment><comment><USER10> Hacker news, where everyone proves the point by recommending a dozen different solutions.

<comment><USER11> That doesn't make any sense. How does the existence of multiple solutions prove there aren't any solutions?

<comment><USER12> Where are you getting "prove there aren't any solutions" from?

</comment></comment></comment><comment><USER13> The sad state of wayland on Linux.

</comment><comment><USER14> A colleague of mine streams one of his screens through VLC and then to Skype to have proper one-screen sharing.

<comment><USER6> Just said this in my own post, but yeah, you can stream any arbitrary amount of screen with VLC

</comment></comment><comment><USER15> I've had good success with krfb / krdc -- but on both sides of that it's been one monitor only.

TeamViewer is good, but ohmy is it expensive if you want to use it for commercial purposes. I've evaluated it for family support, and it's certainly robust -- they're not joking about the claims of _very_ cross platform. But I haven't tested it with multiple monitors on either side.

I haven't run Zoom on any of my computers, and after last year's revelations I'm unlikely to feel I should.

x11vnc looks neat and seems to be _relatively_ popular, but I've never had to dive into it.

<comment><USER16> I use TeamViewer for family support as well and it works fine, can't tell about multiple monitors. What revelations regarding Zoom are you getting at?

<comment><USER17> [https://medium.com/bugbountywriteup/zoom-zero- day-4-million-...](https://medium.com/bugbountywriteup/zoom-zero- day-4-million-webcams-maybe-an-rce-just-get-them-to-visit-your-website- ac75c83f4ef5)

<comment><USER16> best way to find out about a backdoored software I never used I guess

</comment></comment></comment></comment><comment><USER18> The multi screen sharing problem in Chromium is a known one. I've been following this patch for some time, and it seems to be close to release now: [https://webrtc-review.googlesource.com/c/src/+/165724](https://webrtc- review.googlesource.com/c/src/+/165724)

As other commenters say, latest Fedora has Wayland and Pipewire properly configured and by enabling a flag in Chrome/Chromium (search by "pipewire") it will run smoothly and allow you to choose which screen to share.

</comment><comment><USER19> AnyDesk works flawlessly on Linux. It's used at my company for customer support, in a mix of Linux, Mac and Windows workstations. It supports multiple monitors and provides packages for major distros.

</comment><comment><USER20> Could you use an external capture device like an elgato which is about $100 And use it with obs to transmit your screen? Sorry speaking from ignorance about true nature of issue just a guess.

<comment><USER21> Maybe, through only for external monitor and potentially with limitations.

Anyway compared to what technically it's possible (i.e. some clicks heard and there and it works), it's not really a acceptable solution.

</comment></comment><comment><USER22> [https://whereby.com/](https://whereby.com/) works for me. No login required.

<comment><USER23> Same here on debian, but only if I use chrome - doesn't work well on firefox for me.

</comment></comment><comment><USER24> I'm waiting for Tuple to launch their Linux version, but wonder if they ever will or this will just be a major blocker.

Half my team uses Mac, the other half Linux and one Windows guy. Zoom works pretty well for calls, but I'd like something better for pairing.

</comment><comment><USER25> I seem to have no issues with Zoom

<comment><USER26> Annotate on zoom still doesn't work, although it's rarely used in my teams workflows.

Basic screen sharing does work as you said.

</comment></comment><comment><USER27> > But, given the productivity boost felt when given extra screen real-estate

Really? Every time I've tried, I just end up hurting my neck so I'm pretty used to single screen and switching between the terminal and the browser.

</comment><comment><USER28> GNU screen and tmux have screen sharing. That should be enough, right?

</comment><comment><USER29> I wonder if anyone has tried using xpra for screen sharing. It does provide a watt to view the same application on multiple computers according to the documentation.

</comment><comment><USER6> Not sure if it works for Wayland, but you can stream any arbitrary amount of pixels to through VLC when on X11.

Slack, zoom, Hangouts all work too.

So maybe the problem is discord.

<comment><USER30> VLC or VNC?

<comment><USER6> [https://www.videolan.org/vlc/streaming.html](https://www.videolan.org/vlc/streaming.html)

</comment></comment></comment><comment><USER31> Off topic comment: If the blog author reads this; it's very hard to read the blog with that background (reader view helps though).

</comment><comment><USER32> Can't they create a virtual webcam device somehow

<comment><USER33> Already possible: [https://superuser.com/questions/411897/using-desktop-as- fake...](https://superuser.com/questions/411897/using-desktop-as-fake-webcam- on-linux)

<comment><USER8> This is actually a good idea. You could then route the video signals from the application you want (including the real webcam) to the virtual webcam. THis should be possible with pipewire already, but I don't know yet of a proper GUI mixer?

That will appear soon enough, I guess?

</comment></comment></comment><comment><USER34> I have no experience with this, but does anyone know how MS Teams work with screen sharing now that it is available for Linux?

</comment><comment><USER35> Had the exact same journey with discord and jitsi. Google meet is not bad but it won't do full screen.

</comment><comment><USER36> I have used Skype, Zoom, Slack, Google Hangout, TeamViewer without any issue many many times on Ubuntu.

</comment><comment><USER37> On Linux Mint, I've had great success with Zoom, and Microsoft Teams of all things.

</comment><comment><USER38> Worth looking into winswitch and x2go, I never used them for collaboration though.

</comment><comment><USER39> well, for me, using zoom kinda solves the problem

</comment><comment><USER40> no screen sharing is terrible on x11 too. like accesing it from remote box unlocks local session for anybody around ti hijack.

</comment><comment><USER41> Zoom works well enough.

<comment><USER24> Just don't try to annotate the screen (or let a viewer do it). I ended up with a blank screen over everything (even the task switcher) and no way to quit. Fortunately I had a keyboard shortcut to launch a new terminal, so used that then typed "killall zoom<enter>". It worked :D</comment></comment>


Finally a truly beautiful and real time Instagram and Twitter stream service - <AUTHOR> http://silarapp.com/press/truly-beautiful

<comment><USER2> At $299 / day you better be doing content / image caching and not just handing out origin urls.

</comment><comment><USER3> $299/day seems kind of steep. Who is this for?

<comment><USER4> Exactly what I was wondering. Are you just targeting organizers or major conferences or something?

<comment><USER5> Even then I can't envision how anyone could justify spending $299/day on something like this that (as far as I know, correct me if I'm wrong) can be reproduced for free using the Instagram/Twitter API...

</comment></comment></comment><comment><USER6> I think the UI could be better. I could see making some very interesting views with famous and this.</comment>


Turncoat - Douglas Adams (2000) - <AUTHOR> http://www.scribd.com/doc/179946124/Turncoat-by-Douglas-Adams-2000

<comment><AUTHOR> _So this is my second point. Where, thirty years ago, we used to start up rock bands, we now startup start-ups and experiment with new ways of communicating with each other and playing with the information we exchange. And when one idea fails, there's another, better one right behind it, and anotherand another, cascading out as fast as rock albums used to in the sixties._

And this was in 2000. He would have loved 2014.</comment>


Oscar Is Disrupting Health Care in a Hurricane - <AUTHOR> https://backchannel.com/oscar-is-disrupting-health-care-in-a-hurricane-65480bfed940 <comment><USER2> The article heavily focused on Oscar's user experience and customer service strengths, but buying health insurance really comes down to getting the most coverage at the lowest price.

If you aren't attacking health insurance from an actuarial standpoint (reducing costs/lowering premiums) I find it really hard to believe businesses are going to move to your platform.

Eventually, Oscar is going to have to come off the VC teet and still pay all their expensive programmers and google VPs while staying price competitive.

Would have been a much better read if the article would have addressed how they plan to do this. My guess is using tech to make their members healthier and boost preventive care, thus lowering premiums.

<comment><USER3> The thought is that, especially with expensive chronic illnesses like diabetes or heart disease, getting the patient to stick to their treatment plan has a dramatic effect on costs. Fewer hospital visits means drastically lower costs, and having even a marginal shift in utilization of routine maintenance regimens can move the needle on costs.

That's the theory, anyway. It might work, because the health insurance industry is a mess and is just now finishing migrations to modern IT platforms. A well-funded upstart like Oscar could easily come in with a modern analytics core and undercut on administrative costs.

Many of these companies don't have people who know how to deal with the volume of data in a migration.

<comment><USER4> Research does not really back that up.

You pay less per year on average per person, but now your sick people live longer so you pay for more years. Now, private insurance may get around this assuming the sick person moves on to someone else's balance sheet, but for the health care system there is no real savings.

<comment><USER5> Your per annum costs determine premiums, plus the person can work longer.

<comment><USER6> On the whole, not the individual as there's no discrimination on the health of the customer. It's entirely possible for an insurer to end up with a bad pool through attrition of healthy people.

</comment></comment></comment></comment></comment><comment><USER7> _When pushed, Joel Klein portrays the fraternal drama as a non-issue. "We will follow all of the rules," he says. He admits that this unique situation might be so hazy as to preclude bright boundaries, but is nonetheless certain that the Kushner distraction is non-material to Oscar's fate—rather, he characterizes it as an "amusing media story."_

The (glaring) conflicts of interest exemplified by Kushner's role in the company -- just a small subset of the conflicts exhibited by the Trump-Kushner administration as a whole -- can hardly be dismissed as merely an "amusing media story".

Attempting to do so is a sign of, at the very least, rampant cognitive dissonance - if not pure and simple intellectual honesty.

<comment><USER8> > The (glaring) conflicts of interest exemplified by Kushner's role in the > company -- just a small subset of the conflicts exhibited by the Trump- > Kushner administration as a whole -- can hardly be dismissed as merely an > "amusing media story". Attempting to do so is a sign of, at the very least, > rampant cognitive dissonance - if not pure and simple intellectual honesty.

His brother is actively involved in the administration's efforts to repeal the law that provides the foundation for the company that he founded. It's not cognitive dissonance; dismissing the question is the only thing he _can_ do, from a PR perspective. It's not like he's going to say, "Yeah, the future is really uncertain for us, as a result of my brother's work."

I get that the situation could be a conflict-of-interest, but at the moment, if anything, the evidence suggests that the two brothers are working directly against each other here.

<comment><USER7> _It 's not cognitive dissonance; dismissing the question is the only thing he can do, from a PR perspective._

That's exactly what I mean: "from a PR perspective", the only thing he (thinks he) can do is shrug and say "it's all just a big non-story" \-- which is an outright lie, of course.

</comment></comment></comment><comment><USER9> Feels odd to see this posted today (it was written in January).

I have a lot of respect for anyone trying to help in the healthcare sector, but IMO today has shown that all the well meaning Silicon Valley rhetoric and VC cash in the world means very little in a sector dominated by partisan politics.

If you want to fix healthcare the best thing you could do is run for office. Anything else is just window dressing.

</comment><comment><USER10> Health Insurance /= Health care.

Disrupting health insurance is easy. Move the numbers around, sign up different people, apply for whatever government programs ... it is an information and accountancy problem. Disruption of health _care_ is clinics, vaccinations, treatments ... blood on the floor and actual hands on patients. That isn't easy.

<comment><USER11> It depends.

Disclosure up-front: I work for Clover Health, which is a company people probably would put in the same bucket as Oscar. The biggest difference is we operate solely in the Medicare market (people who are eligible for Medicare can enroll in the traditional single-payer system, or a plan from a private insurer under contract to Medicare; in the latter case, Medicare pays a monthly premium to the insurer).

So we're an insurance company. Ho-hum. No big deal.

Except... it turns out that if you want to get people healthy and keep them healthy, being a _provider_ of health care (i.e., nurse, doctor, clinic, etc.) may be the wrong business to get into. A provider sees only the particular slice of your health that they happen to deal with, which may not be much at all. The only entity in the whole system who sees _everything_ is the entity that pays the bills, and that's the insurer.

And that opens up all kinds of opportunities, if you can break into the business. Medicare is interestingly set up to encourage this, since Medicare Advantage plans (that's what we are) get paid partly based on their rating on a five-star scale. The input to that scale is a set of about four dozen factors, many of which measure actions likely to improve or maintain health.

For example: someone who's on a lot of different prescriptions for various conditions faces risks as a result. Not just from uncaught interactions, but from things like the complexity of when and how often they need to take different medications. One of the ratings takes into account how many of those people have had a sit-down chat with someone who will help them go over and understand all of it and come up with a plan to stick to the required regimen. Which sounds like something so simple that it's almost silly, but non- adherence to prescribed medications is a _huge_ problem that affects the health of a lot of people.

And beyond the factors that go into our star rating, there's a lot more low- hanging fruit to go after, and a lot of little and inexpensive things that you can do to help people get healthier and stay that way

Which is a major break from a lot of plans, especially in the Medicare space, because generally people treat the business of insurance as solved: you just hire some actuaries, work out from a given population what you expect the cost to be of covering them, and make sure you charge more than that. Very few companies are trying to get there from the other direction (figure out what the cost would be, then figure out what little things nobody has bothered to do that might have a big impact on that cost).

<comment><USER10> So you are the best and most advanced of all buggy whip manufacturers. The idea of a for-profit insurance company providing health care, and all the silly games that entails, will one day stop. The rest of the western world seems to be ticking along without you. I see it in the eyes of Americans that have moved to canada: The utter relief of never having to talk to a health insurance company again.

<comment><USER11> First of all, it's worth pointing out again that we operate under the Medicare program. Medicare, in the US, is primarily a single-payer socialized system supported by taxes (but only people over the age of 65, or with certain disabilities/conditions, are eligible to enroll in it), but private insurers are able to operate under contract to Medicare. In that case, Medicare pays a premium to the insurer. The insurer can charge an additional premium to the member as well, and generally these plans come in tiers which make tradeoffs like premium versus deductible.

Second, it's worth pointing out that this is also the case in countries with fully nationalized single-payer systems: supplementary/third-party plans tend to still be available in such countries. For example, in Canada private supplemental insurance is a multi-billion-dollar industry.

<comment><USER12> Ideally we too would have a Medicare for all default with private supplemental insurance if you opt into it.

Entrenched interests like existing private insurers, medical care providers and folks who never experienced single payer (and are convinced others are sucking off their teet) are doing everything in their power to prevent that.

</comment></comment></comment></comment></comment><comment><USER13> i used oscar for the past 3 years in NYC as a self-employed freelancer. yes, oscar has great customer service.

but that doesn't make up for the limited network of crappiest doctors at the crappiest facilities - mount sinai beth isreal is NOT a network of quality doctors or a "quality" facility. and i had the most expensive platinum plan. i bet these oscar execs don't use the dr offices i used.

thank gaia i took a staff job with decent insurance.

</comment><comment><USER14> Read this for a more analytical take from a year ago; [https://dailyfintech.com/2016/03/03/oscar-tries-to- untangle-...](https://dailyfintech.com/2016/03/03/oscar-tries-to-untangle-the- giant-hairball-called-american-healthcare-insurtech/)

</comment><comment><USER15> What they're really doing is cherry-picking. Their market, as someone pointed out, is "young people with no claims". This dumps the high-cost patients on some other payer.

</comment><comment><USER16> Just FYI. Oscar's founder Joshua Kushner is Jared Kushner's brother. Yes, President Trump is its founder's in-law.

<comment><USER17> The article mentioned that several times.

</comment></comment><comment><USER18> Stopped reading at "Uber of health insurance"

<comment><USER19> I kept on reading, but I instantly knew this was a vanity piece for the company. The analogy is just so wrong so it's indicative of lazy article writing.

Digression: I suppose a real "Uber of health insurance" would be an app with a map that shows doctors, ERs, walk-in clinics and other practitioners that lets you see someone immediately and also pay for it directly within the app.

...and that's a stupid idea - we already have walk-in clinics in Google Maps, and if I wasn't insured I wouldn't put a $5,000 ER invoice on my credit card without at least negotiating on it first.</comment></comment>


Meb Keflezighi first American to win Boston Marathon since 1983 - <AUTHOR> http://baa.org/top-finishers.html

<comment><USER2> After the marathon bombings the Red Sox win the World Series and now an American wins after 31 years. A strange, yet charming coincidence.</comment>