skysight-inc/HackerNews huggingface dataset:
I see a lot of discussion here about best practices to avoid this, but nothing about the obvious question: Why is it that the go to version control system for developers everywhere is designed such that there it puts a single file at the root that magically gives anybody that can see it the ability to download all the source code in the repository?

That is:

- completely non-obvious and unexpected
- a terrible idea

Why, instead of trying to figure out how to avoid handing this magic file out to everybody, are we not trying to fix it so that no such magic file need exist?
Mixing pip and debs loses some of the advantages of having a standard system, though. I think you're better off producing deb packages from PyPI in your build server.
Listen to the cry of Indian Kids
Why do applications want different versions of libraries instead of being portable?
What about bringing your laptop to work?
1) It's that much better yes. I'm not going to start an endless discussion on text editors vs IDE's, but for an ecosystem designed from the ground up to handle hundreds of related projects with hundreds of contributors with different roles, and huge class libraries with static types, it's a massive productivity boost to have everything integrated (source control, testing, profiler, ...). For languages that aren't in this category (such as C or JavaScript) the story is completely different.

2) The community edition is free.
mirror at archive.is: https://archive.is/UUioO
It comes from "Tom and Jerry". Source: I was there when the name was decided.
StyleCI – The PHP Coding Style Service
There are some tools to help out with that:

https://wiki.debian.org/AutomaticPackagingTools
https://summit.debconf.org/debconf15/meeting/257/automatic-p...
I used to work at a VOIP provider where users started reporting choppy audio. After a week or two we nailed it down to customers that had "call recording" feature enabled. Essentially their calls were being recorded and streamed to an audio file to be accessed later through a web interface. After yet another week of investigations we noticed that disk IO was fairly high on machines that had big customers with call recording enabled for all their endpoints. We drilled the IO issues down to the WAV file format that has a header that needs to be updated for every write to accomodate for the updated length of the recording. This required a lot of disk seeks on spinning disks and unfortunately file flushing could not be disabled.. Switching to a RAW audio format that we post-processed after the call resolved the issue.
Drone Strap – World's Best Strap for Photography
Well, the obvious amswer would be "my wife". Except she probably disagrees.
It's very common to have breaking changes that you need to carefully manage in a company's internal code, and where managing that as a full-on deprecation isn't worth the effort. Moving faster is often the better choice compared to never refactoring and improving the codebase.
I didn't much look into salt/chef, yet. The "anything fails" approach is intriguing, though. Since my data is mostly source and config a central server to serve puppet and cloning my work products from a Git repo would work.

The only drawback I could see is if the "implement [a modification] it in your server and push" would turn out to become a hassle to try out libraries and programs. But that's just me speaking without any hands-on experience with these tools. Thanks.
The obvious answer would be my wife. Except she would disagree.
> You could buy a more portable laptop that you wouldn't mind carrying around, for example the new Macbook Retina or an MS Surface.

Here I think you're setting yourself up for failure. What happens when said laptop is stolen, has a hard drive die, or you forget your encryption key? If it's more convenient for him to have multiple workstations, then why not also make sure he maintains a good practice of having his working data synchronized and therefore backed up?
Much like conservation of energy is a consequence of time translation symmetry. If you mix spatial and time coordinates through relativity theory you can see that these are strongly coupled.

Your photon example works because there is no time translational symmetry in the case of metric expansion and it's a general relativity model. In general relativity there is no conservation of momentum either. It would be hard to even define since coordinate systems change from point to point. We can only say that the energy-momentum vector is going through parallel transport, which is like conservation in the local coordinate system.
Yes, but many of us have no intention of being portable across Linuxes. Our software is designed to be deployed to machines we control. If users want to deploy it to some other distro, they're free to package it themselves.
Explanations aside, if in the slight chance it's workably better than ion thrusters for certain applications, that's great. If it turns out to be snake oil or a hoax, that would not be a huge surprise either.
Yeah, I thought more like: Using the USB stick to carry round my image, but transferring it onto the local workstation. That might take a couple of minutes during start and end of work at one location, but would give me better performance (and some redundancy).
Targetting a given stable distribution means that the distribution is bundling all your dependencies.

If you're upset about that, learn how to instantiate containers on your chosen platform :-)
classic Arment useless rant
I don't know about all of them, but do you realize that we are talking about 1B$ ACTUAL revenue in current dollars of sales, not valuation ? These are two very different things.
Stop the misrepresentation and do your homework first please. MyHDL is as cycle accurate as Verilog & VHDL. It's based on the same event-driven paradigm - the paradigm that real industrial designers have been using to design real products for two decades. And you do not need conversion to Verilog/VHDL to achieve this - the core of MyHDL is a simulator.

The real difference is that in event-driven languages, clock events are explicit, instead of implicit like in Chisel and the whole array of dead HDLs that preceded it. So if history is any guide, Chisel is dead upon arrival.
Is it advisable to change your password in this case? Is there anything other you can or should do to secure your account even though some report it is fixed?
In giving only a partial account of eBay's rating system, this author learned exactly the wrong lesson.

The original two-way eBay rating system did work well. However, ratings became meaningless (except to see in aggregate a long history of transactions by a party, which gives a veneer of stability).

The modern failure is twofold:

1) several years back, eBay made it impossible to leave negative or even neutral feedback for any buyer under any circumstances. Never paid? Try to extort a lower price? Phony claim of non-receipt? Damaged the item and then blamed it on the seller? NO PROBLEM, says eBay, and future sellers are none the wiser and cannot protect themselves.

2) A dishonest eBay seller can void any transaction simply by refunding the payment. So, if she didn't like the winning price on an auction, she gets a do-over, and the buyer gets hosed. Or, the seller can try to change terms (I experienced this just last week, where the seller tried to extort 250% of the winning bid price, then cancelled when I balked).

Policies like these have made eBay no longer a safe place to sell, and their squeezing of sellers for every possible fee became relentless, to the point that you cannot even say the word "cash" in a listing any more.

So, modern eBay is a joke, and much of that commerce has moved to Amazon and elsewhere.
Surely you mean Theo's talk is no less interesting than the day it was presented, right? ;)

The BROP attack is very interesting although it assumes you can read the program binary.
How fast is the restart after it gets killed? I am thinking of brochure sites using SandstoneDB. What is the best way to save data to be loaded into SandstoneDB - class-side methods perhaps?
Kotlin is build with interoperability with Java in mind from the beginning. This is not the case in Ceylon. In fact some base types (Int, Long) in Ceylon don't match the corresponding Java type. Kotlin has extension methods which Ceylon has not. Ceylon has reified types, which Kotlin has not. Ceylon went 1.0 in November 2013. So far Ceylon seems not have caught any traction, which is unfortunate as it also is a language well-made in many ways. Kotlin has at least Android development to create some initial traction.
My advisor once said "Optimization means: sometimes, it is not getting worse", and that's excactly what happens if you perform any optimization on IR level. You don't have any guarantee that your result is optimal (regarding whatever). That's exactly the reason why Massalin introduced the term superoptimization, because on machine level you can provide such guarantees for the considered instruction sequence.

Of course there a cases where preventing an IR optimization can trigger a more powerful one and the resulting code gets better. However, in general I would say it's the other way around: Performing the IR superoptimization leads to better code quality.
Defense in depth. It doesn't hurt to have more layers.

Anyways, we all know you can't trust TLS because any rogue CA can compromise the security of any domain. Any of the CA hacking in the last while means that a valid certificate for steampowered.com could be issued by the hacker. Similarly, on corporate networks, a rogue employee with access to the root for the default-installed company CA could MITM any of the employees.

Some corporate networks and schools just MITM all traffic by default, and in some cases log a portion of it. If that log were leaked or poorly secured, it would help to have another layer on top of that.

There's no question that TLS is imperfect and no question that when it comes to security you should pile on as many layers as possible and assume every one of them might be broken.
7 Incredible Apple Patents That Might Hint at the Next Big Thing
Depending on exactly what it is you're doing, maybe keep a master vagrant file that describes your dev environment (and every time you install a new app or modify the env, update the vagrant file accordingly)? Then on each workstation you use, you can just spin up a dev vm from the vagrant file.

That's one way to quickly replicate your env across workstations. Then all you need is git/rsync/btsync + a few bash scripts to keep your data in sync.
Win 10 review
Surprisingly... yes, it is possible. See the link in my other comment: https://news.ycombinator.com/item?id=9953496
Basically Ubuntu Edge https://www.indiegogo.com/projects/ubuntu-edge , or do you know of another similar initiative?
That's a great visualisation. Thanks.
Show HN: Ping Me, an app to make it easier to play LoL with your friends
Hello HN,

I know many of you wont play League of Legends here but this is something I made so I thought I'd show it off anyway.

It's a very simple tool to get notified whenever the game your friends are playing finishes so you can go AFK while you wait for them.
I created this app mostly for my own comfort as I really like to play with friends but I find it frustrating having to keep an eye on their status to be ready when they are done playing.

Making this app was very fun as I used it to learn some new interesting Android libraries and it's the first application I release that uses Python with Django as a backend.

Website: http://pingme.riftkit.net

Link on Play Store: https://play.google.com/store/apps/details?id=net.duiker101.pingme
Clicky links

Website: http://pingme.riftkit.net

Link on Play Store: https://play.google.com/store/apps/details?id=net.duiker101....
TBH: I ask this already owning a MacBook Air 11" :) It's not the weight that bothers me. Cycling with a backpack in summer is sweaty. Carrying it with me when going out after work is both a hassle and a recipe for disaster (I almost forgot my laptop twice in a bar and wasn't even drunk - just distracted).

I work as much as I can on the command line but I have to use some visualisation tools. They are part of the problem: they take time to set up, require constant configuration tweaking and I see myself wasting hours keeping them in sync on my workstations.
I agree. I also take issue with

> rapidly zeroing in on the truths of our reality

The truths? No, humans are as likely to arrive at the truths as ants an understanding of a microwave oven.
Fujifilm 90mm Camera Lens with X-Y10 New Camera Kit for Sale in Foreign Market
AngelList/regulator
The Promising Launch of the Huffington Post Arabi
I'd recommend the Monoprice Enhanced Bass Hi-Fi Noise Isolating Earphones with the Comply TX-400 foam tips. You'd be amazed at the sound these earbuds can put out.

https://www.monoprice.com/Product?c_id=108&cp_id=10823&cs_id...

http://www.complyfoam.com/products/Tx-400/

Good luck with the search!
Marhaba Introducing HuffPost Arabi
Why couldn't the font be reproduced from printed sources? Seems much easier than to try and fish old, rusty typefaces out of a river and then try to reconstruct them.
Ask HN: Would you pay for a code similarity detection tool?
I've been working on a proof-of-concept code similarity detection tool.

The tool is based on matching semantically equivalent code fragments, i.e. it detects similarities across inlined or lifted functions, reordered but equivalent expressions and so on.

Check out the attached screenshot [1].

The idea is to mine the publicly available npm repos, and provide a payed service for detecting similar code fragments already implemented in npm libraries -- basically an open REST service and one or two plugins for the most popular editors (vim, Sublime, Atom?)

If this proves successful, I would extend the service to other languages and services, where applicable.

Would you pay for such a service? What kind of features would you expect?

[1] https://dl.dropboxusercontent.com/u/30225560/ase.png
You can get around the internet limitation by using a USB stick with a live linux environment and boot from that? Downside is that when you lose the stick you're boned.
Clickable link for the image: https://dl.dropboxusercontent.com/u/30225560/ase.png
I don't think those things are at odds. To be fast habitually you have had to slow down to pave the pathways for speed. What most organizations miss out on is thinking they can go fast without paving the way first. In all disciplines the fundamentals never come cheap or fast but once they are there then you can go as fast as you want and you can do it confidently.
In Kotlin there's a bunch of null-handling operators, which allows you to really treat null as None. Like x?.y()?.z().
Moreover, you can define extension functions on nullable types, which covers Option's map and much more.
Where else would you suggest Git keeps the version control information for a repository, if not at the root of that repository? SVN tried it in every subdirectory, which is worse, using a separate db server would add unwelcome external dependencies. It could be in a non-hidden folder, but that's annoying for those who just want to see their files under VC, not an implementation detail of the VC method. Also, there are hundreds of dot files scattered around your computer, and none of those should go anywhere near your host - .git is just one example.

The error here is uploading sensitive or hidden information to a web host into a public directory, not how it is stored locally.

If you use the root of your app, including source code and hidden files, as the public directory of your website, one permissions error means all sorts of things might be exposed, e.g. other dotfiles would also be exposed, and potentially all of your source code too, because you're relying on the web server to hide it somehow in every instance. That's the problem that needs fixed here (exposing the wrong files to public root), not that one particular hidden folder exists.
Indeed, for myself I prefer stable releases (Debian, Ubuntu LTS, etc) and use apt pinning so that I can use newer versions of apps that I need to use. Very rarely will I have a problem; in fact the few times there is a problem it is normally solved by apt-get source ; dpkg-buildpackage.
U.S. Fears Data Stolen by Chinese Hacker Could Identify Spies
5 beautiful examples of coming soon pages
Sure, everyone using a laptop (or desktop!) should run regular backups. I think that's mostly orthogonal to the portability solutions being discussed here, though. For example, the VM-on-a-USB-stick solution would also require a separate backup mechanism.
How to Get into YCF – A Review of YC Fellowship Application Videos
Complete nonsense. First, a synthesizable MyHDL description is at exactly the same abstraction level as a synthesizable Verilog/VHDL description. This paradigm is the basis for the standard, successful industrial flow. This is what real hardware designers do and it is not HLS.

In sharp contrast to what you suggest, logic generation is not the main hardware design problem. And the fact that you think you can beat RTL synthesis by "generating" or "constructing" the logic itself proves one thing: you don't have the slightest idea of the real power of RTL synthesis.

The main problem with hardware design is verification. VERIFICATION. And for that reason, HDLs should not be limited a "fully synthesizable" subuset, but support powerful modeling concepts in the first place. And so far, nothing beats the event-driven paradigm for that purpopse.
The terrible idea is using the root of your source as the root of your published application, which has been considered bad practise as long as I can remember (and that is long before the existence of git).

The root of your project should contain nothing more than build documentation/scripts and other developer/user notes & scripts (which for a web application could be as simple as "expose the subdirectory call "public" via your web server" but could be much more for more complex applications that have larger build requirements).

Ignoring this long held recommended practise (which less experienced developers might not be aware of): git originally came from an environment where you couldn't simple expose your repository as your application. The Linux kernel and other projects needed building from source before they could be put into production. So this is in part due to people using a tool in a new context without sufficiently thinking about the possible implications (that the tool designer, thinking about other environments, might not have considered). Security requires a lot of "due diligence" like this unfortunately: you can't expect the tool designer to be aware of all the potential security considerations in your environment, you have to deduce and mitigate them yourself.
Excluding anything that starts with a period also doesn't work - RFC 5785 specs the folder .well-known with special meaning.
SBT uses incremental compilation. That might account for the difference observed by parent (on incremental builds only)?
Ask HN: Should we apply for YC Fellowship if YC has funded similar company?
We have launched a company but it has not been going as expected and have a few problems with the model.

See online Office hours that was held a while back. Since then we have been doing customer research and have been testing a few ideas. We have hit upon something that we believe has massive potential with a great initial market.

In doing research on the idea i found that YC has already invested in a similar idea. We are not exactly the same, but very similar and could be considered a competitor.

Should we apply to YCF? What is YC policy on this?

Also note we are also geographically located else where so not playing in the same location.
I seem to recall that they could not find any variance in the force by orienting the apparatus in different directions. Some good work has been put into finding the cause of this, and most of the easy and obvious errors have been tested and found to be unrelated to the effect.
> One of the most well known examples was when the FBI used a FireFox 0-day to target and eventually dismantle a child pornography ring.

Funny... that's when they took down Freedom Hosting right? If I recall correctly, they didn't use a 0-day, they targeted a vulnerability that had been patched in the regular tor browser so only people using an outdated version of the browser were hit by it.

Plus, calling Freedom Hosting a "child pornography ring" isn't representing accurately what it was. Sure, their was child porn hosted there. Maybe even most of what was hosted there was child porn, I don't know... but that was a web host. There was no encouragements from Freedom Hosting to host cp there (apart from not doing anything to prevent it).

Plus, apart from busting the guy responsible for FH, I'm not sure they got anyone of interest with this operation... at least, I haven't heard of it and I'm sure they wouldn't have been too shy to brag about it if they had made any high-profile cp bust from this.
I think this is a big problem in the Java world, possibly more so than many other languages/communities.
Actually, there is still the possibility that conservation/symmetry is also just an approximation of the actual fundamental laws. Lee Smolin argues that way in his book Time Reborn: https://santitafarella.wordpress.com/2013/06/04/lee-smolins-...
Not sure how you're defining "modern", but it did happen with Ruby on Rails 2.x. I bet I could recreate it in a Rails 4 app.

Yes, there are things that could've been done to prevent this bug from happening, like using Rails's validation mechanisms to reject any POST that didn't contain the field, but that's not really the point. The point is that simple, subtle bugs can and do sneak into production codebases, and more-exhaustive-than-usual testing is needed for anything used to control account access like password resets.
Yeah, i keep my whole home-folder in sync with syncthing over 3 devices. Even if i am out of my office i stay connected through openvpn, so sync goes on...
I think I would prefer to base on proven libraries with stable interfaces. Do you have any examples of these breakages?
Sounds great! I'll do my best to answer all questions :-) My email is matthieu.wipliez@synflow.com
Online office hours:

https://news.ycombinator.com/item?id=9785941
And how would you expect it to work? Keep the repo in ~/.local/ or something like AppData? What happens then if you want to have two clones of the same repo? What if you want to move a clone around (e.g. to a different machine)? Of course it's possible to find solutions to these issues, but they will never be as simple and easy to use as the current model (btw: git supports having the magic directory external to the working tree).

It's non-obvious and unexpected if you have never used a VCS and didn't read a single page describing git. In which case almost everything in git will be unexpected and non-obvious (so will be any programming language or technology).

But I agree that the problem shouldn't be trying to avoid handling out the .git dir to everybody. The problem is - git clone in document root of the webserver for website deployment is a terrible idea and was never a supported usecase.

edit: so I came the third! Should try typing quicker.
I understand jQuery exists in part to work around javascript flaws in older browsers.

My first piece of advice is to not download jQuery to those browsers that do not have javascript flaws.
Neither would you do it in C.
Turd Cookies