skysight-inc/HackerNews huggingface dataset:
> rebalancing

Vanguard Target Date funds rebalance automatically.

> including asset selection

Vanguard's asset selection is "literally buy everything on the market". Its a dumb strategy, but it seems to work. In particular, Vanguard's total market index will perform by definition the average (minus Vanguard's very low fees).

> how to manage taxes

Its no harder than Betterment. You get a 1099-DIV next year, and then fill out your taxes. Since Vanguard Target Date funds automatically rebalance and everything, its unlikely that you get any benefits from Betterment.
I was mostly focused on individual contributor roles for engineering and operations. I was filling the jobs so fast, there was a massive surplus of jobless talent sloshing around during the recession, that I was running out of stuff to positions to fill.

The CEO was kind of cheap, and didn't want to pay a retained search firm. I was working on a part time contract at an hourly rate, so he asked me to take a crack at the CTO position. I tried filling the CTO role like I filled every other role, by starting with an ad on Craigslist, and it worked out.
Yank and Paste Vim Windows
You allowed yourself to be trolled into going on tilt in this thread. Please don't let that happen again. It makes for tedious flamewars.
While math can be used to optimize some function(s) (for "societal optimization"), math is silent about the question of what to optimize. There's no general agreement about that. (For example, should there be regulations to reduce river pollution?)
This is neat and I am going to definitely dig in an play around with it. I guess my biggest worry with projects like these is what happens when something breaks? If I decide to integrate a piece of tech into my stack, I need to be able to intimately understand what's going on under the hood. If something breaks or works in a way I don't expect, I need to know it well so I can diagnose and fix the problem. Something that abstracts away this much of the dirty work makes it less attractive to me for anything serious. Its also written in Haskell which is an awesome language I hear. However the syntax is foreign compared to "traditional" languages and its less well understood due to a smaller community. That means I can't just fork the code and fix a bug if I end up in a bind. Just seems kinda risky. Hope to be proven wrong because it is a really cool idea. Best of luck to the authors.
Belkin Wi-Fi Set for Your House
Whenever this subject comes up, predictably the answer here is always Blah blah blah network network network. For a demographic always looking for the scalable solution to a problem, HN seems pretty attached to the least scalable option. The numbers just don't make sense to me.

Let's generously assume that you meet and have excellent working relationships with 100 people at each of the 4 jobs you've had. Of those 400 people, say, conservatively, 50% think so highly of you that they'd be willing to stick their neck out help you with your next job search. Out of those 200 people, 50% are no longer working for that company. Out of those 100 people, let's optimistically assume you actively kept in touch with all of them over the years. Now, maybe 50% are working for a company where you'd actually like to apply. Out of those 50 companies, 20% actually have a job opening that fits your background. Out of those 10, maybe 2 actually know and can put you in touch with the hiring manager for that opening. And your success chance through the interview pipeline has got to be worse than 50%.

Tweak my numbers up or down a little, but I think it's a pipe dream for most workers: You have to have an enormous address book full of high-power contacts in order to end up at the end of the funnel with one or two who are both willing and able to successfully help you get a job. And once you've exhausted that network (all it takes is to blow a few interviews), then what?
Software support longevity can be iffy on certain product lines. Maybe 1 update, but not much beyond 6 months.
Looks very interesting :) but I can't quite find out what is going on on the GPU. What GPU operations are executed for a sample program which contains various (scalar, vector, applying to different sizes and shapes etc.) operators?
The real sin here is to post unsubstantive comments and get involved in tedious spats. Please don't do that.
Beautiful insight

I wish I could take credit for this one! I learned the distinction from a (rather famous) Rich Hickey talk. [0]

[0] https://www.infoq.com/presentations/Simple-Made-Easy
Ditto, except that I just use postfix's 'virtual' mechanism. Simple additional hack to simplify address creation; all my legal addresses begin with a particular 4-char sequence, and by default, all email addressed to a uid beginning with these 4 chars gets through unless explicitly blocked. This means I can make up addrs on the fly, without having to add them to the back-end on a per-address basis.
I get why you think that, but the names are actually precise in the way that terminology in an academic paper is precise. It's just not helpful to outsiders. It's arguably pretentious to draw on category theory to describe types and functions but that's academia for you. Haskell has become the language that academia built, for better or worse.

Maybe that's a shame. Take fmap, functor-map, for example. It's just​ map if you apply it to a List. But it's more general. You can apply it to a Tree or a List of Lists or any other Functor. They could have called Functor a Bag or a Box or a Container or a Listable. They could have called it an Fmapable, since Fmapable is the class of things fmap works on. Might have missed an opportunity.

Or take the monadic bind operator >>=. Another language calls it and_then. I can see how that's more friendly.
We detached this subthread from https://news.ycombinator.com/item?id=13953887 and marked it off-topic.
I've found the interview process for management consulting roles to be surprisingly similar to tech interviews.

Most interviews are presented as cases[1] where students/applicants have to analyze and propose a strategy to handle example client situations in ~60m.

I've found that the people who have the most success with the interviewing process are the ones who do the most mock and focus on optimizing their skill-set for the interviews, rather than for the actual positions (which is unfortunately similar to tech recruiting and algo/whiteboarding problems).

There is also a ton of online case prep[2] and training materials specifically for the interview process, akin to CareerCup/CTCI/HackerRank/etc.

[1]https://en.wikipedia.org/wiki/Case_interview
[2]http://www.consultingcase101.com/tag/free-sample-case/
It's annoying that SV tech companies get a bad rap with the H-1B even though that the real people abusing these visas are clearly outsourcing firms like Tata and Infosys.
Or, upon receiving goods from a seller, they could add an additional label-sticker number indicating the real provider of the goods so they could be readily tracked down, and singled out.
https://twitter.com/tinashakour/status/845730376660103168
> The edge case of summing infinite sequences has no practical application in CS.

The number 2 is \Sigma_{n=0}^{\infty}1/2^n. So you're "using" sigma every time you use the number 2, which may be practical in some programs.

The fact that you can't write a program that sums an infinite sequence using an infinite number of computational steps doesn't mean uncomputable objects have no practical application. In fact, the formalism Lamport talked about in his lecture makes common use of them, and you do, too, every time you use floating point arithmetics. When you use floating point numbers, it's very convenient to think of them not as the very complicated objects that they are, but as a real number (an uncomputable object) with some error term; in fact, that's how floating point is thought of in the design of many numerical algorithms. In other words, objects that are directly representable on a computer, are often conveniently thought of as approximations of uncomputable objects. If you can't write what the non-computable object is in a language designed to assist in reasoning about how algorithms work -- which is the subject of Lamport's talk -- you're making life much harder for yourself.

Another problem of thinking of summation as a for-loop is that it makes you think of the definition as an algorithm, which it isn't. For example 4 * 5 = \Sigma_{i=1}^{5}4, but both of them are just different representations of the number 20. In a program it may make a big difference if you're writing 20, 4 * 5, or `for(i in 0..4) sum+=4`. In mathematical notation, all three are the same. It's not like one uses a cheap multiplication operation and the other an expensive for-loop.
We detached this subthread from https://news.ycombinator.com/item?id=13958403 and marked it off-topic.
I haven't read/understood your full comment as yet. I've gotten stuck on the first sentence itself: "A monad refers to a class of data structures which implement bind":

Perhaps you mean that a data structure like a list which implements bind is a monad.

Based on what I am reading in your overall comment, a monad is not a class of data structures which implement bind. I italicized keywords which I found problematic in your first statement, noting that you used refers to, and not is. (It is likely that I am confused, but have been missing a clear definition of a monad like "a monad is ...". If the definition involves more terms needing definitions, a topological sort would help. :-)
Vanilla vim is like compiling - efficient, but with a huge upfront investment. A vim 'distribution is like JITing - you end up at roughly the same spot, but it actually lets you do the thing in the meanwhile.
Ask HN: Need advice for a senior lead
I work as a lead in an organization.I started my career as a back end dev with Java / JEE and for the last three years started working on Front end technologies like angular,React JS etc. I find the front end as interesting yet very challenging. As a lead I have this dilemma on how to handle junior developers who are smart and more experienced in front end than me. I try myself to keep updated but it becomes challenging when it comes to lower level details especially css etc. Please advice on how to cope up with this situation and be an effective lead
Note for the submitter that "Show HN" is generally for things you yourself have made – see [0]. On the other hand, thanks for submitting; this is a great project and it deserves attention.

Postgrest is a great example of a real-world Haskell codebase. It's concise for the amount of functionality it offers, which is characteristic of functional languages (<3000SLOC of source, not counting tests). I'd encourage anyone interested in working with non-toy functional codebases to take a look around with it, or better yet, submit a PR (there are a few "beginner" issues!).

[0]: https://news.ycombinator.com/showhn.html
Ask HN: Anyone had an Amazon Firestick hogging LAN bandwidth behind a firewall?
I finally narrowed down the device that was flooding my household LAN with traffic, especially when I was streaming from the Internet on my Kodi box: An original issue Amazon Firestick. When I pulled it's power, my LAN dropped to normal level. It had been flooding the LAN with 800-900kbps of traffic.
Agreed, thank you for clarifying that.
Agree. Also, order can improve. You talk about pure functions on the first sentence. Later you explain what a pure function is. Explaining pure functions before monads can help. Same case for functors.
Hehe, actually in my line of work, it's an asset.
If you're referring to Borland's BGI interface, it was god-awful. Had it become a standardized library, it would have set graphics programming back decades.

One of the reasons C++ has done so well is that it sticks to its area of competence and doesn't try to do everything for you.
Sounds like you waste a lot of people's time to lie to higher-ups.
True.. Im Indian.. I came to the US on a H-1B.. My wife is on a H-1B.. We both are employed in the bay area and make close to 450K per annum.. with about $1.5M in stocks vesting in the next few years..
Complexity and Stupidity (with David Krakauer)
Why can't I buy VTI and dividend reinvest? I compared that to Betterment since 2004 and it wins handily. What am I missing? Tax loss harvesting sounds fancy but what's the actual bottom line benefit after fees?
An ORM is a library integrated into a language runtime. Postgrest is a service – a separate process – which sits in front of a Postgres database, offering a RESTful HTTP API over that database. This means web or mobile HTTP clients can access the database in a safe, controlled manner.

Postgrest basically shifts the work of writing a basic CRUD API (a task for which you would probably use an ORM) to declaring a SQL schema. From that schema, it infers which endpoints should exist and what they should do. For a certain class of web app, this can be a HUGE time saver.

Beyond that, consider checking out the "Motivation" section of the website: https://postgrest.com/en/v0.4/intro.html
You can explain what a monad, for example, is, in one sentence, but it is useless if you don't show how it is used.

Similarly, you may know what eigenvector, or derivative function, is, but without practice you can't understand why you may want it.
> You must live in some imaginary world where bacteria and viruses respond to your will and refuse to infect you.

Are you saying there's no such thing as prophylaxis? Doctors must wear gloves for fashion, since microbes apparently just phase through solid matter.

> And of course, if you happen to be asthmatic, it's all psychological, and you get to decide, eg, whether that cigarette smoke will trigger an attack or not.

Regardless of whether you're asthmatic or not, deciding not to go near the smoke is within your power.
Pretty neat. There's also a TED talk about balance which was pretty amazing.

ps: I wonder if there's a skateboard dynamics.
Kafka relies on ZooKeeper of the Hadoop eco-system. ZooKeeper is not so great.
The constituency he'll end up serving is billionaires like him.
Microsoft's paper: https://www.microsoft.com/en-us/research/wp-content/uploads/...
Dunno- I got my current job through exactly one connection. I wasn't even sure I wanted a job, at the time, but he kept pestering me to come in and interview, and eventually I did. I'm not unhappy about it- it's nice to have a paycheck.

But I think your math is off.
What purpose do you want to access raw NAND? If you are okay with just a basic low speed connection to read the NAND, there is a fairly standardized async protocol which you could achieve with a dozen GPIO pins. You could also use a FPGA or and NAND flash programmer (like of like the old EPROM programmers)

However beyond this, you need to know a bit more information to interpret this raw data. This includes any data framing structure, error correction, scrambling, encryption and read error recovery algorithms. A lot of this information is non-standard or only available under NDA from the manufacturer.
The article doesn't mention a possibility to make a good energy storage in form of alcohol, produced from organic materials by biological processes. Wonder if that's a viable option.
I'm the total opposite. I absolutely hate rejection letters. They give me no upside feeling and they are all a downer. I'm applying to jobs because I sort of need one, not because I'm out to get social goodwill. This feeling of sinking "ugh" only worsens on days when I get 3 or more rejection letters.

If you do send a rejection letter, at least make sure it has proper grammar and spelling, and please send it within, idk, 6 months?

I have gotten some amazing rejection letters, but only after an interview. These are well-thought out, globally applicable to all rejections, and directly show why I wasn't a good fit. In sum, they were impossible to argue with. I've only received a handful of these, but they were worth keeping around for inspiration.
Thanks, I changed the first sentence, hopefully it's less confusing.
You picked a bad example, as Uber car ordering does work with location services disabled.

Any better examples come to mind of apps that refuse to run unless hey have an unreasonable feature granted?
This makes no sense. If you are getting replaced then it's through an outsourcing company. Your employer wouldn't even be doing the fraud. It's the outsourcing company.
I've been doing Clojure full time for a few years. Here a recommendation on editor setup if you're new to the parentheses:

1. Setup Cursive ( https://cursive-ide.com/ )
2. Start a REPL on the command line with `lein repl :start :port 38123` and connect to that repl with cursive, a remote REPL.
3. Bind and learn the following structural editing commands:

a) Grow selection (this will be by FAR the most used in the beginning)

b) Slurp.

c) Send top form to REPL.

d) Join lines

Don't ever select by line, only use "grow selection". Don't ever break any parens ("[({") imbalance. Shouldn't happend if you use "grow selection".

Editing like this will get you pretty darn productive. I used it for probably 6-7 months before I introduced more structural editing commands (Next in line is IMO "Move Forward").
If you want a good robo advisor with no fees, check out Wise Banyan. I'm a client, but a happy one and that's my only relationship with them.
It is only small in older hashes. Modern hashes tend to have a state larger than both the seed and the input block.

See:

https://github.com/demerphq/smhasher/blob/master/HashAnatomy...

It actually turns out there are performance benefit by having a larger seed, but not too large. (If you think about it this makes sense consider how many bits you can change with an average combining operation, and with a worse case combining operation.)
I guess this is like a lower-level version of Parse (on a different, transactional stack too). Pretty cool. I wonder though, often times I have cases that are mostly CRUD but with a little extra: e.g., "create this object and kick off a Stripe payment", or "create this object and send an MQ message". With Parse, you just write Node triggers to do that. Would I have to dig through Haskell code (or hire Haskell developers) to do the same here, or does postgrest support an easier way to do that?
Iirc, QQ uses a number as the "username," sort of like a phone number.
Corporate culture merely provides a choice. You can always quit your job if you dislike the choice offered.

Legislation does target individuals; it forbids me from choosing money over time. As a person with no desire to stay home for long periods, this directly harms me.
Guys nothing is gonna happen .. h1b abuses will continue as before so will l1 and b1 visa abuses, your jobs will be shipped to Mexico China India and Machineland. There has to be an international agreement that any company that sells to USA Europe China and India need to pay a special tax that will allow universal basic income for residents of those countries. That is the price for accessing the largest markets in the world that companies should pay.
Insider Perspective: This can happen at big companies when they want a "lineup." They already know who they are going to hire, but for appearances, they will bring in 3 more people (usually two that are grossly under-qualified and one that is unaffordable). Then, after interviews, the pre-chosen candidate gets to shine as the ideal candidate. Inside recruiters are often masters at such setups, all created to have a paper trail of fairness in situations that are anything but fair.

It is terrible for the others in the lineup since they have 1. wasted a day 2. have hope for something where this is no hope 3. possibly hold off on other opportunities waiting for an opportunity that doesn't exist.
It is off because it assumes :

- you need powerful people

- you need to know people well

- you need to know them IRL

- you need to know them if they know you

- one person can only help you get a job at one place

- the person must be in your line of work

However my experience has been rather:

- anybody has the potential to bring you an opportunity. They have friends, family and colleagues, and they talk. My first internship was from the cousin of a friend of my mother needing somebody. 3 layers of indirection.

- superficial relationships (met once in a meetup, sport club, whatever) do carry opportunity. When people are looking for a worker, they prefer somebody they know, but will rarely find it and settle for anybody they can assess.

- IRC channels, forum and social networks are all doors to get jobs. Even MMORPG, MOBA or RTS. Actually they are filled with geeks, they all work in companies having some need for a recruitment or the other. And they are having fun with you.

- Even if you don't know somebody, if the person knows your work, it's a start. Github is a great personal showcase. I personally don't send my resume first, but my link to my stackoverflow account because it's quite famous in the Python community.

- people can talk about you to somebody working at another company who heard someone needed somebody, etc. Actually it often works that way: informal networking is the way humans connect the best. This is something I learned in Africa where it's the way of life, it's a lost art in our countries, were we do it reluctantly if we have no way around it.

- I'm currently working for a transport facility. Because my flat mate, not an IT person at all, works for one of their contractor, and he knows the project manager for one stuff where they needed something to be coded and he hooked us up. How ? We played laser tag 2 years ago, and so they know me and we just had diner to seal the deal. It's that stupid. And it worked. I delivered the software and they were happy.
Slightly offtopic, that cant be a wordpress instance can it? I've only seen `wp-content` paths on wordpress blogs...
BeagleHash IMO is less interesting than Zaphod64 and StadtX.

With all of them I used genetic algorithm techniques to search the space of possible minimal mix functions to find ones that minimized error from the strict avalanche test.

I will publish my tooling to do this at one point, but it is a bit hacky to release just now.
Are there programming meetups where you live? If there aren't you need to move. If there are you need to go to every one. If you have something interesting to say you ought to volunteer to give a talk (I just gave one on Redux, despite the fact that I have a job.)

If you have nothing interesting to say you ought to find something- if you're unemployed you must have a lot of time on your hands.
> Maybe we need smarter ad blockers.

And maybe we ad purveyors who don't suck.

I occasionally do tech support on relative's computers and am appalled by how slow they are without an ad blocker.

I'll go even more extreme, if my browsing experience on your site invokes more than your domain and a single CDN domain, you FAIL.

If you want to serve ads, you should have to put your resources and the reputation of your domain at risk to serve them.
This was the article that finally made monads "click" for me when learning Haskell:

https://slpopejoy.github.io/posts/Effectful01.html
He said economically rational which it is. It has nothing to do with whether or not the decision helps you sleep well or not. From a pure economic perspective its the right decision to make.
While it's not particularly "hard", there is a whole subgenre of "science fiction" romance written mainly by women that involves beautiful women falling for the handsome, rugged, Zapp-Brannigan-esque space captain, plucky female space captains stranded on alien worlds and discovering new avenues of passion with one of the natives, etc.

Men cater to male fantasies. Women cater to female fantasies. Quelle surprise.
Postgres supports async notifications, so you could just write a little service which gets a message when a record changes, and put the Stripe logic there. https://postgrest.com/en/v0.4/intro.html#external-notificati...

Not as simple as Parse, I guess, but that's a tradeoff of using lower-level technology.
BEER MAN| Suspense/thriller/psycho short film