I keep hearing that "anyone" can do this. Please point me to where I can sign up to collocate my server with the market computers - because that is actually necessary to set up an effective HFT system.
The ability of an elite few to buy access to information about the value of an item, when that information is unavailable to others with whom they will buy and sell that item, is a violation of free market premises.
Much of what the SEC regulations do is to produce a free market. This is what many political pundits fail to understand - the "free" in free market does not mean "unregulated". The best regulatory approach in the world would never create a 100% ideal free market - money will always be able to buy research - but there's a difference between "not being able to produce a perfectly flat playing field" vs. "allowing people to artificially create an information assymetry, with the express purpose of taking profits from those on the other side of the field, with an insanely high barrier to entry for those who want to join you". HFT is the latter.
HFT is a practice that should be regulated out of existence.
This came up before on Slashdot, and the regulation to introduce is simple: Change trading from a "first come, first served" system into something like a "turned based" game. The exchange should disseminate information and accept trades only at widely spaced "ticks", say, once a minute, or even further apart.
Nothing of value is lost, but the ability to gain an unfair advantage through high-speed trading vanishes.
I'm willing to bet that this has little to do with Linux.
I'm betting it has a LOT to do with Linux.
Remember, it wasn't just trading speeds that doomed the.Net solution. It was the unreliability.
Sure, it COULD be a statistical fluke that the Linux-developed system proved more reliable and performant. On the other hand, this isn't an isolated incident, and so far the statistics seem to be falling in favor of Linux where the rubber meets the road. The LSE bid was made after looking at similar systems already in existence.
Nice try, though, Mr.. Ballmer.
Why would.NET be unreliable? Are you expecting it to occasionally answer '2+2' with '5'?
The solution was most likely at fault, not the managed runtime! It certainly wouldn't be more or less reliable than, say, Java.
I mean seriously,.NET is a terrible choice for a latency sensitive application, as is SQL Server. Neither provides any kind of time guarantee. Java and Oracle would be just as bad.
If microseconds matter, you code in C or C++, and rely on specialist databases, or roll your own for the purpose. That's how mainframe applications are written, and surprise, they work. All of this can be done on Windows. If you turn off everything that's not strictly required, Windows is as stable and reliable as any commodity server OS out there. It used to be unstable, true, but it's rare to see a crash that isn't driver-related these days. I've seen Windows terminal servers with 2 year up-times.
The LSE project had buzzword-compliant architecture bullshit written all over it. It was simply a badly designed application written by consultants who tried to satisfy Microsoft's marketing needs instead of making pragmatic decisions to solve problems.
I'm not so sure. for certain workloads, In production, postgresql queries I've written have been 4 times faster on a linux server, compared to a windows server. Now I'm willing to accept arguments regarding postgresql's potentially differing levels of optimisations for the two platoforms, but the fact remains, particularly for IO intensive workloads, that the underlying platform has a measurable effect
Of course, but you did a like-for-like comparison, the same application across two different platforms. The article is about two dissimilar systems, on different hardware. There's no way to draw any conclusions from that.
Benchmarking is complex -- subtle things can completely ruin results, especially when multiple operating systems are used. For example, on Linux, starting a process is cheap, but on Windows, starting a new thread is cheap. Software written using the "Linux way" runs terribly on Windows, so a lot of Linux developers just assume Windows is "slow". I've seen this with some PHP-type web frameworks that fork a new process for every query, they can barely do 20-50 requests per second on IIS. Meanwhile, ASP.NET can do thousands on the same box, because it uses a thread pool.
I'm willing to bet that this has little to do with Linux.
It's a great server OS, sure, but lets look at this realistically:
- the Windows /.NET trading system was based on Windows 2003 and SQL 2000, and was deployed in 2005. - the Linux-based system is under development now, to be deployed next year.
Just based on that, you'd expect substantial performance differences from just using newer hardware. Chances are that the original kit was certified as a part of the solution, and hasn't been replaced since. With all-new gear, I'd expect about 2-3x the CPU performance, and if they're using 10GbE (likely), then 10x the network performance.
Even ignoring the hardware and the OS, one would expect 90% of the performance to be determined by the application, not the OS. Decisions like writing the software in.NET versus C or Java, or using a special-purpose Java runtime would make a huge difference, irrespective of the OS.
On top of this, the software stack is completely different, and developed by a different team. Just about every design decision, small and large, will be different.
To make a fair comparison, you'd have to run the new software on both OS platforms, on the same hardware.
Even with the best wear leveling techniques SSDs will not be able to provide the sort of write cycles that a magnetic drive can withstand. This may not be an issue in most consumer use, but the possibility is there that somebody will hear of a friend of a friend's uncle who had his entire life's work (read: porn collection) wiped out. Something doesn't actually have to be a risk for someone to freak out about it and avoid the technology.
Hard drives only succeeded in the market because they never fail... oh wait.
Then there are programs like Firefox, which continually write to sqlite databases, which causes multiple fsync() calls, which will flush the disk cache each time if you're running on an ext3 filesystem. All because NTFS used to eat your bookmarks file if Windows crashed.
All filesystems will eat your files if the OS crashes unless you call the equivalent of fsync(), it's not a Windows specific issue.
If we're going to point fingers, how about early Firefox versions writing out all configuration files (including bookmarks), one line at a time. That is, making an I/O call for the content of each line, and then an I/O call to write the "newline" character(s) separately! It took something like 100,000 I/O calls to shut down Firefox, which is why it used to take 10 seconds or more. That's the source of its vulnerability to crashes -- if it's interrupted, files are half-written.
The standard best practice for writing out files like that is to write them "out of place" in a temporary file using efficient buffered calls, "fsync()" at the end of all of the files once, and then use "rename" operations or the equivalent to replace the original files atomically with the new ones.
Firefox does not do this. It writes files incorrectly, and the bug went unfixed for years. I'm still not sure if it's been fixed yet (I haven't checked), but at least by using SQLite, they're relying on better written code to do their IO for them.
Don't blame the OS, every other application has no issues. For example, SQL Server runs unmodified just fine on both Windows desktop and server editions, and does not lose data. I once saw a badly configured Windows database server that was unexpectedly cold rebooted every few minutes, and the users merely complained that it was "slow". I checked the system: No data lost, no data corrupted.
Re:Can atheists refute one simple fact?
on
Largest Genome Ever
·
· Score: 3, Informative
Converted to mathematics, the error in logic if more clear:
1) You say that for all 'x', there must be an 'x-1'. ("a cause", "antecedent", "precedent", or whatever)
2) You say that "we atheists" claim that the "first thing" is '1'.
3) Hence, if there's a '1', there must be a '0'. ("the first thing must be created")
4) Then, you basically make the unfounded claim that '0' must be 'God'.*
The problem is that this simply implies that all negative numbers must exist also, (-1, -2, -3, etc...), since there's no reason to stop at 0.
In other words, there's no reason to stop at "God". God must also have a cause. And the cause of God must also have a cause, etc...
If you say that "God" is special and has no cause, then (1) was not true, it's actually "for all 'x' except some 'x' there must be an 'x-1'", which is a different rule. Hence, the whole argument is hogwash, since the original rule cannot be true for it to work. That is, if there are exceptions to the rule, then there's no reason for the Universe itself to not be one of those exceptions. This argument, and it's counter-arguments have been known since ancient times, it's not exactly new. You're not exactly surprising any Atheists with a shocking new proof. For crying out loud, there's a 10-page Wikipedia article about it's long history.
* I assume that you refer specifically to the Abrahamic God that spoke to a barely literate goat herder on the side of a mountain in ancient Palestine, raped some woman who was apparently a virgin despite living with her husband, and then watched his illegitimate son get executed, right? Otherwise you could be speaking of any God. Lets say, Zeus. I like Zeus. He's the kind of womanising, lightning-bolt throwing God I can relate to! Some of his human consorts were even awake when he impregnated them -- what a gentleman! If we're going to start making assumptions that "the cause of the universe" must be a specific God, lets pick a good one!
it just stopped once it hit that limit rather than failing over to a backup process.
"just over 2 billion" is almost certainly 2^31 (2 147 483 648), or the maximum number representable by a signed 32-bit integer. People usually think of "over 4 billion" (2^32) as the integer limit, but that's for unsigned integers only, which are rarely used, especially in databases. I'm willing to bet that they used an "int" as a primary key in one of their tables, and simply overflowed the maximum possible value.
This kind of bug has impacted lots of systems in the past. If it happens, there's no "fail over" that could possibly save the system. The replica would have the same data, and hence the same issue, and would have failed as well. The usual fix is to extend the key type to 64-bits or longer (e.g.: GUIDs), but for a 2 billion row table, that's going to take hours at best, probably days.
Most database systems do not provide a warning when the keys start to approach large values, so it's easy to miss.
This article reminded me to go look for a good table of international "IPv6" readyness, because I expect a lot of fail, but what I found is even worse than I expected.
Un.. fucking.. believable. These aren't penny-pinching private organisations with no interest in advancing technology, these are universities, the organisations that have traditionally been at the forefront of IT. Think about the first campus networks and the internet itself, which was primarily first deployed by the education and military sectors.
The status of IPv6 at these shapers of minds, these thinkers and inventors?
I'm starting to understand why no major websites offer IPv6 on their primary URL by default.
I clicked that link, and Firefox went into a "(Not Responding)" state for about 20 seconds.
Absolute, total fail by the Mozilla team.
We may as well give up now. If the supposedly latest & greatest browser in 2010 LOCKS UP when attempting to view a dual-mode site, there's just no hope for widespread adoption any time this decade.
Because there will literally be mountains of eWaste and headaches galore? How many of the home routers sold in the past 5 years even support IPv6? I don't think any of the consumer grade stuff does. That means we will have to replace just about every router in every home or have some sort of IPv6 to IPv4 bridge built into every modem in the country, again not cheap.
Whether we like it or not, there is a reason why IPv4 has lasted so long. It is a mature tech that everyone knows how to fix. IPv6 is gonna be a nightmare for probably 5 or 6 years and it really ain't gonna be fun trying to fix the mess. So yeah, I can see them stretching out IPv4 for as long as humanly possible, simply because the transition costs are gonna be insane.
You can't get better evidence of the incompetence of government than this. There's a dwindling resource that will run out in just a couple of years, impacts practically every person in every OECD country, yet have you heard of even one government agency, in any country, that is mandating IPv6 for consumer grade gear to force the vendors to solve the problem before it becomes critical? Of course not! That would require foresight and competence. About the only IPv6 push I'm hearing is that for government tenders in the US, IPv6 support is required, but that does nothing to solve the problem of hundreds of millions of home routers that are IPv4 only.
No government on Earth has even bothered to lift a finger to solve a well known, easily predicted problem with a ready and tested solution that would cost the government no money whatsoever (it's just legislation!). Given that, now picture the level of competence you'd get from the same bunch of idiots when tasked with solving much bigger issues like global warming, peak oil, or overpopulation. Issues like that won't be critical for decades, have no obvious solution, and all possible solutions are expected to cost trillions. I can only imagine the level of incompetence that will no doubt ensue...
Decades behind? Really? You clearly have no experience with "real" enterprise management. If Linux is so far behind why are linux/unix admins almost always paid significantly more and able to manage WAY more systems than their windows equivalents?
"paid more" = it's a harder job to do, and requires more expensive people. That's my point. Policy based management is easier, and hence cheaper. You just made my point for me.
I haven't seen Linux administrators manage more machines per person than Windows administrators, unless they're farms of identical web servers or something. It's not like you can't script Windows machines if you need to, I've done that for 100+ server clusters before, managed by just one admin.
The point I was making though is that it's silly to dismiss GUI management by claiming that multi-machine control necessarily involves repeating the same button clicks, when it clearly doesn't, and there are practical systems deployed that manage thousands of machines. It's irrelevant if Linux admins are cheaper, or more expensive, the point is that the poster of the article made a stupid assumption which isn't valid. It's a straw man argument: "GUI administration is bad if done naively". Well duh. That doesn't imply scripting is necessarily better in all cases.
That reminds me: there's Windows deployments where just a few administrators manage over 100,000 desktops using policy based GUI management (AD+Group Policy+System Centre Configuration Manager). Name me even a few Linux-based enterprises anywhere near that big, where Linux saved money by being easier to administer. You might find a couple that claim lower licensing costs, but I doubt you'll find even one that claims lower administration costs.
The windows solution to this is to set a policy in the GUI, and apply it to a group of severs. No need to give up the speed and intuitiveness of the GUI, but all the machines get an identical configuration.
Linux is decades behind in enterprise management. Writing scripts is an order of magnitude slower than just ticking a checkbox. Also, declarative administration has other benefits over procedural scripting. For example, with big pools of servers, what happens if one of the servers is down for maintenance when you run a script? It's skipped, that's what! What if you add a new server to a cluster? How do you make sure it has every script applied, in order? With group policy, a new Windows server will catch up to the current desired configuration every few hours. If it misses an update for whatever reason, it will get it next time around automatically.
Oh, and most group policy settings take effect live -- there's no need to "simply" restart services!
Yeah, I know there's no such colour as... [insert combo-of-whatevers here]...but it's still a convenient shorthand for what we SEE. Imagine if these what-we-see colours had no names and you had to refer to each by its numbers!
What you "see" is a combination of colors, essentially red, green, and blue. Technically, natural light is a continuous spectrum of colors with a complex map of varying intensities, but your eyes physically can't sense that. In effect, your eyes have only "blue-yellow" and "green-red" sensors, which are mathematically identical to an additive mixture of red, green, and blue. It's not a cheat, or an over-simplification, monitors are designed to match how humans see. There are lots of limitations to color reproduction, like the color filters not having a truly pure color, which reduces the gamut, but that's improved a lot in recent years. There's no such thing as "brown", really, either on a computer screen, or in the natural world.
As to examining pixels, that's what I wound up doing because the initial brown looked wrong (like it wanted to be a bruised purple instead). There's nothing stupid about taking something down to its component parts to see why it's not working.
Did you notice the red-green-blue sliders in the color selection dialog box of your image editor? That's exactly what it does. You don't have to get your face up close to the monitor!
I've seen exactly *one* LCD that I deemed entirely suitable, and the damned thing cost $2200 (and that was at the trade-show discount). A wee ways out of my budget, probably for the next century.
For a professional grade monitor, that's cheap. Most graphic artists I know work with $10K+ monitors, like the HP DreamColor range.
One of the issues that drives me nuts is that they're sensitive to viewing angle. Not so much from side-to-side anymore but still from up-to-down. So if you don't always slouch at the same height, the image changes. The very expensive one lacked this visual defect.
Mine is perfect within 20 degrees in all directions, and I got it 5 years ago for $1000, delivered. The same 24" model from Dell is about $300 now, I think. Most professionals have switched to LCDs, because the color shifting issues have been fixed on all of the high-end monitors, and they now have better color reproduction overall than CRTs.
And as you note there's the issue of matching the video card to the LCD, notably the resolution. Not an issue with a CRT. I really hate being stuck on someone else's notion of MY ideal resolution, because otherwise the aspect ratio is munged, or it displays interlaced (I've seen both problems).
If your video card can't handle 2D at common display resolutions, you seriously need to upgrade. Ancient embedded cards can handle that. I've seen people run 2560x1600 resolutions just fine with a $50 video card.
I've also found the average LCD's total light output wearing on my eyes.
They have brightness controls, you know. Mine can give you sunburn if you let it, but I just set it to a moderate level, and it's fine.
I suppose if I was made of money, or doing graphics as a fulltime job, it would be worth whatever investment was required to get it how I want it. As it is, my stone-age solution works better for me, for a fraction of the investment.
Zero investment is more like it. You can get a professional-grade monitor for under $1000 if you do you research and find a good deal.
I did get it to where it looks good, but it took a lot of swearing. And I'd started with a scan of the original (best copy available -- it was an existing print logo to be used on their website). Had to do a lot of finagling with the tint to get it to where what the eye *sees* on a monitor is the intended shade of brown. On examining it at the pixel level, the reason became clear -- there ain't no such shade as 'brown' in the CRT spectrum.
There's no such shade as "brown" on the real spectrum. As a graphics designer, I thought you'd understand that.
Every color other than red, green, or blue will always be a mixture on all monitors at the "pixel" level. Your monitor isn't somehow lying to you, or cheating you out of a real color, it's mixing colors using additive blending, just like it happens in with light in real life as well.
If it looks the "same" at a distance, than for all practical purposes, it is the same. Putting your nose up to the glass and claiming that it's all "pixelated" - and hence somehow fake - is just stupid.
For professional work, why don't you get a wide-gamut monitor like the some of the new Dell monitors? They have a narrower color gamut than the human eye, but wider than sRGB, Adobe RGB, and CMYK.
And unlike your stone-age CRT, an LCD doesn't flicker, has a higher resolution, the pixels are perfectly square, the edge looks just as perfect as the center, and their color calibration drifts less with time. And if you get a matching video card, you can also get 30-bit color (10+10+10), which gives you 1024 shades of each color channel instead of the usual 256. It makes a significant difference when editing images with a lot of shadow detail.
Take a look at the plans by Comcen, a smaller ISP that I'm with. Their new ADSL2+ plans throttle off-peak bandwidth down to 2Mbps all the time, even if you haven't exceeded your quota!
See the plans here. Click a plan to get more information, where it will say "Off-Peak Speed: Speed is slowed to 2000Kbps (2Mbps) during off-peak only". All but one of the plans has a permanent throttle on night-time bandwidth.
What if you're a professional who wants to sync or back-up data to your work at night? What if you're a techo like me doing after-hours remote maintenance over a VPN? If you're with this ISP, you won't get a choice, you'll be throttled, even if your physical link can do over ten megabits!
You know, stories like this used to interest me. Then I noticed that: a) they kept reoccurring, and b) had a common theme.
Yeah, it's always "We're approaching a wall with what can be done with current technology, so it's going to either be more expensive, or need a new technique, yadda yadda." Tell you what. Lemme know when we *actually* hit the wall in ANY of these that they keep threatening us with a wall in making, SSD, HDD, CPU size, etc.
It comes down to an argument from ignorance. "I can't imagine a way around this problem right in front of me, hence nobody else can, and we're all doooomed".
I read a lot about esoteric technologies, I had an interest in astronomy and physics at one point. What I discovered was that most people don't realize that the mundane ordinary technology they deal with every day is not the cutting edge, it's just the current cost effective level of technology. The cutting edge is way, way out there, it's just not ready for mass market use yet. I got to see some of that in my studies, like the technology that goes into spacecraft and telescopes. Jaw dropping stuff.
For example, there's a digital logic technology that uses superconductors, and does just under 1 THz now! It's so fast that it can perform the same kind of processing we do on audio waves on microwave frequency signals in real time. More importantly, it generates virtually no heat, so it can be made incredibly dense. Think 3D stacking for hundreds of layers. Because of the cooling requirements, the only real users are radio telescope pre-amplifiers, and specialised military radar.
I'm already hearing of serious R&D going into making small solid-state coolers that could cool a chip-sized device down to the operating temperature required. Combined with improvements in high-temperature superconductors, and lithography of the same, it's just a matter of time until we get home computers running at 1 THz. That's a 100x fold improvement available, right there, and it's not even that big of a leap!
I can't even begin to imagine where our real limits are, but it's nowhere near what we have now.
I also haven't seen significant power savings from SSDs or significant improvements in computer performance with their use.
Do you have one? I do, and it's already not even the latest model. When I got it, it made my old laptop so fast I just couldn't believe it.
I'm so used to it now that if I ever have to wait for an app, I immediately assume it's locked up. If I sit down in front of a PC with a mechanical drive, the phrase "why is this thing broken?" comes into my mind.
Computers with spinning media are broken. People will catch on eventually. Just like it took a while for corporations to switch to LCD monitors after practically all enthusiasts had already switched, sooner or later the standard drive in all PCs and laptops will be SSDs, and then disks will be relegated to bulk storage only, somewhere in the data centre.
As long as someone has physical posession of the device there is no such thing as absolute security.
But good enough security is quite doable. If you had to take your CPU apart and put it in under an electron microscope to read out a unique code that is essentially a one-time-pad, then it's not going to be worth it for anyone, particularly for a budget CPU.
The point that security researchers have been trying (for years) to get across to developers and companies alike is that ALL software/protocols/standards/whatever should be developed with security in mind from the beginning. Granted, even with secure coding practices and rigorous application security testing, there will always be some vulnerability that gets overlooked by the developer or discovered by an attacker. The thing is that most companies tend to put functionality and features far above security, which is IMHO a completely ass backward way of doing things when it comes to technology in general.
You say that like it's an "or" choice.
How hard is it to write software that doesn't come with a password baked into the CD, but simply asks you for an initial root password on first start?
Every operating system does this, as do most server applications that need authentication.
It's not exactly rocket surgery! It's not like they'd have to sacrifice some complex industrial control feature to implement "do I have piece of text? No? Then wait for user to enter a piece of text". That simple feature alone would go a long way towards stopping these kind of attacks.
For real security, some sort of PKI type system should be used, where if an attacker manages to obtain a private key ("password") of one machine, it does not give them the keys/passwords of anything else. That way, intrusions are isolated, and can't spread to take out national power grids. It's not exactly a new invention, it's been around for 35 years, invented during the bronze age of computing!
None of this is particularly hard, it's just that programmers are lazy, their managers are incompetent, and clients are ignorant to the issues.
It all boils down to a lack of professional standards in the software development world, unlike similar industries where human lives are at stake, like mechanical engineering or medicine. You don't have to ask your doctors to wash their hands, they just do, because it's the right way to do it.
You think that's bad? There was a critical bug in there for years that would completely overwrite your profile with a blank one, including your history, and bookmarks. Back when email was still integrated into the Mozilla browsers, your emails would get wiped too! The bug was caused by writing out the configuration files one line at a time, so that if the browser crashed during a configuration update, you'd be left with a partial configuration file. On the next startup, the browser would detect the error, and cheerfully overwrite your entire profile with the default profile to 'fix' it. The file contents were overwritten in-place, making disaster recovery practically impossible for most users. I won't even mention the performance hit of writing a 100KB file with 10,000 individual IO operations every time Firefox is closed, because compared to the data loss that's insignificant.
The Bugzilla forum had about 4 dupes of the bug, each with over a thousand panicked posts by users. Some of the reports when back years.
When it happened to me, it took me about an hour with Sysinternal's Filemon tools to figure out what was going on. The fix is trivial: simply write the new config file out-of-place, and then replace the original with it once it has been fully written. This is programming 101, standard practice for most Linux/Unix apps. Even Microsoft Office apps do this!
The bug went unfixed for at least 3 years after I first noticed it, despite at least a dozen posts by professional programmers who had even highlighted the source files and line numbers where the change needs to be made.
Bugzilla seems to be totally ignored by the Firefox programmers. I suspect that just like many open source programmers, they only care about the "shiny new stuff". Mundane work like fixing bugs is boring, so nobody does it unless forced to.
It's called Herd Immunity. While you and your children aren't well protected against the infections that moderns societies vaccinate against, everyone else is, providing indirect protection. The people around you aren't sick, so they can't pass on infection to you, even though you are vulnerable. You live in a country where the negative impact of you foregoing vaccination is minimised because everyone else did get vaccinated. Hardly a solid argument against vaccination.
Most vaccines don't provide total protection to any one individual anyway, so many people that think they are protected aren't, and get by, just like you, because of the immunity of the population as a whole. As long as enough people are immune, diseases won't spread. The problem is that some vaccines are only just barely effective enough to establish herd immunity. If enough people decide to forego vaccination, there could be a real problem. Diseases that have been nearly wiped out could make a comeback, imported by tourists or immigrants from the third world. Even people who been vaccinated might die or become paralysed by their thousands, because of a small, foolish minority of people like yourself.
Yep, and Firefox and Chrome have had exploits too. So have Linux, the iOS, and Mac OS 10. So has nearly every piece of popular, complex software. The rate of exploits found that affect Foxit is trivial compared to the number found in Adobe Reader.
That needs a bit of clarification: Nearly every piece of popular, complex software, written in C or C++.
It's much harder to attack 'user' mode software written in safe managed languages like C# or Java.
Mind you, Adobe hires programmers who think it's a great idea to add "arbitrary code execution" to a document format not as a bug, but as an integral part of the spec! Sigh...
An more familar example is a no parking sign. I assume you've seen a sign along the lines of "No parking between 7pm and 7am"? this sign "proves" that parking is allowed between the opposite hours.
No, it doesn't. Parking may be restricted, for other reasons, for example, on that particular day. There may be a special event on, for example, indicated by a second street sign. You may be in a vehicle that is illegal to park on a public street at all times, such as a wide truck, or a vehicle carrying dangerous materials. That sign only proves that it is not legal to park between those times, the reverse is implied, but not proven.
This is exactly what I find wrong with philosophy - a good fraction of it simply ceases to be interesting or meaningful if the logic used is strict in the mathematical sense, not in the much weaker form still used in most philosophical discussions.
I keep hearing that "anyone" can do this. Please point me to where I can sign up to collocate my server with the market computers - because that is actually necessary to set up an effective HFT system.
The ability of an elite few to buy access to information about the value of an item, when that information is unavailable to others with whom they will buy and sell that item, is a violation of free market premises.
Much of what the SEC regulations do is to produce a free market. This is what many political pundits fail to understand - the "free" in free market does not mean "unregulated". The best regulatory approach in the world would never create a 100% ideal free market - money will always be able to buy research - but there's a difference between "not being able to produce a perfectly flat playing field" vs. "allowing people to artificially create an information assymetry, with the express purpose of taking profits from those on the other side of the field, with an insanely high barrier to entry for those who want to join you". HFT is the latter.
HFT is a practice that should be regulated out of existence.
This came up before on Slashdot, and the regulation to introduce is simple: Change trading from a "first come, first served" system into something like a "turned based" game. The exchange should disseminate information and accept trades only at widely spaced "ticks", say, once a minute, or even further apart.
Nothing of value is lost, but the ability to gain an unfair advantage through high-speed trading vanishes.
I'm willing to bet that this has little to do with Linux.
I'm betting it has a LOT to do with Linux.
Remember, it wasn't just trading speeds that doomed the .Net solution. It was the unreliability.
Sure, it COULD be a statistical fluke that the Linux-developed system proved more reliable and performant. On the other hand, this isn't an isolated incident, and so far the statistics seem to be falling in favor of Linux where the rubber meets the road. The LSE bid was made after looking at similar systems already in existence.
Nice try, though, Mr.. Ballmer.
Why would .NET be unreliable? Are you expecting it to occasionally answer '2+2' with '5'?
The solution was most likely at fault, not the managed runtime! It certainly wouldn't be more or less reliable than, say, Java.
I mean seriously, .NET is a terrible choice for a latency sensitive application, as is SQL Server. Neither provides any kind of time guarantee. Java and Oracle would be just as bad.
If microseconds matter, you code in C or C++, and rely on specialist databases, or roll your own for the purpose. That's how mainframe applications are written, and surprise, they work. All of this can be done on Windows. If you turn off everything that's not strictly required, Windows is as stable and reliable as any commodity server OS out there. It used to be unstable, true, but it's rare to see a crash that isn't driver-related these days. I've seen Windows terminal servers with 2 year up-times.
The LSE project had buzzword-compliant architecture bullshit written all over it. It was simply a badly designed application written by consultants who tried to satisfy Microsoft's marketing needs instead of making pragmatic decisions to solve problems.
Don't blame the tools, blame the tool users.
I'm not so sure. for certain workloads, In production, postgresql queries I've written have been 4 times faster on a linux server, compared to a windows server.
Now I'm willing to accept arguments regarding postgresql's potentially differing levels of optimisations for the two platoforms, but the fact remains, particularly for IO intensive workloads, that the underlying platform has a measurable effect
Of course, but you did a like-for-like comparison, the same application across two different platforms. The article is about two dissimilar systems, on different hardware. There's no way to draw any conclusions from that.
Benchmarking is complex -- subtle things can completely ruin results, especially when multiple operating systems are used. For example, on Linux, starting a process is cheap, but on Windows, starting a new thread is cheap. Software written using the "Linux way" runs terribly on Windows, so a lot of Linux developers just assume Windows is "slow". I've seen this with some PHP-type web frameworks that fork a new process for every query, they can barely do 20-50 requests per second on IIS. Meanwhile, ASP.NET can do thousands on the same box, because it uses a thread pool.
I'm willing to bet that this has little to do with Linux.
It's a great server OS, sure, but lets look at this realistically:
- the Windows / .NET trading system was based on Windows 2003 and SQL 2000, and was deployed in 2005.
- the Linux-based system is under development now, to be deployed next year.
Just based on that, you'd expect substantial performance differences from just using newer hardware. Chances are that the original kit was certified as a part of the solution, and hasn't been replaced since. With all-new gear, I'd expect about 2-3x the CPU performance, and if they're using 10GbE (likely), then 10x the network performance.
Even ignoring the hardware and the OS, one would expect 90% of the performance to be determined by the application, not the OS. Decisions like writing the software in .NET versus C or Java, or using a special-purpose Java runtime would make a huge difference, irrespective of the OS.
On top of this, the software stack is completely different, and developed by a different team. Just about every design decision, small and large, will be different.
To make a fair comparison, you'd have to run the new software on both OS platforms, on the same hardware.
Even with the best wear leveling techniques SSDs will not be able to provide the sort of write cycles that a magnetic drive can withstand. This may not be an issue in most consumer use, but the possibility is there that somebody will hear of a friend of a friend's uncle who had his entire life's work (read: porn collection) wiped out. Something doesn't actually have to be a risk for someone to freak out about it and avoid the technology.
Hard drives only succeeded in the market because they never fail... oh wait.
Then there are programs like Firefox, which continually write to sqlite databases, which causes multiple fsync() calls, which will flush the disk cache each time if you're running on an ext3 filesystem. All because NTFS used to eat your bookmarks file if Windows crashed.
All filesystems will eat your files if the OS crashes unless you call the equivalent of fsync(), it's not a Windows specific issue.
If we're going to point fingers, how about early Firefox versions writing out all configuration files (including bookmarks), one line at a time. That is, making an I/O call for the content of each line, and then an I/O call to write the "newline" character(s) separately! It took something like 100,000 I/O calls to shut down Firefox, which is why it used to take 10 seconds or more. That's the source of its vulnerability to crashes -- if it's interrupted, files are half-written.
The standard best practice for writing out files like that is to write them "out of place" in a temporary file using efficient buffered calls, "fsync()" at the end of all of the files once, and then use "rename" operations or the equivalent to replace the original files atomically with the new ones.
Firefox does not do this. It writes files incorrectly, and the bug went unfixed for years. I'm still not sure if it's been fixed yet (I haven't checked), but at least by using SQLite, they're relying on better written code to do their IO for them.
Don't blame the OS, every other application has no issues. For example, SQL Server runs unmodified just fine on both Windows desktop and server editions, and does not lose data. I once saw a badly configured Windows database server that was unexpectedly cold rebooted every few minutes, and the users merely complained that it was "slow". I checked the system: No data lost, no data corrupted.
They've already announced that all of their classes will be playable as either male or female.
It's one of the first questions in their FAQ.
Converted to mathematics, the error in logic if more clear:
1) You say that for all 'x', there must be an 'x-1'. ("a cause", "antecedent", "precedent", or whatever)
2) You say that "we atheists" claim that the "first thing" is '1'.
3) Hence, if there's a '1', there must be a '0'. ("the first thing must be created")
4) Then, you basically make the unfounded claim that '0' must be 'God'.*
The problem is that this simply implies that all negative numbers must exist also, (-1, -2, -3, etc...), since there's no reason to stop at 0.
In other words, there's no reason to stop at "God". God must also have a cause. And the cause of God must also have a cause, etc...
If you say that "God" is special and has no cause, then (1) was not true, it's actually "for all 'x' except some 'x' there must be an 'x-1'", which is a different rule. Hence, the whole argument is hogwash, since the original rule cannot be true for it to work. That is, if there are exceptions to the rule, then there's no reason for the Universe itself to not be one of those exceptions. This argument, and it's counter-arguments have been known since ancient times, it's not exactly new. You're not exactly surprising any Atheists with a shocking new proof. For crying out loud, there's a 10-page Wikipedia article about it's long history.
* I assume that you refer specifically to the Abrahamic God that spoke to a barely literate goat herder on the side of a mountain in ancient Palestine, raped some woman who was apparently a virgin despite living with her husband, and then watched his illegitimate son get executed, right? Otherwise you could be speaking of any God. Lets say, Zeus. I like Zeus. He's the kind of womanising, lightning-bolt throwing God I can relate to! Some of his human consorts were even awake when he impregnated them -- what a gentleman! If we're going to start making assumptions that "the cause of the universe" must be a specific God, lets pick a good one!
it just stopped once it hit that limit rather than failing over to a backup process.
"just over 2 billion" is almost certainly 2^31 (2 147 483 648), or the maximum number representable by a signed 32-bit integer. People usually think of "over 4 billion" (2^32) as the integer limit, but that's for unsigned integers only, which are rarely used, especially in databases. I'm willing to bet that they used an "int" as a primary key in one of their tables, and simply overflowed the maximum possible value.
This kind of bug has impacted lots of systems in the past. If it happens, there's no "fail over" that could possibly save the system. The replica would have the same data, and hence the same issue, and would have failed as well. The usual fix is to extend the key type to 64-bits or longer (e.g.: GUIDs), but for a 2 billion row table, that's going to take hours at best, probably days.
Most database systems do not provide a warning when the keys start to approach large values, so it's easy to miss.
This article reminded me to go look for a good table of international "IPv6" readyness, because I expect a lot of fail, but what I found is even worse than I expected.
Check this out: IPv6 Status Survey
Un.. fucking.. believable. These aren't penny-pinching private organisations with no interest in advancing technology, these are universities, the organisations that have traditionally been at the forefront of IT. Think about the first campus networks and the internet itself, which was primarily first deployed by the education and military sectors.
The status of IPv6 at these shapers of minds, these thinkers and inventors?
Fail.. fail.. fail.. fail.. fail.. mostly fail.. fail.. fail.. fail.. almost pass.. fail.. fail.. fail.
My entire country has one university on IPv6. Just one. And that's for their main website only, their email isn't IPv6 yet.
I'm starting to understand why no major websites offer IPv6 on their primary URL by default.
I clicked that link, and Firefox went into a "(Not Responding)" state for about 20 seconds.
Absolute, total fail by the Mozilla team.
We may as well give up now. If the supposedly latest & greatest browser in 2010 LOCKS UP when attempting to view a dual-mode site, there's just no hope for widespread adoption any time this decade.
Because there will literally be mountains of eWaste and headaches galore? How many of the home routers sold in the past 5 years even support IPv6? I don't think any of the consumer grade stuff does. That means we will have to replace just about every router in every home or have some sort of IPv6 to IPv4 bridge built into every modem in the country, again not cheap.
Whether we like it or not, there is a reason why IPv4 has lasted so long. It is a mature tech that everyone knows how to fix. IPv6 is gonna be a nightmare for probably 5 or 6 years and it really ain't gonna be fun trying to fix the mess. So yeah, I can see them stretching out IPv4 for as long as humanly possible, simply because the transition costs are gonna be insane.
You can't get better evidence of the incompetence of government than this. There's a dwindling resource that will run out in just a couple of years, impacts practically every person in every OECD country, yet have you heard of even one government agency, in any country, that is mandating IPv6 for consumer grade gear to force the vendors to solve the problem before it becomes critical? Of course not! That would require foresight and competence. About the only IPv6 push I'm hearing is that for government tenders in the US, IPv6 support is required, but that does nothing to solve the problem of hundreds of millions of home routers that are IPv4 only.
No government on Earth has even bothered to lift a finger to solve a well known, easily predicted problem with a ready and tested solution that would cost the government no money whatsoever (it's just legislation!). Given that, now picture the level of competence you'd get from the same bunch of idiots when tasked with solving much bigger issues like global warming, peak oil, or overpopulation. Issues like that won't be critical for decades, have no obvious solution, and all possible solutions are expected to cost trillions. I can only imagine the level of incompetence that will no doubt ensue...
HAHAHAHA
Decades behind? Really? You clearly have no experience with "real" enterprise management. If Linux is so far behind why are linux/unix admins almost always paid significantly more and able to manage WAY more systems than their windows equivalents?
"paid more" = it's a harder job to do, and requires more expensive people. That's my point. Policy based management is easier, and hence cheaper. You just made my point for me.
I haven't seen Linux administrators manage more machines per person than Windows administrators, unless they're farms of identical web servers or something. It's not like you can't script Windows machines if you need to, I've done that for 100+ server clusters before, managed by just one admin.
The point I was making though is that it's silly to dismiss GUI management by claiming that multi-machine control necessarily involves repeating the same button clicks, when it clearly doesn't, and there are practical systems deployed that manage thousands of machines. It's irrelevant if Linux admins are cheaper, or more expensive, the point is that the poster of the article made a stupid assumption which isn't valid. It's a straw man argument: "GUI administration is bad if done naively". Well duh. That doesn't imply scripting is necessarily better in all cases.
That reminds me: there's Windows deployments where just a few administrators manage over 100,000 desktops using policy based GUI management (AD+Group Policy+System Centre Configuration Manager). Name me even a few Linux-based enterprises anywhere near that big, where Linux saved money by being easier to administer. You might find a couple that claim lower licensing costs, but I doubt you'll find even one that claims lower administration costs.
The windows solution to this is to set a policy in the GUI, and apply it to a group of severs. No need to give up the speed and intuitiveness of the GUI, but all the machines get an identical configuration.
Linux is decades behind in enterprise management. Writing scripts is an order of magnitude slower than just ticking a checkbox. Also, declarative administration has other benefits over procedural scripting. For example, with big pools of servers, what happens if one of the servers is down for maintenance when you run a script? It's skipped, that's what! What if you add a new server to a cluster? How do you make sure it has every script applied, in order? With group policy, a new Windows server will catch up to the current desired configuration every few hours. If it misses an update for whatever reason, it will get it next time around automatically.
Oh, and most group policy settings take effect live -- there's no need to "simply" restart services!
Yeah, I know there's no such colour as... [insert combo-of-whatevers here] ...but it's still a convenient shorthand for what we SEE. Imagine if these what-we-see colours had no names and you had to refer to each by its numbers!
What you "see" is a combination of colors, essentially red, green, and blue. Technically, natural light is a continuous spectrum of colors with a complex map of varying intensities, but your eyes physically can't sense that. In effect, your eyes have only "blue-yellow" and "green-red" sensors, which are mathematically identical to an additive mixture of red, green, and blue. It's not a cheat, or an over-simplification, monitors are designed to match how humans see. There are lots of limitations to color reproduction, like the color filters not having a truly pure color, which reduces the gamut, but that's improved a lot in recent years. There's no such thing as "brown", really, either on a computer screen, or in the natural world.
As to examining pixels, that's what I wound up doing because the initial brown looked wrong (like it wanted to be a bruised purple instead). There's nothing stupid about taking something down to its component parts to see why it's not working.
Did you notice the red-green-blue sliders in the color selection dialog box of your image editor? That's exactly what it does. You don't have to get your face up close to the monitor!
I've seen exactly *one* LCD that I deemed entirely suitable, and the damned thing cost $2200 (and that was at the trade-show discount). A wee ways out of my budget, probably for the next century.
For a professional grade monitor, that's cheap. Most graphic artists I know work with $10K+ monitors, like the HP DreamColor range.
One of the issues that drives me nuts is that they're sensitive to viewing angle. Not so much from side-to-side anymore but still from up-to-down. So if you don't always slouch at the same height, the image changes. The very expensive one lacked this visual defect.
Mine is perfect within 20 degrees in all directions, and I got it 5 years ago for $1000, delivered. The same 24" model from Dell is about $300 now, I think. Most professionals have switched to LCDs, because the color shifting issues have been fixed on all of the high-end monitors, and they now have better color reproduction overall than CRTs.
And as you note there's the issue of matching the video card to the LCD, notably the resolution. Not an issue with a CRT. I really hate being stuck on someone else's notion of MY ideal resolution, because otherwise the aspect ratio is munged, or it displays interlaced (I've seen both problems).
If your video card can't handle 2D at common display resolutions, you seriously need to upgrade. Ancient embedded cards can handle that. I've seen people run 2560x1600 resolutions just fine with a $50 video card.
I've also found the average LCD's total light output wearing on my eyes.
They have brightness controls, you know. Mine can give you sunburn if you let it, but I just set it to a moderate level, and it's fine.
I suppose if I was made of money, or doing graphics as a fulltime job, it would be worth whatever investment was required to get it how I want it. As it is, my stone-age solution works better for me, for a fraction of the investment.
Zero investment is more like it. You can get a professional-grade monitor for under $1000 if you do you research and find a good deal.
I did get it to where it looks good, but it took a lot of swearing. And I'd started with a scan of the original (best copy available -- it was an existing print logo to be used on their website). Had to do a lot of finagling with the tint to get it to where what the eye *sees* on a monitor is the intended shade of brown. On examining it at the pixel level, the reason became clear -- there ain't no such shade as 'brown' in the CRT spectrum.
There's no such shade as "brown" on the real spectrum. As a graphics designer, I thought you'd understand that.
Every color other than red, green, or blue will always be a mixture on all monitors at the "pixel" level. Your monitor isn't somehow lying to you, or cheating you out of a real color, it's mixing colors using additive blending, just like it happens in with light in real life as well.
If it looks the "same" at a distance, than for all practical purposes, it is the same. Putting your nose up to the glass and claiming that it's all "pixelated" - and hence somehow fake - is just stupid.
For professional work, why don't you get a wide-gamut monitor like the some of the new Dell monitors? They have a narrower color gamut than the human eye, but wider than sRGB, Adobe RGB, and CMYK.
And unlike your stone-age CRT, an LCD doesn't flicker, has a higher resolution, the pixels are perfectly square, the edge looks just as perfect as the center, and their color calibration drifts less with time. And if you get a matching video card, you can also get 30-bit color (10+10+10), which gives you 1024 shades of each color channel instead of the usual 256. It makes a significant difference when editing images with a lot of shadow detail.
Take a look at the plans by Comcen, a smaller ISP that I'm with. Their new ADSL2+ plans throttle off-peak bandwidth down to 2Mbps all the time, even if you haven't exceeded your quota!
See the plans here. Click a plan to get more information, where it will say "Off-Peak Speed: Speed is slowed to 2000Kbps (2Mbps) during off-peak only". All but one of the plans has a permanent throttle on night-time bandwidth.
What if you're a professional who wants to sync or back-up data to your work at night? What if you're a techo like me doing after-hours remote maintenance over a VPN? If you're with this ISP, you won't get a choice, you'll be throttled, even if your physical link can do over ten megabits!
You know, stories like this used to interest me. Then I noticed that:
a) they kept reoccurring, and
b) had a common theme.
Yeah, it's always "We're approaching a wall with what can be done with current technology, so it's going to either be more expensive, or need a new technique, yadda yadda." Tell you what. Lemme know when we *actually* hit the wall in ANY of these that they keep threatening us with a wall in making, SSD, HDD, CPU size, etc.
It comes down to an argument from ignorance. "I can't imagine a way around this problem right in front of me, hence nobody else can, and we're all doooomed".
I read a lot about esoteric technologies, I had an interest in astronomy and physics at one point. What I discovered was that most people don't realize that the mundane ordinary technology they deal with every day is not the cutting edge, it's just the current cost effective level of technology. The cutting edge is way, way out there, it's just not ready for mass market use yet. I got to see some of that in my studies, like the technology that goes into spacecraft and telescopes. Jaw dropping stuff.
For example, there's a digital logic technology that uses superconductors, and does just under 1 THz now! It's so fast that it can perform the same kind of processing we do on audio waves on microwave frequency signals in real time. More importantly, it generates virtually no heat, so it can be made incredibly dense. Think 3D stacking for hundreds of layers. Because of the cooling requirements, the only real users are radio telescope pre-amplifiers, and specialised military radar.
I'm already hearing of serious R&D going into making small solid-state coolers that could cool a chip-sized device down to the operating temperature required. Combined with improvements in high-temperature superconductors, and lithography of the same, it's just a matter of time until we get home computers running at 1 THz. That's a 100x fold improvement available, right there, and it's not even that big of a leap!
I can't even begin to imagine where our real limits are, but it's nowhere near what we have now.
I also haven't seen significant power savings from SSDs or significant improvements in computer performance with their use.
Do you have one? I do, and it's already not even the latest model. When I got it, it made my old laptop so fast I just couldn't believe it.
I'm so used to it now that if I ever have to wait for an app, I immediately assume it's locked up. If I sit down in front of a PC with a mechanical drive, the phrase "why is this thing broken?" comes into my mind.
Computers with spinning media are broken. People will catch on eventually. Just like it took a while for corporations to switch to LCD monitors after practically all enthusiasts had already switched, sooner or later the standard drive in all PCs and laptops will be SSDs, and then disks will be relegated to bulk storage only, somewhere in the data centre.
As long as someone has physical posession of the device there is no such thing as absolute security.
But good enough security is quite doable. If you had to take your CPU apart and put it in under an electron microscope to read out a unique code that is essentially a one-time-pad, then it's not going to be worth it for anyone, particularly for a budget CPU.
That's not it at all...
The point that security researchers have been trying (for years) to get across to developers and companies alike is that ALL software/protocols/standards/whatever should be developed with security in mind from the beginning. Granted, even with secure coding practices and rigorous application security testing, there will always be some vulnerability that gets overlooked by the developer or discovered by an attacker. The thing is that most companies tend to put functionality and features far above security, which is IMHO a completely ass backward way of doing things when it comes to technology in general.
You say that like it's an "or" choice.
How hard is it to write software that doesn't come with a password baked into the CD, but simply asks you for an initial root password on first start?
Every operating system does this, as do most server applications that need authentication.
It's not exactly rocket surgery! It's not like they'd have to sacrifice some complex industrial control feature to implement "do I have piece of text? No? Then wait for user to enter a piece of text". That simple feature alone would go a long way towards stopping these kind of attacks.
For real security, some sort of PKI type system should be used, where if an attacker manages to obtain a private key ("password") of one machine, it does not give them the keys/passwords of anything else. That way, intrusions are isolated, and can't spread to take out national power grids. It's not exactly a new invention, it's been around for 35 years, invented during the bronze age of computing!
None of this is particularly hard, it's just that programmers are lazy, their managers are incompetent, and clients are ignorant to the issues.
It all boils down to a lack of professional standards in the software development world, unlike similar industries where human lives are at stake, like mechanical engineering or medicine. You don't have to ask your doctors to wash their hands, they just do, because it's the right way to do it.
You think that's bad? There was a critical bug in there for years that would completely overwrite your profile with a blank one, including your history, and bookmarks. Back when email was still integrated into the Mozilla browsers, your emails would get wiped too! The bug was caused by writing out the configuration files one line at a time, so that if the browser crashed during a configuration update, you'd be left with a partial configuration file. On the next startup, the browser would detect the error, and cheerfully overwrite your entire profile with the default profile to 'fix' it. The file contents were overwritten in-place, making disaster recovery practically impossible for most users. I won't even mention the performance hit of writing a 100KB file with 10,000 individual IO operations every time Firefox is closed, because compared to the data loss that's insignificant.
The Bugzilla forum had about 4 dupes of the bug, each with over a thousand panicked posts by users. Some of the reports when back years.
When it happened to me, it took me about an hour with Sysinternal's Filemon tools to figure out what was going on. The fix is trivial: simply write the new config file out-of-place, and then replace the original with it once it has been fully written. This is programming 101, standard practice for most Linux/Unix apps. Even Microsoft Office apps do this!
The bug went unfixed for at least 3 years after I first noticed it, despite at least a dozen posts by professional programmers who had even highlighted the source files and line numbers where the change needs to be made.
Bugzilla seems to be totally ignored by the Firefox programmers. I suspect that just like many open source programmers, they only care about the "shiny new stuff". Mundane work like fixing bugs is boring, so nobody does it unless forced to.
It's called Herd Immunity. While you and your children aren't well protected against the infections that moderns societies vaccinate against, everyone else is, providing indirect protection. The people around you aren't sick, so they can't pass on infection to you, even though you are vulnerable. You live in a country where the negative impact of you foregoing vaccination is minimised because everyone else did get vaccinated. Hardly a solid argument against vaccination.
Most vaccines don't provide total protection to any one individual anyway, so many people that think they are protected aren't, and get by, just like you, because of the immunity of the population as a whole. As long as enough people are immune, diseases won't spread. The problem is that some vaccines are only just barely effective enough to establish herd immunity. If enough people decide to forego vaccination, there could be a real problem. Diseases that have been nearly wiped out could make a comeback, imported by tourists or immigrants from the third world. Even people who been vaccinated might die or become paralysed by their thousands, because of a small, foolish minority of people like yourself.
Yep, and Firefox and Chrome have had exploits too. So have Linux, the iOS, and Mac OS 10. So has nearly every piece of popular, complex software. The rate of exploits found that affect Foxit is trivial compared to the number found in Adobe Reader.
That needs a bit of clarification: Nearly every piece of popular, complex software, written in C or C++.
It's much harder to attack 'user' mode software written in safe managed languages like C# or Java.
Mind you, Adobe hires programmers who think it's a great idea to add "arbitrary code execution" to a document format not as a bug, but as an integral part of the spec! Sigh...
An more familar example is a no parking sign. I assume you've seen a sign along the lines of "No parking between 7pm and 7am"? this sign "proves" that parking is allowed between the opposite hours.
No, it doesn't. Parking may be restricted, for other reasons, for example, on that particular day. There may be a special event on, for example, indicated by a second street sign. You may be in a vehicle that is illegal to park on a public street at all times, such as a wide truck, or a vehicle carrying dangerous materials. That sign only proves that it is not legal to park between those times, the reverse is implied, but not proven.
This is exactly what I find wrong with philosophy - a good fraction of it simply ceases to be interesting or meaningful if the logic used is strict in the mathematical sense, not in the much weaker form still used in most philosophical discussions.