354 karma · joined May 30, 2016
But if you occasionally use other editors, many of them have plugins or modes enabling Vim keybindings. In my daily work I switch between Emacs, IntelliJ, Vim and XCode, and all of them have varying degrees of Vim emulation, which makes switching a lot easier.
Kind of a stretch, but all of my hobby projects are like this. I have spent years on a TUI library for Swift, without any intention of releasing it. I do it to understand how terminals and layout systems work. In this case I am more motivated by the knowledge gain and experimentation than actually having others use the product.
I am in no way familiar with these kinds of reports, but does this not mean that (at least parts of) the source code was audited?
This is just plain wrong. When you’re on prem you have to worry about configuring all of you hardware and software correctly yourself. Your firewalls, your SSH server(s), off site backup systems, hardware failures, software patching, access points to your network – the list goes on. Some of these are true for cloud services as well.
They are just different trade offs. Sometimes on prem makes sense, and sometimes cloud services makes sense. You can’t say that security is less of a concern in one of them.
> Nevermind the fact that the next time a major world conflict occurs, the big 4 cloud providers will probably be destroyed, taking about 90% of the western economy with it.
And it somehow does _not_ take your on prem system with it? Even though cloud providers are spread across the whole world, and your on prem system is most likely in one, single location?
As a European, I welcome this wholeheartedly! It makes my daily job harder (as a programmer), but it’s needed to stop this insane industry of using private information as a currency. Most people seem to don’t care, but that is mostly because they don’t understand the consequences of this.
GDPR isn’t really that hard to understand. If you need to gather PII, you need the proper approval from the end user to do so. If you don’t have the proper approval, you can’t store it. Also, don’t gather information you don’t need. If you only need page views, don’t store IP, resolution, localisation and all these things in addition. This is common sense, not science. In fact, you should be happy to have these restrictions, because it lowers the risks in case of data breaches.
The real problem with GDPR is that we’re so used to violate peoples rights that we have completely forgotten how we should behave.
[0] - https://www.avira.com/en/blog/illicit-mining-software-beware... [1] - https://www.avira.com/en/blog/crypto-miners-coinhive-malware... [2] - https://www.avira.com/en/blog/yes-your-device-can-be-hit-wit...
We don’t know what Jony Ive intended with this website, but the fact that so many here are criticising it makes me quite certain that we are not the target audience.
This might be the case for you, but please don’t mistake it for an objective truth. I find the terminal far superior for file manipulation than any of the graphical file explorers I have used. I especially find copying quite clumsy, as I either have to open several windows and navigate to the correct locations, or leave the source folder behind as I navigate to the destination. In my terminal I can stay in the source folder if I want to, and even navigate directly to the destination with a short, generic command.
I am not saying that ORMs never work. They sure do in a lot of cases, and some ORMs more than others. But an ORM is not a silver bullet – far from it. There are gotchas, and you need to invest time in understanding how they work. Just as you need to understand how SQL works.
The hate for ORMs comes from more advanced applications, not simple CRUD apps. When you have 5 tables with no relations, or maybe a simple one-to-many relation at most, an ORM is the perfect solution.
The problem comes when you have 25 tables, complex relations, complex updates and need to optimize your queries for better performance. You now need to know the inner workings of you ORM, and pray that there are sane ways of configuring these things. Knowing the inner workings of these enormous beasts are not always easy – at least not easier than writing the SQL yourself.
Really good point. My approach to this was "if it’s not used in any mathematical algorithms, why do we need it in computers?". But in your example, you retain some information even though you can’t represent the whole truth. Thanks!
A better way to put it might be that a pure and total function will also be honest, but a function might be honest without being fully pure. E.g. if its name indicates that it performs IO, it’s still honest even though it’s not pure.
Thanks for the comment, I might end up clarifying this later tonight :)
Are you not aware of the discussion about HTML5 versus Flash, or do you just disagree with using HTML5 as an umbrella term here? Even the Wikipedia article [0] about HTML5 has a section on Flash, discussing features such as sound, video, graphics and interactive elements. With "HTML5 being ready" I believe OP is referring to it being a viable alternative to Flash. There is a famous quote where Steve Jobs said that Flash is no longer needed, because there are viable alternatives to the features it provided – HTML5 among others.
[0] - https://en.wikipedia.org/wiki/HTML5#"Thoughts_on_Flash"
That doesn’t really mean that it will affect the ones who made these decisions though. So in that manner, the current government is probably completely safe.
I am not even sure I can always agree with myself here. I tend to favor small PRs myself, but I also really dislike PRs that are only part of the solution. PRs should not only be about critiquing the actual code lines, it should also evaluate and discuss the overall architecture, security aspects, performance, readability, tests and probably other things as well. This is difficult to achieve with small PRs.
The solution is never to "just fix your process", in my opinion. The correct process depends on the people involved, the culture in the team and organization, the importance of the service in question, among other things. Finding the correct process is a never ending task :)
I agree that only replacing the first occurrence is the wrong solution. That would be surprising. The only correct solution to this is in my opinion auto-g-ing the regular expression, no matter how unusual that is. There is no way you would write replaceAll() as a mistake when you actually just meant replace().