skysight-inc/HackerNews huggingface dataset:
What I mean by mysterious is that the syscall is hidden in the write statement, vs hidden in the printf statement. Also, I wrote the above function (actually a much smaller version) as part of a program that would print a binary tree of any given height[0]. It wasn't meant to be efficient, it was meant to be small, since the total size of the program was 777 bytes (later reduced to 505 bytes).

[0] - http://lelandbatey.com/posts/2014/09/binary-tree-printer/
See exhibit A, 9/11 -> Bin Laden -> Afghanistan -> Iraq
In the US it depends. If they know you had child porn on your phone they can force it. If they just suspect you have child porn, they can't.
That depends. In my city the job hunt isn't that hard. Jobs are plentiful and recruiters do most of the work.
The answer is very simple,offer your company first right of refusal. You will find that in most cases they do. And if they don't and do use your idea make sure you are in charge. This is the high road approach. Other suggestions are just dishonest if you ask me.
I can speculate: __printf(), having two leading underscores, is a named reserved for "the implementation," meaning the compiler and standard library. This enables at least one useful thing, which is that the standard library (or a third-party library I guess) can use this function when it needs to print things, and not worry that printf() has been redefined by the application.

You might think, but who in their right mind would redefine printf()? But C has an infinite number of people using it all the time, so every possible weird thing has been done a few times by now.
What if you have not signed any agreement?
I think there's quite a bit more of this going on than you seem to be aware of. In addition to the things mentioned in a few siblings to this comment, there is STM for software transactional memory, several different DB monads provided by persistent, Query and Update in atomic-state, Hander and Widget in yesod, Sh in shelly... In my experience, very little of my code runs in an unadorned IO monad. Some of these have holes punched in them with liftIO to let me run arbitrary IO - whether that's appropriate depends on the particular context.
I'm not endorsing thttpd/sthttpd over nginx on modern systems and I actually do use nginx pretty much everywhere but thttpd has its uses.

Over a decade ago, I have used thttpd to serve static files as:

1) nginx didn't exist

2) thttpd is tiny (thttpd binary size is ~50KB vs nginx's ~2.8MB) which is good on embedded or very old hardware for example.

3) Memory footprint of thttpd is around 10KB. nginx doesn't even come close
But Apple says "iCloud secures the content [backups] by encrypting it when sent over the Internet, storing it in an encrypted format, and using secure tokens
for authentication"
Are we done yet with New York tech hype?
The novel part is not that the shallow network can compute the same functions (that is interesting, but that particular result is decades old), but the notion that the shallow network can learn the same functions efficiently.

What we already knew: For any given neural network of N layers, there exists a 3-layer neural network computing the same function.

What we didn't know: There are (at least reasonably often) ways of training shallow networks that get similar efficiency to the ways of training deep networks given the same functions.
Thanks for taking the time to write up such a detailed comment. I was working on one of my own as I have had nothing but a great experience with Websharper and was disappointed to see the tool be somewhat dismissed by (to me) unfounded and unproven technical and license concerns.

I'm using the tool to develop the web front end for a MVP idea. Combined with Xamarin it means I can use F# across my entire application stack. This means reusing the same types, domain models, and so on. Plus you get all the goodies of Async, computation expressions and strong typing on the web client.

I went straight to the new UI.Next reactive framework and have been loving the experience to build a SPA. Imagine Om/React but strongly typed with monadic combinators to compose reactive views.

I guess this is a long way of saying 'second' :)
Each message is encrypted individually for each device that will be receiving the message. As a result, unless Apple slip a public key they have control over into the keys reported for the receiver, they cannot read your messages. (This is why abalone mentions that Apple do not have access to your old messages.)

http://blog.quarkslab.com/imessage-privacy.html goes into detail as to how the key exchange process works.
We're working on some killing features for Mou 1.0, we keep it secret, the copycat will never know until we ship it.
Solo engineer trying to file patent: Can I get useful legal help for ~$1-2k?
I'm a Silicon Valley engineer and I've developed a prototype for a computer peripheral. I don't know if it's patentable but it might be. I work a full-time job unrelated to this patent so I have more money than time right now and I'd like to pay to have someone help me determine if this idea is worth pursuing.

I'm looking for legal assistance at a cost of ~$1-2k to help me determine if the idea is patentable and to help write a patent.

Does anyone know if this amount of money could allow me to sit down with a professional in the field of technology IP and talk over the idea to determine which, if any, of the aspects are patentable and how to best approach writing the patent?

Any and all advice and perspectives are appreciated!
Ask HN: I hate JavaScript
But i wana make a webapp, how should i go about building a web app without touching javascript, is there any frameworks like gwt for golang, or C++, rust
TXR looks rather like the CRM114 language that's been used to implement some rather amazingly accurate text classifiers (some better than most people on their own mail), though a bit less bizarre and I think more accessible:
http://crm114.sourceforge.net/docs/INTRO.txt
CRM114 too treats pattern matching as the fundamental construct and has blazing performance for it and certain kinds of number crunching (it has to), but I don't think it's nearly as useful for the average hacker trying to munge a couple of text files. Still, worth a look both to users and possibly to language implementors. I'm definit
I thought the fee was 0.0001btc and thus $0.03?
I appreciate you taking the time to fix the alt-left problem. I've run into too many sites doing similar things lately, including Google Blogger-based sites; this was just the most recent one I've run into. I was attempting to express a very mild annoyance; sorry if it came across as excessively snarky.
That's less relevant, because that's Apple now as a major, global force in business.

Going back to the old days, Apple certainly understood their customers. The best example I can think of is when Woz was asked how many they could sell and he immediately said, "A million!" When pressed how he could be so sure, he replied "Because there are at least a million ham radio operators" Obviously it isn't a radio, but he understood that nerds into ham radio would be the same ones wanting a personal Apple computer in their basement. In that sense, really what getting out of the building means is a deep, deep connection and understanding with your customers.
haha it's always been purple for me because it's a clicked link! no wonder nobody can find it. thank you
I'm always wary of email/spam solutions that require 'payment' of some form. See https://craphound.com/spamsolutions.txt for a lot of reasons (in particular, Unpopularity of weird new taxes, Public reluctance to accept weird new forms of money, Ideas similar to yours are easy to come up with, yet none have ever
been shown practical, Countermeasures must work if phased in gradually, Sending email should be free)
MessageMe is joining Yahoo
If you want to get radical about it, you can reconfigure your keyboard to a known-efficient configuration such as the Dvorak layout. As you probably know, the QWERTY layout was specifically designed to be un-ergonomic and inefficient (so as to keep typists from jamming the mechanical keys of early typewriters). Dvorak and other layouts are known to be conducive to rapid typing, but your skills would not be transferable across multiple machines.

So it's really a question, first, of whether you intend to stay with QWERTY. If so, I recommend http://www.keybr.com
I worked at CERN for a summer in college as a physics major. It was one of the formative experiences of my life. I remember getting drunk with a bunch of Iranians and Europeans, and sneaking in the middle of the night into the old abandoned particle accelerator tunnels from the 1950's.
There are lots of languages nicer than JS that compile down to JS.

That said, you don't need JS to make a webapp. You can do it strictly with server-side code and HTML.
Two questions:

* Regarding the fixed 80ms timing: has there been study on the average time needed (aside from the WHY 80ms instead of 70ms or 90ms). I also want to ask for clarification: where is the entire PBKDF2-AES is done? On the AES engine (which I believe is part of the A7 chip)? On a TPM chip (which might be a NO based on unauthenticed source [1])?

* So this UID created in every device and stored in Secure Enclaved which there is a dedicated path between SE and AES engine. But can we conduct any side-channel attack? I am pretty noob with hardware security.
You say "I think there's an important difference", but then, you end up saying precisely the same things about monads and rings. What was the difference?
> It's not inherently special in an ontological way, but we are hard-wired to prefer it.

I agree with you. However, being hard-wired for something doesn't make it right. One might argue humans are hard-wired for war, rape, etc.

>Yes, because a/ just because something is a logical fallacy, doesn't mean it's wrong (see: fallacy fallacy, aka. argumentum ad logicam)

An argument being a fallacy does mean it's wrong. However, it doesn't mean the conclusion is wrong. The fallacy fallacy is as follows:

A proves B → B (this is true)

¬(A proves B) → ¬B (this is the fallacy)

All the fallacy fallacy says is that "Just because an argument is fallacious doesn't mean that its conclusion is wrong".

It may well be true that "natural" births are better for some reason. I was simply saying that gfodor's explanation for why this might be the case is wrong.
Fair call, but I don't think this is realistic. How do you mitigate the risk of 1) having your reputation tarred with the "dishonest" brush, and 2) being sent to Legal to be shut down?
It's not about the rules of evidence. It's about the rule of law. Parallel construction is an unconstitutional and dangerous abuse of law-enforcement power that cannot be tolerated.
How is it any worse than the streamlined removal process on YouTube?
Ask HN: What are the most important principles you follow?
I see a lot of beautiful code in GitHub and other places and wonder how they can write such amazing software? How you do it? How you manage to write good code? What are your main principles?
I'm working on a crowdlending network that enables the first idea: https://s3.amazonaws.com/loancoin/whitepaper.pdf

To the extent people are interested, we'd really appreciate any feedback.
Performance comparison of CSV parsers for Java
I never claimed dynamic languages were better, just that Haskell is a dynamic language with more static features than say Python. There are no truly static languages, except maybe perhaps static macro languages like C++'s STL.

> In both cases you also need to perform additional checks, and in both cases, safety critical systems should be formally verified. Not "instead", but "in addition to".

In practice, there are a lot of other things going on in Haskell that work against formal verification in safety critical real time systems. When you need to know for sure, non-determinism (say in the form of lazy evaluation) is your enemy, and the type system itself becomes less useful because those paths have to be rigorously explored anyhow. Heck, at that point, you might even want to use assembly since even the compiler is suspect.

Thankfully, most of us don't write that kind of code.

Pedantic: runtime is a thing that runs your program while run-time is a phase.
He lost me in this paragraph:

> The original purpose of .MD is that it can be read without converting it to another format like HTML (...) .MD is designed not to be rendered for display, it is meant to be the display.

And this is the first paragraph from Markdown's introduction[1]:

> Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

Keywords here: "for web writers" and "convert it". Let me say it again: this is the first paragraph you read when you look for Markdown.

[1]: http://daringfireball.net/projects/markdown/
Chaum ecash is one way to solve it. You'd use chaum ecash tokens backed by bitcoin by an issuer. You would then use the tokens, since they are instant, have no transaction cost and can be anonymous. The ecash tokens themselves require a central issuer that is trustable to avoid double spending, which is it's central issue with it. To side step the trust issue, the issuers would be a large multi sig bitcoin pool. The two technologies compliment each other. Bitcoin creates a purely virtual good that has scarcity and solves the trust issue. Chaum ecash solves the cost, speed and anonymity issue for bitcoin.

Bitcoin will become something like the international wire transfer mechanism.

One implementation of chaum ecash is open-transactions, i suggest you check it out: http://opentransactions.org
What do you hate about it?

My biggest transition to being comfortable with it was to find a happy place in terms of editing. After years of C/C++ it was not easy to be picking fragments of code out of DOM bellyfluff lint. So how do you use javascript dev tools and what don't you like about them I guess?
Field replacement for oscilloscopes & some logic analyzer uses. Software Defined Radio host (the expansion card is in development). Hardware reverse engineering including bus-sniffing something while it's running. Feeding signals into stopped or running hardware to plant new firmware in it. Sniffing crypto keys from running hardware - Bunnie Huang is one of the core Novena people and he was the one who used an FPGA to sniff the Xbox crypto keys to allow Xbox Linux to boot. Keyboard & LCD can be switched at will by a user. The FPGA can be programmed to do many things faster than a general-purpose CPU and can do fast/wide data capture a CPU simply can't keep up with. The expansion slots have room and interface capability that can support a lot of potential new hardware including home-built modules. The list goes on from there, but my fingers are going on from there.

The CPU & graphics are almost more of a programmer convenience than a fundamental selling point. You've got to have them, but they're there to control other things and do some basic number crunching.
Looks really cool, but I don't think I'll be using a text editor that isn't built for purely keyboard-powered control.
Their method for training a shallow network requires that one first train a deep network.
In 1976 I discovered Ebola, now I fear an unimaginable tragedy
You can compile C++ to JS using Emscripten, but I doubt you will be able to do webdev this way ...

For building webapps try CoffeeScript (inspired from Ruby and Python, compiles to JavaScript), Dart (seems to be inspired from Java, compiles to JavaScript), ClojureScript (a Lisp language, compiled to JavaScript) ...
It seems like you are also selling something. And the price, which you do not mention, is the curtailment of free speech, a steep price to pay for the privilege of having my delicate eyes protected from what those bad salesmen are selling.
Just use CoffeeScript. Or, ClojureScript if you want to drink the functional kool-aid.
You can easily create a web app with PHP-HTML but your app will never be successful without Javascript! Most of the people was not aware of its awesomeness until few years ago, now there are millions of frameworks, scripts, server side, back-end,front-end all kind of things created in Javascript. I think its the language of tomorrow.
Back of the napkin math on how music is the best deal of all time.
I get why people hate it, and your opinion is fine. But you're going to have a rough time building a web app if you hate JavaScript, even if you use a language that compiles down to it.

JavaScript is at the heart of web apps, where DOM, CSS, and logic are married. Sure, you can bypass it using server side scripting or languages that convert to JS, but in the end, you're trying to sew a dress using only hotglue. It'll work, but it's the wrong tool for the job, and it'll lead you down a road of pain and headaches.

I'd recommend collaborating with someone who knows JavaScript well, then you can focus on backend logic and collaborate on other pieces.
Monads are arguably a library in Haskell, too... though one the standard guarantees is present, exposed by the Prelude, and relied on by a lot of code.
The channel knockout experiment
i read about a project that converts llvm byte code to javascript, do any of u know about it
It's true that market understanding and research are important for all businesses, what I mean is asking for specific requirements from your customers and designing around those is less useful.

That's probably less true however if you're selling something to a market of serious hobbyists who treat the hobby like a second job because they have probably spent a lot of time thinking about the problems with current products. On the other hand, if you asked me which features are important for a dishwasher I'd be unlikely to give you useful answers because I don't spend much time thinking about dishwashers.

Another factor is that fashion is a bigger deal in the consumer space, if your product is associated with "cool" people will buy it regardless of whether it solves a real problem.
We all hate it but can't get away from it.
You could try CoffeeScript. It takes away a lot of what people don't like about JavaScript out, and replaces it with a decent syntax. I personally love well written vanilla JavaScript, but CoffeeScript might give you a little better experience if you "hate" JS.

So, is it the DOM you don't like, or the actual JS syntax and structure? For me, when I overcame the weakness of the DOM API, and utilized it elegently, I started to enjoy JS.
Stop thinking like a crab: http://en.wikipedia.org/wiki/Crab_mentality
Consider using noscript by default. It fixes this and many other problems.
https://github.com/gopherjs/gopherjs
Strictly speaking, "totality" is asking for more than just exhaustiveness in pattern matching (all manner of languages let you check exhaustiveness). For totality, you also have to prove termination for all inputs, which means your language (or sub-language) is not Turing complete.

Though these days I've been saying "Turing complete" is a bug, not a feature, provided you can accomplish your aims without it.
I'd recommend using Errai (http://erraiframework.org/) ... you get to program in a well-known, type-safe language and much of the JavaEE infrastructure is extended into the browser. Errai is based on GWT but allows the use of HTML as the templating language (instead of UiBinder which is GWT's XML-based templating function).

One great thing about both Errai and GWT projects is that they're optimized for many browsers and the compiler abstracts away the differences between browsers (by compiling a version of the application for each).
just a week ago, i made a test for myself, i decided to write merge sort in golang and javascript.

My golang program was complete in like 10min, but javascript program took 2 hrs. I dont know if its just me, but i tend to make small errors while programing, like making sure a variable is not undefined and stuff. Even though my logic was perfect its just very difficult to debug algorithms in javascript, let alone any lint for ide thats reliable.

the golang compiler is really good at catching errors, and makes programing more fun for me atleaset
I haven't specifically dealt with patent lawyers before but most decent lawyers will give you a free consult just to go over the main points and give basic feedback. From there you can infer how much it will cost to go forward and what the process would look like.
stable and fast: http://monkey-project.com
I've been CNCing algorithmic output a lot lately. I write something very similar (no time component, but basically evaluated over the unit square.)

This stuff is a ton of fun!
The Plan 9 C compilers have #pragma varargck (argpos|type|flag):

http://plan9.bell-labs.com/sys/doc/compiler.html (3.8)
1 - Keep it simple. Then simplify.
2 - Write code that can be unit-tested
3 - Don't try to use a new framework for every little thing you could do on your own.
4 - Organize your code so it can be reused by others
5 - Write code as if you were writing for someone else to see and understand
6 - No duplication, no duplication, no duplication, no duplication. Write for reuse.
7 - Try to solve complex problems and develop good algorithms, you'll get better over time.
8 - As a rule of thumb, a class with more than 300 lines of code is a bad smell, unless it is an utility class of some sort, some core thing that is intrinsically complicated.
> Probably the answer is not in software itself, but in the creation of small businesses that rely on free software.

Yes, that is what I was trying to say.

Not using Open Source on principle is like creating "make work" just so people can keep their jobs. But all "make work" does is allocates resources inefficiently.

> over-education is a problem because of a failure to create enough suitable jobs.

I think we've wandered off the topic (my original reply about Open Source.).

> technology fails to boost wages

I find it odd they wrote a whole article on that, when the converse ("Lack of technology fails to boost wages") is equally true.

Even if wages are the same, what we can DO with those wages has already changed for the better. Even poor people in America have TVs, Air Conditioning, and the Internet (even if it's only at work or in a library). Anyone can call up a satellite map of the world, or have an entire encyclopedia at their fingertips. Only rich people could do that a generation ago.
You may have to learn to put up with it. It's not the end of the world. It's just a scripting language, just suck it up and deal.

There are any number of js frameworks which will probably abstract away most of the headaches you might have, and depending on what you're actually trying to accomplish, you may not need a lot of js at all. If you don't want to use client-side templating, for instance, and there's no reason to, then just skip it. Push as much of it to the backend in the language of your choice as you can.

But javascript, when you need scripting in the browser, is kind of unavoidable.

Also consider http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfor... - your expectations from working with other languages may be getting in the way of your writing javascript properly and effectively.

(or do what a lot of other people do and work with a language that compiles to js and you can pretend you live in an alternate universe where you're not working with javascript even though you really are.)
Doing something in the B2C space tends to involve a lot of luck, particularly when it comes to generating that "cool" image. That's the main reason I've always been drawn to B2B, where the customers tend to understand their needs a lot better.