A9ChipSource: small open-source iOS utility to identify A9 foundry - <AUTHOR> https://github.com/WDUK/A9ChipSource <comment><USER2> Hi guys, I'm the creator of this little utility. Just noticed a flood of Stars on the repo, and thought it might be posted here.

Information on the chip identifiers was derived from the original closed source tool, and theiphonewiki ([https://www.theiphonewiki.com/wiki/S8003](https://www.theiphonewiki.com/wiki/S8003) and [https://www.theiphonewiki.com/wiki/S8000](https://www.theiphonewiki.com/wiki/S8000)).

Motivation was basically to have an open source version of the tool, which didn't relay information back to a server or use advertising. Plus having people install unauthorised apps using a leaked/dodgy enterprise distribution certificate is a dangerous game; having an open source tool allows people in the know to install it on their own devices, safe in the knowledge what it's going to do.

</comment><comment><USER3> I haven't done any iOS development before but is there any real reason why a tiny app with what seems to be ~100 lines of code needs to be split into several small files with even fewer lines in them?

[https://github.com/WDUK/A9ChipSource/tree/master/A9ChipSourc...](https://github.com/WDUK/A9ChipSource/tree/master/A9ChipSource)

As far as I can see, the actual work is performed by around 5 lines of code in this file, which reads a configuration value, performs two string comparisons, and outputs to 2 text fields:

[https://github.com/WDUK/A9ChipSource/blob/master/A9ChipSourc...](https://github.com/WDUK/A9ChipSource/blob/master/A9ChipSource/ViewController.m)

In other words, is this level of verbosity/"fluff" typical of iOS apps?

<comment><USER4> That's not much verbosity/fluff. It's the typical default auto-generated code files; basically the author said "new project" and filled in a few lines. No need to hand-optimize this into minimum files.

ETA: With some cut-and-paste & removing stubs, and preserving the storyboards, the whole thing can be reduced to 20 lines in just main.m, smaller if you shift into "obfuscated objective-c" mode.

<comment><USER2> Exactly, I spent less than half an hour writing this up, and wasn't aiming for the lowest LOC possible. This is all mostly boilerplate.

</comment></comment></comment><comment><USER5> I was curious what the readme was referring to, this[0] apparently is the macrumors post and tool[1] this is a response to.

[0] [http://www.macrumors.com/2015/09/29/a9-chip-split-tsmc- samsu...](http://www.macrumors.com/2015/09/29/a9-chip-split-tsmc-samsung/)

[1] [http://demo.hiraku.tw/CPUIdentifier/](http://demo.hiraku.tw/CPUIdentifier/)

</comment><comment><USER6> Please pardon my ignorance...

My impression was that only apple approved, app-store delivered software could run on iPhone/iPad/iWhatever ...

Am I wrong to be surprised to see an "iOS utility" hosted on github ? What am I missing here ?

<comment><USER7> iOS apps can be built/signed/installed from a Mac running Xcode 7 without any extra requirements. I'm surprised this fact hasn't gotten more press.

<comment><USER8> Now this is interesting, had to dig it out:

 _Free On-Device Development

Now everyone can run and test their own app on a device—for free. You can run and debug your own creations on a Mac, iPhone, iPad, iPod touch, or Apple Watch without any fees, and no programs to join. All you need to do is enter your free Apple ID into Xcode. You can even use the same Apple ID you already use for the App Store or iTunes. Once you've perfected your app the Apple Developer Program can help you get it on the App Store.

See Launching Your App on Devices for detailed information about installing and running on devices._

( From the feature list for xcode 7 — [https://developer.apple.com/library/prerelease/ios/documenta...](https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_7_0.html) )

My theory was that the whole developer key thing was a very effective piracy countermeasure — registering and paying $100/year (iirc) is expensive and inconvenient enough that it's easier to just buy things. What has changed?

<comment><USER9> I believe that you still have to build it to install it on your iPhone, so the likelihood of this being used for piracy is low. Not many commercial apps will have their source code available publicly.

</comment></comment></comment></comment><comment><USER10> How did he know what manufacturers those ids mapped to?

[https://github.com/WDUK/A9ChipSource/blob/master/A9ChipSourc...](https://github.com/WDUK/A9ChipSource/blob/master/A9ChipSource/ViewController.m#L52)

<comment><USER10> [https://github.com/WDUK/A9ChipSource/commit/118eb9538d902422...](https://github.com/WDUK/A9ChipSource/commit/118eb9538d90242268daf39239322db7757ae484#commitcomment-13527104)

</comment></comment><comment><USER11> How do you do this in Swift?

CFStringRef val = (CFStringRef)MGCopyAnswer(CFSTR("HardwarePlatform"));

NSString* chipIdentifier =(__bridge NSString * _Nullable)(val);

<comment><USER12> Theoretically just:

let u = MGCopyAnswer("HardwarePlatform")

However, the problem is that MGCopyAnswer is a private method, and thus you have to define an interface for it. You can't do that in Swift, however you can do it by creating a bridging header for Swift.

So you'd need to add a bridging-header.h to the project, then set the compile target up to use the bridging header, and finally add this to the bridging header:

#include <CoreFoundation/CoreFoundation.h> #if __cplusplus extern "C" { #endif CFPropertyListRef MGCopyAnswer(CFStringRef property); #if __cplusplus } #endif

<comment><USER13> That's not correct. You can define it with @asmname.

<comment><USER12> Thanks, I didn't know about that. I've since written a blog post to explain how to do it in Swift (also because I wanted to try it out) here ([http://appventure.me/2015/09/30/getting-iphone6s-foundry- fro...](http://appventure.me/2015/09/30/getting-iphone6s-foundry-from-swift/)) I've included your helpful info. Thanks!

</comment></comment></comment></comment><comment><USER14> I hope this code finds way into mainstream system information apps on App Store.

<comment><USER15> Why would I care where the processor in my phone is made?

<comment><USER16> Most people won't care but let's say the Samsung gets another half hour of battery life. For some people that may be worth the hassle of exchanging (and restocking fee?).</comment></comment></comment>


Decoded Brain Signals Could Give Voiceless People a Way to Talk - <AUTHOR> https://www.npr.org/sections/health-shots/2019/04/24/716790281/decoded-brain-signals-could-give-voiceless-people-a-way-to-talk <comment><USER2> And it could also bring an entirely new meaning to the term "thought crimes." I'm curious if law enforcement will seek to use such brain-signal reading and if courts will allow it.</comment>


UK Government Betrayal of Open Standards Confirmed  - <AUTHOR> http://blogs.computerworlduk.com/open-enterprise/2012/01/uk-cabinet-office-betrayal-of-open-standards-confirmed/index.htm <comment><USER2> As a Lib Dem, I'm actually very embarrassed about this. Especially since it was Vince Cable's department (BIS) who seems to have led the charge against OSS from within government. Ridiculous.

<comment><USER3> err actually I think you (lib dems) have a lot more to worry about than some pious (used in its political sense here) belief by OS Zellots and hobby programmers that some how Open Office is a better solution than MS Office for a huge (largely non technical) user base.

The cost of a MS licence is so tiny when compared to the cost of employing some one - and when you factor in the cost of retraining it makes very good sense - whose hospitals or schools would you close to pay for all this.

<comment><USER4> Where governments are concerned, MS Office licences can be huge and will always be more expensive than free. They will always always be more restrictive too than free software, by definition.

I agree that a licence by itself won't be the biggest expense a government will have, but the sleazy insidious contracts that they are normally bundled with are the most dangerous aspects licensed software. One example: why do so many government institutions still use IE6? It's because of the eye-watering expenses they're obliged to pay to upgrade their own systems.

This type of type of contractual bondage must end. Especially when it comes to tax payers money. Unnecessary licences for sub standard MS software comes out of the same purse as that used to pay for life saving operations. It's always worth bearing this in mind.

<comment><USER3> Its not cheaper if you have to retain a lot of people - and Open office is not well liked by ordinary users "its shit" was one comment by a coworker at my last place

And look at any advert for a Govenment IT project its always to many chiefs and not enough experianced devlopers.

IE6 lock in is due to cheap and shoddy work by the "outsourced" developers and a lack of technical nous (incopentance being more blunt) in the specification stage PPI has a lot to answer for.

</comment></comment></comment></comment><comment><USER5> This article is a little vague.

Personally as a UK Taxpayer I don't really care whether the desktop PCs and downing street or Whitehall run Windows , Linux or Mac they could run Haiku for all I care.

What I am more concerned about as more government functions can be interfaced with online is whether this will be done using the most standard and open data formats etc possible.

If I need to buy a specific piece of proprietary software to submit my tax information online or if all applications for public sector jobs are distributed in the latest MS Word format that I can't open without buying a new version of Windows and office then that is something I at least potentially care about.

<comment><USER6> "f I need to buy a specific piece of proprietary software to submit my tax information online or if all applications for public sector jobs are distributed in the latest MS Word format that I can't open without buying a new version of Windows and office then that is something I at least potentially care about."

Thats the point of this Microsofts lobbying, lock-in. Can you today require open documents from your government? Here in Sweden, no. You get .doc most of the time, if it is a local government then perhaps a PDF.

<comment><USER5> For the most part you can, sometimes you will get a .doc it's almost always available in another format or it's an old enough .doc format that opening it is not an issue.

You can also grab lots of data from parliament in XML format and people have done some cool things with it (<http://www.theyworkforyou.com/>) for example.

There's lots of government depts that can be interacted with using various XML formats and they will provide you with all the schemas you need.

</comment></comment></comment><comment><USER7> Point of order: Please be careful to distinguish between the concepts of open standards, portable data, and Open Source software in this discussion.

<comment><USER2> Indeed, I hadn't spotted the difference - thanks.

Reading the linked articles, the Free Software lobby is saying that this decision will destroy the coalition agreement commitment to create a level playing field ( [http://www.direct.gov.uk/prod_consum_dg/groups/dg_digitalass...](http://www.direct.gov.uk/prod_consum_dg/groups/dg_digitalassets/@dg/@en/documents/digitalasset/dg_187876.pdf) p21, "Government Transparency", 8th bullet,) which may or may not be true.

Given that the argument is all about patent royalties on interfaces, though, that argument (that OSS, which doesn't do royalties ever, won't stand a chance) seems to hold water to me.

</comment></comment><comment><USER8> Just emailed 10 Downing street asking for an explanation, if they have one. I encourage other people to do the same.

<comment><USER9> Don't expect anything but a canned response. Something like, "We reviewed all the available options, and feel that Microsoft is the best solution for us."

</comment></comment><comment><USER10> Considering how the previous government blew _12 BILLION_ pounds of the nation's money on the infamous NHS project ([http://www.cs.st- andrews.ac.uk/~ifs/Teaching/Socio-tech-syst...](http://www.cs.st- andrews.ac.uk/~ifs/Teaching/Socio-tech- systems\(LSCITS\)/Reading/PrivateEye.pdf)), I'd have thought they should now be treading very, _very_ carefully in matters of national IT policy...

</comment><comment><USER11> The author certainly didn't make an attempt at being objective or hiding his allegiances. Most humorous is his assertion that businesses should have no voice in the decisions of government because that is "interfering"

</comment><comment><USER12> Isn't Office Open XML (Microsoft Office's XML format) an open standard, too?

[http://en.wikipedia.org/wiki/Standardization_of_Office_Open_...](http://en.wikipedia.org/wiki/Standardization_of_Office_Open_XML)

</comment><comment><USER13> Can someone summarize what is going on in layman's terms?

<comment><USER2> The UK government is rolling back on a proposal to require that interfaces between components of Government purchased software comply with Open Standards (i.e. ones without attached patents).

This would prevent Open Source components being used (since they don't ever use patented Standards, since there is no vendor to pay royalties) and thus renege on a part of the "Government Transparency" section of the coalition agreement, which stated that Open Source Software should be given a level playing field in government procurement.

</comment></comment><comment><USER3> I know we have to use this shoddy half assed TCP/IP instead on the nice ITU/ISO standrads that all the countries agreed to years back :-)

<comment><USER14> (laughter)

Yeah, the people behind OSI should be forced to use the standards they designed :-)

<comment><USER3> well we did it was just you uppity Subs that spoiled that :-) I

</comment></comment></comment><comment><USER15> The problem with this article is the sensationalism.

Did Microsoft lobby? Certainty, did they "interfere with a sovereign nation's decision to create a level playing-field"? Please, give me a break, they interfered with your desire to do something, and whether right or wrong, the last time I checked, you weren't a sovereign nation.

<comment><USER16> The UK _is_ a sovereign nation.

<comment><USER15> Yes, but the author is not.

Lobbying is lobbying. It is not interfering. That's my point.

<comment><USER17> Considering that both the Conservatives and Lib Dems were trumpeting this before the elections only to drop it afterwards smacks of either deceit or stupidity; take your pick.

<comment><USER18> Trumpeting? It might have been touted as an element of policy after questioning, but "support for open standards" is never going to be a vote- winner in an election.

<comment><USER19> There is a large number of UK geeks who genuinely believed Tories and (especially) LibDems would have reduced the influence of Microsoft on public procurement once elected. I know because I've been surprised by this over and over (I live in the North of England, where being a Tory is, er, very unpopular by default, and with reason). For them, this issue was indeed a vote-winner, so this u-turn will hurt, especially among LibDems... but then again, hardly surprising by now.</comment></comment></comment></comment></comment></comment>


How do you tell managers that having good developers is a privilege? - <AUTHOR> http://workplace.stackexchange.com/questions/18119/what-is-a-friendly-way-to-let-managers-know-that-having-good-developers-is-a-p <comment><USER4> I find it very sad that the top answer on stack exchange is a guide for how to have mature discussion, see the manager's point of view and collectively look for a solution -- while respecting his authority. But when you come to HN, 10-to-1 the comments are all about punishing the manager by leaving, teaching management a lesson, suggesting that maybe they only need mediocrity (in other words, developers as great as us would never bow to such demands) and generally espousing a naive us-versus-them attitude.

Edit: I find it also frustrating, as I suspect that a lot of the bluster is from armchair cowboys, and in no way reflective of what those commenters would actually do in the given situation.

<comment><USER5> I didn't personally find it very mature. It's just somebody parroting "How To Win Friends" with an authoritative spin. I found it manipulative and warped.

This guy isn't happy with being told what to do. A conversation is very unlikely to sort this out.

I don't think leaving is about "punishing the manager." This job will be more appropriate for somebody else, and this company will probably be better off with somebody happy working in the new environment. It's not about mediocrity - it's about people sharing similar values and being happy with their working situation. That's very important and when people believe completely different things and don't have mutual respect for each other, it's very hard to find some kind of meaningful compromise.

Edit: I say what I've said not because I'm an armchair cowboy (thanks), but because I've tried the other approach before. It's better to find people elsewhere that share your philosophy, than to try to convert people. (Converting people feels egotistical to me. We all love our own opinions but who is to say that they are best for our neighbours? I certainly don't want to be the one arguing this - it is such a grey line and so easy to accidentally antagonise somebody.)

<comment><USER6> The top-voted answer is a great example of how much wording matters. It _sounds_ very mature and reasonable, compared to the off-the-cuff and coarse answers given in the comments here.

But when you actually look at what it says, it's basically "roll over". The best outcome envisioned in that response is, "If he compromises and lets you have a bit of flexibility". First, take a moment to appreciate that *lets you have" remark. As if we are grade schoolers and the manager is a teacher who gets to decide when we go to the bathroom.

Then notice how the best outcome imaginable is a compromise. A scenario where you simply get what you want is not even on the table, here, even though it's entirely possible that getting what you want in this case is the best outcome for everyone involved, and at the very least is probably achievable and reasonable.

Really, this is something that you can't properly advise on without knowing the personalities and the context. If management is full of dickheads, then this is your signal to search for the exits. Start looking for a new job, and jump ship when you can. Things will only get worse. On the other hand, if management is generally reasonable and this is an isolated problem, a reasonable discussion with this manager to find out what's going on is the thing to do. But this should be a discussion between equals, not the groveling and tiptoeing suggested.

<comment><USER7> > _But when you actually look at what it says, it 's basically "roll over"_

I don't think we read the same comment. It most certainly doesn't say roll over. It says try to find a diplomatic solution before you fire shots. An ultimatum isn't going to change anyone's mind, and will only make things difficult. Try to come to an understanding so OP can keep his job and be happy, and the new manager can keep his developers and be happy. It also says that if there's no other way out but to leave, it costs OP nothing to be cordial and professional as he's exiting the company.

<comment><USER6> A diplomatic situation implies a meeting of equals. That comment suggests a meeting wherein you very very _very_ gently raise the possibility that _perhaps_ there can be a _small_ change to what's been mandated.

Cordial and professional doesn't mean being a doormat, and talking to management as an adult with autonomy over one's own life does not require an ultimatum.

</comment></comment></comment></comment></comment><comment><USER5> You don't tell somebody such a thing. It would never work. The rules are the rules to most people.

What you do is look for another job and resign when you've found it.

This is win-win for both of you: you can find something suitable for your lifestyle, and they can find somebody willing to play by their rules at whatever level of the market that is.

It's not always better to have "great" engineers - often companies just want somebody sitting at their desk ready to act on instructions. If that's the case then there is probably a lower-skilled engineer that would count themselves lucky to be sitting at a desk for 8 hours. He will be a lot easier to manage and probably a lot more appropriate for the new management.

Even when done with the best of intentions, second-guessing what upper management needs to do for a company to be its best is a gigantic waste of time and potential. Trust me, I've been there.

</comment><comment><USER8> What a bunch of spoiled, whining brats! Sure, you can only code for 4-6 hours a day, but why not honor your contract by spending that other 2 hours mentoring less senior people, trying to understand your employer's business goals, and generally trying to do your best to move your company ahead. Sheesh. By the way, the sheer arrogance of the question "How do you tell managers that having good developers is a privilege?" beggars belief. I believe that as a programmer, it's your duty to spend some time doing stuff your manager didn't know he needed to ask you to do, rather than running personal errands.

<comment><USER9> Yep the wording of the title reeks of a prima dona who has a massive chip on his (and I would bet that it is a male) shoulder.

<comment><USER10> I bet you would have caused an uproar of sexism if your comment had said the same about a female shoulder. Is there any basis for the sexist nature of your comment?

<comment><USER9> Decades of experience dealing with HR/IR issues Women dont "present" in the same way - that attitude expressed in the SO Q is very male.

<comment><USER10> So you are just making assumptions based on your prejudices.

</comment></comment></comment></comment></comment><comment><USER11> I think explaining that "Most senors developers can leave and get another job with a 30-40% higher pay" and that "most current developers stay because of the flexible time and casual environment" is a very strong point. I would try to understand a bit more the concern about the forced 8 hours a day at the office.

But obviously, if the manager is just dumb, just go to higher authority and explain that this manager could create lots of problems (I.e. pissing off the lead developer who has most of the software knowledge isn't wise. . especially if he's already happy and doing a great job.)

If the higher authority doesn't give a @!$ well.. send me an e-mail I'm looking for great javascript developers ; )

<comment><USER12> > _" Most senors developers can leave and get another job with a 30-40% higher > pay" and that "most current developers stay because of the flexible time and > casual environment" is a very strong point._

One of the worst things a developer can do is to underperform on purpose because of thoughts like the above ("I could get a better job elsewhere, so I don't need to put in any effort here"). It leads to the worst possible outcome for everyone: low pay, bad performance, dissatisfaction on both sides. If you think you deserve better pay, ask for it or go find it elsewhere. If you don't, you were just looking for excuses to slack off.

<comment><USER11> I didn't say "Work at 30-40% of their capacity". The job environment is obviously a very important factor when considering a position.. some developers preferred to have a smaller salary in exchange for a better work environment. This is what I think should be explained. Now, if a new manager comes in and remove that great environment, what in hell would you stay if you don't have the great environment AND you have lower salary than market standard?!

</comment></comment></comment><comment><USER13> Over the years, I've learned that often, "talking" does little or no good. Actions are what matter.

You demonstrate your value. They either respond in kind, or it's time to leave.

Not to omit all communication nor seeking some understanding. But this tends to be supplemental to the whole "actions" thing -- clarifying, perhaps, in some cases. I've rarely observed it to play a primary role in fixing a situation.

 _The new manager has no experience managing developers, and the old manager has moved into a development role to fill in gaps left by senior developers leaving the company and being unable to find replacements._

They have already failed. This is not your problem.

</comment><comment><USER14> For those younger folk who ask why older management feels that the younger generation is full of entitlement - this scenario is exactly why.

The young engineer feels that they are a gift to their employer, and should have the freedom to work as they want.

The older manager feels that the work environment has a structure inherent within it, to which people are expected to comply.

As the engineer, it is your right to quit if you don't want to play by the rules.

As the manager, it is your right to fire people who won't work within your guidelines.

Either way, it is not a privilege on either side, nor a punishment if one side or the other decides to end the relationship.

It is simply two incompatible perspectives. If neither side will change, best to move on.

<comment><USER15> There is nothing about the poster that implies that the poster is particularly young. Simply that the developer isn't part of management. Additionally, it is a fallacy to confuse entitlement with rationalism. The developer rationally knows that based on their skills they can go elsewhere easily. The question posed is an interesting one. The manager who has been brought on certainly has the right to make changes. But don't fall prey to the assumption that the manager is a good one. Companies fail all the time because they make human mistakes. The tragedy here is that chances are this cultural shift will probably kill this company if it is too small. Most developers these days have the privilege of picking workplaces based on the culture and companies that don't account for this won't succeed. There is a reason that google has a fleet of private busses that take their developers to and from work.

<comment><USER14> You are assuming that the developers are critical to the success of the company. This may be true in the startup world, but is not true in normal enterprise environments. In most cases, the core business is something else, and developers exist to improve the internal tools, not to drive the core business. Therefore, improving the dev staff is just a question of efficiency, not one of critical success or failure.

Actually, in many enterprise orgs, one of the key strategic questions of IT is whether or not to even have a dev staff. That is the whole "build vs. buy" discussion.

And frankly, the startup world should be jumping for joy over this - the lack of quality internal dev staffing is exactly what creates the need for larger enterprises to purchase outside products, and therefore create a market for startups.

There is a larger ecosystem at play here - if/when every enterprise-level company starts becoming a good place to be a dev, then their own internal capabilities will become greatly magnified, there will be a correlating decrease in their decision to purchase 3rd party products, and the market for startup-created products will decrease in turn.

<comment><USER15> You are absolutely right OP is unclear if he is just part of an IT division at a non engineering company. The vibe of his statement made it feel to me that he was working for a software company which is why I responded in that context. .. Assuming the case you present: If the OP is even a goodish engineer there are lots of opportunities out their and companies that have internal IT have to be conscientious of the fact that they are hiring from a pool of people in a high demand sector. Standard methods for managing other departments may not hold up in the IT department at a company that has decided decided to internalize dev. The decision to force this square peg through the round hole of the rest of your company culture may lead to the failure of the goal of internal dev at your company. .. For a number of years I worked for a large org that had decided to internalize some dev. The engineering division functioned very differently than the rest of the company. Meetings were more flexible there was no way to predict when developers might actually be on site or working from home (something that was rigidly controlled in the rest of the organization). Friends in other sections would ooze with jealousy over our lifestyle... usually right up to the point where I started talking about the average number of hours engineers in our department billed to the organization. I was part of a team that regularly worked 15 to 18 hour days and was happy doing it. The fact of the matter was growing the development team was difficult, candidates with the appropriate skills were scarce. When I was hired the company had spent 2 years looking for someone to fill the position and it was another year of serious looking before we were able to hire another. Keeping in mind the company spent serious time and resources trying to grow this team which it wanted to be bigger. The company recognized the support provided by our scarce resource by affording developers with the leeway to live in a way were they might produce their best work. ... the is a great story about Jeff Bezos telling an employee how to deal with a bad manager by voting with their feet: [http://lifehacker.com/5921729/jeff-bezos- taught-me-when-to-q...](http://lifehacker.com/5921729/jeff-bezos-taught-me- when-to-quit) The fact of the matter is there are a management success is dependent on cultural buy-in and a manager who was very successful at one company may fail at another because of a predetermining culture that they don't fit into. This is a risk companies in general have to manage and not figuring it out can cost money over time and potentially lead to failure. .. Also I know this is Y combinator but I think that it is weird the way that people use the word startup to mean software company and talk about it like its an industry instead of a phase. sorry if this is lexically nit picky of me but i feel like the fact that you called me out for assuming that the poster works at a software company and not in the IT shop of a larger org puts you in a sort of glass houses and stones situation when it comes to word choices.

</comment></comment></comment></comment><comment><USER16> I handed in my notice recently. My situation was somewhat similar to the one of the poster: project really not that interesting, unglamorous company, so-so salary, but casual atmosphere and not much to do, and I got to keep a lot of energy available to study and pursue my own coding projects. Then there was a change in management and pressure went up tenfolds, so I resigned.

First, I recognise now that it's potentially a bad idea to keep a job just because it does allow you to coast. There's a depressing quality in such choice; work representing the most part of our day, underperforming by choice, by remaining in an undemanding job, can even lower our self-esteem. I didn't do me much good, in any case.

Secondly, I am leaving because the market allows me to do it, because I know I am likely to find something better in a reasonable time. I could have handled the pressure, I could have remained and try to make that place a better place, but it's simply not in my best interest and it did more sense to just quit.

The position of the poster baffles me a bit: he recognises that conditions have changed and instead of adapting or refusing the new state of things, he dumps his responsibility to his own happiness to someone else: his manager. Indeed having good developers, in the current state of the market, is a privilege. In five years or ten years it might not be the case. Why making a case of us vs them? Isn't simpler to just take advantage of the bull dev market and leave?

It's naive, but widespread, from the part of managers to believe that by increasing the pressure they will get more bang for their buck. Let's them learn the hard way, until we can afford it. To moan and not budge is almost suspicious - maybe the poster is not so sure of himself after all? - <USER2> counterproductive for every party involved.

</comment><comment><USER17> If where I was working began to micro-manage me then I'd leave. I left my last job because of this. It was so bad that they said I could only take breaks every 2 hours and had to wear a tie. I left for a company that matched my values and gladly took a pay cut doing so. Freedom is worth more than money. Kindly and professionally let them know why you left in your exit interview.

<comment><USER18> You can increase freedom/satisfaction by decreasing the things that you feel threaten it.

This is especially true in relationships, sometimes expressed as "don't sweat the small stuff—and it's all small stuff."

In evaluating a job or relationship, one technique is to make a pros and cons list, and put things that are easiest to adjust your attitudes on (like wearing a tie) in a third list to try to see the true value proposition.

Otherwise one risk is that you'll assume minor things may represent a "cultural/attitude problem" that doesn't really exist beyond a few easy-to- accept things, such as wearing a tie, taking out the garbage on a schedule, etc.

Of course, if the value proposition doesn't satisfy you, then you're in the wrong place. But if it does, keep your attention on the good things about the relationship as you practice "not sweating the small stuff."

</comment></comment><comment><USER19> Perhaps this is slightly off topic, but it seems to me that the 45 hour week is what employers really mean by a 40 hour week. For example, a very recent advertisement for a position at _Gold Mansacks_ stated the job was full time, 40 hours per week, from 9AM to 6PM. One can argue about lunch time, and whether the 40 hours are to occur somewhere within the hours of 9AM to 6PM. (Something tells me that 10AM to 6PM won't cut it.) In my experience, the mandatory lunch isn't mandatory, and the employer is getting closer to 45 hours than 40. At least to me, there is a significant difference between working 35 hours/week and 40 hours/week,especially if those 40 hours involve another 5 hours for "lunch."

</comment><comment><USER20> " _How do you tell managers that having good developers is a privilege?_ "

By finding a better job elsewhere and resigning? (Assuming, of course, that this person is really as good as they think they are.)

</comment><comment><USER21> Many years ago, an acquaintance of mine told me how incompetent I was running my business and managing people. She really let me have it, how could I be so stupid, anybody could do it better than me, etc.

A few years later, she started her own business, and lost everything, whereas I made money. (Note I'm not saying I was/am a great manager, I'm not.)

Anyhow, it's easy to dismiss your manager as being an incompetent fool. Until you try being one yourself.

</comment><comment><USER22> I think the simple way would be to just ask for a raise to market levels or in lieu of more pay you would take additional privileges such as being able to set your own hours.

<comment><USER23> Or it could be rephrased - effectively he is only working a four day week spread over five days. If he is to work a full five day week he will 'need' 25% in more pay.

The chances are that if he does move to somewhere else he will have to do the full 8 hours a day but his pay will be commensurate with that. Again, this could be explained like that rather than 'you pay badly'.

So it may work if the manager 'sees' him as only hired for a four day week. He can then make the case for paying him for five days a week in order to achieve certain objectives, e.g. meet deadlines.

</comment></comment><comment><USER24> The developers there essentially take 30-40% pay cut in order to work 25% less hours?

I would find to cleaner to sign contract for 6 hours a day instead of 8 hours a day one and then slack away the difference. Is it possible that manager there is trying to change local culture?

Second thing that bothers me is the "any expectations of us, beyond that we produce quality software according to schedule" part. So, he works in a company that makes over-estimates work. That is unusual and something to be thankful for, but I do not find it "fair" to abuse the situation.

If we buy that argument, then manager is in perfect position to pack schedule much more in order to keep them there as long as he wants. My opinion is that management that leaves some room for unexpected problems in schedule someone to be treasured and not taken advantage of.

</comment><comment><USER25> That manager is bad at their job, or has a different set of values than the developer who's asking the question. In either case, this is a recipe for a bad relationship.

As a manager, I consider my biggest responsibility to be creating and maintain an environment and structure where the developers that work in it (and report to me) are happy, productive, trusting, and engaged. Anything else I'm responsible for doing - like, say, delivering software - can't happen in a sustainable and predictable way without my being good at that first thing. Being a good software manager - or any manager really, but I've got less experience outside of of the software realm - is about people first and whatever-you-do second, and it sounds like this manager has forgotten and/or missed that.

What do you do in this situation? Make preparations to quit (which is distinct from actually quitting, but it can lead to that). If you have a decent network - and if you're good enough to get a 40% raise on moving jobs, you should - <USER3> talk to a few people at other companies you admire. If you've know any recruiters you trust, talk to them. Get a feeling for what the market will actually pay for your skills. Spend some time working though a good answer to "why do you want to leave your current job and come here," which force you to clearly work out what it is that you don't like in your current job (and if moving jobs will fix that).

Once you've done all that and still want to leave, go to your old manager (and their manager) with a job offer in hand, and tell them you want a 20% raise and the following four things to change in this specific way, pulling no punches. If they hesitate, put in your notice there and there. If they accept immediately, book another meeting for a month hence with both of them to re- evaluate how fixing those issues are going, and go back to your job.

If you're in this position, like Toronto, and can give a brief discourse off the top of your head about when it is and isn't appropriate to use a metaclass in Python, respond to this and let's talk.

</comment><comment><USER26> You don't need to tell them anything.

If you're a good developer, you choose where and with whom to work. Feel your power and use your power.

Really good developer does not need others to acknowledge their worthiness or change what others should do or think.

</comment><comment><USER27> It's called an exit interview. Once you secure a new job, don't be shy with your managers about why you are leaving.

<comment><USER28> I would be wary about being completely open and honest about such things at exit interviews. There is nothing to gain for the ex-employee personally at that point in time, and everything to lose by 'burning bridges'. You never know when a few criticisms (even if they are accurate and correct) will come back to haunt you. At the exit interview, the main thing is to do what is best for yourself. If you really want to change how the company operates, stay on and apply gentle pressure or guidance. Criticism presented at an exit interview will 99% of the time come off sounding like sour grapes (unfortunately).

<comment><USER27> This is totally right, you absolutely want to sugar coat it. Don't say "I'm leaving because I hate bill". But for everyone else's benefit you can drop in that this new place you're working for gives you the flexible hours you require and is paying you more money.

The point was more, "if you're unhappy, find something new." You don't owe anyone anything, and if they can't figure out how to incentivize you into staying, you shouldn't. It sounds like old manager had a good grip on it and new manager does not, in this particular case.

<comment><USER18> Yup, important communication is often best when informal. For forms, official interviews and the like, carefully protect your goals. But be creative in considering how you can educate the other party.

</comment></comment></comment></comment><comment><USER29> Well, if this statement is actually true:

> The reality is that any of our senior developers can walk out the door and > have a new job with as much as 30-40% higher pay within a week.

...it seems there's a pretty obvious object lesson to be had.

</comment><comment><USER30> Go over the manager's head. If that company is having trouble keeping senior staff, there are reasons for it and those reasons are probably not secret. I've done this, with mixed success, but have never had a problem with retaliation. You might be surprised how welcome your skip-level feedback is.

Oh, and if your skip-level manager doesn't know who you are (and ideally, _his_ manager), then you either need to work on visibility, or you're not as senior or as pivotal as you might think.

Be polite. Tell them that you thought flexible hours were part of the deal.

And then walk. Moving to a new team in the same company is probably just as good, if you can swing it.

<comment><USER18> Beyond the straightforward good sense of this, it's a negotiation, and you should "talk to all the players on the opposing party's team" as you gather information.

</comment></comment><comment><USER31> A manager that does not understand the value of his or her employees, is a shity manager.

Basically you tell the manager straight up. But as we are talking about a shity manager. They would most likely become offended and hate you or fire you.

</comment><comment><USER32> I find this situation to be less about good vs bad management or good vs bad developer.

This situation is simply about a mismatch in culture, expectation and personal value.

The company would be better off finding developers who are excited to be a hacker at the company and wants to contribute as much as they can.

The developer would be better off finding a job that allows the freedom he wants. It's clear to me the developer values freedom over pay and he should find a company with the same value.

Trying to get the developer and management to meet in the middle will simply prolong the agony.

</comment><comment><USER33> I don't know about other devs but I sometimes worry about bad karma, which is why I try not to be an arrogant dickhead, even though I know I am important to the company. Just the pungent stink of both arrogance and professional ignorance coming from the OP kinda makes me embarrassed.

That being said, I don't consider it bad to speak up for yourself and it helps if you feel secure in your job. New management is changing things around. Instead of "dropping some knowledge" on this new manager about how developers must be given special treatment over other employees - maybe just explain that flex time is a major perk which you, personally, consider to be very important. If they insist you can't have it anymore then you can choose to adapt or find a new gig. You don't have to be the spokesperson for the entire industry.

Even in this market it's not impossible to find quality devs with a good attitude. I just find it better to conduct yourself professionally and not feel like you are better than everybody else. Conduct your business with integrity. Also keep in mind there's a 49% chance that you are a below-average developer.

</comment><comment><USER34> By not continuing to work under managers that are shitty.

</comment><comment><USER35> IMHO a manager is to a good engineer what a tennis coach is to a tennis player.

The coach cannot play tennis any better than the player, but he can help him, keep him practicing, have him not miss any tournaments, manage his time, etc.

The coach trusts the player that he knows how to play tennis and player trusts his coach that he keep his back free of distractions.

I think the main task of a manager is to enable the engineer to do his/her work. Presence-obsession seems counter productive and this manager does not seems to understand how to manage smart people.

Lastly it has been shown, that the human brain can concentrate for about 6h on every sleep-wake cycle, everything else is subconscious drifting and distracting. A 40h or more mandate is counter productive.

So a candid discussion with the manager making these points and explaining the mutual benefit would be in order. If that does not work one has three choices: (1) accept it (2) escalate up (3) leave. Which of these is appropriate depends on the specific circumstances.

</comment><comment><USER36> How can you make it a conversation about company objectives? Make it about the company, not the developers. There are probably companies that don't need the best developers. Others do. Talk about cost of bugs due to less experienced devs, lost productivity time if new hires are needed, etc.

</comment><comment><USER37> The original asker of the question wrote exactly what he should say to the manager, right into his SO question. It's this bit:

> The reality is that any of our senior developers can walk out the door and > have a new job with as much as 30-40% higher pay within a week. Most of us > are only staying here for the casual environment, and being able to mix > personal time into our work days.

He should just say that. If it's really true, then he should feel comfortable leveling with his boss like this.

</comment><comment><USER38> Went to stackexchange, wanted to make comment, "must have 50 reputation points to comment", remembered why I don't use sites like stackexchange.com.

I'm a big fan of Dale Carnegie's book, and like many famous books, you can support many arguments using it. Also, it's strange that the top voted posts pulls several quotes for _changing someone 's opinion/winning an argument_ and uses that to support an argument of: "Respect his authority", which is nowhere in the Carnegie book.

I think of the story Dale Carnegie relates when a hotel he had long worked with decided to massively increase the rates for renting out that venue after the engagement had already been booked. (Analogous to changing workplace rules after you've already decided to work their in return for certain forms of monetary and non-monetary compensation).

The hotel certainly had every right to change their rental prices, it is, after all, their property. Dale had every right to either accept the new prices, complain about the new prices or leave. (I hope I don't have to spell out the analogies anymore).

So what did Dale do? He called up the hotel, not in an angry way, and laid out a list of pros and cons to the hotel changing their prices for speaking engagements.

Under pros, they would have an open schedule during a busy time of the year, and could book other engagements. Under cons, instead of getting value from Dale Carnegie, they would get none. The other Con was that having Dale Carnegie speak at the venue gave them tons of exposure to their target demographic.

The employee/employer relationship, especially for developers, isn't too dissimilar, and I think the SO OP gets that. While it's certainly the companies decision about whether or not they want to change workplace policies (including non-monetary forms of compensation like flexible hours), employees are under zero obligation to continue providing their services under the new plan.

However, A nice employee who has been treated respectfully may decide to warn the company, out of the good of his or her heart, that their new "compensation" program will cause them to lose one or more employees, which will result in a decrease in morale, productivity, the manager in question might end up being punished for his or her poor retention performance, and they will have become less competitive in the insanely competitive market for development talent.

You can call them ultimatums if you want, but at the end of the day employees agree to a compensation package in return for their services. Both sides can terminate that agreement at any time, and changes to either the service the employee provides or the compensation the employer provides are valid reasons to do so.

The word "authority" doesn't come into play.

In the software development industry, it's not like working for the town plant. It's extremely progressive, has great compensation benefits and flexibility. If a company isn't keeping up with the standard compensation package, you're doing them a service (though they may not realize it) by letting them know and possibly quitting. I've always understood 6-7 hours in the office to be quid pro quo for things like crunch time, servers going down in the middle of the night, etc.

Nothing's stopping the company from posting a job that pays 40k and requires 80 hours a week of in-office time, and nothing will force a competent developer to apply for that job.

</comment><comment><USER39> How do you tell good developers that they are good hackers but bad developers?

How do you tell good developers that they will always have a manager whether it be a "manager" or a "client" or the demands of the problem they are trying to solve?

</comment><comment><USER40> By leaving if they don't agree (assuming you're a good developer.)

</comment><comment><USER41> You quit.

</comment><comment><USER42> You can't tell them: They can only learn this through experience. Alternately they may be the sort of shop where average developers are perfectly satisfactory.

If demands by an employer change or are no longer acceptable, find a new job and move on. If you are confident in your marketability, outright state your demands about flexible work et al, knowing that this may cause conflict and a departure may be expedited. None of us are fixed in our jobs.

One thing worth mentioning is that developers, as in other high variance skill pursuits (such as sports), have individual allowances and leeways. There is nothing "unfair" about a star performer essentially writing their own rules, and it is one of the great sadnesses of this profession that there are so many lobsters desperately trying to claw their peers down to the bottom of the pot.</comment>


Ask HN: What will humans do, when we find meaning to everything? - <AUTHOR>

This question arose in a previous HN post "Set Theory and Foundations of Mathematics" https://news.ycombinator.com/item?id=9981229 . <comment><USER2> Meanings aren't found, because they aren't an aspect of the outside world but of our mental landscape. Meanings are invented by human beings and then imposed upon the outside world. As a result, I'm sure some people have already imposed a meaning upon everything in their mental landscape, while others have not. It helps if you limit your mental landscape to only those things to which you can readily impose a meaning you find convenient and desirable, and ignore the rest of the outside world.

<comment><AUTHOR> If one accepts the fact that "meaning" is purely individual - then the scenario of finding the meaning of everything is not going to work across the entire humanity. People tend to disagree on some things, along with the meanings!</comment></comment>


115 year old Porsche electric car - <AUTHOR> http://m.automobilemag.com/features/news/1401-first-porsche-designed-car-on-display-museum/

<comment><AUTHOR> This is pretty interesting as I've heard that early on, the trend was towards building electric vehicles. With the rise of Tesla, perhaps the day of electric car is not far off. Come to think of it 49 miles on a charge is not too shabby for a 115 year old car. I can only wonder how much technological advances we could have had in battery technology if cars had gone electric rather than ICEs.</comment>


Nginx C function - <AUTHOR> https://nginx-c-function.github.io <comment><USER2> There is something that should be said about nginx's third party modules. There are many and they add quite a bit of functionality, especially when they're upstream modules.

[https://www.nginx.com/resources/wiki/modules/](https://www.nginx.com/resources/wiki/modules/)

It's great because you don't even need a web framework, really. If you're comfortable and confident in nginx you can get quite a bit of performance out of the server while adding your application logic to it. I'm not sure why more people don't and just use it as a reverse proxy.

<comment><USER3> because you could do all that and more with apache modules, the reason people switched was because nginx _didnt_ get bogged down in all that.

imho its keyword engineering, but you can see given the history why nginx adopters aren't thinking that way.

<comment><USER4> I don't know - I switched from Apache to NGINX because I preferred it's config formatting over writing XML when I stopped using things like CPanel. Many of the NGINX servers under my current role run the NGINX Lua module performing logic on over 1B requests per day. I do try to reduce dependency on modules, but that's not because it makes it too Apache-like, it's for simplicity's sake. If you don't want NGINX to have these features, don't compile it in, then boom. no longer bogged down.

</comment></comment></comment><comment><USER5> For a more mature implementation of this concept, I would highly recommend having a look at Kore: [https://kore.io](https://kore.io)

It has a sane architecture, and is fully privilege separated by default, with private keys isolated in a separate process. I've been using it lately to write REST APIs in C, and the experience has been awesome, it has great APIs to parse requests and easily construct responses.

<comment><USER6> Genuine question here but why would you want to write REST APIs in C?

I've been writing C for 25 years and I wouldn't trust myself not to do something stupid.

</comment></comment><comment><USER7> Could someone explain to me why would I choose this over [https://github.com/openresty/lua-nginx- module](https://github.com/openresty/lua-nginx-module) ? It supports LuaJIT and while I suppose it is possible to write faster C code by hand than JIT translated Lua it'd be hard and I'd fear the maintainability of hand optimized C code.

<comment><USER8> For one thing, you don't have to use this module with C. Any language that supports exporting C-compatible functions will do – there's C++ of course, but also Rust, Go, D, Nim, and many many others.

<comment><USER9> LuaJIT also supports C-functions. It's FFI [0] will allow you to declare any C-compatible function or data structure, and then use it in normal Lua code.

[0] [https://luajit.org/ext_ffi.html](https://luajit.org/ext_ffi.html)

<comment><USER10> Why would you ever opt to go thru Lua in this case?

<comment><USER9> It's well supported, well maintained, and around for the foreseeable future. (OpenResty)

The language implementation is fast, and allows you to tap into any C-compatible library.

The question isn't why you would go through Lua, but why you would choose something with less support?

</comment></comment></comment></comment></comment><comment><USER11> We're huge fans of C interfaces on the sever side. [https://kore.io](https://kore.io) is our preferred stack.

It's primary interface is C. In our opinion, it's lighter weight, and simpler to integrate with your app.

</comment><comment><USER12> Is the function blocking or asynchronous? Cant quite find it in the README.

<comment><USER2> It works with nginx threads using aio. It's in one of the issues there if you look deep enough.

[https://github.com/Taymindis/nginx-c- function/issues/2](https://github.com/Taymindis/nginx-c-function/issues/2)

I haven't figured out how to get rid of the drop in performance though. Lets say you just return a 200 from the nginx location like so:

      location /a {
            return 200 "{\"result\": \"Hello World!\"}";
        }

vs

        location / {
            ngx_http_c_func_call 'getRoute';
        }

The requests per second will drop by about 40% of what you'd otherwise get. This is with 4 workers, the worker_rlimit_nofile set to 262144 etc, etc.

I'm not sure what I'm doing wrong. It is pretty nice given that you also get all of the other options like upstream handling and reverse proxying and pretty damned good speed. The flexibility this adds is beyond awesome. But if I only need max speed for an api that only talks to postgres, redis, and a few other things, I'd just use H2o.

<comment><USER13> what is the src of the C function?

<comment><USER2> Check this file out, it's in the example that's provided: [https://github.com/Taymindis/sample-ngx-cfunc- project/blob/m...](https://github.com/Taymindis/sample-ngx-cfunc- project/blob/master/ngx-cfunc-ggl-direction/src/main/CfuncGglDirection.cpp) I've stripped out everything of 'getRoute' and only provide a response of a global variable 'thing' that never changes.

      std::string thing = "{\"result\": \"Hello World!\"}";
      void getRoute(ngx_http_c_func_ctx_t* ctx) {
        ngx_http_c_func_write_resp(
                    ctx,
                    200,
                    NULL,
                    ngx_http_c_func_content_type_json,
                    ::thing.c_str(),
                    ::thing.length()
        );
      }

</comment></comment></comment></comment><comment><USER14> Can anyone explain to me what is the different between

ngx_http_c_func_call "my_app_simple_get_greeting";

vs

ngx_http_c_func_call "my_app_simple_get_greeting" respTo=myResponseVariable;

I didn't see any different, just create a variable.

<comment><USER14> I've got the answer. [https://www.reddit.com/r/programming/comments/9nsbt8/create_...](https://www.reddit.com/r/programming/comments/9nsbt8/create_your_desired_cc_application_on_top_of/e7sbj7n)

</comment></comment><comment><USER15> cgi-bin all over again?

<comment><USER16> Not really. Cgi-bin processes were executed from scratch. This is a single function call from an dynamic lib.

</comment></comment><comment><USER17> Is this like lambda(aws) for C?

<comment><USER18> I suppose a procedure that responds to an http request is now called a lambda.

</comment></comment><comment> another-cuppa Why does it keep mentioning .so? Nobody refers to it like that. Just say dynamically link.

</comment><comment><USER19> Any idea why sharing this link to Pocket on Android 9 does not work? ("this webpage does not contain a valid link")</comment>


N.Y. kills right-to-repair bill that could make it easier to fix your phone - <AUTHOR> https://www.washingtonpost.com/news/the-switch/wp/2016/06/22/n-y-kills-right-to-repair-bill-that-could-make-it-easier-to-fix-your-phone/ <comment><USER2> This is a setback, but I hope there's eventually some progress. In addition to being consumer friendly, I wonder how much stuff this would keep out of the landfill because the local shop charges $250 to repair vs $500 from the manufacturer or whatever.

<comment><AUTHOR> Tons, according to [https://news.ycombinator.com/item?id=12088631](https://news.ycombinator.com/item?id=12088631) (from which I found this article I posted).</comment></comment>


Show HN: Bitarca.de – a space shooter, my holiday project - <AUTHOR> http://bitarca.de

<comment><USER2> Uncaught InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.5cffd1886a9e6c148bd01b645cc95715:289 (anonymous function)

<comment><AUTHOR> interesting, thanks - I will investigate.

I've seen this before but was still able to play. are you unable to play?

</comment></comment><comment><AUTHOR> Sorry everyone - server crashed for a minute there. Back now!

</comment><comment><USER3> Connection Lost

Looks like the server went away. Likely I restarted the server, sorry.

<comment><AUTHOR> try again!

You might get that if the websocket fails to connect, too.. hmm.

<comment><USER3> Yeah, I'm behind a webproxy that gives 400 status codes to websockets it seems.</comment></comment></comment>


Web users reading more, saying less, study says - <AUTHOR> http://www.webware.com/8301-1_109-9758946-2.html <comment><USER2> If they're saying less then who's doing all the writing that they're reading more of?</comment>


Classeur.io: Re-enjoy writing, with Markdown - <AUTHOR> http://classeur.io/ <comment><USER2> It's nice, but it seems it is trying to do too much. Or, it feels crowded with features.

<comment><AUTHOR> The very interesting feature, in my opinion, is the in-built Pandoc support.</comment></comment>


How the Channel Tunnel Changed Europe Forever - <AUTHOR> https://edition.cnn.com/travel/article/channel-tunnel-anniversary/index.html <comment><USER2> This reads like an advert for Eurostar. And it is absolutely not true that traveling London-Paris or anywhere else in Europe is now the norm, most people still fly.

<comment><USER3> [https://papers.tinbergen.nl/09051.pdf](https://papers.tinbergen.nl/09051.pdf) shows that Eurostar had 68% of passengers from London to Paris in 2003.</comment></comment>


Swedish Six-Hour Workday Runs into Trouble: It's Too Costly - <AUTHOR> https://www.bloomberg.com/news/articles/2017-01-03/swedish-six-hour-workday-trial-runs-into-trouble-too-expensive <comment><USER2> Relevant bit from the article:

      A two-year experiment cutting working hours while maintaining pay levels for nurses at Svartedalen old people's home in the Swedish city of Gothenburg is now nearing the end. The take away was largely positive, with nurses at the home feeling healthier, which reduced sick-leave, and patient care improving.

      But the city has no plans in making the measure permanent or broadening it to other facilities. To do that it would need much more money and even help from the national government. To cover the reduced hours for the 68 nurses at the home it had to hire 17 extra staff at a cost of about 12 million kronor ($1.3 million).

So, it worked, but they're being stingy.

<comment><USER3> No, it didn't work. The idea of cutting the hours was that overall, there would be a savings because the nurses would take less sick leave and it would improve patient care.

While there was some improvement, it didn't actually save any money and now costs more money from the government and to hire more staff to cover the work that needs to be done.

Money is finite. They can't just get it out of thin air. If the goal was to save money and that didn't happen, they didn't reach their goal.</comment></comment>


Developer Preview: Cloudant Search for CouchDB - <AUTHOR> http://blog.cloudant.com/full-text-search-for-cloudants-hosted-couchdb

<comment><USER2> Great Job. It allows new type of queries where normal map-reduce ends.

May I ask?

1) Does the index building start on the first query as with normal views?

2) Will it be open like BigCouch or is it a premium feature for Cloudant customers?

</comment><comment><USER3> Cloudant is a super cool company, but even for pet projects I still can't seem to justify using CouchDB...and I really tried too!

<comment><USER4> What is it that keeps you from using Couch?</comment></comment>


Zinc: Introduce minimal cryptography library - <AUTHOR> https://git.kernel.org/pub/scm/linux/kernel/git/zx2c4/linux.git/commit/?h=zinc <comment><USER2> > cascade of architecture-specific functions is done as ifdefs within one > file, so that it's easy and obvious and clear what's happening...

Not in my opinion, having an arch ifdefs makes things much less clear as I effectively have to parse the ifdefs within the code while trying to understand what it's doing, compound that with n arch specific optimizations and it quickly grows out of hand. An arch over-ride file (e.g. $arch/foo.[cs] over-rides dir/foo.c) is much easier to read.

<comment><USER3> The linux-crypto maintainer seems to agree: [https://marc.info/?l=linux- crypto-vger&m=153310819905231](https://marc.info/?l=linux-crypto- vger&m=153310819905231)

<comment><USER4> Herbert Xu is the linux-crypto maintainer and he wasn't even Cc'ed, neither was linux-crypto mailing list in the submission. Not an appropriate behavior from Wireguard folks ...

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

<comment><USER6> "This initial commit adds implementations of the primitives used by WireGuard" is apparently the relation to the WireGuard discussion linked above.

<comment><USER7> zx2c4 (Jason A. Donenfeld) is the main developer of WireGuard, and Zinc. The name "zinc" could be a nod to NaCl / libsodium.

</comment></comment></comment><comment><USER8> I wonder how these perform over libsodium's implementations. (Particularly regarding the assembly).

<comment><USER9> They are probably way faster. Speed is not what libhydrogen and libsodium are obsessed about.

</comment></comment><comment><USER10> OT, but I'm _so_ glad to see the word "hesitance" rather than the abomination one might expect, "hesitancy".</comment>


Show HN: Free pizza for people who *really read* stuff online - <AUTHOR> https://reallyread.it/pizza <comment><AUTHOR> Hey folks -

I'm Bill, co-founder of reallyread.it, a social media platform powered by reading. We help people track and improve their online reading habits. We allow people to comment on articles and blogs that they've actually, _fully_ read - it elevates conversation and creates true civil discourse. (And it looks a bit like HN and reddit.)

Now, we're encouraging people to attempt a 10-day reading streak and we're rewarding the first 100 winners with free pizza.

Join our community! Let us know if you have questions/ideas/etc.

</comment><comment><USER2> This is a neat idea, but people may not be comfortable with trusting a company about what they read on internet.

</comment><comment><USER3> Chrome desktop only, as it requires a chrome extension.

<comment><AUTHOR> Yup. Chrome desktop only _for now_ but we'll have an iOS app soon!</comment></comment>


Presenting the Eshell - <AUTHOR> http://www.howardism.org/Technical/Emacs/eshell-present.html <comment><USER2> Related from 2018: [https://news.ycombinator.com/item?id=17026490](https://news.ycombinator.com/item?id=17026490)

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

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

</comment><comment><USER3> Eshell has a lot of potential, but it needs a bit more polish and documentation. It's sort of an unfinished part of Emacs.

People often take it for a terminal emulator, which is not, and get frustrated when typical ncurses applications don't run properly.

<comment><USER4> Yep. My Emacs workflow is a lot like my old terminal workflow, but now it's Emacs+packages instead of terminal+ncurses apps. If you try to do a lot of terminal emulation inside Emacs you'll probably have a bad time.

</comment></comment><comment><USER5> I try to use eshell for whatever I can (some things still work better in a standard terminal), so I wrote Equake, a drop-down console (with tabs) in Emacs Lisp for eshell (though it can also open term or shell tabs as well):

[https://gitlab.com/emacsomancer/equake](https://gitlab.com/emacsomancer/equake) (link include animated gifs of Equake in action)

</comment><comment><USER6> Can someone comment on how to get better colors on eshell?

The only thing that stops me from using it is that xterm-256color and ansi- color and all the articles on the web talking about colors ultimately say this - the terminal emulator that it ships with just cannot do better colors?

(Eg when you do a 'cargo run' for rust, the error colors aren't even highlighted in eshell)

<comment><USER7> [https://github.com/atomontage/xterm- color](https://github.com/atomontage/xterm-color)

That looked like the way to do it but I haven't tried yet.

<comment><USER8> I tried and it mostly works, but for rustc/cargo in particular you also have to set the $TERM environment variable to "xterm" [1].

[1] [https://github.com/rust- lang/rust/issues/45728#issuecomment-...](https://github.com/rust- lang/rust/issues/45728#issuecomment-368359203)

<comment><USER9> Interestingly, I've gotten used to checking $TERM and making sure it's set due to entering Docker containers to poke around them: in a lot of images, it's unset, and you get really old-school terminal emulator behaviour without it!

</comment></comment></comment></comment><comment><USER10> A minor addition to what the article says about ipython: You can run arbitrary shell commands there without system() by prefixing them with !. It even supports using python variables as in `a = "some_dir"; ! cd $a`.

</comment><comment><USER11> this looks cool!</comment>


Home wiring as an antenna: Discovery spawns UW startup - <AUTHOR> http://www.techflash.com/seattle/2010/09/new_startup_from_uw_to_use_home_electrical_wiring_as_antenna.html

<comment><USER2> Not sure how this is a discovery. I've seen devices for sale that use devices you plug in to boost radio reception, and its also well known old Walkmans with radios used the headphone wire as an antenna as well.

They just repurposed a 20+ year old technique.</comment>


NYC real estate prices visualized - <AUTHOR> https://medium.com/re-form/nycs-housing-cost-myth-9dce6052c139

<comment><USER2> Pretty cool visualizations, but I would take the accuracy of the data with a grain of salt until I saw the source data. There's no universal map of neighborhoods in NYC, and I think that every New Yorker has a different sense of where certain neighborhoods start and begin. I'd also question incentive alignment regarding the real estate sites they used to cull the data. If they are using the real estate site's self-reported neighborhoods for these listings, I think that everyone can relate to the situation whereby a real estate agent tells you that a certain place is a "steal for the Upper East Side/(generic, more upscale neighborhood)," but when you go out to the apartment it's actually a few blocks into Harlem/(not so upscale area). Such vagaries in the listings would distort the prices per square foot for these boundary areas, but leave the solidly expensive ones alone, which is perhaps why areas like Central Park South (well defined geographically, and buffered by upscale areas) stand out.

<comment><USER3> I would imagine that the listings have lat/lngs (or at least geocodable street addresses), and the author has assigned them a neighbourhood by seeing which polygon the point intersects with. So real estate agents lying about what neighbourhood a property is in wouldn't matter.

<comment><USER4> Trulia uses lat/lon to determine a property's neighborhood. While neighborhood borders are often subjective, they do the best they can to meet the expectations of public consensus.

</comment></comment></comment><comment><USER5> I've lived in NY all my life, in both Manhattan and the Bronx. I also used to go to Staten Island weekly. Here are some notes:

* The Bronx:

I lived in Woodlawn. I think it's very interesting that it's one of the most affordable areas to live considering it was recently reported as one of the safest places in the Bronx.

It also has fair demographic diversity, is extremely close to public transportation (buses run through the area and it's all within walking distance of Metro-North, 30 minutes from Grand Central). I lived in a three bedroom apartment with all utilities for $2400 a month.

Really, great place to live. If anyone is considering a place in NYC with easy access to Manhattan that is safe and affordable, look into Woodlawn.

To contrast this, Riverdale is also a nice area, but it's technically not as safe (parts of it are wealthy, but most of it is not). The safest areas are the colleges (Manhattan College and CUNY Lehman are both in Riverdale and their campuses are the hubs of that area). Transportation access is about the same.

* Staten Island

Amazingly cheap, but at the same time, you can't get to any of the wealthy areas of the island without going through a slum. It's literally a stereotypical case of the wealthy living on the top of a giant hill overlooking the working class/poor who live at the bottom/outskirts of the island.

That said, the neighborhoods at the top of Staten Island, the most expensive area, were filled with mansions and were absolutely magnificent to drive through. Naturally, this was close to the large liberal arts college there, Wagner.

<comment><USER6> Most NYers would not consider "buses and metro north" to be decent transit options. In that case you might as well just move to westchester proper.

<comment><USER2> From Woodlawn you can take buses to 3 different subway trunk lines, with access to both the East Side and West Side, in addition to an Express Bus to Midtown East and the Metro-North to Grand Central. Those are pretty decent transit options. Unless you're fortunate enough to live in the closer-in areas of Queens or Brooklyn, or Manhattan itself, those also the only options for "most NYers". Aside from 24-hour subway access to the city, living within the city limits, as opposed to Westchester, also gives you the perk of being able to hail a yellow cab and get home for a reasonable rate instead of doing the livery cab thing.

See here for a map showing that ~20% (eyeballed) of Brooklyn by area is likely in the same boat as the people in Woodlawn.

[http://iquantny.tumblr.com/post/100729370274/found-the- brook...](http://iquantny.tumblr.com/post/100729370274/found-the-brooklyn- residence-thats-farthest-from)

That being said, I'm not quite sure that I believe that their definition of Woodlawn is completely accurate, nor do I believe that it's the cheapest neighborhood in the Bronx. If the 3D-bars on the map are to be believed, it looks like Woodlawn (the area immediately to the east of the green park (Van Cortlandt) in the north center of the Bronx) and Wakefield (east of Woodlawn) are lumped together. Adding to personal experience, this map [1] suggests a pretty big wealth disparity between Woodlawn and Wakefield, with a difference of ~$20k in median household income. The border between the two is generally taken to be the Bronx River Parkway/Metro-North, and the 3D-map bars in the submission seem to gloss over that border. I would venture to say that Wakefield has a bit lower rent than Woodlawn, and that Wakefield is perhaps the cheapest neighborhood in the Bronx, but not Woodlawn.

[1] [http://project.wnyc.org/median-income- nation/?#13/40.8894/-7...](http://project.wnyc.org/median-income- nation/?#13/40.8894/-73.8693)

</comment></comment></comment><comment><USER7> A top-down 2d heat map would be a lot easier to read.

<comment><USER8> Yeah, if you're going to do a 3d bar chart over a map, then I'd want to be able to zoom and rotate.

</comment></comment><comment><USER9> Four different shades of orange makes for a difficult to read graph...

<comment><USER10> Highlight on mouseover would also help in this case.

</comment></comment><comment><USER11> Thank you for the kind words and thoughtful replies. This project was amazing fun to do with my friend and collaborator, Cat Callaghan.

We agree with the feedback - and we hope to develop some more robust visualizations soon. These are ideas that we're working on, and this was a proof of concept in order to explore some directions and possibilities. That said, we worked with third-party data from the leading real estate sites and averaged those in order to account for any outliers. This is an early iteration, and we hope to get more granular soon.

All best, Constantine @c_valhouli

<comment><USER12> Would love a tool that constructs this for other US cities

</comment></comment><comment><USER13> I love how the two of you came up with the bar chart overlaid upon a city map to show the relative price per square foot. It's so intuitive to read and understand, and personally, I too believe this makes the most sense, rather than heat maps.

Because, using a data map like this, prospective home buyers can look at

1) their budget -- how much total $$ they can spend, including downpayment, and then

2) their minimum sq foot requirements (ex: might have kids and need atleast 1,000 sq ft) and

using 1) divided by 2) arrive at the Price / Sq Foot that they can afford.

Then they can use your map, and immediately identify neighborhood within the neighborhood that are likely to have a place within their budget and sq foot requirements.

Would be a great tool for potential home buyers. You could try this as a service in 1 city, and then turn it into a startup that services metros around the world -- Hong Kong, Sydney, Bombay etc - for a small 1-time or recurring fee. You could also sell the service to real estate agencies, who use it to narrow down neighborhoods for their clients based on the 2 criteria mentioned above.

You get the idea.

p.s. Please make one for San Francisco if you can :) :)

</comment><comment><USER6> Given the percentage of NYers who rent, I think a similar map for rental prices would be super interesting -- even more interesting would be to see any areas whose rental and purchase prices don't line up.

</comment><comment><USER14> Love the visualizations. It would be great if we could look more closely / zoom in, rather than only seeing the overview.</comment>


Show HN: We just open-sourced a Skype replacement with HTML5 - <AUTHOR> http://voicechatapi.com/?hn <comment><USER2> Doesn't appear to be working in Firefox (a lot of things don't seem to work it Firefox anymore..) however it's working perfectly in Chrome and IE (latest).

Looking really good, I'd add Chat to it as well for people who are having issues with their mic or prefer to just listen. Actually.. Might have a crack at that this weekend.

Cheers!

<comment><USER3> Firefox dev here. Sorry to hear you're having issues with Firefox. This has not been my experience, would love to know more specifics about apps that don't work in Firefox.

Would be hugely helpful if you could file a bug (bugzilla.mozilla.org) when you see something that doesn't work, but if you want a quicker way to help I'll file the bug for you. Just send me a one line email with the problematic URL. joshmoz at gmail

<comment><USER4> Firefox user here, thanks a lot for all the good work!

If I may ask a question while you're here, do you know if there'll be anytime soon an indicator of the degree of security of WebRTC? Right now, I don't think there is any indication if the keys-exchange is done over HTTP for example or other, which is a bit problematic if privacy is important.

Thanks!

<comment><USER5> afaik, webrtc uses srtp, which is a separate from https.

<comment><USER6> SRTP/DTLS to be specific instead of SRTP/SDES. In the past the keys were sent in SDP (using SDES--Security Descriptions) therefore over HTTP, but SRTP/DTLS is the way forward and in the spec.

</comment></comment></comment></comment></comment><comment><USER7> Mandatum, if you see this, you're hellbanned. Since I can't reply to your comment about many apps like this not working in Firefox, this particular tool does work for me in the latest build.

I agree that many cutting-edge browser apps work in Chrome and not Firefox. Is it a case of browser specific syntax that people default to webkit for?

<comment><USER8> Did Mandatum get hellbanned for saying that the app doesn't work on Firefox?

<comment><USER7> It's hard to say, it might have been from his first comment, a year and a half ago: "Seriously?" [0]

Poor guy has been posting decent comments since then, probably wondering why no-one replies.

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

<comment><USER9> Poor guy.

The hellbanning system on ycombinator is terrible. Hellbanning should be reserved for the most obnoxious of spammers, not for random innocents.

<comment><USER10> is it that bad? A lot of people enable the option to see ghost comments. And then act when needed. It's called auto-moderation and it does seem to work.

<comment><USER11> It works, but not well.

Case in point: It took 18 months for this user to be discovered.

</comment></comment></comment></comment></comment></comment><comment><USER12> Good job Kunal and team Plivio!

If anyone is looking for a audio+video demo that works similarly, I built [http://OpenTokRTC.com](http://OpenTokRTC.com) and the code is on github at [https://github.com/opentok/OpenTokRTC](https://github.com/opentok/OpenTokRTC)

One feature I included is dynamic frame rate so that in cases where there are many people streaming video, a user can type "/focus" in the chatroom and everybody's video quality will degrade to save bandwidth and stream the optimum quality for the focused person's video.

It's also available on iOS, although I believe the iOS app needs alot more work. I apologize ahead of time if you experience bugs on the iOS app. The app name is OpenTokRTC and source code is here: [https://github.com/opentok/OpenTokRTC- iOS](https://github.com/opentok/OpenTokRTC-iOS)

Hope someone finds this useful, if you have any questions please email me firstname.lastname@example.com

<comment><USER6> This is typically the job of the congestion control and the application constraints set by the developer. Dynamic Frame rate control is just one tool in the congestion control toolbox and works only for small frame sizes (typically thumbnails), which perhaps is fine for Hangout-ish large conference with one or two active speakers.

But there are other use-cases where doing dynamic frame rate wont be sufficient.

</comment></comment><comment><USER13> I built this. Happy to take any questions. Code is hosted here - [http://github.com/plivo/voicechat/](http://github.com/plivo/voicechat/)

<comment><USER14> Any plans for non-heroku build instructions? Is there really much to it that Heroku is doing that can't be easily replicated, or was that just for speed of deployment? I'd love to self-host an instance of this, but that part threw up a flag for me. Thx!

<comment><USER13> Yup. It's a flask app which can be self hosted on any instance of yours and it uses redis to store conference mappings.

</comment></comment></comment><comment><USER15> Have you checked out [https://appear.in/](https://appear.in/) ? Looks like you're not the only people playing in this space right now. I've used appear.in sucessfully with a 6 person teleconference on opposite sides of the world - two of us at home in Australia and the others in two different offices in Norway.

I'm sure there will be tons of competitors in this space until a bunch of them drop out and a couple succeed big. Open source is great though - good luck with it all!

<comment><USER16> I was pretty stoked for appear.in but found the voice quality poor and the screen share awkward. It's a brilliant concept but it seems like WebRTC needs some optimizing before it can compete with skype or hangouts.

<comment><USER17> I've not had any problems with voice quality; I know what you mean about the screen share though. I think that's to do with Chrome only grabbing a low-res feed from the desktop, from what I gather from the appear.in dudes & dudettes on twitter.

</comment></comment></comment><comment><USER18> So, this tool is OSS but appears to be dependent on a commercial service. Is there any chance that Plivo will open source the necessary bits to enable true standalone operation? There's a lot of potential for an application like this in parts of the world where open communication is restricted.

<comment><USER19> Being open-source is a very important point.

But any communication system that is built for the future must at least be (public-key) encrypted.

Then you, make it 100% decentralized and you're ready for our time where unlimited mass surveillance seems acceptable for "democratic" governments.

</comment></comment><comment><USER20> I've created and been maintaining an open source video chat platform for years. and it's peer-to-peer and html5.

Your Second Phone [https://yoursecondphone.co](https://yoursecondphone.co)

</comment><comment><USER15> Oh - flash. No thanks.

<comment><USER13> Try the app in Chrome, which uses HTML5 audio. Flash is for other browsers with graceful fallback.

As Firefox and other browsers support and stabilize HTML5 audio a.k.a. WebRTC, this App will support it too.

<comment><USER21> HTML5 audio and WebRTC are not the same thing.

WebRTC stands for Real Time Communication, and is a protocol for allowing browser-to-browser traffic. HTML5 Audio is a spec for playing sound through the browser via <audio> tags, which is confusingly also distinct from the _Web_ Audio API, which is a Javascript API for programmatic sound.

</comment></comment></comment><comment> vezzy-fnord That's nice and all, but it's hardly a "Skype replacement".

I'm waiting for Tox to get ready for a public release. There hasn't been much word on it, but development is slowly continuing by the day. There's also something like six GUIs by now.

<comment><AUTHOR> It's true this app does not "fully" replace Skype, but it does replace the group voice call part of Skype. Also it definitely relieves common pain points you have while using Skype. (install, signup, login, username exchange, approval.) Plus if you want to get on a call with a stranger. You would want to use this.

</comment></comment><comment><USER22> Flash and voice only.

This is really extremely misleading. I do not understand where the upvotes come from. The project may be interesting, but the headline is borderline sleazy.

Also, "allow _s3.amazonaws.com_ to access your camera and microphone"? Yeah, I don't think so.

<comment><USER13> This uses HTML5 audio on Chrome and falls back to Flash on other browser.

The WebSDK is currently hosted on s3 and hence the request. Will fix this.

</comment></comment><comment><USER23> This is hardly a Skype replacement.

I'd be impressed when someone gets VOIP working on WebRTC. i.e. supporting SIP logins. I tried Doubango Telecom and it didn't work.

</comment><comment><USER24> I just saw a presentation by tsudot about this, where he mentioned a pretty cool use case for this: they've got Hubot in their team's channel set up so they can just say "conference", and it'll generate a link for everyone to jump in and talk about things. I'm not sure if its quite a Skype replacement, but it could replace a lot of the way I use Skype or G+ today.

<comment><AUTHOR> Thanks. We believe this can replace a subset of what people do with Skype—quick calls with friends and teammates.

The hubot script will let people do audio conference on chat clients which don't natively support it. The community script is here: [https://github.com/dhfromkorea/hubot- scripts/blob/master/src...](https://github.com/dhfromkorea/hubot- scripts/blob/master/src/scripts/voicechat.coffee/)

</comment></comment><comment><USER25> Here is my open source WebRTC project. [https://github.com/imomin/videoChat](https://github.com/imomin/videoChat)

</comment><comment><USER26> Mmm, actually I Happen to use Skype actually much more for chatting, with the occasional voice chat. Much like MSN, but more professional.

I wish Skype wouldn't be so integrated into the professional world, and be forced to use it. But hey as a freelancer, I'm not going to be shy about using Skype if all my clients use it :/

<comment><USER13> True, I feel the issue with Skype is that its too personal. You add someone as a contact without realizing that they can monitor your status all the time.

ps. I built this.

<comment><USER27> I solved that beautifully - I am always online 24/7 - no crap like DND away and similar. So people just learned that answering is optional from me no matter of the status...

<comment><USER28> I do this across all programs. My status is always "online".

</comment></comment></comment></comment><comment><USER29> Love it, UX is beautifully elegant (only thing that ruins it is the Adobe Flash permission popup which looks like it is from Windows 3.1)

This is something I feel as though I will actually use, and is easy enough for my own mother to use.

<comment><USER30> Try Chrome which will use HTML5, No-Flash!

</comment></comment><comment><USER31> For something to replace Skype, the respective users have to be convinced to move other to the Skype replacement of the month.

For my contacts list, I am sure it won't happen unless they are forced to move away.

</comment><comment><USER32> Boo. Apparently open-washing, proprietary centralized, not WebRTC.

</comment><comment><USER33> [http://meet.jit.si](http://meet.jit.si) is alive since last year it's open source. It works well! Give it a try

</comment><comment><USER34> HN Test Conference: [http://voicechatapi.com/pqebs2gqe/?share](http://voicechatapi.com/pqebs2gqe/?share)

</comment><comment><USER35> The Chat Room [http://voicechatapi.com/pxuk07nxu/?share](http://voicechatapi.com/pxuk07nxu/?share)

</comment><comment><USER36> If you're interested in this, please also check out [https://echoplex.us](https://echoplex.us) :)

<comment><USER37> That's very nicely done. Could be an easy website support option.

</comment></comment><comment><USER38> [http://voicechatapi.com/p120caoh1/?share](http://voicechatapi.com/p120caoh1/?share)

</comment><comment><USER35> "Welcome to the conferencing bridge. You are currently alone in the conference"

 __FOREEVER ALONE __

</comment><comment><USER39> Very nice tool, talk anonymously and in conference. But my IE 11 does not pop up the flash screen.

</comment><comment><USER40> [http://burnerapp.com/](http://burnerapp.com/)

</comment><comment><USER41> Open Wash.

<comment><USER42> Yeah, I looked at the code and the site trying to find the line between what's really open and what's proprietary. Could this app work without a Plivo account? What do the Plivo bits do that I can't do with plain old WebRTC?

<comment><USER30> Plivo WebSDK ([http://plivo.com/voip-sdk/](http://plivo.com/voip-sdk/)) allows graceful fallback to Flash for non WebRTC browsers.

WebRTC alone won't run on all browsers!

</comment></comment></comment><comment><USER43> It's about time! This Skype is terrible, and WebRTC is amazing.

</comment><comment><USER44> I don't want to give aws.amazon.com access to my mic...

</comment><comment><USER45> I use skype for two things:

\- chat

\- videochat

I never just use audio chat. I video chat even with my coworkers.

<comment><USER46> skype is so crappy that i usually call people in video, and then after some problems we are both disabling video to try to improve audio quality.

<comment><USER47> This.

I am actually waiting for a "video chat" application that allows me to choose between "having crappy video frames every second" or "having very high quality picture frames every 10~30 seconds".

It would be very useful if you could fix the picture quality at say, 640x480 and then the framerate dropped to get that quality. That way video conference could be very useful to share stuff like whiteboard drawings, among other things.

<comment><USER48> Yeah, meanwhile Skype is just removing features. The other day I had this Skype followup job interview and I realized I should change my display picture or better yet remove it because taking pictures of ones self is tedious. They removed the ability to remove your display pic. What the fuck?

Would love a proper open source Skype replacement. Something that meets all of the features in a similar or better interface, while also being pro-privacy pro-encryption. Kind of like the Firefox of communication clients. I don't think it's plausible any time soon as you can only Skype fellow skype users. People need a reason to switch and stay there, thus approaching Skype levels of a userbase. Maybe if Firefox itself integrated a powerful addon that could compete with Skype, which would allow for a huge userbase. Heh, one can hope.

I'm with you on the quality thing though. So. Many. Times. Have I had to deal with cumbersome upload speeds for either person thus degrading audio and video to the point where they look like blobs or I do. Sometimes it happens no matter what the user's connection is like. Then there's the whole auto background noise amplifier that kicks in when you're not speaking for a period, to conveniently transmit your TV or aircon at ear shattering volumes. And once again you can't turn that off!

It's just, like, these people developing apps like Skype don't care about making it a great application. How much does it really cost to put in a few critically useful features? Are the devs not passionate? Is there too much bureaucracy? Why is "it works" an acceptable standard? How the hell can you be a devloper for something that is literally used by so many _millions_ of people and yet feel no urge to make that software the absolute finest possible?

</comment></comment></comment></comment><comment><USER49> This looks fantastic. Will play with it this weekend.

</comment><comment><USER50> 1\. how to know who's talking?

2\. when you add video?

<comment><USER30> This code is open source. Feel free to send a pull request with "who is talking"..

XML to use is here - [http://plivo.com/docs/xml/conference/](http://plivo.com/docs/xml/conference/)

Hint: use the floorevent param.

</comment></comment><comment><USER51> Nice app</comment>


Larry Wall's "Three Virtues of a Programmer" Are Utter Bullshit - <AUTHOR> https://hackernoon.com/larry-walls-three-virtues-of-a-programmer-are-utter-bullshit-fykp32ck <comment><USER2> "I propose, instead of this jackassery, three actual virtues: Hard Work, Patience, and Humility. How much better would it be to work with people who embraced and embodied these qualities? How great would it be to make "no assholes" a universal policy? How great would it be, if our industry was actively welcoming instead of actively exclusionary?"

Absolutely. "No assholes" would hollow out a lot of unattractive workplaces faster than Covid-19</comment>


Does the news reflect what we die from? - <AUTHOR> https://ourworldindata.org/does-the-news-reflect-what-we-die-from?linkId=68864855 <comment><USER2> No.

If you witnessed murders at the same rate you see them on television it would be like a nuclear war, we would all be dead in 30 minutes or so.</comment>


Erik Meijer and Robert Griesemer – Going Go - <AUTHOR> https://www.youtube.com/watch?v=on5DeUyWDqI <comment><USER2> This is from 2012. Here's the original link:

[https://channel9.msdn.com/Blogs/Charles/Erik-Meijer-and- Robe...](https://channel9.msdn.com/Blogs/Charles/Erik-Meijer-and-Robert- Griesemer-Go)</comment>