Slashdot Mirror


User: Coryoth

Coryoth's activity in the archive.

Stories
0
Comments
2,929
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,929

  1. Re:productivity around 30 LOC per day on When Bugs Aren't Allowed · · Score: 4, Informative

    Their claims of massive error reduction are, at best, anecdotal. Let's see them do this after taking over a half-coded project with minimal design requirements, a hard deadline, and a budget that can be cut by governmental forces at will.

    Their claims of error reduction are based on the development method and a lot of the important stuff happens very early on, taking over a half finished project that failed to follow such a method is of course not going to work. They can't make existing code bug free, but they can write new code that has vastly less errors than most software. As to hard deadlines and budgets - as far as I am aware Praxis already works with deadlines, and apparently their project for Mastercard was done on a fixed flat fee, so working with fixed or limited budgets doesn't appear to be an issue either.

    Jedidiah.

  2. Re:seems kinda small on When Bugs Aren't Allowed · · Score: 1

    I count less than 400k source code lines among their examples ("SLOC"). Collectively, this is at least an order of magnitude (maybe two or more actually, I don't know) shorter than the really big projects out there. So I guess I have two questions. First, is this rate really good given the size of the projects described? And second, for the huge projects, what sort of bug rates are theoretically achievable?

    I think how well such a method scales to truly huge projects is still up for debate. At the very least, however, you can try and isolate the critical components of a huge project and develop those components in this more rigorous manner, leaving the less critical portions to be developed more traditionally. For example, if you were writing a word processor then you might not bother to use this degree of rigor for the GUI and instead reserve it for the formatting/layout, printing, anf file format/file writing routines, guaranteeing that WYSIWYG, on screen and in print, and ensuring files can't be damaged or corrupted.

    Jedidiah.

  3. Re:Automatic Verification Systems? on When Bugs Aren't Allowed · · Score: 1

    That's great if you have a 1 parameter function. Multiple infinity by 100 diffrent variables. I am going to try running the test on my Pentium III. I should have it fully tested when they wake my body up from carbon freezing in 5995.

    The key, then, is to actually use some computer science and mathematics and do proofs instead of relying on trying to test all the possible cases. We know that for a right angled triangle the square of the hypotenuse is equal to the sums of the squares of the other two sides. We have not drawn, measured and calculated the results for every possible triangle. Instead we used formal mathematics to prove that this was the case. You can do the same for software - it involves a little more sophistication when writing to code, and proofs are still very hard, but it can be done. This is, in fact, part of what Praxis does - they use a language, SPARKAda, and tools designed around it, to do signficant formal static checking and even proofs of properties of the software.

    Jedidiah.

  4. Re:economics on When Bugs Aren't Allowed · · Score: 1

    Proprietary software vendors have to compete against other proprietary software vendors. The winners in this Darwinian struggle are the ones who release buggy software, and keep their customers on the upgrade treadmill. Users don't typically make their decisions about what software to buy based on how buggy it is, and often they can't tell how buggy it is, because they can't try it out without buying it.

    Unfortunately this is very true. It is, however, slowly beginning to change. In todays highly networked world the tolerance for bugs that cause security breaches is dropping very fast - just witness the current .WMF issues and MS's early patch release in response. As people begin to demand more in terms of security, there will (I hope) be an increasing demand for assurance rather than vague promises. If you have to provide real guarantees on the quality of your software instead of denying all responsibility in EULAs then the sorts of design methods used by Praxis will inevitably become far more widespread.

    Jedidiah.

  5. Re:Do you think it would help? on When Bugs Aren't Allowed · · Score: 2, Interesting

    If someone sent a copy of this to Micro$oft? Would any of them read or comprehend it? It could make a difference in the version after Vista.

    Oddly enough it would make perfect sense to some people at MS. The Singularity OS project from MS research uses a lot of the same ideas in development methodology and formalism. Whether Singularity will ever make it out of MS research, or simply remain a curious little side project, is of course an interesting and quite open question. Only time will tell.

    For other OSs developed in a similar mold, try Coyotos which, while still getting seriously underway, looks quite promising indeed when it comes to secure and robust OSs.

    Jedidiah.

  6. Re:Bugs are fine... on When Bugs Aren't Allowed · · Score: 1

    Luckily, bugs are just fine if you happen to run a company that builds voting machines, such as Diebold. And if you think that elections aren't in the same category as air traffic control, I suggest you take a tour of Iraq. Elections are very important for your continued existance upon the earth.

    Indeed! This is one of the more baffling points to me with regard to electronic voting. We shouldn't just be demanding open source voting software, we should be demanding formally specified voting software with published proofs of various key properties (like, for instance, a proof that the name printed on the paper trail receipt is guaranteed to be the same as name against which the electronic vote is counted). Given the importance of elections, and the fact that, as Praxis demonstrates, such code can be developed relatively efficiently and cheaply, this would seem the least we could ask...

    Jedidiah.

  7. Re:Still can have bugs on When Bugs Aren't Allowed · · Score: 4, Informative

    If you can prove through solid design and input and output types that the program wont lose control then your set. Its buffer overflows and flawed design that has not been tested with every concievable input/output that causes most serious bugs in medical and aerospace applications.

    Praxis uses a subset of Ada together with annotations in a language called SPARK to write most of their software. They also have tools which work with such code to do considerable static checking - much as type checking catches errors, checking the annotations catches many more just as efficiently - and generate proof obligations, which they can then formally prove. That means, for many of their projects, the actaully have formal proofs that buffer overflows cannot and will not occur.

    However in practice this challenge is a little unpractical when deadlines and interopability with closed source software get in the way.

    Again, this is where the tools and methodology matter. Praxis delivers code as fast as traditional development techniques, so deadlines aren't the problem. They can do this by using SPARKAda and the SPARK tools to do exceptionally robust testing on a regular basis for each incremental deliverable. This allows catching bugs much earlier, when they are cheaper and faster to fix.

    The only method I have seen with almost perfect reliability is where the inputs and outputs are overloaded to handle any datatype and can be proven mathamatically not to crash. I guess a CS degree is still usefull.

    It is pretty much this sort of mathematical rigor, injected into the development process as early as possible, that allows Praxis to produce the sort of defect rates that they do. And yes, that does mean that developers at Praxis are probably required to have stronger math and CS backgrounds that elsewhere. Given that, due to their ability to deliver almost bug free software in very reasonable time frames, Praxis charges 50% more than the industry daily rate, yes having a math or CS degree really does count for something - more money for starters.

    Jedidiah.

  8. Re:nearly unlimited funding on When Bugs Aren't Allowed · · Score: 4, Insightful

    In fact this is the whole point - Praxis manages to deliver software with several orders of magnitude less bugs than is standard in the software industry, but does so in standard industry time frames with developer productivity (over the lifecycle of the project) on par with most non-critical software houses. Praxis does charge more - about 50% above standard software daily rates - but then when you are getting the results in the same time frame with massively less bugs a paying little extra is worth it... you'll likely save money in the support and maintenance cycle!

    Jedidiah.

  9. Re:Whatever on When Bugs Aren't Allowed · · Score: 3, Informative

    I've been in this industry for quite some time and let me be the first to say that I wish I could repeat this sentence with a straight face.

    I was pitching for "how people would like to think things are" rather than how things actually work. In practice Praxis, at least, does deliver such software, and does so with extremely low defect rates. They are proof that it can be done, even if it isn't always how things work now.

    Jedidiah.

  10. Re:Political Wisdom ? on Interactive Campaigning ala Wiki · · Score: 1

    Is wiki such a good idea in politics where partisanship is everywhere.

    I don't know, but the Green Party of Canada has teir entire party platform developed online via a wiki called the Living Platform. Politics are a little less partisan in Canada, and given that it's the platform for an entire political party rather than one individual... Of course the party itself retains some control. Only registered Green Party members can edit locked pages, and the actual platform is established by registered party memebers voting on what policy from the Livng pltform should be promoted to official party policy - the fact remains that it provides an open forum for developing policy ideas (and includes, for instance, some extensive material on intellectual property policies) and engaging the public more widely in policy development. If you're in Canada than please stop by and get involved.

    Jedidiah.

  11. Re:patents vs. products... on The Patent Epidemic · · Score: 1

    You're attempting an interesting straddle here. On the one hand you're claiming that the reason patents are good is that they ensure ideas are put into the public domain rather than being permanently locked up as trade secrets, unable to see the light of day (except for all the consumers who benefit when they buy the product), and on the other hand you're suggesting that the inventions that require patenting are all trivially able to be reverse engineered and flawlessly reproduced almost instantly. You can't have your cake and eat it too. If it can't be reverse engineered, then you don't need a patent, and it will never end up in the public domain anyway. If you need a patent to protect your investment then the ideas will be reverse engineered and become public domain eventually anyway. Patents don't provide any real benefits with regard to ensuring ideas are made public.

    Presently existing contract law, including NDAs, trade secret laws, and copyright provide a suprisingly strong structure for promoting research and development (the contract that you claim is a patent is, quite clearly, simply a contract with NDA clauses and entirely covered by contract law - no patents or patent law is required). In practice research, and pushing ahead, has its own rewards in the market. That those rewards are not as great as what you can get if you are granted a monopoly on every idea that occurs to you, when, as can be seen presently, such a system can equally cause significant stagnation in R&D and innovation, leaves you at best, with a very, very muddied argument, with no discernable winner. The question is which system fosters greater advancement, And without some decent case studies I really don't see how you can honestly be so certain that one is superior to the other.

    Jedidiah.

  12. Re:A radical idea - Fredom Matters Most on Share Your Most Dangerous Idea · · Score: 5, Interesting

    Wow, quite a list of ideals you'd like to see fulfilled there. It's a shame nowhere in the world really manages to live up to them. No, wait, I think there is at least one.

    Somalia has a free market economy with everything privatised, and no government - freedom for all. Let's see how it stacks up:

    In monitary policy - everyone seems to think that other measures of inflation and growth are more important, than the freedom from controll that the gold standard offers.

    Well there is no real central bank for Somalia anymore as far as I can find, and due to counterfeiting and other problems the Somali currency was so seriously debased that they may as well be using gold instead and use the gol standard.

    In public education - everyone talks about what kind of education the kids need, and noone talks about the financial freedom lost in paying for it, or the very influence that such has on the kids.

    All education in Somalia is private. It's a free market economy with no government. We get a big check for this one.

    In social security and medicade/ medical care - everyones worried about how will we take care of the needy and elderly and noone talks about the people that need to be financially coerced to make these systems work.

    There is no government so there is certainly no social security of medicare equivalent. At worst there is a certain amount of foreign aid and World Bank assistance, but I think that counts as outside charity. A big check for this one too.

    In copyrights and patents - everyone talks about the poor starving inventor or creator, and noone talks about all the people that need to be coerced to make these systems of incentive work.

    We're perfectly good for this one - there is no government of court system to enforce any such thing. A big check here too.

    In the genocide of the poor - noone would even dare mention that the best solution would be to arm them and seciure their right to bear arms first.

    Wow. That's just what Somalia is! A free for all where anyone at all can arm themselves and take part. Sounds perfect.

    And from elsewhere...I'm sorry for responding to my own post, but no argument about freedom would be complete without mentioning the "war on drugs".

    A big check for this one too! Somalia seems to have everything you're looking for. No government coercion, just freedom for everyone and a truly free market economy. The imminent arrival of Somalia as a significant player on the world economic stage seems inevitable given it's almost utopian society. It's been without government for 15 years now, but I'm sure Somalia will well and truly be on it's feet any year now. I expect you'll be moving there, given it's fulfillment of your radical dream, very soon, so perhaps you cna help really get the economy moving.

    Jedidiah.

  13. Re:most dangerous virus on Share Your Most Dangerous Idea · · Score: 1

    Once it found a document with someone's name, it emails that document to them.

    Imagine the chaos as confidential HR memos, payroll spreadsheets, legal documents, and just plain gossip are indiscriminately sent out.


    Presuming you're virus manages to spread through corporate networks and has access to critical spreadsheets and legal documents, a much more insidious virus would simply, once a day, choose 10 or so random documents/spreadsheets, randomly find a multidigit number in the document, and transpose 2 digits in the number (or adjust the number by, say, 10% up or down). The nasty part is that, with such small effects an infection could easily go undetected for quite some time, yet the flow on effects of such changes critical spreadsheets and documents could be huge. Sifting through backups to find when the infection began and which documents have been altered would certainly not be a lot of fun.

    Jedidiah.

  14. Re:patents vs. products... on The Patent Epidemic · · Score: 2, Interesting

    Collecting patents doesn't create value, but /creating/ patents sure does create value, because patents, and the investment that went into creating them, are valuable.

    It is the new ideas, not the patents, that are valuable. The patents are an effort to attach additional artificial value to the ideas. Not having a patent on an idea does not make it worthless, and research into new things is still going to be valuable, even in a world without patents.

    Let's take the cameras from earlier in the discussion as an example. Presume we are back in time in an alternate patentless past with Kodak busy making instant film cameras - something into which, in practice, they will have to put R&D. Sure, they can reverse engineer what Polaroid did to get the basics, but to actually manage to produce good quality working instant film cameras of their own they'll have to put in some research and engineering effort of their own. In the meantime Polaroid, instead of resting on their patent, is busy doing R&D to make better instant film cameras. As long as there are advancements to be made Polaroid, with their R&D team who are well acquainted with all the fine details of instant film cameras, far more so than reverse engineering people at Kodak, will always be the premiere instant film camera manufaturer, which is worth money. If Kodak simply reverse engineers everything they will be always be behind and playing desperate catch up ("how do we integrate this idea into our cameras? We would have to re-engineer all of X to do it!"). The only way for Kodak to actually get ahead and be anything other than the cheap knockoff brand would be to invest money in their own R&D team, working quite independently. Are the innovations that Polaroid might come up with as valuable as they might be with patents? Possibly not, but they are still distinctly valuable, and there is plenty of incentive for both Polaroid and Kodak to invest in R&D. Moreover, this alternate world would provide at least as rapid advancement in instant film technology as the real world with patents ever did.

    But wait, there's more. While Polaroid and Kodak are busy slugging it out over instant film cameras there is still plenty of incentive for Asian camera makers to throw money into R&D on digital cameras because those investments will pay off. Even in the real world it is not so much patents holding Kodak back in the field of digital camera technology so much as the fact that Kodak just doesn't really "get" digital cameras. The companies that put in the hard slog researching and engineering digital cameras are way ahead. Kodak didn't believe digital photography would take off, and got into the game way to late. In our patentless alternate world exactly the same thing could very easily happen, and any company willing to put in the effort into digital camera technology would very likely see that effort repayed. There is still plenty of incentive for innvovation in the patentless world, and by not granting artificial monopolies companies are encouraged to push ahead in R&D rather than resting on their laurels from a single good idea. Innovation, research and development, and advancement of arts and sciences will all still occur, and quite vigorously, even in our theoretical patentless world.

    But let's try another example, just to demonstrate that there is inherent value from serious research; that the value of research is not solely a function of patents. How could the US compete in a patentless world? What would they produce? Imagine a research thinktank specialising in technology X. If they come up some new innovative design that makes technology X cheaper, or more efficient, or just better, do you not think that technology X manufacturing companies in China, or India, or wherever, wouldn't pay good money for the fruits of that research? How much would they pay for contract with the thinktank for exclusive rights to any new innovations with regard to technology X for some fixed timeframe? Sure oth

  15. Re:Existing Dashboard-ish-ings for Linux on KDE 4 to Support Apple Dashboard Widgets · · Score: 1

    And somewhere in the middle there are things like adesklets, which provide a reasonable amount of eyecandy without the weight.

    Jedidiah.

  16. Re:What about 30 yr solar activity? on Milestones and Trends in Renewable Energy · · Score: 1

    Such matters are definitely considered in most serious studies of climate-change. You can find some summaries on realclimate (a site dedicated to explaining the view that climate change is both real, and largely anthropogenic) here and here and here, as well as finding some discussion of it cropping up in many other discussions. The recent IPCC report foudn that around 30% of the measured warming was due to solar factors, but the majority of the remaining warming was thought to be largely anthropogenic in source.

    Jedidiah.

  17. Re: Ooo, clever on (Yet) Another Year End List · · Score: 1

    no, the free market has never helped one poor person. we are so much better off due to socialism. look at all the luxuries we enjoy from that system of government!

    It needn't be an "either or" choice. You can have a largely free market tempered with a certain degree of centralised control. In practice, in the real world, that's what we have everywhere. The only arguments are over exactly how much and what should be centralised, which certainly remains a very open question (and in my personal view has no fixed answer - it changes as the society and culture being governed changes).

    Free markets are great at being adaptive, and managing to react to changes to establish new equilibria. Free markets tend to be slower to adapt however, having to wait for natural market forces to move and take effect, and can also generate a certain amount of duplication resulting in relative inefficiencies. In some ways OSS Linux distributions and MacOS X make a nice simplified example. Linux provides a free market on how to build and run a desktop operating system, while MacOS X has fairly strict centralised control. As a result Linux tends to be more flexible and adaptive with a much larger market for new ideas and components, but can be slower to completely embrace a given idea and tends to have a certain amount of duplication and incompatability between various competing components. Somewhere in the middle lies a good system (and it's worth noting that both Apple, with open source Darwin, WebKit etc. and desktop Linux with centralised projects like GNOME and KDE, lean toward a mixing of ideals).

    Jedidiah.

  18. Re:And evolution is? on Federal Judge Rules Against Intelligent Design · · Score: 1

    You're very assertive, but did you witness it first-hand? For that matter, did I witness our creation first-hand? The answer to both questions is "no". Both require a fair amount of faith to believe in.

    Did the trial at Dover actually take place? Did you actually go there and witness it first hand? Or are you simply assuming it did given reasonable and sufficient evidence that it did occur, and nothing soundly verifiable to the contrary.

    Did birds evolve from reptiles? Well I don't know that they did, but then I technically don't know that I wrote the comment you replied to - perhaps I was simply created a moment ago with prearranged memories of having written such a comment. Dropping pointless solipsist thinking, what do I actually know? I know that there are an awful lot of fossils that provide a remarkably rich array of intermediary forms that all fit chronologically together to make a very plausible line of descent showing slow but steady morphological changes. I know that genetically birds and reptiles share a suprising amount in common, to the point where scientists can flip a single genetic switch and produce chickens with scales instead of feathers. I know that speciation in the wild has been observed, and I know that given a sufficiently forceful and directed selection process huge morphological differences can be generated even within a single species (see dog, and pigeon breeders for instance, or rose growers for fairly significant morphological change coupled with speciation). I know that the fossil record provides plenty of other rich and detailed examples of transitional forms and series. I know that the concept of evolution makes rational sense to me. So while I didn't witness reptiles evolving, over the course of hundreds of millions of years, into birds, there is an awful lot of evidence that makes such an explanation entirely plausible, a lot of evidence that will require significant alternative explanation should something else be the case, and, as far as I can tell, very little evidence for the explanations that you seem to be forwarding. Weighing the likelihoods of the various possibilities, it seems that reptiles evolving into birds is far and away the best explanation we have on hand at the moment.

    If I hold a book up and prepare to drop it then it is entirely possible that the book will simply fly up and rest against the ceiling when I do let go. Regardless of what has happened in the past the future is not written (at least, not in any script you or I are privy to), and there is no way that you or I can know what will happen when I actually drop the book - certainly neither of us have actually witnessed it; we can't see into the future. It is, then, an act of faith to assume that the book will fall to the floor, just as much as it is an act of faith that the book will fly up to the ceiling. The fact that both beliefs are matters of faith does not preclude the fact that, given all that we know, one is a far more likely explanation than the other.

    Jedidiah.

  19. Re:Real hackers use Python. on Larry Wall on Perl 6 · · Score: 2, Informative

    I think you need to invest some time in learning block shifting commands. In Emacs under Python mode that would be python-shift-left and python-shift-right, conveniently bound to Ctrl-c < and Ctrl-c >; that will collectively shift the selected text one indent level left or right, preserving indentation within the selection. Any other editor worth using has similar commands. To move code around for refactoring just cut and paste then shift the whole block you cut and paste left or right to the appropriate indentation level. Simple, easy, and efficient.

    Jedidiah.

  20. Re:And evolution is? on Federal Judge Rules Against Intelligent Design · · Score: 1

    Interesting, but the species are still mosquitos, they didn't become frogs or blu-jays, or grow gills or learn to spin webs, or change phylum. In the end, they're still mosquitos.

    Major change takes time. Speciation, as noted with the mosquitoes, is the only significant step you need - once the population are isolated and can't interbreed they can develop in radically different directions. If you want some demonstrations of signficant change in form feel free to consult the fossil record. I've gone through this once before, but lets' do it again:

    Are there any intermediate forms in the fossil record? Yes. Let's take the development from reptiles to birds. Archaeopteryx is a commonly cited example (distinctly birdlike), but we can go a lot further than that in terms of intermediate forms. In practice Archeopteryx is between lizards and birds. Between reptiles and Archeopteryx are therapod dinosaurs. Between early reptile like therapods and Archeopteryx are late more bird-like dromaeosaurids and between early dromaeosaurids like Troodons and Archeopteryx are various feathered dinosaurs, which includes fossils that simply had feathers, apparently for warmth, through to later fossils that actually had clearly flight adapted feathers.

    Want to try something different? How about whale evolution? We can start with a land dwelling mammal that looked fairly dog like but had certain ear structures not found in other mammals that are more suitable for hearing underwater. Then there's ambulocetus which was similar, but in practice was rather akin to a mammalian crocodile, with back legs obviously adpated for swimming, the same ear structures as our first creature, and a nose structure, similar to a crocodile, that was ideal for breathing while immersed in shallow water. Next there are things like rodhocetus which is remarkably whale like, yet still posses back legs, and still has a nasal structure placng the nostrils toward the tip as in ambulocetus. There's aetiocetus which shows the transition from snout tip nostrils toward nostils at the top of the skulls as in modern whales. Then there's basilosaurus which is decidedly whale like, but lacking in a few modern whale features, and retaining distinct, but quite useless, hind limbs similar to those of rodhocetus.

    You can find similar sets of forms for the development of horses, the development of snakes from lizards, and even for the ape to man path, among many others.

    Oh, I'm sure you can parse those and say "but what's between that?", but I think for most people who are not being mindlessly dogmatic that represents fairly reasonable evidence of transitions from lizards to birds, or from land dwelling mammals to whales, and, if they bothered to do the extra research and reading, the development of horses, snakes and man.

  21. Re:Why I like Larry Wall. on Larry Wall on Perl 6 · · Score: 1

    I wasn't suggesting people who don't know the language should be maintaining the code, I was simply suggesting that, as a measure of clarity of expression and readability, the ability of a novice to follow the code rates pretty high. If someone without any knowledge of the language, its quirks, warts, and idiosyncracies can sit down and follow most anything anyone can write in the language then it's a good bet that in general that code is going to be easy to read and maintain. If you require knowledge of the finer points of the language to even be able to grasp what is going on then, chances are, there are going to be enough people who make use of all manner of subtle language intracacies to produce dense, convoluted and hard to follow code that you'll find some maintanability nightmares.

    Jedidiah.

  22. Re:Links to more information: on Federal Judge Rules Against Intelligent Design · · Score: 1

    Damn...what a smackdown.

    Indeed. However, given how strongly proponents of ID hold their views, and how much backing it has, presumably they won't tolerate this decision being allowed to stand. Regardless of the degree of smackdown, and the claim that the case has already been a signficant waste of time and money, I'm presuming it's going to get appealed. I'm curious as to what the dismissal of the school board in the recent elections is going to mean on that front though - exactly who would be doing the appealing? Anyone familiar with legal matters care to explain whether an appeal is likely, and how it would take shape?

    Jedidiah.

    Jedidiah.

  23. Re:Whoa there - Wikipedia: Consider the source on ZNet interviews Richard Stallman · · Score: 1

    In practice "Facism" is a meaningless term these days. In common usage it has simply become an epithet for someone you don't like. In more serious use it has become the victim of multiple definition to the point where there is absolutely no clearly defined general political philosophy. All that can apparently be agreed upon anymore is that Nazi Germany and Italy under Mussolini were "Facist" states - what the characteristics that made them facist, however, are defined in myriad different ways. For every subset of characteristics of Nazi Germany and Italy under Mussolini there exists some respectable definition of Facism somewher that defines it using precisely that subset.

    Jedidiah.

  24. Re:Real hackers use Python. on Larry Wall on Perl 6 · · Score: 2, Insightful

    ...but what about the ol' copy-paste from a block one level deeper that would throw everything off.

    Any editor worth its salt has a python mode/plugin, and in that there are convenient functions for "shift left" and "shift right" which will move the selected text one indentation level left or right. Cut and paste your code, then just shift it to the indentation level required. It really isn't that hard.

    Jedidiah.

  25. Re:Real hackers use Python. on Larry Wall on Perl 6 · · Score: 1

    You can use tabs for whitespace in Python code, you just get into trouble if you try to mix tabs and spaces in the same file. It counts one tab and one space as the same thing, so things won't look correctly indented visually (if your editor shows a tab as four spaces wide).

    In practice you just use a decent editor with a Python mode/plugin and hit tab. The editor indents and converts the tabs to spaces but, usefully, has smart backspacing that eats a tabs worth of spaces when closing a block (and in many editors conveniently tells you which block you are closing in the minibuffer or equivalent). That combined with automatic indenting on newline means that, for the most part, you never have to concern yourself with indenting any more than you would when writing properly formatted C, Perl, or Java code.

    Jedidiah.