Ron Paul is different. Check his congressional voting record. Go on. I dare you. It doesn't even slightly resemble any Demopublican or Republicrat you could possibly name. Then check his web site for his stated positions, and compare them to his voting record. You're in for a heck of a surprise. The man isn't evil at all. I don't agree with every position he holds, but the vast majority, I do. Furthermore, they actually are his positions and he actually votes his positions. It'd be a total mindf*ck to have a politician in the white house who made every effort to be reasonable, honest, and true to the constitutional basis of their job. Go on, check him out. I know you haven't, because even if you completely disagreed with the man, you'd never compare him to the run of the mill candidate. You'd have to disagree with him for entirely new reasons.:)
Oh, they have power, all right. They out and out stole it. What they don't have is authority. More to the point, there is provision in the constitution for making any changes that the country agrees are needed. This removes any possible justification for the feds acting outside the constituting authority (and I am sure the authors of the constitution knew this full well.) Most federal activities are 100% illegitimate by definition, because no law that violates constitutional boundaries (enumeration of federal powers on the one hand, rights of the people and the states on the other) can be legitimate. Enforcement is based upon power, not authority, because the only legitimate authority the feds have, or ever had, is that delegated to them by the constitution. Either they are going to obey it, and be legitimate, or they are not, and no one thing in the constitution is safe from abuse, which is exactly where we are now.
After all, it defeats the point if one can't move away from states with bad policies and into states with good policies.
It also removes a useful remedial effect: States with bad policies would see a population (and revenue) drop, while states with good policies would see gains. This would tend to send a wake up call to the worse states, which would act, based on economic pressure, to adjust the bad policies to be more in line with what people actually want. The more homogenous the states are, the less leverage the citizens have. Voting with your wallet (and your feet) is a great way to say "no thanks, buddy" to politicians that are out of control. With the feds running everything (and they pretty much are trying to), the differences erode and the citizen's power to force change with their feet/wallet erodes at the same time.
Don't you think the duplication of bureaucracy among the states is a waste of taxpayer money?
No. For instance, what works for New York State, a verdant, wet and well populated region, will not work for Montana; we have other environmental issues. Socially, we're also different: Actions taken legally in Connecticut (for instance, that the state can steal your property under eminent domain for the basically evil purpose of getting more tax revenue out of it), are 100% illegal in Montana for the specific reason that we have our own bureaucracy and they aren't quite as batshit insane as those legislators abusing the citizens of Connecticut. Texans can't sell sex toys (poor bastards), but we can. In some states, atheists can't hold public office. Unbelievable, but 100% true. Please keep both the feds and your own state's ideas far, far, away — really, if you want these laws, by all means, but keep them to yourselves. I'm sure you don't want our idea of what is good law forced on you, either. People significantly differ in outlook by region for both social and practical geographical reasons.
State's rights are critically important, likewise it is important that we stop the feds from illegitimately taking over everything they put their nasty little fingers on. Take a look at what they've done with the commerce clause if you want to see just how out of their tiny little minds they are.
Tip for you: Ron Paul isn't really a "republican." He's just running as one. He's as libertarian as the day is long.:) I specifically indicated that both parties are fielding candidates that will not make any difference, meaning, obviously I think, that they'll both be fiscally irresponsible, as well as constitutionally dangerous. So don't get mad. I wasn't dissing the democrats in favor of the republicans at all. They both suck harder than a newly opened vacuum flask in a high-pressure environment as far as I'm concerned.
I can hear them now: "If you elect me, I will sell you my own personal fish! Look how flat this baby is! I promise, I'll sell! This is a great fish, seriously!"
I was speaking generally; x86 assembler is irrelevant, LEA value,register is motorola-speak but the functionality is the essentially the same for that type of application. Likewise garbage collection - the point is, C++ hides what it is doing with memory objects from you, as well as what code it brings in to manage that. I prefer to have complete control. See my reply to the sibling post to yours if you're still interested. Please forgive my tendency to "think motorola", they were my favorite processors ever for writing assembly.
That's not exactly local cleanup. That's stack cleanup, but there are still resources you have to free if you had allocated any inside. The only difference between C and C++ in that regard is that, in C, you have to clean up yourself on every exit point, or define a bunch of labels for various stages of cleanup, and goto those as needed, depending on how much you've allocated. The latter is precisely what a C++ compiler will do with destructors, except that the C++ code is 2x shorter as a result, and you cannot accidentially forget to cleanup.
OK, it's not "local cleanup", it is cleanup of locals. For any reasonably sized element, you would allocate it that way. For large elements, you'd use an allocation. However, as I stated above, we have written a complete memory manager which includes pools. Works like this (typically - there are other modes of operation, and I've expanded some things into explicit code rather than parameterized defines so it'll be clearer... just keep in mind this exact functionality actually requires considerably less than the text shown... for instance, the entire getpoolid() line collapses to GPID("functionname") similarly to several other uses here):
// at beginning of source file:
#define THISFILE "filename"
// on function entry:
unsigned int pool = getpoolid("functionname", THISFILE);
// within function
if (ptr1 = getpoolmem(size1, "p_name1", pool))
{
if (ptr2 = getpoolmem(size2, "p_name2", pool))
{
if (ptr3 = getpoolmem(size3, "p_name3", pool))
{
// we're in here because all resources we require have been allocated, so do some things
freepoolmem(ptr2);// toss ptr2, we're done with it earlier than the others
// do more things
}
}
}
discardmempool(pool);// ptr1 and ptr3 get tossed here
// exit function
...this mechanism ensures that no memory from the local pool is left hanging around, and just takes two calls other than those you'd have to make anyway to use. what I do is have them as a macro, press a key for a function body that has them already stuck in there. In this way, the convenience and security of large local items that aren't stack-based is easily put in place, without going outside the bounds of c. Of course, there are other ways to use this mechanism, and a lot of other features ( emptypool(), getpoolmemindirect(), reportpoolstate(), discardallpools(), preallocatepool(), reallocpoolmem(), and so on. )
You'll note that of your proposed costs: A bunch of labels or gotos? None. Figuring out what to clean up? Not required or even helpful - if anything fails, the pool will cleanup regardless. No payment for a feature you're not using (plus, you have control over the features you do use.) If you want error tracking other than the allocation problems (the pool manager tracks those for you, live, right down to the file, function and specific pointer that had problems), putting elses on the ifs will do the job perfectly. Execution doesn't begin until the block where all resources are available, so no worries about that, either. And you can't forget to cleanup such that you ship a leak, because it'll flag you every time you run the feature if you do (and you won't if you build your function with a macro that puts the boilerplate in for you, which is the sensible and time-saving thing to do anyway.) The pool manager also "firewalls" the memory so that you can catch memory over-runs and under-runs, which are checked on freeing the memory, or can be checked with intermediate calls to checkpoolbounds(pool ID, 0 means check all pools).
See what I mean? It just isn't that difficult to implement decent memory mangement in c. You get to implement memory management t
Gore? Not even close. Gore is an entitlement vector. Like most from the Democrat side of the spectrum, he wants to take the nerd money (and everyone else's money) and spend it on pork; worse yet, he'd push the mommy government even deeper into it's trend of legislating against consensual, victimless, informed actions. He's your 2nd worst nightmare.
Ron Paul is by far the candidate that not only represents the "nerd", but also the actual basis for the government, the constitution. The only thing a president can really do (legitimately) is fool with foreign policy, and Paul isn't the least interested in making war on anyone - check out his positions. If we could get a congress that had actually read and understood the constitution (not to mention a supreme court), then you'd really have something.
But we all know what's going to happen: Middle america will elect Yet Another Corporate Hack from one of the two Corporate Sets of Well Financed Hacks, and nothing will change. It'll be just like the Democrats "taking over congress". Tons of promises, but are we out of Iraq? No. Are there *any* legislative signs we're going to be? No. Do we have any relief from Bush's illegal wiretapping and "signing statements" and pandering to Haliburton and crew? No.
If you really want improvement, cast your vote for Ron Paul. It won't be wasted, because as the Democrats have just shown us, there are no differences between mainstream moneyed candidates... so it won't make a bit of difference where your vote goes if you vote for anyone else. After all, we can't have Bush again. Unless he makes another illegal executive order, of course.
...how are you avoiding the overhead of an equivalent C++ code?
I think you may have answered your own question. There are no constructors, no destructors, no garbage collection, no inherited anything, the vast majority of temporary variables go away with one LEA (or architecture-specific equivalent) instruction on the way out of a function... there is only code you wrote, running exactly as you meant it to run, and built just like you intended it to be built. You have complete control, nothing is hidden or obscured, intentionally or inadvertently.
You would be able to more easily handle clean up with stack-based destructors and auto pointers.
Local cleanup in a c function happens when the function returns, typically in one instruction cycle; the stack pointer is modified to pop up past the reserved variables, regardless of how many there are, and that's it, they're gone. No muss, no fuss, and no programming - the close brace on the function is the closest to "programming" you have to do to accomplish this. Here's pseudo ASM code for typical function entry and exit:
// calling code: reserve space for non-register variables
LEAS -20,S
STORE copies of parameters into that area
CALL function // function entry
LEAS -80,S// reserve space for locals ...init variables if called for using S + offsets as base memory pointer ...function does whatever it does
LEAS 80,S// dump all locals
RETURN// to caller // or sometimes the above two instructions are one, LEAS 80,S + load PC from S++, meaning, also RETURN // calling level
LEAS 20,S// dump copies of called variables ...continue normally
As you can see, memory "management" for locals is two machine instructions, which isn't anything to be concerned about in most situations.
For non-local elements, we have our own pool and atomic memory allocation mechanism. If we even miss one memory deallocation (or make one of a number of other types of memory management errors), it screams bloody murder at us, tells us where and when and what happened in build configuration; consequently, we don't often ship memory leaks and we don't have to ship that portion of the memory management system, either, which makes things lighter and faster for the end user.
The bottom line is we don't have speed or code issues with clean-up; mostly, it's invisible, and when it isn't, it's trivial, though certainly critical. C++ doesn't offer anything to us in this area as far as I am aware. Though I would certainly be interested in hearing if you think otherwise.
[c++] is not, nor has ever been, a replacement for C or to be used in very low systems.
By all means, elaborate. What is c++ "to be used" for?
Also, just FYI, the systems I'm talking about are very amenable to c++; image processing, animation, ray tracing, particle systems, and so on. They're "low level" in the sense that they have a lot to accomplish, but they are high level in the sense of accomplishing many kinds of very sophisticated tasks.
You, like many may people, do not understand C++
Quite possibly. Being able to use all of its mechanisms doesn't mean that I fully grasp the gestalt they create as a whole. But I do understand c. More critically, I am also well versed in the value of speed, efficiency, and conservation of the user's limited resources to the user. I consider pursuit of these things an obligation that trumps the convenience offered to us as coders by going more HLL than c; that's not to say that you have to perceive such an obligation. Our competitors don't, and that alone creates a significant market niche for us.
So, when you have a small object with 10 methods, do you actually waste 40 bytes on 10 function pointers?
We would use - not waste - 4 or 8 per method (I see you're not thinking 64 bit yet...) if we create an object that will specifically benefit from methods, which mostly they don't; standard coding approaches work fine. Constructs often don't need to be objects because they aren't handled by multiple clients that would benefit from that kind of paradigm.
I'll give you an example of an object with methods; an effect, or filter, that can be animated or used atomically. Methods include setup, update, RGBA execute, geometric execute, cleanup, open dialog, set dialog, update dialog, draw, close dialog and so forth. Hundreds of effects or filters share these methods; all the methods are used under one condition or another, hence there is no waste. Likewise, these carry lists of variables that can be modified by the animation system, which are themselves objects and which are processed by another section of the software. It isn't wasteful in the least, it isn't difficult, and it doesn't bring along any baggage unless you specifically intend it to be there (which makes it not baggage.) It allows uniform handling of parameters, the ability to process them using various mechanisms such as splined, linear, table-driven - no matter what operator we're talking about. It also allows filters plugins to be both extremely simple, and still take advantage of the dialog system, the animation and so on. We use a similar approach for objects and textures in the ray tracer.
For example, in the image processor, a fully functional tint plugin that implements all filter capabilities breaks down to an ID function with 4 short lines of code, an initialize function with 1 short line of code, an execute function with 21 short lines of code, a setup function with 6 very short lines of code, and a dialog processing function with 7 short lines of code. That gets the plugin an about dialog as well as the function dialog, area-aware effect processing, user abort, unlimited undo, developer ID, progress bars (2 - 1 per op, 1 per stream), variable range limiting and wrapping, and error checking. Nothing else of ours gets linked into this, so it is extremely lightweight. Anything else is OS related (DLL paradigms, etc) and isn't overhead attributable to our code (and doesn't amount to much either.) Looking into the effects plugin folder of a competitor I have installed, the smallest plugin in the folder is 96k. Looking at a directory of our plugins, the smallest one in there is about 10k — and our plugins do a lot more and are considerably more flexible.
This size pattern (approximately 10:1) holds over the main executable, our own libraries as compared to libraries that come with competing products, and plug-ins. Speed doesn't see that kind of gain, but we do see a 2x to 3x speed advantage for most things, and for the couple that come to mind that we don't show such an advantage, I know the method we're using isn't even remotely similar to the competitor's method; we probably have failed to come to nearly as efficient a solution to the problem - it isn't a language issue so much as it is someone being more clever about that specific type of image processing than we have been. One big exception to this is application load time; there we are way faster than any of our competitors. Our apps are ready to use, including having registered a folder heavily loaded with plugins, before you can get your finger off your mouse using a machine that is several years old. Modern machines are even faster, but there isn't any way to really perceive it - once you get to the human perception of "immediate", there isn't anywhere else to really go.
you define your own virtual table structure, use var->vtable.move(var, x, y) kind of notation and require users to call non-virtual methods as ClassName_MethodName(obj, arg,
No, C isn't in any way going out. C produces fast, tight code that so far, C++ and C# can't even begin to match. C++ is just C with a lot of baggage, a great deal of which you can implement in C in a completely controllable, transparent and maintainable manner. We use the most important of those regularly in C code, specifically objects and objects with methods. We obtain better performance, smaller executables, and smaller memory footprints than any company that makes similar software using C++ or Objective C's add-on paradigms. C, and the C sub-domain of C++ and so on, is no more "going away" than C++ itself is. C occupies a unique niche between the metal of assembly and the (so far) considerably less efficient higher level languages — I'm talking about results here, not code. I'm all about recognizing that a few lines of C++ are very convenient, but the cost of those lines is still too high to even think about abandoning C code for performance applications. For many, the object isn't finding the absolute easiest way to write code, but instead trying to find a balance between portability, reasonable code effort and high performance. C sits exactly in that niche. C++ is easier to write, almost as portable, but produces applications with large footprints, inherited, unfixable problems inside non-transparent objects (like Microsoft's treeview, to name one), and a considerable loss of speed as compared to a coder who has a good sense of just what the C compiler actually does (which usually means a C coder that has assembly experience, intimate knowledge of stacks and registers and heaps and so on.)
Speaking as the guy who does the hiring around here, If your resume shows C and assembler experience, you've made a great start. Even just assembler. C or C++ only, and your odds have dropped considerably. C, assembler and either a great math background or specifically signal processing, and now we're talking. C++ doesn't hurt your chances, but you won't get to use it around here.:)
So, it's okay with you if I take the next job you apply for
If you can undercut my wages/costs or outperform me with your skills, why should I object? Clearly, you're the better person for the job. I should — and would — be looking for work elsewhere, or at a different level of recompense.
pay no taxes while putting a tax burden on you
Oh, you'll pay taxes (going along and assuming you're avoiding payroll taxes.) Taxes are mostly hidden. You pay taxes over and over again on everything you buy. When you buy groceries for example, you're paying not just for the bread, but for the taxes of the guy who delivered the bread, the taxes of the store where the bread was on the shelf, the taxes of the guy who rode the combine, the taxes for the people who made the combine, the taxes for the plant that holds the people that made the combine, the taxes on the fuel that powers the combine, the taxes for the guy who delivered the fuel that made the combine run, the taxes on the refinery that refined the fuel, the taxes for the people who run the refinery that made the fuel... and so it goes.
You pay taxes on everything you do or buy, at level after level after level, no matter if your employer taxes your wages, or not. You'll pay direct taxes, in full, on things like your own fuel and alcohol as well. You can't get out of road use taxes, they're built into every gallon of fuel you buy (and that is most of what the government does for the average citizen in any case — roads.) You'll pay the land taxes for the place you are living by paying rent to your landholder. You can't get out of paying taxes no matter how much you try, because a great deal of what you pay for any one item is taxes. In the USA, 42% of the GDP is collected as taxes by the federal government alone; you think the 5% tax (if they don't get an outright refund) paid by a fieldworker makes an impact? Hell no, they're still paying the rest every time they put a dollar into the economy for any purpose whatsoever. They have more in pocket, but then they spend more in the economy. They can't get out of taxes. No one can. It's a myth.
The fact that you may get out of direct taxes concerns me not at all; that's just a fraction of your contribution. This "getting out of taxes" thing results from a complete lack of understanding of where your money goes in the first place. Could you have a slight advantage? Sure. But so does Bill Gates. So does anyone who can afford to hire an accountant. So do religious and charitable and "not for profit" (and yes, those quotes are sarcasm) organizations.
This, on top of the fact that a great deal of tax money is wasted, and even more is channeled into activities that the government has no constitutionally derived authority to be involved in. So do I care that you get around some taxes? No. You'll just spend that money in the mainstream system anyway, and they'll take a great deal of it from you there. All the more because you'll have a little more to spend (taxes at immigrant field laborer rates aren't very significant, by the way.) Just because these costs aren't obvious to you, doesn't mean that they aren't just as real as the taxes your employer smacks you with on behalf of the leeches in Washington and your state capital.
operate as a criminal in your country?
Criminal, shriminal. Look: In the USA, "crime" doesn't mean "bad." Crime means "against the law", and the fact is, a great deal of our law — including the areas affecting immigration — are what is actually bad. When people act against unjust law, we call that "civil disobedience" and to be perfectly frank, we need more of it. No, doesn't bother me even the slightest if you are breaking one of these stupid laws. They should never have been made in the first place.
Sorry, you guessed wrongly; I do not belong to or su
And my logic is that you are the offspring of immigrant ancestors and haven't got a rational leg to stand on. You're simply greedy and/or afraid of competition with people who don't share your current social goal-seeking behavior.
Keep, ancient lands, your storied pomp!
Give me your tired, your poor,
Your huddled masses yearning to breathe free,
The wretched refuse of your teeming shore.
Send these, the homeless, tempest-tost to me,
I lift my lamp beside the golden door!
Immigration is a threat to bigotry and entitlement. Bigotry and entitlement are a threat to the underlying rationale that formed the work-based industrial economy of this country. Arbitrarily high wages for relatively unskilled jobs are the fruits of the labor unions, operating at the behest of those who have no sense of relative value except when it suits them. Those people created the opportunity for immigrants and willing citizens to undercut them. The idea that such people have a right not to be undercut is a disease that has done more harm to this country than any set of immigrants could possibly lay claim to.
The current hysteria is fueled by a constant harping on immigration, global warming, drugs, pedophilia, and terrorism. When people dance to the pulling of those strings, they're just doing exactly what the power-base wants them to do, which is ignore the real problems, the erosion of meaning from the constitution, and the consolidation of all powers into the federal government.
The movie industry is making a bundle off of you. And they're then using that money to directly attack you and the things you believe in.
The entertainment people make some products that I want. I am willing to pay for these items, because the value I receive for the particular products I am interested in is, in my opinion, sufficient. Not perfect, but sufficient. They are as entitled to an opinion as I am about what they think is the correct way to do things; the law supports how they operate, or at least, the common interpretation of the courts of that law. So the place to agitate is indeed political, not at the companies themselves (who, if forced to remove DRM by law, will still hold the opinion that they would rather have DRM.)
The fact is, I enjoy movies a great deal more than I suffer from DRM. This makes my choice about what to do with my discretionary funds very easy. Not all things I object to balance out this way, but movies and music both do. None of this affects what I do at the political level, or for products that I control, where I enforce policies such as this one.
I appreciate that these choices may not be your choices. In that case, you should be the one voting with your sacrifice of entertainment. It isn't a choice I care to make.
I type in English part of the time, and in phonetic Korean part of the time, and the rest of the time I'm trying to get Chinese characters (actually Korean han ja, but very similar in scope... thousands of characters from the Chinese set) out of various keystroke combinations. It would be quite a boon to me if this thing could remap on the fly. Even worth $1500. But I'm not buying one until I know it'll do what I want. I'm also curious about the lifetimes of the OLEDs. My keyboard is powered up 24/7.
Hey... thanks for the pointer. I've been looking for some backlit keyboards for my Mac Minis, and these people have 'em - plus, they look really nice. Much appreciated.
Yes, external switchers seem to be pretty much required as of now. A shame.
A/v preamps; Outlaw Audio has a preamp with a couple of DVI inputs; since in some cases HDMI and DVI can be adapted, might be worth exchanging some email with them. They might be cooking up an HDMI version too, as DVI version is about 2 years old now. I looked at this preamp very seriously when considering component, was going to pair it with a full complement of Marantz monoblocks; I'm kind of sorry I didn't go for it, the Denon I ended up with for component has the worst menu system known to man. It ended up in the basement with the 720p projector, though, so my kids have to deal with that thing now.;-) Aside of OA, this search turned up news from Sunfire, NAD, Anthem, and Arcam that all looked interesting.
There is a HDMI transmitter/receiver pair as well, unfortunately last I heard it was only good for up to 1080i/720p. There was some talk of a 1080p model, but no actual hardware as yet. When they get there, I'm going to try it because my projector is quite some distance from my other A/V gear, a consequence of a somewhat large display (204") and limitations of the lens on my projector. As it stands now, I've got some awfully long cables run under the floor joists and I'm not very happy with that.
If you hold no belief in a god or gods, you are atheist. Doesn't matter why. It isn't about what you will say or declare. It is about belief, or lack thereof.
Q: Why do trophy hunters shoot animals? A: to collect their heads and hang them on the wall.
Q: Why do trophy hunters travel all the way to Africa to collect heads, when they could do it right here in the USA? A: Because the heads from Africa are different.
Finally, we're insignificant now, but we might not be within a fairly short time. Q: Why does a smart homeowner call the exterminator as soon as they see the first cockroach? A: Because they know infestations are really, really troublesome once they get going.
It would be like you traveling from the US to Hong Kong to squash an annoying moth
Well, we think the trip would be a challenge at this point in our development. But if they can do it at all, one can presume it might not be that much of a challenge. Maybe it isn't a challenge at all. In that case, it is more like reaching out absentmindedly and swatting a moth before it lands in your cocktail.
My argument against this line of reasoning is always the same
Hmmm. Well, then, I think you need a new argument.:-)
One thing to watch for is the up-conversion switching in and out. If there is no signal (say your HDMI DVD player is off) and your receiver is set to automatically detect the input type (composite, S-video, component, etc) then when you switch to DVD, it may try to up-convert and then not be paying "attention" to the HDMI input when you actually turn on the DVD player. A quick fix for this is to make sure the DVD player is on, select a different component, then back to the DVD player. Another more permanent fix - if your receiver supports it - is to force the input to HDMI only by turning off automatic up-conversion for that input.
I've found that most of these "black screen" events can be attributed to up-conversion issues. So hopefully that'll be of some help to you... or someone, anyway.:-)
No. Atheism literally means a (without) theism (belief in god or gods.) Agnosticism is about knowledge; knowledge in turn refers to nature and things within nature, not the supernatural, which can only gain mental traction through belief. Agnosticism does not define a third position, it isn't even in the same domain. There are only two sides to the issue: Either you hold a belief in a god or gods, or you do not. There is no middle ground between the two. if you want to know where someone lands in this polarized spectrum, just ask them if they believe in a god or gods. If they do, they are theist, if they don't, they are atheist. It isn't about why or how much or reservations. It's about belief, or non-belief.
The atheist community makes a distinction between two primary subdivisions of atheism: First, those that hold a firm, assertive position that there is no god. This is a belief based on lack of evidence; a very large preponderance of a failure to find evidence in the face of trying to for thousands of years, specifically. And of course, these people hold no belief in a god or gods. Secondly, those that simply don't hold such a belief, some fraction of whom aren't very concerned about it, but don't find it any more important to declare "there is no god or gods" any more than they do to declare "there is no Santa Claus." Religion just isn't important to everybody, at least, insofar as personal outlook goes. Religion interferes with everyone's lives when it forces social limitations based upon its precepts onto those who wish to be free of said religion's ideas.
Ron Paul is different. Check his congressional voting record. Go on. I dare you. It doesn't even slightly resemble any Demopublican or Republicrat you could possibly name. Then check his web site for his stated positions, and compare them to his voting record. You're in for a heck of a surprise. The man isn't evil at all. I don't agree with every position he holds, but the vast majority, I do. Furthermore, they actually are his positions and he actually votes his positions. It'd be a total mindf*ck to have a politician in the white house who made every effort to be reasonable, honest, and true to the constitutional basis of their job. Go on, check him out. I know you haven't, because even if you completely disagreed with the man, you'd never compare him to the run of the mill candidate. You'd have to disagree with him for entirely new reasons. :)
That's the hook, isn't it?
Oh, they have power, all right. They out and out stole it. What they don't have is authority. More to the point, there is provision in the constitution for making any changes that the country agrees are needed. This removes any possible justification for the feds acting outside the constituting authority (and I am sure the authors of the constitution knew this full well.) Most federal activities are 100% illegitimate by definition, because no law that violates constitutional boundaries (enumeration of federal powers on the one hand, rights of the people and the states on the other) can be legitimate. Enforcement is based upon power, not authority, because the only legitimate authority the feds have, or ever had, is that delegated to them by the constitution. Either they are going to obey it, and be legitimate, or they are not, and no one thing in the constitution is safe from abuse, which is exactly where we are now.
After all, it defeats the point if one can't move away from states with bad policies and into states with good policies.
It also removes a useful remedial effect: States with bad policies would see a population (and revenue) drop, while states with good policies would see gains. This would tend to send a wake up call to the worse states, which would act, based on economic pressure, to adjust the bad policies to be more in line with what people actually want. The more homogenous the states are, the less leverage the citizens have. Voting with your wallet (and your feet) is a great way to say "no thanks, buddy" to politicians that are out of control. With the feds running everything (and they pretty much are trying to), the differences erode and the citizen's power to force change with their feet/wallet erodes at the same time.
No. For instance, what works for New York State, a verdant, wet and well populated region, will not work for Montana; we have other environmental issues. Socially, we're also different: Actions taken legally in Connecticut (for instance, that the state can steal your property under eminent domain for the basically evil purpose of getting more tax revenue out of it), are 100% illegal in Montana for the specific reason that we have our own bureaucracy and they aren't quite as batshit insane as those legislators abusing the citizens of Connecticut. Texans can't sell sex toys (poor bastards), but we can. In some states, atheists can't hold public office. Unbelievable, but 100% true. Please keep both the feds and your own state's ideas far, far, away — really, if you want these laws, by all means, but keep them to yourselves. I'm sure you don't want our idea of what is good law forced on you, either. People significantly differ in outlook by region for both social and practical geographical reasons.
State's rights are critically important, likewise it is important that we stop the feds from illegitimately taking over everything they put their nasty little fingers on. Take a look at what they've done with the commerce clause if you want to see just how out of their tiny little minds they are.
Tip for you: Ron Paul isn't really a "republican." He's just running as one. He's as libertarian as the day is long. :) I specifically indicated that both parties are fielding candidates that will not make any difference, meaning, obviously I think, that they'll both be fiscally irresponsible, as well as constitutionally dangerous. So don't get mad. I wasn't dissing the democrats in favor of the republicans at all. They both suck harder than a newly opened vacuum flask in a high-pressure environment as far as I'm concerned.
"sell his sole"
I can hear them now: "If you elect me, I will sell you my own personal fish! Look how flat this baby is! I promise, I'll sell! This is a great fish, seriously!"
I was speaking generally; x86 assembler is irrelevant, LEA value,register is motorola-speak but the functionality is the essentially the same for that type of application. Likewise garbage collection - the point is, C++ hides what it is doing with memory objects from you, as well as what code it brings in to manage that. I prefer to have complete control. See my reply to the sibling post to yours if you're still interested. Please forgive my tendency to "think motorola", they were my favorite processors ever for writing assembly.
OK, it's not "local cleanup", it is cleanup of locals. For any reasonably sized element, you would allocate it that way. For large elements, you'd use an allocation. However, as I stated above, we have written a complete memory manager which includes pools. Works like this (typically - there are other modes of operation, and I've expanded some things into explicit code rather than parameterized defines so it'll be clearer... just keep in mind this exact functionality actually requires considerably less than the text shown... for instance, the entire getpoolid() line collapses to GPID("functionname") similarly to several other uses here):
#define THISFILE "filename"
unsigned int pool = getpoolid("functionname", THISFILE);
if (ptr1 = getpoolmem(size1, "p_name1", pool))
{
if (ptr2 = getpoolmem(size2, "p_name2", pool))
{
if (ptr3 = getpoolmem(size3, "p_name3", pool))
{
freepoolmem(ptr2);
}
}
}
discardmempool(pool);
You'll note that of your proposed costs: A bunch of labels or gotos? None. Figuring out what to clean up? Not required or even helpful - if anything fails, the pool will cleanup regardless. No payment for a feature you're not using (plus, you have control over the features you do use.) If you want error tracking other than the allocation problems (the pool manager tracks those for you, live, right down to the file, function and specific pointer that had problems), putting elses on the ifs will do the job perfectly. Execution doesn't begin until the block where all resources are available, so no worries about that, either. And you can't forget to cleanup such that you ship a leak, because it'll flag you every time you run the feature if you do (and you won't if you build your function with a macro that puts the boilerplate in for you, which is the sensible and time-saving thing to do anyway.) The pool manager also "firewalls" the memory so that you can catch memory over-runs and under-runs, which are checked on freeing the memory, or can be checked with intermediate calls to checkpoolbounds(pool ID, 0 means check all pools).
See what I mean? It just isn't that difficult to implement decent memory mangement in c. You get to implement memory management t
Gore? Not even close. Gore is an entitlement vector. Like most from the Democrat side of the spectrum, he wants to take the nerd money (and everyone else's money) and spend it on pork; worse yet, he'd push the mommy government even deeper into it's trend of legislating against consensual, victimless, informed actions. He's your 2nd worst nightmare.
Ron Paul is by far the candidate that not only represents the "nerd", but also the actual basis for the government, the constitution. The only thing a president can really do (legitimately) is fool with foreign policy, and Paul isn't the least interested in making war on anyone - check out his positions. If we could get a congress that had actually read and understood the constitution (not to mention a supreme court), then you'd really have something.
But we all know what's going to happen: Middle america will elect Yet Another Corporate Hack from one of the two Corporate Sets of Well Financed Hacks, and nothing will change. It'll be just like the Democrats "taking over congress". Tons of promises, but are we out of Iraq? No. Are there *any* legislative signs we're going to be? No. Do we have any relief from Bush's illegal wiretapping and "signing statements" and pandering to Haliburton and crew? No.
If you really want improvement, cast your vote for Ron Paul. It won't be wasted, because as the Democrats have just shown us, there are no differences between mainstream moneyed candidates... so it won't make a bit of difference where your vote goes if you vote for anyone else. After all, we can't have Bush again. Unless he makes another illegal executive order, of course.
I think you may have answered your own question. There are no constructors, no destructors, no garbage collection, no inherited anything, the vast majority of temporary variables go away with one LEA (or architecture-specific equivalent) instruction on the way out of a function... there is only code you wrote, running exactly as you meant it to run, and built just like you intended it to be built. You have complete control, nothing is hidden or obscured, intentionally or inadvertently.
Local cleanup in a c function happens when the function returns, typically in one instruction cycle; the stack pointer is modified to pop up past the reserved variables, regardless of how many there are, and that's it, they're gone. No muss, no fuss, and no programming - the close brace on the function is the closest to "programming" you have to do to accomplish this. Here's pseudo ASM code for typical function entry and exit:
LEAS -20,S
STORE copies of parameters into that area
CALL function
LEAS -80,S
LEAS 80,S
RETURN
LEAS 20,S
As you can see, memory "management" for locals is two machine instructions, which isn't anything to be concerned about in most situations.
For non-local elements, we have our own pool and atomic memory allocation mechanism. If we even miss one memory deallocation (or make one of a number of other types of memory management errors), it screams bloody murder at us, tells us where and when and what happened in build configuration; consequently, we don't often ship memory leaks and we don't have to ship that portion of the memory management system, either, which makes things lighter and faster for the end user.
The bottom line is we don't have speed or code issues with clean-up; mostly, it's invisible, and when it isn't, it's trivial, though certainly critical. C++ doesn't offer anything to us in this area as far as I am aware. Though I would certainly be interested in hearing if you think otherwise.
By all means, elaborate. What is c++ "to be used" for?
Also, just FYI, the systems I'm talking about are very amenable to c++; image processing, animation, ray tracing, particle systems, and so on. They're "low level" in the sense that they have a lot to accomplish, but they are high level in the sense of accomplishing many kinds of very sophisticated tasks.
Quite possibly. Being able to use all of its mechanisms doesn't mean that I fully grasp the gestalt they create as a whole. But I do understand c. More critically, I am also well versed in the value of speed, efficiency, and conservation of the user's limited resources to the user. I consider pursuit of these things an obligation that trumps the convenience offered to us as coders by going more HLL than c; that's not to say that you have to perceive such an obligation. Our competitors don't, and that alone creates a significant market niche for us.
We would use - not waste - 4 or 8 per method (I see you're not thinking 64 bit yet...) if we create an object that will specifically benefit from methods, which mostly they don't; standard coding approaches work fine. Constructs often don't need to be objects because they aren't handled by multiple clients that would benefit from that kind of paradigm.
I'll give you an example of an object with methods; an effect, or filter, that can be animated or used atomically. Methods include setup, update, RGBA execute, geometric execute, cleanup, open dialog, set dialog, update dialog, draw, close dialog and so forth. Hundreds of effects or filters share these methods; all the methods are used under one condition or another, hence there is no waste. Likewise, these carry lists of variables that can be modified by the animation system, which are themselves objects and which are processed by another section of the software. It isn't wasteful in the least, it isn't difficult, and it doesn't bring along any baggage unless you specifically intend it to be there (which makes it not baggage.) It allows uniform handling of parameters, the ability to process them using various mechanisms such as splined, linear, table-driven - no matter what operator we're talking about. It also allows filters plugins to be both extremely simple, and still take advantage of the dialog system, the animation and so on. We use a similar approach for objects and textures in the ray tracer.
For example, in the image processor, a fully functional tint plugin that implements all filter capabilities breaks down to an ID function with 4 short lines of code, an initialize function with 1 short line of code, an execute function with 21 short lines of code, a setup function with 6 very short lines of code, and a dialog processing function with 7 short lines of code. That gets the plugin an about dialog as well as the function dialog, area-aware effect processing, user abort, unlimited undo, developer ID, progress bars (2 - 1 per op, 1 per stream), variable range limiting and wrapping, and error checking. Nothing else of ours gets linked into this, so it is extremely lightweight. Anything else is OS related (DLL paradigms, etc) and isn't overhead attributable to our code (and doesn't amount to much either.) Looking into the effects plugin folder of a competitor I have installed, the smallest plugin in the folder is 96k. Looking at a directory of our plugins, the smallest one in there is about 10k — and our plugins do a lot more and are considerably more flexible.
This size pattern (approximately 10:1) holds over the main executable, our own libraries as compared to libraries that come with competing products, and plug-ins. Speed doesn't see that kind of gain, but we do see a 2x to 3x speed advantage for most things, and for the couple that come to mind that we don't show such an advantage, I know the method we're using isn't even remotely similar to the competitor's method; we probably have failed to come to nearly as efficient a solution to the problem - it isn't a language issue so much as it is someone being more clever about that specific type of image processing than we have been. One big exception to this is application load time; there we are way faster than any of our competitors. Our apps are ready to use, including having registered a folder heavily loaded with plugins, before you can get your finger off your mouse using a machine that is several years old. Modern machines are even faster, but there isn't any way to really perceive it - once you get to the human perception of "immediate", there isn't anywhere else to really go.
No, C isn't in any way going out. C produces fast, tight code that so far, C++ and C# can't even begin to match. C++ is just C with a lot of baggage, a great deal of which you can implement in C in a completely controllable, transparent and maintainable manner. We use the most important of those regularly in C code, specifically objects and objects with methods. We obtain better performance, smaller executables, and smaller memory footprints than any company that makes similar software using C++ or Objective C's add-on paradigms. C, and the C sub-domain of C++ and so on, is no more "going away" than C++ itself is. C occupies a unique niche between the metal of assembly and the (so far) considerably less efficient higher level languages — I'm talking about results here, not code. I'm all about recognizing that a few lines of C++ are very convenient, but the cost of those lines is still too high to even think about abandoning C code for performance applications. For many, the object isn't finding the absolute easiest way to write code, but instead trying to find a balance between portability, reasonable code effort and high performance. C sits exactly in that niche. C++ is easier to write, almost as portable, but produces applications with large footprints, inherited, unfixable problems inside non-transparent objects (like Microsoft's treeview, to name one), and a considerable loss of speed as compared to a coder who has a good sense of just what the C compiler actually does (which usually means a C coder that has assembly experience, intimate knowledge of stacks and registers and heaps and so on.)
Speaking as the guy who does the hiring around here, If your resume shows C and assembler experience, you've made a great start. Even just assembler. C or C++ only, and your odds have dropped considerably. C, assembler and either a great math background or specifically signal processing, and now we're talking. C++ doesn't hurt your chances, but you won't get to use it around here. :)
If you can undercut my wages/costs or outperform me with your skills, why should I object? Clearly, you're the better person for the job. I should — and would — be looking for work elsewhere, or at a different level of recompense.
Oh, you'll pay taxes (going along and assuming you're avoiding payroll taxes.) Taxes are mostly hidden. You pay taxes over and over again on everything you buy. When you buy groceries for example, you're paying not just for the bread, but for the taxes of the guy who delivered the bread, the taxes of the store where the bread was on the shelf, the taxes of the guy who rode the combine, the taxes for the people who made the combine, the taxes for the plant that holds the people that made the combine, the taxes on the fuel that powers the combine, the taxes for the guy who delivered the fuel that made the combine run, the taxes on the refinery that refined the fuel, the taxes for the people who run the refinery that made the fuel... and so it goes.
You pay taxes on everything you do or buy, at level after level after level, no matter if your employer taxes your wages, or not. You'll pay direct taxes, in full, on things like your own fuel and alcohol as well. You can't get out of road use taxes, they're built into every gallon of fuel you buy (and that is most of what the government does for the average citizen in any case — roads.) You'll pay the land taxes for the place you are living by paying rent to your landholder. You can't get out of paying taxes no matter how much you try, because a great deal of what you pay for any one item is taxes. In the USA, 42% of the GDP is collected as taxes by the federal government alone; you think the 5% tax (if they don't get an outright refund) paid by a fieldworker makes an impact? Hell no, they're still paying the rest every time they put a dollar into the economy for any purpose whatsoever. They have more in pocket, but then they spend more in the economy. They can't get out of taxes. No one can. It's a myth.
The fact that you may get out of direct taxes concerns me not at all; that's just a fraction of your contribution. This "getting out of taxes" thing results from a complete lack of understanding of where your money goes in the first place. Could you have a slight advantage? Sure. But so does Bill Gates. So does anyone who can afford to hire an accountant. So do religious and charitable and "not for profit" (and yes, those quotes are sarcasm) organizations.
This, on top of the fact that a great deal of tax money is wasted, and even more is channeled into activities that the government has no constitutionally derived authority to be involved in. So do I care that you get around some taxes? No. You'll just spend that money in the mainstream system anyway, and they'll take a great deal of it from you there. All the more because you'll have a little more to spend (taxes at immigrant field laborer rates aren't very significant, by the way.) Just because these costs aren't obvious to you, doesn't mean that they aren't just as real as the taxes your employer smacks you with on behalf of the leeches in Washington and your state capital.
Criminal, shriminal. Look: In the USA, "crime" doesn't mean "bad." Crime means "against the law", and the fact is, a great deal of our law — including the areas affecting immigration — are what is actually bad. When people act against unjust law, we call that "civil disobedience" and to be perfectly frank, we need more of it. No, doesn't bother me even the slightest if you are breaking one of these stupid laws. They should never have been made in the first place.
And my logic is that you are the offspring of immigrant ancestors and haven't got a rational leg to stand on. You're simply greedy and/or afraid of competition with people who don't share your current social goal-seeking behavior.
Immigration is a threat to bigotry and entitlement. Bigotry and entitlement are a threat to the underlying rationale that formed the work-based industrial economy of this country. Arbitrarily high wages for relatively unskilled jobs are the fruits of the labor unions, operating at the behest of those who have no sense of relative value except when it suits them. Those people created the opportunity for immigrants and willing citizens to undercut them. The idea that such people have a right not to be undercut is a disease that has done more harm to this country than any set of immigrants could possibly lay claim to.
The current hysteria is fueled by a constant harping on immigration, global warming, drugs, pedophilia, and terrorism. When people dance to the pulling of those strings, they're just doing exactly what the power-base wants them to do, which is ignore the real problems, the erosion of meaning from the constitution, and the consolidation of all powers into the federal government.
The entertainment people make some products that I want. I am willing to pay for these items, because the value I receive for the particular products I am interested in is, in my opinion, sufficient. Not perfect, but sufficient. They are as entitled to an opinion as I am about what they think is the correct way to do things; the law supports how they operate, or at least, the common interpretation of the courts of that law. So the place to agitate is indeed political, not at the companies themselves (who, if forced to remove DRM by law, will still hold the opinion that they would rather have DRM.)
The fact is, I enjoy movies a great deal more than I suffer from DRM. This makes my choice about what to do with my discretionary funds very easy. Not all things I object to balance out this way, but movies and music both do. None of this affects what I do at the political level, or for products that I control, where I enforce policies such as this one.
I appreciate that these choices may not be your choices. In that case, you should be the one voting with your sacrifice of entertainment. It isn't a choice I care to make.
Thanks.
I type in English part of the time, and in phonetic Korean part of the time, and the rest of the time I'm trying to get Chinese characters (actually Korean han ja, but very similar in scope... thousands of characters from the Chinese set) out of various keystroke combinations. It would be quite a boon to me if this thing could remap on the fly. Even worth $1500. But I'm not buying one until I know it'll do what I want. I'm also curious about the lifetimes of the OLEDs. My keyboard is powered up 24/7.
Hey... thanks for the pointer. I've been looking for some backlit keyboards for my Mac Minis, and these people have 'em - plus, they look really nice. Much appreciated.
Yes, external switchers seem to be pretty much required as of now. A shame.
A/v preamps; Outlaw Audio has a preamp with a couple of DVI inputs; since in some cases HDMI and DVI can be adapted, might be worth exchanging some email with them. They might be cooking up an HDMI version too, as DVI version is about 2 years old now. I looked at this preamp very seriously when considering component, was going to pair it with a full complement of Marantz monoblocks; I'm kind of sorry I didn't go for it, the Denon I ended up with for component has the worst menu system known to man. It ended up in the basement with the 720p projector, though, so my kids have to deal with that thing now. ;-) Aside of OA, this search turned up news from Sunfire, NAD, Anthem, and Arcam that all looked interesting.
There is a HDMI transmitter/receiver pair as well, unfortunately last I heard it was only good for up to 1080i/720p. There was some talk of a 1080p model, but no actual hardware as yet. When they get there, I'm going to try it because my projector is quite some distance from my other A/V gear, a consequence of a somewhat large display (204") and limitations of the lens on my projector. As it stands now, I've got some awfully long cables run under the floor joists and I'm not very happy with that.
If you hold no belief in a god or gods, you are atheist. Doesn't matter why. It isn't about what you will say or declare. It is about belief, or lack thereof.
Q: Why do trophy hunters shoot animals? A: to collect their heads and hang them on the wall.
Q: Why do trophy hunters travel all the way to Africa to collect heads, when they could do it right here in the USA? A: Because the heads from Africa are different.
Finally, we're insignificant now, but we might not be within a fairly short time. Q: Why does a smart homeowner call the exterminator as soon as they see the first cockroach? A: Because they know infestations are really, really troublesome once they get going.
Well, we think the trip would be a challenge at this point in our development. But if they can do it at all, one can presume it might not be that much of a challenge. Maybe it isn't a challenge at all. In that case, it is more like reaching out absentmindedly and swatting a moth before it lands in your cocktail.
Hmmm. Well, then, I think you need a new argument. :-)
One thing to watch for is the up-conversion switching in and out. If there is no signal (say your HDMI DVD player is off) and your receiver is set to automatically detect the input type (composite, S-video, component, etc) then when you switch to DVD, it may try to up-convert and then not be paying "attention" to the HDMI input when you actually turn on the DVD player. A quick fix for this is to make sure the DVD player is on, select a different component, then back to the DVD player. Another more permanent fix - if your receiver supports it - is to force the input to HDMI only by turning off automatic up-conversion for that input.
I've found that most of these "black screen" events can be attributed to up-conversion issues. So hopefully that'll be of some help to you... or someone, anyway. :-)
No. Atheism literally means a (without) theism (belief in god or gods.) Agnosticism is about knowledge; knowledge in turn refers to nature and things within nature, not the supernatural, which can only gain mental traction through belief. Agnosticism does not define a third position, it isn't even in the same domain. There are only two sides to the issue: Either you hold a belief in a god or gods, or you do not. There is no middle ground between the two. if you want to know where someone lands in this polarized spectrum, just ask them if they believe in a god or gods. If they do, they are theist, if they don't, they are atheist. It isn't about why or how much or reservations. It's about belief, or non-belief.
The atheist community makes a distinction between two primary subdivisions of atheism: First, those that hold a firm, assertive position that there is no god. This is a belief based on lack of evidence; a very large preponderance of a failure to find evidence in the face of trying to for thousands of years, specifically. And of course, these people hold no belief in a god or gods. Secondly, those that simply don't hold such a belief, some fraction of whom aren't very concerned about it, but don't find it any more important to declare "there is no god or gods" any more than they do to declare "there is no Santa Claus." Religion just isn't important to everybody, at least, insofar as personal outlook goes. Religion interferes with everyone's lives when it forces social limitations based upon its precepts onto those who wish to be free of said religion's ideas.