Hacker News new | past | comments | ask | show | jobs | submit | CityWanderer's comments login

Super excited by a three-way merge tool, it's the thing I find most lacking in Atom and one of the great things about IntelliJ.


My favorite for clarity was always Meld: http://meldmerge.org/


Exactly, this particular sentence seems to overly dramatise the situation.

Is this issue any different to using open wifi at a cafe, which many many people do, relying on HTTPS for their security? (This is an honest question)


At its worst, this attack reduces a protected network to an open wifi, yes.

The risk is that you may do things on a protected network assuming it really is protected - this is more of a thing for organisations rather than consumers, for example organisations might have unprotected services accessible over their office wifi.


Yes, I think they are very reliable. I worked for a London Startup that currently has 100% negative reviews and I regret not looking at them before I joined.

From what I've seen, a lot of good or decent places tend to have a general positive rating, and the really bad ones are going to have multiple negative reviews.

Take individual reviews with a grain of salt, but as a group I think it's fairly accurate.


fieldmargin | Web / full-stack developer | Clerkenwell, London, UK | Onsite | Full time | Competitive salary + equity + private healthcare + pension

fieldmargin are building a hub for farmers to access all of the technology they use across their farm. We allow them to integrate their drone photography, satellite imagery, historical paper maps, IoT sensors and machinery, with our easy-to-use note taking and collaboration apps. We're a small team of 10 working in Clerkenwell.

We have a React powered web application, native iOS and Android applications and a Java/Spring backend. We use Python for small services and for prototyping. Everything is hosted in AWS.

We're looking for a mid-senior developer to join our Web & APIs team, you'll be tasked with:

  - building our main React web application that forms the core of our product
  - creating integrations to pull data in from our partners
  - designing and building the public APIs that allow everyone to connect to our systems
  - working full stack with the most appropriate tools for the job
We expect you to have existing experience building React applications and knowledge across the stack, but Python, Java and AWS can be learnt on the job. If you're interested or have further questions, please email colin@fieldmargin.com.


fieldmargin | Web / full-stack developer | Clerkenwell, London, UK | Onsite | Full time | Competitive salary + equity + private healthcare + pension

fieldmargin are building a hub for farmers to access all of the technology they use across their farm. We allow them to integrate their drone photography, satellite imagery, historical paper maps, IoT sensors and machinery, with our easy-to-use note taking and collaboration apps. We're a small team of 10 working in Clerkenwell.

We have a React powered web application, native iOS and Android applications and a Java/Spring backend. We use Python for small services and for prototyping. Everything is hosted in AWS.

We're looking for a mid-senior developer to join our Web & APIs team, you'll be tasked with:

  - building our main React web application that forms the core of our product
  - creating integrations to pull data in from our partners
  - designing and building the public APIs that allow everyone to connect to our systems
  - working full stack with the most appropriate tools for the job
We expect you to have existing experience building React applications and knowledge across the stack, but Python, Java and AWS can be learnt on the job.

If you're interested or have further questions, please email colin@fieldmargin.com.


This is true, all of Facebook's projects have the same PATENTS file. The title is the most clickbaity though, which is the intention of the piece.


Yarn, RocksDB and ZStandard does not.


What makes the PATENTS file legally binding? If I install React via NPM/Yarn, or even as a dependency of another project, I will not see this file.

LICENSE is a pretty common convention and you could argue I should seek out this file in every one of my dependencies' dependencies - but how would I know to look for PATENTS?

Are all statements in the code base legally binding? Could they be hidden in a source file somewhere?


Let's phrase it this way: what do you gain from pretending the PATENTS file isn't legally binding?

The BSD license contains no patent grant. You'd be on very thin ice expecting a court to rule that the BSD copyright license also implies a patent grant. And in this specific case that defense would likely never hold because the PATENTS file even if it weren't binding would signal the intent.


If you didn't have the patent grant, then the default position would be that Facebook could take legal action against you if your use of React infringed any relevant patent they hold, whether you had sued them first or not.

Ignoring (wilfully or otherwise) the PATENTS file doesn't make you any better off.


And it's existence doesn't make me any worse off? It only grants patents that I wouldn't by default have?


IANAL, but yes, that is my understanding.


Not a lawyer, but I can imagine it can be expected that you do some due diligence before installing it through npm - like checking the website whether their license allows you to use it, and on what terms.


Exactly. The "they didn't force me to comply" defence hardly ever holds.

In the Netherlands, somebody was recently fined for using an image she got from a "free photo's" website. It was a picture that was illegally published on that website, and the judge said she should've checked whether it was actually royalty free. The fine was even higher than expected because she also cropped the picture, which was another breach of copyright, apparently.


If you refer to the case in De rijdende rechter ("The traveling judge"): she didn't have to pay a fine, but pay damages to the opposing party (which applies to civil rather than criminal law). In addition to that, both parties have agreed to submit to a binding arbitration decision, with the 'judge' actually being the arbitrator, despite what the program's name would suggest. That means that the decision doesn't actually have to follow the law.

I personally find it unhelpful that the program never clarifies that it is a display of binding arbitration instead of a decision by a judge. I've seen the layman confuse the two quite a few times.


You are correct, damages, not a fine, I used the wrong word.

Also, while I agree that they don't have to follow the law, they usually do. In the end, the 'judgement' is still based on the law and legal precedent, like in an actual court case.


If what you say is true then I think our tool chains are failing us.

My React project has 1,015 dependencies (directories in node_modules). If I didn't have locked versions then every minor automatic update could bring in more dependencies without me knowing.

Can anyone honestly say they've done such due diligence?


Can anyone honestly say they've done such due diligence?

That seems doubtful.

And that's a real and potentially serious problem, because IP laws typically don't contain any exemptions for code you're using that infringes someone's IP rights just because it was contributed by a third party.


I agree that that would probably fall into the same category as saying that you've read the terms and conditions.

That said, the amount of dependencies you have locally installed is likely to be a multitude of the number you'd get if you'd exclude devDependencies, which I'm guessing don't count.


Stability is a concern but it's notable that this machine is running a recent long-term support version of Ubuntu so shouldn't need any TLC in the short term.

Ease of use is very subjective and can't really argue with what people are used to. I do know that from a physical point of view that Linux lets me configure a mouse to not give me RSI.


I've run it with one monitor, two would be hard since it only has a single USB C and I don't have any monitors that can daisy chain.. if that's even a thing. The issue is that Linux doesn't play nicely with having different pixel densities on each monitor. You can try to make it scale, but then apps appear in different sizes depending on which screen you open them on. It's pretty horrible, so I run the laptop at half-res (1600x900) so that it matches the monitor and everything is the same size.

Suspend/resume works fine.

I've had to restart the network-manager service just once to get WiFi to refresh. Otherwise it's fine reconnecting when you come in/out of suspend.

Other things: battery isn't great but I don't use it away from a desk. On the first couple of days the Ubuntu Software Centre kept crashing; I think it's fine now but I don't tend to use it anyway. I disabled the Dell apt source because it was failing - I don't know if that was a one-off problem or it's just broken.

But, I'm running Linux as my primary development environment again and it just feels _so good_ after a few painful months on OS X.


> I've run it with one monitor, two would be hard since it only has a single USB C and I don't have any monitors that can daisy chain.. if that's even a thing.

Most of Dells Ultrasharp monitors from the past couple of years have supported Daisychaining through Displayport. I have an older XPS 9333 DE from 2014 and use it with Dell's U2715H and U2415H monitors through a single displayport connection.


> But, I'm running Linux as my primary development environment again and it just feels _so good_ after a few painful months on OS X.

Can you expand on that, please. Why were you months on OS X painful? Just curious to hear the use case that caused this.


I've been using Linux of some flavour at home for the last 15 years, only straying onto Windows for gaming. I've been lucky to use Ubuntu at work for most of my professional career too (6-7 years?) - so it's what I know and what I'm used to.

I started a new role a few months ago that forced me onto OS X and found physical and software issues. Physically OS X does not let you configure mice properly without installing third party drivers. Of course I ditched the "magic" mouse pretty quickly after my hand started hurting after a couple of days, but even with a normal mouse you simply cannot configure mouse sensitivity and acceleration properly - it cannot treat a mouse on par with what Linux or Windows will. You need extra drivers to even enable mouse buttons 3,4 and 5.

The keyboard shortcuts hurt too, sometimes using Ctrl, sometimes using Cmd, but that could be just fighting 15 years of muscle memory - so take that with a grain of salt (but it indirectly caused more physical finger pain).

Software-wise I don't know how objective I can be, but it feels faster/simpler to install software and things like the terminal are much better integrated - I can auto-complete git branch names on the command line for instance. Maybe OS X can do that kind of thing, but certainly not out of the box. To me, OS X feels like a 95% emulation of Linux, just that slightly bit lacking.

Then there are the embarrassing things like I couldn't find the shortcut to go to the end of the current line. On Linux it's the End key - on Mac I assume it's some combination somewhere.


> Of course I ditched the "magic" mouse pretty quickly

I'm now questioning myself on this comment. I have med-large hands and the magic mouse, even though not intuitive at first, became my favorite mouse. I've tried many difference mouses (I believe that's the plural of the computer kind) since swiping to go back/forth on web pages is so much easier.

I guess its dogmatic; I freely use shortcuts on web browsers to switch to specific tabs or going back/forth when doing research/googling/SO but when I'm browsing/reading/wasting time, and only using the mouse, the swipe is quite intuitive.

Now I have to see if: it's easier to swipe between pages or use a 3rd/4th button to perform similar tasks...i'm sure it's nerdy/geeky but its an interesting question nonetheless, from the daily routine standpoint.


I find your problems are mostly fighting your own muscle memory. The Cmd key is much more consistent for the entire OS. You can do Cmd + C, Cmd + V, Cmd + R, Cmd + Q pretty much anywhere (including the terminal), whereas in Linux you have to use Ctrl + shift + c/v. And the ergonomics of the Cmd key is way better than ctrl key. For installing development software, there's `brew`, and the terminal is exactly same. I don't know any feature that is Linux-only to feel the `better integrated` To go to the end of line, just use Cmd + right/left.


> Then there are the embarrassing things like I couldn't find the shortcut to go to the end of the current line. On Linux it's the End key - on Mac I assume it's some combination somewhere.

Crt+a. Every emacs shortcuts work everywhere in MacOS.


The canonical way for the End key is fn + right arrow, fn + left arrow for Home, and fn + up/down arrow for Page Up/Down. And you can even use Del with fn + Backspace! But me too, I prefer the emacs shortcuts.


Either emacs shortcuts do not work in MacOS, or you mean Ctrl+e to go to the end of current line :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: