int number = Integer.parseInt(System.in.readLine());
So, what you want is a horribly type-unsafe mess which presupposes a specific type of encoding of the string (Yay ASCII or die!). Instead what you have is a robust type-safe mechanism where you can make it clear in code that you are decoding a string, or accepting a serialized Java object over HTTP if that was what you wanted to do. What you call 'excessive verbosity' I call "Computers are stupid, always tell them explicitly exactly what to do because if you leave it up to them, they'll fuck it up." and that philosophy means the line-of-business code I write is phenomenally reliable and often sails right through major changes in external factors without any problem because it was correctly written on day one. YOUR code OTOH blindly jammed binary data through some unknown default binary-to-text conversion, and when you want to make it work correctly? Now you have to write some hokey nonsense to defeat default incorrectness. That's all fine for the time when you want to write a one-off screen scraper to grab some data and you have one hour to do it. I've written a LOT of perl, but don't mistake Java's strengths for weakness.
Yeah, but they are a class of leaks which are generally not that hard to sort out. Now, I've seen a few ugly leaks in my time that had no really obvious source, but even then it was very easy to determine WHAT was leaking and HOW, even if the exact explanation of WHY was rather obtuse. Your average programmer can understand most of the common cases though, like "gosh I created a static list of unbounded size and put 9 billion object references in it, that won't work!"
Right, but I would argue it extends far past easy to read. Java is easy to grasp. It is very clear which method will be invoked when you make a method call. It is very clear what the lifecycle of a memory allocation is and there's no question about who is responsible for managing that chunk of memory, etc. Its just VASTLY easy to code in Java. Now, the development tools/environment may not be as simple as scripting languages, which tends to push untrained 'do-it-yourselfers' into things like PHP where they can see some results on day one, but for the organization which has real business needs and develops code to meet them, Java is an excellent choice because in all respects its clear what things do and how they work. I can look at virtually any piece of decently-written Java code and understand it. At the very least I won't find out that it does something totally different than it appears, which is COMMON in C++.
You really cannot refactor something like this with a modern IDE and change the class names to something sensible? Ugh.
I totally agree with you about Java though, its quite readable. I have a LARGE code base and I can hand pieces of it to people and they can grasp what it does. I won't pretend its a model of perfect design, like any large old code base it has plenty of stupid in it, but the classes make sense, the overall organization and design is pretty good, and even if some of the APIs and such aren't exactly what I would do today and certain practices are sub-standard on the whole it works well, survives refactoring without too much pain, and does what it is supposed to do. It will almost surely be in production for decades hence.
I have a Prius 'key', an alarm system keyfob, and a door key, that's it. Oh, and some weird bit of wood that looks vaguely like New Hampshire and has "NH" stamped in it (upside down no less). New Hampshire always was bass-ackwards....
Other than that I wear a watch (yup, a real watch, not that Apple silliness), and a Nexus 4 is in my pocket. Yup, got a billfold, nothing exciting about that either!
Oh, I'm sure Sarao is fucked, don't get me wrong.... You cannot steal from the Kings of Crime and not end up ganked.
Eh, a lot of people have 'custom trading software'. Its a question of what you call an 'algorithm', a real algorithmic trading system is something that runs pretty much autonomously, there's no person in the loop. That's what the HFT guys have. At best someone watches a screen and monitors 'risk' or whatever. What Sarao was doing (as far as I can tell) is different. He had TT and some custom code such that he could place orders of certain specialized types. That means that his order management system would manage that order, placing or removing liquidity from the market according to whatever the algorithm and parameters were that governed that order. This is a lot different from HFT, in effect he's manually trading, its just that the 'order' he places can include stop loss mechanisms, take profit mechanisms, varying price levels, 'pegging', whatever. These kinds of things are fairly common, I've developed this type of system for many people and they're not generally considered 'automated trading systems', though they might meet the strict definition of containing/being algorithms in a formal sense.
In any case a lot of what Sarao did was clearly just eyeballing things. He traded on gut instinct, long experience, etc. He was perhaps 'baiting' these HFT algorithms into giving up money to him, but I'm sorry if I cannot see that as a crime. These algos add nothing to the markets, they're parasites, and the people running them don't need protection, they need to be booted out, as Sarao himself repeatedly petitioned the SEC to do!
Well, again, if you look at the reporting at Zerohedge on this topic you'll find it interesting and very informative.
for instance. It paints a quite different picture from what people here are guessing. It may be that Sarao committed some sort of crime, but the fact is the market is drastically corrupt and its laughable to call what he did a crime and let 1,000x bigger institutional 'criminals' simply do it with impunity.
The guy doesn't use an algo, he's a manual trader. http://www.zerohedge.com/news/...
but my point was there's no 'algo' that the MARKET uses to price things. Prices are set by traders, there's no such thing as a price that is 'right' or 'wrong', just what you do or don't want to pay.
Yeah, there's no such algo. I don't even know what you are talking about. Market prices are the Best Bid and the Best Offer, the difference between them is the spread, and then you have the Last Trade Price, which just shows you what someone last paid. In the stock markets the last trade price is what you see on the news, but in most other markets that isn't even noted. In F/X or on the CME they just quote the BBO (best bid and offer). These are literally just whatever traders have entered into the market at that time. They look at the numbers and either bid/offer or cancel bids/offers. There is no single algo, the prices are the net result of the behavior of all the market participants at all times.
Ummmmmm.... Yeah, that's not really what happened. Its true, if an investment fund was invested in AIG then to some degree it was 'bailed out', but there was a SEVERE haircut, and many funds simply lost billions upon billions of $. Also the major losses for funds weren't from being invested IN something like AIG, they were from buying investments FROM something like AIG, investments that were worth SHIT, and they ate every single bloody penny of that, nobody got bailed for owning a subprime loan portfolio, except the banks themselves and THEIR shareholders.
That also is NOT why there was intervention. It was most decidedly not to save people (who sadly ARE mostly the top 2%) from their bad investments, though it sometimes had that effect. It was to stop the total disappearance of the credit sector of the economy, which would inevitably lead to total economic collapse.
And again, you seem to think I'm some sort of Libertarian, which is utterly not the case. We have a perfect right to do any god damned thing that allows society to function in a reasonable fashion, but that doesn't change what does or doesn't work. I am only postulating that market forces applied to markets themselves can be a better solution than regulations which never in the history of mankind have had that effect.
Of course ANY arbitrary market move cannot be covered. Hell the recent craziness with the CHF blew at least 10 major F/X prime brokers clean out of the water in the space of a few hours. That doesn't mean that any one individual retail client was able to put arbitrarily large liquidity out there, that's a whole different thing.
My point is just that kiting checks involves funds you don't possess, nobody putting a bid on a market like CME lacks the funds to execute the trade if the bid is hit, and MOST bids are not placed with the anticipation that they will execute, 90% or more of them don't. So its hard to demonstrate that one specific trader is manipulating the market. This is especially true of a HUGE market like the E-mini, which has a gargantuan amount of capital in it.
Oh, I'm not in favor of total market deregulation, far from it! However, I think its possible that not every problem is solved by another regulation either. I'm FAR from being a Libertarian or anything like that, government is a tool, use the best tool for the job.
As far as #1 is concerned... There are 2 answers to that. First of all if you're going to let other people do your investing, then indeed you will give up some control. Secondly though the people DOING the investing have a fiduciary responsibility to you, so they should be picking the best markets. If they aren't then your later comments about going after scumbags apply.
As for #2, it doesn't really work that way. The govt didn't bail out ANY retirement funds (at least not private sector ones, nor any mutual funds and similar, money markets, etc). There were some people made whole for certain things out of FDIC or other insurance, but presumably they were paying for that via the premiums coming out of their returns, so its not QUITE a bailout, though perhaps the premiums are subsidized. So in the final analysis the problem isn't that the investors are too big to fail, its the firms themselves that get the bailouts.
I don't think any of that should happen, so I agree with you entirely, if one of these firms goes bust then the feds should come in, take 100% control and deal with it in whatever manner is required. The stock holders can simply deal, they invested, they selected the management that created the problem, they took the profits, they get the risks and consequent losses. If it was done right, the investors would certainly lead the charge to hold people accountable, they don't have the motivation if they're bailed out though.