BizDev people do have a function at hackathons - <AUTHOR> http://www.charlottehan.com/post/37128734412/a-hustlers-guide-to-the-worlds-largest-hackathon

<comment><USER2> I think a telling part of this post is where she almost expresses surprise that people were staying up all night to hack. I think that explains a big part of why biz-dev people are sometimes seen as 2nd rate citizens.

I have some good friends on the sales side of things and they invariably leave the office at 6 and do fun activities, go to the bar etc. They seem quite puzzled that I would turn down invitations to go out in favor of learning new skills and building cool stuff.

In a business that's all about building and shipping products no matter what it takes, and at an event that is about shipping products in a very short time, it is not surprising that a biz dev person would be seen as somewhat superfluous. I'm sure the engineers at the hackathon were quite happy to have her make a powerpoint and get some beers though.

<comment><USER3> Point taken, although I think a telling part of this comment is where you think I'd be getting beers for engineers. I shouldn't have to tell you how that makes you look.</comment></comment>


When it comes to password security, Greyhound.com is truly awful - <AUTHOR> https://arstechnica.com/security/2017/05/when-it-comes-to-password-security-greyhound-com-is-truly-awful/ <comment><USER2> Wow, a comment on that article describes a case that's far worse :S Involves SSN/SIN and fixed-number PINs in the clear.

" Would you consider doing a story on [https://borrower.ecsi.net/](https://borrower.ecsi.net/) ?

Same thing, your password is an unchangeable 5-digit PIN that they email to you in plain-text. But your username is your SSN. And you can't get rid of your account until you pay off your student loans.

Fortunately they're not vulnerable to SQL injection, as far as I could tell. I really wanted to email them their entire list of SSNs / passwords. "

N-digit pins on online sign-ins for universities are similarly awful and super common. To boot, they often have username = email@example.com, so brute-forcing a target's password can be done on a laptop in short order.

</comment><comment><USER3> American Express is also quite bad in terms of what characters are permitted to be used in passwords. However, Greyhound is out of this world in this case.</comment>


Ask HN: How do you deal with missing out on the Facebook money train? - <AUTHOR>

Like many folks on here, I've had opportunities over the years to join Facebook as an engineer. The first was ~3.5 years ago, and many times since.
Unfortunately for me, I declined each time. Instead, I chose to go the entrepreneurial route. I love what I do, and I've built something users love. It makes money, but nowhere near what it needs to for me to see a big payout. I draw a modest salary, and although I'm not struggling to pay bills I could obviously use more money.
Many friends I worked with ended up going to Facebook, and will see windfalls soon. Most won't need to work for the rest of their lives. Some will forget me and other friends who didn't 'make it'. Some will still remain friends. I wish only the best for them - they've worked hard and deserve every bit of their success. I hold no ill-will towards them.
But I will forever have to live with a "what if..." in my life. A few million dollars go a long way in changing around your life.
There are many ways to rationalize decisions of the past. I've read the post by the guy who didn't accept the offer from Instagram before their huge exit. I don't feel the same way, but then I don't know if I would've done things differently if I had a chance to go back. I learnt a lot, got a ton of experience and built skills I couldn't have at Facebook. I can't rationalize that being worth a few million bucks though. I'm conflicted, and I need to talk about it because it distracts me from what I need to get done.
I'm sure there are others like me. What do you guys think about when you think of such missed opportunities? <comment><USER2> _A few million dollars go a long way in changing around your life._

Knowing a few people with a few million dollars, one of the things they'll confide over drinks is how much less it changes your life than you would think. Unhappy families with a million dollars are unhappy families. Sick parents with a million dollars are sick parents. Seeing the Avengers with your kids with a million dollars is seeing the Avengers with your kids. (Flipside: Maybe it is just a reflection on the kind of people I'm likely to know, but four separate people have told me that the thing that really freaking rocks about being a millionaire is that you can easily swing a cleaning service coming by and doing the whole house every single week.)

I sometimes think about how things could have shaken out differently. I went to a fairly good school and many of my classmates went into management consulting or finance. A good deal of them wondered why I didn't. (Neither option was ever really on my radar screen. I think if you had asked me in college "Sketch out how you, Patrick, would get a job at McKinsey" I would have been literally incapable of answering that question even though the answer was probably "Put on your debater suit and talk to the recruiter from McKinsey.") They have fairly predictable career trajectories and are now hitting 30 right as I do. I was raised to never talk about money, so I don't, but if I were guessing I'd peg many of them for low seven digits millionaires.

This would have been mildly irksome to me if I were still a salaryman (less for envy over their conditions and more for still being a salaryman), but since life is pretty rocking right now I don't give it too much thought.

<comment><USER3> I think you slightly underestimate the degree to which that can change your life. When the average American lives paycheck to paycheck, having tens of thousands of dollars in checking account means that you simply don't have to worry about things like treating your kids and their friends to a movie and popcorn. You can buy things other people would see as a great luxury (e.g. transpacific plane tickets) without batting an eye. You don't need to worry about going to a job you hate because you ultimately don't need it.

What money buys you is freedom. If you've got a few million in the bank, provided you don't spend it recklessly, you've got yourself a middle-class lifestyle for the rest of your life. That's freedom from a lot of worries that the average American is perpetually troubled by. Sure, you can blow it and have one hell of a decade, but I respect the average HN'er enough to assume that's not what was meant.

<comment><USER4> But we're comparing a software engineer, who hopefully doesn't live paycheck to paycheck, to a Facebook engineer, who presumably will make a couple million dollars in 6 months.

<comment><USER5> Assuming both of those people are 30, one of them can retire comfortably for the rest of his life. The other will likely work for at least another ten years.

How much do you value ten years of your life?

</comment></comment></comment></comment><comment><USER6> They've worked hard for what they have - and I think it's good to give them that credit. But - well, sometimes I think you have to accept where you are and see the strength it holds.

When I was a kid, my dad used to tell me a story about a guy he knew in college who always got easy A's, and spent the rest of the time partying. He told me that for a long time he felt envious, but after a while he realized this was just who he was; he had to work for every bit of what he got, work to do well on every test, but that work he put in was part of its meaning to him. In some small way, it meant more to him because he worked so hard for it.

Somebody here said [1] that, if you'd been at Facebook for the IPO, you'd spend the rest of your life wondering "what if?" Your friends who are there worked hard for what they've got, I'm sure - but if I were in their position, it'd be very difficult for me not to wonder about it. I'd wonder if I just got lucky, if I just was in the right place at the right time, if it had anything to do with me or if it was just that I happened to join that one company with the hundred billion dollar IPO.

You don't have to wonder. You built it with your own hands, and you sweated for what you have. Sure, it would be fantastic to see a windfall like that, and your friends will see lots of benefits from it, but _your_ prize is knowing that every single dollar you make and every great thing you build, you yourself worked to achieve.

There's an ancient Greek saying: "Great things are never easy." Even if they don't bring you big payouts, I don't think you have anything to regret if you can look back and know you worked hard to do great things.

[1] <http://news.ycombinator.com/item?id=3974928>

</comment><comment><USER7> >"I can't rationalize that being worth a few million bucks though."

The skills and experiences are worth more than a few million dollars.

>"I love what I do, and I've built something users love."

You have a success story, don't sit on it and just wish for the best things to happen to you. Keep shipping. Keep building side projects. Keep learning new things.

Following the IPO there will be many people who have cashed out and will look at the general investment market (equities/bonds/fx) and decide that they'd rather roll the dice and invest in what they know: startups. Keep networking, keep up past relationships, and don't burn bridges unnecessarily. When you're ready to raise funds for a project that needs outside capital, you want to have a black book full of names and numbers of people that have the wealth and connections to get you funded.

There will always be opportunity costs to every decision you make, stop thinking about the "what-ifs" of the past and start thinking about the "what- ifs" of the future, based on what you do today. Then get to work building that future.

</comment><comment><USER8> Missed opportunities are a success indicator. For example, who has more missed opportunities, Peter Thiel or a homeless person?

You could have been born in Africa and lived your entire life surrounded by poverty. I promise this is better. Congratulate them. This is your opportunity to learn to overcome envy. Think of how much more powerful your network is about to become.

Many of the people who work at Facebook will never make money again. Which is actually a lot more depressing than your situation. They need to live with the fact that the most important thing they ever did in their lives was walk into the right job. They know full well that Facebook would have succeeded just the same with or without them.

</comment><comment><USER9> > But I will forever have to live with a "what if..." in my life.

This is going to happen many more times in the future, with work and family and health. Sometimes it'll be about more important things than money. How you deal with it today will set the tone for how you'll deal with it in the future. You'll be one step ahead of those who haven't had to deal with this, and their millions won't help them then.

</comment><comment><USER10> I worry less about the missed opportunities to join Facebook.

I worry more about the impact this sudden injection of cash into the local economy is going to have on the rest of us (a group most economists would call "the middle classes").

What we're about to see is going to be an example of micro-economy inflation.

Don't expect any deals when you go to buy a car next year - the dealership will have more than met their sales target and have a steady flow of Facebook stock holders coming through their door. House prices will shoot up too, although I'm not in the market to buy a house so that worries me less.

At a micro-economy level, local bars and restaurants in Soma, Mission, Pac Heights and other places popular with Facebook crowd _(note how many FB busses their are in these areas at commute time)_ will no doubt try to charge more and probably get away with it.

I actually can't quantify how many people are getting made by the FB IPO but I reckon it's enough to have some local impacts on the rest of us.

<comment><AUTHOR> Good thing I don't live in the SF Bay Area. I would be way more regretful if I lived there, 'coz it would be a double blow.

</comment></comment><comment><USER11> Despite how much money is glorified in our culture, its a relatively ho-hum thing after reaching a certain point. I am definitely not mega-wealthy but I've reached a point where I've realized how little potential it has to make me more happy than I already am.

Having money presents an opportunity to achieve more happiness but it has dramatically diminishing marginal returns in my experience. In fact you'd be amazed at how many people use it to do something that inevitably makes them less happy.

To put things into perspective, everyone has limited time here on earth. Money is a small component of how good that experience is.

</comment><comment><USER12> I think about how awesome are the problems I get to solve every day, how much php sucks, and how much I really don't care about getting people to push the like button more times in a day. I do fine on a day-to-day basis, I'm paying off my debt. I value the time I enjoy at work much higher than a couple million that I'd probably just blow on nonsense anyway.

</comment><comment><USER13> If you had joined them, you'd also be wondering "what if" you had stayed and worked on your startup, especially after seeing Instagram's sale: "what if that was my startup"? Now you know.

</comment><comment><USER14> You're an entrepreneur whose job is to build things for people and you live a comfortable lifestyle.. do you have any idea how many people around this world would kill to be in a position like you? I don't see why anyone (including yourself) should feel sorry for you. Life doesn't owe you anything and here you are moaning about a little more money in the bank. If you keep living in regret and under the shadow of your past, you'll never live up to your full potential; then in the end you'll realize how much time you wasted getting hung up on money when you should have been enjoying life doing the things you love.

</comment><comment><USER15> 1\. Any "friend" that forgets you because you didn't "make it" isn't a friend in the first place and isn't worth keeping around as one (as much as I hate to burn bridges altogether).

2\. There is no point in regrets and asking "what if". Better to focus your energy in putting you best foot forward and figuring out what you want to do next base on what you feel is best for yourself. I'm confident many people, if not everyone, has had opportunities they've passed on in their lives but its not worth dwelling on. Easier said than done for many, however, but you should still try to move forward.

</comment><comment><USER16> I'd be willing to bet that the average Facebook engineer isn't going to be stellar at putting those millions of dollars towards extra personal happiness. They will buy material possessions, not necessarily life experiences.

If you take a couple weeks to travel and meet young twentysomethings hopping from hostel to hostel, working for a week here and there to gather enough money to go to the next city, cleaning the bathrooms just for a free bed that night, you'll see that they are probably achieving greater happiness with a few thousand dollars than the average FB engineer will with millions. The happiness multiplier per dollar they spend is insanely high, I suspect, compared to what the average millionaire in the valley will get.

I'm not saying that the solution for everyone is to go hostel-hopping in Europe, but given that it is possible to be happy with thousands of dollars, you should look for the experiences that will make you most happy. Is going hiking on the weekend more fulfilling if you drive there in a fancy car? Is a board game with friends more fun in the living room of a $5 million dollar home?

There are folks who are far less fortunate than you having a lot of fun in life. I think that if you give it some thought and try to maximize your happiness per dollar spent, you will find yourself less envious and perhaps even envied.

</comment><comment><USER17> I'm ruthlessly anti-nostalgic, so that helps.

I've had a few people ask me things like, "What do you think your life would be like if you had decided to pursue X instead?" I can't even process the question. How could I know? That type of thinking is pure fantasy to me. Every outcome in our lives, even the seemingly simple ones, have nearly infinite branching opportunities. To engage in the thought process of rewinding, changing one small detail, then fast forwarding to some imaginary reality is just... fantasy. I might as well spend the time imagining flying through the clouds in my hover car.

</comment><comment><USER18> Wow.. I'm ignorant.. but if you joined 3.5 years ago, you'd have millions right now? Really? Is that the norm or exception? Geez... that's just 2008... I would understand 2005 when they were in a huge growth phase.

Either way, I know it's hard to emotionally know this, but I once had a phase in my life where I was making lots of money for a couple of years. To the point where I am sort of financially independent right now. But I was horribly depressed because I had very little friends, and no authentic relationships. It felt quite empty. So money really isn't everything.

<comment><AUTHOR> About your first point: a friend who joined in April 2009 and is now Engineering Manager says he stands to make about $10M if the valuation of $100B persists when he gets to sell.

I do often think about the non-monetary aspects of my life, and feel better knowing I'm not in terrible shape socially or financially. Thing may or may not have been similar on the non-financial front had I worked at FB - obviously, I'll never know.

</comment></comment><comment><USER19> I turned down a job w/Microsoft in the early 90's with great options. Interestingly enough, they kept calling me back - I really got the impression it wasn't that they really wanted me, it was just that they were curious about someone turning down their job offer.

Anyhow, I gnawed on this for some years, calculating what the options would have been worth, but I finally let it go when it go to be around 5m.

Anyhow, cry in your beer a little bit and move on.

</comment><comment><USER20> Don't ever look backwards, it's a waste of time.

Learn the lessons of your misses and take them with you.

If you were recruited multiple times to join FB you are going to continue to have great opportunities.

If you're inspired by the idea of valuable stock go build a list of what you consider to be the top 5 start-ups with traction.

Then find a way to engage them.

Even if you missed on FB, you can still catch the crazy-money boomerang and pull out MILLIONS in the next 3 - 5 years.

Heck, write a blog post lamenting your FB miss and weave it to talk about your credentials.

<comment><USER21> "Don't ever look backwards, it's a waste of time. Learn the lessons of your misses and take them with you."

Sometimes, for me at least, it takes months or years of reflecting on the past to learn from a mistake. Looking backwards can be healthy too.

</comment></comment><comment><USER22> It sounds like you're dealing w/ the perceived loss of a potential significant amount of cash.

<http://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model>

> I need to talk about it because it distracts me from what I need to get > done.

Therapists are available to help work out these kinds of issues.

</comment><comment><USER23> A dollar is not a dollar is not a dollar. It matters to me how I make my money. Getting lucky by winning the employee lottery at a hot startup is much less meaningful to me than making a large (but lesser) sum through a startup. If all you care about is racking up zeros in your bank account, then yes you missed out on FB. If you care about other things, then you're probably ok.

</comment><comment><USER24> There was a quote from someone, "Find something you enjoy doing and you'll never work another day in your life." ... maybe your friends are technically richer, but for them it might be just a job, whereas you actually enjoy what you do and get the sort of satisfaction from it that money can't buy.

</comment><comment><USER25> Don't worry about it. It's not clean money. FB is not clean with its pedophilia, hate groups and soul destroying addictions and who knows what else goes on. You won't be on the street anyhow, will have sorted out your friends and have your conscience intact.

</comment><comment><USER26> Who you are right now is a product of that decision.

<comment><AUTHOR> Of course. That doesn't mean I can't regret or think about decisions of the past, right?

<comment><USER26> At that moment in time, did you know FB stock was going to be worth so much?

No. You didn't know.

Nobody knew.

</comment></comment></comment><comment><USER27> Should we expect an Occupy Facebook gathering later this week?</comment>


Blockchain could bring electronic voting to Australia by 2017 - <AUTHOR> http://www.techrepublic.com/article/blockchain-could-bring-electronic-voting-to-australia-by-2017/? <comment><USER2> It's clear from initiatives like this that the people coming up with these ideas either don't understand why our current voting system exists, or don't understand the technical challenges digitising them.

The only way that an online voting system could work safely is if every vote was anonymous, as well as being stored in an immutable ledger.

However, you'd also need to make sure that nobody could vote twice, so you'd have to mail to everyone in the country (similar to the census) a UUID that would serve as their token. And due to the fact that votes need to be secret and that the postal system could be manipulated, you would have to provide a service for people to get their UUID in person. Once you have that UUID, it must be stored such that there is no link to the person who's UUID it is.

Then and only then could you actually get close to having a safe voting system (with public oversight). However, there are still the usual problems of how do you get a copy of the software securely, is the software going to be free software, how will the software be audited, who will host it and mirror it, etc.

The great thing about Australia's voting system (and any paper voting system in fact) is that it is decentralised. If a single voting center screwed up your votes, none of the others are affected. If an online voting system has a bug, then potentially every vote is in danger.

</comment><comment><USER3> Given the ongoing mess that was the onlineification of the 2016 census, I don't think anyone (the people or the government) would have any interest in this.

The Australian election system is pretty damn good, and very trustworthy, because it works with pencils, papers, and lots of eyes on the ballots and the counters.</comment>


Broken Link Hijacking – How expired links can be exploited - <AUTHOR> https://edoverflow.com/2017/broken-link-hijacking/ <comment><USER2> Just confused! using no-follow link tag can also pass the information to another end?</comment>


Practical Guide to PostgreSQL Optimizations - <AUTHOR> https://tech.lendinghome.com/practical-guide-to-postgresql-optimizations-d7b9c2ad6a22#.d4s9e879m <comment><USER2> The work_mem section is incorrect. The article says the configuration is per worker, but it's actually per operation which requires work_mem... any given worker can have multiple operations running in parallel. So actually getting a good, but safe, value is more sensitive than the article suggests.

[https://www.postgresql.org/docs/9.5/static/runtime-config- re...](https://www.postgresql.org/docs/9.5/static/runtime-config- resource.html#GUC-WORK-MEM)

 _work_mem (integer)

Specifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. The value defaults to four megabytes (4MB). Note that for a complex query, several sort or hash operations might be running in parallel; each operation will be allowed to use as much memory as this value specifies before it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, and hash-based processing of IN subqueries._

<comment><USER3> It's not the only section that's incorrect. The effective_cache_size is wrong too, shared_buffers is misleading (e.g. new PostgreSQL versions are not subject to SysV kernel limits), and so on.

The recommendation to set low checkpoint_segments during restore is a bit strange. Also, not a single word about checkpoint_timeout (when the configuration should aim for timed checkpoints in the first place).

Haven't read further.

<comment><USER4> Do you have a recommendation of a similar type of post that has correct information? I'm just getting into PostgreSQL so I don't know what the best resources are.

<comment><USER2> I would say this is my favorite resource.

[https://www.packtpub.com/big-data-and-business- intelligence/...](https://www.packtpub.com/big-data-and-business- intelligence/postgresql-90-high-performance)

Note that, as published, it's a bit dated, but by and large much still is applicable even today. Once you learn the basics the PostgreSQL docs and release notes can catch you up to what's different.

</comment></comment></comment></comment><comment><USER5> I recommend following Christophe Pettus - PostgreSQL Proficiency for Python People - PyCon 2016 video for postgresql basics and optimization

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

<comment><USER5> Here is the self notes from the video:

1)for debian use: pg_createcluster instead of initdb

pg_createcluster 9.5 main -D /data/9.5/main -E UTF8 --locale=en_US.UTF-8 -- -k

[https://wiki.debian.org/PostgreSql](https://wiki.debian.org/PostgreSql)

[https://makandracards.com/makandra/18643-how-the-change- the-...](https://makandracards.com/makandra/18643-how-the-change-the-locale- of-a-postgresql-cluster)

2) Create a separate database volume partition for data. do not put version number in the mountpoint (/data, not /data/9.5) then create a folder with version number EXT4 or XFS for filesystem (ZFS is extra for experts) EXT4 on average a litter faster than XFS but standard deviation is higher than XFS

3) postgresql.conf - most server settings pg_hba.conf - who gets to log in to what databases?

4) Important parameters:

      a) Logging

      b) Memory

      c) Checkpoints

      d) Planner

5) log use csvlog format [http://cheng.logdown.com/posts/2016/04/08/enable- logging-in-...](http://cheng.logdown.com/posts/2016/04/08/enable-logging-in- postgresql)

[http://bonesmoses.org/2014/08/05/on-postgresql-logging- verbo...](http://bonesmoses.org/2014/08/05/on-postgresql-logging-verbosity/)

log_destination = 'csvlog' logging_collector = on log_min_duration_statement = 250ms log_checkpoints = on log_lock_waits = on log_temp_files = 0

[https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Serv...](https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server)

6) shared_buffers (cache for data) Sets the amount of memory the database server uses for shared memory buffers. Below 64GB set to %25 of total system memory above 64GB set to 16GB

7) work_mem (affect slow joins) Specifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files. The value defaults to four megabytes (4MB). Note that for a complex query, several sort or hash operations might be running in parallel; each operation will be allowed to use as much memory as this value specifies before it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, and hash-based processing of IN subqueries.

Start low: 32-64MB. Look for 'temporary file' lines in logs Set to 2-3x the largest temp file you see. Can cause a huge speed-up if set properly! But be careful: It can use that amount of memory per planner node.

8)maintenance_work_mem (integer) Specifies the maximum amount of memory to be used by maintenance operations, such as VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY. It defaults to 64 megabytes (64MB). Since only one of these operations can be executed at a time by a database session, and an installation normally doesn't have many of them running concurrently, it's safe to set this value significantly larger than work_mem. Larger settings might improve performance for vacuuming and for restoring database dumps.

Note that when autovacuum runs, up to autovacuum_max_workers times this memory may be allocated, so be careful not to set the default value too high. It may be useful to control for this by separately setting autovacuum_work_mem.

* 10% of system memory, up to 1 GB. Maybe even higher if you are having VACUUM problems.

9) effective_cache_size effective_cache_size should be set to an estimate of how much memory is available for disk caching by the operating system and within the database itself, after taking into account what's used by the OS itself and other applications. This is a guideline for how much memory you expect to be available in the OS and PostgreSQL buffer caches, not an allocation! This value is used only by the PostgreSQL query planner to figure out whether plans it's considering would be expected to fit in RAM or not. If it's set too low, indexes may not be used for executing queries the way you'd expect. The setting for shared_buffers is not taken into account here--only the effective_cache_size value is, so it should include memory dedicated to the database too. Setting effective_cache_size to 1/2 of total memory would be a normal conservative setting, and 3/4 of memory is a more aggressive but still reasonable amount. You might find a better estimate by looking at your operating system's statistics. On UNIX-like systems, add the free+cached numbers from free or top to get an estimate. * Set to the amount of file system cache available. * If you don't know set it to 75% of total system memory free -m

</comment></comment><comment><USER6> simple tool: [http://pgtune.leopard.in.ua/](http://pgtune.leopard.in.ua/)

<comment><USER7> Interesting! Thanks for posting this.

</comment></comment><comment><USER8> SHMMAX basically stopped being an important factor in PostgreSQL 9.3 (released almost 3 years ago) and later.

</comment><comment><USER9> I'm currently reading "Designing Data-Intensive Applications" by Martin Kleppman and it has an interesting chapter on database storage engines, including PostgreSQL (e.g. B-trees chapter). I would definitely recommend if you'd like a high level overview of how things work under the hood (it's a good mix of theory and practice). It also helps understanding why and when optimisations work.</comment>


Thoughts on Alibaba Bubble - <AUTHOR> http://battellemedia.com/archives/2014/09/thoughts-on-alibaba-bubble.php

<comment><USER2> If there is a bubble in anything now it is in fear of bubbles.

Some of his arguments have merit (corrupt Chinese government as a source of risk) but other ones are ridiculous. A "pop at the IPO" is something that happens in bull markets, and doesn't mean we've hit 1999 excess. Also, I have been to the Alibaba site and it is a real thing.</comment>


Satifer is building the platform for Open Science (we're hiring) - <AUTHOR> http://satifer.com <comment><AUTHOR> We are developing the future of reading and writing academic publications.

HN attracts a talented audience. Let us know at firstname.lastname@example.com if you're interested in our work.

We welcome any questions or suggestions - we're looking for insightful discussion, not just employees!

Particularly: Scientists who feel strongly about peer review services and commentary. Researchers who feel their time searching through stacks of papers could be better spent (or streamlined). Scientific journalists.

We are also looking for experienced data scientists and software developers ([https://angel.co/satifer](https://angel.co/satifer))

*We have started a weekly email list where we will cover topics related to the current state of publications r/w in what we hope are thought-provoking mini-essays.

\- Satifer Team, satifer.com</comment>


Legally Binding vs Plain English ToS - <AUTHOR> http://blog.codepen.io/terms-of-service/

<comment><USER2> "The last thing we plan on doing is shutting down." If they go out of business -- as many startups do -- this will be ironically prophetic. Or maybe prophetically ironic.</comment>


Network Stack Specialization for Performance [pdf] - <AUTHOR> http://www.cl.cam.ac.uk/research/security/ctsrd/pdfs/201408-sigcomm2014-specialization.pdf <comment><USER2> This concerns me...

>Finally, we evaluated whether Sandstorm handles high packet loss correctly. With 80 simultaneous clients and 1% packet loss, as expected, throughput plummets. FreeBSD achieves approximately 640Mb/s and Sandstorm roughly 25% less. This is not fundamental, but due to FreeBSD's more fine-grained retransmit timer and its use of NewReno congestion control rather than Reno, which could also be implemented in Sandstorm.

Which tells me an attacker can disable your infrastructure more easily with the high performance custom stack by sending specialized malformed data. If you're even thinking about putting a custom stack on the net, its worst possible performance should be the same as low performance stack you're replacing it with.

An attacker always targets the weakest point.

<comment><USER3> Sorry but that's a pretty pedantic takeaway. This is high quality academic research at the forefront of CS/Systems Research, not a fancy bubbly website mandating you stop using nginx right now and switch to sandstorm. A "real" system would conceivably converge to be as good as kernel stack, and there are already projects like [https://github.com/pkelsey/libuinet](https://github.com/pkelsey/libuinet) and [https://github.com/rumpkernel/netmap- rumptcpip](https://github.com/rumpkernel/netmap-rumptcpip) where you can share kernel code.</comment></comment>


Mysterious radio signal from space seems to have suddenly vanished - <AUTHOR> https://www.newscientist.com/article/2229019-mysterious-radio-signal-from-space-seems-to-have-suddenly-vanished/ <comment><USER2> What a clickbait nonsense headline.

From the article: `[I]t is more likely that the telescope can't detect the FRB's wavelengths or that any bursts it emitted while Oostrum and his colleagues were observing were just too dim to see, says Jason Hessels, who is also at the Netherlands Institute for Radio Astronomy but wasn't involved in this work. "Just because you don't see anything at this time with this telescope doesn't mean there's nothing to see," he says.`

</comment><comment><USER3> Imagine you are in a dark room with a friend, they stop talking, you're in shock, they have vanished, then they start talking again and you're like, oh, they didn't vanish, they just stopped talking, it's that kind of vanished...

"it is more likely that the telescope can't detect the FRB's wavelengths or that any bursts it emitted while Oostrum and his colleagues were observing were just too dim to see, says Jason Hessels,"

</comment><comment><USER4> When I see these articles, my first thought is, how are they so certain that they aren't getting chatter from classified satellites? e.g. X-37 flies an erratic mission profile, which could completely explain the intermittent nature of their signals. Who's to say there aren't undocumented higher orbit spy platforms?

Radiotelescopes are necessarily large and, afaik, all terrestrial as a result.</comment>


What Makes .NET Core So Special? - <AUTHOR> https://www.blog.jamesmichaelhickey.com/What-Makes-NET-Core-So-Special-Why-You-Should-Use-NET-Core/ <comment><USER2> I'm in the process of porting a bunch of go code to dotnet core 2.1 on AWS lambda. I'm on a Mac using vscode. I never installed mono, just the dotnet sdk.

Honestly, I've been amazed at how good the tools have been. For cli and serverless dev, it's been surprisingly great. It's fast. C# is decent. The cold starts are not as fast as go, but not terrible. Memory usage is low.

It's been a legitimately positive experience. When I started the port I was skeptical, but it is legit cross-platform. I would consider starting a project in it for lambda... I never thought I'd say that about a MS product.

Something over there is different, and I suppose it has been for awhile. I think it could get a lot more popular as non-ms devs realize that MS has built dotnet to work really well on Mac/Linux cli, far away from the weird tightly- coupled Windows/VisualStudio-hit-f5-to-do-the-magic-with-the-15-billion-auto- generated-magical-xml-files world. It feels well engineered instead of thrown together, which is nice.

Also, So far, I've pulled in no external libs other than the AWS sdk for the port either. C# with linq is a pretty complete toolset. I'm sure I'll pull in more as I get more familiar, but it's been solid on its own. Really nice surprise.

<comment><USER3> As someone eager to start (properly) learning C#, is doing so on Mac actually viable? It sounds like it from your post but would be eager to hear your thoughts (I only have a Mac at home to practice on).

<comment><USER4> I've been doing C# on a Mac w/ Rider and it's been a delight. There's a few rough edges (using Windows/DOS style paths in the csproj breaks my muscle memory) but it's great.

</comment></comment></comment><comment><USER5> I want to like .Net Core, I really do. But in my opinion its just not yet ready for serious use.

An example. If you want to use .Net Core you can't use entity framework, you have to use EF Core, which doesn't yet support mapping to views or stored procs, only tables.

Now you might think that's fine, maybe you only want to map to tables. But it's the same story all over the ecosystem. Many major projects have a separate netfx and core package, and many times the core package has restricted functionality. You will almost certainly find a whole host of things you need are missing.

And then you get the fact that ASP.Net Core is dropping support for .Netfx in the next release, so if you want to use ASP.net Core you are now limited to EF core too, which means you are making a full jump and can't just go halfway first. And .netfx is now not going to support .net standard 2.1.

The list of incompatibilities and restrictions just goes on and on. I certainly can't keep the full list in my head. So right now I'm not really willing to commit to a new project of any significance on .net core because I know there will be dozens of missing dependencies or features.

You could argue this is just want it's like at the cutting edge, and the gaps will be filled in time. But .netfx is clearly already going into maintenance mode, so the push to move to .net core has already started.

<comment><USER6> We use .NET core in production and are very happy. A mixture of EF Core (for ad-hoc queries) and Dapper (for stored procs) works just fine. Also, new in EF Core 2.1, you can map views and stored procs just fine: [https://docs.microsoft.com/en-us/ef/core/modeling/query- type...](https://docs.microsoft.com/en-us/ef/core/modeling/query-types).

That's your only specific example - what other functionality are you missing?

You're not willing to commit to .NET core but you admit that NetFx is going into maintenance mode?

<comment><USER7> Yes, totally agree- I worked on a project that wasn't Core but regular MVC + EF and Dapper which surprisingly worked out well. Actually so well I started mentioning it as a feature but really was just too lazy to redo all the dapper stuff since it worked so well.

</comment></comment></comment><comment><USER8> .NET Core and F# are the only reasons why I still develop .NET. I really hope the platform can break out of the Microsoft silo and attract talent from other dev communities, because the biggest problem with .NET Core, despite the whole OSS move, is still that the majority of C# developers let themselves happily trap by the Microsoft marketing machinery. The average .NET developer never even tries different things like AWS or the Google Cloud, TravisCI or AppVeyor, etc. They just swallow anything which so-called MVPs and conference presenters force them down the throat, primarily Azure which is by all measures inferior to the other two and they don't even know.

Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly.

<comment><USER9> > I really hope the platform can break out of the Microsoft silo and attract > talent from other dev communities

The problem is often trust. Like so many Microsoft projects, to me the goal of .Net Core seems to be to get as much people as possible on to a proprietary language and/or get as many devs as possible onto developing stuff that doesn't hurt Microsoft. There's no guarantee that MS will not pull the plug at some point, and then soon after that .Net and .Net Core will start to diverge, and MS will lure in as much devs as possible with proprietary functionality that everybody wants but is only in .Net, not in Core. Or they'll just pull the plug because of whatever reason, like they did with Silverlight and Xamarin.

Don't get me wrong, I kinda like C#. But right now .Net Core feels like it's been developed by Microsoft, not like it's open source. I'm not entirely sure but is looks like the community developing .Net Core is made up almost exclusively of MS people.

<comment><USER10> Also why I don't see .NET Core going anywhere, it's controlled by the same old Microsoft who have a massive conflict of interest for directing everyone to use their preferred libraries and services. Unlike every other popular language which is typically developed with a transparent independent governance model whose direction benefit all libraries and services equally, instead of giving their own preferential treatment.

A good language is only part of what makes it appealing, having a large diverse open community is often more important as it ensures mature bindings are quickly available for new technologies and 3rd party API's, it influences whether the language will be used to create new technologies (instead of just playing catch up and making clones of what's in other languages), whether libraries are able to succeed on merit so it doesn't discourage the community to invest in developing a variety of competitive options and whether there will be an active community available to quickly answer questions and resolve issues.

.NET Core will never have the community of other popular languages, unless you're happy to use Azure and want to be locked into using Microsoft technologies there are much better platforms to risk your business on instead of committing to one whose future is controlled by self-serving interests.

<comment><USER11> Using .net core, or even framework on other cloud providers is easy enough. .NET Framework is tied to a Windows environment, but core isn't.

I don't get all this hate against Microsoft because they suggest or prefer things they worked on as solutions, without actually tieing you to them. Do you work on software for years and then tell everyone to use something else?

If it was actually tied to their other services then I could see the reason to avoid it, but if using .net core without windows, azure, or sql server then I dony see how you are actually tied to it

<comment><USER10> They still could have created a runtime where all libraries and services are able to compete and succeed on merit and basically how every other popular language evolves. If they want to give special first-class treatment to their libraries and services that's their prerogative, just don't expect for others to be investing in a biased runtime with conflicting interests where alternatives exist as 2nd class citizens limiting them to smaller niche communities and why it will never have the community of other popular languages.

Unless you want to be locked into a future centred around using Azure and Microsoft technologies, there are better, more open vendor-neutral languages with more diverse and mature libraries you could be building on.

<comment><USER12> I see that as a very negative viewpoint. For many, it's an easily embraced negativity because it's Microsoft.

Objectively, MS simply has done more work to create a comprehensive package. It would be a disservice to their customers to not increase integration between it all. For the longest time, this was Active Directory. Today it's Azure and .Net. Amazon doesn't control one of the most popular programming platforms to do tighter integration than already exists. Oracle does, but I've never really heard much about their cloud offering.

Microsoft has all the pieces, either it's appreciated or you can resent it. But they are no longer forcing you to use it, it's being sold on merit and I like what I see.

</comment></comment></comment></comment></comment></comment><comment><USER13> The post only mentions .NET Core, but should actually be mostly talking about ASP.NET Core that runs on top of .NET Core. The features such as dependency injection and Razor Pages are ASP.NET Core specific.

Microsoft have announced that they will be porting WinForms and WPF over to .NET Core so that they no longer need the heavyweight .NET Framework. However, this DOES NOT make WinForms/WPF cross-platform. They will still be restricted to Windows but will allow you the benefits of .NET Core, such as allowing side-by-side versioning.

<comment><USER14> Microsoft.Extensions.DependencyInjection is developed as a ASP.NET Core extension but has no dependency on it.

[https://www.nuget.org/packages/Microsoft.Extensions.Dependen...](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection)

<comment><USER15> Indeed. It's possible and quite easy to use it in a console app for example

</comment></comment></comment><comment><USER16> One thing that makes .NET Core makes me special for me is PowerShell Core.

I have been coding quite a bit of PowerShell Cmdlet in C# lately, on Windows and Linux, and it's very nice that I can pass around .NET datatypes interactively, and in a script.

<comment><USER17> Powershell Core has allowed me to do 90% of the Office 365 administration I need to do from MacOS and has reduced my time in a Windows VM substantially.

Very happy that Microsoft is making this effort.

</comment></comment><comment><USER18> I just inherited a .Net core app that was a proof of concept. It's a real pot luck of glued together functionality. I remember working in MS ASP land almost 2 decades ago and I swore I wouldn't invest a single minute learning another proprietary MS technology.

I by and large held to that but here I sit, banging away at some C# code. This is day 3. Did you know if you specify a path in JSON and apply it to Use app.UseStaticFiles with a single trailing slash, instead of a double, it'll bring down the .Net kernel in flames.

Not confidence inspiring in the least.

<comment><USER6> You could replace .NET core in this comment with any $framework and see plenty examples of developers misusing a tool.

</comment></comment><comment><USER19> Besides Node.js the main competitor is is Java/JVM. C# is a bit nicer than Java, but you can use Kotlin or Scala on the JVM. All in all I see no real advantage over the JVM/Java world - more of the other way around, since the .Net ecoystem is not as big as the JVM ecosystem. However competition is always good.

<comment><USER20> I've worked a lot with both C# and Java, and C# is so superior I never want to touch Java again. Especially since around C# 3.5, the distance between Java and C# has grown enormous. The two benefits I can see with Java is that it's a smaller language (easier to train junior engineers), and yes, the huge amounts of libraries.

Kotlin/Scala/Clojure are nice, but my experience is that just because an organization is working with Java, you shouldn't count on being able to work with some other JVM language. At my current job, we've been forced to give up on Clojure (a language I love) because the higher-ups have decided we should stick to Java.

I really hope especially Kotlin will gain more traction in the coming years, but in the meanwhile there is at least an order of magnitude more jobs in C# (where I live).

<comment><USER21> I hate dealing with checked exceptions in java.

</comment></comment></comment><comment><USER22> On an entirely superficial point, in case the author is reading:

> It offers developers modern tooling that can scaffold projects, build, run, > test and deploy using incredibly easy-to-use CLI tools.

I think this is one place where the abbreviation CLI should be avoided, since it means two completely different things both of which are somewhat plausible here at first glance. "Command line interface" \-- even though this is a Microsoft-derived thing, you can do everything using the command-line tools you're used to from Unix, node.js, etc.; "Common Language Infrastructure" \-- even though this is happening on Mac and Linux as well as Windows, you can do everything using the Microsoft .NET tools you're used to from Windows. I'm pretty sure the first of these is the intended meaning, but I had to think about it.

</comment><comment><USER23> Personally the biggest advantage .NET core has for my situation is that it creates a pool of programming talent and mindshare that I'd now be open to hiring and working with on projects that can now be made with open source tools in a sane environment.

I don't think it would be my go to choice for projects currently, but its an option I would happily consider and I give Microsoft a lot of credit for moving in this direction.

That being said so far the reasons I've had to look at it were modernizing older .NET projects and last I looked there were so many incompatibilities be between .NET core and .NET standard that the projects would have been almost complete re-writes, somewhat of nullifying its advantages against other choices, but that was a while ago.

<comment><USER24> For us, hiring .NET core developers is very hard. The pool of programming talent is gigantic, but it's also full of ultra-low quality developers. It has taken us almost half a year to find a decent C# .NET developer, with an average of 2 interviews per week on the best developers we could find. Meanwhile the previous developer had time to construct a behemonth of Java overengineering (Enterprise code they call it) that is taking us several months to tear down. We couldn't fire him because we didn't have a replacement, but in hindsight, firing him soon would have been better.

@alexmuro: best of luck finding quality in the pool of programming talent.

</comment></comment><comment><USER25> this seems odd. The main advantage other than going faster than Node ( which you'd expect ) is that it's cross platform and can run in containers and has libraries.....like MOST other languages.

Not knocking .NET Core, I use it a lot... but this just doesn't seem like it tells you what's special about it

<comment><USER26> I agree, they can do a better job articulating what is "awesome".

For me personally, there are 3 main reasons that I have been super excited about .Net core:

1\. It is C#, in my opinion the best statically typed language. The easiest way I have described it to other folks is it is Java++. Combine it with really good intelligence, and it is like the code "flows out of you". Part of the reason for that is the effort put into the language itself (getters/setters, lambda functions, etc), but equally and possibly more important is the support of Microsoft, so this is a language/toolset that is being used daily to make itself better. (In my opinion this is why Jetbrains is so good, the developers use their own tools constantly).

2\. It is cross platform from the ground up. I can't understate how great it is to have an alternative to java

3\. Rosleyn: being able to compile and potentially be as fast as C++

Just my 2 cents

<comment><USER27> For someone who is not well versed in MS world, what is the C# equivalent of the Java Streams API?

<comment><USER28> LINQ, the IEnumerable extension methods, and IQueryable extension methods.

<comment><USER20> I'd like to point out that the extension method feature of C# is one big reason why I like this whole story much better than the Streams API in Java. There are often methods I wish were part of the IEnumerable interface, and with extension methods, I can add them myself! (if they are not already provided in, say, MoreLinq [1]). Very convenient, and a big boost in productivity.

[https://github.com/morelinq/MoreLINQ](https://github.com/morelinq/MoreLINQ)

</comment></comment></comment></comment></comment><comment><USER29> We are replacing out homegrown PHP ERP system with ASP.NET Core MVC since Version 1.0.

It is a blast to work with LINQ and Lambdas and I really miss it in other languages. EF Core also matures quickly and we sucesssfully connected it to mysql and sql server. So far there hasn't been a problem we couldn't solve in .Net Core.

For a small side project I used .Net Core Razor Pages very productively. Only needed the SDK and visual studio code. Planning on moving more small stuff away from python to .net core based on that.

Really looking forward to Version 3.0 and Kestrel replacing IIS for good.

</comment><comment><USER30> If you intend to learn ASP.NET Core, check out my micro samples [https://github.com/dodyg/practical- aspnetcore](https://github.com/dodyg/practical-aspnetcore) (171 samples so far).

</comment><comment><USER31> .NET Core is special because it increases the portability of your .NET code in case your cloud provider decides to jack up costs by 15% for no reason other than you are locked in. _cough_ _cough_

</comment><comment><USER32> What about client-side apps? Is it possible to write a cross platform client app with .NET Core, a la Electron way? That would be my dream framework. I've been waiting for it for decades, seriously.

(I looked at Avalonia UI and mono/xwt. Not sure how stable/reliable they are.)

<comment><USER33> At the moment there is Xamarin.Forms which actually can target osx,gdk and uwp or wpf. which means you actually can have a cross plat gui on all platforms, stability differs for each platform and I also did not like the mono runtime that much, a lot of stuff is not as good as it is in the .net core runtime.

</comment></comment><comment><USER34> When I try to run a random .Net exe file with dotnet core it will complain about libhostpolicy.so dependency missing.

I understand that it is not supposed to run .exe files (no idea why, okay), but overall it sounds like awful usability.

</comment><comment><USER35> I would say not being actually free and open source is a show stopper but I'm glad there's finally some progress. [https://github.com/dotnet/source- build/issues/782](https://github.com/dotnet/source-build/issues/782)

I don't get it. They rewrite the whole think from scratch and there's still code they can't show the source for... I have a feeling there is still push back inside Microsoft against Scott Guttrie and the open everything crowd.

</comment><comment><USER36> Many of the features (Dependency injection, etc) seem only to be available for ASP.Net Core. What about cross platform desktop applications? Do we have a GUI layer that is cross platform as well?

<comment><USER37> Oh, the dependency injection definitely works independently of ASP.NET Core - it's just something frequently talked about in tandem with it. Just wrote a console app that used it a couple of days ago.

I don't know about the current status of the GUI layer, other than that I've heard plans for WPF to be ported over to .NET Core. I don't know if or when that will actually happen.

<comment><USER38> Both WPF and WinForms will be part of .NET Core 3.0. They've done a few demos of it already, and were able to port over existing apps without any changes to the code. This even worked when using third party controls like the ones you can get from Telerik. They just added references to the Telerik .dll's they already had, and everything just worked.

They'll still only run on Windows, but it's a nice option for teams that want to move their existing apps over to .NET Core and take advantage of the quicker update cycle and improved performance.

<comment><USER37> Awesome, glad to hear it!

</comment></comment></comment></comment><comment><USER39> Reads like an overenthusiastic sales piece posted here by the author to sell their own product.

</comment><comment><USER40> I moved all my indie projects from .net to .net core, so i get the same development model i know and love, but can host on linux.

<comment><USER41> how hard is it to port an existing mono application to .net core for linux? does .net core run stable on linux ? I am thinking of a particular open source server application written for .net/mono: opensimulator.

<comment><USER33> > does .net core run stable on linux

it's probably more stable on linux than if you host in inside iis. hosting in iis is a pita btw. it's easier on windows to create a service and proxy it inside iis (if you need multiple different applications). however compared to just systemd+dotnet+nginx it's way harder to debug if something goes bogus.

</comment></comment></comment><comment><USER42> It's one of the few halfway modern "lightweight" languages with static typing and other full fledged OOP features.

</comment><comment><USER43> How is ASP.NET core these days? How is it compared to node js? Is it worth using it?

</comment><comment><USER44> I was working for a company that was making the switch from Nodejs to C#/.NET Core.

Having taught and worked 4 years professionally with Java I believed I'd make the switch to C# easily.

This was not the case. But not by lack of understanding C# or .NET Core.

Mainly .NET Core and C# felt like a few years back in time. A lot of boilerplate, configuration, and a lack of libraries/alternatives.

I don't necessarily need or want a full-bodied UoW ORM when designing a microservice. It felt like I was trying to practice DDD designed for a monolith; while many of the programmer practices of DDD feel cumbersome when designing a more minimal microservice. Even the concept of a "Controller" feels misplaced for a microservice; request handler functions seem more appropriate.

Some findings I had when I tried it:

\- Model validation is very optimistic; casting JSON numbers to strings automatically and vice-versa. To me this feels completely unacceptable. I've never seen something as surprising with regards to validation. While there are ways around this that requires a lot of work and code. In the end I worked around this by parsing the JSON input using JSON Schemas and ignore .NET Core model validation completely.

\- The JSON deserialization is a separate step before the model validation; throwing 500 errors if JSON is formatted improperly. If you want consistent error handling and more than just the basic error output across your entire application (deserialization, model validation, business rules, app errors, etc...); good luck. .NET Core makes it difficult to achieve that goal. Same here I used a JSON Schema parsing library to overcome most of my problems and completely ignore .NET Core out-of-the-box features.

\- Entity Framework feels as defacto standard; where basic SQL would do in Node or Go. It's a difficult sell to your colleagues if you'd argue EF is redundant and overly complex for the task at hand.

\- I first tried to write .NET Core in VS Code like I do Nodejs, Python and Golang. It worked, but I would recommend anyone to use either Visual Studio or Rider instead. The auto highlighting, code hints and refactor tools are just so much better using those tools. Also I frequently ended up deleting the *.sln files and recalculate them using the CLI tool using VS Code. VS Code support for C# + .NET Core is just not mature yet.

\- To set an environment variable in Linux the convention is UPPER_CASE. C# / .NET Core uses UpperCase__Double__UnderScore. I know it's minor, but it just feels weird and out-of-touch with linux devops, probably due to a windows- first approach.

\- Lack of a popular alternatives like Kotlin or Groovy that provide a more lean & mean approach to tackle simple tasks or build basic microservices. (I don't count F# which is more in the functional domain)

\- No out-of-the-box support for measuring test coverage in Linux. Community alternatives are lacking.

\- ...

I'm convinced .NET Core is a step forward for the C# community. I'm not convinced it's a step forward for others.

<comment><USER45> I had a very similar reaction. People complaining all the time about verbosity in Java and then when I look at C# there seems even more boilerplate ... it seems like even the most simple piece of code ends up nested 3 or 4 layers deep and preceeded by 3 qualifiers to declare a simple variable. As a completely random example:

[https://github.com/sebastienros/yessql/blob/dev/src/YesSql.P...](https://github.com/sebastienros/yessql/blob/dev/src/YesSql.Provider.Sqlite/SqliteDialect.cs)

And like you say, all the cited advantages of .NET Core just seem to be fixing things that were broken compared to Java.

Yet I completely acknowledge that there seem to be a huge number of people who really love it, and there are some clear technical advantages. And now that Microsoft seems to be genuinely (for now) no longer hostile to open source and mostly out of the patent-trolling business, I would be open to adopting it. But when I actually do try it, I don't experience the advantages that I thought I was going to.</comment></comment>


Why don't I see anything worthwhile happening in the startup space? - <AUTHOR>

In looking around scoping out competition, in looking for employment, and in looking for interesting startups to talk about, I've realized that I don't see anything worth mentioning. Maybe a few established players are gaining a bit of traction, but that's about it.
What's going on, is everyone hoping for a "talent" acquisition from a mid-sized company? It's kinda strange that with all the startup hype, I don't yet see anything that I couldn't piece together in my "mother's basement," and I don't see anything that will amount to anything more than a dissapointing acquisition-based money grab.
Am I missing something? Where are some examples? I think this is strange. <comment><USER2> I have to agree to some extent.

When I was in the valley in October for startup school I was overwhelmed by the culture being form a small village in the UK. EVERYONE I came across was working on something; whether it be a photo sharing app or a air b'n'b for art. On numerous occasions without sounding condescending felt like asking you 5 super talented guys should get together and see what you could come up with.

I mean the users of HN are among some of the smartest and talented people on the planet and can get things done, so please tackle hard and difficult problems. Photo sharing isn't one, daily deals isn't one, metrics for dog walking isn't one, marketplaces for out of date food isn't one and X'ville games certainly isn't one.

I agree everyone is entitled to a quick cash out or to even work on a project they genuinely are having fun on while making some money. Half the time I guess this is a natural way to move onto the difficult problems. However, don't think of that "what will get me into YC" problem. Think of that: "What will make the world better" problem.

1\. Education 2\. Healthcare 3\. Government/lobbyists 4\. Not kill Hollywood but change Hollywood (Open up and challenge distribution) 5\. Robotics

All the above are problems where I can see real opening for innovations where hard work and perseverance will change the world.

Oh did I mention that the first platform to nail the crowd-funding for businesses/startups can make a huge difference and make a load of cash.

Just my $0.02.

<comment><USER3> You see daily deals as a consumer product, it's not, it's a product for solve a business problem, the problem of yield management. Hundreds of billions of dollars are lost every year by wastage (everything from empty theatre seats to hairdressers sitting around waiting for customers on quiet days).

Pretty much anyone who raises more than a couple of VC rounds is working on a billion+ dollar market. It might not be your favourite problem, but it's a problem the free market has attached a high value to.

<comment><USER2> I don't believe daily deals is the solution to wastage in small business or large ones alike.

Or if it is, I really don't think it's being used for that purpose. But I agree there might be real problems that aren't to my liken but are situated in a large billion dollar market.

I just get the feeling that these businesses are extremely cyclic and not many will be around in ten years time.

</comment></comment></comment><comment><USER4> I think it's because recent trends (in computing power and costs) have made it very profitable to chase after me-too apps (photo-sharing being the poster child for this trend) and people are simply going where the money is instead of working on really hard problems that will likely never make a return on investment.

I can see both sides of the argument (i.e. whether it's OK that this is happening)

1) What the Wright brothers worked on meant that humans could fly for the first time ever. What Alexander Graham Bell worked on meant that humans could talk to each other over large distances for the first time ever. What the early PC/Mac pioneers worked on meant that huge computing power was put in the hands of the average person for the first time ever. These were history changers

I think many would agree that working on a project similar to one of the above is on a very different level, and much more satisfying, than working in a startup that is producing yet another photo sharing app.

What the OP may be lamenting is that so many bright minds are being "wasted" on yet another Groupon clone where no technical breakthroughs are being made, and not on useful projects where technical breakthroughs are needed, like renewable energy, natural language processing, etc. Whoever solves these problems will enable something that was not possible before and have an impact on the course of humanity.

2) On the other hand, there is nothing wrong with wanting to make money, and wanting to make it in the most easy way possible. If so many other professions can make a lot of money without really benefiting humanity, why shouldn't engineers feel free to exploit the recent gold rush in their field and make as much money as possible, with little regard to how useful their product is to the world at large?

Finally, I wrote about this a couple years ago: [http://www.startuptrekking.com/2010/09/web-startups-are- just...](http://www.startuptrekking.com/2010/09/web-startups-are-just- attempts-at.html) ["Web startups are just attempts at social engineering"]

</comment><comment><USER5> Completely agree. I worked in the silicon valley scene for about 5 years and left last year because after a while I saw little value in the majority of what was being created in the ecosystem. Note the word majority - there are some groups doing very interesting important things but they are few and far between in my opinion.

I think the culprit is the incentive system of SV - the rewards seemingly go to a number of trivial things and Im not going to pretend to be smart enough to know completely why.

Whats increasingly strange to me is when America and the world have such glaring problems, you really don't see many in SV directing their efforts towards these areas. I'm not expecting for entrepreneurs to single handedly 'fix' healthcare, etc. - but I'm surprised there aren't more chipping away at these things directly or indirectly In my opinion, much of society is struggling on multiple basic fronts and naturally thats where the really interesting and great opportunities will be. Meanwhile we have hoardes of extremely bright people in SV trying to cook up the new flavor of the month photo app.

</comment><comment><USER6> My sentiments exactly, especially when I see people like Joshua Schachter, a brilliant entrepreneur creating stack overflow clones (jig) and companies like Instagram being valued at 1/2 billion dollars.

Surly I'm jealous of their success, but I still question the 'real' value they are creating.

</comment><comment><USER7> I think there are a much larger number of seemingly-trivial companies than in the past, but a somewhat larger number of awesome, world-changing startups, too. I'm fine with this. One Tesla, SpaceX, Halcyon Molecular, etc. makes up for a lot of social Q&A sites or petfood portals.

There are also companies which start out as a photo book for a college and turn into a developer platform, plus build lots of cool tech along the way.

I've noticed more amazing 1-20 person startups in the past year than in 2008-2010 for sure, but this might be personal availability bias.

</comment><comment><USER8> I think a lot is happening with startups that service businesses. Stripe and Recurly in the payment processing space for example.

I'm sure there are thousands of startups trying to disrupt industries that aren't consumer facing so you might not be aware of them.

Also, the term startup is thrown around here a lot. There are a lot of startups outside of the web space. (Of course I prefer the term small company to the term startup.)

</comment><comment><USER9> Well, last year, I started a social platform for my own neighborhood. Today, we are serving over 6k neighborhoods on a zero dollar, nights and weekends dev schedule, and are currently seeking seed capital to go full time. Compared to our closest competitor who started with a $17m infusion, has burned through half of that, with less than 1k neighborhoods. Yeah, we are passionate, we are entering uncharted waters, and have no idea what we are doing beyond dev. Hence the need for seed stage capital. FYI, we are Home Elephant.

</comment><comment><USER10> Which examples don't you see?

</comment><comment><USER11> What exactly is it that you're looking for?

</comment><comment><USER12> IMHO:

Society's Big Problems today are largely political and structurally economic, not softwarical. No consumer-facing app or website will ever eliminate unemployment, for example. Nor will it desalinate and clean water.</comment>


Intel's Optane DC Persistent Memory DIMMs Push Latency Closer to DRAM - <AUTHOR> https://www.pcper.com/news/Storage/Intels-Optane-DC-Persistent-Memory-DIMMs-Push-Latency-Closer-DRAM <comment><AUTHOR> A few days old but I'm surprised it didn't get submitted. This really seems like a huge game changer.

[https://www.pcper.com/files/imagecache/article_max_width/new...](https://www.pcper.com/files/imagecache/article_max_width/news/2018-12-12/gap-5.png)

There are already vendors touting Optane cache drives as "memory" which is stretching things but with these DIMMs and DRAM acting as a cache then I wouldn't have much of a problem with this practice.

[https://linustechtips.com/main/topic/997064-dell-and-hp- spot...](https://linustechtips.com/main/topic/997064-dell-and-hp-spotted- advertising-optane-memory-as-ram/)

</comment><comment><USER2> I remember skeptics complaining about Intel not fulfilling it's promise of 1000x performance improvements over regular SSDs back when they were rushing the first release of Optane with tiny 32GB prototypes. Just think about it. The first generation of a completely new memory tech was already competing head on with the highest performance SSDs on the market. SSDs had decades to mature to get to this point and a new "crippled" technology just utterly destroys them? Now two years later with the advent of the DIMM version of Optane there is no question that a 1000x performance improvement is possible, especially if you compare Optane with SATA SSDs.

Now that the latency problem has been solved there is still the question if Optane can provide enough bandwidth to saturate a processor. Especially multicore servers with more than 20 cores are memory bound. 8 channel memory controllers help but they are not enough.</comment>


How our housing choices make adult friendships more difficult - <AUTHOR> https://www.vox.com/2015/10/28/9622920/housing-adult-friendship <comment><USER2> tl;dr studies show friendships form from unplanned proximity; cities are no longer human sized; hence, we are (more likely) lonely and should invest in walkable, noncommercial spaces.

<comment><USER3> Yep many a times our fried group has discussed how nice it would be if we had college like proximity again with adult level accommodations.

Coincidentally I think Tony Hsieh went for that arrangement with his friends in the early 2000s, urging his friends to live in the new condo building built in SF wherein he owned the penthouse.

</comment></comment><comment><USER4> I wonder if changing housing would make any difference. Whenever I'm around strangers they're all flipping through apps on their smartphones, ignoring everyone around them.

</comment><comment><USER5> The first picture shows a place that I would hate to live in. All those almost identical boxes! I'm glad I live in an area where every house is different. Even those built at the same time by the same builder have accreted idiosyncratic additions and even when they were new were just a small number of similar buildings surrounded by others of various ages, sizes, and details.

<comment><USER6> I've seen this reaction before and it always puzzles me. I can understand why it's (marginally) more interesting to walk down a street with varied houses than uniform ones, but not why it's better to live in such a street. If you moved to the next house along every few days specifically to get a new environment I could see the problem, but since you're only living in one house in the long term it makes little difference what the others are like when you're inside (or when you're in the hypothetical shared social space), which is almost all of the time.

<comment><USER7> For the same reason that The Stepford Wives was a creepy movie? There's a place near my town where they clear cut all the tree off the top of a mountain. Then, they built hundreds of houses and townhouses that all look exactly the same. Every time I drive through there I feel like I'm in the Twilight Zone. The entire place makes the hair on my neck stand on end just due to the sterile and fake nature of the entire place. It feels planned by committee, abnormal, and out of place, not like a place that grew up naturally over time.

</comment></comment></comment><comment><USER8> Nobody forces anybody to start a family, though. The author talks about it as if it was mandatory, and then puts it as some chore.

<comment><USER9> Your comment implies that you have started a family, and want to state that you don't regret it. That's great. What does that have to do with where you live, which is what the article is about?

<comment><USER10> Not OP, but:

"But when we marry and start a family, we are pushed, by custom, policy, and expectation, to move into our own houses. And when we have kids, we find ourselves tied to those houses."</comment></comment></comment>


Introducing Awesome, Smack Talking Google Shoes… - <AUTHOR> http://www.macgasm.net/2013/03/11/what-do-you-get-when-you-mix-adidas-shoes-and-google-smack-talk/

<comment><USER2> I worked on these shoes (I am a co-founder of the studio yesyesno / yesyesno.com) and happy to answer any questions. It was really a _quick_ prototype, and we are in the process of open sourcing all the schematics and code around the project.

our repo (which will get cleaned up / readme shortly) is here: <https://github.com/jmsaavedra/shoes>

</comment><comment><AUTHOR> Now, if we could get these connected to Google Glass…</comment>


Language learning game wins Australia's first ever Startup Weekend - <AUTHOR> http://www.startupsmart.com.au/growth/2011-05-20/language-learning-game-wins-inaugural-startup-weekend.html

<comment><USER2> "Matthew Ho, who led the Native Tongue team, says that he came up with the idea for Mandarin Madness through his own struggles to learn the language." That's the way to go</comment>


Jon Skeet earns 1mm rep on Stack Overflow - <AUTHOR> https://stackoverflow.blog/2018/01/15/thanks-million-jon-skeet/ <comment><USER2> > Jon Skeet's SO reputation is only as modest as it is because of integer > overflow

From

[https://meta.stackexchange.com/questions/9134/jon-skeet- fact...](https://meta.stackexchange.com/questions/9134/jon-skeet-facts)

I like his answer about Chinese time zones

[https://stackoverflow.com/questions/6841333/why-is- subtracti...](https://stackoverflow.com/questions/6841333/why-is-subtracting- these-two-times-in-1927-giving-a-strange-result)

<comment><USER3> Note how the answer has 30+ comments and yet no admin has dared delete them...

<comment><USER4> There are 123 _additional_ deleted comments there too...

</comment></comment></comment><comment><USER5> Once you have a large body of answers your score will just keep going up.

Mine has gone up about 40% in the last year and a half, despite not having time to answer any more questions.

<comment><USER6> It gets a bit ridiculous over longer time scales. Almost all of my SO activity was in early 2009, when I got up to about 12k reputation. I had another small burst in early 2010 that took me to 17k or so.

I've had basically zero activity since then, and am now at 56,725. So I've gained about 40k while doing absolutely nothing for 8 years, and am still ranked #1331 (top 0.34%) on the site overall.

Here's a screenshot of my reputation graph: [https://i.imgur.com/qgkdTz1.png](https://i.imgur.com/qgkdTz1.png)

<comment><USER7> I've only been a contributor on SO for the last 1.5 years or so (though a long-time lurker since almost the beginning) and can tell you that it's not that easy or outright impossible to reach that kind of figures nowadays. Not that I care that much about my SO rep but still. Folks would often not even respond to long answers, use throw-away accounts, and the quality of questions is depressingly low, like in "How would I go about _(description of a multi- year web project)_?" without even the slightest effort of basic research or checking already answered questions. And of course the frequent case where students want to crowd-source their homework (sometimes answered by others who want to quickly grow their rep).

Was it always like that, or is it a recent phenomemon with more Web freshman coming to the scene since around 2012?

<comment><USER8> All the easy questions have already been answered so most new questions are obscure, poorly formed or duplicates.

<comment><USER9> And obscure, poorly formed duplicates don't yield much long term rewards. As it should be, but it still means that these numbers are out of reach. Except maybe if you manage to work in the hipster shop that only uses the new technologies before they become cool. Then you can go back to answering the basic questions.

</comment></comment></comment></comment></comment><comment><USER10> I didn't know reputation was measured in millimeters.

<comment><USER11> I don't get this either, it's not as if there are two "m"s in the word million. I must be spelling it wrong.

<comment><USER12> I believe it come from mille - Latin for 1000. So 1mm is one mille mille or one thousand thousand. Why we use the Latin? I have no idea.

</comment></comment></comment><comment><USER13> Anyone know who that other user is in the first graph, who just surpassed Jon? They seem to be answering at a crazy consistent constant clip.

<comment><USER14> Looks to be #2: Gordon Linoff ([https://stackoverflow.com/users/1144035/gordon- linoff](https://stackoverflow.com/users/1144035/gordon-linoff)) as he is at 41k answers.

</comment></comment><comment><USER15> If only stack overflow had a crypto currency, he'd be a rich.

<comment><USER16> I'd assume he is rich for a software engineer anyway. As he has written multiple books and is currently working as a senior engine at google.

</comment></comment><comment><USER17> The answers given by the model mentioned at bottom don't even make any sense. I wonder if ML will even be useful at harnessing and redistributing knowledge.

<comment><USER18> It's just a simple Markov chain model, obviously included for laughs.

That said, a relatively simple character-by-character RNN would probably have been more interesting.

</comment></comment><comment><USER19> I wish I had his job: spending my time answering and playing (it's a gamified Q&A) on SO all day and even being paid regularly.</comment>