Slashdot Mirror


User: gaj

gaj's activity in the archive.

Stories
0
Comments
320
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 320

  1. Re:Then get your OSX virtual desktops, already!! on Mac OS X Switcher Stories · · Score: 2
    Thanks for the pointer to the Virtual Desktop software; if all the other "issues" I have with switching to a Mac are resolved, I'll know I have an alternative.

    In fact, there's a crippled version that allows two desktops. I still think this is a basic feature that should be in the standard UI, but again, at least there is an option.

  2. Haven't switched yet ... on Mac OS X Switcher Stories · · Score: 2
    Oddly enough, the GUI is a big part of what's keeping me from switching. There are three main things keeping me from buying an iBook and going Mac:
    1. No multi-workspace/multi-desktop functionality in Aqua.
    2. Poor keyboard on iBook (flimsy, and I still haven't found a reliable way to swap Caps Lock and Control).
    3. Low bang for the buck. Yes, I'm well aware of the "MHz Myth". Unfortunately, it's only partly a myth. Given enough of a lead in clock speed, even the P4 (broken crap design that it is) can be pretty damn fast. The 700 MHz iBook is pretty damn slow compared to a comparably priced Athlon, PIII or P4 laptop. Add that to the slow memory speeds on all but the latest destop machines and, well it isn't pretty.
    The speed thing I could probably deal with as a trade off for stability and reliability. The keyboard is a much bigger issue, as is the crippled UI. Fix those things, and I'd be inclined to start using OS-X. I'd still have my *nix, and access to a decent array of comercial software as well (more for my wife, who is a photographer, then for myself, mind you). I probably wouldn't really "switch", but rather add OS-X based Macs to my stable. Perhaps if they are as out of the box funtional as folks say, OS-X could even displace Linux as my primary environment.
  3. Re:Donations are nice, but... on On the Future of Linux Weekly News · · Score: 2

    I don't know. NPR gets a significant portion of their operating budget through listener memberships. Perhaps that model could work for a web site as well.

  4. Re:You Are Correct... on WarTalking Arrest · · Score: 2
    Closer, except ther're no evedence for the "... went into your house, rifled through your papers, drank your beer. No need to thank me." part. In fact, from the pathetic amount of info available, it looks to me more like "... I found several other insecure nets let yours around town as well."

    A proper response would have been:

    "Bummer. Well, stop war-driving; it could get you in hot water some day. We'll put out a public service anouncement through the local chamber of comerce to give businesses in the area a heads up."

    Now you and I know that those businesses' IT folk should bloody well have known how insecure their wireless stuff was, but it is also the case that non-IT people purchase and use equipment that the IT people know nothing about.

  5. Re:sorry, but you are wrong on Sun and Apple Team Up for StarOffice for Mac OS X · · Score: 2
    There are interpreters for C and C++ as well. Does that make C and C++ "interpreted languages"? The fact is that there are excellent native code compilers for Java, both JIT and batch. Java is as much a compiled language as C++.
    Hey, you're the one that claimed that Java wasn't interpreted; by implication saying that it was compiled. Obviously whether a language is translated using an interpreter, a compiler or a combination of both (the usual case for Java) is an implimentation detail. As for Java being as much a compiled langauge a C++, I'd say it is "more compiled", if that means so much: it is [usually] first compiled into bytecode, then [usually] later [at least partially] compiled into native code by the JIT or HotSpot compiler.
    For some uninteresting definition of "basic" that may be true. In real life, however, with a good JIT, all compute-intensive Java code is compiled into native code. Java byte code that is executed rarely may be interpreted, but that doesn't matter for performance, exactly because it's rare (in fact, it saves memory).
    Way to quote out of context, dude! For HotSpot "basic" means "usual" or "most common", even (or especially) "in real life". Most JITs compile the whole class file into native code when it is dynamically loaded. Sun's HotSpot does what you describe, only compiling to native code the portions of the Java bytecode that will likely benefit from it. In fact, this whole paragraph simply restates the rest of what I stated in the text that you chose to snip. I don't know why you are so defensive in that last sentance, though. Of course it makes sense to run the bytecode where it is sufficient; that only makes sense.
    That is utter nonsense. A JIT has much more type information and much more statistical information available to it than any C++ compiler. Furthermore, the Java language spec prohibits aliasing in many cases in which C++ does not, giving Java compilers a lot more opportunity for optimization where a C++ compiler can't do anything. So, even a batch compiler for Java has a lot more opportunities for optimization than a batch compiler for C++.
    Because of Java's type system, some types are not known until run-time, and so cannot be checked until then. A JIT sits between what is normally considered "compile time" and "run time". In either case, there is type information that a C++ compiler has that the Java comiler does not. As I said (again you quote w/o enough context), each language's compilers has advantages over the other, depending upon implimentation. One other thing, could you please stop conflating JIT/HotSpot and batch compilers. They are different beasts, with different abilities and different constraints.
    This is mostly offtopic and mostly pedantic, but, as a developer who uses several languages, I hate to see silly comments by language biggots go unchallanged. Always remember: All languages suck; some just suck less in a given situation than the others do.
    When arguments fail you, you resort to insults? All I said was that Java is natively compiled (i.e., that there are native compilers for it) and that it offers more opportunities for optimization, two statements that I completely stand by.
    The offtopic and pedantic part refered to this thread and my post, respectivly, so I assume the "insult" you refer to was my implication that you might be a language biggot. I think the assesment was pretty accurate. Your followup only strengthens my opinion. You persist in using selective interpretation of "compiled", "compiler", "interpreted language" and "compiled language" to support you view that Java is superior to C++. Truth be told, I prefer Java to C++ for most uses. I simply found your broadly painted statements to be arguable. Hell, we even agree on most points; I just object to the way you use those points to imply a superiority that isn't there.

    Perhaps I'm mis-interpreting you. If so, I owe you an appology. Your respose leads me to believe that I'm pretty close to the mark, though. Feel free to correct me.

  6. Re:C is a high-level language?? on Think Python · · Score: 1, Flamebait
    C, a language without file i/o, without bound checking, and with direct access to ports is high-level? If you say the libraries chucked into a C load makes it so... Then Assemebler is a high-level language, too.
    No. C is an HLL because the expression of concepts is above the machine level. Oh wait, that must be wrong, as you define for us exactly what makes a language HLL vs. LLL. Hmm ... so file i/o and bounds checking make for an HLL, but "direct access to ports" (by which I assume you mean "direct, arbitrary access to memory" ... please say what you mean) makes for an LLL? OK, lets then look at your supposed spectrum of languages:
    Last I heard was Binary Code=0, Assem=1, C=1.5, Fortran, Cobol, & Basic were about 3, ADA, C++=5.
    First of all, BASIC (not Basic; it is an acronym for Beginners All-purpose Symbolic Instruction Code ... I should have "stopped reading your post right there, because how can you teach me the levels of languages when you do not know bout the basics of computer sceince? [sic]"), Ada and C++ all have "direct access to ports", so they must be low level. And C++ has no file i/o withough libraries, so it must really be low level. WTF? Don't you "know about the basics of computer sceince [sic]"?
    Perl was not even in the picture, because it was scripting language
    Ok, so enlighten me: WTF is the definition of "scripting language" and how does it differ from a general purpose programming language and how is it that Perl fits into the former catagory rather than the latter? You are obviously god-like in your grasp of "computer sceince [sic]", so I really look forward to learning from you.

    Or something.

    I probably have just been trolled, but I meet so many people that sound just like you and really have given that little thought to the subject. I'm sure that my pathetic little mind, having the small grasp of "computer sceince [sic]", simply couldn't comprehend your post.

  7. Re:Java *is* interpreted (usually) on Sun and Apple Team Up for StarOffice for Mac OS X · · Score: 4, Informative
    While the parent post is patently stupid, you are partially incorrect. In the case of a JIT JVM, you are correct. That could include most 1.2 JVMs and IBM's 1.3 JVM. OTOH, most 1.2 JVMs can also run w/o JIT enabled, in which case they are bytecode interpreted.

    In the case of Sun's current HotSpot JVMs (1.3, 1.3.1, 1.4, 1.4.1beta), however, the basic execution is bytecode interpretation. Only when the HotSpot profiler determines that a piece of code would benefit from optimization does is (possibly) get compiled into native code. Many other optimizations are also possible, of course. This is part of why there is still hope for Java on the client and why Java on the server actually works quite well. For long running processes, the HotSpot optimizer can (more accurately 'could') do a bang-up job optimizing the code.

    As for your statement that there are optimizations that a Java compiler can do that a C++ compiler cannot, that is true. Of course the reverse is also true; the Java bytecode compiler cannot do as much type checking as a C++ compiler can, and it cannot do some of the optimizations that C++ can because until runtime it cannot know if they will be usefull or not. Java's compilation environment is, in some ways, more complex than C++'s, even though C++ is a much more complex language. Java has two compilers: one source to bytecode compiler run at "compile time", and one bytecode to native compiler than [may] run at runtime.

    This is mostly offtopic and mostly pedantic, but, as a developer who uses several languages, I hate to see silly comments by language biggots go unchallanged. Always remember: All languages suck; some just suck less in a given situation than the others do.

  8. Re:They don't use subversion, why should we? on Designing a New Version Control System? · · Score: 2
    I notice that you are wrong . Apparently you missed the BIG F'ING OBVIOUS RED ON YELLOW BOX that says (in part):
    OTE: Subversion is now self-hosting -- to obtain a working copy, you must use Subversion itself, not CVS.
    You also didn't bother to check the FAQ, where they say [emphasis added]:
    Is Subversion stable enough for me to use for my own projects?

    Yes and No.

    We say "Yes" because we do believe that Subversion is stable and have confidence in our code, so we've been self-hosting since September of 2001--eating our own caviar so to speak>/i>.

    We say "No" because if something goes wrong with our svn repository, we've got a horde of active developers who will stay up sleepless nights hunting down the problem and rescuing our data. As altruistic as this horde might be, they don't have time to rescue the data for thousands of people who are storing their data in a pre-alpha product.

    We say "No" because there's a good chance that the filesystem might change before we go 1.0, and we don't plan on writing and testing and shipping conversion utilities.

    So, as long as you're willing to take those risks, then go right ahead and use Subversion.

    In fact, the only thing I see as a major issue with svn (other than their fscking slow-ass site) is the fact that it is pre-alpha code. I want to use it now, dammit. In fact, I'm just starting two new personal projects; I think I'll give it a shot. Worst case, if they do change the filesystem, I'll write a damn conversion program myself.

  9. Re:Why Milton and Dilbert succeed on I Believe You Have My Stapler · · Score: 2

    My ancestors were immigrants, as were those of most Americans. Immegration is what fucking built this country. Where the fuck do see me saying that immigrants shoudln't come here? How exactly are H1 visa holders immigrants? Hell, I welcome *anyone* that comes to our country *legally*, and especially admire those that immegrate and assimilate. Again, it's part of what built the greatest country in the history of the world, the US of A. I will plead guilty to one of your charges (sort of): I'm a Jingoistic son of a bitch for sure. Or, more accuratly, I think that our "grand experiement" is a resounding success; the US is far from perfect, and we certainly have plenty of shortcomings, but it's still the best there is (IMHO) and I'm certainly not ashamed to say I think so.

  10. Re:Roman History on I Believe You Have My Stapler · · Score: 2
    Thank you for pointing out my myopic interpretation of "slavery". I *do* tend to assume that, in the modern world, when folks refer to "slavery" they are refering to "American" (I'd call it "contemporary", but that may be continued myopia on my part) slavery.

    Given that reinterpretation of the term, I would be over-reacting a bit.

    So, since you seem to know a bit about slavery; tell me, were the American's the only ones to participate in the form of slavery you attribute to them?

  11. Re:Why Milton and Dilbert succeed on I Believe You Have My Stapler · · Score: 2, Interesting
    The H1 visa is a brilliant form of modern slavery that has the consent of everyone involved!
    Yes, including you.

    Obviously the H1 visa system is better than your alternative, eh? You obviously prefer it to staying in India, or you wouldn't be here.

    Your hyperbole about H1 being "a brilliant form of modern slavery" is really annoying. Did an H1 visa come up to you, point a gun to your head and force you to come here? I didn't think so. And as for the INS (fuckups that they are): when you are laid off you are "out of status".

    Now, a legitimate gripe might be if you were not informed of the terms of the visa when you were granted it. From your postings, though, I can see that you are intellegent enough to read the "fine print", so I doubt that was the case. Guess that leaves us back where we started; if H1 is slavery, you are the slave-driver.

    Please don't misunderstand, I applaud you for taking the effort and risk to improve your situation by taking advantage of our H1 system. That takes guts and drive, which I admire. Equating it to slavery is bullshit, though.

  12. Re:Refactoring on Organizing Source Code, Regardless of Language? · · Score: 5, Informative
    I'll second that recommendation.

    When I first saw "Refactoring", I said to myself: "Self, now I've seen everything". I thought it was yet another book enshrining process and procedure over good working code.

    I was wrong.

    This book is really good for those who haven't yet learned what Stroustrup refers to as "taste". Hell, I've been coding for many, many years and I certainly thought it was worth a read!

    My only caution is the same as the one I give about GoF, UML, OOA/OOD/OOP, or any other codified programming "methods": Don't blindly follow them w/o taking your own experience into account.

    Basically, the less time you've been coding, the more seriously you should take these concepts. Over time, and with many KLOC, you'll develop your own "taste"; your own sense of what works. This is not to say that learning new methods is useless to someone who's been coding for a long time; far from it. Just that, in most cases, a hacker will develop a pretty good idea of what works for them and what doesn't. The dirty little secret is, whether your like the language he "accreted" or not, Wall is right: TMTOWTDI. And knowing which way to use in any given circumstance can only come with experience. Reading books like "Refactoring" can help a lot until you get that experience, though!

  13. Re:A new definition for "outperforms" on Xserve Outperforms Sun, SGI, Windows · · Score: 2
    • Sun Fire 280r w/4 CPUs approx $18k
    • Sun Fire 880 w/4 CPUs approx $60k
    • Sun Fire 4800 w/12 CPUs approx $375k
    • Dell 1650 w/2 procs approx $6.6k
    • Apple Xserve w/2 procs approx $6k
    SGI is to cool to list their prices online, apparently.
  14. Re:It might be time to try again? on Eclipse 2.0 Released · · Score: 3, Interesting
    "Of course the debuggers are incredible. Being able to walk through code and see what happens to my variables is great. System.out.println is a joke is comparision."
    Two points:
    1. sometimes (often) System.(out|err).println is exactly what you need and if you only need one or two, printlns are faster to use than a debugger
    2. when you do need a debugger, jswat is your friend.

    "Now I can wrap things in try/catch/finally in .25 seconds, I can build a getter and a setter for a private var in the same amount of time."
    I have a macros in vim for the often done edits such as javadoc comments, comment in/out of selected lines, try-catch block, etc. As for finding getter and setter, I've not bothered to create macros because I've never had much problem finding them in a second or two with a simple search, assuming I can't already remember the name because I named it well.
    " My "beef" against IDEs was that they robbed me of a chance to learn. I felt like they wrote the code for me. That's no longer true. I good IDE will match your braces, wrap code in try/catch, create shortcuts for phrases, (do all the "physical labor") but it won't take away the real coding."
    My beefs with IDEs are that they get in my way, make me learn a whole new interface just to get the same level of functionality (or less), are harder to script, less flexible, often tied to or limited to specific versions of a given language SDK, and are often slow and buggy (assuming they are even available for a particular platform

    Every single thing that you mentioned (brace matching, code macros, abbreviations) are either build into vim or easy ( That said, every other developer on my team uses IDEs most or all of the time. If it works for them, I say more power to 'em. They even used to give me shit for using vim and shells, but they got tired of my already having a way to do every single thing they point out as an "advantage" of their IDE.

    The only thing I'd like to see (and may work on one of these days, since vim and ctags are open source) is a better ctags implementation. What I have works well (decent auto complete and very nice tag jumping), but isn't as refined as the systems I see in current IDEs. That is a legitimate plus to JBuilder, IDEA and their ilk. For now.

  15. But can I put the CTRL key where it belongs? on Do Apple iBooks Make Good Geek Laptops? · · Score: 2
    Quite frankly, the only thing keeping me from replacing my Sony Z505 with either a TiBook or (more likely) an iBook is the nagging question:
    Can I remap CTRL to the Caps Lock key (in OS-X, Linux or both)?
    Swapping the two (as I do on my Linux machines that don't have Happy Hacking Keyboards) would be even better. I read somewhere that some, and possibly all, Mac keyboards do the Caps Lock toggle in hardware or firmware, making it useless as a CTRL key. When/if I get a Mac desktop it is a non-issue, as I will just buy a HHKL-II in USB for it. On the notebook that isn't a reasonable solution, though.
  16. Re:Hmm... on Java Thrown Back in Windows, For Now · · Score: 2
    OK, I'll bite:

    How the fsck does any of the money paid for a copy of Windows go to pirates, even if the piracy that Microsoft purports is going on and does "cost" what they say it does?

    Seriously. I don't get it. Perhaps it bites into Microsofts profits (again assuming their numbers are anywhere near correct). Perhaps Microsoft therefore charges you more.

    Still, no money goes from your purchase to pirates, let alone half.

  17. ... preview, preview, preview on US Govt Wants to Control ICANN? · · Score: 1
    Speaking of "rights and responsibilities", I obviously abdicated mine vis a vi proofing my msg.

    s/governemt/government/

  18. Re:I fear the gov't because. . . on US Govt Wants to Control ICANN? · · Score: 2
    As for the laws that limit the gov't, the constitution and laws in this country only hold water because our governing body agrees they do.
    Um...

    The constitution "holds water" because we, the people agree it does. The govmt has exactly the powers we as a people allow it. No more, no less.

    Who's going to stop this abulatory conglomeration of tinker toys and assault rifles we Americans like to pretend is a government if it stretches things too far?
    If they were to really go too damn far, that same we, the people will. It is our right and responsibility as a free people. OTOH, I really don't expect it to get to that point in my lifetime ... as fucked up as our govt can get, it's still "the worst form of governemt, execept for all the others".
  19. Re:That's the power of .NET on F# - A New .Net language · · Score: 2

    I make a living coding Java on Linux. Frankly, your statement is silly.
    How can the point be silly if you've decided to code in Java? Or are your technical choices made at random?
    The original statement was silly regardless of what I code in. We originally chose Java because we build a cross-platform GUI based tool. In ther real world that brings us down to Java or C/C++ with GUI wrapper libraries. For technical, political and logistical reasons Java was chosen. Not random at all.

    Second, having to deal with with what Java version is on the end user's machine leads to most of us distributing the JRE with our code.
    That's bizarre - most companies do precisely the opposite. For example, BEA provide a WebLogic install specific to Windows that does include a VM, because Windows is a relatively well-defined base, but for Linux, Solaris, HP-UX etc. they provide one without. This is because they realize that choosing a VM on these platforms is generally the job of a sys admin and not something that their product alone should dictate.
    Silly rabbit. You're thinking of the system JRE. Our install of the JRE is used by our program alone. We certainly don't touch the system JRE on any os, Windows or not. That would be stupid. As for "most companies" doing precisely the opposite, I thing a better phrasing would be "some companies". In fact, several of our OEMs either requested that we use our own JRE, or thought it was a good idea. I'm on the fence, myself, but this method has real advantages.

    Given those (and other) issues, I think I would seriously consider C or C++ with perhaps wxwindows as the GUI toolkit for future end user apps.
    I suspect that there's some hollow laughter from other /. developers at this point. Anybody proposing C++ with GUI libraries (not to mention STL, database and threading libraries) as a more portable platform than Java is seriously out of touch with reality.
    Or not. See Mozilla, OpenOffice, Abyword, etc. More importandly, see many interal apps written using wxwindos or QT. As for STL; no one said it had to be used; in fact, I'm not not that big a fan of C++ in general, just pointing out that it would be no less a hassle than Java in some cases, and not much more in others. As for databse access, ODBC libs are there for C/C++; more importantly, the apps I write aren't db apps, so this is NaP. Threading? Pthreads is ugly, yes, but sufficiently portable. Java threading is much simpler, yes. This is major area where Java did improve upon it's parent's methods. As for my being out of touch with reality: guilty as charged, given your definition of reality.
    Java's standard library is nice, but the performance, memory and distribution hassles are (or can be) a bitch.
    Performance is good enough to run high-volume transactions behind innumerable web sites. It's also good enough for intensive GUI work (e.g. JBuilder). Memory demands don't seem to be a problem, after all, people are developing apps that can run on phones. 'Distribution hassles' presumably refers to the same self-inflicted 'problem' above.
    Performance of long running apps where latency isn't a major issue is indeed acceptable. No point in being faster than you need to be, I suppose. As for holding up JBuilder an an icon of GUI usablility, it is a perfect example. I've not seen a pure Java app that is much better. Is it useable? Yes. But it still has annoying lags, even on a decent machine (say P4 1.5GHz, 1/2 GB RAM). You can build useable GUIs (I do), but only just barely, only with much tuning and only if the end user has a decent machine to run it on. As for you comments about memory, the Java that runs in phones (J2ME/MIDP) is not the Java used on workstations. The libraries are much different (especially the GUI classes: neither Swing nor AWT). Also, the memory handling is completely different (including a much simpler GC, one of the big reasons for memory use in J2SE). In short, that says nothing about J2SE (any implementation).

    I stand by my original comments. I never said I wouldn't use Java, just that it is certainly not the no brainer, silver-bullet sollution for cross-platform development that the hype machine makes it out to be.

  20. Re:That's the power of .NET on F# - A New .Net language · · Score: 2
    In fact, with alternative hardware platforms such as PPC and ARM diluting the hold of x86-based Linux, anyone now writing end-user Linux apps in something other than Java should pause to consider how accessible and maintainable their products will be.

    I make a living coding Java on Linux. Frankly, your statement is silly. First of all, JDKs on the "other" processors are well behind current x86 releases (ppc at 1.3.0, arm at 1.3.1, x86 at 1.4, for example). Second, having to deal with with what Java version is on the end user's machine leads to most of us distributing the JRE with our code. That means separate packages for each platform, and, given point one above, either limiting supported platforms or using an LCD java version.

    Given those (and other) issues, I think I would seriously consider C or C++ with perhaps wxwindows as the GUI toolkit for future end user apps. Java's standard library is nice, but the performance, memory and distribution hassles are (or can be) a bitch. Of course, they are somewhat balanced by Java's nice (not perfect, but nice) standard library and the fact that Java the language is easy to build good code in. It has warts, yes, but nothing to compare to the disfigured freak that is C++. Back on the first hand again, C++ and C leave the door open for additional end user niceties because they aren't using up all the cycles and bytes just standing still (modulo coder skill, of course).

    Not that I hate Java, mind you. Again, its standard library is pretty damn nice (not perfect, but what is?) and the language itself is, IMHO, better than C++ from an every day point of view. I just think that its hype factor is still too damn high.

  21. Two words ... on Mozilla 1.0 Officially Here · · Score: 1, Redundant
    woo

    hoo

  22. Re:Voting for Nader on U.S. Asked to Put Purchasing Power to Good Use · · Score: 1, Offtopic
    ummm

    one what?

  23. Re:Some things that I've found helpful on Core IT Interview Questions? · · Score: 1
    ROFL!

    Now that is a troll I can respect! Well done. Not a single correct point (unless you count the reference to Tux). You are correct that only the most ill-informed would get these questions wrong. Love your "April 1" answers, too!

    To bad everyone had to take you seriously, but I supose that's the point of a troll, now isn't it. This one has the added bonus of possibly getting some poor twit in an interview parroting back the answers you fed them here. Bravo!

  24. Re:?'s about patent use on Red Hat Makes Patent Promise · · Score: 2

    No.

    Of the three main types of IP, only trademarks must be defended to remain valid. Basically:

    1. Copyright exists from the moment of creation, though it is much easier (read "possible") to defend if registered.For more information on copyright, go here
    2. A Patent must be registerd for. It
    3. Like a copyright, Trademark need not be registered; use of a mark is technically enough. Also like copyright, it is much safer to register. Even if registered, a trademark may be lost to the public domain if not defended.
    For a general reference to IP, try here. Warning, that site is an IP law firm ... their facts seem to be right on, but beware of bias!
  25. Re:What exactly is wrong with this? on Comcast May Raise Prices On "Internet Hogs" · · Score: 2
    Actually they just want to maximize their profits. Which is exactly what they should be trying to do.

    As for the "gotta get mine" syndrome you posit, that will perhaps happen for a bit, but those who are not heavy users now will not be heavy users after the change either. It will take a change in what is available to them to entice them to use more capacity. Remember, those who are not heavy users will presumably see no change to their monthly bill, so will have no incentive to change their patterns of use.

    In fact, in the unlikely event that the behavior you suggest were to manifest itself, the providers would then have incentive to change the price structure. It might then make sense to reduce the price for low cap users do remove some of the incentive to get every last byte worth of capacity out of their account.