3,272 karma · joined February 23, 2014
Add xmlstarlet for anything that has to do with xml.
Because if you are able to concentrate and find a solution for a problem, you also need other people to concentrate and understand your solution.
That is only because the vast majority of computer programming that is done is not very good.
And best of all it keeps a backup of your entire repository so you can undo whatever git command you just did.
Java has a supertype for unrecoverable problems like out-of-memory-errors. It's called "Error", a subtype from Throwable. Exceptions are also Throwables, but they are NOT errors.
Easy: Use Kotlin, which is extremely hip and compiles to the JVM. You can use the JVM then, and mix in java-support should you need it.
This is wrong, source distribution is a standard in maven.
> Gradle literally cannot be built from source[1] because it relies on a binary cache of dependencies held by Gradle to build Gradle.
This is wrong as well as pointed out in the thread.
> As a consequence, the Java ecosystem has become a security and maintenance nightmare that other ecosystems simply aren't. As bad as Nodejs is, it doesn't do this.
This is almost hilarious. I'm working at a company at the moment guiding security updates for java and node.js backends. The java backends are not an issue. The node.js backends are almost impossible to upgrade, the javascript-frontends are even closer to impossibility.
It's not Javas fault, it's Springs fault.
2. They believe Java is slow, but fail to realize that the JVM has actually one of the most optimized runtimes under the sun and can be fast than (unoptimized) C in many cases.
Long story short: Because they have no clue about Java and follow advice without researching it first.
Java has excellent package management and there is a giant ecosystem and excellent libraries for almost everything you can think of.
I had a few encounters with facebook's opensource code (mostly around react-native) and it is generally subpar in my opinion.
It is normal that kids take up all your time, but "just chaos" doesn't sound right.
Without knowing your situation, maybe this helps: As you probably know first there was authoritarian parenting (rule the kids), then permissive parenting (let them do whatever they want), both of which create problems for the children.
The parenting-style agreed upon today by psychologists is "authoritative parenting", which basically means telling the kids what you want them to do, but giving them a lenient timeframe and freedom to chose how and when they do it. It raises their self-esteem and encourages them to work together with you.
https://www.healthline.com/health/parenting/types-of-parenti...
They do a lot of smart engineering around the editor: https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...
I think it's much better placed since you can reach it with your thumb and don't have to rotate your wrist when using it as opposed to ctrl, so when typing macs you might have less strain on your hands.
The work here is not to let the child cry in it's early days, but to put it in it's bed, come when it cries, calm it down, go back to bed, come again when it cries etc. Repeat until child sleeps.
Children are smart enough to understand sentences like "This is really not something to get upset about", AFTER they have calmed down, and explained in a loving matter.
The authors thought it was important to actually do it twice [0]. Of course, nobody in the big corporate/government world wanted to pay a second time for work that has already be done, so most of the projects failed and continue to fail.
[0] https://en.wikipedia.org/wiki/Waterfall_model#Royce's_final_...
It absolutely pays to tell them how sorry you are that you have to leave and how you will miss them, but that you are going to earn some money and think of them.
It also really helps to accumulate tiny, but stimulating, presents (1-10$ value) and giving it to them from time to time for waiting for you. Toy cars, dice, soap bubbles, a piece of chocolate, etc.
When waking up, close your eyes and try out a couple of different sleeping positions. Apparently you recall a dream much faster, if you get in the same position you were in while you dreamed it.
* [feature] -> a new feature, can be incomplete, but should be a contained unit of work that's usable to the enduser in some way.
* [code] -> everything that improves the code, could be refactoring, library-updates or preparations for a feature
* [bugfix] -> minimal commit only for fixing a bug, should (almost) always include a test to reproduce the bug.
Sometimes I also use:
* [build] -> for build-improvements
* [performance] -> for performance-improvements
For almost every discipline you need years of practice and appliation to be able to understand it deeper than most.
Don't take this the wrong way, but here's an XKCD somewhat related to this topic: https://xkcd.com/863/
This is applies to programming as well as to writing, drawing, making music etc.
Applying this to writing emails can definitely improve your business communication 10-fold:
* write down the important parts you want to convey, even in incomplete sentences
* improve the ideas into sentences
* rearrange the paragraphs/parts/sentences into proper order (written language rarely comes out in the correct order).
* cut unnecessary talk
* iterate on the above 3-8 times, depending on the importance of the email.
Can you give an example for this?
Thinking about what to store (and what to log) is not trivial and takes careful consideration. Plus, there's always the argument: "But what if we need something that we forgot to store or log?".
Answering that takes time and risk-acceptance that most developers in most projects don't get.
"Datalake" was just a pseudo-solution to gain peace-of-mind: We throw everything into a big bucket and figure it out later.