skysight-inc/HackerNews huggingface dataset:
EAT: The blood of my enemies.
Small amounts of leafy greens.
Lots of nuts.
MEAT.

NOT EAT:
Fluffy puppies
Anything with High Fructose Corn Syrup (HFCS)
More than one drink that contains calories on weekdays
Ingenious Siri hack to add Siri voice control to any project
Justin Wilson wasn't as lucky a couple of years ago. He was a great guy and had two young kids. Tragic.
Don't sell. If they are about to raise, then this is the perfect time to sell your shares to investors in the secondary market.

If you offer your stake at any discount, they are irrational if they don't take it. Don't worry if you are bound to a non transfer-ability clause. Getting around that is always possible with a bit of lawyering.

Also get someone else to handle the transaction on your behalf. You don't sound like the best negotiator. No offense intended.
Python has gevent and eventlet which achieve this pattern.
All files are encrypted on the hosts and only can be decrypted with the key, usually present only on the storage buyer's machine. All files are uploaded to 3 different hosts to avoid issues if someone flakes out, and could be to more if needed and every hoster puts some money on the line if they fail to host the files, providing a sort of financial insurance policy. This may not be good enough for every scenario, but I think for most it offers the possibility of covering things quite well.

There are only a few major cloud storage providers around, the market just isn't that big and they're all quite expensive comparatively - for long term storage of backups and low-value data I find it quite a good concept. Publicly accessed data like S3 is often used for, not so much, that's more of a target for a traditional cloud provider or something like IPFS in the distributed world.

Sia's more creating a new market for extremely cheap, reasonably reliabile storage rather than replacing one for expensive very high reliability storage in my view. But by nature of the way the network works, it should be possible to tell the # of hosts needed to match Amazon or Google in reliability - it's not in a state where all of that's possible yet though.

> facing significant legal repercussions.

There's nothing illegal about price discrimination, it's a common buisiness practice and something companies strive for - they want to make sure you pay the maximum price you're willing to. To do otherwise is essentially a failure to their investors.
What if in the distant future, the actual spelling of people's surnames drift due to normalization of this? I'd liken it to immigrants having their names transliterated to a latin alphabet at Elis Island, or something like that.
It's difficult to get started with Prolog beyond toy examples. Prolog was originally designed for creating linguistic models for use in NLP. Even for this original purpose it isn't exactly easy to use.

When it comes to mundane tasks such as opening a file and reading its contents as a string or accessing databases, things get even more difficult. Technically, this is all possible with Prolog, too. It's just not exactly fun to do so.
Yeah it's wild, here's a before and after: http://imgur.com/hHtyMPF Training to climb Mt. Rainier later this summer--something I could never have imagined being possible 2 years ago.
I think it's too bad we don't have module interoperability. There's never going to be just one programming language.

The situation on the JVM -- where Scala, Java and Kotlin can use one another's modules -- is a positive example. Clang modules and Swift's auto-magic import of them is another.
> ...as long as the issues are clear, transparent and everyone involved have all access to information needed to do their own informed choices, it seems correct.

That's a tall order though. I don't think all those conditions are necessarily being met!
I had a bunch of old Word-documents from a late researcher using non-latin scripts and custom fonts that needed fixing for archiving (the only important step was to make these readable by humans). Don't remember what encoding. Current version of Word wouldn't even touch these, raising errors left and right.

In the end I changed the strings that specified the problematic/missing fonts in a hex editor (I naively assumed that would do the least damage...) to a compatible font I eventually found after some digital archaeology. LibreOffice accepted these files but didn't display them correctly (as in: according to what my eyes and brain expected - "machine readable" was in a different universe at this point). I saved the hex-edited documents in whatever version of docx LibreOffice exports to. Word accepted these, displayed them as well as could be hoped, and a little bit of modern history could be saved for future generations. Not a very technical approach, I guess.

I feel the 1990's in general did a lot of damage. It's not only Word. Competing, proprietary formats together with lacking text-encodings (and in my case custom fonts messing up character tables, due to academic/linguistic needs) has caused more information loss than the decades before and after for the data I've worked with.

Suffice to say I use plain text as much as possible (markdown, latex), as text-encoding alone is hard enough.
Those libraries were essential for this project! High quality. Are you a contributor to them?

I actually had a slightly tough time finding good examples to work off of for p2p, (the cloud haskell website had the best ones), so hopefully this code can also work as another good example for those packages. To be fair, that's really a complaint of the ecosystem as a whole, not distributed-process-* specifically.
There's a bunch of great, thought out answers here. Don't TL;DR them.

However asking the question as you have done makes me think that you've already made your mind up (even if you haven't admitted that to yourself yet) and you need validation.

You shouldn't require validation from strangers off the internet, just get up and do something that makes you feel fulfilled. Identify, plan, execute. Your self esteem will thank you. Your SO will thank you, if you have one. The (new) people around you will thank you. That'll be all the validation you need :)

Good luck!
The shell should be significantly easier than say writing a compiler, although I think it's less well documented.

Much of the work in writing a shell is parsing -- I would estimate that parsing is 60% of the work, whereas it might only be 10-20% of the work of a compiler. This is both because interpreters are smaller than compilers (fewer transformations), and because shell is harder to parse than most programming languages.

But as you can see from my blog, it requires a few different parsing techniques, and there are some non-obvious choices I made that I think made it easier. (e.g. Lexer modes aka lexical state are a huge win for reducing complexity.)

The shell uses surprisingly few system calls -- fork/exec/wait, open/close/read/write, pipe/dup/fcntl, and that's almost it. These are well worth studying. File descriptors are non-obvious and essential.

I never took the OS class that most people take, which shows you how C and Unix work. This thread lists a few, and also check out xv6 in the parent thread:

https://news.ycombinator.com/item?id=13112960

I learned a lot about system calls by using strace on many programs over the years. I think Python helps a lot because it is interpreted and has relatively direct bindings to Unix system calls.

FWIW, although I learned interesting things about parsing, I don't think there is that much "hard" in the computer science sense about shell. It's mainly an exercise in software engineering -- how do you keep your program from degrading into an enormous mass of poorly-debugged if statements? (I would classify bash in that category, unfortunately)

As far as data structures, you should be able to write a shell without anything fancy at all. In fact some shells are basically just tons of linked lists. Linked lists make memory management easier in C, although I'm using a more modern, high-level style.

I also spent a significant amount of time reading bash, dash, and mksh code for this project. (and to a lesser degree zsh).

Happy to answer any other questions.
Difference Between ng-if and ng-show – Orçun Yılmaz
Daily 12 hours fast, then eat home made food.
Yea, I've been feeling 'off' for a while now but so many moving things and any one could be it - will try sleeping more for a week to see if it makes a difference.
Show HN: UK election site – Don't vote Conservative
>but there is no case to be made for it being an issue of survival.

There is the acidification of the ocean due to the absorption of carbon dioxide, which is slowly bleaching all the coral on Earth.

Many developing countries' food security comes from using reefs like natural fisheries. The collapse of a national industry has many possible effects, however "massively improved quality of life" is not one of them.

And ocean acidification isn't a long-term process. Right now carbon emissions are over 10 times what they were during the paleocene-eocene thermal maximum. You can expect to see these changes come to fruition within 70 years if we continue business as usual.
They should just play flag football and skip that tackling stuff.
It's the gloves and the wraps. They let you hit the hard parts of your opponent's body with less risk of breaking your hands.
Numerical analysis is an old field. Some of it was condition number of matrices and the resulting error analysis. Some of it was, say, double precision inner product accumulation and, for solving linear systems, iterative improvement. There was a lot more for solving ordinary (e.g., stiff) and partial differential equations. Courant was good at that. Too soon, e.g., trying to solve the Navier Stokes equations, numerical analysis gets quite deep into pure/applied math -- there's no royal road there through the CS departments and no royal road at all.

E.g., a good prerequisite for work in numerical analysis is a high end course in linear algebra, e.g., matrix norms, Gershgorin approximations; not many people teach or take such a course.

E.g., polynomial curve fitting can quickly lead people to solving a systems of statistics normal equations with the notoriously ill-conditioned Hilbert matrix. But, with some orthogonal polynomial approaches, can get around the numerical problems right away. I did that once for some profs at Georgetown U. I'd learned how to do that consulting in applied math and numerical analysis.

For more, the days of ill-conditioned matrices led M. Newman to multiply the equations by large powers of 10 so that he had all whole numbers. Then for each prime number in a list of prime numbers, he solved the equations in the field of the integers modulo that prime. Right, for the multiplicative inverse, use the Euclidean greatest common divisor algorithm. Cute. Then use the Chinese remainder theorem to glue together the answers as quotients of multiple precision whole numbers. Ah, numerical analysis!

Guys, that's not computer science, no matter how many nVidia GPUs they keep busy.
It does make sense when you consider where the energy all comes from: the sun.

Plants absorb solar energy and store it as chemical energy. Animals roam far and wide to eat those plants, collecting the chemical energy in one place- themselves. Then human hunters come along and simply 'pick' the energy from the dense source that is the animal.

Now, the humans don't need to do much work because the energy is all in one place (they just need to find that one place). But the energy itself was collected over a huge area.
What's the other 10%?
You wouldn't - men can only see in black and white.
not too surprisingly, a lot of logic programs don't parallelize very well at all because of very linear dependencies (control flow).

and some do a lot of largely independent but very regular work that would execute quite well on a simd/vector/smt array.

people have come up with some tricks to map control flow into simd (like some really cool parser tricks), but i think in general those have regimes where they have sub-serial performance.

so maybe? if you had the magic compiler? or you provided some manual annotation support? or a robust ffi?

for sql, which has a much more limited footprint, there's been some cool vectorization work.
The entire field of UI design exists because it's almost impossible to capture user intent even when you present them with a damn button that has their intent written on it.

UI design is about guiding people through a series of explicit and difficult-to-fuck-up gates to make it clear what they want.

What about voice inputs or AI is so powerful that it could entirely reverse that trend and go the other way to a UI where you can say whatever you want and still end up with a UI that's impossible to fuck up?

I really think the AI bulls should spend just a little time on a serious, professional interaction* design team working on a product that's critical to daily commerce before they go announcing that voice obsolete screens.

\* not graphic design, not motion design, not UI design. Nuts and bolts interaction designers who are responsible for metrics
Proviso : I do Judo, rockclimb and mountain bike, so I have both a large volume of daily work built in to my lifestyle, and a vested interest in maintaining a specific weight (80kg@186cm w/approx 10% BF). I am not elite in any of these pursuits. I work out in the morning for about an hour 6 days a week and in the evenings 2 or 3 days a week.

I have been doing intermittent fasting for 3 years or so. Just the bog-standard 16h fast/8h eating window version

Fast is broken around 10am with 3 eggs with sea-salt and 4 small homemade cookies

Lunch is usually a regular cerealbowl sized bowl of veggie soup w/olive oil, a handful of salad, one glass of milk (small tumbler size), a 5g square of dark chocolate [1] and a handful of nuts (walnuts, cashews, almonds, hazelnuts, pecans and Brazil nuts). On days where I have extra training in the evening I'll also have a small bowl of 6% fat yogurt with some granola and jam.

Dinner is eaten around 5pm, is home-made, and is as much as I can comfortably eat while being active within a half hour of finishing. I also have a tall mug of 2% milk with it. There is a meat component about 80% of the time, but by volume it is about 80% veggies and rice/potato/bread. After dinner I have a 2nd square of chocolate and some walnuts. I do not eat anything after dinner until breaking the fast the next day.

I carbo-load once a week with a Sunday brunch of pancakes, waffles or crepes (rotating), eating until I am satiated

I supplement with BCAAs, creatine, maca, coffee (2 cups on workout mornings) and green tea (2l/day)

This keeps me within 2kg of my target weight and 2% of my target BF all year round.

The most important thing for maintaining a steady weight is volume of food. Once you get a consistent volume of food day-to-day and can go by feel, you can ramp it up or down and control your weight as if you are turning a dial.

If you are interested in body composition (ie. body fat/muscle) and not just weight, then you have to add in an exercise component

I also do a ~5 day water-only fast every 6 months, as the practice seems to help with healing any persistent injuries I have accumulated in the meantime.

[1] https://www.amazon.com/Swiss-Delice-Dark-Chocolate-72
Without knowing what you use it for it's impossible to say.

If it's just general word processing there are a few that are very good.
Avocado, fatty cuts of meat (bacon, beef, etc.).
Java had a mixed model where it could use LWPs or kernel threads, and switched over around Solaris 8 because things like stat() were still blocking and had no async counterpart, so were difficult to deal with.

I dug up this fossil the other day, trying to get a fix from Sun for this very issue:

http://d.hd.org/JavaThreadsCommentToSun19980820.html
Rebound? There are more games made in a year with diverse mechanics than could possibly be played in a year. Itch.io, Kongregate, Steam, "IO games" like agar.io, game jams, VR games... There's a lot of shitty games being made but there's not a lack of good ones.
Seems like it would approximate ancient conditions our bodies evolved to cope with. Especially the part about working hardest right when you're hungriest, then you get to eat. That sounds like a hunt!
I like your argument. But somehow, I remain stuck on mine. The nature of AlphaGo is indeed very complex. But to me the question remains : AlphaGo is able to demonstrate skill to play go, and maybe, in the context of the game, than can be called true intelligence. But to know if we are on the path of true (!) AI, we might want to compare AlphaGo and a human intelligence qualitatively. Which we can't. Because we may (I dunno, didn't write it!) not know for sure what AlphaGo actually "guessed" while learning and we know even less about human intelligence...

So I think AI will, as you say, reach more and more goals and we'll go the upper level with more meta stuff. But is this a road that ends on true AI or is there a "conceptual" gap ? I dunno, I think my life would be better if there was such a gap. But that's just because I love humans... Thanks for the conversation :-)
It also can't sort unicode correctly according to the standard UCA algorithm. The ticket for this is closed as a wontfix.
I would say the problem is pretty similar to why isn't Haskell more popular?

both have a different/specific (as in non-mainstream) thinking way, and it is not easy to switch from common programming languages to these. and since it isn't easy, most people don't go deeper on them

from a company point of view: if it's hard to find a good Prolog/haskell developer, then they will be more expensive, so they stick with the common Java/C/C#/Python/Ruby/JS stack
50/50 good food and junk. I don't overthink it and I try to avoid extremes. Half of my friends think I eat "like shit", the other half think I'm a health nut.

Half home cooked (or healthy restaurant) meals and half fast food (as in, literally McDonalds.) I eat a fair amount of red meat (I'm a hamburger junkie) a moderate amount of fish and vegetables (lots of crucifers), and get my healthy carbs from rice (brown and white) and oats. I eat a ton of whole eggs - sometimes a couple dozen a week. Not a big dessert eater, but I will binge on sweets now and then. Unless I'm dieting, I will plow through a box of oreos a week.

I default to a Mediterranean diet (because I was raised on it) and probably eat that way at least a 1/3 of the time and sometimes more, time permitting. Bottle or two of wine a week. I almost always skip breakfast because it tends to upset my stomach.

Protein: If I'm exercising and/or trying to gain weight, I shoot for 1g protein per pound of bodyweight. Otherwise, I try for 0.5g/lb.

Calories: If I'm trying to lose weight, I shoot for 1000-1500 calories a day. Slightly more if I'm trying to maintain. 2500-3500 if I'm trying to gain.

Supplements: magnesium, vitamin D, creatine.

38 years old, 5'7", weight fluctuates between 150-180 lbs, body fat fluctuates between 8-18% but has definitely been over 20% for short periods, total cholesterol usually around 150.
Note that "the first X characters" is kind of misleading, because it is usually more fine grained.

It is better (and IMHO even simpler!) to think of the hash as a large integer, not a string. Then you want that integer to be smaller than a certain value.

With strings, you can only say: "00123" shall start with "00", while wih integers, you would say: 00123 shall be smaller than 300.

(To be that fine grained with strings, you would either need multiple prefixes ("000", "001", "002") regexes ("00[012]"), both more hassle than a simple less-than operation.)
Part of the problem may just be that languages like Prolog are still leaky abstractions at this point—you still have to consider how it's doing what it's doing, performance consequences etc. In principle, you should be able to use such a language to merely describe what it is you want (and let the language find/construct it), while with an imperative language you have to specify precisely how it will be produced.

Seems like the other difficulty is that its 'interface' (programmer facing portions of the language) derive from mathematical ideas which will already be very familiar to those working in the field, so it's very convenient for them, while for those outside mathematics (and more theoretical parts of CS) there will be surprising gaps when attempting to learn because of the implicit mathematical concepts in the interface.

For instance, Prolog is based on Horn clauses[0], a subset of first order predicate logic. Additionally, 'relations' are a central part of the language's interface—and if you have a background in pure math, this is great for you because it immediately tells you all kinds of things; if you don't, it's going to be confusing because much of the literature will assume you have similar experience reasoning about relations.

Seems like it would be possible to move those concepts out of the interface, while still using them in the internals...

[0] https://en.wikipedia.org/wiki/Horn_clause
We (two python developers) have started a SaaS SEO checker service [1] in February 2017 (took 4 month to develop from 0) and already have paying customers on our business plan. I completely agree with the definition of successful business when you have ability to do what you want when you want. I already have a couple of other websites generating revenue from advertising and all this allowed me to quit daily job 2 years ago. So definitely there are a lot of examples of successful single- (two-) person businesses out there.

[1] https://seocharger.com
I don't understand. You're saying that when I measure two tablespoons and brew a lovely cup of coffee every morning that what... I'm in an artificial reality? I'm hallucinating?
Smalltalk-80 had green threads that have multiple priorities. Scheduling within each priority was round-robin, and timeouts (instances of the Delay class) were handled by a single high-priority thread that woke up threads whose deadline has passed. As a result, you could be preempted at any time not just by a higher-priority that, but also by another thread waiting on a Delay.
Maybe I am not just into that area, but how can you win such a suit, by that logic you could sue anybody who short sells a company...
10/10/10 (Part 2)
First of all, I fully agree that it is hard to start with Prolog initially. However, let us take a look at these particular examples:

As to opening a file and reading its contents as a string:

I find it best to use Ulrich Neumerkel's library(pio) to accomplish this task. Importantly, this lets you apply a DCG to a file in a pure way. I start with a DCG that simply describes a list of characters:

content([]) --> [].
content([C|Cs]) --> [C], content(Cs).

I save this in content.pl, just to have a file to try. I can now apply this DCG to the file contents with phrase_from_file/2:

?- phrase_from_file(content(Cs), 'content.pl').
Cs = [c, o, n, t, e, n, t, '(', '['|...] .

Thus, I have read the file contents as a list of characters, which I can easily convert to anything I want with other predicates.

As to accessing databases: That's quite straight-forward too, in particular if we take into account the following: If you are really using Prolog professionally, then typically Prolog is the database. You simply assert facts, and retrieve them by querying the built-in Prolog database.

Personally, I find Prolog queries much more convenient and also more expressive than SQL, and great fun too.
This kind of thing (a friendly intervention) seems to happen more often than you'd think - Allen Iverson is still solvent only because his friends talked him into taking $30 million or so of his last shoe deal as a trust fund that he can't access until he's 55.
You probably should be asking people's age too. With young people you're going to get a lot of "Oh I just eat whatever the heck I want and it's fine." As you age and your metabolism slows, that shit won't fly.
That's an impressive change - props!