We're voting to end the war! Or so the proud proclaimation goes. As you can guess I don't like it. To be honest I don't see this bill, filled with juicy pork it may be going anywhere, Jr's already said he'll veto the damn thing and they don't have the 2/3ths they need to override. Still I'm gonna talk about it.
The Dems as you can read above want US troops out of Iraq by March 31st 2008 no matter what is going on in Iraq. As one can guess they're not even pretending to care about winning the thing, simply about ending it.
Why 2008? Because they don't have a shot in hell of ending it this year, although they have privisions in there to do so and they're try their level best to do so. There are a number of reasons why they're doing this some revolve around rather decent motives, they feel this war cannot be won and every life lost there is a waste and it's best to just end the thing. Others are not so decent, to be blunt there is no way in hell they want to run a Presidental race, or another Congressional race with Iraq hanging over them. Obama or Hillary the two current front runners in terms of money, popularity and organization are both close togather and far apart at the same time. Problem is Hillary has to prove she can be as tough as any man (to be honest, it's not her toughness that worrys me, she convinced me she was a tough old bird long time ago) while Obama possessing a Y chromosome doesn't. It might not be fair but that's life in a elected republic. Course women dictatiors seem thin on the ground these days but Catherine the Great could tell you... They do occur every now and again.
... Oh right, public schools. Catherine the Great was a German princess who seized power over Russia when it was unavoidable that her russian borne husband was both insane and an idiot. She did a pretty damn good job of ruling Russia with ye olde iron fist. You want more go read a fucking book.
Moving on.
Another reason is if they win those elections... They'll find themselves with the sole responsibilty for dealing with the Iraqi war... They don't like that, after all they won't be able to blame others for their actions for very long (not that Jr's people didn't try...) They much rather the war ended on the watch of the person who started the damn thing.
Still yet another reason is they have to pander to the Looney Sheehan crowd somehow or risk getting caught in a left to right crossfire. No snickering from the Republicians, y'all face the same problem everytime you venture south of Virginia, we call those values voters now I hear.
I oppose this for alot of reasons, some personal, some not. To be blunt, we found no weapons of mass desturction, but it no longer fucking matters. The Iraqis are not the enemy, they're our depenents and it's always morally wrong to abadon depenents. The sorta we broke it we bought it theory you could say. We can in storming and talking up this idea about how we were going to help them build a state without dictatiorship or oppression. Now we're gonna bug out because it's messier then we would like? Not excaltly a great thing to do is it?
I also believe that Iraq whether we like it or not has become part willy nilly of a bigger war. It has become the center stage of a regional battle between a wide variety of forces and if we want a spitting chance for any Arabs to live in even something that vaguely looks like a free state, we have to stay. If we leave other forces will take over and we'll get a Iranian client state or a battle field between different factions all trying to cut out a piece of the pie. That pie will be bleeding gentlemen and ladies, alot worse then it's bleeding now.
No the current Iraq is not a wondeful heaven of freedom, justice and the western way. Check out what S Korea looked like in the 60s and 70s, we still fought for them didn't we? S Korea changed and developed into a free state, I would like to think givent he chance the Iraqis can do the same. We won't know if we leave. I do know whoever wins will slam down an iron hand of oppression that will ground them under again. Odds are whoever wins won't like us very much and I won't be able to blame them much. Odds are whoever wins will want to see us hurt a bit, to bleed us some. Odds are if I'm right, we'll end up fighting in Iraq again in a few decades. If your children or your grandchildren end up fighting in Iraq because we left, don't come crying to me. I warned you and you ignored me.
Speaking of the S Koreans, we fought for them to the tune of 54,246 dead in 3 years (1950 to 1953). We've fought in Iraq for 4 years now (March 20th 2003 to March 26th 2007) for the butchers bill of 3241, some of those were friends of mine. They were good men and I don't want to face their shades and tell them it was for nothing. They would expect more I think.
To sum up I think pulling out before we have a stable Iraqi government with a dependable army and police force will reuslt in greater death and desturction. I think pulling out before hand will result in those hostile to us becoming stronger and gaining more ability to hurt and even kill us. I think pulling out before hand guantnees we will have to return at a future date and it will be even harder and messier then it is now and more American's will die. I believe ending it without regards to the the Iraqis needs or the state of the nation of Iraq will result in nothing less than a blood letting that makes Bosnia and Sudan look like pillow fights and I will not be silent in who I blame. Nor will I be silent if we have to go back.
It could be that I am wrong. That we leave and nothing major changes and we never have to return to Iraq in our lifetimes. In that case I'll admit to being wrong (although it'll be hard to say just when I'm wrong honestly) and frankly I'll be grateful that I am wrong. I think the Odds are good that I ain't wrong however, you can feel free to disregard and disagree. God knows most of ya are doing so already.
One of the more interesting questions facing schools now days is how percisely to teach people how to code. There are several schools of thought regarding this issue.
Now I'll be giving my thoughts on this from the prespective of a student who has infact started in middle of the road fashion, with Pascal, and whose education now branchs both to the low level(x86 ASM) and high(C#).
Each of the solutions has it's own advanteges and disadvantages, however, before I go on, I want to make clear that the final decision on what is better, is obviously very dependent on the goals of the educational plan. If the plan is to serve assembly-line style coders(which is another blog topic on it's own), then obviously, the latter plan of high level languages, is clearly better. If the goal is to create extreamly specialised and low level coders which will work on drivers and other such low level tasks, then obviously you have an interest in starting with machine level languages.
Assembler style languages
Forgive me for blatently ripping off an amazing manual to assembly language, but it provides a very good explanation on this. From here.
To quote, why NOT to learn assembly language?
Assembly is hard to learn.
Assembly is hard to read and understand.
Assembly is hard to write.
Today, machines are so fast that we no longer need to use assembly.
These combine into pretty good reasons not to learn assembly language as a starter language, don't these? Howeve they're all arguments that can be worked around. Also, assembly language brings with it importent advantages.
Knowledge. Your knowledge of assembly language will help you write better programs.
This sums up why I'd support assembly language in any fashion as an initial programming language. The knowledge of how high level language commands translate into actual machine code is something that most programmers will not use in their day to day work, however the knowledge will help people write better code and understand efficient algorithms better.
That is, the understanding that when you define a variable in a higher level language you are setting aside memory in some segment of the RAM for a specific variable, or that you use a FOR loop command in a high level language the computer actully uses some registers that change state depending on run iteration.
This knowledge is not obvious, but is picked up by actully writing non trivial programs in assembler,something not very easy to do at the start of a persons education. This is why I'd rather teach a machine code level language at an intermediate stage of a persons education rather then at the start.
Low level languages-Pascal, C, etc.
Languages above the assembler level can't always be differentiated so easily, so I'll split them like this. Those who manage memory for you, and those who don't.
In this case, I'll focus specifically on Pascal as an example, contrasting to a language like C. The advantages of such a language is that it forces you to learn proper habits, learn how to write things without utilising the myriad of libraries available to any higher level language.
To give just one example, learning some of the basic data types, like stacks, lists, queues, is far more beneficial at this level of a language, as you are forced to learn what a Pointer is, what it is used for, etc. To repeat what I said about assembler, even if you never use the language or the specific knowledge(such as pointers), you will be a better programmer because of it. Just to throw an example, would anyone learning a memory managed language know what a Null Pointer exception is? No, because he would never have learned what a pointer is.
In this case, I would also reccomend a specific language, Pascal, because of it's requirments for proper coding, without any of the various shortcuts that you can use in C. The importance of gaining proper habits early on cannot be overstated, not in coding, nor in any other activity that is more difficult then walking across the street.
High level languages -C#,Java, etc.
There is not much to be said about teaching these languages. On one hand, there is low initial overhead before you can start writing non trivial code, this comes from having a large built in library of stuff you can use. On the other hand, the exact same thing prevents full understanding of what goes on under the hood, because it is all handed to you on a platter.
The main advantage quoted about these languages is that these are the same languages that most people will use in their jobs. The obvious reply is that once you know a low-level language, not only is it trivial to learn another language, but going up a level will be vastly easier, since there is actual understanding of how things function.
To sum it up
It is, as always a contrast between how easy it is to learn something, how relevent is it to the real world, and if it actully teachs you anything. I think the balence here is in the low-level languages, there is enough abstractions that you can focus on actual logic and learning how to code(without learning how to actully write,say, a FOR loop) while not abstracting the actual operation.
Does this mean a low level language alone will teach a person how to code in the best fashion? Of course not, esspecially as more and more code nowdays is actully written in a higher level language. However, there is an inherent advantage to learn how things actully function that enables you to learn how to best use a higher level language. A mix of all three levels of code(Assembler, low level, high level) is the best way I've seen to teach, with a focus on the low level.
A quickie today; I haven't been posting much since I have been busy with other things, but this is something fun to read on your own.
On SDN, Sikon posted a link to the website of John G. Cramer, a professor in the Department of Physics, University of Washington, Seattle.
I have just now started reading it, but it is very interesting and applicable to some science fiction talk. Here it is:
I posted this on a web programming forum where I have been ranting about PHP, but figure it makes sense to fit it here, so here it is:
From my current project:
/* $orderby= ($sort == 'date') ? 'o.date_placed' : ($sort == 'brand') ? 'b.brand_name' : ($sort == 'customer') ? 'c.customer_lastname' : ($sort == 'status') ? 'o.order_status' : ($sort == 'order') ? 'o.order_id' : 'b.brand_id'; */ // Have to rewrite the above thusly because PHP hates me $orderby = 'b.brand_id'; if($sort == 'date') $orderby = 'o.date_placed'; if ($sort == 'brand') $orderby = 'b.brand_name'; if ($sort == 'customer') $orderby = 'c.customer_lastname'; if ($sort == 'status') $orderby = 'o.order_status'; if ($sort == 'order') $orderby = 'o.order_id'; // all done
The commented out block that comes first is a way you can easily do in-line translation tables in C, C++, Java, etc.
It used nested ternary operators that basically mean a bunch of if() else blocks, but all together with one one assignment statement.
You can see here with some indenting, it is very easy to read and add, remove, or modify conditions, even if you aren't familiar with the ternary statement. Even if you have never seen it before, I think that is pretty easy to read at first glance.
The second part (the uncommented part) does exactly the same thing with a series of if statements. I think it is a little harder to read, and it was harder to write, but modifying, adding, and removing from it is pretty easy too.
I wanted to use the commented part, but when I ran it, it always sorted by the order id, regardless of the sort variable's contents, which certainly wasn't what I had in mind.
So I go to the PHP manual, and sure enough, it talked about what I was trying to do, and explained it:
PHP.net
Note: Is is recommended that you avoid "stacking" ternary expressions. PHP's behaviour when using more than one ternary operator within a single statement is non-obvious:<?php // on first glance, the following appears to output 'true' echo (true?'true':false?'t':'f'); // however, the actual output of the above is 't' // this is because ternary expressions are evaluated from left to right // the following is a more obvious version of the same code as above echo ((true ? 'true' : 'false') ? 't' : 'f'); // here, you can see that the first expression is evaluated to 'true', which // in turn evaluates to (bool)true, thus returning the true branch of the // second ternary expression. ?>
Non-obvious, indeed. Even Javascript does it the C way, and JS is also weakly typed, so it might fall into the same trap as the final comment of the example.
This is understandable; it just goes left to right and doesn't recurse through it like the other languages, a decision perhaps made to improve execution time (though, nested ternaries aren't that common for things other than something similar to what I am trying to do anyway, unless you are purposefully obfuscating your code), but it still breaks from the other big languages, which is another small annoyance, and it removes a very useful and easy to use tool for not a very good reason, as far as I can tell.
(In the time it took them to write that warning in the manual, they probably could have added a recursive call to the parser to allow the feature to be used as well - it was surely a conscious design decision to do it their way, one I needless to say, disagree with.)
Oh well, the if() works, but if that were my logic, I could say if() and goto work just as well as for and while loops, and throw them out too!
Anyway, venting complete, time to finish the project.
This is just a quick post I am cross posting from a forum where I was discussing the specifics of my universe's FTL drive. It follows from the energy problem I discussed in my previous blog post about gravitation potential energy. Since my audience over there is different, I wrote in a different tone, and more specific to my universe, but I think the points should be applicable to anyone writing hard sci-fi, so I am posting it here too. Here it is:
The travel times imposed by the energy issue is significant, and I don't want to be tied to that the whole time.
I could say the FTL system can get energy from somewhere else, but still, the energy must be available, and huge amounts of energy, from anywhere, is still a problem as to unintended consequences. It is not possible to get around this directly while still using an arbitrary start / end point drive, even with any amount of handwavium, without sacrificing self-consitancy.
So the other thing I might have in mind is something like the Alderson points, created by Jerry Pournelle and Dan Alderson, and used by Larry Niven and Jerry Pournelle in the MOTE series (just like the Langston field, which bears resemblance to my shield and now shares a name)
I've said before that the FTL drive works because of the strange properties of a magical "warp field" that can be manipulated by warp coils. Other than that, the warp field doesn't do anything in the real universe. (anything perceptible, at least, though I might later tie it into my shields so both the handwaviums go back to the same source; I'll have to think hard before doing that though, since there will surely be unintended consequences and maybe broken tech abound if I actually work out a unified theory instead of leaving it at magic effects only. I don't think that would work)
Consider though, if there was some kind of warp field change with stars. Something like if you get in closer to one, there can be warp wormholes that will jump you to a point with equal gravitational potential around another star (which is a variation on one of the mechanisms I proposed a few months ago for the FTL system, but decided against, since it was too powerful - but putting in arbitrary points can solve that power problem).
Of course, your momentum is conserved, and so is your energy still, so you will still need a space drive to establish orbit around the new star.
The problem with points is:
1) Where will they be?
2) Why are they there and not somewhere else?
3) Are there more than one? Do they lead to the same star or different stars?
4) Why does it point to this one star instead of another one anyway?
5) How would they find them in-universe? Hell, how would they even know to look for them?
6) Do they orbit the star? If so, why? If not, why not? What kind of orbit does it have? Why?
7) Do they move through space with the star? Why or why not?
8) Does the star's relative motion with the destination change how it works?
9) How big are they? Why are they this big and not some other size?
10) How do you use them?
11) How often can you use them? Why does this limitation exist, if it does?
Then, of course, the secondary effects of their presence on military plans, transportation, etc. If they go through to many stars to the destination (like the Alderson Points), how does this change things - location of interstellar bases and colonies, etc? And I need to work their discovery and use into the master timeline while still making sense with everything, and they should probably be discovered early, since they are pretty needed for regular back and forth transit - the delta-v is bad enough without the obscene gravity cost. And I need to work out how having them or not having them changes interstellar ship design.
And that is that. I will return to post what I worked out for my universe once it has been worked out.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| << < | Current | > >> | ||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | |