skysight-inc/HackerNews huggingface dataset:
Unreachable references will be pruned after 30 days (by default) if/when git-gc gets run (which will occasionally happen automatically by default). Not saying it's a problem, just note that they're not actually there forever.
Thanks, I will definitely try this one since I use tons of tabs as an interface for "read it later" stuff and avoid forgetting about them altogether.

It'd be nice to include the favicon (if available) next to each link so that a visual scan is easy to perform. Otherwise a "Find on page" (Ctrl+F) would have to be used to find something in a list of a few hundred tabs. Sort options like the ones mentioned in another comment here about the date added, and additionally grouping links by domain, would also be useful.
Apple pretty much said that Cocoa would be the basis for all future work they do on Mac OS X since 2001, and they've continually improved it, such as adding new widgets, adding functionality to existing widgets, high-DPI support, and so on. I see there's a lot of DRY (Don't Repeat Yourself) going on: there is only one GUI platform and UI toolkit for macOS: Cocoa. While the groundwork isn't new it is kept up-to-date.

Compared to Windows where the "original" widget-toolkit (Window classes and the Common Control library) haven't been significantly updated since Windows XP - Wndows 7 did add some new controls, but they aren't exactly easy to use unless you're already a very experienced C++ Win32 GUI developer.

The old low-entry-barrier dev story was VB6, which had a mix of Common Controls and ActiveX reimplementations, then it moved over to VB.NET and WinForms, which is a wrapper around the same - but the last significant update to WinForms was in .NET 2.0 in 2005 - Microsoft recently announced that they would not be adding true high-DPI support to WinForms, advising desktop app developers to use WPF or UWP instead - and therein lies a problem: WPF and UWP are both completely separate UI and application stacks. WPF is not perfect and like WinForms, hasn't seen much of an update for a while (it still runs on DirectX 9) and UWP is just confusing: it's arbitrarily limited to only run in a restricted sandbox environment, the standard widget library is very anemic (e.g. still no tree-view!) and it shares nothing in common with the rest of the entire Windows ecosystem.

If you want to write a "real" Win32 desktop application you're best-off sticking with MFC, but there's so much legwork that's necessary, and legacy cruft (I swear the MFC codebase is still C++89 compatible) it just doesn't make sense for small applications, especially line-of-business systems that face constant changes, to be built with it. Compare with Cocoa on macOS where everything: from Microsoft Office and Adobe Photoshop, to the built-in Jigsaw Puzzle mini-game, is all built with the same framework.
In fact they did purely make most of those things. Also they took Mesos from a barely working prototype to a system that scales to 100K+ nodes running many thousands of different workloads in production. They did that not only by hiring Benjamin and paying him to work on it but also by surrounding him with two of the strongest engineers I've ever worked with (John Sirois and Bill Farner) as well as 3 or 4 more I didn't work with as much so I can't say how much they added but it was clearly a large investment. Effectively they seed funded it for almost 4 years. Other people worked on it too, but they were the lion's share of the commits and did almost all of Aurora too.
It was also renamed once, from Hudson. https://en.wikipedia.org/wiki/Hudson_(software)#Hudson.E2.80...
Talk about starting on the left foot..

The spammy comments from the newly created accounts kind of ruined the mojo.

For the demo they really must insist to have your mobile number (they send the password there), kind of dodgy I'd say.

"With investment from European Regional Development Fund." - it's a shame they're pulling these antics on taxpayer's money.

Also, why SmartOS? Isn't that Solaris? They should really rename to DeadOS. Good luck with debugging that when shit hits the fan or there are hardware compatibility issues.
> Some of the websites you mentioned keep you logged in.

Indeed. Which was the point I literally just made after you argued about sessions timing out.

> Then, not all HN readers are tech-savvy, being enthusiastic about technology is not the same as being tech-savvy.

It sounds very much like you believe you're educating people here. I'd be surprised if anyone reading this thread was unaware of the existence of bookmarks, or confused by the revelation that more tabs mean their "computer thingies" have to do more "thinking". But I can't prove that any more than you can prove most HNers are as technologically inept as you repeatedly suggest.

> Then, if you don't like having your point refuted, don't engage into a conversation by refuting others' point of view in the first place.

You're not refuting my point though because my point was never that tabs are better than bookmarks. I just commented on why people often end up working that way despite knowing better. It was an insight not a recommendation.
Facebook may have led WhatsApp merger investigation astray
I disagree with the person you're replying too, but CVS and SVN are not the current generation of version control systems (and CVS is perhaps not even the previous generation), so it's unclear why you bring them up.

If you want to compare, compare to darcs, mercurial, bazaar, monotone, ... plenty of choice without going back to svn (let alone cvs).
Agreed. I started using Nightly — instead of my usually Beta¹ — for the up-to-date GTK+ 3.2x compatibility, but I like some of the pre-release features, and it almost never crashes on me

1: On Ubuntu you can use their Firefox Beta PPA² as long as you don't mind that it replaces release-version Firefox.

2: https://launchpad.net/~mozillateam/+archive/ubuntu/firefox-n...
Because you can say Salesforce and buy instant Credibility with every sales exec.
Show HN: Brainilis: a simple mobile game to challenge your brain
"Red Hat provided me with a 15″ Mac Book Pro. Since this was one of their choices of machine for developers, I assumed it was well supported by Fedora"

Why didn't he google Mac Book Pro Linux?
Introducing SPECS – Design/Development Collaboration Tool by CanvasFlip
Well, that's the way Linux wants it (figuratively using "Linux" as a substitute for large parts of the community), it doesn't want those stinking binary closed drivers, and manufactures wont get out of their way to create and open source drivers for their stuff.
Are people actually amenable to driving cars carrying substantial quantities of pressurized hydrogen and oxygen? It's a bomb on wheels.
Not dillo. It's also space efficient. 30M for many tabs. Also No Script is embedded by a formal technique called pure js devoidness.
You might find the OSDI slides useful: https://people.eecs.berkeley.edu/~apanda/assets/slides/osdi-...
Storm shouldn't really be on the list fwiw. They bought it and then replaced it with Heron after a couple years but barely worked on Storm in the interim. That was all Nathan.
Windows can do this - its "non-blocking" read calls are better described as "asynchronous", and take ownership of the buffer until the job is cancelled or it runs to completion. So if the buffer is paged out, that's fine; the program can carry on and the buffer can get paged in when the system needs it (perhaps on an otherwise idle CPU - so it needn't necessarily take any time from the perspective of the calling thread).

The POSIX semantics on the other hand are simply that the read won't block due to lack of input, so it does as much as it can straight away and then returns. If there's data, but the buffer is paged out, the non-blocking read call has to take more time, because the problem is a paged-out buffer and not lack of input.

(The Windows equivalents of man page section 1 are so awful that most POSIX fans just run a mile and install cygwin. More fool them; once you get to man page section 2, it's a lot better. MAXIMUM_WAIT_OBJECTS is lame, though.)
They were one of the first customers of that shared source review program.
Regexgen: Generate regular expressions that match a set of strings
I think so. I've been quoted 10-20k for a mobile app (here in Uruguay). Costs do pile up, but 50 to 80k, well managed should get you way beyond an MVP.

I'd try to budget half for marketing, testing and other non-development activities.

Edit: Gigster's estimates sound okay.
You own storm-view looks broken https://writerack.com/crazyfoo/811331557608652800

"Twitter is stronger because w#oneteamneteam" != "Twitter is stronger because we are #oneteam"

Or is that my browser?
Even if they return the money they have a perfect potential book and movie script on their hands that will make them at least as much.
On a 4 year old MacBook Air running Firefox, google maps takes a second or so to open fully, after browsing around in two google maps windows for a while my memory usage is stable at 1.25GB.
Some personal anecdata for you:

1) Q4 2015 MBP, top of the line - kernel thread crash on suspend, causing it to wake back up. Semi-random, kinda interesting except when it woke up in my bag and seemed to almost catch on fire ... repeatedly. People told me to take it to the Genius Bar .. I seriously doubted they could figure the issue out. It would've been a back to the factory situation (I sold it -- after verifying the hardware was still good of course).

2) Sometime in 2014-ish? I change the wireless bandwidth on a ubiquiti router at the office -- all the Macs go offline, Linux machines do not. Suggesting a bug in WiFi. This is not unusual for WiFi on any device (not just macs) in my experience. I disagree with the idea that it Just Works generally.

3) Macbook Pro 2013 - enabling IPv6 stack causes kernel crash when trying to disable.

4) and to make it clear I'm not just picking on Apple: Sony PS4 with a dual band 802.11a/b/g/n wireless router -- constantly drops connection. Figured out it was because of the 5GHz band. Had to set up a separate wireless network just for PS4 with an older router. Sony should put up some time and money to help fix these driver issues instead of leaving it entirely on BSD volunteers (assuming they're not using a custom driver, in which case they should, you know, fix it).

5) Making PSN a requirement was a terrible decision for the PS4: lizard squad DDoS the day after I got it. Updates kicking me out of PSN. Unable to log back in, etc. I will never buy another console gaming system with this requirement, if I can avoid it. If I can't I will do serious research first.

This is why I'm back to homebrewing/hacking hardware and putting Linux/BSD on all my stuff ... at least I then have a clue of how to debug this kind of weird shit, even if it is a PITA, and at least if things don't work, I can blame myself, rather than having to say I paid for it. Certainly no sense paying for premium consumer stuff either, even if you have the money. Spend it on something else.

No it's not just you.
Showbox for PC Download for Windows 7 / 8.1 / 8
Hey Guys, I'm vipul - one of the co founders at CanvasFlip. we just launched our design/development collaboration tool. Waiting for you guys to try this out and share your feedback.

Cheers,
VM
You can check triggers, or any db changes, into version control. Usually is more a migration script like Active Record. And sometimes its more like a log of changes than a total current state, but its definitely doable.
For whoever doesn't know what robot vacuums are... they're basically the first step in AI: metallic pets cleaning the house. I predict that true AI will be added to them soon.
The only technology you need to learn in 2017
Objective measures are always nice, but when there are none it all comes down to self report. Your own bias will still be present in that, and then you get to add on the doctors own bias. We hope that their experience can cut through both sources of distortion, but the less common the problem the harder that is.
EcmaScript 2017: await and async clarified
I still remember sitting there with my mouth hanging open watching 4 quicktime movies play at the same time after I installed the BeOS Preview Release on my 6400.

What I particularly liked was how BeOS would run on any PCI PowerMac. The Rhapsody DR1 release had much smaller supported hardware and it was later than BeOS.

Gassee overplayed his hand and lost big time.

I LOVED Apple stuff. A BeOS based MacOS would have been phenomenal.
I am too, but in fairness my circle of friends was not especially 'into' JRPGs until the release of Final Fantasy 9. Maybe we're outliers, but Cloud did not resonate a whole lot with us.
Indeed. Handing out ministerial positions is a good way of quashing dissent in the party.
SmartOS is based on illumos. illumos is not Oracle Solaris. It is a fork of OpenSolaris, made years ago. illumos diverged from Oracle Solaris quite rapidly.
I expanded this into a blog post: https://codewithoutrules.com/2016/12/20/the-best-technology/
They know it now; they did not know it previously.
Microsoft Releases HoloJS, Develop for the HoloLens with JS
If you break up your repos whenever two random people work on disjoint file sets within a branch, you're going to end up with a lot of repos.
Or rebase. Don't hide merge fixes in merge commits, keep your changes relevant when read in context of current master.

Unless you're working on a topic branch together with another dev, but I find that rarely happens in practice.
>How are they going to come back? All realistic plans I've seen are for one-way trips.

Huh?

"The first crewed Mars mission would be expected to have approximately 12 people, with the primary goal to "build out and troubleshoot the propellant plant and Mars Base Alpha power system" as well as a" rudimentary base." In the event of an emergency, the spaceship would be able to return to Earth without having to wait a full 26 months for the next synodic period."

https://en.wikipedia.org/wiki/Interplanetary_Transport_Syste...
Right but then you're talking about viewing the HTML source right? In other words "View Source." I'm asking why dev tools would need access to the original source and not the DOM. It doesn't make sense to save the original source in memory to me once it's been parsed.
There is no better. Assuming dirt-cheap photonic connection speeds and handheld supercomputers, there will be tradeoffs regardless of the hardware limitations.

Ex: you could watch anything on YouTube or Netflix but someone will always be knowing when you start, pause, stop, and possibly the volume you set. Or you could download all of YouTube onto your God-phone and watch to your heart's content without realtime surveillance.

As hardware improves on both ends, the decision between centralized and decentralized will rely less and less on the constraints of the hardware, and more on things like consumer preferences.
"HTTPS is not supported for GitHub Pages using custom domains." - this is what they mean, they weren't specific.
Untill unlicensed encryption becomes illegal.

Seeking a technological solution to a political problem is not going to end well.
Facebook is buying stolen passwords from dark web
Atari Pong meets Neuroevolution
Show HN: Helping Social Media influencers turn into entrepreneurs
So if I get this then he just added the files to master, then tried to work on the topic branch?

That really seems weird. I don't think it's git's fault. Also he could have done git merge master --accept-theirs if he really wanted some kind of history but I guess it would be worthless.
HoloJS
There's still the connection from Cloudflare to the origin server, which won't have authentication.
True, though I guess using some HTML validation could improve that. Not sure if <tbody> is mandatory but I think I've seen some tool complain about its absence.
If I'm buying, yes it is.
History has shown that the only solution to political problems was technology.
Artificial Intelligence, Automation, and the Economy
Ham radio software co disabled customer's software after he posted bad review
The biggest mistake is installing on Apple hardware.

Fedora on Thinkpad (including Wayland) is very nice, accessing Synology via SMB or even AFS works very nicely. If I was feeling adventurous and had a need for remote block devices, I would try iSCSI too.
That answers the question then. A portable computer, not a laptop.
Show HN: SwiftGift – Send physical gifts to phone numbers on Christmas Day
Bandwidth & latency are different things. It doesn't matter how fat you make the pipe, the speed of light prevents certain types of computations from being run remotely.

This doesn't matter so much for AI in apps, but certainly for self driving cars all critical computation needs to be on the edge. Once you have every car carrying multiple GPUs, the distributed computing power in cars probably is pretty comparable to a data center. You can run a lot of things in the idle time while the car is parked if you need to do training or things of that nature.
Most importantly, posts with that label should have links to all previous discussions
"Then there are all the Brexit related questions about export of services, and I have no idea at all how that might or might not change things."

I suspect noone has a clear idea about that at this stage. Negotiations yet to start &c and the negotiation stance that HM Government appears to take is itself a highly political question within some quarters in the UK.
I think it should also be noted that listed parties are known for jumping the band wagons...
I do that in Chrome all the time. I hardly ever go to any sites except by typing the first ~three letters of the URL and mashing enter.
I see what you mean about the messy mental model, and I do 100% agree that in a well designed system most problems should have one obvious best solution. That said, I'm not sure that's a fair criticism of git.

For instance, in this case, as mentioned below, the author of the article should have just reverted the commit where he checked out the files, then done a normal merge. If you're thinking of everything at the commit level, it's pretty much the obvious thing to do. The first obvious thought is to just backtrack (as mentioned in the article), then once you realize that's off the table (since the code is out in the wild) the very next obvious idea is to revert. Revert is what you do when you can't just undo. It's not even as if his commit involved any merges, so the revert is super easy.

I guess I just don't agree that experts would have a hard time finding the simple solution - it was the first thought that popped into my head, and I read the article mostly looking for the explanation for why he didn't just do it.

While git does provide near complete control, you almost never need to use more than the basics, and it doesn't have to be confusing.

EDIT: Just to make very clear why I think the solution is obvious, the first thought that I think will occur to almost anyone is, "if I can just bring the master branch back to its prior state, then I can merge like usual". The beauty of git is if you can form a coherent idea like "bring the master branch back to its prior state" then you can probably do it, and it probably isn't hard. The mistake the author made was to have that thought, and then instead go off down a rabbit hole, and throw out the original simple idea.
Would it be better if GPU drivers could compile open-spec bytecode and upload the result to the GPU to do all of the computation? This way OpenGL may be used as a library, shipped with the application.
So you're using Cloudflare. Do you have Strict SSL enabled? If not, you don't have authenticated encryption. Hiding the problem is not a solution. If GitHub doesn't let you set a custom certificate, Cloudflare isn't a solution because they don't have a way to pin a certificate rather than relying on CA authentication.
This approach is good if you do not have to apply some check on the balance before inserting a new transaction. If you do (say verifying that balance does not go negative) then you have at least two options:

1) you make transactions serialized

BEGIN ISOLATION LEVEL SERIALIZABLE;
select sum(amount) as balance from transaction where user_id = 1;
-- do something with balance
insert into transaction values (1, -100);
COMMIT;

2) or you use row level locking on an additional table (say user, while this conflicts with the system table user, but for the sake of the example we assume this is not the case) to serialize the access.

BEGIN;
select user_id from user where user_id = 1 for update;
select sum(amount) as balance from transaction where user_id = 1;
-- do something with balance
insert into transaction values (1, -100);
COMMIT;

Now it may be tempting to change this to

BEGIN;
select balance from user where user_id = 1 for update;
-- do something with balance
update user set balance = balance + (-100) where user_id = 1;
insert into transaction values (1, -100);
COMMIT;

Just for clarity: in most cases you should register your transaction event anyway (with a time stamp) for later auditing, but you now will have a risk of introducing inconsistencies between calculated balance and transactions due to the programming errors (that is partially committed transactions).

Also you should obviously create proper primary keys and indexes.

Also you should include proper error/exception handling.

Also if you already do locking, then you could also consider different locking strategies described in the article.
Productive for whom? For the benefit of EU taxpayers? Seems unlikely.
Billboards work because it's captive traffic. Very few if any sites on the net have captive traffic. Twitter certainly doesn't even in the current model and I think the model you're describing would be even harder to manage in terms of spam and abuse, not to mention coordinating with law enforcement. So likely even less captive.
For simple static pages (with no backend), I would highly recommend putting them on Nearly Free Speech (NFSN) [1] and using the free tier of CloudFlare in front of it. NFSN charges only for what you use, unlike hosts like hostgator and others that have a monthly payment of a few dollars, at the minimum. Excluding domain costs, it will cost you just pennies a year or a few dollars a year. You can also opt for cheaper bandwidth on the site if you wish.

Without ClouldFlare in front, your costs on NFSN may become quite high depending on the size of the content and number of requests.

[1]: https://www.nearlyfreespeech.net
I'm more interested in an up-to-date "webpack for complete newbs with hairy hybrid-modern-legacy projects" resource, that would introduce you to everything from scratch with real examples.

Hopefully including more real-world cases than greenfield clean code projects: I want something like "start using webpack in an already started project that mixes jQuery & Backbone, React and some Polymer on a few pages, and a home-brewed-framework legacy portion" and maybe also has a few "isomorphic modules" (ya know, the kind of code that can run both in browser and in backend nodejs depending on context, but it "home made", not based on some nice magic sauce like Meteor). Because this is what you see in real world projects and the first questions when I tocuhed webpack were more along the lines of "how tf do I mix this old-school browsers global script + this commonjs/require one + this idiosincratic node-browser-isomorphic one" and "how to I tweak minification rules for one file only to prevent weird code breaks from variable renames"...

It's amazing how much modern js learning resources assume you already know! And how plain/normal they expect your project to be when in real life you're always seeing a mystic-quantum-chemistry-frankestein-puppy-hybrid thing :)