How I Blew My Marriage - <AUTHOR> http://www.danoah.com/2012/10/16-ways-i-blew-my-marriage.html <comment><USER2> _Never argue in front of the kids_

You know, I have some experience with this. I had a friend in college that had parents that never once argued in front of him. Not once. This guy was completely unable to resolve any conflicts. You know what? People learn conflict resolution by watching others, and that goes for kids.

To give more details about my friend, he was a really nice guy, but he avoided confrontation like the plague. The problem is, you can only avoid it for so long. When he finally did get into it with anyone, he would literally start to fall apart. It drove him to drink and eventually most of his relationships fell apart and he became a binge drinker/alcoholic. He ended up dropping out of school and disappeared from the face of the earth. He drunk dialed me years later and left a message on my answering machine (without any details about where he was). A very, very sad situation.

I'm not saying everyone will react like this, but that watching an argument be properly resolved is a good thing for a kid to see.

<comment><USER3> If you argue in front of your kids, in a way that respects each other and eventually comes to a fair and agreeable result, then your kid will learn valuable conflict resolution skills. On the other hand, if you shout at each other in front of the kids until one of you throws their hands in the air and stomps off, and nothing is resolved and everyone is angry, then your kid will only learn the fine art of temper tantrums. And, as you say, if you do nothing in front of your kids, they will be utterly unequipped to do anything.

As my wrestling coach used to say, practice doesn't make perfect, perfect practice makes perfect. The same holds true for kids and their acquiring habits from their parents: they will pick up the habits you demonstrate in front of them, for better or worse.

Also, this sort of stuff is exactly why I am absolutely terrified of having kids.

<comment><USER4> I wish I could join this comment and the parent comment at the hip. It is _exactly_ right that your kids learn how to resolve conflicts by the way their parents resolve conflicts. This is one of the benefits of _not_ living in a single parent household.

I liked the list in the article, it summarizes to communicate authentically. But it took me probably the first 15 years of my marriage before I understood the ramifications of that.

</comment></comment></comment><comment><USER5> Most of these suggestions can be summarized as "don't be selfish".

My own approach is to consider the relationship as something somewhat separate from yourself. You like/love the relationship, and it fulfills you in one way or another, so do what it takes to maintain it. Sometimes that means "spending" some of your own ego.

<comment><USER2> Agreed. The golden rule could replace a good number of these.

</comment></comment><comment><USER6> I am guilty of a few of these myself, with the notable exception of financial stingyness (if anything, I am overly generous to her which could be a bad trait as far as _my_ quality of life is concerned) and failing to look my best (I'm not the most attractive guy in the world, dressing in nice clothes and doing my hair makes me feel good about me.)

To add to this, I think the only way to not ruin a relationship is to listen to the person, often and with honest intentions. People tend to be saying something straight to your face which you have a habit of missing, I know this is my experience, but I've found that since I stopped talking _at_ her and starting talking _with_ her our relationship has improved in leaps and bounds.

Though I suppose like almost anything, you improve with iteration, I hope you take your mistakes and what you have learned and better apply them in your next relationship, thanks for sharing this with us, it made me realise some of my own flaws.

~

Comment: Wow, this flew up to the first page, looks like these flaws must be pretty common, or general enough to seem common, anyway.

</comment><comment><USER7> I found this a curiously cold, superficial approach to loving another person.

A relationship isn't a software program, or a car. You can't apply discrete rules, algorithms or workflows and assume it'll stay in tip-top condition. You can't debug it, either. Not in a discretely logical way.

This other person who is your more-than-equal, who still gives you butterflies, and who you respect so much that you've entered into a partnership with them with both your _lives_? Treat them like that. Be open, be responsive to their emotional needs, and be communicative about yours. Like any partnership, don't enter into it lightly; it's okay to take your time. Take them for who they are, and make sure they're taking you for who you are. Turn a blind eye to nothing, but be sure of your priorities. And don't take any of it for granted.

<comment><USER8> There is something that your argument misses, I think.

We like to think that our actions follow our emotions. The reasoning goes that if I am making intentional effort to do something that I do not necessarily feel like doing, I am just doing something artificial, and am therefore a hypocrite.

However, one's emotions also follow their actions. If I have to make an effort to choose to act like I am in love, I will feel love from making the effort. I am training my emotions to follow my actions. And then, before long, I _am_ feeling the emotion behind doing the thing that I do. What was first artificial becomes genuine.

It is like teaching your children to say please, thank you, and I'm sorry. Do they actually feel these things when they say them? Not at first. But by ingraining the action, you instill the emotion. I speak from experience. I have six children.

</comment></comment><comment><USER2> I would add this:

Have a short memory for negative stuff and a really long memory for positive things. Some people have a tendency to do the reverse, and it is really toxic to relationships.

</comment><comment><USER9> This site somehow brings my Firefox 16.0.1 on Ubuntu to its knees -- 100% CPU usage, window goes dark -- every time I try to view it. It literally raised the temperature in the room trying to render it.

</comment><comment><USER10> I think number 12 is the most important. Having fun. (Or even just planning to do fun stuff).

If that stops happening, you are in trouble.

</comment><comment><USER11> Now _that_ is what I call an accurate headline. Those are indeed 16 fabulous ways to screw up a marriage.

</comment><comment><USER12> _Don't poop with the bathroom door open._

What? Who does this? Why would this ever be ok?

<comment><USER13> My SO and I do this. What's wrong with pooping with the door open? We all poop. It's not that big a deal.

<comment><USER14> When you were a teenager living with your parents, did you poop with the door open? Did your parents poop with the door open? When a friend or coworker is visiting at your place, do you poop with the door open?

For most people, the answer is "no" in all those cases, because most people nowadays do not find the sight of pooping people appealing. Thus, when one does poop with the door open when their SO is around, but does not do so when others are around, the message one is sending is that the SO does not deserve the common courtesy that other people do, that the SO has become just a fixture around the house or perhaps a pet.

</comment></comment></comment><comment><USER15> Missing one of the most important ones of all.

And #10--really?

<comment><USER16> As funny as this sounds, this is so true.

First marriage: door open, miserable New relationship: door closed, happy

</comment></comment><comment><USER17> Hacker News indeed...

3 pages? Really??

</comment><comment><USER18> /r/midlyinteresting is that way.

</comment><comment><USER19> For people (like me) who hate pagination:

      1. Don't stop holding her hand
      2. Don't stop trying to be attractive
      3. Don't always point out her weaknesses
      4. Don't stop cooking for her
      5. Don't yell at your spouse
      6. Don't call names
      7. Don't be stingy with your money
      8. Don't argue in front of the kids
      9. Don't encourage each other to skip working out
      10. Don't poop with the bathroom door open
      11. Don't stop kissing her
      12. Don't stop having fun together
      13. Don't pressure each other
      14. Don't label each other with negative labels
      15. Don't skip out on things that are important to her
      16. Don't emotionally distance yourself after a fight

Having wrecked a good number of serious relationships in my time, I really feel those are just symptoms of underlying problems that can't be corrected by adhering to lists. There seem to be categories of things going wrong and a lot of these points are redundant in that context. Maybe the message should not be primarily that relationships require work, but that they often need to run better algorithms. People need to make more of an effort to see the world through their partners' eyes, but they also need to establish a clearer understanding about their own goals and feelings.

Holding hands (1), cooking for each other (4), kissing (11), having fun (12) - those are kind of obvious relationship indicators and they should not be items on a to do list. If they don't happen there are underlying causes such as lack of time, stress, apathy, or a general lack of affection.

Making an effort to be desirable (2), working out (9), not pooping publicly (10, WTF?!?) are general maintenance problems related to attractiveness, and they're kind of obvious.

The highly redundant items pertaining to not being a total dick (3, 5, 6, 13, 14) look like they might happen increasingly when the relationship has already entered failure mode.

Emotional distance (16) is _what you're supposed to feel_ after a serious fight. Effort should go into addressing the issues leading to the fight, as well as the behavior of both people during the actual confrontation. If you feel distance after the "battle", that means the war is not over and you have a serious problem there that can't be addressed by simply forcing yourself to not feel distant anymore.

Finally, 15, skipping out on activities that are important to your partner. Well, I think it's important that both partners remain full individuals even during a relationship. Shared interests and activities are great, and it does make sense to attend stuff for the sake of your better half sometimes. However, if there are things one party doesn't like to do _at all_ , there should always be a way to opt out peacefully. Attending stuff you don't like won't do anyone any favors in the long run, it's not healthy or sustainable.</comment>


Garrett Murray reviews the iCache Geode - <AUTHOR> http://garre.tt/the-icache-geode

<comment><USER2> Too bad it doesn't work too well. And that if it did work better, any waiter could skim your card and actually use it.</comment>


Microsoft to remove all Windows downloads signed with SHA-1 - <AUTHOR> https://www.bleepingcomputer.com/news/microsoft/microsoft-to-remove-all-windows-downloads-signed-with-sha-1/ <comment><USER2> Any idea why they do not simply publish safer cryptographic control sums for these downloads ?

<comment><USER3> The opposite question is why would they? This is all obsolete stuff and hosting it gains them nothing.

<comment><USER4> The entire reason many of us like Microsoft is because they generally don't assume stuff that works fine is "obsolete" merely because it is old.

<comment><USER3> Perhaps for third party software but an operating system like Windows 2000 is obsolete because there is a newer, better version for sale and Microsoft clearly does not offert support for it.

<comment><AUTHOR> There are older systems with custom hardware that continue to function, offline, using older operating systems. Some industrial and medical.

<comment><USER3> So what kind of support do you think Microsoft provides for these offline systems? Using downloads on their website?

<comment><AUTHOR> Windows 7 extended support is available until 2023.

<comment><USER3> Yes, if you install the updates that Microsoft made available over a year ago, that enable SHA-2 support.</comment></comment></comment></comment></comment></comment></comment></comment>


Turing raises $14M seed to help find, vet, and manage remote developers - <AUTHOR> https://techcrunch.com/2020/08/25/turing-raises-14m-to-help-source-vet-place-and-manage-remote-developers-in-tech-jobs/ <comment><USER2> With 150,000 developers in 140 countries, @Turingcom announces $14-million seed round

</comment><comment><USER3> Hire remote Silicon Valley caliber engineers at half the cost

</comment><comment><USER4> Amazing! That's a huge seed round...

</comment><comment><USER5> Great news

</comment><comment><USER6> awesome news!

</comment><comment><USER7> Awesome news.</comment>


Advice wanted – Stumbled across active phishing scam - <AUTHOR> So yesterday I received a suspicious sms message with standard phishing speil asking to follow a link and renew a subscription to well known app.
Out of interest I followed the link to see how the attack would work, and before I knew it I had discovered that the attacker had left directory listings enabled on their server!
After looking through the PHP used to perform the scam, I could see that the results of the form victims are asked to fill out were being emailed to the attacker, and logged into a text file on the server. I just want to stress this is all publicly available if you know the url, not behind any kind of authentication.
After looking at the log file I could see that this scam was very and active and very effective. New entries were being added throughout the day including credit card and bank information. At this point I realised it was probably time to inform the police, and after many many painful hours I finally had a report logged.
Its now been 24 hours and I can still see the scam is active and collecting real peoples' details, the majority of whom are elderly.
What should I do? It feels wrong just to sit here and watch these people lose their details while the UK police take their time figuring out what a zipfile is. It would be very easy to disrupt the scam by flooding it with fake data. Good or bad idea? <comment><USER2> Much of this sounds like a standard phish kit. Unfortunately I don't think the police can do much. Often you can actually find the perpetrator's info, but they're in Nigeria where nobody cares.

First of all, I'd report the site to Google Safe Browsing and to PhishTank: [https://safebrowsing.google.com/safebrowsing/report_phish/?h...](https://safebrowsing.google.com/safebrowsing/report_phish/?hl=en) [https://www.phishtank.com/](https://www.phishtank.com/)

Once Chrome starts blocking the site, that will stop the bleeding. The contact the host and domain registrar, if possible. If the phish kit is piggybacking on a WordPress site (very common), find the person who owns that site and message them if you can.

<comment><AUTHOR> Yeah whoever set this up knows very little about the web and has obviously purchased this. They have made a number of mistakes including not withholding their domain registration info! So the police actually have a name and address in the UK. Whether that is a decoy or not remains to be seen, but given the other mistakes that have been made I wouldn't be surprised if it was the attacker.

The site has already been reported to netcraft and is now showing as dangerous in chrome. Unfortunately this doesn't appear to show on mobiles, where most of the of the victims are falling for the scam.

</comment></comment><comment><USER3> Its a hazardous menace affecting almost all Internet powerful nations of the world. If you are attacked, probably you won't be able to do much now and just wait for them to do something for you. I think the cyber cell will take care, it takes time but you'll get solution lately. From next time the first and the foremost you should do is to steer clear of spams and e-mails which are from suspicious senders. Read about the Cyber Plague..[http://gotowebsecurity.com/cyber-phishing- attack/](http://gotowebsecurity.com/cyber-phishing-attack/)

</comment><comment><USER4> You could try contact their hosting provider? (assuming it is a somewhat legitimate one)

<comment><AUTHOR> Have tried that and unfortunately the abuse email bounces :/

</comment></comment><comment><USER5> Is there a way you can anonymously alert people who have been scammed?

<comment><AUTHOR> Yeah this should be possible, their emails are listed in the data. I suppose I could write a script that watches the log file and instantly warns anyone added to it.

<comment><USER6> This is making me paranoid. How do I check if my website has listing enabled?

<comment><AUTHOR> Haha given the context I'm not sure I should say. Are you running your own phishing site?</comment></comment></comment></comment>


Lithium ranked the highest performance web application platform - <AUTHOR> https://www.techempower.com/benchmarks/#section=test&runid=57b25c85-082a-4013-b572-b0939006eaff&hw=ph&test=composite&a=2 <comment><USER4> Brian from TechEmpower here. I don't want to take away from these results, but I do want to provide an important piece of context. This link is to a rendering of data from a continuous run [1] that hasn't received the type of sanity checking we do for an official TFB round. You can tell from the title ("Test") and the UUID of the run visible in the gray box under the navigation. Based on this link's attention, we'll make a more prominent warning for renderings of continuous runs so that they are more obvious to readers not familiar with the project.

We execute runs like this continuously to allow maintainers of test implementations to observe the results of their contributions. Given the performance seen here, it is _very likely_ that Lithium will be well ranked in the next official round. But we feel the ranking seen in a continuous run such as this should be taken with a grain of salt until that next official round is available.

[1] [https://tfb- status.techempower.com/results/57b25c85-082a-401...](https://tfb- status.techempower.com/results/57b25c85-082a-4013-b572-b0939006eaff)

<comment><USER5> Is that why it didn't vary when I selected cloud vs physical?

<comment><AUTHOR> Yes, this is only physical. The cloud env (Azure) only run once every 1 or 2 months I think. On the official rounds they do both.

</comment></comment></comment><comment><USER6> I had investigated what explained the huge gap between the few fastest frameworks vs the rest. The answer is a deceptive one, they didn't achieve revolutionary optimizations. The thing is: on many of those benchmarcks, the bottleneck obviously is the DB. The ability to do DB queries asynchronously and with batching is the differentiating factor. Only postrgresql can support such a feature but you need support on the postrgresql client too. The official C postrgresql client used everywhere does not support said feature except with a patch from 2016. Yes the secret of drogon (and probably of Lithium) is that they use a fork of libpq from 2016 because upstream can't agree on merging the patch and nobody is working on upstreaming it. Actix web benefited from the feature because their client tokio-postgres is a reimplementation and does not use libpq.

The industry grade server ecosystem that is the JVM use the jdbc which sadly has a blocking socket thus not allowing asynchronicty. But when loom arrive every jdbc existing code will magically, automatically become truly asynchronous such spring should come on the top 4 place.

There is also a wrapper of the jdbc through kotlin coroutines and there are reactive jdbc implementations such as R2DBC. It is unclear as of today if such solution enable postrgresql async queries and batch processing. It seems that nobody has tried those on TechEmpowerUp which is sad. Finally one could use libpq over JNI. Edit: I have read that the next release of pgjdbc (43) will switch from std socket to the NIO non blocking socket.

What should be heuristically the fastest HTTP framework (H2O, in C) has refused to use the old libpq fork because the api is not stable and thus not production grade.

<comment><AUTHOR> Indeed, sql query batching is the key (and I personally think that the techempower website should make it explicit), async communication with the db and the http client is also the key.

FYI lithium is not using a libpq fork from 2016, it has been rebased on master 1 month ago. but yes Lithium (the sql-pipeline branch) is using it. (I mailed the drogon maintainer to update it aswell).

About H2O, the non batched version of lithium is as fast (slighly faster on some tests, slighly slower on others), while being much simpler to use (implementation of TFB of H20 is 4400 lines vs 250 lines for lithium...)

<comment><USER6> Interesting, thanks for the answer. What I would really like to see is the obligation to have in the name "Lithium-with_batch" and a version "Lithium" that would be without it. It would show the impact of other optimizations which are currently hidden by the paradigm shift.

What would to you the other major optimizations?

<comment><AUTHOR> I added -pipeline but I guess -with-batch is more explicit. I'll change it then. But anyway the techempower team will eventually add a special tag for batching. There is actually a version of lithium not using batching, check for 'lithium-postgres' in the benchmark tabs other than 'composite score'

Other big optimizations are \- non blocking communications between the database and the framework \- non blocking communication between the http client and the framework

This is for C++, for other slower interpreted languages: calling C bindings is a big optimization aswell (and this is how some php frameworks get good performances for example).

<comment><USER6> Thanks. Asynchronocity is one thing but there is one thing that in theory can achieve better performance than asynchronicity alone: I'm referring to the reactive programming paradigm which benefit from the concept of backpressure. If you've heard of it, do you think it could achieve even better performance? [https://medium.com/@jayphelps/backpressure-explained-the- flo...](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data- through-software-2350b3e77ce7)

<comment><AUTHOR> I had a look at the video, but I don't think there is backpresure in this benchmark since there is only 512 connections max and each connections wait for the server response before sending a new request. So in other words the load generator never send more request/s that the server is able to handle. (tell me if I missunderstood backpressure)

<comment><USER6> Mmh then I wonder if the techempowerUp benchmark suite would benefit from a new benchmarck that is backpressure sensitive, thus increasing its coverage of real world workloads?

<comment><AUTHOR> yes, it has been discused already to increase the number of connections. But still, several thousands of simultaneous connections is still ok for the best performing frameworks...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Is this a criteria that's important enough to warrant this much effort?

I can think of several metrics that would come first - even for sites with fairly high performance requirements.

How often is the web framework genuinely the bottleneck (at least in a way that's not easily fixable with caching or any other similar sledgehammer)?

<comment><USER8> Django is already _vastly_ faster than human perception. An entire roundtrip to my Django app takes 70 - 110ms. The entire roundtrip is already faster than human perception even in the worst case, and of that Django itself probably contributes something like 2 or 3ms.

<comment><USER9> 110 ms is _not_ faster than human perception. It's over a tenth of a second, and is very noticeable. The flicker fusion threshold for human vision lies in the 60Hz-90Hz range, corresponding to between 11 and 17ms. If I recall correctly, EEG experiments show differences up to around 100-120Hz, so on the order of 8ms. In any case, network latency itself adds on the order of 10ms per 1,000km of distance; 35ms or so for a London to New York round-trip, so the point about framework speed being a bit of a moot point other than in exceptionally high traffic scenarios still stands.

<comment><USER8> > 110 ms is not faster than human perception.

OK yes, it a literal sense you can see things that happen in less than 100ms. What I mean is that you can't tell whether the nominal amount of flicker on page load is from the time it takes to paint the DOM or from the network request. Unless you were asking a professional front end developer, I don't think most people would even have any intuition about what was happening.

</comment></comment></comment></comment><comment><AUTHOR> Link to the lithium homepage: [https://github.com/matt-42/lithium](https://github.com/matt-42/lithium)

<comment><USER10> Thanks for the link.

A web search for "lithium web framework" gave [https://li3.me](https://li3.me) as the first result, which is a PHP framework.

Why did you pick such a name if already taken by a similar product?

<comment><AUTHOR> I was not aware of li3.me and when I realized it, I was too lazy to find a new name..

</comment></comment></comment><comment><USER11> Incredibly frustrating the benchmarks not linking to the actual frameworks - searching for "lithium web framework" gives me some PHP framework...

Edit: Comment lower down suggests: [https://github.com/matt-42/lithium](https://github.com/matt-42/lithium) is the correct one.

<comment><USER5> Re: obscurity: This has been true for a long time. I remember seeing these a long time ago and it wasn't until about 80% down the list that a "real" framework showed up.

"Lies, Damn Lies, and Benchmarks" is somewhat true in this like any benchmark, but as others have pointed out, important techniques gain exposure using this benchmark over the years that trickle into mainstream use.

It would be nice if a summary of what techniques were used by new "frameworks" to gain leadership. All too often discussions of this benchmark turn into pissing matches by language zealots.

Actix's turn at the top was very interesting for the, uh, discussion, it prompted in the rust community about unsafe, although it was stressful for the original author.

In javaland, Vert.X has been high on the list for quite a while, but as I understand it, it uses "arena" allocation of buffers to avoid GC and other tricks to get the JVM up to par with non-GC languages, but isn't really typical of JVM development.

I would also like to know if HTTP protocol "hacks" are used, or networking tricks like userland network stacks.

But alas, it's just a huge wall of github projects and not a lot of use to a run of the mill developer like me.

<comment><AUTHOR> I'll write a post later explaining how I reached those performances, several people already asked for it.

</comment></comment></comment><comment><USER12> Interesting to see asp.net at the very bottom of the list of 100+ and asp.net core in the top 10.

<comment><USER13> Indeed, quite impressive for a presumably "fully production grade" stack to score so hight. But is it me, or are there no fsharp listings in round 19?

<comment><USER14> Zebra is on there. Giraffe may be in there.

<comment><USER13> Strange, I can find zebra in the filter list, but not in the result list. (ff and chrome on Android).

</comment></comment></comment></comment><comment><USER15> I'm more interested in the fact that something called asp.net core is one of the five fastest, while asp.net not 'core' is the single slowest. What's the deal there? I dimly know that asp.net is a Microsoft thing, and remember it being used by a bunch of enterprise sites a decade or so ago...

<comment><USER16> ASP.NET Web Framework is the Windows only 18 yo Web Framework based on .NET Framework [https://en.wikipedia.org/wiki/ASP.NET](https://en.wikipedia.org/wiki/ASP.NET) It could run on Mono/Linux, but did so very slowly & buggy and possibly what the slowest benchmark was run on.

ASP.NET Core is the newer (complete rewrite, inc runtime), leaner cross- platform (Win,Linux,macOS) Web Framework that's built on top of the performance focused .NET Core runtime released in 2016 [https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet- cor...](https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core) They're only the same by name which is unfortunate, because it's completely new. It's the future runtime/platform for .NET and will be renamed to .NET 5 whilst the older .NET Framework will stay at v4.x (currently at v4.8).

<comment><USER17> > They're only the same by name which is unfortunate, because it's completely > new.

I certainly wouldn't say that. Full Framework .Net and .Net Core are _far_ more similar than they are different - they share a very large common base class library API surface in Net Standard.

A huge percentage of .Net MVC 3-5 (full framework) applications could be migrated to .Net Core MVC in a matter of hours to days.

You don't even have to specifically target .Net Core in a lot of cases - <USER2> included a compatibility shim so that libraries targeting full framework just work as long as they don't call any of the API's that were in full framework but are not in the Core runtime.

The main differences are in startup configuration of your web app and how you go about implementing cross-cutting concerns that might inspect or intercept every request - but even for a lot of common things like authentication there are similar extension points to what existed previously.

There are some particular technologies - like WCF Server or Linq2Sql - <USER3> are hard blockers if you were relying on them - but by and large moving from older full framework .Net to .Net Core is not that difficult and certainly doesn't require learning much new, especially fundamentals - it's mostly just some details of the web app framework.

<comment><USER16> ASP.NET Core was a rewrite. None of the previous .NET Framework or HttpListener HTTP classes or Abstractions are available in .NET Core which were rewritten to use newer HTTP Abstractions from scratch.

> The main differences are in startup configuration

It's definitely not the main difference, it may be what's immediately visible as a dev using it, but the entire Web Framework your App depends on is new. It's not a fork of an existing code base, it's a completely different one with the goal to retain the same development MVC & Web API model to preserve knowledge reuse & ease porting efforts.

The compatibility layers are just that, retrofitted to preserve compatibility & ease porting which is able to work through impl-free Reference assemblies with APIs they both share. Of course none of ASP.NET Framework System.Web is in .NET Standard, because it was rewritten.

The OSS code base for ASP.NET Core is at [https://github.com/aspnet](https://github.com/aspnet) whilst you can view source code of .NET Framework (which isn't OSS) is at: [http://sourceof.net](http://sourceof.net)

</comment></comment></comment></comment><comment><USER18> I really do like these TechEmpower Fortunes benchmarks. It has quite an extensive list of frameworks, languages, and configurations with throughput, latency (w/ SD), and errors.

I always check any lesser known framework to see which ballpark it falls into. I'm always surprised to see that so many of the popular frameworks are ~10x worse than the best--although many of those 'best' don't do as much processing. I'm much more likely to pay attention to the error counts, max latency, or SD (σ).

</comment><comment><USER19> I wonder how realistic/fair the code of some benchmarks is.

I just took some small peak at atix (because I happen to know it) and while first all looked fine it wasn't quite that realistic.

Mainly:

\- It uses a fork of tokio-postgres specific for the test (which differs in that Client is no longer send and it has a Unsafely soundness hole by wrongly using Unsafe Cell, and no Issue tracking enabled on, through replacing that cell with RefCell probably yield very similar performance)

\- Instead of using the default web::Json responder it uses simd-json (EDIT: explicitly encoding the data into a buffer instead of returning it wrapped in web::Json)

\- Uses snmalloc instead of the default allocator ([https://github.com/microsoft/snmalloc](https://github.com/microsoft/snmalloc))

Just to be clear besides the first point all of this is not unrealistic for a context where you want to highly optimize your server. But not how actix is used most of the time.

\---

Edit: Also just to be clear I didn't nit pick intentional on actix, it just happen to be the framework I'm more familiar with and especially using snmalloc for actix seems to be quite a reasonable idea.

EDIT2: The Unsefety unsoundness isn't triggered given the way this library is used, it's still there and would prevent this change from ever been merged upstream.

</comment><comment><USER20> Most of the time the framework is not in the top 10 bottlenecks of your application.

Optimize your webapp before hunting for the fastest frameworks.

<comment><USER21> I know this is a popular line of thought, but as someone who really measures things, it doesn't match my experience when it comes to _web_ server frameworks.

In web applications, apart from glaring mistakes such as N+1 queries, pretty much every bottleneck I had in production was due to slow serialisation, slow database abstraction or excessive CPU/memory usage due to language/framework. Also had issues caused by initialisation time. Saving 200ms or 300ms on each request can give you better user experience.

For growing startups, having a fast web framework gives you the choice to postpone doing complex horizontal-scaling for months, or even years. This saves money on the sort term and allows you to keep growing their products without having to worry about other things. The database can scale vertically in the meantime.

As for large tech companies: at my previous workplace there were two migrations in the span of two years because of performance issues. Hundreds of developers collectively agreed on changing the tech twice because of framework bottlenecks.

Of course you shouldn't go straight into a C++ framework when Rails becomes too slow for you, but people should know the tradeoffs of the framework they're using.

<comment><USER20> _Most of the time_ the framework is not in the top 10 bottlenecks of your application.

Believe me (or not) when I say that Amazon, among all FAANGs, could be the most data-driven, at least in the teams I knew, almost to an excess.

</comment></comment></comment><comment><USER22> On lithium's JSON parser, they describe:

"Only cases where the structure of the object is known at compile time are covered."

Numbers are impressive, but there are some big trade-offs that come with.

<comment><USER23> That depends exactly on what that sentence means. It is fairly unusual that you need to parse a JSON with unknown structure during any kind of speed- critical section.

My personal criticism is that C++ is usually (not always, though) the wrong language for implementing web-facing applications or APIs. There is a considerable advantage in terms of speed (when using the right framework) but there are so many things that can subtly go wrong in terms of safety and security that you need to be very, very careful when picking C++.

And I write this as a C++ developer.

<comment><USER24> It's fairly unusual that _today_ I don't know the structure of the JSON I'm parsing. It's not at all uncommon to want the server to do the right thing if I add keys to the object which it didn't previously care about, though.

</comment></comment></comment><comment><USER25> Link to the project : [https://github.com/matt-42/lithium](https://github.com/matt-42/lithium)

not obvious from a google search

</comment><comment><USER26> Offtopic: matt42 (or others); where do I learn modern optimization like this? I can optimize for cycles on embedded MCU's and older computers and I can optimize in .NET/JVM (and others) but are there any good sources for OS on modern metal optimizations? Besides reading the Lithium sourcecode ofcourse.

<comment><AUTHOR> I would say the profiler output is the best source of information. Lithium is not using black magic at all. Actually on large framework like lithium, performance problems come more from obvious errors that get hiden in the quantity of code than in code that you did not crazy optimize.

Only the profiler will tell you if there is a hidden malloc that is slowing down all the rest, or a inefficient datastructure, or ...

There is probably lot of non optimized code in lithium, it just has no impact (or if it has I still has to find it).

That said, for other kind of software (usually more CPU bound), going down to assembly or using SIMD can be the only way to get good perfs.

</comment></comment><comment><USER27> Anybody else's laptop activates their fans when visiting this?

<comment><AUTHOR> Me, the benchmark data is pretty slow to process.

</comment></comment><comment><USER28> Thanks to Google, The PHP Framework, Lithium will get some unwanted praise here.

</comment><comment><AUTHOR> I'm wondering why this post got suddenly removed from the front page...

<comment><USER29> People probably flagged it cause people hate benchmarks / dont trust them. I think they at least give us some indication about things on the other hand.

<comment><AUTHOR> arf. ok. It's probably the mods who unflagged it.

<comment><USER30> There is a comment by one of TechEmpower guys - this benchmark is not the official one and results should be taken with a handful of salt.

<comment><AUTHOR> This is the official continuous techempower benchmark, run by techempower on the exact same environment than the techempower "official rounds". The only diff I'm aware of is that there is more manual review and check for rounds than for continuous benchmarks. Here is more info about it here:

From [https://www.techempower.com/blog/2018/06/06/framework- benchm...](https://www.techempower.com/blog/2018/06/06/framework-benchmarks- round-16/):

We have already seen tremendous social adoption of the continuous benchmarking results. For selfish reasons, we want to continue creating and posting official rounds such as today's Round 16 periodically. (Mostly so that we can use the opportunity to write a blog entry and generate hype!) We ask that you humor us and treat official rounds as the super interesting and meaningful events that they are. Jokes aside, the continuous results are intended for contributors to the project. The official rounds are less-frequent snapshots suitable for everyone else who may find the data interesting.

</comment></comment></comment></comment></comment><comment><USER31> has there ever been a code created just specifically for this benchmark, in assembly language with everything hard-coded, just to see what the upper bound is ?

<comment><AUTHOR> Some framework are using raw sql requests to skip the overhead of the ORM but they are still slower (lithium's ORM has no cost at runtime anyway). Coding everything in ASM would be insane and increadibly hard to ensure that this is the optimal version.

<comment><USER13> Brings to mind:

"Rapid Web Application Server (in Assembler)":

[https://2ton.com.au/rwasa/](https://2ton.com.au/rwasa/)

Discussed on hn a few times as I recall:

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

(see also sshtalk):

[https://2ton.com.au/sshtalk/](https://2ton.com.au/sshtalk/)

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

<comment><AUTHOR> omg...

</comment></comment></comment></comment><comment><USER32> Wow, the difference between .Net core and .Net!

</comment><comment><USER33> just ahead of jooby and kooby

</comment><comment><USER34> 2x faster than the Actix Rust framework.

Rust, C++ just said "hi" to you again, it's on. Time to make Actix fast.

</comment><comment><USER35> Lithium is the fastest web framework among the frameworks that nobody use

Seriously why is this reaching the front page, who really care about such benchmark ?

<comment><USER34> Those who work on these frameworks, and those interested in http framework benchmarking.

Some of the ideas developed in these frameworks percolate down to the PLs that use them and to the libraries they use, which benefits everyone. These frameworks also test new language features.

<comment><USER36> Particularly the case with PHP and Zend from 5.0+ days. Are there other examples across other stacks?</comment></comment></comment>


Show HN: OhMyBet – AI predictions of professional tennis - <AUTHOR> https://ohmybet.com <comment><AUTHOR> OhMyBet! is an information service with AI-driven predictions of the outcomes of professional tennis matches given by machine learning algorithms not human experts. The core of the system is a self-improving predictive model which has been trained on more than 850,000 past tennis matches and is able to predict the winner in an upcoming match with 85% accuracy. What's more, it ensures maximum profitability of its predictions sorting out the tips with low odds. On a distance, this approach results in 12% ROI. OhMyBet! does all the analysis for users offering a mathematically-driven yet easy way to earn on tennis betting.

</comment><comment><USER2> So why sell this service? why not just getting money on a 5 to 6% interest rate and bet it all and get the difference between the 12% and the interest rate.

I'm very skeptical of these kinds of services

<comment><AUTHOR> The service is built mainly to evaluate the predictive model on the longer distance. If the ROI and accuracy do turn out to follow the 2015 performance, perhaps the experiment should be ended and used by the developers only. Another problem is that the bookies limit max stake amount in tennis to about $1000 per bet, so it's not a way to earn a fortune unless you use betting exchange. So now it's a kind of sharing another AI lifehack with the comminity.</comment></comment>


Why Coders Should Try Quilting and Origami - <AUTHOR> http://www.wired.com/business/2013/03/heroku-waza/ <comment><USER2> Life is a balance. It's important to disengage from the keyboard once in a while and use our hands to create. I agree that it is important to expand one's horizon with an array of skills, rather than having a single focus.

</comment><comment><USER3> Or bobbin/pillow lace-makeing.</comment>


Ask HN: Unsolicited snail mail? - <AUTHOR>

i've done the obvious--written to the DMA, clearinghouses, etc... and seen a temporary lull in crap clouding my physical mailbox, but then it seems to spike as i, like any person, buys shit, which seems to be an ok to resell my contact info all over again.
PaperKarma makes me feel better (not sure how well it works), but this seems to be a recursive loop/Sisyphean task.
Of particular concern are local circulars published by RedPlum.com and others. Often they have "current occupant" with all apartments in my building or similar or worse--no address block at all, which means what--the Safeway circulars show up in bulk at my local USPS sorting center and get stuffed into bags for distro?
I have taped notices in my mailbox notifying the postman I wish to not receive any unsolicited mail, but that doesn't do anything (in an ongoing loop with my mailman where I put unaddressed circulars into the mail drop in our building and they magically appear back in my mailbox).
Obviously the consumer (or one could say environmental or sanity) protection laws aren't meaningful for PRINT materials; they are actually more impactful for electronic media.
I do know that bulk mail gets discounted rate by accepting all returned mail, which also means I could attach a brick/lead weight to every piece of crap mail and it would be returned to sender, and sender charged. That's impactful if millions of americans do so, but i'm not looking to make a grass roots "send a tire to Safeway" campaign.
On first amendment grounds, do I not have negative freedoms (freedom FROM this kind of crap)? Other countries, like Holland, have sound solutions but no way that reasonableness will work here. <comment><USER2> > I have taped notices in my mailbox notifying the postman I wish to not > receive any unsolicited mail

This will do no good. The postman (actually, the whole postal service) is simply a "delivery" service. They have no rights to "edit" what they deliver (within reason, hazardous materials being one), which is as it should be, and why your request does no good.

> which also means I could attach a brick/lead weight to every piece of crap > mail and it would be returned to sender, and sender charged

No longer works, too many tried it: [http://www.straightdope.com/columns/read/566/can-i-mail-a- br...](http://www.straightdope.com/columns/read/566/can-i-mail-a-brick-back- to-a-junk-mail-firm-using-the-business-reply-envelope)

"According to rule 917.243(b) in the Domestic Mail Manual, when a business reply card is "improperly used as a label" — e.g., when it's affixed to a brick — the item so labeled may be treated as "waste." That means the post office can toss it in the trash without further ado."

While it is a subtle difference, at least with physical paper mail, the advertiser had to pay to produce and have shipped the item. With email spam, you have to pay for the privilege of receiving the email spam. So one thing to do is just keep your recycle bin handy, and just dump the unwanted items in the recycle bin.</comment>


Revealed: the environmental impact of Google searches - <AUTHOR> http://technology.timesonline.co.uk/tol/news/tech_and_web/article5489134.ece

<comment><USER2> If I had to pick the most preposterous part of this article, and I really hate to have to, it would probably be the end when people are decried as "polluters" because they use Twitter. Even if we forget marginal cost (which the article seems to do nicely), it is still absolutely asinine to poo-poo people for using "all that energy" to post tweets when they could "conserve" it.

If I stopped doing Google queries it would actually end wasting a lot more energy than it saves. I'd have to do things like drive to the library, buy books, call people on the phone to ask them questions, or just use some other sort of electronic medium to gain access to the information, which would likely require more energy since Google is quite energy-efficient when it comes to getting me close to relevant data. Likely all of these would result in more overall energy usage and whatever new scary environmental issue that causes this week.

Look, I am all about conservation of pretty much everything. I don't leave the water running when I brush my teeth and I turn the light off when I leave a room. I do this not because I feel like it helps the environment, but because there's just no sense in wasting energy or resources when I don't need to. Google, on the other hand, directly saves me an incalculable amount of energy and resources, not to mention time.

We're at a point where unsubstantiated worry about global warming causes people to do things under the guise of conservation which, when all the calculations are made, end up actually using more energy and consuming more resources than the thing they stopped doing.

</comment><comment><USER3> Yah right,

Say you are boiling .5 liter of water, or 500 grams of water. It takes 1 calorie to raise 1g of water 1 degree. So 20 degrees to 100 * 500 g = 40,000 calories = .05 kW/h * 14c per kW/h = .7 cents.

Can it really cost google .7 cents to do a search? I don't see how that can possibly be. I can't find hard data on how many searches are done on google, but it's about 1 to 2 billion per day. 1.5 billion * .7 cents = $1 billion per DAY - there is simply no way google is spending $300 billion for energy.

Even if you assume they are paying a lot less per kW/H it still makes no sense.

And if he is including the cost of my computer in his numbers (as he seems to imply, but doesn't say), then that's simply dishonest.

Edit: OOPS! Big messup on the final bit of math :( OK, I guess it's a lot more reasonable now. It's ~$3 billion per year, not 300. That's still a lot, but at least possible.

Any chance any of their financials with the SEC could shed light on how much they pay for energy?

<comment><USER4> _I can't find hard data on how many searches are done on google_

It's hinted in the article.

 _with more than 200m internet searches estimated globally daily_

Google has an 81% market share. Let's call it 170 million searches per day. 49 grams of CO2 are released per kWh. [http://blogsearch.google.com/blogsearch?q=Alex+Wissner- Gross...](http://blogsearch.google.com/blogsearch?q=Alex+Wissner-Gross+kwh) The article said that Google releases 7 grams per search, so that would be 1/7th of a kWh ~= 0.14 kWh.

Multiplying that by 170m searches/day = 24m kWh/day. At $0.10/kWh, that would be $2.4 million/day, or $886 million/year.

You figured $1 billion/day, but, besides using different assumptions, you incorrectly calculated 1.5 billion searches/day * .7 cents/search/day. It actually equals only $10.5 million/day.

[EDIT] walterk beat me by a minute to that final math correction.

<comment><USER5> How can there possibly be only 200m searches per day? I must use Google at least a hundred times daily, probably more. There's not even two million people like that already, in the whole Earth?

<comment><USER4> Here's more data. I think this is just for the U.S.:

<http://news.cnet.com/8300-1023_3-93.html>

 _Google's searches rose 21.7 percent, for 64.1 percent market share, and Yahoo's searches dropped 1.4 percent from November 2007, for 16.1 percent share.

Total searches for the month exceeded 8 billion, up 9.6 percent from a year earlier.

[...]

Correction at 5:50 a.m. Monday: This story had an incorrect total for U.S. searches in November. The total was 12.3 billion.

[...]

Google grabbed a chunk of market share from rival search engines in the United States in November, new figures from ComScore show. [...] The total searches performed dropped 3 percent to 12.3 billion, though, so even Google lost out in absolute terms even as it gained share._

-

Dividing by 30 days, that would be 410 million searches per day, in the U.S. For ~200 million internet users, that would be 2 searches per user per day.

</comment></comment></comment></comment><comment><USER6> Well, the _marginal_ environmental cost of me doing another Google search is pretty close to zero -- those servers are already running anyway.

How many requests/sec per server do you think Google handles? Then we can try to guess how many additional queries we would need to make for them to buy an additional server (causing higher power consumption).

<comment><USER7> >those servers are already running anyway.

The power plants are on anyway, I might as well leave my heat on and windows open.

<comment><USER6> Not the same thing.

The energy consumed by your home scales (roughly) linearly with usage. The energy consumed by a computer does not scale linearly with the number of http requests -- most of the energy is just to keep the machine up & running, with a minimal additional cost per request.

<comment> puzzle-out But more searches requires more servers in the first place.

<comment><USER6> Yes, but it's not linear. It looks more like a "step function." (<http://en.wikipedia.org/wiki/Step_function>)

If you currently use a heater for 1 hour/day at home, and then you turn it up to 2 hours/day, you do need about twice as much energy to power that heater as before.

However, if I make 100 additional requests today, Google doesn't need a new server. If everyone in the world makes 1% more requests, Google doesn't need a new server. So to try to calculate the cost of me doing _one_ additional search is perhaps slightly misleading.

I'm not saying there is no cost. I'm just saying that the cost is incurred in chunks, and not "per request".

</comment></comment></comment></comment></comment><comment><USER8> not so surprising, but an interesting comparison:

> "A recent report by Gartner, the industry analysts, said the global IT > industry generated as much greenhouse gas as the world's airlines - about 2% > of global CO2 emissions."

also, to answer my other question:

> opportunity cost is an interesting point. kind of connects with the 'living > in space' submission, not that space can support the life we can't support > on earth.

> "Wissner-Gross has also calculated the CO2 emissions caused by individual > use of the internet. His research indicates that viewing a simple web page > generates about 0.02g of CO2 per second. This rises tenfold to about 0.2g of > CO2 a second when viewing a website with complex images, animations or > videos.

> "A separate estimate from John Buckley, managing director of > carbonfootprint.com, a British environmental consultancy, puts the CO2 > emissions of a Google search at between 1g and 10g, depending on whether you > have to start your PC or not. Simply running a PC generates between 40g and > 80g per hour, he says. of CO2 Chris Goodall, author of Ten Technologies to > Save the Planet, estimates the carbon emissions of a Google search at 7g to > 10g (assuming 15 minutes' computer use). "

</comment><comment><USER8> snap. how long do i have to run my macbook for (say 50% cpu) to boil a pot of tea?

</comment><comment><USER4> Discussion of Google's response, here:

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


CERN Public Computing Challenge 2015 - <AUTHOR> http://test4theory.cern.ch/challenge/ <comment><USER2> "How should we make it attractive for them [young people] to spend 5,6,7 years in our field, be satisfied, learn about excitement, but finally be qualified to find other possibilities?" \-- H. Schopper

Potential missing staff in some areas is a separate issue, and educational programmes are not designed to make up for it. On-the-job learning and training are not separated but dynamically linked together, benefiting to both parties. In my three years of operation, I have unfortunately witnessed cases where CERN duties and educational training became contradictory and even conflicting.

[http://ombuds.web.cern.ch/blog/2013/06/lets-not-confuse- stud...](http://ombuds.web.cern.ch/blog/2013/06/lets-not-confuse-students-and- fellows-missing-staff)

Resolution of the Staff Council

\- the Management does not propose to align the level of basic CERN salaries with those chosen as the basis for comparison;

\- in the new career system a large fraction of the staff will have their advancement prospects, and consequently the level of their pension, reduced with respect to the current MARS system;

\- the overall reduction of the advancement budget will have a negative impact on the contributions to the CERN Health Insurance System (CHIS);

[http://cds.cern.ch/journal/CERNBulletin/2015/46/Staff%20Asso...](http://cds.cern.ch/journal/CERNBulletin/2015/46/Staff%20Association/2063669?ln=en)

The situation is equally difficult for postdocs trying to make the jump to a junior faculty position or a permanent job at a national lab. The Snowmass Young Physicists survey received responses from 956 early-career researchers, including 343 postdocs. But INSPIRE currently lists just 152 "junior" positions, including 61 in North America. And the supply of jobs isn't likely to increase, says John Finley, an astrophysicist at Purdue University in West Lafayette, Indiana, who is leading a search to replace two senior particle physicists.

Indeed, even while giving complete satisfaction, they have no forward vision about the possibility of pursuing a career at CERN.

This lack of an element of social responsibility in the contract policy is unacceptable. Rather than serve as a cushion of laziness for supervisors, who often have only a limited and utilitarian view when defining the opening of an IC post, the contract policy must ensure the inclusion of an element of social justice, which is cruelly absent today.

[http://staff- association.web.cern.ch/content/unsatisfactory-...](http://staff- association.web.cern.ch/content/unsatisfactory-contract-policy)

Pensions which will be applicable to new recruits as of 1 January 2012; the Management and CERN Council adopted without any concertation and decided in June 2011 to adopt very unfavourable mesures for new recruits.

[http://www.gac- epa.org/History/Bulletins/42-2012-04/Bulletin...](http://www.gac- epa.org/History/Bulletins/42-2012-04/Bulletin42-en.html)

precarity at CERN, aka cheap disposable temp labour w/o healthcare: [http://www.tdg.ch/geneve/actu-genevoise/suisse-prete- aider-e...](http://www.tdg.ch/geneve/actu-genevoise/suisse-prete-aider- employes-detaches-cern/story/15383927)

<comment><USER3> How is this in anyway related to the link?</comment></comment>


Ask HN: What's Your Net Worth? - <AUTHOR> Age 40. 2 Million with 400K mortgage. <comment><USER2> Age 23. $30 cash with $6k credit card debt.

<comment><USER3> Got you beat by 2 years and $100 cash

</comment></comment><comment><USER4> How do you calculate the net worth of yourself? Is it simply your assets - your debts or is there another way to do it?

<comment><USER5> That's all there is to it.

Assets - Liabilities = Net Worth

</comment></comment><comment><USER6> Since when did HN turn into /r/personalfinance?

</comment><comment><USER7> Age 35

Own house ($50,000 [sic]) no mortgage

0 debt

1k savings account

$50,000 in 401k

$40,000 in index funds

Was a math teacher until 3 years ago - now web developer & data scientist

</comment><comment><USER8> If you have 2 million net, why not pay off the mortgage?

<comment><USER5> Interest rate arbitrage. If you have $2M liquid net worth, you have access to investments that will perform much better than the ~4% you're likely paying on your mortgage. If I can make 6% on $400k vs the 4% I'm paying on said mortgage, why wouldn't I pocket that extra 2%?

<comment><USER9> Laws may protect your home from being seized to pay for a judgement against you.

Around here, all the doctors have big houses and nothing else. As soon as they pay off the house, they upgrade. The goal is to have the primary residence be the only significant asset. It's the one thing that can't be seized to satisfy a normal lawsuit judgement.

</comment></comment></comment><comment><USER10> Closing in on a billion.

Got 7 lambos.

</comment><comment><USER11> Age: 32

Net worth: ~1.5M USD, all invested in index funds

Happy renter, no mortgage</comment>


Agent 355 - <AUTHOR> https://en.wikipedia.org/wiki/Agent_355 <comment><USER2> 250 years later and still no-one knows who she was. Now THAT's how you spy.

<comment><USER3> Presumably the British knew who she was if she was imprisoned, right?

<comment><USER4> That's just a rumor though, as the article points out, there are major problems with the imprisonment story

</comment></comment></comment><comment><USER5> "Turn", the Netflix series is actually pretty good and covers the spy rings of the Revolution.

<comment><USER6> AMC series

<comment><USER7> May I ask what's AMC series?

<comment><USER8> "Turn: Washington's Spies", as mentioned by your GP: [https://en.wikipedia.org/wiki/Turn:_Washington%27s_Spies](https://en.wikipedia.org/wiki/Turn:_Washington%27s_Spies)</comment></comment></comment></comment>


Show HN: Steer – Get honest feedback from your team every week - <AUTHOR> https://www.newsteer.com/ <comment><USER2> Personally I think this is a failure in company culture. One on one's should be done face to face. Also if you're not cultivating a company culture where your reports can't speak up on anything with out retribution or fear, then something is wrong. I don't think this tool helps.

With that being said, looking at your landing page, its really hard to figure out how this works.

<comment><AUTHOR> I agree with you that F2F 1:1s meetings should not be replaced, when possible.

However, there are many benefits of doing Weekly Check-ins:

\- Many teams work remotely nowadays, with different time zones. It can be tricky to find a regular time for the 1-1s.

\- Some people prefer async communication instead of face-to-face meetings. Meetings kill productivity.

\- Managers and team members have everything documented and linked to actions through the time so effective follow-ups can be done.

Regarding the landing page, we're working on making a few videos to explain better how Steer works. Any other suggestion would be appreciated.

Many thanks for the feedback.

</comment></comment><comment><AUTHOR> Hey there!

I'm the Co-founder of Steer and the Maker of Transparent Startups.

This platform is 100% built with Elixir and the Phoenix Framework. I can proudly say it's a blazing fast application. I cannot be happier with the performance and productivity achieved with Elixir. I highly recommended it for your brand new projects. :)

I'd love to hear your thoughts.

Cheers, Rafa

<comment><USER3> Using a framework for thousands of real-time connections for weekly reports?

Seems like over engineering to the max. :D

On the other hand they call it the hipster stack, so well done, I guess?

<comment><AUTHOR> I disagree. Over engineering does not relate to a particular framework. In fact, you can over-engineer with any tech. It's the design of the system what defines that (e.g microservices vs monolith for a small web app).

It's a simple monolithic application with a relational database. Does this sound like over engineering? I don't think so.

It's actually the opposite. Which one seems like an overkill, Server A or Server B ([https://pbs.twimg.com/media/CngB1sfWIAAbOFi.jpg](https://pbs.twimg.com/media/CngB1sfWIAAbOFi.jpg))? ;)

<comment><USER3> So you're implying that a simple service that could be implemented with Sinatra should not be considered over engineered because the dev tried to hammer on the problem with Rails?

Background: Just today I read that DHH considered Phoenix pretty cool, but Rails is enough if you don't need the real-time features.

Anyway, of course you can build your services how you like and it's probably a lot fun to use Phoenix :D

<comment><AUTHOR> \- If I have to choose a Ruby tech, I would go for Rails, no Sinatra, no Padrino, nop. Whatever you think is simple now it will change in the future. So start with what you know well and has everything you might need, even if you're not using it now. I've seen many "small" services being rewritten in Rails for this reason and that's painful and a waste of resources.

\- Nowadays I have several reasons not to use Rails for new projects ([https://blog.jaredfriedman.com/2015/09/15/why-i-wouldnt- use-...](https://blog.jaredfriedman.com/2015/09/15/why-i-wouldnt-use-rails- for-a-new-company/)). But I actually I have more reasons to use Elixir instead ([https://medium.com/@kenmazaika/why-im-betting-on- elixir-7c8f...](https://medium.com/@kenmazaika/why-im-betting-on- elixir-7c8f847b58#.guroqbfmf)) ([http://blog.carbonfive.com/2016/04/19/elixir- and-phoenix-the...](http://blog.carbonfive.com/2016/04/19/elixir-and-phoenix- the-future-of-web-apis-and-apps/)). And yes, it's fun, incredibly robust and scalable. :D

</comment></comment></comment></comment></comment><comment><USER4> We use Gusto for payroll, and they offer a simple tool that does something similar, with no additional cost beyond what we already pay to Gusto. [1]

I looked at your site, but couldn't really see any feature list of what it actually does, or why it is better.

[1] [https://support.gusto.com/hc/en- us/articles/235063588-Survey...](https://support.gusto.com/hc/en- us/articles/235063588-Survey-your-employees)

<comment><USER5> Hi! Jose, co-founder of Steer here.

Gusto is an amazing and complete HRMS platform (payroll, benefits, holidays, onboarding, etc). We're more in the Performance Management System space ([https://blog.newsteer.com/what-is-a-performance- management-s...](https://blog.newsteer.com/what-is-a-performance-management- system-fc5855f10890#.cm359b6x5))

What Gusto have is an "Employee Happiness survey" feature. Every month you can ONLY ask this one single question: "How happy are you at work this month?" And your employees answers with sad/happy face. It's the same concept than NPS (Net Promoter Score), but for internal happiness.

With Steer we want to go further, and our goal is to help managers become leaders rather than micro-managers.

We help Managers create weekly conversations with their employees, so they can get and give feedback, know instantly where the roadblocks are, give visibility to everyone and congratulate when the job was done great. Everything without being constantly looking over employee's shoulders.

In terms of features, with Steer you can:

\- Select the cadence you want (weekly, bi-weekly, monthly).

\- You can ask the questions you really want to ask (or choose from our powerful question bank).

\- Reply employee's questions and manage all the history from everyone in your team.

\- Have beautiful analytics dashboard.

Hope it helps, but feel free to contact me in case you need more information!

</comment></comment><comment><USER6> 5USD per employee per month? Don't you think this is way too much?

<comment><AUTHOR> Why do you think is too much? Competitors range between 5 and 15 USD/mo/user. Some even more for Enterprise features, which we still don't have.

<comment><USER6> Lets suppose that I am CEO of company with 100 employees.

This will mean that just for the application for collecting feedback I will need to pay 500 USD per month (6000 USD yearly).

What about other crucial apps needed to run the company?

I think it might be cheaper to write such a application independently.

<comment><AUTHOR> At the end, it will cost you a lot of money if you decide to build your own Performance Management System or any kind of SaaS application which is not the core of your business.

Please read this article "Build vs. Buy", I cannot agree more: [https://blog.baremetrics.com/build-vs-buy-how-to- blow-100-00...](https://blog.baremetrics.com/build-vs-buy-how-to- blow-100-000-saving-money-a743e4c62848#.at9mdgpyd)</comment></comment></comment></comment>


Developer: iPad app store rejects 'widgets or their own desktops' - <AUTHOR> http://www.theregister.co.uk/2010/06/01/apple_boots_widgety_apps_from_app_store/

<comment><USER2> Two thoughts:

1\. This is bad. I'm as much of an Apple apologist as any other half-sane person could be, but this is bad. There was no way to see this coming.

2\. Apple is clearly angling to introduce their own widgety thingie to iPad OS 4.0, due in September. It would be stupid not to do that for them, and now that they aggressively cull the other widgety apps it's kind of an evidence.</comment>


An AI at Yelp deleted their entire app code base - <AUTHOR> https://mobile.twitter.com/GoShubh/status/1085255465804722177 <comment><USER2> I was pretty sure that was supposed to be humor, not real. Also, high five to Yelp for not just putting the same tired old stuff in the notes for each release like so many others do. I'd rather read something short and amusing than "Bug fixes."</comment>