HEADLINES: SECOND TIME WITHIN A MONTH THAT IMPERIAL ASSEMBLY REVEALED STATE SECRETS
ASPERMONT, WESTERLANDS - The Imperial Assembly leaked secret document files by accident as a certain Right Honourable drunkard thought it was the appropriate Imperial General Staff chat. The documents containing classified information was uploaded publicly but was quickly caught by the Speaker of the House, calling in the guards to arrest the man.
The event sparked a motion to rename the Imperial Assembly into something far more distinct to avoid such complications in the future. The proposal was ironically put forth in Imperial General Staff.
EDITORIAL - Implication of Testing
Falling Finger - Recently, I had a discussion with a friend about Testing, and I thought I might take a moment to talk about my opinions on Testing. The first thing to say, is that we are restricting what is being tested to Software, Testing may exist in other disciplines, but I’d like to say it’s not as distinct as it is in Software Engineering.
So what is the purpose of testing? To find bugs. Some think it is to prove a program is bug-free, but tests can still fail to find the flaws or bugs of a program. Such cases can be given examples such as memory leaks, buffer overflows or even just slightly unexpected behaviour. If you want to prove a program is bug free, you have to do it mathematically, but even then that is commonly an incomplete proof too because you place faith in the case that the operating system, compiler, interpreter or other overhead software systems your code relies on are also either proven or fully tested. It’s for this reason that there are good reasons not to use the C standard library at times, and it’s also for this reason that code can produce unexpected outputs. Sometimes this output is even shifted by the very architecture you use, as there are hardware differences too.
So, Software has multiple testing methods, the most common is just a lot of print statements, to confirm which line or variable contents. This is certainly useful, but tends to be left redundant with superior debugging tools like GDB, which lets you see variable contents and step through code line by line. It’s effective for building an understanding, but beyond debugging, this kind of test does very little to confirm the presence of bugs as it is commonly used for debugging, and understanding the problems that lie in it.
An alternative lies in something called Unit Tests. A unit test is simply described as a line of code that asserts that a statement holds true, and if it isn’t then there is an error or bug in the code that lies in that unit of code. The paradox of this, is you need to prove, test or simply have religious faith your code for the unit tests is good and the other problems described above for testing don’t arise.
Unit tests, being just code makes automating tests a lot easier, but still errors or issues can arise. Lets take the case of a double, a double is simply put a representation of a Real number. This means it’s has a decimal or fractional part and an integer part. Because of this, arithmetic with Doubles can end up being slightly imprecise. Usually this lack of precision isn’t an issue, but for some domains like Finance, or Missile Trajectory calculations, this can be a huge problem, and it’s for this reason Doubles are usually represented instead by Integers where possible. For unit tests, the question is how does one define equality between Doubles, like 2.00000001 and 2.0. The answer is to define a tolerance of imprecision for their equality, but this just provides an example of the issues that arise from using code to test code.
Unit tests also have another problem, which is the amount of code overhead you have to write for your code. It tends to be a lot of code, and it often tests normal cases and error cases to make sure both pass for each unit of code you have written. It’s worth noting at this point, a unit tends to be just a function(Method is basically the same). The overhead in code is enough that sometimes writing the test code can be a bit pointless and redundant, as I personally consider a failed test to be a test which doesn’t find a bug. The reason for this being that tests are to find bugs, not prove bugs aren’t there; though there is a good made case for them being to prove bugs aren’t there as you can’t truly be certain there is a bug there or not. This is often conveyed in the discussion of software correctness being basically impossible to prove.
The final thing I want to talk about is TDD, an abbreviation for Test Driven Development. The basic idea, is to write the tests, then write the code to pass those tests. The flaws in this arise when you consider the code overhead in tests with how they are often times more code than the actual implementation code will be. The other problem lies in asking yourself the question of, how can you be 100% or even 90% certain what the tests you need to meet are, before you’ve written the code? This question is risen as tests are to find bugs in code, but you have no code to find bugs in. Additionally, how can you know the full intricacies of a problem before you have written the code? When you come to writing the code, chances are, you will modify your tests to fit your code as well and meet in the middle.
Because of the problems in code overhead and the silliness in having to know the full breadth of your problem, I personally dislike TDD in general, but I acknowledge its usefulness in critical systems such as health systems or traffic infrastructure or the like. For the vast majority of software, this is not necessary. This isn’t to say I think Unit tests are bad, I think they are actually very useful, and provide a lot more comfort and trust that your code does what it says on the tin. All in all, the conclusion you can take from this, is that the Air traffic controller for your Air-plane is unlikely to be proven bug-free, and you could be the unlucky individual to be in the conditions for the bugs to arise.
TRADE - US MineZ Trade Run
The Directory proudly announces that it has delivered
2 Chain Sets
2 Iron Swords
1 Iron Axe
in value exchange
Lots of food
A rather peaceful trade run with many white regulars abound giving the UNKNOWN [?] Trading Company opportunity to increase its production to sell to as many people as possible. This was timed right with the universe and shit because last time, we did a weekday trade run which didn’t have a lot of people, so we gathered a lot expecting a lot more people this trade run.
Also, aren’t trade runs without Americans fucking awesome? Unfortunately, our nationality composition sounds like a set up to a bar joke. A Filipino, Macedonian, Englishman and Spaniard walk into a bar…
TRADE - Common Market Trade
The Directory proudly announces that it has witnessed the following goods circulated.
Iron Armor Pieces
Legendary Weapons and Armor
TRADE - US MineZ Trade
The Directory proudly announces that it has delivered
1 Battle Inventory
in value exchange for
Buy now. Pay later..
PvP Drill 169th Mass PvP Event - Maybe tomorrow
I just got back from a flight.
DOMESTIC - RACISTS ON SHOTBOW
A hundred Poles joined MineZ on Sunday with Company Members taking the opportunity from going off their usual schedules to see them and mingle. It was once a dream for Irishkaiser to raise a regiment comprised of pure Poles, seeing the many contributions of Polish and or Polish descended players for the UNKNOWN [?] Trading Company that proved rather valuable and one of the few nationalities that gave the UTC no problems at all with their tenure. Poles also rose to the top of the UNKNOWN [?] Trading Company hierarchy, becoming Lieutenants and even Directory Members in their own right in the past.
The service of Poles in the clan mirrored their service among the company of foreigners in real life. From Polish Lancers, to Polish Resistance Members and even Polish mercenaries. The Poles have shown themselves favorably to the Officers of the Clan and the Directory in particular.
The Poles encountered during Sunday were quite civilized. Attempts were made to give dialogue in their own language for their sake, but they insisted on practicing their English with us rather which we of course, did not refuse. Ah, c'est la vie. Unfortunately, the We Will Bury Them policy prevents us from making them stay, even for our benefit for we are the Rearguard that gets the good people out and keeps the bad people playing this game. The Premiums proved this when they cut a Polish streamer’s gameplay short and he left soon as he was killed after being fucked by them.
It is best for the Poles to take this as a lesson for they will know what kind of people these Premiums are. Fellow Westerners they may be, but values they have not.
FINANCE - JEWED BY AMERICANS
The Bank of America intermediary bank to a client in the United Stated Jewed the Bank of the Unknown [?] Clan out of about 20 or so dollars for processing paperwork but found the account written down as “non-existent.”
Legally speaking, the Bank of America did take it as a processing fee so they technically did their service and the fault lies in the probable faulty information given by the client. The client in the US did however insist that it was correct though the information was taken almost two years ago.
Ah, what can you do?
1) LEISURE WEEK NEXT WEEK.
^(THE [?] EMPIRE,THE COMPANY’S OFFICIAL NEWS SOURCE AND PROPAGANDA TOOL. AW YEAH)