skysight-inc/HackerNews huggingface dataset:
Moreover, you're handing over more control to this new investor. If he guy doesn't want to take it then he can still sit on his shares.
TIL: HTTPS encrypts the URL.
If this story was on an ugly Wordpress site, no one would upvote it.
> You start saying 'software engineer' and end with programmer. Clarify your terms.

Eh, it snuck in there. I specifically changed programmer to software engineer in multiple spots to disambiguate it because I was talking about "programming" as an act distinct from applied CS. I missed doing so at the end.

> There is a huge difference between willing to take on liability for your faults versus slinging code.

Based on your assumption of what I meant, it sounds like you have something you wish to express on this point. Perhaps you should do so in more detail?
CS jobs in the west are victims of Globalisation. We simply cannot compete with Asia and Eastern Europe with regards to wages. Hence outsourcing which has been ongoing for decades. We _can_ compete on quality and solutions, but these are hidden properties which might or might not be a problem in the finished product. Business people consider scope and cost first and foremost. In addition, many of the best and highest paid programmers are self-thought. This works, because 99.9% of your career will be bread and butter CRUD apps anyone can do. At the university we studied algorithms and data structures which we will never use or implement. When was the last time you had to do a breadth-first-search on a graph? I really cannot recommend anyone in the west to study CS today.
I thought RSS had died a rather unfortunate and inconvenient death... am I wrong and it's still been kicking all this time?
Sorry, but that's not a mistake. That's the common-sense reading of the title. Your reading is much less likely.
Absolutely-- but internally to these providers, the CapEx model doesn't cover what most people think it does. It's a very, very rough analog for infrastructure spend. GAAP is a fun thing to play with...
Ugh. That was me.

At age 14 I used to copy BASIC into my Atari 600XL, QBASIC into my old 5150 and 486 PC, some HTML in the 90s, some Python, Perl others here and there.

So I tried to go for CS about ten years out of school and Java got me.

My brain just doesn't seem to like programming.
"One significant phenomenon at that time was that commodity hardware was progressing much faster than had been anticipated, in the end eclipsing the specialized designs that were being worked on."

This is exactly what happened. A slow language like Prolog on OK hardware that accelerates it can't compete with a fast language like (not-Prolog) on highly-custom, top-of-the-line hardware that accelerates it. It can't in the general case and plenty times not in the special case. Now, that was when Moore's Law was in full swing. There's potential now for that pendulum to swing in reverse for something like this.
What exactly led you to believe posting a pirated copy of a copyrighted book on HN is okay?
Agreed. Coffeescript was excellent lipstick for the pig that is javascript.
Aside from the many valid theories already listed, I'd add:

perception of dullness

Many people find the idea of staring at code all day, regardless of potential for remuneration, boring. Worrying about every little character, futzing around with compilers and debuggers, and reading manuals isn't many people's idea of fun.

Over the years, several non-developers have commented on this to me; "boring," "dry," and "dull" were generally the adjectives used. It's also perceived by many (rightfully) to be especially prone to the "retrain on your own dime" issue (which has become more common across industries and jobs, but in software dev is particularly acute.) The idea of spending your weekends having to learn a new library or brush up on your fundamentals to interview yet again isn't appealing, and it wouldn't surprise me if younger people were already very clued into this.

"Most desired career among young people: 'YouTuber'":

http://www.tubefilter.com/2017/05/24/most-desired-career-you...
Floating point numbers can accurately represent integers, so if you have all your prices in cents, you end up with (x * 3) / 3, where each number in that calculation is an integer. No inaccuracy there. Of course there is no reason for a register to actually perform this division in a three-for-one action, it can just replace (x * 3) with x, or subtract (x * 2).

I agree as much as the next person that you shouldn't represent money with floating point numbers, but I disagree that cash register software written in Javascript must automatically be incorrect (or more so that similar software in a different language). And I don't even like Javascript.
It reminds me of Sim City clicking on parts of the grid with the sound effects in the background. I wonder if that was an inspiration.
Interesting this website is "not secure". I remember that chrome was going to start doing this, but the first time I actually saw it happen.
>> trying to use a sorting function on an uninitialized list

That would give you an error, and rightly so. You can't really expect to sort what's not there. Or am I misunderstanding your comment somehow? I don't quite understand what you mean by "inlining" and how that can help sort a list of no-values?
I’ve been making web apps since 2003, which means that I’ve been doing this for fourteen years now, or it means that I can’t count. So, there are few people more qualified than me to tell you this:

The web is shit.

I've been doing this since 1996. I watched the transition from server-side analytics (one of my first jobs was implementing access log collection and anaylsis for a decently sized group of sites) to client-side.

I remember solutions like analog and on up to Urchin and then Urhcin's transiton to client-side and finally its acqusition by Google.

By 2000, anyone paying attention knew it would not end well.

So here we are, bloated web. I'll be mildly amused if sites are forced to return to server-side log collection because enough folks have started using tracking blockers.

Everything old is new again.

https://en.wikipedia.org/wiki/Analog_(program)
I simplified your notation a bit and added some slightly silly predicates, but this works:

ticker('TimeWarner', 'TWC', date(1999-01-01), date(2014-04-31)).
ticker('TimeWarner', 'AOL', date(2014-05-01), date(9999-01-01)).

transform_date(date(Y-M-D), R) :-
R is Y * 416 + M * 32 + D.

after(Adate, Bdate) :-
transform_date(Adate, A),
transform_date(Bdate, B),
A @> B.

current_at(Name, C, Start, End, T) :-
ticker(Name, C, Start, End),
after(T, Start),
after(End, T).

?- current_at('TimeWarner', C, S, E, date(2017-05-29)).
C = 'AOL',
S = date(2014-5-1),
E = date(9999-1-1).
Ok, so quite interesting to look at how all this works:

Top of this page: https://slack.com/privacy-policy

Information we collect and receive
1. Customer Data

Content and information submitted by users to the Services is referred to in this policy as “Customer Data.” As further explained below, Customer Data is controlled by the organization or other third party that created the team (the “Customer”). Where Slack collects or processes Customer Data, it does so on behalf of the Customer. Here are some examples of Customer Data (but keep in mind they are only examples and there may be others): messages (including those in channels and direct messages), pictures, videos, edits to messages or deleted messages, and other types of files. A user may also choose to enter information into their profile, such as first and last name, job, a photo and a phone number.

And somewhat lower down:

Sharing and Disclosure
There are times when information described in this privacy policy may be shared by Slack. This section discusses only how Slack may share such information. Customers determine their own policies for the sharing and disclosure of Customer Data. Slack does not control how Customers or their third parties choose to share or disclose Customer Data.

1. Customer Data

Slack may share Customer Data in accordance with our agreement with the Customer and the Customer’s instructions, including:

With third party service providers and agents. We may engage third party companies or individuals to process Customer Data.
With affiliates. We may engage affiliates in our corporate group to process Customer Data.
With third party integrations. Slack may, acting on our Customer’s behalf, share Customer Data with the provider of an integration added by Customer. Slack is not responsible for how the provider of an integration may collect, use, and share Customer Data.

In short, it pretty much looks like they can do what the heck they want with anything you type in.
Well put. I work in engineering at a large industrial plant very similar issues here. There is a huge effort from management aimed at improving workplace diversity but at least from my limited point of view seems difficult to attract female applicants for open positions. I think partially it's remote location our plant is not in a very attractive place to start a family etc. Also the issue you identified where "coal face" experience is seen as a rite of passage into upper management.

My sister is also a mechanical engineer she worked on remote mine sites for a while and then at a power plant. She took a few years off to have children and now has no desire to get back to that kind of lifestyle. She works for the government now.
>Surely Japanese characters should not be treated the same as Mandarin ones

No. In Japanese, how you read/pronounce a character depends on context. Sometimes they are the same as Chinese, sometimes not.

Take mountain (山) for example.

Using the Chinese pronouncation it is "san". 富士山 (Mount Fuji) is ふじさん "Fuji san"

Using Japanese pronouncation it is "yama". 山登り (Mountain Climbing) is やまのぼり "yamanoboru"

(and don't call me Shirley)
What Joel covers is just fine for software developers who a) work in a language written in Latin script and b) aren't specifically responsible for internationalization of their product. Deeper issues can be left to specialists.
As Computer Coding Classes Swell, So Does Cheating
I hope to have time to work on a server-side ad + analytics framework, purely as an exercise. Might work as a business as well, as a "boutique" version of an ad network for blogs and businesses who care about privacy/not shitting in their users' browsers. I noticed this kind of small network with "premium"/"nice" ads a couple of years ago, but I can't remember any names. I really liked the idea tho.
Prediction market tokens seem to be really popular. I am sure they will rise in value with the rising tide, but I am not extremely interested in them personally. I am not sure they can deliver on the utopia-like vision they claim to be able to deliver. If I were to buy something right now, I would purchase tezos, ether, and 1-2 of my favorite ether contract tokens. I am very weary though that this is a big bubble.
I really like the thinking of moving the smallest piece to the very bottom!

This would make a great quiz night team challenge or corporate team-building activity.
It's great that this was part of an assignment. Git is a fantastic, incredible tool. Along with testing, it's one of the skills I figure is just as important as the things you learn in university, but which typically isn't taught there.
There's also NFKC_Casefold, which is a technique used by RFC 5892 (among others) to limit the characters allowable in a domain name. The problem is that it also disallows 'A', because Casefold(NFKC('A')) != 'A'. I'm sure that's equally annoying in other languages. And in any event makes it problematic for usages like parsing URLs from free-form Unicode text.

Unicode specifications are incredibly thorough and well thought-out. The problem is that the Unicode spec isn't shippable software. It's not an implementation.

And there's no singular implementation. Worse, nobody uses any particular implementation the same way, and rarely to its fullest extent. Compounding the problems, so much code is _proprietary_. You have no way to verify and track how such code will behave, so interoperability is difficult. For example, good luck trying to reproduce the behavior of Outlook, Mail.app, and gmail.com in terms of how each will highlight URLs in free-form text.

The only saving grace appears to be that the rest of the world, I assume, has grown accustomed to how broken American software is in terms of dealing with I18N issues. And Americans remain blissfully naive. I keep waiting for the other shoe to drop; when managers will finally crack the whip at the behest of international customers and demand that engineers begin taking I18N seriously. But it hasn't happened yet. I've been waiting almost 15 years, accumulating skills and best practices that my employers don't seem to value very much. Oh well....
We had this issue on our sites for a short time; all in all, it was very effective at forcing a much higher business priority for the fix.
Your integrations section is still in French :)
How about just not using iTunes? The windows app is shit. There is no web app. The Android app is shit. I've just switched to Google play music everywhere. Don't know why people cling to something that's clearly crappy.
> formal governance by the owners of the tokens. It is also proof of stake from the beginning.

You mean the innovation that 50% can trivially rewrite history, or something else?
The reason is that the _ENV feature added in 5.2 would significantly slow down LuaJIT if it were supported. It's possible that Luac and LuaJIT will re-converge when Lua 6.0 is released, but arguments about this between Mike Pall amd Roberto Ierusalimschy have been unproductive so far. Until then, LuaJIT compiles Lua 5.1 with support for a few 5.2 and 5.3 features, particularly goto.
Your example is spot on. I was looking for guidance on number of rounds just a couple of hours ago and noticed the same thing.
> It's not just whitespace, it's the specific formatting of whitespace.

Yes. Specific, context sensitive, that requires disambiguation in your head and therefore harder to read.

> We trade an unambiguous set of characters --the parentheses-- by whitespace, and make it context sensitive.
Parenthesis are often context sensitive in languages.

Yes, but they're consistent with the mathematical notation everyone has used over their entire life. By the time you pick up a programming language you have most likely used parenthesis for a while.

I am going to create a new language 99% identical to English, where fork means knife, knife means spoon and spoon means fork. Have a happy time translating paragraphs of text involving those 3 objects from English into my language.

> "Readable" is subjective.

Yes. But implicit vs explicit is not subjective. Implicit meaning takes non-zero effort to understand. It works when you the implicit subject is not relevant and you can be abstracted from it, but in this case there is no encapsulation taking place. Therefore, we could objectively say it's less readable. Quod erat demonstrandum.

> Or, it actually is that some people prefer it, even if you and I do not, and that's what it is

Now you have 2 ways of doing the same thing with no added value. Now you have more possible ways of writing down an expression, if you are parsing an expression or refactoring your code with a regex now it's much more complex. If you are writing a coding standard now you will have to make rules for it, and people may not reach agreement on those rules. People may have meeting to discuss which one to use and why, and spend time moving from one style to the other. It's a waste of time.

In 2017 there's still people fighting over tabs vs spaces. Now we add another dimension to it: spaces vs parenthesis. An endless source of bikeshedding.

> In the end, unless you're being forced to use this language

That's not how it works. I have had to use languages that I dislike because that was what was needed in my organization.
Android Kotlin VS Java – RecyclerView
That motherboard site was so bloated with ADs and other nonsense that I couldn't even get it to scroll. And I have a pretty fast machine. Amazing how unusable the web is becoming.
Oh, I'm not worried about that... I don't think $1M/year is a sharp line dividing "success" from "failure". I decided a decade ago that my criteria for success were:

1. Staying in Canada,

2. Doing work which I found interesting and meaningful, and

3. Earning more money than Google offered me,

and I'm hitting all three.
Node Red is very cool, especially for IOT type apps.
I've definitely heard arguments along the lines of your (1) before. I personally think it's a promising route, but it would definitely need to be a slow one. Right now, if you just took everyone's gear away, the players would probably end up killing each other. Not purposefully; just out of rote training and muscle memory. It would be good to introduce the behavioral bans first, then eventually remove the gear.

Out of curiosity, how severe is the average injury in Rugby?
Single-file Snake in Go
Styled-components v2
“Holy Grail” Bugs in Emulation
>> Also, the language is not really well suited for that; if I have to specify how exactly in which order the calculations need to be made, then imperative languages are a much better tool. I'm throwing away all the advantages of Prolog if I have to do this all the time - and in practice I do.

I'm going to kindly ask you to give at least a couple of different examples of this, because it's another of those criticisms of Prolog that have no real basis in actual practice of programming in the language.

My source for that is that I've been programming all my side projects and two dissertations in Prolog since 2007 and I've never been in a situation where I had to think long and hard about how to order my predicates. Most of the time the correct ordering is pretty straight-forward.

This criticism, about ordering of clauses, has its historical root in the competition between Prolog and PLANNER - because in PLANNER predicate order did not matter, which made the language more "pure" but also less efficient (which in turn is why many fewer people have heard of PLANNER than have heard of Prolog). The real point about it is not that you may have to pull your hair out a couple of times while programming. The point is that in first-order logic, as in maths, predicate order doesn't matter and therefore, in a pure first-order logic language, it shouldn't matter either. The criticism is that Prolog lacks purity, in other words.

Which, if I may be so bold, is nonsense on stilts. The real world is not pure and you can't has purely anything languages. People who complain about Prolog's lack of purity are quite prepared to throw away the baby of a very useable, 99% declarative language, allegedly because the bathwater of the missing 1% is really messing their codes up. I'm just not convinced by that to be honest.
https://security.googleblog.com/2015/03/maintaining-digital-...

"On Friday, March 20th, we became aware of unauthorized digital certificates for several Google domains. The certificates were issued by an intermediate certificate authority apparently held by a company called MCS Holdings. This intermediate certificate was issued by CNNIC."
If you're printing 14 digits of coordinate it's easy to add two more of checksum.
Nothing against comp Sci, but engineering is its own set of problems as you have to take a lot more advanced math classes than comp Sci, while taking all your calculus based engineering problems. Some you use techniques to convert to simple algebra problems...that end up being 2-3 pages long. All while having to learn CAD, robotics, practice circuits, design trusses, and yes, quite a few programming languages (basic, C, assembly, VHDL, Matlab, and PLC (ladder logic))to name a few. Each one of those has its own set of problems from the install to the OS to the awful assignments...etc. Then each class itself is often taught really harshly. I often had multiple choice tests...sounds good right? Not great when you make 1 sign error on an entire page of calculations and get 0/10 points. I had a design project once that I spent weeks on and went above and beyond everyone else in class. 30 pages on the design with pages of equations and optimizations. 1 page had a minor error that carried to another, but overall not too bad. 70/100. Not to sound overly dark, but engineering school was extremely difficult and by far the worst 4 years of my life. I graduated with a good GPA, but I studied pretty much non-stop those 4 years. Some people manage to make great grades with very little effort, but it is rare. Again, nothing against comp Sci. Any program that focuses on logical problem solving is A-ok in my book, I just don't want anyone to get the idea that engineering is in any way easy. It is often a cruel and harsh mistress.
1) They'd have to figure out how to constrain their service teams who support. It's not just customer locality that's important.

2) Yep, agreed there. Again, the choice that was made :)
I think you are right. I wondered the same thing about functional programming ala ML, LISP, etc. about 15 years ago. Today, "functional" is all the range and the paradigm is finding its way into mainstream languages. I think the same will happen for logic programming ala Prolog.

That said, I have seen a lot of hostility towards rule-based systems in the last 2-3 years ... it is nonsensical IMHO.
This is not how the great firewall works, check the facts known, not just baseless speculatation.
Log your hamster’s runs with Arduino
I know lots of folks doing mid to high 8 figures and I haven't heard of anyone capitalizing the leases like that. But maybe.

Thanks for expounding.
Exactly. In good careers, the experience that comes with time is counted as an asset. If you're in a career where you're considered washed up by 30 [1], you'd better be standing in the middle of an arena and surrounded by 80,000 screaming fans.

https://venturebeat.com/2007/03/26/start-up-advice-for-entre...
On a related topic, Haxe now compiles to Lua as well : https://haxe.org/blog/hello-lua/
(disclosure : I'm the author of the lua target)

Back to moonscript/Lua, I've been super impressed with the YAGNI principals of the language. I was originally drawn to LuaJIT and its raw speed, but there's a lot of great things to say about the language and its community.

My goal is to write more Lua for smaller scripting purposes, and use Haxe/Lua for more complex projects, taking advantage of LuaJIT speed in both cases.
I've worked in web analytics for the last 4 years. It's a bit annoying that OP doesn't differentiate "analytics tools" and "marketing tools", nearly every site I've worked on doubles the site load speed due to some arcane synchronous-only loading iFrame. Server side seems like a good idea until you realise how many bots there are on the internet (which the business doesn't care about), how hard it is to implement (one of the best and worst things about client side tracking is on a lot of sides it can be implemented and modified outside the deployment cycle) and how much information you get through these pixel calls.

There is a massive lack of technical talent in this field that companies are screaming out for. I'm very happy with it as a career. If you are interested in some advice on getting into it send me an email. Also happy to answer any questions.
Liquidation preference means they are preferred when there is a liquidation. So if the company is sold the person with the liquidation preference gets their money out first at the liquidation preference ratio. In this case, $2Mx2 means if the company is sold for $10M even though they only own 10% they get the first $4M.

http://www.investopedia.com/terms/l/liquidation-preference.a...
Except that arrays start on 1, right?
Bad article. Turns out they raised several hundred K USD, and were hoping to run a tip/donation system for streamers and others that worry about being attacked, chargebacks, etc. It's not as stupid as the article makes it out. Though running off with user funds just adds the cryptocoin spin to it.