Rob, when are you going to understand that intelligent slashdot readers don't give a shit about Perl?
Sorry for replying to an obvious flame, but I'm opinionated, what can I say. See any one the dozens of posts as to why the world is filled with different types of people and different types of problems.. And how people use different tools to solve problems. Perl DOES solve a certain class of problems exceedingly well. Take what anything bash or most any other shell-script does, for example, and try to do it on a large scale, and you would definately appretiate the power of perl.
If you're not of the class of people that regularly manipulates UNIX environments, then you don't have to care.. But, seeing as how there is a very large group of Linux advocates on slashdot, then logic would suggest that there is a need to manipulate UNIX environments in our midst. Given that, bash, awk, sed, python and yes, even Perl are tools that WE would be interested in. Personally I don't care about the Playstation 2 (I personally hope it dies a painful death), but I have absolutely no problem reading the one paragaph blurb.
Course I also don't hate minorities or deviants with a religious passion.
Perl: the BASIC of the 90s and the 00s. People should start to learn to program in Python - it is a much better language than Perl and doesn't destroy the minds of beginning coders who hack in it. I'm one of the lucky ones who programmed in old Applesoft BASIC and didn't get their code skills wrecked from the start.
See now.. My first language was TI99A [Extended] BASIC.. Then Apple Basic, then GW Basic, then Apple Pascal, then finally C. Apple Basic was my first formal language.. Our professor was very good.. He hounded us on good programming techniques.. Garbage In Garbage Out, spagetti code, etc.
The language means nothing.. The training means everything.. It's very similar one's role models in life.. If you exclusively adore Rock stars, guess what direction your life is going to turn out.. If you adore Einstein, then you're going to fall in love with learning. If you simply taught yourself to program and never had any good examples to work with.. Nor had the occasion of peer influence over your syle, then of course you're going to be undisciplined...
I started with BASIC, and I don't think that killed my programming mentality at all. I program in Perl almost exclusively now, and I can still pump out highly structure code that puts even Java to shame... But that's me and my years of being involved with languages. Today's trend is to get half-rate newbie programmers and put them to work. I don't even want to think of the percentages of non-collage graduates (which includes people that dropped out for that tempting hefty pay-check) that write code that my life depends on.
-Michael
Re:An interesting reaction to the talk
on
Perl 6 Showcase
·
· Score: 2
I was at this session and there was a very interesting reaction to it from the people I talked to after it was done. It seemed that half were all pumped about perl 6 and the other half left resolved to switch to something else (python being the most mentioned). This surprised me a little.
I got the feeling from Larry's speech that there were desperate measures to be taken. In particular, that conference with the jar throwing because people weren't being excited as much as they use to caught my eye. On the one hand, Perl had it's time in the sun, and things like XML (this article suggests that XML removes a problem that makes perl so useful) and PHP are taking away steam.
On the other, this is an attempt to allow Perl's philosophy to transcend a niche.. Perl is more than string processing.. It's an artists language. But it only is useful so long as people continue solving problems with it (and share those solutions with others).
Personally, I'm going to keep making my pet projects out of Perl, because I'm in love with the language. Recently, I have found myself deviating towards Python because of the clean-ness of OO, exception handling, and generally beautiful syntax. I almost strayed to PHP till I determined that it's horrible for large scale design (completely ignoring performance issues). The idea of super-setting perl restores my faith, however.. Since we have the opportunity to write an entirely new syntax if we choose.. Personalize it to our or our company's needs, and be able to transparently intermix with neighbors.
When Perl6 was first announced, I read on slashdot some that said that they were appauled by various activities.. We're actually losing developers, I'm sure.. And I can't imagine that we're gaining too many (we're still not taught much in academic circles). Still, it was encouraging to hear Larry say that there were a lot of young faces. Perl almost seems to me an older-person's language. It was hip just about the time that I went through school, and to a great extent, it still is.
Let's hope that making working on the perl core is more fun now that they're stream-lining it. Let's hope that perl can reinvent itself.. And for those perl-haters out there (it's all right.. You can admit it openly.:), competition helps evolution of all languages.. Yes, you may gripe when a piece of perl code comes across your desk, but have you never done shell programming? Have you never tried to modify an/etc/... script? You can't tell me that bash is _any_ cleaner of a language than perl.. Or maybe you're part of the MS crowd?
The idea that the syntax can look like any language reminds me of the guile scheme interpreter. The idea was to have an engine for scripting languages that you can embed in applications -- without requiring that the extension language be a specific language. The author could, by embedding guile, simultaneously give the use the capability to script in scheme, tcl, python, perl, or whatever. Is this similar to what we can expect in Perl 6?
Nobody knows what we're going to get. Larry is still tossing around ideas, and he's making comments based on first impressions.. The motivation and inspiration for perl6 is still very new, so consider most of this vapor-ware until we really start seeing road-maps.
So, what else can Perl 6 do that is new as far as applications go? I assume there is more new functionality.
Well, you can read the transcript or just the summary.
This wasn't an outline of the language.. Larry hasn't even finished reading all the suggestions about what should go into the language.. He's no where near ready to give an outline. Try another 1,2 or 3 years before we start to see stable releases included with Red Hat.
BTW, why doesn't he just use the term 'macro' for that 'great' new capability of looking like other languages? IMHO, if I want to do Perl, I will write Perl.
Well, thats easy.. Because they're NOT macros... That's the beauty of it. Basically you have the abilty to write your own PARSER for perl... OR, extend an existing one.. On the fly.. Basically, it's the equivalent to using Perl's Parser::RecDescent.. Larry even said he wanted a rec-descent parser instead of a bottom up (LR something or other).
The _real_ advantage of this (even if you love perl and Hate python) is that if I'm a mathematician, I can use Unicode to define my own syntax for mathematical operators.. They will have the net effect of being function calls, _but_ the source code will look _exactly_ like it would on a trusty HP calculator in graphical equation mode. Once I or my peers fully define the mathematical superset language for perl, I just use it as is..
The idea was to extend the power of perl's regular expressions by actually using them for once instead of just handing off the job of compilation to a yacc - lexer.
It seems stupid to write Perl with a Java look-a-like because features of the Perl syntax are what makes it good at what it does. For example, just how much spring processing do you do in a Java program? Probably none.
Well, we're not interpreting Java here.. I don't know that we'd be able to even run pure Java code (nor that we'd even want to). But to paraphrase.. If you like the structure that Java syntax provides, you can write a front end parser that restricts your code just like Java.. If you like white-space-sensative code (forcing coding sytle), then you could easily write a python-look-and-feel.
Perl6 will be heavily OO on the inside. Additionally, there will be support for low level datatypes (like arrays of raw int's), so Python, Java and C# should easily fit the mold (these languages came up numerous times).
To answer that last question, however, you would still be using perl regular expressions, not Java's simple c-like string manipulators... You'd just be calling them like you would a normal Java method. The goal for that would be to allow Java programmers to more easily understand the code.. Likewise with C coders (with a C front-end).
Another beauty is that there will be multiple back-end disassemblers. Currently Perl allows you to compile source code to byte code, and you can even take the byte-code and reconstruct source code (though you obviously lose comments and other things). So with multiple back-ends, you could disassemble back into Java or C or Python or Perl5 or even perl6...
Ah! What are we supposed to do without typeglobs?!
Live a happy and fullfilled life...
I will not miss green eggs and spam,
I will not miss type globs said sam I am.
p.s. See OO-based variables, where generic scalars inherit the earth.
Re:Python to perl interpreter
on
Perl 6 Showcase
·
· Score: 4
But why would anyone want to interpret Python in Perl
You're not "interpreting" python in Perl.. You're taking Python Syntax and parsing it into Perl Byte-code. Just like Python can be compiled into Java byte-code or, heaven forbid, Python byte-code.
The idea was that Perl had this great regular expression package (bar none), but it's not actually used _by_ perl. So, they're going to chuck the old yacc-based parser and use raw perl reg-ex's with a rec-descent parser (as opposed to a bottom up yacc parser), so that _any_ syntax could conceivably be used.. More importantly, the parser itself can be dynamically extended. The best part is that each module could use it's own syntax independantly of other modules (scope-based parsing). So I could literraly load in Java source-code or Python source code through a use statement.. Now, that is vapor-ware.. The more realistic result will be that you can load perl 4 or 5 modules without compatibility head-aches. Any going from C# or Python to Perl should not be too troublesome.
Other features that were cool were that the garbage collector was going to be abstracted. Partly to try and avoid the current pitfalls with memoryleaks, and partly so that Perl could be ploped right on top of a Java VM using a Java garbage collector. Though the following wasn't mentioned, what this could give you would be immediate access to most every desktop in the world.. i.e. Write perl code that runs inside an MS Java VM after being pre-compiled into java byte-code with a potential perl-translator layer.
The specifics are all up in the air.. This was just a directions discussion.
I never understood why people have to re-invent the wheel every time...
Maybe it is just me, but I would be more enthousiast to a 'optimise PostgreSQL' then to a 'compexify MySQL'.
It's like saying, why bother with XML when we have relational database at our disposal.. Not all solutions fit all problems. For some people, a simple hash-table lookup is all that's needed (berkly hashes, for example). For others, a simplied data comparator is needed, e.g. MySql. For others, data-integrity is needed, i.e. Postgres or commercial apps.
Mysql has speed as a stated goal.. They've hinted that they might implement Foreign keys soon, but ONLY as an option that can be implemented in such a way that it does not hinder performance one iota (see goal number 1).
It's not reinventing the wheel.. It's learning that not all wheels fit all vehicles (see bicycle verses formula-one racer).
I'm not sure about all the stated goals of PostgreSQL, but it seems to have, as it's goal to be a top performer with standards compliance - To be an all around champ. It can't win on all fronts / you have to make design choices. Postgres opted for version controlling rows instead of row-locking, it opted for one process per client instead of multi-threading, it opted for one file per meta data-entity, etc.
I use to use Mysql until my work expressed concerns for Data-Integrity. Now we use a mix of Oracle and Postgres (depending on the target app). The inability to perform several basic standards-based SQL operations in Mysql was very daunting. Roll-back was a critical issue, for example.
But, if I were a small-time ISP selling PHP and DB services, I'd go for Mysql.. Less overhead for me in terms of memory and CPU cycles.
In the Mysql documentation, it says that you can "learn" to work around the limitations of Mysql. Meaning that there are successful programming practices. Such is the case with Slashcode I'm sure. But from a business standpoint, it's difficult to justify the use of limiting technology, when there are other alternatives..
Performance-wise, Mysql has little overhead, and a small incremental cost, where-as Postgres has a decent amount of overhead and a moderate incremental cost. You'd think Mysql would come out on top, but Benchmarks [an old slashdot post] suggest that Mysql is unstable beyond a certain load level. Beyond that, if you use table locking, then you do not scale at all. Row-locking is slow for the big guys like Sybase (which I know much about). You take a hit on EVERY access just so that you can claim that you have regional locking, which facilitates concurrent access. Postgres side-stepped the issue (beit it for good or bad) through version-based rows, so they get to have a closer-to-linear performance curve.
And PostGreSQL doesn't offer stored procs at all, and requires triggers to be written in C - ugly, ugly, ugly
You can write them in TCL, Perl, SQL, PSQL,.... You just have to install the proper interpreter and bind the language..
Granted, non-C stored-procedure support is very limited (compared to Sybase or Oracle).
As other posted, a "server" can maintain multiple DB connections, though to my knowledge it is still impossible to perform inter-DB selections.. I don't think that Mysql can do this though, so the point it moot.
The primary advantage to consoles is that they allow you to play games without having to worry about whether your graphics card is good enough, whether your drivers are up to date, whether it'll randomly crash for other reasons entirely and all the rest of the hassle you have to go through to get games working on PCs. Put game in. Switch on. Play. That's the advantage of consoles.
Well, that's _ONE_ advantage. The MAC advocates might point out that they tout the same story. In fact, however, if you don't skimp out on the price tag of a PC, you shouldn't have any difficulty. Since win95's Direct X came out, I haven't had a compatibility problem for my main desktop... True, I choose my hardware with a mircro-scope, but I chose name-brands, which are typical of more expensive vendors.
A _big_ advantage of console games is that programmers have a common target platform. For the longest time, this was the biggest problem for PC's.. Recently, again, with Direct X, this pretty much goes away. Others that wish to take the more difficult road use GL, etc, but the trend is towards convergence and compatibility. Still consoles have the edge (as long as you're not trying to port to every console out there).
As for reliability, I've never seen a reliable console. Even my old Atari would crash on occasion. It's a computer, it isn't infallible, or immune to bad code.. And as the programs get more complex, the likelyhood increases. I snicker under my breath when my friend says he has to "reboot" his N64 periodically.
Heck, one Sega machine had dual procs, but few progammers used it becuase race condition management just throw you out the window.
The MAIN reason why consoles are so popular is content.. They simply have a great wealth of games. I don't know what the cost is for a PC game verses a console game, but it's just been the trend for most of history. Granted, I find many of the games on consoles dumbed up versions of their PC counterparts, mainly because the limited control "buttons", but also because of the appauling resolution and interlacing inherent in a console setup.
We were taught when I was young to not sit too close to the TV because of the radiation.. But consoles do the exact opposite.. They place you right in front of a heavily flickering monitor with interlacing to mess with your built in motion sensing.
Back to the original point, consoles definately have simplicity going for them, but PC's are slowly catching up. You already have to know how to turn the computer on and off if you do any sort of productivity. Now you just pop the CD in, and it'll automatically install and or RUN. Aside from the million and one things a user can do to screw this up, that's pretty straight forward. Consoles win by utilizing the AOL syndrom (that I herefore coin). Reduce the number of options your customer has, and you simplify their life, and can claim that they're happier humans. The gamble works because the vast majority of people accept this, and new-commers can always initially appretiate it. Also, even experienced uses might enjoy this, so long as they can do what-ever they like (the only explanation I can offer towards Mac Power Users). The small minority that feel closterphobic in such restricted environments will simply opt NOT to choose that platform.
Personally, Sony's dream scares me.. They wish to produce the most powerful hardware on earth, and sell at a loss so that they can lock you into their accessories (like games, or home entertainment). Of course you'll be able to control your Sony TV, stereo, VCR, Sony internet connection, etc. Why need a PC at all when you can do all the basic Home operations from your living room. Heck, put a PSX next to every TV in your house.
It's not a real danger, but you never know.
-Michael
Re:electorial college ruins it for me
on
Should You Vote?
·
· Score: 2
also have an interesting article that says basically our idea of one person one vote is not the best idea, which in interesting. Here's that link: http://www.discover.com/nov_00/gthere.html?article =featbestman.html
Yeah, I just saw the article today.. It was rejected as a possible/. article (grumble). Essentially said two things, that two tier voting negatively effects the outcome of votes in terms of actually electing the most desired candidates. Also said that people vote rationally instead of honestly, which additionally affects the outcome... I love this candidate, but they'll never win, so I don't want to waste my vote.. If I vote for the most likely candidate to win that is the least evil, I'll be doing the country a favor.. etc.
Though it's unlikely to avoid the multi-tier voting (primaries / general election ), they suggested approval voting (vote for all candidates that you approve of for presidency - thus you're never wasting your vote, and you really can see who the public likes. The other was a score-card method. You rank candidates from most liked to least liked. Unfortunately I don't think that would ever work in our society. First of all, there was the problem of not telling the truth causing undesired / unrepresentative outcomes just like the one-person one-vote we have now. Additionally, it makes the ballot harder.. An illiterate person might not be able to figure out how to do it properly. Or a clumsy person might not read the directions correctly, and put all 5's or leave some blank, etc.
You can't get much simpler than check boxes were people select from the above with X's, or by push-button.
I think personal flight will become widespread, but not for a long time. I think just now there are some factors holding back personal flight, viz.:
1)Expense - way more expensive than cars. But, in 50 or 100 years I would expect people to be much wealthier and personal planes much cheaper. Plus, for personal flight you really need a VTOL capable aircraft, which adds to the cost greatly.
Cars are _much_ more expensive than bikes, but we drive them because we can't accept the inconvinience of the time delay, or minimal "trunk space", or single-person per vehicle, or physical stress, or just plain rattling of otherwise expensive clothing.
In the future, (as others have pointed out), traffic jams will be so incredibly bad (even if we ever did go back to trains), that you'd HAVE to travel in 3 dimensions just to alleviate congestion (think of 5-layer semiconductors:). Constructing 5 layer freeways is insane, (especially when you look at the cost of maintanance). At some point, it becomes cheaper to fly in 3D - having dozens of layers, each for different directions, and different constant velocities.
Yes it will cost more marginally (impossible to be more fuel efficient in air than on ground), but the utility of faster transit will cause people to accept it, just like we accept more expensive cars (that have power everything).
2)Becoming qualified enough to fly one. You can't just let any fool fly an aircraft - they're dangerous! But, in the future I would expect the job to be done by computers, which negates this little awkwardness.
I do not believe that _anyone_ should be allowed to fly in populated areas in such a device. A person could endanger not only themselves, but citizens or buildings. Even if they were trained, they could hit birds at 80MPH, which would kill them, causing them to crash into the populace. Unless you make a really powerful shell, you're not going to protect the individual, and I just don't see it as being practical.
It _might_ be possible for computers to auto-pilot you - to have radar that detects and avoids birds. You'd still have to have a protective shell. Bugs hitting you at 80MPH can't be very safe or friendly (I don't know how bikers do it).
I would feel more comfortable with small, light, efficient one or two seater commuters, and probably not "rocket-man" packs.
3)Air Traffic Control. We have got enough problems as it is controlling our skys, but this would also be taken care of by computers and also improved GPS systems in the future.
Well, the only way I could image it would be to have a "high-way-grid", where the computers (as spoken above) would keep you on your path.. You'd have to have enough deviation room to avoid birds, etc and not crash into on-comming lanes.
It would be IMPOSSIBLE to manage air-traffic control as it currently exists with single engine jet-packs. Would it really be quiet enough for the mono-pilot to fully communicate with the tower. Not to mention what happens when you have dozens or hundreds or thousands of people on this "wireless" network. You'd essentially have to have a cell-phone grid, with people communicating with the central "computer". You'd also have to be restricted to a max altitude so that you don't interfere with normal air-traffic.
Also, I don't like the requirement of saturating the wire-less spectrum. I would only condone computers on the pack that did all the guidance, and radar. And that computer would restrict you to the grid mentioned above. If in open fields, you could possibly operate with greater freedom (assuming that the combination of on-board radar and computer) could keep you safe.
4)The inherent absurdity of using an aircraft to pop down to your local newsagent. But then, we probably once thought this of cars. All it takes is for personal aircraft to become an attainable status symbol and - whoosh! - they'll take off all right, no matter the absurdity. It's happened with lots of other things, right?
I suppose if you can have bike-racks, you could have jet-pack racks. Course, being that hey're really new and fragile, I can't imagine anyone leaving a pack outside a store with just a chain wrapped around it. If we did go to commuter air-planes, parking would be a night-mare (unless maybe the wings fold).
I don't see this happening any time soon.. And by the time the economics and congestion WOULD catch up, I think we'll have invented new technologies that make the personal craft almost seem rediculous.
I doubt we'll ever actually invent the "matter transporter". Hell, you'd have to prove Christians wrong first (unless there really is a soul).
I think that we might discover anti-gravity, or at least gravity canceling forces. In this case, I would assume that you'd need a big engine. This would necessitate something the size of either a train, truck or car. What I invision is regular hybrid gas/electric cars that can dock with a levitation transporter. That transporter carries you to a programmed destination across the 3D freeway. You then drive you car to the specific location while on the ground. Air transport is only really efficient at higher velocities, so it would be senceless to fly all the way up to your house or store.. You could still make use of stop-signs, stop-lights, etc at the local level (especially since you'd have to contend with pedestrians). The dangerous flight would all be computer controlled navigation of highly efficent use of space.
A big problem I see with air-freeways is the effect of cross-winds on aerodynamics. Correct me if I'm wrong, but if you have two lanes, one on top of the other, going in opposite directions, then the bottom lane will recieve a lift boost, because air flow will be faster on the top side than the bottom. The top lane, however, will have greater air-flow on the bottom, reducing it's lift. This causes an instability.. At the very least, the two lanes will be "attracted" to each other ( much like a pair of parallel wires).
If you had the lanes side-by side then you'd be back to an innefficient 2D plane. Even if you seperated the two lanes by great distances, you'd form a turbulance at some level.
You'd need a "twisted pair" of lanes to cancel out the aerodynamic effect.. LAUGH!! OBVIOUSLY this require computer control.
Oh well.. All of this is well beyond our reach.. And if it's not, then I feel sorry for my grand-children who will have to endure learning to drive in such unsafe environments.
* no tail recursion - this is a biggie. If I have a function that the last thing to do is to call another function, then if I compile it to machine code, I can arrange to remove the stack frame before making the second call, so that if a the call path is f() -> g() -> f() -> g()..., then the stack doesn't blow up. This is really really important for some functional languages.
Hehe.. Perl Plug.. Perl has a special varient of "goto", which does just this.:)
* Java bytecode assumes that the Java model object orientation is used. This is bad for languages that do things in a different way (such as Eiffel with multiple inheritance), or the many functional/logic languages that aren't object oriented.
I think what you're talking about are optimizations. I think you are assuming that the meta-byte-code would be Java-family-centric. IF this crazy scheme could work (and I don't think it could, but for other reasons), then you could perform translations at compile time. We obviously know that we can write OOP on top of FOP (that's how C++ originally came about, and it's how GTK+ works). But it's just as easy to write FOP on top of OOP, since you just implicitly pass the "this" pointer around.
The problem would, of course, be performance. It would be better performance if we assumed an FOP model then did something like GTK+ for all OOP implementations.. In this fashion, you get all the benifits of code-robustness inherent in OOP, but get the performance and compatibility of FOP.
What I would instead advocate (and I forgot to include it in another post), is that we might find some common intermediate ".o" language. You'd have egcs be a front end for all your langauges, then save them off in what-ever form you want in.o. Then you use the same set of tools to analyze the.o or bring to a linkage level, which in the case of C means, write out to assembly, and in the case of Java, perform a platform dependant JIT optimization and interpret byte-codes. The only _real_ benifit to this would be that you'd have a common tool that you'd pass around, and you'd have the equivalance of comipled data - namely, people could not read your source code (which for-profit orgs tend to like), and you'd have taken care of a lot of the CPU-overhead involved in compilation. You would just have one last pass to perform for your particular platform so that you could make platform-dependant optimizations. This would all be part of the installation process. You have one set of code that can be brought to any platform. This code is a mixture of compiled C, Java, and even Perl. You just have to pass it through the platform-filter once, and away you go. Those filters can decide if they want to write anything out to optimized files (like.out,.so for C, or JIT stuff).
Unfortunately, that's a lot of work to accomplish very little. Essentially you're able to have a directory tree of.o files and have no idea what language they're in. Your target's egcs package would have to have ALL libraries of possible HLL languges. Something that might not be desirable.
There are a couple issues that this brings up (that I can imagine).
1) Different languages make different assumptions. These range from calling methods to memory management, to threadibility, to the dynamic nature of the code (self-modifying code). It would be difficult to write a catch-all sub-system for any appretiable number of languages.
Now MS managed to use a JIT to translate both java and C# into the same byte-code, but they had the benifit of designing the second language to be compatible.
2) Dynamic languages are hard to compile into assembly. The most you can do is compile the main event loop with a static list of byte-codes.
3) You do NOT want to do anything that would make C slower. Namely, you're not going to use a generic interpreter that reads byte-codes, and based on the language context, treats them differently (i.e. reads the C-derived assembly, and interpret it). You're also not going to translate C-derived.o files into a meta-language byte-code (that isnt' assembly). So unless the common byte-code IS assembly, you're back at step 2.
So, essentially we can't have executable code that is common to all egcs-parsable languages. What you might be able to do is unify a couple high-level varients like Java, C# and Internet C++, which to me, on the outside, seem identical in nature. This wouldn't really work for Python / Perl / Scheme. They still need full-blown interpreters because their code changes over time (through the use of "eval"). But maybe we'll be biggots and say that they don't deserve coverage in this universal optimizer.
But here's what you get out of this. You have 3 or more languages that use the exact same byte-code underneath. They all have their plusses and minuses, but you have complete interpolability. But this "family" of languages is distinguished from raw C / C++ and purely open sourced Perl / Python / Scheme,etc. I seperate the last category because unless you take special steps, the interpreter reads from the raw source code. (Yes, Python and Scheme can be compiled, but they're really just token representations).
My point is that you haven't solved the programming crisis, you've simply identified families of similar architecture and unified them.
Why not develop the bytecode specification as the point of compatibility? A feature rich "meta-assembly" with all the basic operations, plus a widget toolkit interface, network interface, etc. Provide a specification to the API in a generic, language NON-specific form and provide a reference implementation in a language of choice (Java, C++, C#, Prolog, whatever). Write a compiler backend for gcc and you get a shirtload of language interfaces in one hit.
That's a great idea!! All you have to do provide libraries higher up - those common and compatible with gcc, at least for a platform. You could have what-ever optimizations you want for all the sorts of complex tasks that a given language wants to use, like reg-ex, GUI's.. Each could be in their own libraries (since they're called differently).
Oh wait.. We already have that.. It's called assembly.
-Michael
Re:electorial college ruins it for me
on
Should You Vote?
·
· Score: 2
The public's psychology about third-party candidates has always been based on the popular vote, and will continue to be.
Sorry, I let myself get carried away in the last message. I didn't want to provide too much weight on the effect of the state-divided electorial process.
My main point was that for me, there is nothing I can do (by voting) to affect the outcome of the election, since my vote is grouped with the local majority. That discourages me.
I speculate that the reason I conclude this is because of logic. This same logic is what the debate committee uses to select it's candidates. I personally believe the debates are the single best avenue that a 3'rd paty has to get recognized (which was part of my original discussion).
I argue that the effects of the electorial college are subtle, and that they do provide a barrier to entry. My original argument then went on to anaylize the possible negative effects that promiting large numbers of candidates might have. The electorial process is only one such barrier. Special interests probably don't have enough desire to financially seed dozens of campaigns; it is in their interests to have as few candidates as possible, at which point they have the option of "buying" both candidates. Thus the effect of special interests funding (even if covertly) two or possibly three major parties essentially puts 3'rd parties at a disadvantages.
Campaign finance reform will probably help alleviate this. If candidates have less campaign money, they'll have to use it more wisely, but it'll also level the playing field somewhat. The only real possibilities would be personal wealth (like Perot). But in the light of dismal failure (partially due to the electorial college shutting them out to embarrasingly low levels), there is little incentive for the independantly wealthy to try for office. (This could be a good or bad thing, depending on your opinion).
To hopefully recap for the last time. The electorial process directly affects me negatively (hence my post). I view it to be one of several "barriers" that allow the two main parties to wield power. I believe philosophically, that long-term power is too corruptable and should generally be avoided (just like we prevent more than 2 presidential terms). Hell, you could solve this problem by making another constitutional ammendment which said that a party can not have more than 6 terms accredited to them in a half century. That would encourage "evolution" in a party, by having to start from scratch their organization every couple years. Course that would be almost impossible to manage. You can identify a person and say, "you're done", but how do you do that with an organization? They could change their name.. rearrange a few words on their charter.. Not to mention, we don't want to exclude organizations from the political process, just to prevent them from having a nearly totalitarian influence over it. Oh well, wishful thinking.
The fact that we have a direct election of our executive branch, rather than an appointed one (like a Prime Minister) means that it will always be a horse race, and only the one who comes over the line wins.
Don't know how I feel about this. I don't really have a good feel for the long-term effects of a parlamentary system. I did think about this not too long ago. The only conclusion I could draw was that the US was founded apon distrust, and so the executive branch was made to be an independant process (minus the various tie-breaking votes, and congressional-based representation, etc).
I was going to say more, but I don't want to seem ignorant - more importantly, I don't want to say potentially wrong things which could mislead "the masses".:)
-Michael
Re:electorial college ruins it for me
on
Should You Vote?
·
· Score: 2
A candidate that gets 15% of the vote should have 15% of the final vote, which is not the case.
Eliminating the Electoral college for this reason is bullshit.
How eloquent. Perhaps my wording was not purely scientific, but I still believe in my underlying point, which, as I'll repeat below, was that a person that has a large percentage of the populations acceptance should have SOMETHING to show for it. I'll elaborate below on why that's more than just a pride issue for the candidate.
Yes, third party candidates will get the measily little 5-10% that they were working towards, but they will still lose. We're in a winner-take-all Democracy here, and weather you get 10% of the popular vote, or Zero electoral votes, you still end up losing
I disagree. We have logic and human psychology to contend with, which is a stabalizing force. IF, a given party gets 15% one year, they may do the same, better or worse next year; they have incentive to keep fighting the long uphill battle.. If however, they receive ZERO electorial votes, even though they got 15 - 20% of the popular vote, then people will consider that any votes for them are wasted. The media, and even potential supports will discount that party / candidate. I thought I made this part clear. The electorial college provides a barrier to entry that will probably forever keep us in a two party system, EVEN if people are completely sick of one or both of the parties. So long as the parties go back and forth with candidates that don't repulse the general population, someone will win out of protest votes for the other side (since people will generally not want to "waste" their vote on a 3'rd party).
The pro side of my argument suggests that we should alleviate this barrier to entry.
Even if there is a win, what will one Green (or libertatian, etc.) President be able to do when the Congress is still filled with majority party members?
Well, you are assuming that the party would be completely unagreeable with congress. I don't think Perot would have had complete lack of support. He was generally liked, and he attempted to take the engineering approach to politics. He repeatedly stated that he didn't know the answers, but as part of his plan, he would put the "best minds" on the job and basically engineer from solution to solution. I respect that, but it obviously doesn't go over that well; People like knowing what they're getting with a candidate, and this usually means making promises up front.
Though it's true that a radical would be impeeched (since they'd have little support in congres to avoid it), not all 3'rd parties are radicals (again, thinking of Perot, who's just different, if not too unsophisticated for public office).
Disclaimer, I did vote for Perot, so take my view of him with a grain of salt. I don't generally support his party, because I don't know that it isn't full of morons who just want 'any' sort of change.
First, let me state that I love all of C, C++, Java, Perl, and Python. I enjoy programming in each language (though I'm baised towards Perl because I do a lot of web-apps).
1.) Java sucks because everything is passed by reference: When you take upper level classes and concepts like the call stack are explained to you, you will realize that passing Objects around by value is expensive, inefficient and wasteful. Even in C/C++ non-primitives are usually passed by reference either via pointers or explicit references.
Umm, pass-by-reference can be significantly slower than pass-by-value. In ref's, you put into the calling function's argument registers a pointer, which must then be dereferenced. Ideally, the contents are in L1-cache, but if you haven't used them in a while, they may be off in slower memory. Today, when memory is an order of magnitude slower than the CPU, that makes a significant difference. IF, the c-struct can fit within the argument registers (as might be the case in SPARC, IA-64 architectures for small-to-medium DTs), then you can make several calls deep without ever touching memory (so long as you don't use any pointers). Now, admitedly, x86 and many other's have a register shortage, so this probably doesn't apply to them (except that the contents would have been garunteed to be recently accessed, and therefore could be in an L0 cache (such as in the Athalon; at least, I assume this is what L0 is useful for)).
As an interesting point (I'd like to learn more on it), how does C++ do the following:
void foo( int& arg );
If it's nothing more than a transparent pointer, then C++ definately has less performance capability than C. If, however, it's a true alias, and you are passing-by-value, then architectures like the SPARC, Athalon, and IA-64 get a double bonus, since their calling parameter is the same as the returning one (thereby saving several regs).
That said, interpreted languages such as Java, scheme, Perl, etc require expensive operations to be performed for each op-code (or segment of text), so most of the point is mute. Especially since their data-structures contain a lot more bloat than just the desired value. (Note: I use the term interpreter because these languages do not compile directly to assembly. Their meta-data must be interpreted to determine code-flow. If you give me a better substitute for a word then fine, but you can NOT call perl or Java any more compiled than scheme; The compilation stage is simply more explicit and optimal).
It might be possible, however, for the interpreter to pass-by-value the low-level data-structure to the internal control-flow function, say as in ADD(DS& TO, DS& L, DS& R). With this, the intermediate operations which require internal-function calls could be optimized away. It's more complicated to analyze Java, especially with the JIT, but similar sorts of optimizations utilizing passing raw-values instead of just the pointers could be implemented.
The problem is that a function call has so much over-head in an interpreted language, that little of this matters.
Lastly, to the real point that the first guy was making. He doesn't like having to _use_ references. Well, in Java, you never know that they're references (except when you try and copy something). I rarely actually do a copy, so I can't imagine what his problem with it is. In C, you have the distinction between access and dereference, in Java, they both "look" like access, namely Foo.var, as opposed to Foo->var. Personally, I prefer the uniform access types (fewer errors). As for the lack-of-safety for modifying called parameters, you at least have low-level types in Java to avoid this. Beyond that, any really large data-structure is almost always passed as a pointer in C, so I can't imagine there's a debate here. Perhaps I'm being naive in comparing Java to C. Is there something that gets the job done better than Java or C/C++? Perhaps you might advocate Perl, which can do either references OR static-types (but no pointers). I can't imagine writing Word in Perl though; there's just too much over-head for a large-scale app, unless perhaps you were only trying to connect together GNOME/Qt components with Perl glue, but you'd still have written most of the components in other languages (like Java / C).
-Michael
electorial college ruins it for me
on
Should You Vote?
·
· Score: 5
I am part of a small state, that almost always votes for the same party. This literally means that my vote is useless. Though a very small fraction of the country understands this process, I doubt it is a major stumbling block for the general population.
One state( can't remember which) at least broke up their electorial votes based on percentage of votes). I like that idea, since it basically is within the rights of a state.
The problems I have with the electorial college are:
- My vote means nothing.. Except a margin of error for historical statistics in my state.
- It blocks non-mainstream party candidates. A candidate that gets 15% of the vote should have 15% of the final vote, which is not the case. A uniform 15% vote will get you zero electorial votes. The problem this causes is that the media AND organizations like the debate committee know this and so they completely discount 3'rd party candidates. If, for example, 3'rd party candidates could have gone to the debates, they could have mustered an enormous support (most people have never even heard of them). They could at least double their support (if nothign else than for people to vote against the main candidates with someone they _think_ looks trustworthy).
- The electorial process was deviced when we had state-loyalty. You were not an American, you were a Virginian. Today, people move from state to state will little concern - people identify with the US as a whole, we're more concerned with the Federal Gov. than the local ones. Back in the day, we trusted local Gov. more than the Fed., and so we united as a state to vote for a candidate. Today many don't even know who their local congressmen are.
Now, for the flip side. There are advantages to the electorial process that I can imagine. First of all, it is doing exactly what it was intended to do. Not least of which, it reduces the number of candidates. I have heard horror stories about politics in India (and I assume in other parts of the world), where there are hundreds of parties. You have a perfectly competative market, so you have to sell your self cheaper than your competitor - or more correctly, offer more apparent value, even if it means compromising good judgement. Incredibly, the US does not have a market-based executive branch. We don't see the same sort of free-wheeling, don't pay any attention to the detail of the man that is me, just see what I'm trying to give you if I'm elected to office. In other countries, they take a candidate like we take a McDonalds burger. They don't even want to KNOW what's inside, but it's cheap and it'll satisfy us for the short term. Political candidates are put through a lot of scrutiny, and if a candidate things something embarrasing has come out, they will tend to resign. There's more attention being paid to fewer candidates. The media will also be quick to spend enough air time on the flaws of candidates that people will generally discount unfavorables. You can't do this if you have hundreds of candidates. The likely hood that people will be well enough informed is slim.
The big issue we find today is that power corrupts, and our two main parties have been in power for a long while. A 3'rd party is not going to break through for a long while (if ever), especially when the main parties are catering to more and more of the other side. "Don't rock the boat", is too strong.
I don't know that things wouldn't go bad in time if we got rid of the electorial process, but I can't imagine that dividing state votes up based on their percentage isn't more "fair", and would at the very least provide enough scare into the main candidates to not dismiss the 15% or so that goes out.
In closing, I'll put my plug; a highly biased opinion. Though some don't like the social engineering that Gore proposes, I personally think it's a more intelligent approach than Bush's brute force approach (of giving away money to everyone). Neither really sticks to any philosophy. Bush claims support for regional independance, but then wants to use the purse strings for control. He claims to support the military, but doesn't fully fund it in his plan. He wants to give us rights to guns and says that "we know best", but wants to remove a woman's choice (actually it's consistent if you think of him as a sexist conservative male dominant character, but I doubt that's really true).
Gore is just a mixture of about everything (he's even taken a 180 from his earlier years on many issues). He's probably going to follow in Clinton's foot-steps and change opinion with what-ever is popular; just look at his new stance on Campain finance - especially after his fallings out. He's a green-peace person at heart, but he's trying to logically play the political game to accomplish as much as he can.. Thus, I'd label him an opportunist, which might not be the best for us. He's definately going to increase the size of government, and he'll only be successful if we don't hit a recession. To the credit of big government. If we hit a recession, then the large government could start cutting fat to alleviate the burden. If, in Bush's plan, we cut the fat now, while we're still at inflationary levels of prosperity, we'll over-heat the economy, and then have no monetary tools to adjust in the future (unless you believe the fed. reserve can accomplish this through trickle-down economics via interest rates)
Harry Brown was interesting for an intellectual thought game. Unfortunately, he basically assumes that people will know what's best, and we'll take proper care of our new-found responsibilities after our parental government goes away. Labeling him an anarchist isn't that far from the truth. Ideally, the government holds a monopoly on the use of force, then you let the people do just about anything they want from there-on-out. They obviously can't kill each other, so we don't have total social break-down. But then how do you enforce contractual obligations? Perhaps the Gov. stays in the business of en'forcing' contracts. But then where does it stop? Brown wants the federal court to not have any power on non-constitutional issues. At the very least, you would be hard pressed to support human rights when states seem biased. Most importantly on Brown, he doesn't seem like he'd mingle well with congress. You'd probably have a record number of executive decisions over-turned by congress with-in his term.
Please list (without explanation), in order of priority, your presidential philosophical goals, so that we can understand what you are willing to compromise. Here are some important examples:
Reducing corruption
Reducing power / influence of government over our lives
Protecting the vulnerable (i.e. environment)
Fostering education
Fostering national productivity (i.e. supporting new technology)
Commitment to social welfare ( i.e. Medicare, social security, welfare, etc. )
Commitment to advancing the rights of citizens
Maintaining a strong economy
Laisez Fair economics
Providing a moral compass for citizens (i.e. abortion)
Providing a moral compass for other nations (i.e. human rights)
Avoiding wars / use of troops
Strengthen military
Trust in citizens to know what's best for them
Guide citizens to avoid the pitfalls of greed / selfishness / impatience / biased phobias (in spirit with retirement plans, universal education, and other social programs )
Resolving differences between parties (i.e. take lesser of evils instead of stubbornly holding out)
Do you support the Federal reserve as an independant body and the sole manipulator of our economic system (free from political motivation)? If so, then how do you view concerns that a large tax cut might undermine Alan Greenspan's attempt to stablize our market system and economy during this time of "over-expansion"?
Both Candidates:
Life is cyclical. Economics is cyclical. Politics is cylical (dictatorship to freedom to regulated supression and back). What philisophical steps will you take as president to prepare and otherwise pre-empt such cyclical down-turns that may even already be present (such as political corruption and anti-Patriotic sentiments)?
You should have made several individual posts. They're not going to bunch all those questions into one; and the moderators can't single out which of those questions comply with moderator guidelines, and are hence most deserving of karma.:)
Not necessarily true. You offer Quality of Service to your high-paying customers. Filter out a percentage of packets from your variable rate customers. POTS Telephone lines (like modem connections) have a fixed channel rate, and could seriously disrupt things if sample-packets are periodically dropped. ISDN, DSL and T1's however are all digital, and entire frames are droppable since the end points can recover.
The carrier marks your Point-to-Point interface with a QOS which ultimately determines the drop-rate. The average user would be tied down during peek-hours. They'd have to spend more for peek-hour use just like current long-distance services.
Long distance carriers can afford to do 24/7 same-pricing only because they're gambling that people make mainly regional calls. With the internet, that's not the case. We're all over the world and back several times in an evening.
Monitoring that BW at every point and probagating trunk charges would be insane. Major trunks or backbones couldn't keep up with the volume of charging data (especially in light of their having a fixed cost no matter who sends to whom). It's only the ISPs with hundreds of home-connections and one or more major trunk connections that would have any incentive for this. And that's what we see today. For anything higher than a fixed cost modem-line, you pay proportional to the BW.
What most people fail to realize is that the cost of production for "something" ISN'T just the worth of the materials used and the machine and people that put them together. It now also involves cost of advertising, marketing, research to design new iterations of the product, etc. All these things cost money and manpower to, and drive up the "real" cost of "something."
You can think of it like a B-tree. The leaf nodes are the resources. But that's not the total number of nodes in the system. You have all the connecting nodes all the way up the tree. The next to bottom level would be the workers that work the materials, then the supervisors, then the planners (who direct the supervisors to direct the workers). You break off the planners into R&D. At the very top is the executive board and finally the CEO. Every one of these guys has a cost.
BUT, none of this has anything to do with the price. The marginal cost (which includes interest on any borrowed resources required to produce the factories) is factored into the initial price. But once it gets going and the factories are set to produce x-widgets / cycle, then the supply is set, and prices is totally based on that fixed supply and the varying demand (which is affected by competition).
Cost only influences prices in the long run (in terms of entry or exiting a market, or in adjusting the number of manufactured widgets).
Telephone / cable company already has your wires layed, their cost is really that of the BW on the major trunks, and the power lines. They also try to factor in the depretiation cost of the hardware, but that's only taken into consideration at initial cost time. Your rates only really change seasonally when any major changes take place (which typically affects volume or quality of service)
Rob, when are you going to understand that intelligent slashdot readers don't give a shit about Perl?
Sorry for replying to an obvious flame, but I'm opinionated, what can I say. See any one the dozens of posts as to why the world is filled with different types of people and different types of problems.. And how people use different tools to solve problems. Perl DOES solve a certain class of problems exceedingly well. Take what anything bash or most any other shell-script does, for example, and try to do it on a large scale, and you would definately appretiate the power of perl.
If you're not of the class of people that regularly manipulates UNIX environments, then you don't have to care.. But, seeing as how there is a very large group of Linux advocates on slashdot, then logic would suggest that there is a need to manipulate UNIX environments in our midst. Given that, bash, awk, sed, python and yes, even Perl are tools that WE would be interested in. Personally I don't care about the Playstation 2 (I personally hope it dies a painful death), but I have absolutely no problem reading the one paragaph blurb.
Course I also don't hate minorities or deviants with a religious passion.
-Michael
Perl: the BASIC of the 90s and the 00s. People should start to learn to program in Python - it is a much better language than Perl and doesn't destroy the minds of beginning coders who hack in it. I'm one of the lucky ones who programmed in old Applesoft BASIC and didn't get their code skills wrecked from the start.
See now.. My first language was TI99A [Extended] BASIC.. Then Apple Basic, then GW Basic, then Apple Pascal, then finally C. Apple Basic was my first formal language.. Our professor was very good.. He hounded us on good programming techniques.. Garbage In Garbage Out, spagetti code, etc.
The language means nothing.. The training means everything.. It's very similar one's role models in life.. If you exclusively adore Rock stars, guess what direction your life is going to turn out.. If you adore Einstein, then you're going to fall in love with learning. If you simply taught yourself to program and never had any good examples to work with.. Nor had the occasion of peer influence over your syle, then of course you're going to be undisciplined...
I started with BASIC, and I don't think that killed my programming mentality at all. I program in Perl almost exclusively now, and I can still pump out highly structure code that puts even Java to shame... But that's me and my years of being involved with languages. Today's trend is to get half-rate newbie programmers and put them to work. I don't even want to think of the percentages of non-collage graduates (which includes people that dropped out for that tempting hefty pay-check) that write code that my life depends on.
-Michael
I was at this session and there was a very interesting reaction to it from the people I talked to after it was done. It seemed that half were all pumped about perl 6 and the other half left resolved to switch to something else (python being the most mentioned). This surprised me a little.
I got the feeling from Larry's speech that there were desperate measures to be taken. In particular, that conference with the jar throwing because people weren't being excited as much as they use to caught my eye. On the one hand, Perl had it's time in the sun, and things like XML (this article suggests that XML removes a problem that makes perl so useful) and PHP are taking away steam.
On the other, this is an attempt to allow Perl's philosophy to transcend a niche.. Perl is more than string processing.. It's an artists language. But it only is useful so long as people continue solving problems with it (and share those solutions with others).
Personally, I'm going to keep making my pet projects out of Perl, because I'm in love with the language. Recently, I have found myself deviating towards Python because of the clean-ness of OO, exception handling, and generally beautiful syntax. I almost strayed to PHP till I determined that it's horrible for large scale design (completely ignoring performance issues). The idea of super-setting perl restores my faith, however.. Since we have the opportunity to write an entirely new syntax if we choose.. Personalize it to our or our company's needs, and be able to transparently intermix with neighbors.
When Perl6 was first announced, I read on slashdot some that said that they were appauled by various activities.. We're actually losing developers, I'm sure.. And I can't imagine that we're gaining too many (we're still not taught much in academic circles). Still, it was encouraging to hear Larry say that there were a lot of young faces. Perl almost seems to me an older-person's language. It was hip just about the time that I went through school, and to a great extent, it still is.
Let's hope that making working on the perl core is more fun now that they're stream-lining it. Let's hope that perl can reinvent itself.. And for those perl-haters out there (it's all right.. You can admit it openly.
-Michael
The idea that the syntax can look like any language reminds me of the guile scheme interpreter. The idea was to have an engine for scripting languages that you can embed in applications -- without requiring that the extension language be a specific language. The author could, by embedding guile, simultaneously give the use the capability to script in scheme, tcl, python, perl, or whatever. Is this similar to what we can expect in Perl 6?
Nobody knows what we're going to get. Larry is still tossing around ideas, and he's making comments based on first impressions.. The motivation and inspiration for perl6 is still very new, so consider most of this vapor-ware until we really start seeing road-maps.
Check out my other comment for more information.
-Michael
So, what else can Perl 6 do that is new as far as applications go? I assume there is more new functionality.
Well, you can read the transcript or just the summary.
This wasn't an outline of the language.. Larry hasn't even finished reading all the suggestions about what should go into the language.. He's no where near ready to give an outline. Try another 1,2 or 3 years before we start to see stable releases included with Red Hat.
BTW, why doesn't he just use the term 'macro' for that 'great' new capability of looking like other languages? IMHO, if I want to do Perl, I will write Perl.
Well, thats easy.. Because they're NOT macros... That's the beauty of it. Basically you have the abilty to write your own PARSER for perl... OR, extend an existing one.. On the fly.. Basically, it's the equivalent to using Perl's Parser::RecDescent.. Larry even said he wanted a rec-descent parser instead of a bottom up (LR something or other).
The _real_ advantage of this (even if you love perl and Hate python) is that if I'm a mathematician, I can use Unicode to define my own syntax for mathematical operators.. They will have the net effect of being function calls, _but_ the source code will look _exactly_ like it would on a trusty HP calculator in graphical equation mode. Once I or my peers fully define the mathematical superset language for perl, I just use it as is..
The idea was to extend the power of perl's regular expressions by actually using them for once instead of just handing off the job of compilation to a yacc - lexer.
It seems stupid to write Perl with a Java look-a-like because features of the Perl syntax are what makes it good at what it does. For example, just how much spring processing do you do in a Java program? Probably none.
Well, we're not interpreting Java here.. I don't know that we'd be able to even run pure Java code (nor that we'd even want to). But to paraphrase.. If you like the structure that Java syntax provides, you can write a front end parser that restricts your code just like Java.. If you like white-space-sensative code (forcing coding sytle), then you could easily write a python-look-and-feel.
Perl6 will be heavily OO on the inside. Additionally, there will be support for low level datatypes (like arrays of raw int's), so Python, Java and C# should easily fit the mold (these languages came up numerous times).
To answer that last question, however, you would still be using perl regular expressions, not Java's simple c-like string manipulators... You'd just be calling them like you would a normal Java method. The goal for that would be to allow Java programmers to more easily understand the code.. Likewise with C coders (with a C front-end).
Another beauty is that there will be multiple back-end disassemblers. Currently Perl allows you to compile source code to byte code, and you can even take the byte-code and reconstruct source code (though you obviously lose comments and other things). So with multiple back-ends, you could disassemble back into Java or C or Python or Perl5 or even perl6...
-Michael
Ah! What are we supposed to do without typeglobs?!
Live a happy and fullfilled life...
I will not miss green eggs and spam,
I will not miss type globs said sam I am.
p.s. See OO-based variables, where generic scalars inherit the earth.
But why would anyone want to interpret Python in Perl
You're not "interpreting" python in Perl.. You're taking Python Syntax and parsing it into Perl Byte-code. Just like Python can be compiled into Java byte-code or, heaven forbid, Python byte-code.
The idea was that Perl had this great regular expression package (bar none), but it's not actually used _by_ perl. So, they're going to chuck the old yacc-based parser and use raw perl reg-ex's with a rec-descent parser (as opposed to a bottom up yacc parser), so that _any_ syntax could conceivably be used.. More importantly, the parser itself can be dynamically extended. The best part is that each module could use it's own syntax independantly of other modules (scope-based parsing). So I could literraly load in Java source-code or Python source code through a use statement.. Now, that is vapor-ware.. The more realistic result will be that you can load perl 4 or 5 modules without compatibility head-aches. Any going from C# or Python to Perl should not be too troublesome.
Other features that were cool were that the garbage collector was going to be abstracted. Partly to try and avoid the current pitfalls with memoryleaks, and partly so that Perl could be ploped right on top of a Java VM using a Java garbage collector. Though the following wasn't mentioned, what this could give you would be immediate access to most every desktop in the world.. i.e. Write perl code that runs inside an MS Java VM after being pre-compiled into java byte-code with a potential perl-translator layer.
The specifics are all up in the air.. This was just a directions discussion.
-Michael
It's like saying, why bother with XML when we have relational database at our disposal.. Not all solutions fit all problems. For some people, a simple hash-table lookup is all that's needed (berkly hashes, for example). For others, a simplied data comparator is needed, e.g. MySql. For others, data-integrity is needed, i.e. Postgres or commercial apps.
Mysql has speed as a stated goal.. They've hinted that they might implement Foreign keys soon, but ONLY as an option that can be implemented in such a way that it does not hinder performance one iota (see goal number 1).
It's not reinventing the wheel.. It's learning that not all wheels fit all vehicles (see bicycle verses formula-one racer).
I'm not sure about all the stated goals of PostgreSQL, but it seems to have, as it's goal to be a top performer with standards compliance - To be an all around champ. It can't win on all fronts / you have to make design choices. Postgres opted for version controlling rows instead of row-locking, it opted for one process per client instead of multi-threading, it opted for one file per meta data-entity, etc.
I use to use Mysql until my work expressed concerns for Data-Integrity. Now we use a mix of Oracle and Postgres (depending on the target app). The inability to perform several basic standards-based SQL operations in Mysql was very daunting. Roll-back was a critical issue, for example.
But, if I were a small-time ISP selling PHP and DB services, I'd go for Mysql.. Less overhead for me in terms of memory and CPU cycles.
In the Mysql documentation, it says that you can "learn" to work around the limitations of Mysql. Meaning that there are successful programming practices. Such is the case with Slashcode I'm sure. But from a business standpoint, it's difficult to justify the use of limiting technology, when there are other alternatives..
Performance-wise, Mysql has little overhead, and a small incremental cost, where-as Postgres has a decent amount of overhead and a moderate incremental cost. You'd think Mysql would come out on top, but Benchmarks [an old slashdot post] suggest that Mysql is unstable beyond a certain load level. Beyond that, if you use table locking, then you do not scale at all. Row-locking is slow for the big guys like Sybase (which I know much about). You take a hit on EVERY access just so that you can claim that you have regional locking, which facilitates concurrent access. Postgres side-stepped the issue (beit it for good or bad) through version-based rows, so they get to have a closer-to-linear performance curve.
And PostGreSQL doesn't offer stored procs at all, and requires triggers to be written in C - ugly, ugly, ugly
You can write them in TCL, Perl, SQL, PSQL,
Granted, non-C stored-procedure support is very limited (compared to Sybase or Oracle).
As other posted, a "server" can maintain multiple DB connections, though to my knowledge it is still impossible to perform inter-DB selections.. I don't think that Mysql can do this though, so the point it moot.
-Michael
Well, that's _ONE_ advantage. The MAC advocates might point out that they tout the same story. In fact, however, if you don't skimp out on the price tag of a PC, you shouldn't have any difficulty. Since win95's Direct X came out, I haven't had a compatibility problem for my main desktop... True, I choose my hardware with a mircro-scope, but I chose name-brands, which are typical of more expensive vendors.
A _big_ advantage of console games is that programmers have a common target platform. For the longest time, this was the biggest problem for PC's.. Recently, again, with Direct X, this pretty much goes away. Others that wish to take the more difficult road use GL, etc, but the trend is towards convergence and compatibility. Still consoles have the edge (as long as you're not trying to port to every console out there).
As for reliability, I've never seen a reliable console. Even my old Atari would crash on occasion. It's a computer, it isn't infallible, or immune to bad code.. And as the programs get more complex, the likelyhood increases. I snicker under my breath when my friend says he has to "reboot" his N64 periodically.
Heck, one Sega machine had dual procs, but few progammers used it becuase race condition management just throw you out the window.
The MAIN reason why consoles are so popular is content.. They simply have a great wealth of games. I don't know what the cost is for a PC game verses a console game, but it's just been the trend for most of history. Granted, I find many of the games on consoles dumbed up versions of their PC counterparts, mainly because the limited control "buttons", but also because of the appauling resolution and interlacing inherent in a console setup.
We were taught when I was young to not sit too close to the TV because of the radiation.. But consoles do the exact opposite.. They place you right in front of a heavily flickering monitor with interlacing to mess with your built in motion sensing.
Back to the original point, consoles definately have simplicity going for them, but PC's are slowly catching up. You already have to know how to turn the computer on and off if you do any sort of productivity. Now you just pop the CD in, and it'll automatically install and or RUN. Aside from the million and one things a user can do to screw this up, that's pretty straight forward. Consoles win by utilizing the AOL syndrom (that I herefore coin). Reduce the number of options your customer has, and you simplify their life, and can claim that they're happier humans. The gamble works because the vast majority of people accept this, and new-commers can always initially appretiate it. Also, even experienced uses might enjoy this, so long as they can do what-ever they like (the only explanation I can offer towards Mac Power Users). The small minority that feel closterphobic in such restricted environments will simply opt NOT to choose that platform.
Personally, Sony's dream scares me.. They wish to produce the most powerful hardware on earth, and sell at a loss so that they can lock you into their accessories (like games, or home entertainment). Of course you'll be able to control your Sony TV, stereo, VCR, Sony internet connection, etc. Why need a PC at all when you can do all the basic Home operations from your living room. Heck, put a PSX next to every TV in your house.
It's not a real danger, but you never know.
-Michael
Yeah, I just saw the article today.. It was rejected as a possible
Though it's unlikely to avoid the multi-tier voting (primaries / general election ), they suggested approval voting (vote for all candidates that you approve of for presidency - thus you're never wasting your vote, and you really can see who the public likes. The other was a score-card method. You rank candidates from most liked to least liked. Unfortunately I don't think that would ever work in our society. First of all, there was the problem of not telling the truth causing undesired / unrepresentative outcomes just like the one-person one-vote we have now. Additionally, it makes the ballot harder.. An illiterate person might not be able to figure out how to do it properly. Or a clumsy person might not read the directions correctly, and put all 5's or leave some blank, etc.
You can't get much simpler than check boxes were people select from the above with X's, or by push-button.
Oh well, this thread is probably over.
Cars are _much_ more expensive than bikes, but we drive them because we can't accept the inconvinience of the time delay, or minimal "trunk space", or single-person per vehicle, or physical stress, or just plain rattling of otherwise expensive clothing.
In the future, (as others have pointed out), traffic jams will be so incredibly bad (even if we ever did go back to trains), that you'd HAVE to travel in 3 dimensions just to alleviate congestion (think of 5-layer semiconductors
Yes it will cost more marginally (impossible to be more fuel efficient in air than on ground), but the utility of faster transit will cause people to accept it, just like we accept more expensive cars (that have power everything).
I do not believe that _anyone_ should be allowed to fly in populated areas in such a device. A person could endanger not only themselves, but citizens or buildings. Even if they were trained, they could hit birds at 80MPH, which would kill them, causing them to crash into the populace. Unless you make a really powerful shell, you're not going to protect the individual, and I just don't see it as being practical.
It _might_ be possible for computers to auto-pilot you - to have radar that detects and avoids birds. You'd still have to have a protective shell. Bugs hitting you at 80MPH can't be very safe or friendly (I don't know how bikers do it).
I would feel more comfortable with small, light, efficient one or two seater commuters, and probably not "rocket-man" packs.
Well, the only way I could image it would be to have a "high-way-grid", where the computers (as spoken above) would keep you on your path.. You'd have to have enough deviation room to avoid birds, etc and not crash into on-comming lanes.
It would be IMPOSSIBLE to manage air-traffic control as it currently exists with single engine jet-packs. Would it really be quiet enough for the mono-pilot to fully communicate with the tower. Not to mention what happens when you have dozens or hundreds or thousands of people on this "wireless" network. You'd essentially have to have a cell-phone grid, with people communicating with the central "computer". You'd also have to be restricted to a max altitude so that you don't interfere with normal air-traffic.
Also, I don't like the requirement of saturating the wire-less spectrum. I would only condone computers on the pack that did all the guidance, and radar. And that computer would restrict you to the grid mentioned above. If in open fields, you could possibly operate with greater freedom (assuming that the combination of on-board radar and computer) could keep you safe.
I suppose if you can have bike-racks, you could have jet-pack racks. Course, being that hey're really new and fragile, I can't imagine anyone leaving a pack outside a store with just a chain wrapped around it. If we did go to commuter air-planes, parking would be a night-mare (unless maybe the wings fold).
I don't see this happening any time soon.. And by the time the economics and congestion WOULD catch up, I think we'll have invented new technologies that make the personal craft almost seem rediculous.
I doubt we'll ever actually invent the "matter transporter". Hell, you'd have to prove Christians wrong first (unless there really is a soul).
I think that we might discover anti-gravity, or at least gravity canceling forces. In this case, I would assume that you'd need a big engine. This would necessitate something the size of either a train, truck or car. What I invision is regular hybrid gas/electric cars that can dock with a levitation transporter. That transporter carries you to a programmed destination across the 3D freeway. You then drive you car to the specific location while on the ground. Air transport is only really efficient at higher velocities, so it would be senceless to fly all the way up to your house or store.. You could still make use of stop-signs, stop-lights, etc at the local level (especially since you'd have to contend with pedestrians). The dangerous flight would all be computer controlled navigation of highly efficent use of space.
A big problem I see with air-freeways is the effect of cross-winds on aerodynamics. Correct me if I'm wrong, but if you have two lanes, one on top of the other, going in opposite directions, then the bottom lane will recieve a lift boost, because air flow will be faster on the top side than the bottom. The top lane, however, will have greater air-flow on the bottom, reducing it's lift. This causes an instability.. At the very least, the two lanes will be "attracted" to each other ( much like a pair of parallel wires).
If you had the lanes side-by side then you'd be back to an innefficient 2D plane. Even if you seperated the two lanes by great distances, you'd form a turbulance at some level.
You'd need a "twisted pair" of lanes to cancel out the aerodynamic effect.. LAUGH!! OBVIOUSLY this require computer control.
Oh well.. All of this is well beyond our reach.. And if it's not, then I feel sorry for my grand-children who will have to endure learning to drive in such unsafe environments.
Hehe.. Perl Plug.. Perl has a special varient of "goto", which does just this.
I think what you're talking about are optimizations. I think you are assuming that the meta-byte-code would be Java-family-centric. IF this crazy scheme could work (and I don't think it could, but for other reasons), then you could perform translations at compile time. We obviously know that we can write OOP on top of FOP (that's how C++ originally came about, and it's how GTK+ works). But it's just as easy to write FOP on top of OOP, since you just implicitly pass the "this" pointer around.
The problem would, of course, be performance. It would be better performance if we assumed an FOP model then did something like GTK+ for all OOP implementations.. In this fashion, you get all the benifits of code-robustness inherent in OOP, but get the performance and compatibility of FOP.
What I would instead advocate (and I forgot to include it in another post), is that we might find some common intermediate ".o" language. You'd have egcs be a front end for all your langauges, then save them off in what-ever form you want in
Unfortunately, that's a lot of work to accomplish very little. Essentially you're able to have a directory tree of
-Michael
There are a couple issues that this brings up (that I can imagine).
.o files into a meta-language byte-code (that isnt' assembly). So unless the common byte-code IS assembly, you're back at step 2.
,etc. I seperate the last category because unless you take special steps, the interpreter reads from the raw source code. (Yes, Python and Scheme can be compiled, but they're really just token representations).
1) Different languages make different assumptions. These range from calling methods to memory management, to threadibility, to the dynamic nature of the code (self-modifying code). It would be difficult to write a catch-all sub-system for any appretiable number of languages.
Now MS managed to use a JIT to translate both java and C# into the same byte-code, but they had the benifit of designing the second language to be compatible.
2) Dynamic languages are hard to compile into assembly. The most you can do is compile the main event loop with a static list of byte-codes.
3) You do NOT want to do anything that would make C slower. Namely, you're not going to use a generic interpreter that reads byte-codes, and based on the language context, treats them differently (i.e. reads the C-derived assembly, and interpret it). You're also not going to translate C-derived
So, essentially we can't have executable code that is common to all egcs-parsable languages. What you might be able to do is unify a couple high-level varients like Java, C# and Internet C++, which to me, on the outside, seem identical in nature. This wouldn't really work for Python / Perl / Scheme. They still need full-blown interpreters because their code changes over time (through the use of "eval"). But maybe we'll be biggots and say that they don't deserve coverage in this universal optimizer.
But here's what you get out of this. You have 3 or more languages that use the exact same byte-code underneath. They all have their plusses and minuses, but you have complete interpolability. But this "family" of languages is distinguished from raw C / C++ and purely open sourced Perl / Python / Scheme
My point is that you haven't solved the programming crisis, you've simply identified families of similar architecture and unified them.
-Michael
That's a great idea!! All you have to do provide libraries higher up - those common and compatible with gcc, at least for a platform. You could have what-ever optimizations you want for all the sorts of complex tasks that a given language wants to use, like reg-ex, GUI's.. Each could be in their own libraries (since they're called differently).
Oh wait.. We already have that.. It's called assembly.
-Michael
The public's psychology about third-party candidates has always been based on the popular vote, and will continue to be.
Sorry, I let myself get carried away in the last message. I didn't want to provide too much weight on the effect of the state-divided electorial process.
My main point was that for me, there is nothing I can do (by voting) to affect the outcome of the election, since my vote is grouped with the local majority. That discourages me.
I speculate that the reason I conclude this is because of logic. This same logic is what the debate committee uses to select it's candidates. I personally believe the debates are the single best avenue that a 3'rd paty has to get recognized (which was part of my original discussion).
I argue that the effects of the electorial college are subtle, and that they do provide a barrier to entry. My original argument then went on to anaylize the possible negative effects that promiting large numbers of candidates might have. The electorial process is only one such barrier. Special interests probably don't have enough desire to financially seed dozens of campaigns; it is in their interests to have as few candidates as possible, at which point they have the option of "buying" both candidates. Thus the effect of special interests funding (even if covertly) two or possibly three major parties essentially puts 3'rd parties at a disadvantages.
Campaign finance reform will probably help alleviate this. If candidates have less campaign money, they'll have to use it more wisely, but it'll also level the playing field somewhat. The only real possibilities would be personal wealth (like Perot). But in the light of dismal failure (partially due to the electorial college shutting them out to embarrasingly low levels), there is little incentive for the independantly wealthy to try for office. (This could be a good or bad thing, depending on your opinion).
To hopefully recap for the last time. The electorial process directly affects me negatively (hence my post). I view it to be one of several "barriers" that allow the two main parties to wield power. I believe philosophically, that long-term power is too corruptable and should generally be avoided (just like we prevent more than 2 presidential terms). Hell, you could solve this problem by making another constitutional ammendment which said that a party can not have more than 6 terms accredited to them in a half century. That would encourage "evolution" in a party, by having to start from scratch their organization every couple years. Course that would be almost impossible to manage. You can identify a person and say, "you're done", but how do you do that with an organization? They could change their name.. rearrange a few words on their charter.. Not to mention, we don't want to exclude organizations from the political process, just to prevent them from having a nearly totalitarian influence over it. Oh well, wishful thinking.
The fact that we have a direct election of our executive branch, rather than an appointed one (like a Prime Minister) means that it will always be a horse race, and only the one who comes over the line wins.
Don't know how I feel about this. I don't really have a good feel for the long-term effects of a parlamentary system. I did think about this not too long ago. The only conclusion I could draw was that the US was founded apon distrust, and so the executive branch was made to be an independant process (minus the various tie-breaking votes, and congressional-based representation, etc).
I was going to say more, but I don't want to seem ignorant - more importantly, I don't want to say potentially wrong things which could mislead "the masses".
-Michael
How eloquent. Perhaps my wording was not purely scientific, but I still believe in my underlying point, which, as I'll repeat below, was that a person that has a large percentage of the populations acceptance should have SOMETHING to show for it. I'll elaborate below on why that's more than just a pride issue for the candidate.
Yes, third party candidates will get the measily little 5-10% that they were working towards, but they will still lose. We're in a winner-take-all Democracy here, and weather you get 10% of the popular vote, or Zero electoral votes, you still end up losing
I disagree. We have logic and human psychology to contend with, which is a stabalizing force. IF, a given party gets 15% one year, they may do the same, better or worse next year; they have incentive to keep fighting the long uphill battle.. If however, they receive ZERO electorial votes, even though they got 15 - 20% of the popular vote, then people will consider that any votes for them are wasted. The media, and even potential supports will discount that party / candidate. I thought I made this part clear. The electorial college provides a barrier to entry that will probably forever keep us in a two party system, EVEN if people are completely sick of one or both of the parties. So long as the parties go back and forth with candidates that don't repulse the general population, someone will win out of protest votes for the other side (since people will generally not want to "waste" their vote on a 3'rd party).
The pro side of my argument suggests that we should alleviate this barrier to entry.
Even if there is a win, what will one Green (or libertatian, etc.) President be able to do when the Congress is still filled with majority party members?
Well, you are assuming that the party would be completely unagreeable with congress. I don't think Perot would have had complete lack of support. He was generally liked, and he attempted to take the engineering approach to politics. He repeatedly stated that he didn't know the answers, but as part of his plan, he would put the "best minds" on the job and basically engineer from solution to solution. I respect that, but it obviously doesn't go over that well; People like knowing what they're getting with a candidate, and this usually means making promises up front.
Though it's true that a radical would be impeeched (since they'd have little support in congres to avoid it), not all 3'rd parties are radicals (again, thinking of Perot, who's just different, if not too unsophisticated for public office).
Disclaimer, I did vote for Perot, so take my view of him with a grain of salt. I don't generally support his party, because I don't know that it isn't full of morons who just want 'any' sort of change.
-Michael
Umm, pass-by-reference can be significantly slower than pass-by-value. In ref's, you put into the calling function's argument registers a pointer, which must then be dereferenced. Ideally, the contents are in L1-cache, but if you haven't used them in a while, they may be off in slower memory. Today, when memory is an order of magnitude slower than the CPU, that makes a significant difference. IF, the c-struct can fit within the argument registers (as might be the case in SPARC, IA-64 architectures for small-to-medium DTs), then you can make several calls deep without ever touching memory (so long as you don't use any pointers). Now, admitedly, x86 and many other's have a register shortage, so this probably doesn't apply to them (except that the contents would have been garunteed to be recently accessed, and therefore could be in an L0 cache (such as in the Athalon; at least, I assume this is what L0 is useful for)).
As an interesting point (I'd like to learn more on it), how does C++ do the following:
void foo( int& arg );
If it's nothing more than a transparent pointer, then C++ definately has less performance capability than C. If, however, it's a true alias, and you are passing-by-value, then architectures like the SPARC, Athalon, and IA-64 get a double bonus, since their calling parameter is the same as the returning one (thereby saving several regs).
That said, interpreted languages such as Java, scheme, Perl, etc require expensive operations to be performed for each op-code (or segment of text), so most of the point is mute. Especially since their data-structures contain a lot more bloat than just the desired value. (Note: I use the term interpreter because these languages do not compile directly to assembly. Their meta-data must be interpreted to determine code-flow. If you give me a better substitute for a word then fine, but you can NOT call perl or Java any more compiled than scheme; The compilation stage is simply more explicit and optimal).
It might be possible, however, for the interpreter to pass-by-value the low-level data-structure to the internal control-flow function, say as in ADD(DS& TO, DS& L, DS& R). With this, the intermediate operations which require internal-function calls could be optimized away. It's more complicated to analyze Java, especially with the JIT, but similar sorts of optimizations utilizing passing raw-values instead of just the pointers could be implemented.
The problem is that a function call has so much over-head in an interpreted language, that little of this matters.
Lastly, to the real point that the first guy was making. He doesn't like having to _use_ references. Well, in Java, you never know that they're references (except when you try and copy something). I rarely actually do a copy, so I can't imagine what his problem with it is. In C, you have the distinction between access and dereference, in Java, they both "look" like access, namely Foo.var, as opposed to Foo->var. Personally, I prefer the uniform access types (fewer errors). As for the lack-of-safety for modifying called parameters, you at least have low-level types in Java to avoid this. Beyond that, any really large data-structure is almost always passed as a pointer in C, so I can't imagine there's a debate here. Perhaps I'm being naive in comparing Java to C. Is there something that gets the job done better than Java or C/C++? Perhaps you might advocate Perl, which can do either references OR static-types (but no pointers). I can't imagine writing Word in Perl though; there's just too much over-head for a large-scale app, unless perhaps you were only trying to connect together GNOME/Qt components with Perl glue, but you'd still have written most of the components in other languages (like Java / C).
-Michael
I am part of a small state, that almost always votes for the same party. This literally means that my vote is useless. Though a very small fraction of the country understands this process, I doubt it is a major stumbling block for the general population.
One state( can't remember which) at least broke up their electorial votes based on percentage of votes). I like that idea, since it basically is within the rights of a state.
The problems I have with the electorial college are:
- My vote means nothing.. Except a margin of error for historical statistics in my state.
- It blocks non-mainstream party candidates. A candidate that gets 15% of the vote should have 15% of the final vote, which is not the case. A uniform 15% vote will get you zero electorial votes. The problem this causes is that the media AND organizations like the debate committee know this and so they completely discount 3'rd party candidates. If, for example, 3'rd party candidates could have gone to the debates, they could have mustered an enormous support (most people have never even heard of them). They could at least double their support (if nothign else than for people to vote against the main candidates with someone they _think_ looks trustworthy).
- The electorial process was deviced when we had state-loyalty. You were not an American, you were a Virginian. Today, people move from state to state will little concern - people identify with the US as a whole, we're more concerned with the Federal Gov. than the local ones. Back in the day, we trusted local Gov. more than the Fed., and so we united as a state to vote for a candidate. Today many don't even know who their local congressmen are.
Now, for the flip side. There are advantages to the electorial process that I can imagine. First of all, it is doing exactly what it was intended to do. Not least of which, it reduces the number of candidates. I have heard horror stories about politics in India (and I assume in other parts of the world), where there are hundreds of parties. You have a perfectly competative market, so you have to sell your self cheaper than your competitor - or more correctly, offer more apparent value, even if it means compromising good judgement. Incredibly, the US does not have a market-based executive branch. We don't see the same sort of free-wheeling, don't pay any attention to the detail of the man that is me, just see what I'm trying to give you if I'm elected to office. In other countries, they take a candidate like we take a McDonalds burger. They don't even want to KNOW what's inside, but it's cheap and it'll satisfy us for the short term. Political candidates are put through a lot of scrutiny, and if a candidate things something embarrasing has come out, they will tend to resign. There's more attention being paid to fewer candidates. The media will also be quick to spend enough air time on the flaws of candidates that people will generally discount unfavorables. You can't do this if you have hundreds of candidates. The likely hood that people will be well enough informed is slim.
The big issue we find today is that power corrupts, and our two main parties have been in power for a long while. A 3'rd party is not going to break through for a long while (if ever), especially when the main parties are catering to more and more of the other side. "Don't rock the boat", is too strong.
I don't know that things wouldn't go bad in time if we got rid of the electorial process, but I can't imagine that dividing state votes up based on their percentage isn't more "fair", and would at the very least provide enough scare into the main candidates to not dismiss the 15% or so that goes out.
In closing, I'll put my plug; a highly biased opinion. Though some don't like the social engineering that Gore proposes, I personally think it's a more intelligent approach than Bush's brute force approach (of giving away money to everyone). Neither really sticks to any philosophy. Bush claims support for regional independance, but then wants to use the purse strings for control. He claims to support the military, but doesn't fully fund it in his plan. He wants to give us rights to guns and says that "we know best", but wants to remove a woman's choice (actually it's consistent if you think of him as a sexist conservative male dominant character, but I doubt that's really true).
Gore is just a mixture of about everything (he's even taken a 180 from his earlier years on many issues). He's probably going to follow in Clinton's foot-steps and change opinion with what-ever is popular; just look at his new stance on Campain finance - especially after his fallings out. He's a green-peace person at heart, but he's trying to logically play the political game to accomplish as much as he can.. Thus, I'd label him an opportunist, which might not be the best for us. He's definately going to increase the size of government, and he'll only be successful if we don't hit a recession. To the credit of big government. If we hit a recession, then the large government could start cutting fat to alleviate the burden. If, in Bush's plan, we cut the fat now, while we're still at inflationary levels of prosperity, we'll over-heat the economy, and then have no monetary tools to adjust in the future (unless you believe the fed. reserve can accomplish this through trickle-down economics via interest rates)
Harry Brown was interesting for an intellectual thought game. Unfortunately, he basically assumes that people will know what's best, and we'll take proper care of our new-found responsibilities after our parental government goes away. Labeling him an anarchist isn't that far from the truth. Ideally, the government holds a monopoly on the use of force, then you let the people do just about anything they want from there-on-out. They obviously can't kill each other, so we don't have total social break-down. But then how do you enforce contractual obligations? Perhaps the Gov. stays in the business of en'forcing' contracts. But then where does it stop? Brown wants the federal court to not have any power on non-constitutional issues. At the very least, you would be hard pressed to support human rights when states seem biased. Most importantly on Brown, he doesn't seem like he'd mingle well with congress. You'd probably have a record number of executive decisions over-turned by congress with-in his term.
-Michael
Please list (without explanation), in order of priority, your presidential philosophical goals, so that we can understand what you are willing to compromise. Here are some important examples:
Reducing corruption
Reducing power / influence of government over our lives
Protecting the vulnerable (i.e. environment)
Fostering education
Fostering national productivity (i.e. supporting new technology)
Commitment to social welfare ( i.e. Medicare, social security, welfare, etc. )
Commitment to advancing the rights of citizens
Maintaining a strong economy
Laisez Fair economics
Providing a moral compass for citizens (i.e. abortion)
Providing a moral compass for other nations (i.e. human rights)
Avoiding wars / use of troops
Strengthen military
Trust in citizens to know what's best for them
Guide citizens to avoid the pitfalls of greed / selfishness / impatience / biased phobias (in spirit with retirement plans, universal education, and other social programs )
Resolving differences between parties (i.e. take lesser of evils instead of stubbornly holding out)
Do you support the Federal reserve as an independant body and the sole manipulator of our economic system (free from political motivation)? If so, then how do you view concerns that a large tax cut might undermine Alan Greenspan's attempt to stablize our market system and economy during this time of "over-expansion"?
-Michael
Both Candidates:
Life is cyclical. Economics is cyclical. Politics is cylical (dictatorship to freedom to regulated supression and back). What philisophical steps will you take as president to prepare and otherwise pre-empt such cyclical down-turns that may even already be present (such as political corruption and anti-Patriotic sentiments)?
You should have made several individual posts. They're not going to bunch all those questions into one; and the moderators can't single out which of those questions comply with moderator guidelines, and are hence most deserving of karma. :)
A wire can only carry so much data.
When it's full, everyone else has to suffer.
Not necessarily true. You offer Quality of Service to your high-paying customers. Filter out a percentage of packets from your variable rate customers. POTS Telephone lines (like modem connections) have a fixed channel rate, and could seriously disrupt things if sample-packets are periodically dropped. ISDN, DSL and T1's however are all digital, and entire frames are droppable since the end points can recover.
The carrier marks your Point-to-Point interface with a QOS which ultimately determines the drop-rate. The average user would be tied down during peek-hours. They'd have to spend more for peek-hour use just like current long-distance services.
Long distance carriers can afford to do 24/7 same-pricing only because they're gambling that people make mainly regional calls. With the internet, that's not the case. We're all over the world and back several times in an evening.
Monitoring that BW at every point and probagating trunk charges would be insane. Major trunks or backbones couldn't keep up with the volume of charging data (especially in light of their having a fixed cost no matter who sends to whom). It's only the ISPs with hundreds of home-connections and one or more major trunk connections that would have any incentive for this. And that's what we see today. For anything higher than a fixed cost modem-line, you pay proportional to the BW.
What most people fail to realize is that the cost of production for "something" ISN'T just the worth of the materials used and the machine and people that put them together. It now also involves cost of advertising, marketing, research to design new iterations of the product, etc. All these things cost money and manpower to, and drive up the "real" cost of "something."
You can think of it like a B-tree. The leaf nodes are the resources. But that's not the total number of nodes in the system. You have all the connecting nodes all the way up the tree. The next to bottom level would be the workers that work the materials, then the supervisors, then the planners (who direct the supervisors to direct the workers). You break off the planners into R&D. At the very top is the executive board and finally the CEO. Every one of these guys has a cost.
BUT, none of this has anything to do with the price. The marginal cost (which includes interest on any borrowed resources required to produce the factories) is factored into the initial price. But once it gets going and the factories are set to produce x-widgets / cycle, then the supply is set, and prices is totally based on that fixed supply and the varying demand (which is affected by competition).
Cost only influences prices in the long run (in terms of entry or exiting a market, or in adjusting the number of manufactured widgets).
Telephone / cable company already has your wires layed, their cost is really that of the BW on the major trunks, and the power lines. They also try to factor in the depretiation cost of the hardware, but that's only taken into consideration at initial cost time. Your rates only really change seasonally when any major changes take place (which typically affects volume or quality of service)