skysight-inc/HackerNews huggingface dataset:
> Do FP using Microsoft BASIC, circa 1980 or thereabouts (heck, if you want, use any BASIC from that era).

Well... anything without higher order functions & currying is gonna struggle with _beauty_ when it comes to Functional Programming... And Basics type system wouldn't be particularly enjoyable in the context of serious development...

That said, and supporting the OPs point: mapping the required functional data transformations, establishing a flow of transformed data, and producing code to support that transformation is highly achievable in typed imperative languages. In fact, it would be right at home in Basic...

Creating immutable, side-effect free functions in Basic that are then chained on matching output types and input types, and composing those functions in a control function, would look much closer to "bog standard" Basic than attempting OOP in Basic does. In fact, to a trained imperative Basic developer, it would look like very clean, composable, code that had logical and contained GOTOs and a well-reasoned strict relationship to changing data in incoming parameters...

You would not have any language support forcing you to Do The Right Thing, and there would be oodles of temp variables smart FP languages just compose away... but to do FP in MS Basic ca 1980? Just grab some imperative Basic, strip the side effects, and you're done. Basics later modules are a great conceptual match for Haskell and OCamls modules, too...

> I'm pretty sure FP would be easier to demonstrate using Logo from that period than using BASIC.

Logo is a LISP dialect created to teach (functional) programming and logic, so that claim would apply to lots of languages IMO :)

I think the idea that FP isn't highly grokable in imperative languages is a symptom of the biggest problem with functional programming: it's both far simpler than we imagine and more complex.
Alternatively, capping the number of network requests would be valuable.
I don't mind advertising as a way of paying for content. As long as there isn't a better micropayment strategy, I realize there is no better model (donations and expensive per-site subscriptions I don't think are a viable model).

BUT

- I do mind being tracked. I think it's an extreme violation to even show me a shoe ad because I googled shoes yesterday, or visited a shoe store online on monday.

- I do mind annoying ads (Animated ads, ads disrupting the reading etc).

- I do mind ads that aren't clearly marked (Instagram "influencers" without obvious disclosure, "native" advertising in newspapers etc)

My hope for the online ad industry is that it will backtrack 20 years to a point where it works like print and billboard ads.

Advertisers pay X dollars to buy N impressions of static images with vanlilla hyperlinks, untargeted and unverified on some known range of sites.

This might seem like a ridiculous idea today. Who would want to pay for unverified impressions with little or no fraud detection? Who would want to pay to show ads that should be shown to 20-23 year old females to ALL visitors?

My hope for adblocking is that this will be the only ad space you can buy online. The first effect will be that advertisers pull out of the web and start advertising on native apps, in video clips etc. But once people start preferring their adblocked web version of facebook to the ad-bloated app (and so on) maybe that will change too.
Ask HN: Do you rank local applicants higher?
I live in South America and I keep getting nice emails from companies that I applied to saying I have a great set of skills and experience but unfortunately they won't be able to invite me for interview. Even when they prominently display "visa sponsor" in their job ads.

I'm thinking about accepting ANY job that will allow immigrate to Canada/Europe just so I can even be considered for interviewing at the places I want to work at.
U.S. Employers Struggle to Match Workers with Open Jobs
Better or worse than ranger?
ZEIT Day Berlin (A One-Day Conference for the ZEIT Community)
And how do you do it?

The snarky “you don’t” isn’t very helpful.

Do you live in Arizona where someone mentioned they have new legislation?

https://www.usatoday.com/story/tech/2015/07/02/new-arizona-l...
This is basically a: "We kill the Batman" statement, on its own :)
React is my preferred frontend library, so rather than ditch it when I needed to work with a CMS I decided to go JSX-free and write my component in plain ES2015 with Preact's hyperscript/createElement syntax. I thought I'd write up a few tips and a demo widget to show how it works.

Overall it's not a bad experience. JSX makes HTML feel more at home, but tends to obscure the underlying Javascript. Composition and higher-order components are more obvious in plain JS. If I was writing a library using those patterns heavily I might be tempted to go JSX-free even if bundling with Webpack + Babel.

BTW the Codepen version of the post has much better code formatting: https://codepen.io/alexkrolick/post/react-without-a-build-st...
This comment hints at either interesting thoughts or craziness, but is about four times too short for me to tell which.
Do you believe that Burger King, McDonalds, and Wendy's are all within 5bpp of productivity of each other? Because none of them have taken over all of the market, not by a wide margin.

I seriously doubt their productivity numbers are anywhere near that tight a spread and yet we've seen no clear monopoly emerge.
Would your spendings suffer a decrease if a magic virus wiped all ads from existence? Personally, I think I'd find stuff to buy all the time.
How “Doxxing” Became a Mainstream Tool in the Culture Wars
Ask HN: Any good resources on microservices CI/CD pipelines with testing stages?
Python Overtakes R for Data Science and Machine Learning
"Nucleus os vxp" has very less results in google. There are more results in bing.
One example of Google trying to manipulate the last US elections: http://www.breitbart.com/tech/2016/09/13/hillary-google-bias...
If you have fixed pitch, you can't really autorotate anyway. Safety would be provided by redundancy.

With collective pitch, it becomes interesting. Does the motor help or hinder autorotation?

In a hybrid system, you anyway decouple the propeller and turbine with the electric system.

Your car gearbox operates at much lower speeds (because it's not attached to a turbine) and has a lot less weight constraints. Helicopter powertrains require a lot of maintenance.

The stack exchange link talks about jetliners while we're talking about copters.
I'd categorize: 1) making ads available in a browsable index isn't the same as 2) throwing them into people's consciousness without their explicit consent/interest.
How Buffer Approaches Deploying Code to Kubernetes
> If you want to keep track of world-current, then you need a variable that changes from world-0 to world-1 somewhere.

Putting on my FP hat: if you need the state of the current world then somewhere you need a side-effect free function that can report that state. If you're managing that state over time then you'll need other functions to handle that stream of immutable data.

Conceptual mutability very often isn't a change of data, it's a change in usage/reporting context.

And since we're in FP land we could compose those input and handling functions together and splay them across infinite vectors in both directions creating infinite functional chains of potential data interactions that are only calculated on demand based on incoming data. We can be highly confident that those calculations will scale from 1 to 1 million CPUs/machines. We can be highly confident about state-based testing of future states (a la Y2K bug). We can formally verify system behaviour and the underlying data flow. We can also safely and logically match those flows to new and interesting transformations through exhaustive pattern matching with guarantees that we are not impacting the current system behaviour...

Granted: there are likely mutable variables somewhere in that turtle-stack, but the overall systems relationship to state will not be impugned by them as long as they are appropriately contained.
The Computer Hack That Saved Apollo 14 [video]
There's only one value "Do" will ever have. He might as well set it from the beginning ;)
icc does this as well on the same example.
There are other goodies, like memory views, blittable structs, interior pointers and readonly refs.

https://github.com/dotnet/roslyn/blob/master/docs/Language%2...
Children's books with humans have greater moral impact than animals, study finds
It’s OK to look at multiple things at the same time.
Really? You're one of few people who think that. The 'manifesto' hits the crazy right off the bat and sticks to it for 35k words.

"One of the most widespread manifestations of the craziness of our world is leftism [...] When we speak of leftists in this article we have in mind mainly socialists, collectivists, “politically correct” types, feminists, gay and disability activists, animal rights activists and the like [...] Thus, what we mean by “leftism” will emerge more clearly in the course of our discussion of leftist psychology. (Also, see paragraphs 227-230.)

[...] By “feelings of inferiority” we mean not only inferiority feelings in the strict sense but a whole spectrum of related traits; low self-esteem, feelings of powerlessness, depressive tendencies, defeatism, guilt, self- hatred, etc. We argue that modern leftists tend to have some such feelings (possibly more or less repressed) and that these feelings are decisive in determining the direction of modern leftism."

You can get stuff of this quality by the shovelful from your typical bad subreddit, although usually not by one person all at once.
Most of them are type hints.
Perl6 and cperl have a similar distinction. Hard types and compiler hints. In an FFI context it's a hard type, with arrays or structs also, with primitives the compiler may ignore it or allow otherwise permitted temporary casts.
The only value it will ever have is NULL (but calling through a NULL function pointer is UB so it can instead call system() :)
Is there more extensive description of what the Medical items delivered actually are? I guess it's mostly just blood?
This is a technically correct compilation of the given C program. All executions of a program containing undefined behavior are invalid. That means, not just the part of execution "after" the undefined behavior, but the part of execution "before" as well.

Since the program unconditionally calls an uninitialized (actually zero-initialized) function pointer, that is undefined behavior. It therefore has no valid executions. The compiler is legally allowed to generate whatever code it wants, and that is considered valid according to the standard. It just so happens in this case that it probably generated no code at all for main, falling through to code that it did generate. (and my guess as to why it did generate code for NeverCalled() is because it's non-static and could be called by functions outside this compilation unit; NeverCalled keeps EraseAll() alive.)

edit: the above is only true if the compiler knows main is the entrypoint to the program.
You Can’t Block Mark Zuckerberg or Priscilla Chan on Facebook
I was always curious why Ryan Dahl left the community. He finally answered that question; not the way I thought he would though:

"I think Node is not the best system to build a massive server web. I would definitely use Go for that. And honestly, that's basically the reason why I left Node."

Go may be an excellent choice for massive non-web servers, I don't have enough experience in it to say. For the product I work on, though, Node.js is the way to go. It's the best framework that allows us to use the same exact code on the server and on the client to create a fast progressive site.
> If a developer on my team has committed only 30 lines in three months, sorry but I'm gonna be skeptical of their actual productivity

If LOC is what you rely on, I'd be sceptical of many things, sorry not sorry.
Two thoughts: I bet it wouldn't be that hard to make a canvas version of the android view library.

Also, I wish the projects would agree on a univeral browser api facade that worked across jsweet, teavm, gwt, doppio, etc. That would be great.
Apple breaks its silence on net neutrality, saying: Don't repeal the rules
I had several inexpensive sushi meals near Tsukiji market and another at a counter in the Ginza train station, all of which beat 99+% of the sushi meals I've had in the US.

We also went to one of those amazing, reservation-needed places, but were arranged by a local there.

I strongly suspect that it's about as hard to find good sushi in Japan as good Italian food in Rome. My advice is to get out of the hotels and onto the streets and don't be afraid or ashamed to eat at a place without English menus. Point at the pictures if you must, but I didn't have a single bad meal experience there.
You had a VGA controller? That's nice. I had to design my own back in the days. https://github.com/a3f/r3k.vhdl/tree/Demo-v1/vhdl/io/vga
So, the compiler finds out that the function pointer Do is either undefined or points to EraseAll, and since calling an undefined function is undefined behavior, the compiler assumes that 'Do' always points to EraseAll?

Is this what is happening?

While this is certainly unexpected, I can't fault the compiler here. The example emphasizes the need for tools to check for undefined behavior.
China's AI technology is fast catching up to the US, Goldman Sachs says
Aizdevumi juridiskām personām inovatīvu projektu attīstībai
Show HN: CloudRIG – Another cloud Steam streaming client
You very well might be
The undefined behavior is that the static variable "Do" (a function pointer) is used without initialization. The compiler optimization is that since, in the whole program, the only value to ever be assigned to "Do" is the function "EraseAll", the compiler statically initializes "Do" to "EraseAll". Doesn't seem too crazy.
As a concrete example, in Python 1.5.2, urlparse.py:urlparse returned a 6-element tuple:

# Parse a URL into 6 components:
# <scheme>://<netloc>/<path>;<params>?<query>#<fragment>
# Return a 6-tuple: (scheme, netloc, path, params, query, fragment).
# Note that we don't break the components up in smaller bits
# (e.g. netloc is a single string) and we don't expand % escapes.
def urlparse(url, scheme = '', allow_fragments = 1):
...
tuple = scheme, netloc, url, params, query, fragment
_parse_cache[key] = tuple
return tuple

This API was around for years, with people using tuple indexing either explicitly or through destructuring assignment.

This was replaced with a namedtuple. The following is from Python 2.7.10:

class ParseResult(namedtuple('ParseResult', 'scheme netloc path params query fragment'), ResultMixin):

__slots__ = ()

def geturl(self):
return urlunparse(self)

def urlparse(url, scheme='', allow_fragments=True):
"""Parse a URL into 6 components:
<scheme>://<netloc>/<path>;<params>?<query>#<fragment>
Return a 6-tuple: (scheme, netloc, path, params, query, fragment).
Note that we don't break the components up in smaller bits
(e.g. netloc is a single string) and we don't expand % escapes."""
tuple = urlsplit(url, scheme, allow_fragments)
scheme, netloc, url, query, fragment = tuple
if scheme in uses_params and ';' in url:
url, params = _splitparams(url)
else:
params = ''
return ParseResult(scheme, netloc, url, params, query, fragment)

The old tuple-based API still works, so it doesn't break backwards compatibility, while it also gives people the ability to migrate to an attribute-based API.

That said, it's very hard to remove the old API. The latest version of Python, in url/parse.py:urlparse, still supports tuple-based indexing.

Perhaps Python 4 will remove that behavior? Probably not. At the very least there would need to be a namedtuplemigration type which gives a warning if the old tuple API is used when only attribute lookup is expected.
Why Music Promotion Is Essential for Aspiring Musicians – The Blogging Musician
When things go wrong for Western companies people absolutely do blame it on cultural factors, yes. Beancounters, pressure on quarterly earnings from Wall St, to name a couple of examples. SpaceX through the sheer force of Elon's will has kept some of this at bay, but he won't be able to forever, and the cold winds are already blowing at Tesla.
Let's wrap some context around the situation here. Party X is an organisation that proudly boasts about its hatefulness, misery-spreading activities, and sticking its finger in the eye of 'the establishment'. They approach one of the biggest members of 'the establishment', corporation Y, for services. For the first half of corporation Y's existence, they famously ran under the slogan "don't be evil".

Party X then willingly signs on to a business relationship with corp Y, who has terms of service that have an entire line item stating that they can reject applications at corp Y's sole discretion. Right here, this is your due process. Corp Y then exercises their rights as per the ToS - they didn't lean on anyone (which is what this thread was originally about), they were exercising the rights granted to them by the business contract. Party X agreed to these terms. Party X is at fault here for not doing their due diligence with their business partners - something they really should have paid attention to, given their situation at the time.

Regarding the 60 days, this is not corp Y applying extrajudicial punishment. It's a matter of 'falling between the cracks'. ICANN rules set this 60 days[1], not corp Y, and this 60-day limitation info is also available in the ToS.

Google offered a service with terms, Stormer accepted it, Google exercised their rights as per the terms, and the 60 days is an accidental by-product of interaction with the overseeing body's rules, not a 'fuck you' from Google.

A marker of a chilling dystopian future, this domain cancellation ain't.

[1] https://www.icann.org/resources/pages/text-2012-02-25-en
I agree that the generated code is leagal wrt. the standard and that code for NeverCalled is generated because it is visible outside the translation unit.

However, to me it looks as if the assembly contains code for main (label main: is present) and EraseAll got inlined into main. This seems reasonable once you believe that the compiler can, due to undefined behavior, assume DO to be EraseAll.
Yul Edochie Emerge the Flag Bearer of Democratic People Congress (DPC)
> Spammers, [...], spam,

Could easily be addressed by Twitter but for some reason, much like their ignoring of harassment, they choose not to.
I'm inclined to agree. To me callback hell is a symptom of lazy, or perhaps just ignorant, programming. It was never a necessity: if things are getting out of control, create a named function and pass in the name as the callback to make things more readable.
Serial and USB port virtualization technology
No, if you try this with the various optimization levels you can see that it's not a bug; without optimization it doesn't happen. Instead what seems plausible to me is that some optimization pass analyses the possible values for "Do", which is tractable, since it's static and can't be aliased. Because the value must be initialized before Do() the optimizer seems to unconditionally use the only possible initialization, even if it is unreachable.

With -O1 you can see that this part already happens. With optimization cranked further up it just inlines EraseAll, and EraseAll ceases to exist as a separate symbol. This is possible since Do is static and not aliased. Meanwhile NeverCalled continues to exist as a retq, since it is not static.
Still better than having demons fly out of your nose.
I would assume a rewrite counts as a bunch of line changes -- absent evidence to the contrary. Obviously, if you're changing the language that changes the equation, some bugs which can happen in C++ simply cannot happen in Rust, for example.

(And yes, I meant "positively correlated with".)
> an RSS reader with Markdown

I am not sure what this means. Why would I need markdown in an RSS reader?

Reading on the page itself, it seems like the feeds are in plain text with ability to create headers? Is that what the markdown is for here?

And is that the iOS linen I see? Makes the design feel a bit dated.
Why we moved from Angular 2 to Vue.js and why we didn’t choose React
Google is using threats of lose of adsense revenue to accomplish the same. the trouble with any control of speech on the internet is that that control can eventually be manipulated to serve the purpose of those who are not allowed to suppress speech; government
> the emulator does, for example

No it doesn't.

"Android Studio: The Mesa software renderer is deprecated. Use Swiftshader for software rendering"

https://stackoverflow.com/questions/39568455/android-studio-...

Intel has dropped out of Android market.
Ariane V and current-Soyuz's predecessor would have better track records. But yeah, 2 failures in 41 launches puts it fairly high in the league tables.
So the only important thing is commerce? Let's deregulate everything then: drugs, sex, human trafficking, banks (shivers).
>the only one I know of that sees the bigger picture

Could you elaborate?
It's uninitialized, not NULL.

edit: I was wrong, see below.
Getting Googled by Your Doctor Is the New Normal
24% hydro, 28% gas, 29% geothermal, 8% wind, 8% coal.

https://en.wikipedia.org/wiki/Electricity_sector_in_New_Zeal...
Computers able to mimic unique movements
Acer Predator Orion 9000: A PC gamer overkill with 4 graphics cards
I'll put that on the roadmap!
So, is this on the underhanded C shortlist yet?

I wonder how many static analysis tools will pick up that the function will be run.

And then I start wondering if the static analysis tool "scene" realizes how important their work is for security...
Hotel Near Gomti Nagar Lucknow – Madhurima Hotel
Madhurima Hotel is one of the good hotels in Lucknow, with best rates & good amenities. It offers well furnished rooms with banquet hall for organising events. Learn more about us & choose the best hotel for your stay in Lucknow. https://madhurimahotel.com/hotel
This is great. I manually monitor usage quite regularly at my meter (unfortunately not easy to get a smart meter in my country yet...) but it's just a number and you need to work out the current instantaneous usage. This just gives an intuitive sense. I really like interfaces that have this 'always-on-ness' and such a low barrier to insight.

I've actually considered making a glowing light in my office to link to the conversion rate of my SaaS app. For emergency & binary type alerts I get an immediate text alert. But for slightly softer & less urgent metrics a variable color glowing light could be a good way to get across how fast I should look into things ('this week, tomorrow, or maybe this afternoon since it's looking quite orange!').
Comparison of Upright and Canister Vacuum
The Subscription App Paradox
It's not just blood, but that's a large portion of it. Flying out supplies really makes sense when you consider material that needs to be refrigerated (like blood). Rural African roads during wet season can be outright unusable; moving stuff can be a matter of weeks just to move something a few miles.
Understanding Classification in Machine Learning
Looking ahead to the November 2016 US presidential election, I see clear signs that Google is backing Hillary Clinton.

Disclaimer, as a European I only loosely followed the election and our local media was very much pro Hillary. I had the image everyone concluded her presidency was in the bag and the election was a mere formality, in fact Trump's campaign was described as an elaborate trolling attempt until winning the republican nomination.

However the results (with a good deal of hindsight) seems to show the internet/media's ability to influence opinions is much smaller then they predict.
DeepL Translator delivers translations of unrivaled quality
This is a really cool, graphic example of the importance of avoiding undefined behavior even if you can't see it segfault or whatever.
ThunderPlains Developer Conference