skysight-inc/HackerNews huggingface dataset:
This is a great article. I'm really enjoying some of the compiler optimizations I'm seeing. It's an area not oft explored for me.

However, I'm having a bit of an issue understanding what the compiler is doing here, at the beginning of the article.

If someone can explain, it'd be appreciated.

FTA:

A post-classical compiler, on the other hand, might perform the following analysis:

The first four times through the loop, the function might return true.
When i is 4, the code performs undefined behavior. Since undefined behavior lets me do anything I want, I can totally ignore that case and proceed on the assumption that i is never 4. (If the assumption is violated, then something unpredictable happens, but that's okay, because undefined behavior grants me permission to be unpredictable.)
The case where i is 5 never occurs, because in order to get there, I first have to get through the case where i is 4, which I have already assumed cannot happen.
Therefore, all legal code paths return true.

As a result, a post-classical compiler can optimize the function to

bool exists_in_table(int v)
{
return true;
}

I see might return true. Ignored. And never happens.

I think the idea is that since i=4 is ignored, and the loop goes while i <= 4, you can never reach the return false statement? That's my understanding, I'm just not confident on it.
Chinese Ecommerce Alibaba's upcoming IPO-Possibly largest tech IPO yet
Etsy just poached one of Pandora's most important employees
> So with Crypto Stamp, they combine all the hashes for a given day into a single Merkle tree

Why can't you just hash your entire dataset once a week or something? Or better yet, do something like a Merkle tree of files.
This is my preferred method too. But a lot of developers struggle with the discipline of small, discrete, incremental changes, plus the dependence on solid testing skills. It also requires a culture that can support it. No blame, in particular.

However, if you have a team that is comfortable working this way -- and is only occasionally breaking things; it happens -- then it is a wonderfully creative, frictionless, and flexible way to develop.
Wow Newslines is a cool idea, thanks for pointing that out.
Seth MacFarlane
No salaries, no office. My two cofounders and I have been throwing everything we've got into this; we're all broke.

Our business model requires people actively maintaining property listings at each school, and then growing student traffic at that school and then, once we're established, securing advertisement deals.

Our rationale behind raising funding is that we can either cut corners and struggle and keep adding one or two schools a month until it's simply impossible for three people to maintain, or, with a little bit of money behind us to do our own advertising, have someone making cold-calls to collect properties, and have a student representative on the actual campus helping us brand locally, we can streamline the process and achieve the kind of wide-spread adoption we need in order to secure large advertising deals (right now we target our placements toward local businesses, but once we are established we'll be able to secure deals from places like banks or office supply retailers).
Aperture has never been the professional tool it was billed as. I bought a Nikon D3 when it came out and the RAW files it produced was unsupported for weeks if not months with no updates on when support would come. I was forced to switch to Lightroom and didn't look back. Shortly after, they announced a new version and that they had been in a code freeze for new camera support.

Now killing this professional tool (while they say they'll have a migration path to a consumer tool) doesn't seem like the right move.
I'd much rather they keep holding off. We've had more than enough of big companies fragmenting the ecosystem by making their own languages, file formats etc. because they can. As things currently stand, Dart compiles to JavaScript, which is exactly the right way to do it; that way it's a tool that's available if you want to use it, but it doesn't screw up interoperability.
I will say that you won't need to rely on JavaScript, .dart files size are a lot smaller and the code starts and execute faster.
Sure. It's probably better to link to the blog post that has the video and the slides available: http://blog.xamarin.com/webinar-recording-native-mobile-apps...
monkey patching specifically is pretty heinous in c# but can be done. you should avoid monkey patching in almost any situation though.

one point of yours that i don't understand is the ability to reason about what methods are being called without message passing. if you understand the inheritance hierarchy it should be pretty easy to think about what 'version' of a method is being called? between the known inheritance path and a call stack at runtime this isn't something i find myself missing from obj-c.

where the call stack / inheritance hierarchy does get messy is in calling virtual methods from within constructors, which is a bad practice generally, and something apple devs touch on in the wwdc demos.
And the iOS 39 version of Office will still be ahead of the Surface version
Personally I don't think it improves on the usability and I find the font too large, meaning that I feel like I have minor tunnel vision compared to normal Wikipedia.

The only part of normal Wikipedia pages that I normally never touch is the sidebar with the different languages. I don't think I hardly ever click on anything there. It would make sense for my usage at least for the sidebar to be hidden by default.
Atomic design is a methodology used to construct web design systems.
Well he was kind of railroaded by a law that sucks. $9,000 in damages by planting 3 files on a website? Worse, it's impossible to argue intent / mens rea in these cases. It doesn't matter if your intent was to cause no damage because the crime isn't defined by the damage but by the access. As long as you intended to access the internet-connected device, and knew you were exceeding your permitted access, you're guilty. The "damage" doesn't have to be intentional.

The opportunity is gone now, but I really wish he'd fought this case and gotten it in front of a jury. It's very technical testimony and I think a jury could really question the damage amount. If it were below $5,000 this law doesn't apply. How much did it really cost? They had to delete 3 files and apply patches that they should have applied all along.

It's also just weird how punishment scales work. I used to go to my probation officer's office and see all the other guys he was monitoring. Most were serious drug dealers or weapons violations. It seemed so out of whack. But then when I'd go do community service I'd see people sentenced to 20 hours of community service, hundreds of dollars in fines, and weeks in jail for crap like shoplifting a 99 cent air freshener or a pack of cigarettes.
This is mostly true with Xamarin also, platform code is platform code. Most of your code sharing is business logic/accessing rest api's/core algorithms. UI/platform type of code is always going to be hard to port. That being said MacRuby (which is basically what Ruby motion is and JRuby (ruby on the jvm which I think the Android is based upon) are pretty close to source code compatible last I checked so I think it's likely a good chance.
Does it have anything like AngularJS?
Inside 2.0: Alerts, Android and Email
I see your point that the wording is not the humblest, most submissive, self-loathing etc. thing I could have written about it, but I was honestly expressing how I feel about the whole incident.

To be pedantic, the door WAS unlocked. You did not even need a user account to upload files. In hindsight, I probably could have argued that "authorized access" was never exceeded because the form I used was publicly accessible as part of a DotNetNuke design flaw, but I didn't want to drag to court battle out any longer. I was in the wrong, even if I wasn't the only one.
bill go hard
But he was short N bitcoins. He should have tried to drive the price down so he could rebuy those N bitcoins.
Agreed, but it's possible, up to a point: oral history, apprenticeship, observation all serve. It is much less efficient, much less reliable, and probably impractical for higher-order things (such as theories of relativity) but it does work as a bootstrap. Human culture did well enough for a long time before writing.

I think a bigger reason that intelligent animals haven't progressed as far as us (qualify 'progress' however you like) is more to do with evolutionary pressure from humans changing the environment faster than they can adapt to it. That extends to populations of humans at different stages of societal evolution as well: cultures are snuffed out very quickly when more advanced groups make their presence felt.
Agree with the above - altho forming a Delaware C Corp at this early stage is not necessary. It's become much easier now to form an LLC in your state of residence and convert at a later stage (if at all) to Delaware C if you end up raising money.
My favorite resolution is the one where our solar system, having developed sentience, is under the protection of the galactic equivalent of the EPA, sort of a 'you can't go in there because they haven't finished hatching' sort of thing.
Of course. And this relies on your CI system having 100% unit and system test coverage, including testing external API's, CSS bugs, browser compatibility, etc. Are you certain that your system does that? More importantly, are you certain that investing the time into testing that your checkout button is not covered up by some random element due to a missing ";" character in your CSS file or a missing 0 in the width percentage value will eventually pay off? It should be scary to push to master if you hold master to be deployable at all times. Unit/system testing or not, you will never have guaranteed test coverage, and even if you try to get to it, you will spend infinitely more time doing that, than doing a reasonable amount of unit/system automated testing + good human QA.
> There are better ways to do this.

No, there are not. What there are are ways which are slightly cheaper on a few dimensions which are irrelevant compared to the dimensions of reliability, cost, explainability, and ease of use which are totally trashed by your alternative suggestions.

> No, put your data into a Merkle hash tree, and do a single 32-byte commitment as frequently as you need to.

'Did you just tell me to go fuck myself?' 'I believe I did, Bob.'
It may be important to think about what they might do and say if they were no longer rich, and forced to earn their fortune again. Would they do what they did again? Would they behave in the same way?
GET Requests are cheap But I was thinking of bandwidth costs to get things out of S3 entirely and do a complete outmigration. But the prices there have come down quite a bit since I last checked.
> Don’t try to understand the woman… (just love her)

> Misogyny
You may not realize it, but it looks to me you are. The points you criticize Swift for are distinctive features of dynamic languages, e.g. to be able to:

* substitute object type without recreating the object

* substitute object's method without changing object's type

* create a string with method name and call that method

Obj-C and most dynamic languages have them; Swift and languages like C++ do not. (I understand that with full reflection and enough runtime hacking static languages can have that too — by the way, that includes Swift as it currently is; but that's a whole different discussion).

In other words: if the compiler has statically (at compile time) validated types of arguments and return values of any `obj.foo(arg)` call, why would anyone possibly want anything but either a direct call to a hardcoded address, or to a pointer stored at vtable? And if the compiler has no means to validate that, that means you are down to what dynamic languages do: there has to be some code to check argument types before passing them to the code that makes hard assumptions about their types.
No, Zerohedge is not my only source. No, I don't think "the world is falling apart", but I DO think it's heading down a dark and ugly road. I read a wide range of news sites. We can debate who is right and who is wrong, but keep in mind that you're quoting government statistics. Those are never wrong or manipulated, are they?

Regarding the work force, look a little deeper. It's widely known that that number is highly inflated by new, low wage jobs.

If you want a more "reliable" source, here's something to consider: http://www.treasurydirect.gov/NP/debt/current

I don't want this to turn into a flame war, so this will be may last reply. However, take a deeper look at the numbers you posted.
I'm just a supporter, and I have no control over that page. But FWIW, I absolutely agree, they need a concise "About Replicant" section.

Sadly, good communication for newbies and outsiders has never been the Free Software movement's strong suit.
Grappelli is easy to install, and looks decent. I can live with the admin panel's dated looks, given it's functionality.
Foundations of human reasoning in the prefrontal cortex
> I have no idea what the right thing to do is in this situation, but having all those possibilities gives the compiler a better chance of producing faster code. When you introduce message passing, you basically forbid all of those optimizations, because now the function might be swizzled, go pass a "minX:Y:" string to objcMsgSend to find out what pointer we should jump to today.

> Swift already does have a way to opt-in to message passing, it's called the @objc flag (and performSelector:). It works fine, but it's extra work to opt into it and use it. But, I don't think that's bad given that it disables so many useful optimizations.

You could keep some of these optimizations if Swift's message-passing mechanism preserved type information. This would make it slower than objc_msgSend, but you could still keep a lot of cool optimizations. Some optimizations would still not be possible, and extensive use of function pointers does tend to frustrate branch prediction, but I feel that for most apps, this would be fast enough.

> Finally, I fundamentally and strongly disagree with Michael about method swizzling and OSX extensibility. Adding PGP to Mail via hooking functions sounds like an incredibly deranged idea. The suggestion that programs should cooperate with a badly-misguided reverse engineering effort by disabling optimizations that make the program faster for the other 99% is just insane. The way to approach this is to build new kinds of extensions that provide known, safe, documented extension entrypoints for hooking arbitrary code. Yes that is more work, and yes it requires actually talking with people and convincing them of your point of view, but so do most things.

I think this is a great argument, but unfortunately it's not where OS X is today. As I mentioned, app extensions may be a step towards a more workable solution, but today, the ability to add PGP to mail using method swizzling is important to thousands of Mail.app users. If 10.11 comes out and Mail.app has been rewritten in Swift before we have a good alternative to method swizzling, we'll have lost a lot of tools that make the Mac a powerful platform.
The first example took me a few reads to get too.

Basically, since i=4 causes undefined behaviour, the compiler assumes that it can't possibly happen[1] and the only way that it can't happen is if one of the prior (i < 4) checks were true.

Therefore all legal code paths (ie all code paths that don't result in undefined behaviour) return true.

So it optimises it to simply return true. Because otherwise i=4 would have happened, but that's undefined, so impossible[1]

[1] but if it does happen, that's ok, because that would be undefined behaviour, which allows the compiler to do whatever it feels like anyway
Using Cheerio and MongoDB to scrape a large website
Nice demo page.
> Java is not "designed for heavy usage of dynamic allocation".

How, exactly, would you port the entire java core language to a platform without dynamic allocation? There exist subsets of java that work without it, but they're essentially not the same language at that point.
Personally, I find it painful that the compiler detects this kind of undefined behavior, and silently uses it for optimization, rather then stopping and emitting an error. In the printf example, the compiler could trivially emit an error saying "NULL check on p after dereference of p", and that would catch a large class of bugs. (Some static analysis tools check for exactly that.) Similarly, a loop access statically determined to fall outside the bounds of the array should produce an error.
Oops! Corrected :) thank you
That's what we do.

Works well.

Break the build, all stops, and we huddle and fix it.

Sort of like the andon cord in toyota factories.
When I watched the original Reading Rainbow, I was about 2-3 years too old for the books it was showcasing, but the presentation always sucked me in anyway. Good stuff.
I've found the reverse to be true, there's tons of remote options (with the possible exception of security driven work).

Forget the job boards, focus instead on reaching out to senior executives at interesting companies that you can help. Point of strategy-- attend conferences and meetups in major markets for networking.

No need to justify your home base location. But if it helps your narrative, 'I'm a Dad raising a young daughter, my commitment is to stay here.' Subtle message, I'm dependable.
Has anyone successfully replaced Resque with RabbitMQ to solve these type of issues?
> I would think a nice collaboration between Amazon, Microsoft, some Chinese players and maybe even Yahoo could do quite a nice job of this.

There's some indication that Samsung is preparing to do just that:

http://www.mercurynews.com/business/ci_24507761/samsung-tryi...

http://gigaom.com/2013/10/28/samsung-is-pulling-another-amaz...
He also wrote his own SSH daemon in PHP and was planning to issue it as a library.

https://web.archive.org/web/20140226001727/http://blog.magic...
Sounds like they are about to repeat the Final Cut + iMovie to Final Cut X disaster.
Why I work at Gumroad
I have to say I never in a million years thought I would be close to putting Seth "Family Guy, Dads, Boobs, etc." MacFarlane on my hero list but between Cosmos and this I'll drafting his induction letter soon.
> No, there are not. What there are are ways which are slightly cheaper on a few dimensions which are irrelevant compared to the dimensions of reliability, cost, explainability, and ease of use which are totally trashed by your alternative suggestions.

That has no relevance. You build a standard for these proofs, and they are passed around as blobs. It doesn't matter what their internal structure is.
"Heroku reserves the right to send TERM signals to any dyno whenever it wants. "

I stopped reading right there, and thought to myself: Thank God I didn't choose Heroku as my service provider. Overpriced, and underpredictable.
"data points required for confident results scales linearly with number of distinct states being tested"

My memory of the maths behind this is poor, but I'm not sure this is actually true: I would understand that (all things being equal) the number of required data points grows faster than linearly. The reason is that not only are you spreading your users across more states, but you also need much stronger results to make a conclusion: see the use of ANOVA vs (eg) two sample t tests http://en.wikipedia.org/wiki/Analysis_of_variance.

Of course, if you run a series of base vs variant tests, where the winner stays on, you run into the exact same class of problem too. Meaningful AB testing is tricky.

EDIT: when I say not sure, I mean it. I wish I knew this better (rather than just being aware of the existence of gotchas). If anyone has any great insights on the impact of this stuff, or how to deal with it, I'd love to hear them.
I didn't mean to sound dismissive. I think the early success is great. But I anticipate that the biggest question is going to be "will it scale?". Investors know that it's trickier than 1m+ bucks and some ambassadors. So if you can prove out that you have a model that works (and actually prove it to yourself) then you eliminate a big barrier in funding.

This is not a new model. The issue is it's VERY hard to scale. Proving it as much as possible before walking into a pitch will change the dynamic drastically.

You may also find that it does not scale as well as you hopes... or that managing college kids and relying on them to grow your business is not always reliable (that's a tough one).
CSV Lint
Yes, that would probably help tremendously as well.
While everyone has suggested bootstrapping, friends and fam, local angel groups and Angel List, have you tried your university?

Many large public institutions have launchpads and accelerators (they just don't always market it well). This could be a natural fit for them.

I think like most people are echoing, continue to fund it out of pocket (maybe with the help of family) to get it to be the best product possible. From there, slowly build out into other geographies. You can learn lessons from your early expansions so as to not repeat it. Given the product is still young, there is likely a good amount you can build on prior to scaling out.

Good luck and will def be monitoring University Niche
By a margarita machine.
Probably an in-development safety mitigation.
Right now it's hand-picked ("do things that don't scale"), eventually we would like everything to be 100% community driven.
Do you mean that Chromium now has a Dart VM? The last time I checked it didn't, there was a buggy thing called Dartium.
Okay, yea, that makes sense.

Awesome. Thanks.
Python API for pitchfork.com reviews
Tibanne is his old company, and is actually the entity which owns MtGox. I suspect that about page is from a couple years ago.
a young technopreneur with more than 15 years experience

I can't decide if I'm more annoyed by a) being both "young" plus having "15 years experience", or b) "technopreneur."
Show HN: How to make a custom keyboard in iOS 8
The number one response I hear from infosec people (which was the intended audience of 2600) was, "Dude, you should've used a proxy!" I recognize that failing to do so was reckless and stupid.
Interesting article, but ...
Why are we going on about Apple's 'wearable strategy' when they don't even have a device out there? I noticed during I/O that some 'prominent' people were discussing the 'iWatch' like it's already in stores. Why are we even entertaining such detailed assumptions about things that we don't yet know of?
Yes, it has AngulartDart.
Who the hell upvotes crap like this?
Chicago to monitor cellphone signals to track where people are walking
The assholeness of Torvalds is oversold. Imagine that every conversation you had at work, and a good deal of your conversations with your friends off work, were publicly available on the internet and routinely scrutinized by journalists and bloggers, and any time they criticized you it was newsworthy enough to make it to all the big social news aggregators. Now imagine that you worked a retail job, and not only dealt with professionals with a sense of propriety, but randoms with varying degrees of anger, malice, and incompetence.
Thanks, and sorry, I missed that point.
My objective was not to shout "hey I flagged" but propose some changes, that have been done.
For what it matters, I unflagged it now.
I'm going to have to second this. Why waste all of this screen real estate? I zoomed it out to 67% on Chrome to make it look normal. Definitely one of my biggest pet peeves about modern web UI.
You mean like https://angulardart.org/
It has AngularDart, an official port of AngularJS to Dart. Seems promising, will try it if and only if Dart gets native support in Chrome.