skysight-inc/HackerNews huggingface dataset:
It might be worth pointing out that this Rust:

#[derive(Debug)]
enum ConfigError {
Io(io::Error),
Parse(ParseIntError),
}

impl From<io::Error> for ConfigError {
fn from(err: io::Error) -> ConfigError {
ConfigError::Io(err)
}
}

impl From<ParseIntError> for ConfigError {
fn from(err: ParseIntError) -> ConfigError {
ConfigError::Parse(err)
}
}

fn read_config() -> Result<i32, ConfigError> {
Result::Ok(parse_int(read_config_file()?)?)
}

// given the following
fn parse_int(str: String) -> Result<i32, ParseIntError> { ... }
fn read_config_file() -> Result<String, io::Error> { ... }

Is, in a sense, the equivalent of this Java:

int readConfig() throws IOException, ParseException {
return parseInt(readConfigFile());
}

// given the following
int parseInt(String str) throws ParseException { ... }
String readConfigFile() throws IOException { ... }

The reason i say that is that this:

throws IOException, ParseException

Is essentially a sum type. It says that if this method results in a failure value, it can fail with one of two types of failure values. It might not look like a new type, because in Java, types are almost always nominal, and this is structural, but that's what it is. I think that throw and catch clauses are the only place that Java will let you define an ad-hoc sum type. You have to use polymorphism everywhere else you want a variety of types.

Whereas in Rust, there are no structural sum types, and so the only way to make something resembling a sum type is:

enum ConfigError {
Io(io::Error),
Parse(ParseIntError),
}

Which means you also have to write the machinery to convert between the types.

I wonder if it would help to have a compiler- or library-defined From impl for all newtype enum variants (or all newtype structs more generally), that makes the variant from its argument. Or maybe it could be derived. It would wipe out a lot of this boilerplate.
Except for the times when they load all columns into memory and then you programmatically discard almost everything because you really just needed Person#name.
As I think and wonder sometimes: human race have some kind of "bug", we are not prepared for phones and notifications.
A friend of mine was an employee at a technology support company that supported Walmart's servers, registers, and probably more that I was not aware of. That company recently lost it's contract to IBM. They offered many of the employees contracts at IBM, but the general feeling was that many of them are just there until they finish training their overseas replacements. I tried to find a source to backup this info, but did not find anything. My only source is a reference check from IBM for one of the employees.

I'm not sure how much of an impact a contract of this size has on IBM's value, but it indicates to me that their competitors are a contract renewal away from being absorbed by IBM.
Your best options is to get an attorney and take them to court to recover your losses. No need to wait, especially for such a large amount of money. Get all your evidence together now so you can take it to an attorney tomorrow morning. If they had intentions on paying you on time they would have set aside your costs so they can be paid on time. Any company that does not do so does not care about paying you on time or staying in agreement with any contracts or other obligations.
I've seen people choking the rooster with it, and doing some cool machine lesrning with it to see how much they can mine for bitcoin a la Martha Stewart meets James Bond.

DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS!!!!
From your youtube video, it seems the apartment is around 150~200m^2

Can someone provide some figures on what one could rent in SV?
just installed it, i'm loving it. Most important to me is that it's FAST. Feels much faster than iOS Safari and iOS Chrome.

I tried to like Brendan Eich's Brave browser for about 2 weeks, but I didn't detect any clear advantages, so I stopped.

Keep up the good work!
I think besides some of the excessive explanations about how to generate sequences and strange loops yourself it is quite fun, though I read it slowly; it's not a book you can digest faster than a month or two imo.
That's actually a much better idea.

And a perfect use-case for Service Workers... even suitable for a Service Worker tutorial.
Not at present. I chose GCP/GAE because I know it well, and there's some convenience when integrating with other google cloud services (like BigQuery, gSheets/gCal, etc).
I'm 23. I have a goal of $2.4 million dollars by age 60. I currently have $4.3k saved. I'm having trouble meeting my goals because I am having trouble finding work. I live in the third largest city in my state, but it's not a city positively affected by globalization, so unemployment is high and wages are low. I can't move because my wife has a career started here. Such is life.
Show HN: virtual-clock.js – adjustable timekeeping for simulations/games/etc
Nothing... because methane in the arctic will end human civilization by then.
http://arctic-news.blogspot.com/p/extinction.html?m=1

It makes more sense to take big risks with money and then use any big payoffs to help geoengineering efforts or prepare for living in a bunker. That may sound silly but some rich people are already doing that:
http://www.newyorker.com/magazine/2017/01/30/doomsday-prep-f...
> Instead of going on about how to set up nftables from scratch, perhaps they should focus a little more on 'I have a system using your older recommended firewall, what do I need to do to keep things working?'

Because you don't need to do anything: you can continue to use iptables. Even in the future, when iptables is removed from kernel, you can continue to use iptables syntax, since iptables user-space program will simply start to output nftables (a.k.a. iptables will be a symbolic link to this: https://wiki.nftables.org/wiki-nftables/index.php/Moving_fro...). nftables is for people who are deploying new systems and want a sane configuration file instead of iptables mess, and at the same time offers improved error messages and better performance, while being more flexible.

So if you want you can continue to use iptables for the future. No need to be snark about OP.
for and & in a shell script :)
Not heavy, exactly, though I guess it can get slightly repetitive after a while (or maybe "loopy" is a more fitting word :]). It's actually quite entertaining.

If you want heavy-but-popular, try Foucault's Pendulum or House of Leaves …
I think it helps to think of git as a toolkit for designing a workflow, rather than a final product itself.
My point is that we should go a level "higher" than any current offering.

Ex, why not let me do something like this out of the box:

get https://api.github.com/users/Miserlou as miserlou
print "My name is " miserlou.name

Transparent/automatic web requests, content-type checking, serialization parsing, string formatting, network reference parsing, etc. Let the user be more specific if they need to, but design heavily around the most common use case.
I dream of a future where a sensor can detect from your urine/blood/bowel movement wether you have cancer or some disease.

Imagine a push notification to your phone that says you have a 82% chance of having hepatitis or something.

Do you think that could ever be a reality?
Your project sounds very interesting, and feature packed. Will it be open source, commercial, both? Thanks for sharing your insights on the agent interface, I've found that I (unexpectedly) use the messenger bot frequently for simple 'task completed' functionality and others.

Is there anything public on the web about your project at this point?
Unsplash is another perfect example of doing nice stuff with Service Worker. Someone should do it. Then you would only need a Chrome Extension that randomizes between URLs for the new tab.

See https://news.ycombinator.com/item?id=14286451
I made this a while ago but it never caught on:
https://s3.amazonaws.com/peruse/app/launchstorm.mp4

My hunch is that people don't want to go out of their way to discover stuff. Hence the extension...we're always opening new tabs!
Doesn't have to be true AI to be worth investing in.
>Instead of people using technology to magnify their lives, they are confining their lives to their phone.

I just love it how people jump to conclusions about what is going on with other people, based on cursory observation.

I doubt your conclusions are very accurate. I suspect many of the people you see engaged with their phones are enriching their real lives, not just the life in the phone, but the life outside of the phone, by connecting with friends, arranging IRL meetings, and learning.

The guy in the video was doing this to a pathological degree... projecting his own unexamined intuitions as facts about other people.
i also recorded my last convo with the COO.. but not sure if it is usable in court as she didn't know about it.
Systems entrepreneurship can help social impact projects bring change at scale
This is my major confusion as well. It seems not worth it to begin work in an older version because debt is inherent right at the start, and updating code (for a new language version) is a personal peeve (or irritant). It's irrational, so don't ask, but I avoid it everywhere I can.

Of course, diving into the newer version also adds a lot of debt, and possibly a total impasse, due to the lack of libraries that have made the update.

I guess it will be quite some time before it becomes foolish to still cling to py2
Warren Buffett has sold IBM shares, and 'revalued' tech icon downward
It's not the general wisdom, it's a fact. But not a simple one. There's an experiment (heard of it from an philosopher women talking about women in philosophy) showing that girls perform as good as boys in math, BUT, if asked to color a drawing before the math test, they perform less. Which means, I think, that we don't live in a void of emotions. Men tend to be more aggressive and a hard problem requires aggressiveness. Unfortunately this comes with a shown tendency towards sociopath behaviour, Angular vs React thingy. :)

Women, on the other side, go towards sadness and depression and anxiety. Which is hard on coding. Speaking from my own experience, as a white male.

All in all is unfortunate. Coding is a tiny thing in developing software, and I personally believe that it's much, much easier to work with women. But when they are surrounded by 90% men teammates, I can imagine that it's hard to be a woman in IT.
It would only be below a million if you stuck your money in a savings account. If it's in an investment account, after 30 years at 7% growth per year and $20k deposited per year, you should have $1.87 million dollars saved. Which isn't tons when you consider inflation, but it's definitely better than what you're suggesting.
Wow, simplicity strikes again. So obvious, can't believe
I overlooked it. Will do!
I don't know about "just in another bubble" but I agree with the general sense of your comment.

The voice recognition of digital assistants has gotten decent (for appropriate speakers and languages). But we don't seem to be remotely close to, for example, a digital assistant that can compete with the most marginally competent human admin--even for digital-native tasks.

Watson does do marketing well. There may be some domain-specific tasks, e.g. in medicine, that it turns out to be good for. But, again, at IBM's scale the business opportunity has to be huge to move the needle.
I'm 24 and have 10k in Wealthsimple because I can't be bothered to learn more about how to manage my investments myself right now (and I've been a dumbass with money for the past 6 years).

WS tells me I'll have ~$5,222,649 when I'm 65 if I continually add $5k/mo to my invesments.

They say "We include your scheduled contributions into this projection and assume a return of 5.1-5.45% on stocks and 0.74-1.05% on bonds after 0.5% fees. The impact of taxes is not included. Actual returns may differ."

My ideal plan is to have ~$600k+ in investments and withdraw 1-2%/yr to cover food costs. I'm looking at some 200-300 acre stretches of land for around $150k~ in Canada where I plan to build a house myself. Looking to hookup solar and for a freshwater lake to be running through the land. The goal is to self sustain for however long I need to so I can think and work on my hobbies without the overhead of rent/career.

I feel like trying to scrape together an hour or two here and there for a hobby doesn't do anything for me because I'm working on things that require large stretches of uninterrupted time over the span of weeks/months.
We have the example of services like cable tv where people pay for a service to be inundated with ads. So not necessarily the case. We have a pretty diseased relationship with the corporations which are suppose to serve us but instead prey upon us.
11 Free Python EBooks to add to your library
The closest I have been to a "real computer" in days is using Remote Desktop to connect to one from my iPhone 7+. FWIW, I seriously did some simple video editing using Premiere Pro that I happily admit would have taken me much less time and would have been much more enjoyable to do at the computer... but then I would have had to be at the computer :/. I don't want to be "at my real computer", and I definitely do not want to be traveling back and forth from where I am to my "real computer". I thereby make do with computers no larger than the 12" MacBook and am getting better at doing things on my iPhone 7+. Maybe one day I will never have to sit in front of a "real computer" ever again, and as far as I am concerned that will be amazing.
Medical studies are almost always bogus
What if you don't want others to know about your health, or whatever else a machine can smell?
Macron clearly leading in French presidential elections – Belgian media
Why array indices start at 0... mostly (2013)
I confess that I can't see what gradient this ranking follows. It looks like the users get progressively more anonymous, except Reddit has the most anonymous users and it's in the middle; it also looks like the average use time per day goes down, except I have no idea whether that's the case.
Economists have been saying for years that the UK economy is too heavily weighted towards finance. We now have an opportunity to resolve that. On the question of what our main industries should be - how is the UK unique in facing this dilemma?

Plenty of countries seem to find other countries to export to without being in the EU.

I would expect NI to remain in the UK for a while yet. Given that we managed to bring a terrible hundreds of years long conflict to peace, surely we have the capacity to find a solution to this issue also.

If Scotland chooses independence I wish them good luck. I think it will be a shame, but Scotland is beautiful and I will still visit, and I hope Scots will still feel welcome in whatever remains of the UK. I don't understand why the break up of the UK should be thought of as so terrifying. It's not like Hadrian's wall would be going back up.

I'd expect some kind of arrangement to be reached on expats because forced repatriation would be terrible PR on both sides. That said, the EU has more to lose on this issue as there are far more EU citizens in the UK than the reverse, and these EU citizens in the UK are mainly of working age, and the EU cannot provide enough employment as it is (hence these EU citizens coming to the UK for work).

I agree it would have been better for the government to have a plan. There was a considerable degree of complacency that there would be a victory for Remain. Clearly there are many issues to be resolved, but I think it's a little premature to write off the UK.
You and dang work too hard around here, but its appreciated.
Anything that fits within the error bars is viable if you ask me. Whatever works works.
Couldn't there be an opt-in Deref for Option and Result? Then you could just pretend everything unwrapped fine.
Or `unwrap_msg()`?
Perhaps not superior, but they're there and have the capacity to compete, which is more than can be said for basically everyone else. If voice and natural language processing truly are the future then I wouldn't think IBM would be a bad bet. But then again I don't own a massive chunk of IBM and am reliant on public info. So perhaps they're less competitive than it appears. I suppose they have roughly the same problem Apple has with a general lack of information (or willingness to use said information) about their customers.
Upvote.

ipfw has better performance, too.

I guess what we need is some lex/yacc work to make a pf.conf syntax work with ipfw.

Largest issue is pf is "lastmatch wins" (copied from ipfilter, and a mistake that even Henning admits) and ipfw is “first match wins”.

pfSense makes all of rules "quick" to workaround this issue.

So without a ton of work, we could get the syntax (via an external package), but the semantics of existing pf.conf would be more difficult.

The rest is we would need the equivalent of pfsync.
It is ironic how so many [1] JDK vendors were able to work together with Sun, now with Oracle, just Google seems to have some issues following the same rules and licenses.

But hey, lets fork Java and do no evil.

[1] - https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
I like that! Are you sure there isn't some language that does this already?
100 days of algorithms in Python
French election: Macron defeats Le Pen
The issue opener's phrasing was probably why the response was also rude.
(I meant more in terms of it being a meme/posturing, rather than a literal truth)
Pwnable.kr – a site providing various challenges regarding system exploitation
Plus, current iptables runs on top of nftables, doesn't it?
Show HN: Community curated film triggers
Which is exactly the approach ClojureScript takes: it writes the annoying annotations for you.
Exception safety is complicated. I didn't believe this, having only used exceptions in higher-level languages, but enough time talking to Rust folks and I get it now. And even in C#, I know I'm getting things wrong here and there with exceptions, but it doesn't have the same impact (safety/mem leaks) due to being GC'd and memory safe.
We can probably blame misguided corporate IT policies for starting this trend, by blocking most of the outgoing ports and migrating many newer protocols to use TLS over port 443 (although it doesn't really have to be HTTP to bypass corporate firewalls).

This is still the most often cited reason, but I don't think it's a good one anymore (as said before, nothing prevents you from using TLS).

If you have a stateless protocol is dealing with autonomous request, HTTP is quite frankly the best general-purpose transport layer for you. The only other well-supported transport layers are the message-based UDP and the stream-based TCP, TLS (which offers encryption), SSH (which offers encryption and multiplexing).

If you've got a stateless request-based protocol, you want a message-response based transport, but UDP doesn't quite offer the same abstraction and lacks reliability guarantees and large message support. With a stream-based protocol on the other hand, you're bound to redo an ad-hoc, informally-specified, bug-ridden, slow implementation of half of HTTP[1].

Yeah, you probably don't need all of the features of HTTP for your protocol, but being able to use existing HTTP infrastructure solutions (such as proxies, load balancers, caches, testing tools, endpoint monitoring tools) is a great boon that you would never get with your own homegrown protocol.

[1] https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
I think the complaint is more that Rust has seemingly tried very hard to make error handling "simple". But in the process it has managed to invent a whole series of new idioms and special syntax that is alien to pretty much everyone. ... ways to write this that are split into clear sedimentary layers depending on when the writer learned the language.

That's been my criticism of Rust error handling. Rust's error handling system is very clever. It's logically sound. It manages to make functional programming and error handling play well together.
But it's not user-friendly. For a while, it took far too much code to handle errors. So gimmicks were developed to make the necessary gyrations less verbose. These hide what's going on underneath. Thus the generations of error handling approaches.

Rust tried to avoid the complexity of exception handling, but ended up with something that's more complicated. Python programmers, who have a good exception system, notice this. In Python, you write the main case, and then you write an exception handler to deal with the error case. This works well in practice. Python has an exception class hierarchy. If you catch EnvironmentError, you get almost everything that can go wrong due to a cause external to the program. If you catch IOError, you get all I/O-related errors, including all the things that can go wrong in HTTP land.

With exceptions, if you're using some code that doesn't handle an error well, you can catch the problem at an outer level, get good information about the error, and recover. With error-value returns, after you've come through a few levels of function returns, you're usually down to "something went wrong". (Having written a web crawler, I've found this useful. A huge number of things can go wrong in HTTP, HTML parsing, SSL certificate handling, and the other manipulations needed to read a possibly-hostile web page. A crawler needs to catch all those and deal with them, deciding "try again now", "try again later", "log error and give up", or "try alternative access approach". This makes one appreciate a good exception mechanism.)

Exceptions have a bad reputation because Java and C++ implement them in ways that are inferior to Python's approach. There's no exception hierarchy. Knowing what exception something can raise is very important. Often, you don't.

Rust (and Go) are slowly backing into exception handling, as the panic/recover mechanisms acquire layers of gimmicks to make them more useful. Rust already has unwinding (destructors get run as a panic event moves outward), which is the hard part of exception handling. Thus, exceptions are more a religious issue than a technical issue.
It'd be useful if the page would tell users this!
Buffett Says Money Spent on Plumbers Better Than on Hedge Funds
I guess you're one of the people to whom there is no "real" AI below general purpos, human-level intelligence. To me, the "simple" language processing and information lookup that Watson does is most definitely AI. Jeopardy is not an easy game and beating the best humans at it was an amazing break-through.
> just imagine how much of their chips is just decode.

This article has some annotated pics of AMD Ryzen 7: http://wccftech.com/amd-ryzen-architecture-detailed/

Based on these photos, I’d estimate instruction decoder takes about 10% of each core, and about 7% of the whole chip.

For Intel I was unable to find similar pics, but my estimation is 3-4% of the chip area. The instruction set is the same; the complexity should be comparable. But most Intel chips have like 50% of the area occupied by integrated graphics.
some states (Tx) only require 1 party to consent.
82 schoolgirls released by Boko Haram
The purpose of this is not to demonstrate a new design for the site, the purpose is to demo a well written server side rendered + client side hydrated Vue app, and especially how fast it loads:
https://twitter.com/youyuxi/status/860856697799098368
A good answer to the question "why move to nftables?"

https://developers.redhat.com/blog/2016/10/28/what-comes-aft...
I think having a single-page website is very valuable since it will allow people to use this as a homepage in any browser, without requiring an extension to be installed.
Relative to salaries, housing is expensive. This entire comment thread has several people making that same point.
Oh jwz. Maybe we're the manchildren, but maybe it's the person who redirects all HN links to a picture of a hairy scrotum that hasn't in fact grown up yet.