skysight-inc/HackerNews huggingface dataset:
Ask HN: Vesting schedule with no cliff?
I've been in negotiations with a startup and I've liked everything I've seen so far.

The founders are great people and I've had a ball chatting to them over 3 meetings.

However, when it came down to the offer, the stock option grant doesn't have a vesting schedule. It vests 100% only after the full 4 years have lapsed.

Now I've worked for a startup before where I was granted stock and it have the usual one year cliff, then 25% per year thereafter until the full 4 years. And as far as I can tell from talking to people and researching online, this is the usual thing to do.

Anyone been through that? Any ideas as to why they would have done the grant this way? I will be asking these questions directly of them next week but thought I'd hear what hackernews has to say.
Yes, but this is not as bad as opening the word doc, selecting everything (with the mouse), copying it, opening a new empty doc, pasting it in there, save. This is how you copy word documents. These are pretty easy. Some other file formats are harder, like Excel sheets with tabs.

Now you may be tempted to think, "people do that?!". Of course they do. If you can imagine it, someone is doing it.
Never again run out of stories for your children
But that's the point: There's nothing in this presentation suggesting they were even implying that it's a way to change the outcome of the election.

In fact, I'd be quite surprised if it were: If you're doing marketing at Twitter in summer 2016, you'd be a genius if you though of RT's motives as anything else than getting clicks for their content.
Life in a Kenyan Maasai Village
ARM SoCs are even more proprietary. A lot of manufacturers won't even release a datasheet (Broadcom comes to mind...)
I started writing a response to this ... but it got a bit too long and became my first ever Medium post: https://medium.com/@danrspen/write-tests-a-sensible-amount-o...
The Experience of a Lifetime
If you are interested in a more mathematical method of generating Islamic patterns based on tilings, be sure to look at the work of Craig Kaplan, especially his Ph.D. thesis and related software tools, but perhaps start here:

http://archive.bridgesmathart.org/2000/bridges2000-105.pdf
There's no physical reason why it might be more likely for an interstellar object to cross the ecliptic near the sun. But an object which does so closely enough for solar gravity to yank it into a second crossing might well be more likely to get noticed, especially when its modified trajectory brings it as close to Earth as this one came.
Ahh, bullshit. People also love fatty, salty, and sweet food. Yet there's still market for kale and cod.

Similarly, there has been tabloid journalism since the printing press was invented. But there has always been, and still is, plenty of high-quality journalism.
Would you buy?
Trump has been denying his campaign colluded with Russia.

This doesn't contradict that, rather it shows that Twitter was the one 'colluding'.
actually, both HTTPS and WebSocket over TLS (wss://) require a TLS handshake, so it's not like you're constantly doing that after you've loaded the page, but HTTP request/response header sizes could def be a concern.
I win:

alias add='git add'
alias st='git status'
alias ci='git commit'
alias br='git branch'
alias di='git diff'
>grep

Not to mention tar which is just impossible to get right on the first try.
I think you missed my point, it's not about the logging framework, its about the fact you don't control an external dependency during testing. Unit tests are meant to be reproducible, meaning they are done under controlled conditions.

> Most static methods are small and pure

This is very assuming, tests are a way of being specific about your intent.
Yes and no. If the "standard procedure" when they normally wipe the data as part of routine is to overwrite (Which I'd probably hope so) then the fact that they did so a) Makes it impossible to recover, and b) Doesn't make the action any more incriminating.

This is entirely separate from questions of obstruction of justice.
Non-representative anecdote : i've recently heard of two teams that started using elixir, they both came from a ruby background, and in both case they weren't using OTP.

They both justified using elixir because it was "closer to ruby" (???), and they both seemed to live a pretty difficult time with that language. Which makes me wonder : why would you ever want to use such a special language (purely functional isn't for everyone) if you don't have any scalability issue, and don't even use OTP ?
You couldn't autogenerate them easily. If you don't have a unique captcha people could store answers
16 hours is shortcut for 16 hours from midnight.
Are there other employees? Did the founders have previous startups? It could be they are inexperienced themselves.

Ask for the 4 year vesting schedule.
I've read the books, and without spoiling anything, there's a lot of crazy stuff to come. You should continue reading! :) (and don't forget the novellas and short stories) Plus, the second season only covers about half of the second book, so you'll be done with the material from the series pretty soon.
The 'unbiased' bit in the Twitter presentation is bullshit, how can they determine how an organisation is going to use this system? It's wishful thinking at best.

Otherwise, to be honest I'm with you. Suppose it was revealed Twitter had offered the same deal to Fox News, CNN, PBS, the BBC, etc. In fact they probably did.

Is it now illegal or immoral for US businesses to deal with RT? Should US advertisers be banned from working with RT?
US media organizations? US telecoms companies? Maybe they should be, but it certainly wasn't back then. We all know RT is a Kremlin propaganda tool, if we want to penalise RT then lets do that directly and explicitly and not blame Twitter for just being Twitter.

Now if subsequently Twitter has decided that RT violated Twitter's terms of service, that's a different issues, but you can't expect Twitter to know they're going to do that beforehand, or in general pre-emptively decide who they will or won't accept on the platform like that.

Edit: See emodenrockt's reply below. Couldn't agree more. RT are toxic, but we can't afford to twist our deomocratic and press freedoms in knots over them.
Good and bad are obsolete, there is only confusion. RT don't care about being trusted, they don't care about credibility, they only want to undermine the credibility of everyone else. If nobody is credible, if no information can be trusted, then there is no truth and no lies, only gut feeling.

https://www.lrb.co.uk/v33/n20/peter-pomerantsev/putins-raspu...
Hi Bernard! Thanks you for the feedback. You're right - it's a handy tool for processing academic papers, news articles and other many-page documents.

Bernard, as for glitches, it looks like you used the demo. Please, take a moment to discover Conceptmeister app where we've already fixed the enumerated bugs.
No. The Abrams timeline diverges in the mid-23nd century; humpback whales went extinct in the 21st.
(Gerrand)
>>> Java doesn’t also say you have to separate concerns.

Sure, I was talking from inside my own enterprise-context where Java actually means Java + Spring + a few other things that force you to separate concerns (for the better imho, although it doesn't help with code navigation)

>>> The thing that has always let COBOL down for me is the lack of automated testing.

True.
World's witnessing a new Gilded Age as billionaires’ wealth swells to $6tn
The psyop isn't working.
How many static classes are your methods using? And what is the problem with injecting this stuff at the top of the class instead? If you plan to write tests, you have to control your dependencies, and DI is the simpliest way to do that.
How is this misusage of statistics? Given that internet speeds are a moving target, it really only makes sense to compare with other nations. If Australia doubles their internet speed that's great and all, but if the rest of the world makes a 10x improvement, sure doesn't seem like much of an accomplishment.
Upload Documents to Azure Data Lake and Export Data Using SSIS
Its true that its taken a long time but its due to the fact that their first attempt didn't produce enough beta carotene. The second attempt worked and is still being tested in field trials in China, Bangladesh and the Philippines.

Its true that we can also combat VAD with supplements, but shouldn't we have multiple strategies to combat it?

Regarding the article, who is to decide when we should abandon an approach? You could apply the same argument to Organic Food. After 30 years, it still only accounts for more or less 1% of global food production, and there is evidence that its not necessarily more environmentally friendly than conventional agriculture. By that logic we should also abandon it.

http://www.thedailystar.net/frontpage/vitamin-rice-now-reali...
https://ourworldindata.org/is-organic-agriculture-better-for...
Gh-Stats: Compare Yourself with Other GitHub Users
> because you could control the data layouts very precisely

You can do that in assembly too
Flat Rate Pricing Paradox: Conflicting Effects of “All-You-Can-Eat” Buffet [pdf]
A Software-based Approach to Identify Heavy Hitters in DNS Traffic
Channel 4 is a no for profit company.

http://www.channel4.com/4viewers/viewer-promise
I disagree that delegates and higher-order function are 'crap' or in any way more complicated than introducing interfaces that are injected though a centralised container. You could just as easily turn that argument around and say mocking and an overuse of interfaces come from your resistance to using small static methods. In C# Linq is almost entirely based on static methods and delegates and that is not harder to test as a result.

Static methods usually don't rely on any hidden state at all. The example originally given was for a graph operation which could just take the input graph as an argument and return the result. When your code is composed of small independent functions you don't need mocking and substitution at all. In my experience most uses of mocks come from functions that do too much in the first place.
GBM already IS a userspace layer than abstracts over driver-specific kernel interfaces. That's the whole point.

You also seem to have missed the whole point of wayland's design. There is no separation between "window managers" and "display servers"; there are just "compositors". So naturally it is something that needs to be dealt with.
wlc, libweston, wlroots (for which I am an author, responsible for the DRM/GBM code), etc., are designed to make it easier to write compositors and allow for more code reuse.
So yes, someone using one of these libraries wouldn't need to deal with these details, but we're actually writing such a library.
People usually dive into Elixir expecting Ruby, but it’s a very different language. Most of this confusion comes from not wanting to sit down and read a good book about it. The only thing it takes from Ruby is variable and namespace naming (since José Valim was a ruby syntax enthusiast). Ruby syntax is good IMHO, but that’s not the only reason to go for Elixir (far from it).

I recommend the book “Programming Elixir”. Even if you end up not picking the language, it makes a good point about how OOP is a natural enemy to concurrency (because of state) and about how transforming data (I.e functional) is a better match. The language runs atop the Erlang VM, which successfully navigated the troubles of concurrency in ISP nodes a long time ago.

Again, worth a read.
She is the personification of the (male) nerd dream.

edit: definitely not. https://blog.invisiblethings.org/speaking/
Any timeline for Python3 support?
That's exactly what they're doing. It's wlroots, the compositor that sway is built on that won't support Nvidia.
Clean architecture: https://smile.amazon.com/Clean-Architecture-Craftsmans-Softw...

Anything that touches the real world should be as small as possible.

I've been writing code using tests for about 4+ years and I now can't think of writing code any other way.

I would be scared of refactoring. Also I'm testing the code anyway - why not write it down so it gets done every time?

Run integration tests too for sanity - they're testing the integration of things.

To me: coding without tests is like going caving without a flash light. You don't really know what your code does until you run tests. Your confidence rises when more code is covered.

No it isn't perfect - but not writing tests is not better.
> Other comments are blaming the Liberals

Perfectly rightfully.

> if you are an effective leader trying to create a huge infrastructure project that you care deeply about, you need to come up with a solution that will last through a change in government, with aligned economic and political contingencies.

On the other hand, the opposition can either try to work with or lie your ass off and sabotage everything, the latter being exactly what the liberals did with the NBN.
Yes I'm not saying property taxes are inherently bad, but this would need to be pretty high, such as property taxes of e.g. 5-10% of the market value. Probably a bit hard to swallow for e.g. people who have retired and have bought their homes ages ago for say $100k and it's now worth $1M and the pensions doesn't cover the $50k annual property. Moving would net the couple $900k minus a hefty chunk in profit tax, after which they can't afford buying a new home. We had this situation here and it's not good.

You could have a 10% market value property tax, and a deduction of 90% of that amount, for one home, on your income tax, then 75% for a second property etc, to make it both prohibitively expensive for foreigners, and a bit progressive for those owning multiple homes.
I’m not doing anything wrong.
There is a significant learning curve, but anyone can learn it. It is not much like Ruby, yet it captures much of the joy of programming in Ruby and is far better for structuring large programs. There is optional typing support through Dialyzer, but even without that the compiler will catch many mistakes that annoy me and slow down development in Ruby.

Also - the performance can really make a perceptible difference in user experience even if you don't "need" the scalability.
I'm not sure if this article is clever satire.

> The basic issue with static methods is they are procedural code.

So is any object-oriented code. OOP is a subparadigm of procedural programming.

> Unit-testing needs seams, seams is where we prevent the execution of normal code path and is how we achieve isolation of the class under test. seams work through polymorphism, we override/implement class/interface and than wire the class under test differently in order to take control of the execution flow. With static methods there is nothing to override.

Why did it not occur to him that the function boundary is the "seam" he's trying to find?

I mean, `method(a, b)` is equivalent (as in: equally expressive, and usually implemented in the same way) as `a.method(b)`. Therefore, any problems with one case equally apply to the other case. If his problem is that `method(a, b)` may call other, non-mockable functions, then that criticism equally applies to `a.method(b)`.

(As I'm writing this, it occurs to me that the author may be suffering from the "OOP = Java" delusion.)
I'm guessing what they really meant is "it's close to rails" since the same people made both rails and phoenix AFAIK.
yea, you should be changing code style to increase modularity in a way that is conceptually coherent in terms of what is easy to hold in your head. Increased testability should fall out of that because you can think through "What invariant should hold true about X under conditions/inputs Y1...Y4?"
The Blame Game – Self-Driving Cars Are Not Inevitable Without Help from the Law
TBH, the masses know The Expanse mostly from TV show. But the show indeed is good, and while it has some differences from the books, it mostly stays true to science, even in very minor VFX details.

This is an unpopular opinion, because I've seen here how people like to hate on Gravity and stuff, but I feel like we're seeing a new trend in sci-fi movies/shows - Gravity, Interstellar, The Martian and now The Expanse, despite their various levels of science/plot tradeoffs, all are much more faithful to physics than what came before (with a honourable exception of Space Odyssey), and they do a great job at showing you can have a great sci-fi appealing to general population that sticks to how real space travel works.

--

That saids, The Expanse novels are 11/10 Even Better Than On TV, and I highly recommend them. Can't wait for the next one coming out soon(ish).
Deus vult!
I've been on a WWI kick lately, and I can absolutely believe that. I'd love to see a good written account.

WWI was a weird point in history when we could build immovable objects, but not yet create unstoppable forces. So the great powers built two massive immovable objects, and simply ground them against each other, day after day, because they didn't really know what else to do. Lubricating those grinding surfaces with men and materiel became an existential requirement for those powers, and the British drained the colonies, and themselves, of wealth in order to survive. Incidentally, lots of that wealth ended up in the US, which had a nice line in war profiteering going on for a lot of WWI.

I feel for everyone who died because of that stupid bloody war, but I'm not sure I can blame the British: once they'd got themselves into that situation they didn't have much choice. I don't even blame the Americans for profiting - all the other great powers were busy tearing each other apart because of their 19th century mindsets, it would be kinda stupid for the Americans, with their thoroughly 20th century mindset, not to just sit back and watch.
Russian government condemns Twitter’s ad ban for Russia Today and Sputnik
Which PostgreSQL internals handle each task?
Having a paper ballot doesn't help if the verification process is broken. In this past presidential primary, a group of election observers signed affidavits that they witnessed counting monkey-business during a "5% audit". The reports assert that Sanders ballots were under-counted 21 and Hillary's were over-counted by 49 so that they matched the previously tallied and reported machine numbers. This issue emerged after Sanders campaign window to challenge the election results had past. What is frustrating is the lack of investigation into the issue; did this event actually occur as described -- were the numbers in a spreadsheet trusted over the actual paper ballots?

https://www.counterpunch.org/2016/05/13/chicago-election-off...
> People just don't write comments or tests after, that's the problem.

Doesn't that get caught in code review anyway though? I find being forced to write tests first can be clunky and inefficient. Also, I've worked with people who insist on the "write the minimum thing that makes the test pass" mantra which I find really unnatural like you're programming with blinkers on. TDD takes the fun out of coding for me sometimes.

Generally I'd rather sketch out a chunk of the code to understand the problem space better, figure out the best abstractions, clean it up then write tests that target the parts that are most likely to have bugs or bugs that would have the biggest impact.

I find when you're writing tests first, you're being forced to write code without understanding the problem space yet and you don't have enough code yet to see the better abstractions. When you want to refactor, you've now got to refactor your tests as well which creates extra work which discourages you from refactoring. When the behaviour of the current chunk of code you're working on can still be kept in your head, I find the tests aren't helping all that much anyway so writing tests first can get in the way.
Reminds me of this hilarious GitHub issue: https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issue...

(Hilarious and unnerving)
The Woman Taking on Russia's Trolling Machine
> the number of tests would explode exponentially with the number of branch conditions to handle all the corner cases

Then wouldn't you want to write something that was able to iterate through those edge-case interactions and ensure they are correct?
No, there is not a handshake for every message you send over websocket. You do the handshake only when you open the connection.
It has buildin modules:

•string module

•file module

•math module

•sql(db) module(which can correctly handing null values. Need sql driver package)

•time module

•sort module

•os module

•log module

•net module

•http module

•filepath module

•flag module(for handling command line options)

•json module(for json marshaling and unmarshaling)

•fmt module

•sync module

•sort module

•array module

•hash module

It also has some features like:

•Regular expression support(partially like perls)

•channel support(like golang's channel)

•utf8 support(e.g. you could use utf8 character as variable name)

•try/catch/finally, for-in, case-in/is, c-like for loop)

•defer support

•spawn support(goroutine)

•enum support

•pipe operator support

•function with default value and variadic parameters
I started reading the books only after the first season, and I'm very happy that I've started with the show first - now I read all Avasarala's lines with Shohreh Aghdashloo's voice.

(In general, I find reading after watching a much more pleasant experience - if I read a book first, I form my own image of the characters, which then usually clashes with what's in the movie. If I do it the other way, I just cast the characters I saw in the movie into the book.)

That said, do continue reading - the novels only get better with time, and there's plenty of awesome waiting that the show is nowhere near reaching.
Ask HN: What is your Travel check list?
Matplotlib is great if you dont need it to be in the terminal, or use it to generate an image and then display it with Drawille
> I’ve heard managers and teams mandating 100% code coverage for applications. That’s a really bad idea. The problem is that you get diminishing returns on our tests as the coverage increases much beyond 70%...

I call bullshit.

I work on V8, on JITs and WebAssembly. 70% coverage for these code bases would be absurdly low. We would never ship code that is that poorly tested, and you shouldn't either.

> You may also find yourself testing implementation details just so you can make sure you get that one line of code that’s hard to reproduce in a test environment. You really want to avoid testing implementation details because it doesn’t give you very much confidence that your application is working and it slows you down when refactoring. You should very rarely have to change tests when you refactor code.

What in the. serious. fuck. Of course tests test implementation details. Because _implementation details_ are where the goddamn bugs are.

> ... Maintaining tests like this actually really slow you and your team down.

That's the whole _point_. It slows you down in the short term but it keeps you from experiencing a full-on system meltdown when everything seems to be breaking at once.

Please don't follow the advice of this. It's total crap.

If you've never worked on a system that has survived more than 3 years, sure, go right ahead, run against the wall. But when you work on a system survives 5, 10 (V8), or 20 years (HotSpot JVM), then you really, really want to have good tests.