Ask HN:  Why doesn't Microsoft release Windows 7 for free? - <AUTHOR>

If Microsoft wants to prevent people from switching OS's, why not give their most successful one away for free?  Is Windows 7 still a sizable portion of their revenue? <comment><USER2> MSFT is a public company and you can look at the annual/quarterly reports to glean the revenue from Win7/Win8/etc (which, IMO, offers insight).

[http://www.microsoft.com/investor/reports/ar13/download- cent...](http://www.microsoft.com/investor/reports/ar13/download- center/index.html)

I'm not sure I'm reading it right but, on page 74, it says the "Windows Division" recorded almost $2.1 billion in revenue. There's also a quote in there that 65% of that revenue comes from OEMs (if I'm reading that right). So if they just gave the software away, they'd be $2bb poorer, right? What would the benefit be - would people who are on Apple/Linux switch to Microsoft all of a sudden just b/c the OS is free? What would they sell the people so that they can make up that $2bb loss? I like the question you've asked but CEOs get fired for "losing" $2bb in revenue without replacing it with "hope for a better future".

It's a bit tougher to pull that info from the Apple report - [http://investor.apple.com/SECFilingNav.cfm?FilingID=1193125-...](http://investor.apple.com/SECFilingNav.cfm?FilingID=1193125-13-416534&CIK) \- but maybe it's there.

</comment><comment><USER3> Microsoft is transitioning and Windows 7 is part of the old strategy, it's tied to different dynamics (that still work, mind you). Windows 8 and on, MSFT is trying a different thing with the devices and everything.

I think it makes sense to keep these worlds/strategies separate. They're also making a ton of money on Win7 so why kill that stream of revenue? They can let it die slowly while they improve/tweak their Win8+ strategy.

</comment><comment><USER4> Microsoft wants people to use Windows 8, not Windows 7. They've already made it free on devices with screens smaller than 9 inches.

Windows 8 license sales account for more than $20 billion in revenue a year, which free Windows 7 licenses would significantly harm.

Microsoft certainly wants people to upgrade from Windows XP, _to Windows 8_.

</comment><comment><USER5> Enterprise I would think. Volume license fees probably make up a good chunk of revenue for microsoft.

</comment><comment><USER6> windows 8 isnt such a big upgrade from windows 7 in performance. i would posit that at the moment windows 7 is better, but doesnt really lead to higher future income for microsoft. With WinB, they are building an appstore, selling UI packs etc. Once you ave windows 7 the only addition may be Office, and you are done with microsoft. So actually for economic sense they should just give out win8 for free to all, hike price and withdraw support for windows 7. Then they should launch an appstore for windows 8 and enable further revenue streams eg adverts on apps etc</comment>


What Has Riled 96 Prominent Internet Engineers and 49 Law Professors? - <AUTHOR> http://spectrum.ieee.org/riskfactor/telecom/internet/what-has-riled-96-internet-engineers-and-49-law-professors/?utm_source=techalert&utm_medium=email&utm_campaign=101124 <comment><USER2> Terrible title (especially with the capitalisation), but very sound article.

On the technical side, I wonder if a new DNS system outside of US control wouldn't be a good thing. Presumably, the best DNS system would be decentralised in some fashion... This might lead to a difficult transition period, but the end result (an internet where domain names are basically uncensorable by any government) would be very desirable.

I wonder what that would look like.

<comment><USER3> The bill doesn't rely on DNS and moving the DNS system outside of the USA wouldn't stop COICA from working.

COICA works by forcing American ISPs to block their users' access to a list of domains. It mandates 2 lists; one where ISPs won't be punished for blocking and a second list where ISPs are forced to block. It's very close to implementing what China has with their Great Firewall. It's censorship plain and simple.

<comment><USER4> So ISPs would reverse-lookup all IPs requested by their customers, mapped onto a list of banned domains or naked IPs?

</comment></comment></comment><comment><USER5> Step 1: Write your Representative. <https://writerep.house.gov/writerep/welcome.shtml>

Step 2: Tell your friends and family to write their representatives.

Step 3: Search for your representative's contact information and call their office. Send them a fax. Go in personally.

Step 4: Pray.

Step 5: (If required). Join the legal movement that we will create. Follow on <http://www.eff.org>

Step 6: (If required). A technological solution can and will be created.

<comment><USER6> I think step 4 may be less effective than steps 1-3 (although I do regard faxes and prayers as similar in reliability).

<comment><USER7> Reflection on your efforts is key to success.

</comment></comment></comment><comment><USER4> Technically, if Google is indexing sites accused of wrongdoing, the MPAA could force Google itself to filter search results (or serve them with a court order to do so).

On a wider scale, if you link to a site that links to another site, would you still be liable?

</comment><comment><USER8> it's great to see IEEE spectrum laying out the technical issues so clearly along with the legal perspectives. it's something that any startup in the web space needs to be tracking to understand the likely risks moving forward.</comment>


Applications for 'Sustenance' During the Depression in Australia - <AUTHOR> http://prov.vic.gov.au/blog-news/new-archives-to-the-collection-applications-for-sustenance-during-the-depression <comment><AUTHOR> I came across The "Susso" while reading the novel 'My Brother Jack'.

</comment><comment><USER2> Not your fault, but I find it quite annoying that most of those documents are not digitised and you have to order the items to be delivered into library's reading rooms.

<comment><USER3> I'd say more will get digitised as time goes on.

</comment></comment><comment><USER4> _In return for sustenance, male applicants were required to perform work for the municipality._

Government and employer of last resort. (Excuse short comment, have to go).</comment>


Joseph Polchinski: Memories of a Theoretical Physicist - <AUTHOR> https://arxiv.org/abs/1708.09093 <comment><USER3> It is a really great read so far. I could quote almost every sentence but settle for these which made me chuckle and will probably amuse others here.

>My parents were as helpful as they could be, given that they did not understand what this alien in their family was doing. My father was the type who always had to be in charge. When I told him what I was learning in school, especially later on when we got to relativity, he told me that this could not be true. So my father, I am sorry to say, was a bit of a crackpot.

>The number of people who have never studied science but still feel qualified to present their ideas is remarkably large: notably, 99% of them are male. Indeed, my mother did not have such theories. She did make it a point, many years later, to tell me that she had been very smart in school. Unfortunately, the limitations experienced by so many women prevented her from pursuing this.

</comment><comment><USER4> Thanks for sharing this, Never know such theoretical paper could be published on arxiv but this has opened me a huge amount possibilities to publish one of my one _SomeDay_

</comment><comment><USER5> If you read towards the end you will see his motivation for writing - <USER2> brain cancer diagnosis in November 2015.</comment>


Neil Young's failed anti-streaming business helped the music industry - <AUTHOR> https://qz.com/1711629/how-neil-youngs-business-failure-helped-the-the-music-industry/ <comment><USER2> I just buy CDs.

<comment><USER3> bandcamp offers flac downloads. I just buy from them and add it to my Plex server. Best of both worlds.</comment></comment>


Ask HN: Another project management tool - <AUTHOR>

HN members i want to validate my next project, a project management tool. This would be a simpler and easier system than any other out there of which the most popular is basecamp. It would be cheaper to use than existing solutions. What features do you think it should have to be the best solution for web entrepreneurs and programmers or is it worth doing it?<p>Feedback appreciated.. <comment><USER2> I've experimented with literally dozens of project management tools. Probably 75% of them make the claim you did - that it is "simpler and easier than any other out there." That's a pretty bold claim and a lot to live up to.

1\. Have you tried _every_ other solution to know for a fact that it is simpler than all of them?

2\. Simplicity and ease of use are very subjective. Many people might find Basecamp easier to use than your PM.

Before diving into something like this, you should make a very solid list of features you want in your PM tool, and a list of features you don't want. Then do research to compare it to others on the market.

While I think there is still market space for more project management tools since every individual and team have different workflows, most PMs I have experimented with have largely the same features. That means they have all the same pitfalls.

That being said, "cheaper than existing solutions" is also not what you should base your plans on. There are dozens of free solutions out there, many of which are very popular. It doesn't get much cheaper than free.

</comment><comment><USER3> Do you use a project management tool right now? Have you tried out the various PM tools available? Are you a project manager? Have you found irks in the tools you've used that frustrate you and that you've not found a good solution for?

Answering "no" to any of these things should make you think twice about attacking the problem for profit. Answering "yes" to them all might indicate you should build a minimum viable product that solves the problems you know about in the simplest fashion possible, then you can try this out on some friends or acquaintances who could benefit.

</comment><comment><USER4> If it expands the market, it's worth doing.

Keep in mind that people invested in BaseCamp will probably not find it easier to use at first, and unless it's a knockoff, it will always feel like it is missing features for many of those people.

I think it is more of matter of target market than anything else, and web entrepreneurs and programmers will be a harder market to penetrate than general small business.

</comment><comment><USER5> I just started using TeamBox. It's awesome! It's free for the features I need, and if things start getting over the top, I can upgrade my account for something like $12 and get more features.

I tried basecamp and failed.</comment>


Court says Melbourne dentist can seek user details from Google over bad review - <AUTHOR> https://www.theguardian.com/technology/2020/feb/14/court-says-melbourne-dentist-can-serve-google-for-user-details-over-bad-review <comment><USER2> Google reviews are an insidious menace.

Google gives any bad actor the ability to leave bad reviews about your business with no recourse.

Silicon Valley at its most disgusting.

This alone is reason to dismantle google and strip its power.

Google destroys businesses and throws it hands in the air and declines to do anything to fix its foul business practices.

Google reviews is like those ghastly sites that allowed people to say things anonymously about other people. Those sites fortunately died. But hey google reviews are about businesses not people so that's fair game to google.

<comment><USER3> It's even worse with schools. Most secondary schools I've clicked on over the years have had tonnes of 1-3 reviews from students complaining about getting a detention or other random nonsense.

<comment><USER4> This is literally not true

<comment><USER3> Here you go:

[https://www.google.com/maps/place/The+Highcrest+Academy/@51....](https://email@example.com,-0.7264924,17z/data=!4m7!3m6!1s0x0:0xc1af4f3072a3a7e8!8m2!3d51.6295196!4d-0.7243037!9m1!1b1)</comment></comment></comment></comment>


AccuWeather iOS app sends location information to data monetization firm - <AUTHOR> https://medium.com/@chronic_9612/advisory-accuweather-ios-app-sends-location-information-to-data-monetization-firm-83327c6a4870 <comment><USER2> I'm not sure as to what Apple could even do here. Make AccuWeather disclose this and be honest with its users in the app description? When we give away location information to any app, that information may go anywhere. It's probably a matter of luck that this particular app was sending it to a third party site directly and was "caught", but other apps may as well be sending it to their own servers, which in turn send them to many data brokers and ad targeters. We wouldn't know anything for the rest of them.

This seems like a complex problem to me, and it seems like the solutions cannot be technical alone. We would need to push for better policies and laws too.

<comment><USER3> Worth noting: If you deny it GPS access, the app will send your Wi-Fi BSSID and (apparently) uses Bluetooth beacons to track your location.

<comment><AUTHOR> Can any app access Wi-Fi BSSID? Why isn't this restricted under location or another permission? Presumably apps can also use IP address for geolocation.

<comment><USER3> IP address is not too reliable, but you are correct, they could.

I do agree that BSSID should be shielded behind a permission, I believe Apple is deprecating that API anyway though, so it may be a non-issue in iOS 12.

</comment></comment></comment></comment><comment><USER4> If you're using a free service with no ads, then of course they are selling any data you give them access to.

This isn't really news.

<comment><USER2> What's not clear is if AccuWeather, which has an ad-free paid in-app-purchase, would still send this information even if someone opted out of ads that way. If this information was sent even from the paid users' devices, that would be even worse!

@willstrafach, any idea about this?

<comment><USER3> This is a very good point, I have not tested the behavior of AccuWeather for paying users.

</comment></comment></comment><comment><USER5> This is why an app asking for my location is an instant no. The only exceptions are apps where location is the main feature (Google Maps, etc).

<comment><USER3> I think the interesting issue here is the legitimate reason for location access to be granted. They say it will allow you to get local severe weather alerts, so a decent number of folks may be interested in that and allow access, unaware AW is sending the GPS information to RevealMobile.

</comment></comment><comment><USER6> Why does Apple even bother with being "serious" about privacy when they allow this shit in their app store? I guess when you keep billions of dollars off shore and the money keeps arriving by the truckful you just run out of fucks to give.

<comment><USER3> I am in contact with Apple regarding this situation and have provided all information that I have on hand. I am confident they will take action after they independently investigate and confirm.

<comment><USER6> Curious to hear how it turns out.

</comment></comment></comment><comment><USER7> Very disappointing, this was my go to weather app. Any other recommendations? I'm using iOS in Australia, but also like an app that can track international weather.

<comment><USER8> I used to use the BOM's app, but I've gone back to using the default weather app as of iOS 11, I find it to be as accurate as anything else tbh.

<comment><AUTHOR> The default app from the Weather Channel? That's owned by IBM.

</comment></comment></comment><comment><USER9> Are they subject to a class action lawsuit because of this?

<comment><USER10> LOL for what? I mean the technical answer is yes, it's pretty easy to sue for whatever you want.</comment></comment>


Need a partner to apply to YC with?  Fill out your half of the app and find like minded people - <AUTHOR> http://www.hackermatcher.com/home/

<comment><USER2> I was thinking the same thing. Bokonist feel free to email me and we might be able to set something up. bradleyt (dot) marsh (at) gmail. I'm the one who built hackrtrackr by the way.

</comment><comment><USER3> It's a good idea, and fills a real need (I say that as a doomed, not-a-genius single founder myself), but I think you'd get more people willing to post if you asked for _less_ information on the form.

The form should have just two questions, really: "What are some ideas you are interested in working on?" and an email address.

Potential partners can discuss all the other details between themselves.

<comment><USER4> I like it the way it is.

<comment><USER3> For a guy who has no information about himself on his site's "About" page, you're awfully comfortable with other people publicly posting lots of data about themselves. ;)

Seriously, though, I know that form is based on the YC application, but YC doesn't make applications public.

Asking that much is going to make people who would otherwise fill out that form hesitate (it's one reason I haven't posted there myself, for example).

<comment><USER5> Can't you just leave the questions blank, if you don't like them?

<comment><USER3> Possibly; I didn't try it, though.

</comment></comment></comment></comment></comment><comment><USER6> ou should connect with hacktracker and see what you guys can do together as far as mashing up your services

</comment><comment><USER7> @dcurtis

[http://www.oceansalive.org/eat.cfm?subnav=fishpage&fish=...](http://www.oceansalive.org/eat.cfm?subnav=fishpage&fish=154)

Not only is bluefin tuna overfished and in danger of extinction, but it's extremely high in mercury and PCBs as well.

<comment><USER8> That's pretty disturbing. But it tastes soooo good.

And actually, I think the blue fin tuna used in sushi is actually not from the "blue fin tuna" that you linked to. But I'm not entirely sure.

<comment><USER7> Well I'm not going to tell you not to order it because it's overfished, but you should seriously watch out because of the mercury. I know about a lot of really rich people who ate sushi a couple times a week when it first came to the US. Then they started having their hands shake and having all these weird neurological problem. Turned out to be the mercury, so now they aren't allowed to eat fish at all and they have to have all this crazy medical treatment.

</comment></comment></comment><comment><USER9> I thought it was good. I posted my info.

</comment><comment><USER10> small mistake: submission form asks winter commitment but front page shows summer commitment

</comment><comment><USER11> Why would we want to use your messaging system instead of just posting our email address?</comment>


NASA: Astronaut Pen - <AUTHOR> https://www.snopes.com/fact-check/the-write-stuff/ <comment><USER2> As an avid fan and long time user of the Fisher Space Pen which I carry on me at all times, I've heard this anecdote many times.

The urban legend defence of the space pen is that the Russian's didn't realise that graphite in pencils conducts electricity and so unwittingly sent their cosmonauts up with a means of short circuiting mission-critical circuitry aboard the spacecraft. Pencils give off filings and need to be sharpened after all.

In other words, it was a Soviet expediency that, not unlike Chernobyl, ended up being an epic fail.

Regardless of the veracity of this anecdote, Fisher's pen is an excellent item and a great gift. The ergonomics, ability to write upsidedown and the size of it make it a must-have IMHO.</comment>


CodeReddit: Cover UI for Reddit at Work - <AUTHOR> http://codereddit.com/ <comment><USER2> If your need to get onto reddit is so strong that you have to do it at work and hide it, you have problems other than whether someone sees it over your shoulder.

If you get on reddit at work for work-related reasons, you should be fine - and if you won't be, this isn't going to help with the problems in your office.

<comment><USER3> _If your need to get onto reddit is so strong that you have to do it at work and hide it, you have problems other than whether someone sees it over your shoulder._

No, it just means you enjoy reading it and you're willing to break some rule you probably consider dumb and inconsequential.

Why do you think people have to have a "strong need" to be willing to break workplaces rules?

<comment><USER4> "The thing is, Bob, it's not that I'm lazy, it's that I just don't care."

<comment><USER5> What if - and believe me this is a hypothetical - but what if you were offered some kind of a stock option equity sharing program. Would that do anything for you?

<comment><USER6> Unlikely, as the relationship between short term time use, and long term pay off is poorly linked.

<comment><USER7> I'm not sure if the whoosh is over my head or yours at this point.

</comment></comment></comment></comment></comment></comment><comment><USER8> There's also [http://gumho.github.io/codehn](http://gumho.github.io/codehn) for Hacker News which is entirely client only.

Disclaimer: mine

<comment><USER9> And, unlike the Python version of this, provides valid Python code.

</comment></comment><comment><USER10> Nifty idea, but really lacking 2 obvious features

1) Make a dark version. Who codes on white?

2) Remap H J K L to arrow keys

<comment><USER11> Also skin it to look like an editor, and then have the user go full screen, because who codes in a browser window?

<comment><USER12> I manage my blog (uses Jekyll) in Cloud9, one of those web-IDEs with a VPS backend, and it's great. You can get access to your own dev-box from any browser.

</comment></comment></comment><comment><USER13> Relevant discussion, "Are you paid to look busy?": [https://news.ycombinator.com/item?id=7725736](https://news.ycombinator.com/item?id=7725736)

<comment><USER14> Apologies that this contributes very little, but my (lack of) sense of humor found this unintentional circular reference chuckleworthy:

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

</comment></comment><comment><USER15> Has the term "Boss Mode" fallen out of favour?

I thought "Cover UI" was going to be Reddit reimagined as album or magazine covers.

<comment><USER16> Haha I remember hitting the boss key in Leisure Suit Larry 1, I think it showed a fake productivity graph or spreadsheet or something. Surely no one actually used that to pretend to be working!

</comment></comment><comment><USER17> Makes me again wish for a proper Emacs mode for Reddit (and HN; I'm thinking about writing it if I ever get out of current avalanche of commitments).

I've been IRCing from Emacs for many years; most of the people around look at my screen (and tiny font) and have no clue whatsoever about what I am doing. Sometimes the screen shows code, sometimes my notes or contents of a folder, other times an IRC or IM window, and it _all looks the same_.

<comment><USER18> [https://github.com/clarete/hackernews.el](https://github.com/clarete/hackernews.el)

</comment></comment><comment><USER19> I'm probably not going to use a site with 'reddit' in the domain if I need to hide my traffic to reddit.

<comment><USER13> You can hide your URL bar

<comment><USER20> I think the point was network monitors.

<comment><USER21> It makes API requests to reddit from your browser. All this website is good for is trying not to look obvious to people looking over your shoulder.

</comment></comment></comment></comment><comment><USER22> This is brilliant. I just love seeing creativity and outside-box thinking like this. Sure, it's not going to solve world hunger or revolutionize mobile computing. But you know what? I don't care. It's fun, it's whimsical. 10/10, would click again.

</comment><comment><USER23> This was hilarious. At first, i thought, why did someone bring me to a wrong link? They gave me js instead of the real link. Then I started reading the js and I was like this is hilarious. It is hilarious that I found a js code to be beautiful. this is good work!

<comment><USER24> uhm, js??

<comment><USER25> I guess JS really is the new PHP

</comment></comment></comment><comment><USER26> I used to do disreputable web browsing in w3m. If you use a scary looking font like 6x13 and something like Solarized, no one stands close enough or cares enough to check.

</comment><comment><USER27> Meh, your job must really suck if you have to do this.

<comment><USER28> nothing new either, there's also outlook disguise [https://pcottle.github.io/MSOutlookit/](https://pcottle.github.io/MSOutlookit/)

<comment><USER12> And Word disguise! [http://pcottle.github.io/MSWorddit/](http://pcottle.github.io/MSWorddit/)

</comment></comment></comment><comment><USER29> The is very cute! Well executed too.

But if you're banned from taking a reddit/HN/tumblr/FB break at work, maybe it's time to look for a job that values what you produce, not how you produce it.

</comment><comment><USER30> Please make a dark version!

</comment><comment><USER31> I've seen a similar concept before: [http://4chancode.org/](http://4chancode.org/)

I like this one more though, the code looks more realistic.

</comment><comment><USER32> This was done for facebook at one of the FB Hackathon....

</comment><comment><USER33> [https://lol.browserling.com/incognito.png](https://lol.browserling.com/incognito.png)

<comment><USER13> [https://pcottle.github.io/MSOutlookit/](https://pcottle.github.io/MSOutlookit/)

</comment></comment><comment><USER34> Blank screen on iOS with Purify anti-tracker installed

Hmmmm

</comment><comment><USER35> can we get this in JS?

</comment><comment><USER36> Is there a JavaScript version with a dark theme? (serious)

<comment><USER37> [http://codereddit.net/#/?lang=javascript](http://codereddit.net/#/?lang=javascript)

</comment></comment><comment><USER38> We need a version using my custom Monokai theme ASAP! ;)

</comment><comment><USER39> Isn't it easier to just use Lynx as a browser?

</comment><comment><USER40> This would be a lot easier to read in Python.

<comment><USER41> You can cycle through other languages including Python, C#, XML, etc. (Click on the language link on top)

</comment></comment><comment><USER42> Oh Hacker News, you have a delightful way of sucking the fun out of almost everything.

</comment><comment><USER43> Love it!

</comment><comment><USER44> w3m reddit.com

<comment> r-s w3m reddit.com/.mobile

</comment></comment><comment><USER45> You should definitely quit your job if browsing reddit makes you look worse than writing code in PHP.

<comment><USER46> There's nothing wrong with PHP.

<comment><USER47> There's lots wrong with PHP. [http://eev.ee/blog/2012/04/09/php-a-fractal-of- bad-design/](http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/)

<comment><USER48> There it is. I was just waiting for that one fractal of bad design post from 2012 that everyone references in this argument, every time.

Cause, ya know, 4 years later there's probably nothing that is changed or improved. Better to just write it off completely than to do your own research and use relevant facts to shape an argument.

<comment><USER49> 80% of the article is still true. The biggest:

* It's 2016 and PHP still doesn't have a module system, Python had one in '91, Perl had one in '94, Ruby had one in '95

* inequality operators still have no === equivalent

* sorting is still indeterministic when you have null values because NULL < -1, and NULL == 0

* arrays are the only containers in the language and they simultaneously act as sets, lists, and associative arrays which fucks up almost all array functions because you don't know what they will do

* PHP has had exceptions for almost 10 years now and a lot of functions still require you to use their specific error function to tell if it failed. So if you don't call say json_last_error, your code will SILENTLY return the wrong thing

<comment><USER48> > * It's 2016 and PHP still doesn't have a module system, Python had one in > '91, Perl had one in '94, Ruby had one in '95

Composer is widely adopted and has been the standard for years now. It's not baked into the language, it's a community driven effort that has been wildly successful.

> * inequality operators still have no === equivalent

Still true. Pretty easy to deal with since there are functions for handling equality of all scalar types.

> * sorting is still indeterministic when you have null values because NULL < > -1, and NULL == 0 > * arrays are the only containers in the language and > they simultaneously act as sets, lists, and associative arrays which fucks > up almost all array functions because you don't know what they will do

Both of these things are true. Neither of these things regularly snag me in my development, but like many other dynamic languages, they do need to be carefully designed for. Unit testing, strongly typed scalar vars (new in PHP7), or using SPL object data structures instead of language primitive help here.

* PHP has had exceptions for almost 10 years now and a lot of functions still require you to use their specific error function to tell if it failed. So if you don't call say json_last_error, your code will SILENTLY return the wrong thing

I can't think of a function I regularly use besides json_encode that has this problem.

Much of that article was originally a disagreement with the approach PHP generally takes and is subjective in the first place. I'm not trying to sway people's opinion to actually use PHP, I'm just saying that despite the worts it is a capable language with an incredibly positive and productive community. It's no longer the dumpster fire it once was.

</comment></comment></comment></comment></comment></comment><comment><USER50> I really detest Reddit tbh (to be honest). It is just a continuous circle jerk of the common denominator making jokes and puns to appeal to the common denominator. People keep saying "that's just the default subreddits, try other subreddits!". But the entire site is build on the premise of collecting karma and getting awarded for appealing to as many people as possible. How else can you do this than to post content which appeals to the common denominator?

It's like people continuously patting themselves on their back for being so witty.

Having said that, if you are really so inclined to browse social media on your boss's clock and instead of looking at the real deal you have to cover it up by pretending to be working - you should sort your priorities.

<comment><USER51> Why on Earth you want to appeal to anyone? Karma on Reddit has zero worth. If you want to gather reputation on StackOverflow I can understand it. But on Reddit? No reason. I actually only read the Clojure and the DwarfFortress subreddits and I never experienced anything like that.

<comment><USER52> People like levelling up.</comment></comment></comment>


Show HN: ProfilingViewer now with Callgraph - <AUTHOR> http://www.profilingviewer.com/ <comment><USER2> Looks useful, would love support for Golang!

<comment><AUTHOR> thanks for the suggestion. i tried it with a file generated by pprof --callgrind, it opens and displays the generated file, but the "hide-sys" feature needs some work. i will investigate this.

<comment><AUTHOR> i just tested it and it works with golang. you have to add the path of your golang installation as a system prefix in preferences and reopen the callgrind file. [http://imgur.com/a/j3NQ9](http://imgur.com/a/j3NQ9)</comment></comment></comment>


Eels Don't Have Sex Until the Last Year of Their Life - <AUTHOR> http://nautil.us/issue/88/love--sex/eels-dont-have-sex-until-the-last-year-of-their-life <comment><USER2> An awful title to a well written story.

</comment><comment><USER3> Guess I will have to read the article. How do they know their days are numbered?</comment>


Why Programmers Don't Like Relational Databases - <AUTHOR> http://typicalprogrammer.com/databases/programmers-vs-rdbms/ <comment><USER2> Now this is just stupid.

I've built a career moving data out of flat files into RDBMS in order to get systems working properly (and quickly). I couldn't believe the hoops people jumped through just because of their dislike (or ignorance) of relational databases.

This data base model is perfect for many applications, and can easily be mixed with other data storage technologies (if you know what you're doing.)

Don't like the capabilities of your RDMBS? Then add what you need to you app. Indexing, transactions, stored procedures, audit, security, whatever. The code doesn't care where it's at. It still runs.

Not pretty enough for you? Then become a mathematician or fashion designer. Otherwise, shut up and code.

<comment><USER3> edw519: I'm not sure you got the point of my article. I am a programmer who happens to like relational databases. I have enough experience with RDBMSs (and the same half-baked alternatives you've run into) to at least have an opinion. My article was not criticizing RDBMSs or SQL, but rather giving my opinions on why so many programmers don't like or don't understand relational databases.

My anecdotal experience is that a lot of programmers bristle when they get into a technical area that actually has a mathematical basis or a demonstrably right way to solve a problem. Programmers are used to problems that have lots of possible solutions, none of them provably right or wrong. I've seen that attitude in the realms of databases, computer graphics, compilers, and algorithms.

A few years ago I worked with a programmer who actually set out to prove to me that bubble sort was more efficient than whatever Oracle was doing to sort rows. He was retrieving a lot of rows, unsorted, then sorting them with his own code. Even pulling out Knuth and trying to explain big-O notation to him had no effect -- that was just so much academic bullshit and opinion that didn't apply, according to him. Of course Oracle was able to sort the rows orders of magnitude faster than his PL/SQL bubble sort, and the coup do grace was delivered by a DBA who took the inefficient cursors out of the solution.

That kind of thing is played out every day between programmers, and when they run into something like relational theory their first instinct is all too often to dismiss it as old, inapplicable, ugly (see the other comments in this forum), rigid, etc. Those are all code for "I don't understand it and I can't be bothered to learn it." When a DBA who is charged with maintaining data integrity interferes with whatever bad idea the programmer has he or she is subjected to ad hominem attacks. Some DBAs no doubt deserve contempt but in my experience a lot of programmers can and should be learning from DBAs rather than sneering at them.

In the comments in this forum you'll see the "Relational databases can't work with tree-structured data" canard hauled out, as if this exact problem hadn't been addressed numerous times in the database literature (Joe Celko, Fabian Pascal, Chris Date, etc.). That's ignorance, and the older I get the more I suspect it's more willful than I'd like to think.

<comment><USER2> I'm not sure why you're not sure that I got the point of your article. I agree with pretty much all you have to say here.

What I think is "stupid" is not your article, but the fact that some programmers don't like relational databases (for whatever reason). I'll try to pick my words and make my point more carefully in the future.

I understand much of the theory behind these technologies, but, as a practitioner, I'm not in a position to base my actions solely upon theory. I HAVE to deliver. I wish I had a nickel for every benchmark I've conducted over the years. You may have noticed that I tend to avoid theoretical debate here; I'm more interested in what works.

And relational databases work very well, very often. Whether you like them or not.

</comment></comment></comment><comment><USER4> I hope I don't get negged as a starry eyed Rails enthusiast, but here goes...

Up until recently, I generally heard programmers complain constantly about the limitations of SQL and RDBMS's, and I heard a lot about object databases. The idea was that programmers would define objects, and the database would provide persistence for the objects. It was (and still is) a nice idea.

Rails took a completely different approach, embracing the RDBMS as the model itself. Rather than creating objects and pushing the design out to the RDBMS, you define the relational structure and allow Rails to extract an object model. If you are doing basic CRUD operations, you may not have to think about SQL again, even in a reasonably complicated app, and the syntax is very clean.

I just love it. And Ruby is like a beautiful flo... oh yeah, didn't want to get negged, better shut up now.

<comment><USER5> duh. Hibernate has been doing this for ages, before even rails existed. And it is a mess. You are trying to shoehorn a solution (ORM) so the database will fit the way you would like that data back.

How about actually having the database start evolving just like programing languages have?

<comment><USER6> "How about actually having the database start evolving just like programing languages have?"

What's stopping you from solving this problem? Sounds like a great entrepreneurial opportunity. Maybe you could submit a YC application.

<comment><USER5> Haha. Maybe next year. It has taken decades to reach to the RDMS that we have today. They have improved efficienncy by time, but the inovation has stoped.

Any new system, (OOD) will take years before reaches the maturity level to be used in commercial solutions. Kinda hard for a cash strapped startup.

Also, there have been attempts to build OODs but they have failed, mainly b/c they way ahead of their time.

What I would like to see a distributed Object Oriented Database system, that can scale at will.

<comment><USER6> I think Ellison and the Oracle guys consulted for years in order to eat while working on their relational technology until they thought they were close enough to go for it and drop the consulting and bet everything on the database as a product.

Maybe you could take a similar approach?

</comment></comment></comment></comment></comment><comment><USER7> Isn't it because programmers are bad with all types of relationships?

<comment><USER2> LOL. That's not what my probation officer said.

</comment></comment><comment><USER8> An intriguing topic, nice try, but the author failed to explain the reasons why programmers hate databases. It's definitely not because we don't know the relational theory (I beg your pardon, but screw relational theory, it's as ugly as DBs themselves).

One problem I can think of is that I'm forced to mix two languages in one story (a program, that is). It's like writing an essay in English over- peppered with a lot of Latin phrases and sayings. In web development it gets even worse: as if my favorite programming language X plus SQL wasn't enough, I mix up HTML, CSS and JavaScript - that's at least 5 languages in total!

Another problem is that from a programmer's perspective databases are, put simply, arrays possibly with pointers. The only reason we can't declare these structures as arrays/lists with pointers is that data can grow infinitely big and my favorite language X can't handle that. In other words, using databases is a classical example of premature optimization that comes at a price of overcomplicated code. Yes, databases are plain arrays and even the best relational advocate can't prove the opposite (or I'd be glad to hear arguments actually).

Upd: persistence and a possibility to share data between processes is another reason we use databases, but I'm sure there are more elegant ways of doing this.

<comment><USER9> I don't understand the resistance to using multiple languages in one project. Every time you use an API, you're effectively using a new language. The syntax may be familiar, but the vocabulary is completely different. That's the _point_ \- through libraries and DSLs, we extend the capabilities of the base language so it's more suitable to the problem domain.

Take a look at the following SQLAlchemy code:

      select([users.c.first_name + ' ' + users.c.last_name,
              users.c.email, games.c.title],
           from_obj=[users.join(games,
                     users.c.user_id == games.c.creator_id],
           and_(games.c.creation_date == datetime.datetime.now() - datetime.timedelta(3),
                or_(users.c.email.like('%@aol.com'),
                    users.c.email.like('%@hotmail.com'))))

Can you really say that's easier to read than this?

      SELECT users.first_name + ' ' + users.last_name,
             users.email, games.title
      FROM users
      INNER JOIN games ON (users.user_id = games.game_id)
      WHERE games.creation_date >= DATE_SUB(NOW(), INTERVAL 3 DAY)
      AND (users.email LIKE '%@aol.com' OR users.email LIKE '%@hotmail.com')

SQLAlchemy is a really cool library - it basically lets you write all your SQL queries in 100% Pure Python. But I doubt I'd use it on my own projects, because I've learned to be suspicious of libraries whose only purpose is to make some other tool look like a language I already know. Invariably there are reasons why the original language looked the way it did, and the reimplementation as a library becomes incredibly clunky as things get more complicated. I find I'm better off learning the original language instead.

<comment><USER10> My theory is that there is two kinds of people. Those that like everything to be in the same language and environment, and those that like to combine lots of different languages where each language is optimized for a specific task.

<comment><USER11> It's _difficult_ to be good at many languages. Knowing many is not too hard, but being really quick with them is. IMO, at least. And the more you add, the messier things get. Google, who seems to know a thing or two about programming, only allows four: Java, Javascript, Python and C++.

<comment><USER9> In production code (i.e. deployed to the publicly-facing website). I've heard that for internal-facing apps, 20% projects, and non-Google-branded stuff, you can use any language you like. Orkut was initially written in .NET, for example.

</comment></comment></comment></comment></comment><comment><USER12> I've thought about this a bit, having had to write various ORM layers over the years.

My conclusion is that OOP is conceptually built around single "objects" where RDBMSs are built around sets of "objects". The difference in nominal units is some of the basis of the impedence mismatch.

Think about what it takes to do something interesting with a collection of objects in c++/java/whatever, such as pick out the subset that have a cost>n: it is a loop over the entire set. Ruby makes it prettier and cleaner, but you're still just looping. Unless you create a _custom_ collection class that internally stores a hash organized by costs. But the creation of the new class is extra overhead because the nominal unit is the single object.

The counterexample is just as instructive. To retrieve the newest 10 entries in a blog uses the LIMIT syntax in SQL, which is painfully nonstandard: <http://troels.arvin.dk/db/rdbms/#select-limit>

Things that are simple in one space are hard in the other.

In my own work I've resolved some of this by attempting to avoid abusing the "standard" ORM tools that are out there that allow designing queries in your language of choice (Rails for Ruby, Hibernate for Java). Instead, I attempt to figure out exactly what I need out of query: how to structure the SQL to give me back the exact set of data I care about. No subsequent looping in Ruby/Java allowed.

That forces a line in the system between the DB and the application code where each is able to be use its nominal units in as native a way as possible.

<comment><USER13> You don't need to step outside the SQL standard to retrieve the newest 10 entries in a blog -- SQL window functions (RANK(), ROW_NUMBER()) can do this, and they're part of the spec. You could also use a cursor with ORDER BY.

<comment><USER12> I don't believe that row_number() is standard, and I thought it couldn't be relied on for being monotonically increasing with inserts. It will also fail if you need to use a date column that may not be ordered by time.

And, for me at least, cursors are definitely in the range of "advanced-ish" SQL.

My point isn't that it can't be done -- empirically, many blogs do it -- but that it points to part of the impedance mismatch.

<comment><USER13> > I don't believe that row_number() is standard

Sure it is: see Section 6.10 of Part 2 of SQL:2003.

> I thought it couldn't be relied on for being monotonically increasing with > inserts. It will also fail if you need to use a date column that may not be > ordered by time.

I think you are confused: ROW_NUMBER() is a _window function_ , and as such is applied to an arbitrary query expression:

     SELECT x, y, row_number() over (order by z) from t

And I would beg to differ that cursors fall into "advanced-ish" SQL :)

I don't see how it is an "impedance mismatch": transforming sets of data is the fundamental goal of SQL, and this seems to fall squarely within that domain.

</comment></comment></comment></comment><comment><USER14> I like databases because unless you have an unusually nice job, SQL is the closest you'll get to getting paid to use a declarative programming language.</comment>


Data.gov.uk versus Data.gov – Which wins? - <AUTHOR> http://flowingdata.com/2010/02/04/data-gov-uk-versus-data-gov-which-wins/ <comment><USER2> Most of what data.gov.uk links to are pdf's, as <http://dataformatchecker.heroku.com/> has been finding out. The data seems more appropriate for journalists than software developers.

<comment><USER3> > <http://dataformatchecker.heroku.com/>

Interesting "crowd-sourcing", but is the purpose just to get people involved ? Should be pretty easy to check if it's PDF/HTML/broken/etc with a script, if you've already crawled and fetched the pages.

(So I tossed in my click, which made it change from 197 to "only 196 to go" - that few ?)

<comment><USER2> There were 4000 or so when I first saw it last night. Almost there.

</comment></comment></comment><comment><USER4> We do, surely?</comment>


GCC eBPF for Linux port has landed - <AUTHOR> https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01987.html <comment><USER2> I'd love to see an eBPF vs. WASM compare/contrast. These seem to be two emerging technologies for sandboxing code in non-GC-oriented runtimes. Both have compiler backends now. It would be very informative to see how their choices are similar and different. I'm also curious if there are differences in the requirements.

<comment><USER3> They don't have any similarities at all, they have different features and different scopes. For example, you cannot even for-loop in eBPF.

<comment><USER4> You can, it just won't be validated as the CFG read by the kernel has to be a DAG. But the compiler has no problems emitting code with arbitrary loops. cBPF is different; branch offsets are unsigned there.

I'm working on an exokernel built around a eBPF VM that'll let you use loops in certain circumstances (ie. more or less regular threads that happen to be in kernel space and are preemptible).

<comment><USER5> > You can, it just won't be validated as the CFG read by the kernel has to be > a DAG.

Are you saying the kernel bpf verifier can be disabled when loading a probe? AFAIK, there is no such option.

TBH, I cannot understand this statement. I've written a few thousands of lines of BCC C code as eBPF. Never encounter any reference to actually have loops in the code.

<comment><USER6> No, but you can write your own eBPF VM that doesn't have the same restrictions.

<comment><USER5> Do you have a link to the document?

I never heard of that one can write a new eBPF VM.

<comment><USER4> What do you mean? The source is all open, and the bytecode format is well documented. There's nothing stopping anyone from writing their own with different semantics.

There's no doc on my work as it's private jerk offy personal project that I work on when I get tired of jira tasks and process.

Edit: here's an example of one someone did in rust [https://github.com/qmonnet/rbpf](https://github.com/qmonnet/rbpf)

<comment><USER5> I was saying a eBPF vm running inside the kernel.

A userspace VM that do not have the same capability as the kernel one is not useful when tracing kernel internals.

<comment><USER4> You can patch your kernel, or write your own vm. BPF is ultimately just a kernel module under Linux. My vm runs in kernel space just fine as well (but is built on something that looks more like sel4 rather than Linux on the inside).

If you provided enough of std, or ported that VM to no_std that rust vm would work just fine in the kernel too.

<comment><USER5> This is an interesting option.

Although in our case, our eBPF runs in external customer's environment, and we cannot ask them to patch their kernels with our code.

<comment><USER4> I feel like we're talking on two different levels here.

It's sort of like how Oak was this neat virtual machine for running on a early 90s PDA prototype. Then the writers of that VM realized that they had written a really general purpose VM, cleaned it up and released the first Java.

This general of a VM (talking about eBPF now) hasn't been a first class citizen of a mainstream kernel before. The devs are taking a very cautious approach (as they should), but ultimately eBPF is way bigger than a tracing tool. I wouldn't be surprised to see nearly everything you currently do with a kernel module ultimately being allowed by eBPF too. Maybe more like emulating other OS's kernels as easily as you'd start another container.

<comment><USER5> Also different time scale.

I am on existing stuff can be readily used. You are probably estimating the future, I guess?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Not-a-kernel-dev here. Is my understanding correct, that this is a GCC port that can _target_ eBPF? If so, is there any particular purpose in that, beyond making eBPF an easier place for people to write userspace software that would otherwise be kernel modules?

Pretty wild and cool stuff, seems like.

<comment><USER8> > Is my understanding correct, that this is a GCC port that can target eBPF?

Yes. Though before a LLVM based eBPF target was available, so this adds the option to use GCC instead. So in principle you could use GFortran to write kernel code; ... profit!

> If so, is there any particular purpose in that, beyond making eBPF an easier > place for people to write userspace software that would otherwise be kernel > modules?

eBPF is an in-kernel virtual machine, with JIT for popular architectures like x86-64 (maybe arm64 and ppc64le too, not sure?). So you use GCC (or LLVM) to compile code into an eBPF compatible object format, load it into the kernel (with a special syscall IIRC, or maybe it was something netlink-based?), then an in-kernel verifier checks that it doesn't do anything that isn't allowed before it's enabled.

So what can you do with it. Quite a lot, it seems ( _disclaimer_ I haven't used it personally). The big use cases at the moment seem to be

\- network filtering

\- seccomp filtering (that is, check syscall arguments)

\- tracing (see bcc/bpftrace) for performance analysis

<comment><USER9> > \- seccomp filtering (that is, check syscall arguments)

Small correction there, seccomp still uses BPF not eBPF. That leaves a lot of restrictions on what it can do and I believe the bytecode is incompatible too.

</comment></comment></comment><comment><USER10> This is very exciting! Nice work to the team that's doing this.

I've been waiting to dive into eBPF until the tools mature a bit, so it's great to see eBPF support landing in GCC.

</comment><comment><USER11> Good timing on having recently began working with BPF + XDP. Here's my project: [https://github.com/sevagh/ape](https://github.com/sevagh/ape), for those curious about what itches XDP can scratch.

</comment><comment><USER12> What are the applications, besides network filtering?

<comment><USER10> If your kernel is configured for it, you can use BPF to write pretty advanced seccomp filters for process sandboxing. One example could be something like: "restrict open() to only work on files in a given directory, for this process and all child processes", "only allow two write() calls ever", "disable all filesystem access after the first network packet gets received", or basically any arbitrary thing you want to do for syscall control.</comment></comment>


A singer apologized, closed his eyes, dropped his head and died onstage - <AUTHOR> https://www.washingtonpost.com/arts-entertainment/2020/01/19/singer-songwriter-apologized-closed-his-eyes-dropped-his-head-died-stage/ <comment><USER2> Condolences to his family and friends, but for an entertainer, I can think of no better thing that you remember last in the world, and that is to be entertaining people and to be in the middle of your craft when the reaper taps you on the shoulder.

Somehow, me collapsing on my keyboard mid code doesn't seem all that great way to go. I will have to get another passion that I am mid stream in and enjoying life to the max before I have to cross the river Styx...

<comment><USER3> I agree. If death is compulsory, why not have fun?

Some others in this thread have brought up the point that sudden death is more difficult for those who live on. I agree with that, too, so I suppose I don't know what I think about this.

Dying mid-code doesn't sound as great as dying after having just completed a coding project or task. The feeling of frustration and confusion changing to pride and accomplishment is a powerful one, at least for me.

<comment> mark-r Dying mid-code doesn't sound like much fun at all. Although it would beat dying mid-HN comment.

I think Tom Petty set a better example, dying a week after the end of his farewell tour.

</comment></comment></comment><comment><USER4> Dubious about the "heart attack" diagnosis, at least as the phrase is usually understood. More likely "Sudden Cardiac Arrest"[1]: "In over half of the cases, however, sudden cardiac arrest occurs without prior symptoms." Like, the pump just stops. You'd feel faint and then be unconscious.

[1] [https://www.webmd.com/heart-disease/guide/sudden-cardiac- dea...](https://www.webmd.com/heart-disease/guide/sudden-cardiac-death#1-3)

<comment><USER5> Does this happen in young, healthy individuals?

I was reading the Wikipedia article linked in another thread [1], and several of the "sudden" deaths were people in their 40s that appear to have been healthy.

Do you feel symptoms, eg. during exercise, that you should listen to so as to inform you to stop whatever activity you're doing? Feeling light-headed, short of breath, blurry vision, etc.?

I run and also perform in theater, so I'm a little anxious about this. (Not to be a hypochondriac.)

FWIW, I'm going to do some research on my own, but I'm always impressed with the well-informed audience on HN that spans many disciplines.

[1] [https://en.wikipedia.org/wiki/List_of_entertainers_who_died_...](https://en.wikipedia.org/wiki/List_of_entertainers_who_died_during_a_performance#21st_century)

<comment><USER6> Last year med student here, sudden cardiac arrest commonly occur in young people. Apart from infectious myocarditis which you might notice as fatigue and reduced performance after you've suffered a respiratory infection, hypertrophic myocardiopathy and especially hypertrophic obstructive cardiomyopathy is often hereditary and can be mortal without showing prior symptoms. That's why after a patient's death you usually examine their broader family if HOCM was the cause as it can be detected via ultrasound and treated pharmacologically or interventionally (injecting alcohol in the obstructive parts or implanting a defibrillator).

<comment><USER7> I'm adopted. Can I find out if I'm at risk from a DNA mapping service like 23andme?

<comment><USER6> Prevalence is 200 per 100k so you're almost certainly not affected. If you want to be sure a routine ECG and a trans thoracic ultrasound usually is sufficient to diagnose / exclude cardiac myopathy. 23andme doesn't even look at the whole genome, they just look for common disease associated polymorphisms. No way of telling if you have a mutation that's not in their database and even if you have a mutation it could be deactivated epigenetically or other factors could lead to you not suffering the disease.

</comment></comment></comment></comment></comment><comment><USER8> A British comedian did this as well.. The audience thought it was apart of the act and didn't respond for 5 minutes.

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

Also apparently this is a thing that happens: [https://en.wikipedia.org/wiki/List_of_entertainers_who_died_...](https://en.wikipedia.org/wiki/List_of_entertainers_who_died_during_a_performance#21st_century)

<comment><USER9> I was sure your link to a British comedian was going to be:

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

<comment><USER10> Me too, I saw it live on TV - along with millions of others... everyone was in stitches because they thought it was part of the act.

<comment><USER11> Redd Foxx as well

</comment></comment></comment></comment><comment><USER12> It does sound like a lovely and peaceful way to go. Although it was probably a bit traumatic to the audience since it quickly switched from "oh he's closing his eyes and taking a little moment" to suddenly they've laid him out on the floor and trying to revive him.

This was an interview of him earlier the same day. Doesn't seem like he's ready to die...very sad. [https://www.youtube.com/watch?v=v73VQVZpViA](https://www.youtube.com/watch?v=v73VQVZpViA)

</comment><comment><USER13> [http://archive.md/3VkKU](http://archive.md/3VkKU)

</comment><comment><USER14> I've heard a few stories where a person seemed to suddenly acknowledge that they were about to die. Granted, my grandmother repeatedly claimed she was going to die that night and the one time it was true the family lore became that she somehow knew. But to stop what you're doing like that, I wonder what it is they're actually feeling in the moment. Did he know he was going to die? Did he just feel dizzy? What do people feel in these moments just before death?

<comment><USER15> I can't speak for others but I had appendicitis about 10 years ago and ended up spending almost 8 hours in the ER waiting room suffering immensely. I distinctly remember towards the latter half of my wait that I began to feel a strange sensation of impending doom. I can't describe it exactly but I feared that I might actually die if I wasn't called back soon. I later heard that this sensation is supposedly one of the symptoms of appendicitis.

In case anybody was wondering, I was eventually taken into the ER. They started me on morphine and was in surgery a few hours later.

<comment><USER16> Feelings of impending doom are also a symptom of adenosine injection. [1] Interestingly, caffeine is an adenosine receptor antagonist.

[1][https://en.wikipedia.org/wiki/Adenosine#Side_effects](https://en.wikipedia.org/wiki/Adenosine#Side_effects)

<comment><USER17> Had it done to me twice, 2 of the worst experiences in my life. They did the first one and did not push enough. The doc said do you want the good news or the bad news. I choose the good, apparently there is a significant portion of people who's heart does not restart after adenosine, and they have to use the paddles to get it started again. The good news was that mine restarted so it will always restart when given the medicine. The bad news was they did not push enough to stop the SVT so they had to do it again. That was bad news it's a horrible experience. All of the symptoms of a heart attack with the exception of the pain. Can't breath, tingling, darkening vision. You think you are going to die when you feel you heart stop.

</comment></comment></comment></comment><comment><USER18> Died doing what he loved around people that loved him for what he did.

Good way to go.

<comment><USER19> thank you for that. reminds me of the end of The Wrestler (2008): [https://www.youtube.com/watch?v=S_Yn2xOGNhI](https://www.youtube.com/watch?v=S_Yn2xOGNhI)

</comment></comment><comment><USER20> Mark Sandman of Morphine also died on stage, as did the lead singer of The Beat Farmers. William Bennett, lead oboist of the San Francisco Symphony, died on stage and literally passed his instrument to another on his way down to the ground.

</comment><comment><USER21> My father passed away suddenly when I and my younger brother were still studying, 29 years ago this week. It took us a decade to pick up the pieces and I don't think we ever became whole again.

I think the question of suddenness vs a slower passing is very much to do with general state of affairs. Are there people dependent? Are there a lot of open threads which need some confusion? Is it below the average age (not that it should matter)? Or are they enjoying their life, perhaps in comfortable retirement?

The passing of a parent would be traumatic in nearly all cases? Can the pain (of an extended illness) be reduced? Or the chaos of a sudden death?

</comment><comment><USER22> in case you are out of wapo reads for the month [https://outline.com/tqJsCk](https://outline.com/tqJsCk)

</comment><comment><USER23> Plenty of comments about how this is great for him and it might be, but I'm not sure I'd like to be in a crowd witnessing a performer dying in front of my eyes.

<comment><USER24> Outside of suicide, nobody gets to choose. Death is, as natural and perhaps even more expected than birth, yet we pretend otherwise to shelter our own sense of mortality. Its an odd arrangement to be sure, but I perfer it to the alternative.

</comment></comment><comment><USER25> My grandfather loved golf. He played golf every day. And he died playing golf. We all gotta go, I can't think of a better way than while doing the thing you love most. It does make it easier for your relatives (or at least it did for me with my grandfather) knowing that he died doing what he loves.

<comment><USER26> > It does make it easier for your relatives (or at least it did for me with my > grandfather) knowing that he died doing what he loves.

That's a thing to strive for: make those who outlive you feel good about it. I mean besides the inadvisable trivial solution of being a jerk who everybody including their mom _wants_ gone.

</comment></comment><comment><USER27> Wow, what a way to go. His music reminds me of Blaze Foley's sound. Deeply American. And much like Blaze Foley I believe Olney will now find fame (as so many artists do) in death. The irony is strong in art (would make a great Latin phrase).

</comment><comment><USER28> If you don't want to go to washingtonpost (which I don't as I feel their GDPR process is not worth it) and was wondering who the article was about the singer was David Olney, age 71.

on edit: Guardian link [https://www.theguardian.com/music/2020/jan/20/david- olney-ac...](https://www.theguardian.com/music/2020/jan/20/david-olney- acclaimed-us-songwriter-dies-on-stage-after-apologising-mid-song)

</comment><comment><USER29> I have been thinking a nice time to go would be at the finish of an evening of tango. If my wife is still alive we share our final dance feeling the depth of our connection. If she has gone on before me dancing with friends and a bunch of lovely ladies 60 years younger works too. Assuming I make it to 90+ yo.

Though I would like to say a final good bye to my kids. Hm. They would appreciate me making a tango exit from this life, too. So all good.

</comment><comment><USER30> That happened years ago in Italy as well: Mango was his name

<comment><USER31> There's also the interesting case of Paramahansa Yogananda: [https://en.m.wikipedia.org/wiki/Paramahansa_Yogananda#Death](https://en.m.wikipedia.org/wiki/Paramahansa_Yogananda#Death)

<comment><USER32> Yes—Mahasamādhi has been practiced by yogis for millennia.

[https://en.wikipedia.org/wiki/Mahasam%C4%81dhi](https://en.wikipedia.org/wiki/Mahasam%C4%81dhi)

</comment></comment></comment><comment><USER33> I hope he still performed at his age because he enjoyed it, and not like late Dick Dale, because he had to.

</comment><comment><USER34> Women 'Cross The River - Linda Ronstadt, song written by David Olney; [https://www.youtube.com/watch?v=XElGDuCUUd4](https://www.youtube.com/watch?v=XElGDuCUUd4)

</comment><comment><USER35> Personally it scares me that this can affect people so young. Heart problems are no joke - if people just take care of themselves and remember to take their pills a lot of lives could be saved.

<comment><USER36> 71 is not so young... it's about 10 years below average for men.

<comment><USER35> Oh i guess i meant to respond to the general statement in the thread that heart attack can strike at any age. Try as hard as you can to do your best every day because no one knows how long they have. And stay in touch with family!

</comment></comment></comment><comment><USER37> I had never heard this of this guy before, but looks like I'll be digging into his catalog. Some really incredible stuff. I read Townes Van Zandt (a great songwriter, himself) considered Mr. Olney among the greatest music writers who've ever lived [0]. On the level of Bob Dylan. Some high praise, indeed.

His passing reminds me of Dick Shawn [1] who, similarly, died on stage. Because he was a comedian known for outrageous irony and meta jokes, people actually thought it was part of his act. You may remember him as Lorenzo Saint DuBois (aka LSD, or Hitler) in Mel Brook's original The Producers.

[0] [https://www.savingcountrymusic.com/legendary-songwriter- davi...](https://www.savingcountrymusic.com/legendary-songwriter-david-olney- dies-while-performing-onstage/)

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

</comment><comment><USER38> All due respect and condolences but THAT is the way to go out.

</comment><comment><USER39> I hope I can go that peacefully some day.

</comment><comment><USER40> What the way to leave if you know it will happen soon?

</comment><comment><USER41> That's how any sane person would want to go.

It's funny[.] how much time and money and effort goes in to keeping aged people alive in conditions that are terrible.

Do what you love, and go out on top.

[.]appalling

<comment><USER42> I cannot wait until we cure aging so we can die on our own terms. The right to death should be as inalienable as the right to life, and nothing short of the heat death should be allowed to make this decision for a sentient being.

<comment><USER43> A couple of thoughts:

1\. If everyone lives until the end of the universe, what does that mean for the prospect of having children? I would think it would mean that we would need to stop having children at some point, or else we would overcrowd whatever portion of space that we are occupying at some point. Not being allowed to have children would be sad. I don't have any children yet, but I want to have children in the future. It is an amazing thing.

2\. Neuroplasticity decreases as we grow older. If we live forever, could we end up being stuck forever in our old ways?

3\. Evolution could change us in very interesting ways. But only if new humans are born and old ones die.

4\. What's the point of living until the end of the universe anyway? I mean, I agree that life is too short and it would be cool to witness what the world was like in the future. But to live until the end of the universe.. I would not enjoy that.

5\. Tbh I'd rather die of natural causes than have to kill myself. As long as my life is not ended too soon I will be content for having been alive and having had all of the good and some of the bad experiences that I have had. (Most of the bad ones I would rather have done without, but some of the bad ones were useful, and we don't get to choose these things anyway.)

<comment><USER44> I don't understand why whenever there is a discussion about aging research, people always bring out the problem of us living forever or till the end of the universe. I mean how about just double or triple our lifespan which is nothing wrong and we still have no idea how to do that. I think maybe the reason why so many people is against it is because of religion.

<comment><USER45> There's a very famous series of books by Isaac Asimov that deals with this problem - The Robots. Basically once humans are able to increase their life span, they become reluctant to take any risks and the become stuck in their own "immortality". It's no different than what the GP says. Weather it's until the end of the universe or just a few hundred years, we still become more risk adverse and less capable of change.

<comment><USER7> Gonna be honest - once we have backups, I'm totally intending to go into seriously risky behaviors. So this is 100% the opposite of how I intend to live my life.

<comment><USER46> So you'll kill yourself doing risky things... and then a clone of your mind will continue your life?

Seems...shortsighted.

<comment><USER7> Patternism is the only theory of self consistent with materialist reductionism.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER47> Jeez. That's dedication. "Sorry, I must apologize for interrupting the performance."

</comment><comment><USER48> Strange to see so many comments praising the way this guy died. Do people really want to die suddenly in front of strangers without any time to prepare and get your house in order?

So many here say that's the way they want to go, but that's hard to believe. Personally, I'd rather be given a few months or years notice so that I can prepare.

<comment><USER49> I'd say that if there are things you need to prepare, then do it now. If there are things you want to do so badly that you'd drop everything to do them if you suddenly knew you were going to die, then do them now.

With that in mind, I'd prefer no warning, because I wouldn't want to spend my last time alive thinking about running out of time.

</comment></comment><comment><USER50> "Dropped dead" is, if you ask me, a disrespectful term To dying or passing away.

Im not sure why i have a problem with it, but i do.

<comment> exo-pla-net "dropped his head" != "dropped dead"

<comment><USER50> Oh my brain skipped that!

</comment></comment></comment><comment><USER51> This doesn't seem appropriate content for HN.</comment>


File finder in github - <AUTHOR> https://github.com/blog/793-introducing-the-file-finder

<comment><USER2> cool feature :)</comment>


Dyad: Minimal, portable async networking library for C - <AUTHOR> https://github.com/rxi/dyad

<comment><USER2> Recommended additions to the docs / marketing material:

"portable" \-- portable to what?

comparisons -- vs. libevent, libuv, etc.

in the sample program -- when will dyad_getStreamCount() drop to zero? will it ever? what exactly is a "stream" anyway and how does it relate to individual connections?

</comment><comment><USER3> It uses select, which is notorious for poor performance (although is relatively portable). Try not to use this project for anything high-load.

<comment><USER4> How are you supposed to do socket programming without select?

<comment><USER5> poll is fairly portable, but still has scaling problems. To get beyond scaling problems, you usually need something OS-specific, such as epoll (Linux), kqueue (BSDs of some kind), etc. One of the things I'd expect of a cross- platform networking library would be to use the best available abstraction, especially on major platforms such as linux, and perhaps fall back to select on odd platforms. Of course, your docs need to point out what the behavior is.

The problem with poll/select is that you need to pass (transfer) to the kernel the entire list of events you're interested in, just to wait for a single event. Each time you re-enter your event loop you need to do this, and if you have thousands of connections, it will break down, because poll is O(number of connections).

epoll, for example, works around this by having an "epoll FD", which on the kernel side contains all the events you're interested in. You wait by just waiting on that epoll fd with epoll_wait, but you don't specify the events you're interested in when you wait: you do that ahead of time, with other system calls. This allows you to change the event list only when you need to, which is much less frequent than some data arrived from somewhere. The API is supposed to be O(1), instead of O(number of connections) per wait call.

My understanding is the kqueue works similarly, but I'm a Linux guy, so I can't really tell you.

select also has other problems w.r.t. FDs with high numbers.

<comment><USER6> yeah...epoll and kqueue in my experience are easily interchangeable. I built a server on FreeBSD and the port to Linux was straightforward. My first event- based socket usage was on Windows NT around 1999. When we ported the server parts to Linux, replacing with epoll was also straightforward.

</comment></comment></comment></comment><comment><USER7> Here is a libevent echo server for comparison:

[http://www.wangafu.net/~nickm/libevent- book/Ref8_listener.ht...](http://www.wangafu.net/~nickm/libevent- book/Ref8_listener.html#_example_code_an_echo_server)

It looks like this library has only 2 weeks worth of commits so I'll reserve any criticism. My vote is still with libevent though!

</comment><comment><USER8> dyad_writef is certainly not 'async' when using the 'r' input specifier (which seems to redirect input from a FILE* to the output stream). And the way dyad_writef achieves 'async' is to buffer the entire contents of the output in RAM.

So for 'r', why bother using the FILE* formatted IO if all you're going to do is pull single characters at a time? You can just use file descriptors.

</comment><comment><USER9> Is it just me that wants to have complete control over stuff? I mean if you really have the need to use a library like libevent you most likely know why and could do your own handling rather easily.

I'm not saying there's not a need for libraries like libevent, but IMO it's not needed for most applications. I might be biased because I want complete control and know what happens, I think that's important. I don't want to use a library before I know what happens in the "background". When I know that and know what I need, only then it might be appropriate to use a library.

<comment><USER10> For me, libevent just provides the boiler plate but I'd be writing too often for fd registration and timeouts.

I could do it myself, but it would just end up looking more and more like libevent each time I did it.

</comment></comment><comment><USER11> A friend of mine wrote something similar for C++: [https://github.com/Kosta- Github/http-cpp](https://github.com/Kosta-Github/http-cpp)

</comment><comment><USER12> Is it called Dyad for the reason I think it is called Dyad? ;-)

</comment><comment><USER13> Very neat! Although after using C#'s TAP, callbacks sound like hell :)

<comment><USER14> Callbacks can be avoided using co-routines. I started a project that uses asynchronous sockets but they appear synchronous. With a bit of abstraction, it's really easy to develop network applications even in C:

[https://github.com/reginaldl/librinoo](https://github.com/reginaldl/librinoo)

<comment> brown-dragon Your approach looks very interesting - the examples are definitely much easier to read and understand over most async C code I have seen. How does it work internally?

<comment><USER15> All of the different coroutine/user-space-threads work by switching the stack and the the instruction pointer when the code is about to block on an async system call. So one would find that to read from the socket would block (by getting EWOULDBLOCK in errno) register to wait for this fd to become readable and switch to another coroutine. There is always one coroutine that gets scheduled from time to time and users select/poll/epoll to get all the fds that got data in them and wake up and schedule the coroutines that are waiting on each of these fds.

It's a very neat concept that allows for cleaner code (sequential rather than callback-hell) and use one or a few threads for many actions but without the overhead of thread-per-socket.

<comment> brown-dragon Isn't it effectively thread-per-socket except that the switches now only happen on an async system call? The difference, I guess, is you can optimize the context switch to be very small (and have smaller thread stacks) at the cost of giving up pre-emptive switching.

<comment><USER15> It reduces context switches in the kernel which are more expensive and reduces the memory resources needed for kernel threads which are larger.

There are also some hidden gains in terms of TLB caches and other costs of kernel threads switching.

An additional advantage is that between user-space-threads you have fewer locking problem since they implicitly lock out each other between context switch points so you only need locks when you need to protect an area across several context switch points.

</comment></comment></comment></comment></comment></comment><comment><USER16> does not seem like it supports ssl socket..or did i miss it ?

<comment><USER17> There is no such thing as "ssl socket".</comment></comment>