Yeah, this is pretty much it. The author complains about CSVs being "notoriously inconsistent" as though switching to some other format would magically change that. They're only inconsistent because sometimes lazy programmers do ",".join(mylist) instead of using an RFC4180 compliant CSV writer. Lazy programmers will just use non-compliant methods of creating whatever magic format OP is dreaming about. Case in point: trailing commas in JSON objects, and other ridiculous things that people have come up with such as encoding a date in JSON like this: "\/Date(628318530718)\/" https://docs.microsoft.com/en-us/previous-versions/dotnet/ar...
CSVs also are great because you can parse them one row at a time. This makes for a very scale-able and memory-efficient way of processing very large files containing millions of rows.
Let there be no mistake: Everyone reading this today will retire long before CSVs retire. And that's just fine by me.
Great practical note by Josh Berkus on why Uber left Posgresql. Basically: runaway table bloat because Uber had a usecase that postgres doesn't address as well as InnoDB.
> I think just a mere existence of flu or cold was a mistake. We should have eradicated those years ago.
It's not clear to me how eradicating these would have ever been possible in the past, or will be in the foreseeable future. The flu has (probably) been around since at least 6000 BC, and numerous strains can be spread by birds & many other species.
To be fair, python isn't the only language whose package management system is all but incoherent to folks who don't use python every day (and sometimes even to them!). npm is pretty rough to get setup too, and you run into a lot of issues similar to this.
> What are the tradeoffs vs using docker? Just curious.
Probably some combination of memory usage and complexity, depending on your application. If you're already familiar with using docker as a development environment, definitely go for it.
I don't use pipenv, I'm still using plain old virtualenv for development. Mostly it's just a matter of familiarity. If there's not an itch, why scratch?
Certainly not, but considering there should be 100M available by the end of the year, it seems like they are scaling up the production line considerably
Honestly I bet it's a learning algorithm that they used to identify bots, rather than something a human decided.
Spam detection algorithms usually have a training set. One of the features could have been "uses_feature_x", which, according to the training set, is known to have a high probability of being a spam bot (because humans rarely use those features)
I find that it doesn't get too frustrating if you don't let it get out of hand.
Routinely prioritize keeping dependencies up to date, clearly depreciate "old" / bad code, and focus on coming up with good product designs that have reasonable compromises between time-to-market and high quality engineering.
You just can't let stuff slip. Don't let 6 months go by without at least trying to upgrade to the new version of whatever or without making some some progress moving from the "old way" to the "new way" for some component.
Yes, my experience with SOAP is that even well written and maintained clients only work out-of-the-box with like half of the vendor-supplied services you come across.
In many cases, I'll simply formulate xml requests myself and use a generic http request client because the implementation ended up being simpler & easier to maintain than all the confusing hacks I had to do to make zeep or suds (the most popular SOAP clients implemented in python) function properly.
> If you screw up a rebase, the old commits are still there with the same hash they always had.
Disclaimer, if you're compelled for none other than neurotic reasons to run `git gc` periodically like me, these old commits will get thrown out. I found this out the hard way :(
> attributed to increased driving, encouraged by economic factors such as higher employment and lower gas prices
Interesting - I always assumed that the increase in road deaths was at least largely due to increased cellphone usage, resulting in distracted drivers.
Gene manipulation maybe? Won't work very well I suppose for existing humans, but i imagine we could eventually learn to modify genes in embryos to make them more adaptable to different environments
",".join(["a,b","c","d\ne","\"f\",g\""])
yields:
a,b,c,d
e,"f",g"
Try opening that in any csv reader.