skysight-inc/HackerNews huggingface dataset:
> Docs/code impedance mismatch is a problem that a docs tool needs to solve to stay relevant.

It's not an impedance mismatch (which results from difference in the structural representations supported by different systems), it's just a content mismatch. And it's not a tooling problem, it's a process problem. Documentation is the single source of truth for intent, and development process must respect that.

This becomes more and more important the more people who aren't developers need to understand the logical function of the system.
I've used Postgres FTS successfully on many different projects. You need to do a bit of planning before implementing, but it's pretty easy and straight forward.

Feel free to reach out to me: ryan@luma.im if you'd like to chat about it!
AL is copyleft.
Defense contractors talk a whole lot about COTS (commercial off the shelf) these days (and in the past few decades). It's a big deal to be able to not spend money reengineering something equivalent to an existing technology. It would take _years_ to create a new data comms interface (like FireWire, USB 1,2,3, ThunderBolt, etc etc) and why? The signaling physical layer and cabling design don't need to be redone do they?

They'll surely have reengineered cables and connectors to survive the aircraft environment, but who wouldn't rather buy a FireWire PHY from Mouser than design and manufacture something similar from the ground up?

Decisions like this will have happened at Lockheed and high up / early in the design phase. (i.e. it's not some subcontractor finding efficiencies but a fundamental block of the system design)
Can confirm that I have way more content than Netflix (currently clocking in at around 125TB, I may have a slight problem). I cancelled my Netflix account after all that no-VPN bullshit. I like my privacy, thank you very much. I've to admit I quite enjoy when friends come telling me that tv show XYZ isn't on Netflix any more, asking to be added to my Plex server. Every single person cancelled their account after a few days of having access to my library. I don't even like pirating, I'd like to pay for my content (provided I like it) and often I do buy the DVD/Bluray just for it to sit in it's packaging in my basement collecting dust.
>The GPL has such strong terms, I think there is good reason to avoid ever reading any GPL codebase. Tainting yourself may imperil any code you write for the rest of your lifetime.

This is the most ridiculous FUD I've ever seen.
Air travel will slow down when tickets get more expensive as fuel costs rise as we reach peak oil.
The concept of getting a panic attack in response to listening to some audio is completely foreign to me. Is it normal to have that reaction? It sure seems like it wouldn't be.
Their DVD service required a minimum of 48 hours forethought before viewing a video. Some people watch whole seasons of shows in that period.

For most, a large enough selection instantly is much better than a full selection w/ a 3 day lead time
I'd rather not support those who proliferate DRM up to the point of pushing it into HTML standard.
There were proxy wars sure, but the cold war clandestine ... er spycraft or whatever you'd like to call it has just embraced computers. The CIA and friends and the KGB/FSB and friends just got some new tricks in addition to the old ones.
I didn't get burned either time. See: I had an agreement for someone else to pay my legal bills.
I don't see any audio controls, or audio download progress, in either Safari, Chrome, or Firefox. Looks like a syntax error, there's some HTML in a Javascript file.

Conceptually, since I can't try it, it reminds me a bit of hyperaudio. Have you seen http://hyperaud.io?

I also did a hypertranscript similar to this here: http://vitor.io/uxr101 Click on any word to scrub to it, or click in whitespace to toggle play/pause.
Show HN: Game developed using unity, launched pigs in peril
Are they going to block admin Windows accounts too?
This is just not the way contract interpretation and enforcement works. It never has.

The law has always recognized public policy considerations that sometimes outweigh the benefit of enforcing a particular contract.

I'd be shocked if you didn't agree with some of examples of such contracts. For example, if A contracts with B for B to murder C, A cannot sue B for breaching that contract.

California decided that the public policy of fostering freedom to practice one's profession outweighs the interest in enforcing contractual non-compete provisions. You may not agree.

But, in the end, this is all about public policy goals. Framing the question as about the "state preventing two people voluntarily entering into a contract" isn't quite correct. The question really is whether the state should get itself involved in ENFORCING a particular agreement. Generally, the state will do so because a functioning economy is dependent upon enforceable contracts. But that is just one public policy interest to be weighed against others in particular instances.
When to use splay trees (2006) [pdf]
So, what was the first Red Scare, Sacco and Vanzetti, or the Scopes Trial in the 20s about then? Many of the things you attribute to the Cold War-era were present in the 1920s USA. The biggest difference was isolation.
I'm not sure we are speaking to different things.

I'm skeptical that a pharmacist would want to accept any liability to sell the $4 of antibiotics. The not simple part (my relating my experience is to argue that it isn't always simple).

I wonder what the doctor you saw would do with someone less sure of their issue.
If you value the needles, increase the haystack...
Forget Mars–let’s go colonize Titan
> This is why the Lisp and Smalltalk Evangelism Strikeforces have been met with decades of failure, while the Rust Evanglism Strikeforce is getting on with a massive project of digital tikkun olam.

If that were true, then Javascript, Python, Ruby, PHP, etc would also have failed. Smalltalk and Lisp failed to become popular in the modern world for reasons having nothing to do with late binding.

How about wait until Rust is at least as widely used as Ruby before going on about how much of a failure Smalltalk and Lisp are. Let's see if Rust stays around as long as Smalltalk & Lisp have, or whether it has that kind of influence on other languages.
The world is getting hacked. Why don't we do more to stop it?
Yes, it costs a lot of money to fight a lawsuit your former employee may bring against you.

But you might not ever get there. In my experience, nasty employers will directly contact and threaten the employee's new employer, which can result in the employee being fired (or maybe never hired in the first place).
Usually when they really give a shit about the non-compete in finance, there's a term contract.

My friend did commercial banking. He had a one year non-compete, but it was geographically scoped, and he also had multi-year contracts that protected him from layoff. They needed to release him for specific causes, buy out the contract, release his contractual obligations, or some combo.
Do you know spanish?

Search for satellogic, they build satellites
> "it's a standard contract"

For my current gig as a linux sysadmin I was hired a couple of years ago, and handed a standard employee contract. There was a clause in there that I agreed not to install free software on my work computer. The clause was just there for tech naives who might install any old crap, but it was funny for a linux professional. There was zero trouble amending the 'standard contract' to get rid of that clause. :)

In any case, you can bet your booties that the higher up the food chain you go, the less people get a 'standard' contract and the more it's tailored individually to them.
Sorry HN, 2 year old keeps on posting. I will remove all HN apps.
A download utility like put.io and a nice search site like skytorrents.in seem to do the job pretty well. As a bonus I can get subtitles or not, Vs whatever Netflix decides. And there's a wider selection of content. And streaming will start in high def. And I can use a different player if I want audio or brightness boost. Plus I spend less time endlessly browsing a catalog.
> where capitalism always goes.

Unfortunately that's just another way of saying "what people want". Even more than just want, because it's not like world peace, where people want it, they just don't want to pay for it. This, they're looking to pay for (perhaps not the product itself, but the other qualities of the product that get made in order to promote their DRMed format they certainly want, and authors want the DRM. Yes, authors. Not just publishers)

But people want to pay for these products that only get made if DRM protections are made for them.

And I wonder if you can kill one without the other.
And then someone heard the Rust mafia say "Form the MegaZord!!!"...and many corrections were posted.
How do you host this setup? Any howtos if I wanted to run a service for my family?
Anybody going to implement this and share it open-source? :)
take a look at mine ( https://github.com/bhuztez/borrow )
Yeah, apart from 1.6GB of documents that are mostly PDF, it's all text (mostly code). And I back up multiple times a day so there's a lot of duplicate data.
I have an original Western Electric licensed copy.
Just use a service like put.io for your downloading and torrents are suddenly easy again. With the Android app, I search, click the magnet, put.io pops up, the transfer is usually instant (due to dedupe), then I click stream.
IIRC there's some evidence that very low-frequency sounds may cause feelings of anxiety and fear in human subjects. Very low frequency sounds may occur prior to catastrophic events like earthquakes, and some animals have been known to react to it. It's plausible that humans have evolved a similar protection mechanism which has gradually atrophied. That being said, I'm talking about sub-20 Hz frequencies here. I don't think these recordings contain that and I don't think it would be possible to reproduce on regular headphones anyway...
Edit: Never mind, missed a word.
Yeah, thanks for the downvotes everybody! The title is changed to the more accurate headline, but fuck me for voicing any criticism!

Here's another shitty comment you can downvote. Have fun. This is what you get for frivolous downvotes. More bile.

Fuck this karma-whore rating shitshow.
any good resources on 6502?
Netflix loves doing DRM stuff "for the studios" as it creates a barrier to entry for other players. If Netflix pushed the truth that DRM doesn't matter, then a competitor might get a studio to sign a nice deal with them.
Elected official's job status is defined by statute. Money is irrelevant.

This is often a matter of serious debate. For example, in New York legislators are considered part time, so they are permitted to operate businesses or be employed while in office. This creates an appearance (at a minimum) of conflict of interest in many scenarios. Full time employees of government generally need permission by the appointing authority to do meaningful outside business.

This applies to any government employee. A janitor on government payroll generally needs permission to work for a company that cleans offices at night.
This poster succinctly sums up aspirations of the Indian middle class
Thank you that was very helpful.
"Avoid running your scan with elevated privileges" could have greatly mitigated this failure.

> NScript is the component of mpengine that evaluates any filesystem or network activity that looks like JavaScript. To be clear, this is an unsandboxed and highly privileged JavaScript interpreter that is used to evaluate untrusted code, by default on all modern Windows systems. This is as surprising as it sounds.
Wandersnap | Bali, Indonesia | Full-time | Onsite

We connect travelers with local snappers to capture selfie-free holiday moments. Covering 30+ destinations around Asia. For every booking, $5 goes towards training low-opportunity youth in photography, so they too can create art for a living.

Our founding team includes experts in marketing, technology, and product, with successful entrepreneurial exits under their belts. We are looking for an equally talented developers to help us take our platform to the next level. You either live in Indonesia or you are willing to relocate.

Roles

- Front-end developer: React, Redux, React-Native

- Back-end developer: Node, golang, elixir, aws lamda, php, postgresql

Apply: join@wandersnap.co

https://www.wandersnap.co
Met Police use of Indian hackers probed by watchdog
Tinyreset – Tiny CSS reset for the modern web
His work depends entirely on a normative judgement that inequality is a bad thing. Those of us who do not believe that can dismiss him.
20 Tips to Promote Your Online Shop
Pretty much every "Introduction to Economics" class will feature the Infant Industry Argument in its syllabus. (https://en.wikipedia.org/wiki/Infant_industry_argument)
Show HN: A dead lightweight comment engine alternative to Disqus,(React, Koa)
Superficial as in all I want is the two numbers to be printed out at the end. Why do I have to go look at flame charts and timelines? Boggles the mind.

If you look at the documentation of what I am actually interested it is time-timeEnd or profile-profileEnd. With profile end I just don't get output on console and have to jump back and forth between these views looking at a ton of crap I am not interested in. With timeEnd I get the number I want but would like to see a "safe" approved way of where to place the timeend while dealing with async/promises/recursion separately and together.

I am used to testing different approaches within a function. Running the approaches overnight and just getting the 2 numbers printed out for each. Only if these deviate from expectations does the timeline and flamechart etc become useful. But Google debugging implementation seems to assume perf optimization is done in the opposite direction.
Show HN: A Customizable React Material Floating Button
I'm still waiting for one to not end up being murderously barbaric, existence of early critics or not.
HRM was a lot of fun; I wrote an interpreter in C# to test the scripts and test them on a pc; thought about creating a website where people could posts new challenges and create optimal solutions; some changes to hard levels take forever in the game; I could just edit a few things and have near instant results.
No, not really. Genghis Khan killed more people than Stalin did, for example. Famines in British India did as well. The conquest of America by Europe exterminated millions of native Americans.

As our population grows, we have more opportunities to kill massive numbers of people. And at various times throughout history, atrocity has been directed both inwards and outwards. The fact that you learned about more recent upheavals in school, or even lived through them, doesn't make them definitive.
According to that page, the term was introduced by the designer of something called TRAC, who used it to denote the idea that the program is stored in the memory in the same form in which the user enters it, which allows it to be inspected and changed. Nothing about ASTs.
This is such a nice story, thanks for sharing.
We need only enough static analysis to reliably go from machine language on a silicon CPU to robust late binding. After/above that, fuck it.
HODLR: Fast direct solver and determinant computation for dense linear systems
Speaking of fonts, the inconsistency in the font used on that site is horrible, I couldn't finish reading it and had to change the font to make it legible.
(I can't get to the site right now) They have a cool implementation that uses es6 generators to interrupt the algorithms as they run, and pass the algorithm state up to the visualization system.

Other algorithm / data structure visualization sites:

- http://will.thimbleby.net/algorithms/doku.php - uses a javascript interpreter that allows the visualizer to show local variables and pause/rewind the algorithm execution

- http://rosulek.github.io/vamonos/demos/ - marks up the algorithm code with line numbers so that it can show how the visualization corresponds to pseudocode

- http://jasonpark.me/AlgorithmVisualizer/

- http://visualgo.net/

- http://www.cs.usfca.edu/~galles/visualization/Algorithms.htm...

- https://illustrated-algorithms-ommzftrylh.now.sh/
Yeah, I am surprised at how cheap Backblaze is, according to one of the comments here.

I will say though that what I've read about tarsnap's security and my experience with it as a user makes me reluctant to want to switch. I guess I might look into it once I need to store more data.

I have had some really bad experiences with other backup systems so having something which I am quite sure is very secure and which works reliably is great. The slow restore times somebody else mentioned might be a problem though. I've only had to restore small archives/files.
Interesting, though, that the concepts expressed in this narrative, had they been written in 2010, and promptly rejected, might have provided all the more grist for the paranoia mill.
CHECK OUT THIS SWEET NEW VIDEO ON a EASY SMOKEY EYE – Cheap Beauty Deals
Thanks for link. Didn't know this was possible. Also will try your wrapper approach.
Very interesting, thank you! The father (Mark Engelberg) also designed a mass-market programming board game/puzzle, Code Master [1], which seems neat. I just grabbed a copy at Target.

[1] http://www.thinkfun.com/products/code-master/
My understanding is that typically, Lisp macros are expanded at 'compile' time. The compiler expands macros recursively until there's nothing left to expand and then compilation proceeds normally.

A Lisp macro operates on data structures. Macros transform one data structure into another data structure. Lisp code is a data structure (typically a list) and ultimately all macros get resolved by expansion to ordinary Lisp code and the expanded code then is compiled/interpreted.

Unlike C, Lisp macros have access to all of Lisp (including other macros) during expansion. So a macro's expansion can be determined programmatically by executing Lisp code...this part is where it gets harder to understand macros intuitively because the code called during the macro expansion phase does not have access to the code that runs at the runtime and vice versa.

That's why it is handy to think about macros as manipulating data structures...we don't expect data structures to return values or generate values in the environment by execution.
As someone with an unlocked and rooted android phone, what are they afraid of, and where can I get it?
Blocking accounts would just earn you an extra $12, not solve the problem. So you'd need to actively prosecute, and account sharing is so rampant that is going to quickly lead to terrible press.
> Does anyone believe that if the registering the DNS address had bricked the NHS systems, the NCSC would've taken the fall?

Since you seem to take the possibility seriously, what benefit would the authors of ransomware derive from that? Some sort of game theoretic red-wire to slow down forensics?
There is a non-confrontational way to do this. Download the PDF, figure out what is making you uncomfortable (or hire a lawyer to review), and just send a list of concerns. Make them matter of fact, but not accusatory.

This is assertive. But it's not "confrontational." And if your employer withdraws the offer because of it, it's a huge red flag and you're lucky. But I've never seen an offer revoked for asking questions.

If you have more leverage, then you can be more "confrontational." You might want to mark up the agreement (or have a lawyer do it) and send back. That may seem a bit more forward, but you can certainly do it.

Please don't think you can't question what your employer puts in front of you. Maybe they won't revise the agreement for you, but it's worth trying if you have concerns.
GNU-Smalltalk is not just text based, but file based. http://smalltalk.gnu.org/
This is the view of a compiled execution. Lisp can also be interpreted from source as data. Then macro-expansion time is interleaved with execution time. Each use of a macro form may trigger a macro expansion.

Remember, a Lisp interpreter interprets Lisp source as data. Not byte code. Unlike Python, Java, Smalltalk, ... which all have popular implementations which compile to byte code and execute that byte code in a byte code interpreter, aka virtual machine.

Let's use a Lisp interpreter, here from LispWorks:

We define a primitive MY-IF macro. It expands into a simple IF use. But the macro will also count the number of macro expansions.

CL-USER 46 > (defparameter *myif-counter* 0)
*MYIF-COUNTER*

CL-USER 47 > (defmacro my-if (c a b)
(incf *myif-counter*)
`(if ,c ,a ,b))
MY-IF

LispWorks can trace macros, too.

CL-USER 48 > (trace my-if)
(MY-IF)

Now a simple function which uses our macro:

CL-USER 49 > (defun fac (n)
(my-if (= 1 n)
1
(* n (fac (1- n)))))
FAC

Now we use it and we will see the trace information for the macro use: you see the incoming form and the result form.

CL-USER 50 > (fac 2)
0 MY-IF > ...
>> COMPILER::FORM : (MY-IF (= 1 N) 1 (* N (FAC (1- N))))
>> COMPILER::ENVIRONMENT : #<Augmented Environment venv NIL fenv ((#:FUNCTOR-MARKER . #<COMPILER::FLET-INFO (# # # #)>)) benv NIL tenv NIL decl NIL>
0 MY-IF < ...
<< VALUE-0 : (IF (= 1 N) 1 (* N (FAC (1- N))))
0 MY-IF > ...
>> COMPILER::FORM : (MY-IF (= 1 N) 1 (* N (FAC (1- N))))
>> COMPILER::ENVIRONMENT : #<Augmented Environment venv (#<Venv 275415194600 N>) fenv ((#:SOURCE-LEVEL-ENVIRONMENT-MARKER . #<COMPILER::FLET-INFO (NIL . #)>) (#:FUNCTOR-MARKER . #<COMPILER::FLET-INFO (# # # #)>)) benv NIL tenv NIL decl NIL>
0 MY-IF < ...
<< VALUE-0 : (IF (= 1 N) 1 (* N (FAC (1- N))))
0 MY-IF > ...
>> COMPILER::FORM : (MY-IF (= 1 N) 1 (* N (FAC (1- N))))
>> COMPILER::ENVIRONMENT : #<Augmented Environment venv NIL fenv ((#:FUNCTOR-MARKER . #<COMPILER::FLET-INFO (# # # #)>)) benv NIL tenv NIL decl NIL>
0 MY-IF < ...
<< VALUE-0 : (IF (= 1 N) 1 (* N (FAC (1- N))))
0 MY-IF > ...
>> COMPILER::FORM : (MY-IF (= 1 N) 1 (* N (FAC (1- N))))
>> COMPILER::ENVIRONMENT : #<Augmented Environment venv (#<Venv 275416002360 N>) fenv ((#:SOURCE-LEVEL-ENVIRONMENT-MARKER . #<COMPILER::FLET-INFO (NIL . #)>) (#:FUNCTOR-MARKER . #<COMPILER::FLET-INFO (# # # #)>)) benv NIL tenv NIL decl NIL>
0 MY-IF < ...
<< VALUE-0 : (IF (= 1 N) 1 (* N (FAC (1- N))))
2

Let's see how often our macro function has been used to expand code:

CL-USER 51 > *myif-counter*
4
> By "cost-free" I mean that they use precise traces so that memory is always freed at the exact moment it is no longer used. So they underestimate (greatly IMHO) the memory used by malloc/free versus the garbage collector. It would be a superhuman programmer who always called free() on the line exactly following the last use of every piece of allocated memory.

Let's say you are correct, that the manual memory management presented in the paper is too unrealistic. What do you think real world manual memory management would bring the multiple to? 5x? 4x?

> The second problem I have with the paper is that it underestimates the kinds of structures which GC makes possible -- eg sets of trees sharing nodes. And the corollary to that is that to implement those structures with malloc/free, programmers tend to reach for ref-counting, which adds to memory usage and is generally a terrible form of garbage collection for many other reasons.

These data structures are extremely niche, and when used when sharing is not truly needed just lead to time/space inefficiencies.
Normal people don't care about GDP. They care about working infrastructure, food, housing... those things can be had with a shrinking GDP.