I've got a thought running through my head. What if everything we do can be described as the difference between attrition warfare and maneuver warfare?
Attrition warfare is the tactical decision of the 19th century, and was codified by Carl von Clausewitz in On War. von Clausewitz argued heavily for the kind of attacks seen during World War I, in which soldiers lined up and charged at each other. These were heavily destructive battles that were exceptionally costly and ineffective. This strategy persisted far into the Cold War and beyond.
It has mostly persisted due to simplicity. It's a lot easier to teach Attrition War versus Maneuver War. Now, jump back to the point at which von Clausewitz was writing On War. He was a Prussian, writing about the battles of Napoleon. Shortly after, the Prussian level of thinking also created the basis of the modern education system. Prussia needed to move into the 20th century as fast as possible to prevent something like Napoleon from happening again.
Now, what the Prussians created was an attrition war versus the under-education of the the people. In many aspects, that is still what the entire education system is based on. But Attrition War has numerous problems. It is costly in terms of human lives, and generally ineffective versus a decent defense.
Against the proper defense, attrition warfare costs thousands of lives.
Where does that all tie back towards Maneuver Warfare? I think Boyd can answer that question.
A blog about the things that interest me. Includes random thoughts, Cisco, programming, and business related stuff from convenience store world.
Showing posts with label threading. Show all posts
Showing posts with label threading. Show all posts
Monday, February 2, 2015
Tuesday, January 6, 2015
Program 2: Java Stopwatch
With the NetworkStatus application in a mostly working
state, it’s time to shift gears to a separate application. I like to build small, similar applications
that will eventually use the same basic ideas.
The first application was designed to get a button working and
responding to being pressed. Program two
is about threading.
And what better way to move to in to threading than my old favorite
of the threading world, the Stop Watch.
StopWatch will be of similar design to NetworkStatus. The thing would have several buttons allowing
you to adjust the time, and display in the middle of the screen. There should be a start and stop button. So I guess the first thing is to pull up
paint and create a generic mockup of the program design.
I decided to go with a 3x4 grid layout simply because it’s
different than the gridbag layout I went with earlier. I’m still not impressed with Java
FlowLayouts, and GUI design in general seems like a real pain. But I’ve got to learn to work with what I
have to work with. Some systems just
seem to be better suited for certain things than others.
The number in location 0,1 and 2,1 will be independent of
each other. They will be separated by a colon. The colon ends up being just a text field
with the text size increased to make it look pretty. Really, the 0,1 and 2,1 are text fields as
well. They will just be handled with
some special code to make them operate properly. It’s not complex code, and I’ve written the
same thing in other languages before. See my C# example below.
Though after examining my old C# stop watch, I might put a
reset button in the middle. That could
work out nicely. So, half an hour into
this project I have a reasonable (though ugly) facsimile of a StopWatch. It is not fuctional, and I need about 200-300
more lines of code to make it work without threading. But at least there’s been some progress made. Maybe tomorrow, it will be counting.
Probably not. It will
take all of tomorrow to get the buttons working properly.
Subscribe to:
Posts (Atom)