skysight-inc/HackerNews huggingface dataset:
80K worth of AWS Credit – help extend startup runway
We have 80K worth of AWS credit that we'd like to sell for a lesser amount to extend our runway by few more months while we are closing a funding round.

Any takers?
Show HN: KnightSpear – it's time you get serious with your task deadlines
Are they actually frowned upon? I've been writing Go for a few years now and while I acknowledge there will be blind spots in my knowledge, this is still the first I've heard against using that language feature.

In fact named returns appear all over the Go source code itself[0] and the Effective Go section on named returns[1] seems positive about their usage.

[0] https://github.com/golang/go/blob/master/src/os/file.go (file taken at random)

[1] https://golang.org/doc/effective_go.html#named-results

Personally I use named returns heavily because it helps document what each return is used for. Which is particularly useful in IDEs like IntelliJ where you get the tooltip popup with the function parameters and returns. But frankly I find named returns just as useful when reading back old code on GitHub or even just in vi.

I also notice I'm not the only one who uses them in production code. Here are some popular packages by other talented Go developers (all .go files picked at random)[2][3]:

[2] https://github.com/kr/pty/blob/master/util.go (this package creates UNIX PTY files)

[3] https://github.com/chzyer/readline/blob/master/operation.go (readline package used by cockroachdb and Netflix)

In fact of the packages I checked, I could only find one package that didn't make heavy use of named returns[4]

[4] https://github.com/go-sql-driver/mysql/

So if they are frowned upon, I'd be interested to know more about who and why.
> if getting something to work requires that you understand the spray design, and you need to know Scala, then the DSL is just one more thing to learn, when a idiomatic standard scala API would be clearer all round.

I found that at least it was all ordinary Scala code, so I could always click through to the definitions in my IDE - I actually did that quite a lot early on, basing my custom directives off of copy/pasting directives from the standard library. Contrast that with e.g. Jersey, where when I wanted to add a custom marshaller I couldn't even tell where to start - the existing marshallers had annotations, but the annotation was just an inert annotation, I had no idea how to get from there to the implementation code or how to hook up my own annotation that would do the same thing.

I'd be interested in an "idiomatic standard Scala API" that had to pretensions to be anything other than code, but I suspect it would end up looking very similar to Spray. It seems like every web framework in every language does some kind of routing config outside the language - even e.g. Django, you'd think Python is dynamic enough that you could just use Python, but actually the way you do the routing is registering a bunch of (string, function) pairs where the string is some kind of underdocumented expression language for HTTP routes. So from my perspective the options really are DSL or a config that's to a certain extent external, because those are the only things I've ever seen web frameworks offer - I'd be very interested to see any alternative.
What makes you think they are now ruined? Is FP4 not what you were expecting, does it not still compete with Cisco? It's a big reason why Nokia bought ALU.
This is possibly one of the worst reasons to use named return values. To be honest, I've always disliked them because they make `return` magical since you now have to read through the whole function twice to make sure that you know what is actually being returned. Luckily you can do explicit returns with named returns, but then it becomes confusing if you have non-explicit returns in the same function.

In my mind there are only two reasons to use named returns. The first is when writing interfaces, and you want to document the returned values in a nicer way (in addition to the godoc). This is mostly a taste thing and is not required.

However, the second one is required by the language and that is deferred function calls that interact with the return value of a function. If you want to have a deferred function call that does some cleanup but has to check the error value of the function (for example a cleanup that only runs if an error occurred) then you have to use named return values. If you want to have a deferred function that changes the return value of the main function then you also need named return values. This is a fairly annoying requirement of Go, but I understand why they felt it was necessary to do things that way to make it feel more explicit.

Other than that, in general named returns make functions harder to read (in my opinion). In a similar vein, I really don't like Ruby's or Rust's implicit returns (though at least Rust is less magical about it).
Nice! Have you shared it somewhere?

(No judgement if not, but awesome if you have : )
I think you may be in the minority not know the acronym WFH
HeyBerie App
Run React in React
>I would imagine Nokia at that time would seem extremely unique to Microsoft for just Qt alone.

At the level Microsoft plays, Qt is insignificant.
matplotlib is an example of unnecessarily complex and confusing "organic" API. That's why there is so much resentment to use it; trivial things need non-trivial internal understanding and confusing boilerplates.
Seattle Workers Pay for the Minimum Wage
I don't ignore it. I refuse to accept that a developer can be allowed to forever use only the little knowledge they got on their bootcamp / university, and never learn anything on the job.

It's like when we were transitioning to Java 8 on a project at work, and someone asked me if I don't think using lambda expressions will be confusing to some people in the company. My answer was: this is standard Java now, they're Java developers - they should sit down and learn their fucking language. We should not sacrifice the quality of the codebase just because few people can't be bothered to spend few hours learning.

(Oh, and over time, it turned out nobody was confused for long. Some people saw me use lambdas, others saw their favourite IDEs suggesting them using lambdas instead of anonymous class boilerplate - all of that motivated them to learn. Now they all know how to use new Java 8 features and happily apply this knowledge.)

Programming is a profession. One should be expected to learn on the job. And refusing to learn is, frankly, self-handicapping.
It's enough that some technical people verify it. The average random victim gets his info from news sites and more technical friends.
The .feedback sites also load a "fingerprint" script which tries to gather all kinds of info from your browser.

http://cdn.feedback/js/fingerprint2-0.7.3.min.js
Why would you pay somebody to administrate your own money and give you random results while you can do it yourself?

Corporate bonds. I don't know the legislation in the US, but if there's any chance of you losing your money in case of default or anything. Don't do it. Don't look at how much things yield, but also evaluate how much risk there's behind those things. Nevertheless, if you think it's a good idea, as long as you diversify your portifolio and is investing at most 10% on it. The worst that can happen is that you lose 10% of your assets.

In my opinion, just invest with good diversification in businesses you think are good. Read a book or two in value investing and only invest initially in companies which have not too much debt and have had profits in the last 5 years, for instance. As you progress and get more comfortable, do more complex analysis and invest in companies with a more free criteria.

It might be boring at the first place, but that will prevent you from losing money. If you aren't working for a fund and isn't absolutely rich, just getting a paycheck at the end of the month, the yield doesn't matter too much. Just do the math for the case below and think for yourself:

You save 1k a month for 30 years. Every year you get a liquid 3% yield(I'm making it simple by excluding inflation). Compare this to with a 6% yield(DOUBLE!). Just check how the difference is small.

Now, compare that you saved instead 1.1k a month for 30 years. Only 100 more. There you go. Do the maths, all the yield doesn't matter. 100 dolars in that case is 10% of the total income your assets will have monthly, it's a lot.

The stock market won't make you rich, saving and having intentions of growing your assets will.
Not "uncomfortably bright". Those brightnesses are required for, for example, photo editing, and are useful when watching movies or gaming.

Changing contrast in hardware down is always a shitty option.

The solution is to handle this in hardware — artifically increase contrast and destroy image quality for people on shitty systems.
The EFF is representing her. They are doing so because they have a more general goal, but they're still legally and ethically bound to respect her interests.
Keeping Business Data Safe – 4 Questions to Ask Vendors
> there’s evidence that development on the network propagation component was completed in February.

Yet no evidence is provided. Why would they want to hide it?
> Agreed. If regular, predictable events are covered, it is not insurance. Regular, predictable events are not insurable

Ignoring the US specific stuff, there's a reason that my private health insurance basically covers a regular medical screening - and it's not because the cost is in the premium. It's because that preventative strategy allowed them to reduce the size of claims from people who otherwise would find problems later and those would be more expensive.

Imagine, if you will, a car insurer who can't turn around and refuse to pay out on claims where the car hadn't been serviced in 5 years. The tyres are bald, the break pads worn, etc. Now imagine that they offer a yearly basic road-worthiness check for free each year. They'll sell more policies (because it's free stuff, and they care) and have fewer claims caused by poorly maintained cars.

The costs are being paid, clearly, but they come in part from changes in the claim profile that you would be paying for otherwise.
It's a balance of efficiencies. On the one hand, false "1"'s can be generated by wind, etc, on the line. "111" calls can butt-dialled by sagging trees. With the rotary, "9"'s are nice and distinct.

On the other side of the balance, users perceived "9" as taking aaaaages, partly because they're bloody users and never satisfied, and partly because in emergencies perception of time gets tweaked. Anyway, 999 it was, and remains.
Magento Ecommerce Web Development Company in Pennsylvania, USA
Yea .. I wondered that too. I only got 1-2 deliveries free.
Originally it compiled to Plan9 assembly which is cross platform.
They have an SSA backend for some architectures now.
As the letter pointed out, the guidance is well established, there's no need to drag out an innocent into yet another fight.
That is exactly the bad deal Nelson Mandela got in SA. Just saying.
https://github.com/golang/go/issues/20859#issuecomment-31220...
There comes a point in the chain where both sides have got the initial message, and confirmation that the other side has confirmed the message.

message 1 -> attack!

message 2 -> sure!

message 3 -> I got your sure! At this point, general A knows the message got through

message 4 -> I got your confirmation! At this point, general B knows that general A got the reply

message 5 -> I got your confirmation confirmation! At this point, general A is sure that both parties know when the attack is. General A knows that the confirmation got through, and Gen A is good to go.

message 6 -> conf^n! At this point, General B knows that the confirmation got through, and Gen B is good to go.

message 7 => icing

Even if message 6 doesn't get through, message 2 and 4 have, so general A knows that both generals know. Message 3 tells general B that both generals know - all that's missing is the nice-to-have confirmation.

You don't need to keep on confirming the last message ad infinitum, because that doesn't add new data about the original message and who knows it. If messenger 77 were to be captured by the city, it's not like the generals would call off the attack because they weren't sure of the timing info.

Perhaps another way of putting it: this isn't a continuous string of information that gets added to. It's a set of discrete parcels of information. The additional messages only add information about the veracity of the later parcels, not the initial ones.
This is the part I don't understand at all - why Kaspersky?
Why does Go not use LLVM? Are there technical reasons to reinvent the wheel, or is it just because LLVM is Apple's pet?
Seems perfectly straightforward. If you believe containers give you the level of isolation that VMs would, then you have fundamental misunderstandings of the technology which in a sane organisation would preclude you from operating important systems.
from my personal experience, mpl's 3D plotting capabilities are pretty terrible (just try log-scaling your axes) and looking into Mayavi as a replacement has been on the list for a while.
What's USB DMA?
JavaScript: Understanding repaint and reflows for better performance
How to create pragmatic, lightweight languages
I just looked it up again for my car insurance.

I pay 758 SEK per month now and with Länsförsäkringar I'd end up paying 968 SEK for the same coverage. I do have a 10% discount on my current insurance due to having several policies at the same company. That's still less than the difference though, so Länsförsäkringar would have to refund me around 1200 SEK per year to break even.

That would be around 10-15% of the entire yearly cost, and I don't think they can promise those kinds of refunds year over year.
To me it doesn't sound much as a vendetta.

Basically - if I get right the note - if you have some Kaspersky Lab software running the malware ONLY writes junk to the first 10 sectors and reboots, which basically means:

1) on MBR rebuild the MBR partitiontable entries from the existing (untouched) partition/volumes on disk

2) on GPT restore the partition table from the backup

Both are perfectly doable to restore the system in a full working condition.

It sounds more like a sort of (indirect) "vaccine", instead of getting a deadly influence, you get just a cold, a couple of aspirins and all is well (and the malware cannot spread from that machine to other machines on the network, since it rebooted to the junk and the OS is not running anymore).
matplotlib is an example of unnecessarily complex and confusing "organic" API

It is designed to be familiar to people who already know MATLAB, and it does that quite well. So it is not "unnecessary", it's like that for a reason. I agree tho' that someone who has never touched MATLAB might want to plot directly from Pandas, or maybe use Seaborn.
Video:Nvidia  announces Codota, an AI that helps you write code powered by ML
This is a great article. I remember when that lady recently accused Tesla of gender discrimination and tesla basically said that they had already given her special treatment because she was a lady.

Women and men are very different. Diversity means accepting the good that those differences bring, not trying to eliminate it by making men and women the same.
Everything you said is implied.

There is a little something called an artistic license that people can tell when it is being used. This article is one of then. Learn to enjoy.
Collaborative recommendation engine with Dgraph
They have enough dammed water to do it with hydroelectric for a week to win a record.
> Very quickly, you begin to understand the connection between your actions of the last day or two and your weight.

Really? According to e.g. the Mayo Clinic, a healthy weight loss programme is aiming for no more than 2 lbs lost per week. That's 4.5 oz per day.

Edit: If you go any faster, you're mainly just dehydrating yourself and you'll bounce right back up (maybe even higher).

Meanwhile, your body weight fluctuates by up to 64 oz in 24 hours as you eat, drink and go to the toilet. There's a whole forest of confounding variables, and what you're doing is looking at twigs and going "Significant!"

E.g. eating salty food the night before will easily retain an extra 20 oz of water in your body the next morning. That's got nothing to do with weight loss. But salty food often has a lot of fat, so you go "Correlation! Causation!"

Really, if you're looking at weight changes on time scales less than two weeks, you're only chasing patterns in randomness and fooling yourself.
I'm pretty much a total novice with low-level aspects of storage, but if this is essentially writing junk to the windows bootloader or something to preveny booting to OS, couldn't one just plug the HDD as a non-ROOT drive to another PC and recover some of the important files?

I've seen people successfullu do this before after their super old ROOT disk gets corrupted exactly where the windows bootloader is...
No, RVO is about the compiler silently moving the on-stack location of the "returned" object into the callers frame.
Harmonic Trading – Different Gartley Methods Unveiled
I am an average web developer and I have sound computer and programing skills. I'm interested in computer security and always fascinated by these articles.

When I read stuff like "Petya (binary edited)" I feel like a complete noob. Anyone care to elaborate how editing binaries would be done?

Sounds like a daunting task. Even on a normal program. Much more so on malware that is obfuscated to begin with. Just curious :-)
I agree, but also feel a bit sorry for Ruby devs, in the sense that they could have had that experience with Dylan or even with Apple's short love with a Ruby AOT compiler (which eventually became RubyMotion), while staying in Ruby.
Ahead of Time Compilation – Java 9
Finding an assembler bug is also interesting. Marched up against a nasm bug once that kept me debugging for quite a while. The good thing with assembler bugs, however, is that you can decompile the generated machine code to something that is really close to your original source code... That helped a lot.
> I think the main trouble is that it's hard to know what the good books are for your particular needs, and most people aren't going to want to try exploring some alternatives to find a good one, or maybe haven't been given a good recommendation yet, so they don't bother reading books at all unless really curious or forced to...

This is a solved problem, too, but not many people seem to understand the solution until told explicitly. I know it took me a while to figure it out, but here it is:

With the Internet (and little English proficiency), you have the access to the very best material human race created on any given subject. In programming, the best books for topic X can be easily identified by searching for "best books on topic X" and browsing the resulting Reddit and Quora threads. It's literally that simple - if you see some books popping up constantly in such topics with high recommendations, it's a safe bet to go and read them.

RE Common Lisp, I don't think it's that bad, as long as people get directed to PCL instead of SICP. I always recommend SICP as a book for blowing your brains out, and learning 80% of concepts used in programming in general - not as a book for learning Lisp, because it's not about that.

The Debugging Lisp series is awesome, thanks for linking that!
Unicorn Unix Magic Tricks
The language has its pros and cons, but for me the issue is the culture, I'm not sure I'll get over my 00's experience nightmare of being handed specs or UML diagrams by Information Systems "Architects" who never wrote a line.
I wouldn't be so sure. Last time I went in Taiwan, a friend of mine told me surprising political stuff like: "this part of town is KMT, that part is DPP", "if neighbours learn my family don't vote KMT we're in trouble" and "my grand-father is from the continent, that's why I have these facial features. So people knows I have mainland ancestors and thinks I'm KMT".

Of course it is just a data point, but that's may reveal underlying things that totally foreign for European/West way of thinking politics.
I'm very interested in this. Thanks for sharing.

Having coded up a semisolid implementation of time-dependent contraction hierarchies (which might not even get used, because of the very same data accessibility issues you outline), it seems at first glance quite straightforward to adapt CH preprocessing to this model. To contract a vertex you just look at whether each potential witness path has a nonzero probability of being a shortcut. I suppose you could cut preprocessing time down by replacing "nonzero probability" with "probability greater than epsilon" to get a sort of approximate hierarchy.

You refer to the edge weights as an "hmm", which I guess stands for hidden markov model. It doesn't seem like they use that term in the paper, although if you made the data time-dependent would edge weights then be a genuine markov process? Would something like the Viterbi algorithm become a useful subprocess of the overall algorithm in that case?

The current big open source routing engines tend to be written in c++ or java. Do you think using python makes a significant difference in query or preprocessing times? *

*Edit: Just noticed the Numba dependency, which probably answers this question.
Yes, but today it requires using JS or compiling into asm.js, which isn't always possible to keep the original language semantics.

WebAssembly is just yet another virtual CPU. more suitable as target for Go, .NET, Java, Flash, ....

They only need to target the framebuffer routines into Canvas/WebGL and we get desktop frameworks inside of a browser frame.
Mail me to the GOP
I can think of a lot of parties that would love precedent for Google censoring stuff from their DNS. Parties Google really doesn't want to be seen as on the same side with.
They wouldn't be selling them if the customers had a choice.

But the customers don't.
mayavi is also not amazing (though much better).. afaik there are no good options right now.. If anyone has any suggestions, aside from coding your own thing in PyVTK, I'd really like to know
Punishment/containment systems like jails, fines, etc., have always worked this way, and history tells you it will never stop. If anything it has gotten better since, way, 1700's, where the rich simply were the law.
Direct memory access by USB host controller. A good explanation can be found here: https://security.stackexchange.com/questions/118854/attacks-...
Or paste graphing paper to your bathroom wall with a pencil on a string next to it.
Lol, look up google's project Loon. They are trying to give everybody internet with balooons that stay in the air a long time. They steer by going up or down into different wind currents at different altitudes
Hey Evan. CORS is on my todo list for Hardenize and will be added. We've done some work already, but it's hidden for now until I am certain our assessments are correct. Happy to work with you if you're interested. You have my email address!
I wonder, how does this compare to Yelp?
They just added another update:

"Some of the payloads utilized by the network propagation component have compilation timestamps from February 2017. The compilation dates on these payloads don’t have any bearing on when the Eternal* exploits were implemented in the network propagation code."

https://twitter.com/FSLabs/status/880688502769414144
Mayavi is really powerful for 3D plotting and 3D data visualization. Unfortunately the learning curve is quite steep and the documentation is not the best. Also they've built their own python tools for building Mayavi so many things in Mayavi are done in its own, rather unique, way.