Hacker Newsnew | past | comments | ask | show | jobs | submit | DANK_YACHT's commentslogin

The original commenter also made a random assertion: "doing math is not thinking." The person you're responding to attempted to provide a definition of "thinking."


The original commenter's comment does not contain this claim. I suppose it could have been edited, though by the time I saw it, I believe the window for editing had closed.

Neither what lisper actually says nor what hans1729 replied with are random assertions, and, furthermore, they are each entitled to assert whatever axioms they like - but anyone wanting others to accept their axioms should be prepared to assume the burden of presenting reasons for others to do so.


Financial instruments are incredibly complex. It's very dangerous to engage with them unless you fully understand what you're getting yourself into. Other people have a huge incentive to exploit any weakness in the financial asset, even in regulated industries. For instance, BlackRock bought credit default swaps in a Spanish company, and then paid that company to default on its debt, thus making a profit at the expense of the counter party. Regulation isn't going to magically make complicated financial instruments safe. People should be aware that they're dangerous and to stay away.


In reality most people aren't very savvy though. Are you advocating they shouldn't invest in basic things like an S&P 500 fund or a "target date" fund or whatever? That kind of investment is almost a necessity in the US.

I'd agree they shouldn't get into CDS and other esoteric instruments, and I also would put crypto investments in the 'esoteric' bucket.


>For instance, BlackRock bought credit default swaps in a Spanish company, and then paid that company to default on its debt, thus making a profit at the expense of the counter party.

Do you have a source for this? I feel like some details are lacking.


https://www.bloomberg.com/opinion/articles/2017-11-17/blacks...

The tldr is that they bought credit default swaps for debt owed by Codere SA, and then offered the company financial assistance to restructure with the requirement that they pay their existing debt late to trigger a default.


That's BlackStone, not BlackRock. They are totally different entities.


Not to be confused with BlackBoulder...


Not sure about the specific instance, but Matt Levine's invaluable Money Stuff spent a lot of time discussing so-called "Manufactured Default": https://www.bloomberg.com/opinion/articles/2018-04-10/hovnan... is an instance of how complicated these can get.

He discusses the morality of this particular issue, as part of a discussion on a proposal for the SEC to regulate it, here: https://www.bloomberg.com/opinion/articles/2021-12-16/the-se...

Basically, Levine's argument is that as a result of these sorts of shenanigans, one giant investment fund (in this case, I guess, Black Rock, though again I don't know about this specific instance) gave money to an actual company that was employing people and doing something in the real world and that was in some kind of financial trouble. And it did that because it wanted to make even more money from some hedge fund somewhere, sure, but look at who was harmed (a hedge fund that was in the business of buying and selling Credit Default Swaps) and who benefited (a real company with a whole bunch of employees who would otherwise be laid off, and another hedge fund that was in the business of buying and selling Credit Default Swaps) and I'm not sure that the whole thing is that bad?


You’re explaining how regulations come to be.

Something happens that harms some party, the event is studied and regulations are sometimes updated.


For options trading, there is always a winning and losing side. Someone is always harmed.


Ex options trader here. You can sell me an option and we both make money:

Let's say the option expires worthless. You make money having done nothing but collect my premium.

I take the option, and because it's positive gamma, when it goes up I make money, and I flatten. When it goes down, I'm short, and I make money and buy. I keep doing this buying low and selling high until I've made more than the premium.

---EDIT

My point is there can be reasons for both sides to do the trade. Nobody needs to be "harmed". The line of reasoning that says one of you must lose misses the point. If you buy insurance, either your house burns down or it doesn't. That doesn't mean either you or the insurance company was harmed.


I'm not saying that if you buy an option that ends up OTM that you'll globally lose money, but in the context of that one specific trade you lost. Perhaps you're willing to take that loss in order to achieve some other goal, but my statement was about a single contract, not a general collection of trades.


You are comparing one side of one trade to the other side of many trades.

Each individual options trade is zero-sum (one side wins exactly as much as the other side loses, barring transaction fees), as is the total of all options trades.


> You are comparing one side of one trade to the other side of many trades.

The whole point of having financial instruments is that you can mix risks. Whether each individual one results in heads or tails is not actually the point, the point is entities can shape the risks they want to be exposed to.


No. Options also provide a fundamental service - insurance. So, in the case where the option buyer is paying for insurance, sellers add value by underwriting the risk that is being insured. Hence, both the buyer and the seller win - the buyer gets insurance, the seller gets cash.


... and the insurance underwriters lose, upping their fees the next time around, so future insurance customers lose out, too.


That is incredibly shady.


The issue with FFmpeg is that it's complex, so you need to understand what all the options do, but the interface is also complex, so you need to understand how to format what you want to do, even if you already have a good understanding of what you want from FFmpeg. E.g. the order of different options matter, applying some options to one stream vs. another, chaining filters together, formatting the filters, specifying the output options, etc.


^An issue with FFMPEG

This isn't THE only issue with FFMPEG. There are many many problems with FFMPEG, but it's the best thing we have in this area. Warts and all, I would probably, no, definitely would not have been able to achieve many of the career accomplishments I have without it.

As you start to reveal the multitude of switches/options/etc available to FFMPEG via GUI, the GUI becomes gnarly and complicated very quickly. This then becomes just as daunting to the avg user as trying to build the command itself. There are many practical uses for a very simplified GUI to achieve a limited set of functionality. There's nothing wrong with it. In fact, I'd be willing to guess that if a UI came along that exposed every single thing that FFMPEG could do, fewer people would use it than a much more simplified version.


Yeah "modules that mostly work, usually, mostly" is no joke. And it's not that anyone really could do anything significantly better than ffmpeg, it is probably one of the best examples besides the kernel of an astonishingly complex library that is run extremely competently but the task space is just maddeningly complex and full of wild edge-cases. Especially when dealing with "legacy" formats and codecs from the 90s and early 00s - even today, have fun transcoding RealVideo or ASF files with some weird color space that nobody has used in 20 years.

There are infamously a lot of tasks that "look easy upfront but have a lot of underlying complexity" and ffmpeg is not one of them. It's a task that looks hard upfront and then when you get down into the weeds it's an eye-bleeding eldritch monstrosity.

The consensus around MP4 and MKV containers and some relatively small number of codecs (H264, H265, VP1, AV1, etc) has substantially eased things but video codecs, audio codecs, and container files are just complicated af.

And believe it or not - this is still way, way better than it used to be! Flaskmpeg was never stable, Virtualdub was nice but development ended with avi container files, there were some forks that added various features, etc, but ffmpeg and OBS Studio both actually just work incredibly well compared to what came before.


>has substantially eased things

except not everyone has decided to use that easing of the things. it seems like they go out of their way to make things difficult

My favorite is in how MP4s are not all the same. A video captured on a DSLR or other acquisition camera source might have +/- in the video/audio sync when imported into an NLE. Yes, the container utilizes PTS syncing to playback the video/audio streams in sync, but this +/- slop in sync is annoying AF to professionals capable of seeing the sync slop. Average consumers probably never notice. I thank all the gawds in all the heavens that I no longer have to edit MP4 source captured content and all of the manual slipping in the NLE.


If you want a single tool/library that does all the things ffmpeg does, I agree. ffmpeg does lots of things, some of them are inherently extremely complex, and it puts them together cohesively. That's impressive! I think the closest competition is gstreamer, and gstreamer ends up calling into ffmpeg for software H.264 decoding...

But...sometimes you want one particular thing, that thing is relatively simple (compared to e.g. H.264 decoding), and you have needs ffmpeg doesn't meet. Then you probably can do better. A couple examples that have come up for me:

* specialized .mp4 muxing. My NVR project does this in a way where it can do HTTP range serving, so put the moov up front, produce the length quickly, and produce a given byte range without iterating through all the bytes before. ffmpeg can't do that, understandably. Hard to do in a general-purpose library; the container muxing input interface doesn't expect all the necessary information is available up front. But it's not that bad as a one-off. As you say, the consensus around a small number of containers really helps.

* RTSP. Consistent with your "modules that mostly work, usually, mostly", ffmpeg has various long-standing bugs in its RTSP handling (e.g. https://trac.ffmpeg.org/ticket/5018), has the risk associated with protocol handling in a non-memory-safe language, doesn't have much of a test framework for this, etc. This problem is relatively approachable (though hardly trivial), so I had success making my own library.


GStreamer has a much more sane CLI interface. FFmpeg generally works better than GStreamer, but it's definitely possible to make a better command line interface.


This is, btw, a great time to plug "bropages". Manpages give you in-depth documentation on what each option does, bropages the idea is to give you a synthesis of an actual task being done with those command options, then you can mix-n-match to fit your use-case (if necessary).

http://bropages.org/ffmpeg

The antidote to ffmpeg's arcane command-line has always been finding someone else who already did it and seeing what they did differently. There are, of course, many ways to skin the cat in ffmpeg, but you often just need to see some finished, working commands and start from there.

You could of course build that on a wiki somewhere, ffmpeg does have various examples in their docs, but bropages is a place to curate that sort of stuff.


For even more brevity, there's tldr [1], which is short-n-sweet "how do I do the most common things with this tool."

You'll need a client for it (tldr itself is just the database). I recommend tealdeer [2].

Example:

    $ tldr tar

      Archiving utility.
      Often combined with a compression method, such as gzip or bzip2.
      More information: <https://www.gnu.org/software/tar>.

      [c]reate an archive and write it to a [f]ile:

          tar cf target.tar file1 file2 file3

      [c]reate a g[z]ipped archive and write it to a [f]ile:

          tar czf target.tar.gz file1 file2 file3
[1]: https://tldr.sh/

[2]: https://github.com/dbrgn/tealdeer


    Often combined with a compression method, such as gzip or bzip2.

    [...]

    [c]reate a g[z]ipped archive and write it to a [f]ile:

       tar czf target.tar.gz file1 file2 file3
That helpful bracketing notation is going to break down as soon as you actually want to deal with bzip2.

There's no real problem, but I never like it when I'm given an example that seems to be going out of its way to suggest something untrue.


Agreed. At this point probably just use CLI.

One thing I hate about CLI tool though, is that it's very hard to edit long commands in terminal.

For example, to replace the input filename from the previous command. I can do it in one second with my keyboard + mouse (use the mouse to select the old one, and type in the new one which would replace) in editor but you can't do so in terminal.

Another example is to change the order of some switches. Again very easy in text editor, not so much in terminal.

So, everytime I use FFMPEG for some complex one (especially when I need to go through trial and error, I have to write the thing in a text editor and them paste them into terminal.


ctrl-x e

> It's a small key sequence: ctrl-x e . What's this do? It takes the existing command that you currently have on your command line and opens it in your shell's editor


It's ctrl-x ctrl-e


> One thing I hate about CLI tool though, is that it's very hard to edit long commands in terminal.

Apart from the "wrap it in a shell script" advice, I would also note that in a bash-like terminal, home and end will jump to the start or the end of the current command buffer, and ctrl-del (or alt-del maybe?) or ctrl-arrow keys usually delete or move the cursor a whole word at a time, which makes it somewhat quicker to work rather than sitting there holding an arrow key or backspce.

Many here probably already know this, some may not!


Thanks, yeah I know these since I use them heavily in editor as well.

Now this got me thinking: the main problem with terminal is that it doesn't seem to support "cut" (and consequently, "paste to replace selection"). So re-arranging a command string is always gonna be a pain regardless the complexity.

I can see why it was this way historically, but not exactly sure why no modern terminal emulator gives this feature, even as optional.


one analogy might be the "cut and accumulate" feature in nano (and probably others) where a line is removed and appended to the clipboard, then you can paste and all those lines will be pasted off the clipboard at once. You could do that at a character level in the shell, if you wanted. No idea if any shells do though.


ctrl-a and ctrl-e to start/end of line


>One thing I hate about CLI tool though, is that it's very hard to edit long commands in terminal.

Only a madman would do this. I don't know anyone that's in the middle of R&D that builds directly in the CLI that's sane. Everyone tries it, and just at the point of losing sanity, does the rational thing of building the command in a text editor for a simple copy&paste into the CLI later.


Yep, or turn it into a script and use an IDE/Vim/etc and test in the terminal.


The patent approval process isn't perfect. Had you violated the patent, and had Google sued you, you could always argue prior art. What would your evidence be?


As I understand it it's much harder and more expensive to win a prior art claim after a patent has been granted.


They’re probably referring to the diameter of a circle. The way it’s written is unclear, but not necessarily an error per se.


I don't think so, as Washington DC is nowhere near 180km across. Or did you mean some other circle?


This seems like programmer error. Don't put restricted fields into types you're deserializing off the wire. It's like accepting user input and directly inserting it into a database without any validation.


A little known fact is that rental assets depreciate in the eyes of the government. This is why you can deduct depreciation from rental property on tax returns. The corollary to this is that damage to those assets happen against the depreciated value. For instance, if there is a bathtub in the unit and it hasn't been replaced in many years, then the effective value of that tub is 0. It doesn't matter if you actually damaged it or not, the landlord cannot come after you for the full cost of a new tub.


The entire point of electing someone to represent you is that they should take care of things for you without bothering you too much. Imaging you hire a lawyer to represent you in court and you constantly need to petition your lawyer for changes to your legal strategy, or you hire a doctor and you constantly need to correct their course of treatment. In such cases, would you say you've hired a good doctor or lawyer? Why is it the responsibility of the masses to petition their representatives? Why isn't it the responsibility of the representative to understand an issue and reach out to possibly effected constituents for a wholistic view of an issue?


The comparison to a lawyer or doctor doesn't work.

Your doctor may have many patients, but they are not making the same decision for all of them. Same with any lawyer you retain.

Your elected rep has to represent people with diametrically opposed desires. Also, you don't pay them directly and you have no principal-agent relationship.


The comparison does work.

In the analogy, the doctor's patient or the lawyer's client represents the electorate as a whole.


An elected official isn’t just your official. They represent everyone in your district. Even the people you disagree with on something. This is a big difference from your analogy.

They are going to listen to the squeaky wheel in their base.


On the other hand you should by no means let your doctor decide everything, you need to be your own advocate for your own health and weigh in on making decisions regarding risk and benefits of treatments.


Yes definitely. No analogy is perfect.


This one is still pretty close though.

You need to be able to trust that your doctors guidance is genuinely what they feel is best based on their training and experience rather than a sponsored treatment they have been paid to prescribe.


I'm colored by just having heard https://www.numberphile.com/podcast/hannah-fry-orchid-cancer which was a podcast episode about cancer treatment and choices - and it says, there's more to it than this. Doctors may not value your life quality as high as you do etc.


> and the biggest one imo is dietary choices.

Yes, let's blame the consumer. First of all, the consumer has no idea how their specific spending habits contribute to an issue. For instance, an educated consumer (many consumers are not educated btw) might understand that eating meat causes deforestation, but they have no way of knowing if their specific purchase is contributing to that. Second, blaming the consumer makes any solution almost impossible because organizing a very large group of disinterested people is very hard. It would be much more effective to regulate the relatively small number of meat producers that are perpetuating deforestation and let the market work out decreasing consumption through increased costs.


> Yes, let's blame the consumer.

Yes, let's. I don't think an argument can be held against this. As a meat eater, I understand I'm the driving force of this issue. It's an inconvenient truth, but it is the truth nonetheless. I'm rooting for alternatives like lab-grown meat to thrive, but no amount of wishful thinking allows me to skirt the fact that eating less meat would probably be not only good for the planet, but specifically for my own health.

> the consumer has no idea how their specific spending habits contribute to an issue

Let me point it out: in the developed world it's almost 100% guaranteed that it contributes significantly. You have to go to pretty far edge cases to find really sustainably produced meat. A case can be made that not all industrial farms contribute to deforestation per se, but they are all part of a system that has a high cost for our environment. Deforestation is bad, but it's not –and should not be– the only issue.


> As a meat eater, I understand I'm the driving force of this issue.

How did you come to that understanding? Did you dedicate your free time to studying the impact of meat eating, or was it part of your legally mandated education? A lot of people scrape by, barely able to make ends meet. They have children that require attention, or problems that require immediate action. They may have debts to pay, and no social safety net to help. At a fundamental level, they may have poor critical thinking skills. It's not realistic to expect every consumer to take the time to understand the consequences of every purchasing decision.

> A case can be made that not all industrial farms contribute to deforestation per se, but they are all part of a system that has a high cost for our environment.

But the package says it was humanely raised by family farms? Your trips to the grocery store are going to take a very long time if you need to do a supply chain analysis of every purchase.

If a person cuts down a tree for profit, and the removal of that tree is problematic, then that person is to blame. It doesn't make sense to blame someone many steps removed from the crime just because they, in a very indirect way, provided a very small incentive to commit the crime. The impact of the individual's consumption on the entirety of the industrial farming system is so small that, even if the individual consumer were to blame, they would be guilty of nothing more than the tiniest infraction. The issue with industrial farming arrises from the collective sum of demand, and thus requires a collective solution, i.e. centralized regulation.


You're right, technically and morally.

But the parent commenter has an important point that should not be dismissed. It is far more effective to regulate/improve centrally at the producer side rather than "wait" for the goodwill of consumers.

You can't flood the world with cheap unsustainable meat (or other products), next put a far more expensive sustainable option next to it and think all of this will just magically play out.

Ideally, there should be no unsustainable goods being offered at all. The very word unsustainable pretty strongly suggests that ending the practice is a must.


Ah yes, I forgot that two wrongs make a right /s.


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

Search: