skysight-inc/HackerNews huggingface dataset:
Nice! I like the bottom nav bar. Would definitely use over Trello. A few notes on UI:

When adding a card, why not make labeling/assigning more accessible? You could give those functions little icons near the "Add" button instead of making users dig through settings.

Orange loading bar at the top is distracting.

Window that pops up when you click on a task seems cramped. Maybe increase the container width or rearrange the info in the first column?
> Suddenly your memory allocation routine is a pointer addition, and you don't need garbage collection either. Deallocation is just as fast as well, it just happens in one block.

That's one of the techniques I apply. I have also some other tricks with different trade-offs up in my sleeve.

This is primitive garbage collection. Because compaction / sweeping phase is simply discard all, no marking phase is required.

Sometimes you get a lot of interrupts in a sequence, and if the lower priority code didn't have a chance to clean up the arena, you lose data.

Interrupts can also occur at any point, unless you disable them. But you can't keep them disabled for very long. Maybe long enough that you check IRQ handler is not currently running on another core. If not, swap an arena pointer IRQ routine uses, enable interrupts again and start to process the previously pointed arena buffer.

> It requires a bit of care in the code using it to not grow memory in an unbounded fashion, but this isn't really hard once you get used to it.

This. The babysitting code and care you need for this technique.
When Learning, Attitude and Approach Matter
A lot of those are actually just task specific business logic style applications in scripting languages (often python, sometimes perl, etc).

In this case the 'library' is often the base programming language it's self, as the shipped parts are entirely glue and configuration.
Far from it; rather, that the simply typed lambda calculus is not Turing complete. One cannot represent a Turing machine in the simply typed lambda calculus, exactly because non terminating programs cannot be expressed.

One can add a fix point to the calculus (such as the titular Y combinator), but that introduces inconsistency to the type system.
I'm not concerned with upsetting someone. But there is a difference between being offensive (of which I have no qualms) and inciting hate. You and I just draw the line differently, am I'm okay with that.
Beyonds VCs and startups, focusing solely on growth mostly hurts founders themselves.

I've met some that, because of ego and narcissism, ignored profitability, raising unnecessary money and eventually losing autonomy and control.
They already do on my xbox.

But no, of course I'm not suggesting that - and that's a good counter-example, thanks. Really, I believe that the idea that the OS distributes libraries like libjpeg as archaic (distros strike me as an awful idea, tbh). That's part of the application, and it's the application's responsibility to ship a fix.
GCC libstdc++ has been backward compatible with no ABI breaks for around a decade. GNU libc for what, two decades.

You don't break such fundamental ABIs on a whim. If the libstdc++ ABI had changed, it would have broken every single bit of C++ code built with GCC4 over the last decade. Including code with transitive dependencies on the old ABI.

Rather than declaring this as a "silly feature", I think we might be better off thanking the developers concerned for solving a very hard problem and going the extra mile to ensure backward compatibility. They could have been lazy and said "ABI break! Flag day today: every user of GCC much rebuild the entire world and, by the way, none of your old software will run any longer", but they didn't. So clang hasn't got the new ABI quite right to match GCC, that's a minor niggle. It can be fixed. You can't fix breaking the whole world.

As an example, consider that the Mesa OpenGL C library internally uses libstdc++. If this was built using an incompatible new ABI, it would break every C++ program linked against the old ABI. And vice-versa. That game or expensive visualisation software you bought, that's not going to work any more. Stable ABIs matter.
> Which ends up meaning that in practice, you may as well do a k-ary search.

So, basically, use b-trees ? (https://en.wikipedia.org/wiki/B-tree)

> https://queue.acm.org/detail.cfm?id=1814327

Poul-Henning Kamp already wrote about it (https://web.archive.org/web/20150523191845/http://queue.acm....). Long story short: with the correct data structure, and assuming you are going to be limited by your storage, you can expect from little wins if your RAM is empty to a 10x win when your RAM is full (and you have to fault pages)
Note that part of Foundation (including the network stuff I think) is already open-source as part of CF: http://www.opensource.apple.com/source/CF/
What is actually happening here is not quite what you think. There is a subset of programs for which you can prove it halts, notably lower-bounded by e.g. Idris' totality checker (which is a part of its type system).
> Mozilla needs money. Unless they find another way to finance themselves,

Firefox Hello and Pocket are not attempts to "sell user data". In the case of the latter, Mozilla isn't even getting paid by Pocket, as they have said numerous times.

But yes, Mozilla is dependent on money, like all corporations. If you want to ensure that their funding sources are never in conflict with what users want, there's a very easy solution to that: https://sendto.mozilla.org/page/contribute/givenow-seq

(If every Firefox user gave $2, they wouldn't need their partnerships with Yahoo/Google for search integration, which has been their primary funding source for years).
It's another barrier to entry. Documentation is probably the worst place to encounter a new language, since the reader is already confused and frustrated.

CoffeeScript is a nice language, but I think it's reputation suffers from it's association with Ruby. Far too many CoffeeScript tutorials are aimed at Rails devs who don't want to learn new syntax.
You get a choice for OS X. You can put most apps wherever you want; just drag the .app "file" anywhere.
I wouldn't overlook this candidate but I also don't live in the Valley.
When tasers were introduced they were supposed to be used in situations where an officer would have instead used lethal force.

In the John Kerry "Don't tase me bro" incident. The officer thought he needed to use deadly force in that situation. He obviously didn't, but the point is that taser use in that situation would imply that he would have been okay using a firearm in that situation. Which is bs.
Have you actually read the article? None of that applied. It was extremely factual and well constructed with a mildly left of center bias. Nothing compared to the extreme libertarian bias of half the non-technical articles on HN.

This is just a knee jerk reaction to the word "socialist".

There was nothing offensive of inflammatory about the article unless you consider the very existence of progressive though offensive.
In the UK (I have no experience of this type of finance anywhere else), interest rates improve as your loan to value percentage decreases. If the house increases in value by the time you come to re-mortgage, you're likely to get a better deal.

Again, this doesn't help people who are trying to buy for the first time.
>The judicial must not and cannot write their own laws, no matter how much another branch might plead with them to do so in order to get them off the hook of actually doing their job.

This is a mischaracterization of the action the court took on this case. The court did not 'write their own law' -- they forced the legislature to follow what was obviously the intent of the law despite "inartful wording."

"John McDonough, who worked on the Health, Education, Labor and Pension committee during the health reform debate, wrote in an email. 'There is not a scintilla of evidence that the Democratic lawmakers who designed the law intended to deny subsidies to any state, regardless of exchange status.'" [0]

Your solution -- forcing Congress to "do their job" and fix this typo of a mistake -- would come at the cost of the system itself as well as the healthcare of more than 8m people. Such pedantry is not only unwarranted, but cruel.

[0]http://www.vox.com/2014/7/23/5927169/halbig-says-congress-me...
I'm not saying you can completely avoid integrating with the OS (after all, you need to communicate with the OS if you want to run). I'm saying that if you use something like libjpeg, you should statically compile it in. Application libraries should be part of the application (system libraries, then, should be part of the system).
What would you have done, given the starting point of a VBScript codebase, to bring it to Unix and later to .NET? Remember, it does no good to talk about what should have been, years before. You have to make the best decision with what you already have. In that light, writing a custom compiler for a variant of VBScript doesn't seem so bad.
> Rust is still the only competitor in the space of zero-overhead memory-safe languages.

the only mainstream competitor, perhaps; ATS does a good job of it too [http://www.ats-lang.org/]
AppKit sounds way too Apple-y these days. Though a tad generic compared to "HealthKit" and the like
> None of these seem even remotely relevant to engineering.

Believing things that have no scientific merit in favour of things that have plenty of scientific evidence would be a huge concern in an engineer.

Given is (mostly memory-holed) mysogyny, racism, and homophobia that leads him to discard the views of people in a most un-meritocratic fashion and I think you have another concern.
6 New Space startups to watch in Bay Area as sector tops record funding
These are the current versions, if you go a directory higher, you'll find a way to see the foundation implementation for each OS version:

http://www.opensource.apple.com/

They usually appear with around 3-6 months delay after the initial operating system release
That's definitely true. Do you have a particular set of questions you ask during project interviews? If so, which ones tend to be the most revealing?
> And he works well with others, teaming up with Katy Perry to sell one of the best tracks of all time, “California Gurls.”

Interesting song choice considering all of the songs he has worked on with other artists. And saying one of the best tracks of all time is probably a stretch there. This author just sounds like he has a crush on Snoop.
You are correct that C++11 required changes to certain implementation details of libstdc++. However, you are incorrect about this making the new implementation incompatible with old code compiled against older libstdc++ versions; this is explicitly and intentially supported via a dual ABI--the "new" libstdc++ will provide both the old and new variants simultaneously.
> Go avoids this because the language designed in simpler ABI requirements, and also doesn't allow binary libraries at all.

Yes, this is what I'm getting at! This mess of linking and ABIs is a mess, and it shouldn't exist unless it must, and it only must in very few cases.

Thanks for the link, I'll take a read.
Fwiw, by running the firefox nightly, I've seen far fewer memory issues, crashes, and general crappyness...
Umm, 100k/year in 1950 would be roughly $994,966/year today.

You're seriously going to argue you'd rather get paid 10 times less? Because you can buy cokes like celebrities?

What is this nonsense? This sounds like the Fox News "poors shouldn't complain because they have phones and fridges" argument.
Embed Data in the Block Chain with a Single CURL
What kind of "difficult-to-work-with" questions do you ask? I'd like to filter out these people but I'm not sure what sorts of questions to ask to suss that out.
> Section 4(d)(2) of _what?_

Section 4(d)(2) of the bill that the article you are commenting on is writing about, S.754, the "Cybersecurity Information Sharing Act of 2015".
Its also in their interest to stop paying to license certain things and assume subscribers have watched them and had their fill, even if they have not.

Scripted shows work the same way with their act breaks and cliffhangers. The incentives are the same, keep the viewer watching (hooked) until the season/series ends. Reality shows do take it to a new micro level of irritance, while scripted shows are more macro. And I wouldn't necessarily assume Netflix would never greenlight a reality series. The people who enjoy reality shows probably think of them as high quality content too. Also, there are several Emmy categories for reality TV.
Yes, because theft and extortion are covered by consumer protection laws.

Oh, wait...

You do realize that the only difference Uber here makes is that it makes it easier for the criminal in question, since doesn't even have to bother stealing a medallion or have car that looks like a taxi?
It's probably your own fault. Small things might have built up over the years, because you did not confront right away the first time you experienced the bad behavior.

Maybe you can use the disruptive energy to your advantage!? If there are bad influences, maybe you can turn it into good influences.

There's an exception though, if you are dealing with a true sociopath or psychopath, you need to get rid of them asap. You will know you are dealing with such a person if they constantly "destroy" people despite you've told them that it's not acceptable.
1. I said skip over that for a reason. :)

2. Do you bring your phone out during lengthy business meetings? I still see that as rude, even if all you are doing is checking the time. Checking a wristwatch is far more acceptable and subtle in that scenario. Perhaps you aren't in lengthy business meetings or perhaps your work environment is a bit more forgiving at looking at your phone during a meeting.

3. Beanie babies were a 90's fad based on thin air and speculation. Watches and other antiques with years of history backing up their ability to maintain and increase in value is a different kind of investment. Luxury items are luxury items. They tend to maintain or increase in value based on that merit alone. Beanie Babies aren't luxury items, thus are worthless only a few years after the collection fad died out.

It's written to answer why one would buy a pre-owned luxury watch but the reasons apply to new items as well.
that was surprisingly simple for such a strong wording for their obfuscation:D
I clicked the download button and noticed 70+ MB file. I thought to myself, why in the world a text editor needs to be so huge. And then I see your comment. I clicked on the Pause button on my download.
You'd really call the guy who wrote this[1] non-technical?

[1]: http://www.catb.org/~esr/software.html
Having done something similar, but entirely different, several times, I'm surprised you didn't choose to slowly refactor the code to be more and more native C# over time. iYou start with 100% Wasabi / 0% C# and slowly work up the native C# parts, in code units, until you reach a level sufficiently high to feel confident to do a final push to switch entirely to C#.

(In my experience, you need to build up an inter-op layer first to make working in C# somewhat sane, but it's usually not hard to identify the necessary helper modules needed. Having the .NET runtime actually is a boon here since the IL is designed for inter-language inter-op.)
What does this have to do with half lives?
It wasn't written that way to facilitate future spaghetti code, but to make sure the old stuff still worked.

Without that, you'd have to rewrite, in which case, why not rewrite in an existing language?
Ask HN: SW + behavior hypothesis = startup; HW + behavior hypothesis = academia?
Hi!

I'm curious: is there a bias in perception of hardware projects testing new behavior compared to software projects? I don't have enough data points, so wanted to see what you think.

By contrast to software startups, it seems, hardware project that are based on a behavioral hypothesis are considered to be R&D to be conducted in academia. Not startup material. Even though the budgets for running these early experiments now are at par with software projects (also <<$150K).

For software projects, it's quite common to run an experiment and see if a certain new behavior/environment would stick and have traction.

Do you happen to know successful hardware startups/projects that were built based on an unproven behavioral hypothesis?

Thanks!
No, these were actual office type enclosures affording some privacy, as well as plenty of surface for note taking. The spirit of point #3 was made so you could move _everything with you - desk, shelves, chair, etc.
Interestingly, this was a suggestion made many many years ago and started as an experiment. Like 10 years ago, i believe ;)

libc++ is also versioned using namespaces, but no abi_tag
What is the deal with the recent "thedotpost.com" envelope for perfectly valid YouTube URLs? I want to flag this post just for that.

https://www.youtube.com/watch?v=LA-gNoxSLCE
Album List – Dynamic Range Database
>For one, on some OS's (like Windows), the syscall interface is unstable

True but if someone is dealing with syscalls on Windows they're programming something very unusual.

>so you really want to use kernel32.dll and friends or you're signing up for pain.

Why? There is no pain involved unless a function that isn't implemented in older versions is imported.
Yeah, Nim is one of the languages I'm interested in.

> Specifically, it's a very good C replacement as it compiles to C. So you can easily run it on all of those embedded architectures.

Yes, this is indeed a huge plus for this application.

>If you're brave you can attempt to use Nim's GC in embedded hardware too, it's very flexible.

I'm not going to be that brave. :)

> If you want statically guaranteed memory safety then do check out Rust, I'm assuming you already have though and dismissed it for some reason.

Static guarantees are good, less code and checking at runtime. I haven't dismissed Rust in any way. One huge bonus point for Rust is that it has a major organization, Mozilla, behind it. Of course, the fact that Mozilla is primarily interested to develop a web browser can be a liability. In the future, Rust might take a path that's less suitable for embedded firmware.
Personally I think there is something to be said for skipping irrelevant questions. I don't care where a program installs to, I just want it to work. I want the developers to deal with that kind of detail so I don't have to worry about it.
French taxi drivers lock down Paris in huge anti-Uber protest
For sure, I agree. There's not much cause for bundling a dynamic library with your app. But you still need dynamic linking for the system.

Of course C++ is really terrible at this. Its binary interface is very fragile: you can't add variables or virtual methods without breaking clients, and of course different STLs cannot interoperate. So for the case of C++ specifically, ABI compatibility is lipstick on a pig. Still, the gcc guys deserve props for their abundance of caution, and it does pay dividends for other tools (e.g. gdb) that have to understand the ABI.
Let's extend this to people who try to legitimize gulags, communism, and online mob action. Ban all Rust related shit.
AT&T, WhatsApp, and Verizon are the worst at data privacy
Taxi Drivers Block Paris Roads in Uber Protest
Make sure and stay away from anyone who might be using Google's JS or font CDN's too.
No. Rather, some typed variants of the lambda calculus are not Turing-complete. They prevent infinite loops without running into the halting problem by being strictly less powerful than normal programming langauges.

It's worth noting that this is not an either/or problem. Some modern dependently typed languages take a more nuanced approach: they have a less-powerful core with enforced termination¹ and a way to write potentially non-terminating code that's isolated from everything else by the type system. It's the same approach that Haskell uses successfully for IO—it allows IO, but only in a controlled and explicitly delimited part of the program.

In a very real sense, we can treat potential non-termination as yet another effect and manage it accordingly.

¹ Actually, they're even more nuanced than this: programs either have to provably terminate or be provably "productive", which means they produce some new output from new input in finite time. This allows languages to support beneficial infinite loops like the event loop in an operating system while preventing purely harmful busy loops that never get anywhere.
And the language Atom is written in supports Unicode very badly indeed, to keep things relevant to the topic at hand.
For now. And in JS! Yay!
For instance, all those cases where you'd like security issues fixed by updating a shared library, rather than finding and recompiling and redistributing every program on your system that may have used that library.
Coffeescript is a very polarizing language. Most people appear to either love it or hate it vigorously.

https://discuss.atom.io/t/why-coffeescript/131
I'm not sure I buy your implicit assertion that other engineering disciplines are somehow better at hiring than the software industry is. As far as I can tell, mechanical and electrical engineers are hired based on relevance of work experience, some discussion of that experience, and maybe a few specific technical details which should be known by anybody with the experience they claim to have. All of which is isomorphic to "Worked at Google, could explain his project in depth, and coded tree inversion on a whiteboard". The only difference I'm aware of is that a Mech or EE would probably be subjected to bullshit situational interviews by HR.

This kind of feels like the general "software isn't rigorous like the real engineering disciplines" angst, which as far as I can tell is also bullshit. In reality, the "rigorous" old-school disciplines still manage to make colossal messes of complex, unprecedented projects, in the same way that software companies often make colossal messes of complex, unprecedented software projects. Sure, civil engineers can build normal roads and bridges and buildings reliably, but then again, software engineers have no problem throwing up CRUD apps and wordpress blogs. There are plenty of bridge collapses, exploding batteries, stalled tunnel-borers, and so on to match all of software's spectacular failures.

It turns out that complicated things are really hard to build, regardless of your field.
​Red Hat Enterprise Linux Server for ARM Goes Beta
https://www.kernel.org/pub/linux/kernel/CREDITS

crtl-f "raymond"
The Little Schemer Exercises in Elixir
http://fortawesome.github.io/Font-Awesome/

If you use css frameworks like Foundation or Bootstrap they come with their own set of font icons as well.
Congrats to the team for reaching this important milestone.

I'm a Sublime license holder, but I use Atom as much as I can, because the more open source can win, the better.

However, yesterday I was doing some complex regex's (porting a random sql dump file into a seeds.rb), and Atom kept dying, whereas Sublime was pretty much instantaneous.

I'm not doing the usual "Atom is slow" drum beating, but saying some undertones of the announcement make me worry a bit. I hear discussion of things like Electron and "social coding" as the future, and I'm hoping that means that no one considers 1.0 to equate to the core editing experience being finished. It's not, and I hope the Atom team continues to iterate before moving on to new features.

Being able to open files larger than 2MB isn't sexy, but it's necessary. Having to hard-kill my editor because the save dialog is trapped on my other full screen session that it won't let me get to deserves more than a "but it's open source" response.

tl;dr congrats team and your core users want the best editor possible over bells and whistles
But all the docs are in Coffeescript, and it's quite hostile to a new dev.
Probably a reference to this: http://knowyourmeme.com/memes/events/sad-puppies