Slashdot Mirror


User: steveha

steveha's activity in the archive.

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

Comments · 2,620

  1. I recommend Sonicare on Smart Toothbrush Aims For Better Brushing Habits · · Score: 1

    I use and recommend a Sonicare electric toothbrush.

    They aren't paying me to shill so if you prefer a different brand, buy that. (The Sweethome recommends this Oral-B toothbrush.) But Sonicare is working for me.

    My teeth tend to accumulate tartar buildup quickly. (I'm not complaining; better that issue than having acidic mouth chemistry that erodes teeth.) It used to take a long and unpleasant time for my teeth to be cleaned.

    I got my first Sonicare and started using it, and as it happened I had a dentist appointment about a month later. The dental hygienist took one look at my teeth and said "I can already tell you are doing something different, and whatever it is, I like it." I was stunned... this was after just one month! How much better would it be after six months!

    That was years ago. I have been using the Sonicare and my teeth cleanings go more quickly and are less unpleasant.

    A few tips.

    The main one: let the Sonicare do the brushing... don't apply a lot of force with your hand. I have sometimes been guilty of this and it can have a negative effect on the gums, making them "recede" which you don't want. Just use light pressure and let the moving bristles do their thing.

    Also, make an effort to let the bristles brush the gum line (where the teeth meet the gums). I used to have an issue with deep "pockets" in my gums, and the Sonicare seems to have stimulated my gums to grow and fill in the pockets. After I used it for a while, I only had the deep pockets in the corners of my mouth; and then I made an effort to brush all my gums, including in the corners, and I don't have any of the deep pockets anymore.

    Sonicare has a deluxe edition that includes a USB-powered travel charger. I lust after that USB travel charger, but I can't bring myself to spend that much money on a toothbrush. http://www.slashgear.com/philips-sonicare-diamondclean-review-09201165/

    This is what I have. For half the price of the deluxe edition I got two Sonicares, a charger, and a travel charger. The charger has a UV feature to sterilize the brush heads; it makes an annoying high-pitched whine that I can hear, so I never use it. Instead I use the travel charger, which works fine.

    http://www.costco.com/Philips-Sonicare-Flexcare-Rechargeable-Sonic-Toothbrush-Premium-Edition-2-pk.product.100071852.html

    Also, floss your teeth every night, seriously. It make a big difference.

  2. What's the storage density? on Metal-Free 'Rhubarb' Battery Could Store Renewable Grid Energy · · Score: 4, Interesting

    The summary implies that this technology could be used for large-scale power, but I wonder what the storage density is.

    Specifically I wonder how this compares to liquid metal batteries. If everything Professor Sadoway says about the liquid metal batteries is true, those really will provide grid-level storage of power.

  3. Fictional treatment in _David's Sling_ on Weapons Systems That Kill According To Algorithms Are Coming. What To Do? · · Score: 2

    David's Sling, a novel by Marc Stiegler, is about the first "information age" weapons systems. These are autonomous robotic weapons that use algorithms to decide which targets to hit, and the algorithms are designed to take out enemy communications and decision-making. The weapons would try to identify important comm relays and take them out, and would analyze comm traffic to decide who is giving orders and take them out.

    The book was written before the fall of the Soviet Union, and the big finale of the book involves a massive Soviet invasion of Europe and the automated weapons save the day.

    Unlike some portrayals of technology, this book covers project planning, testing, and plausible software development. It contains tense scenes of QA testing, where the team makes sure their hardware designs are adequate and that their software mostly works. (They can remote-update the software but of course not the hardware.)

    Mostly they left the weapons autonomous, but there was a memorable scene where a robot was having trouble whether to kill someone, and the humans overrode the robot and had it leave the guy alone. (The guy was injured, and lying there but moving a little bit, and the robot was not sure whether the guy was already killed or should be killed again. Hmm, now that I think about it, this seems rather implausible, but it was a nifty scene in the book.)

    http://www.goodreads.com/book/show/3064877-david-s-sling

    P.S. I bought the book when it first came out, and there was an ad for a forthcoming hypertext edition that never came out. I think it was never actually made, but I wish it had been.

  4. The experts have spoken on Experiments Reveal That Deformed Rubber Sheet Is Not Like Spacetime · · Score: 3, Interesting

    In other news, experts pointed out that rubber sheets provide a two-dimensional surface, while the real spacetime continuum provides three spatial dimensions and one of time. Experts also pointed out that rubber sheets have nonzero friction with rolling marbles, while empty space has zero friction; and that the rubber sheets do not provide the time dilation effects that gravity provides.

    Experts also pointed out that the whole rubber sheet thing is what is known as an "analogy" and pretty much by definition is inexact.

    Personally, I found the article interesting, but the tongue-in-cheek "Shame!" of the summary a bit over the top.

    P.S. From TFA:

    But the truth is that this work cannot diminish the extraordinary utility of this analogy. And so the public love affair with general relativity is safe. Long may it continue!

  5. Re:classroom tools on Datawind Not Blowing Smoke: $38 Tablet Coming To the US · · Score: 2

    The Marxist utopia never will arrive. Communism doesn't work.

    But people do occasionally contribute their time to projects such as Firefox, Linux, or Wikipedia. (All it takes is for their satisfaction to be greater than the perceived costs to them.)

    You don't have to tell me to pay for textbooks I want... I've been buying O'Reilly ebooks like a junkie lately. But there are a lot of kids who could use free textbooks if they were available, and mark my words, people will write those textbooks over time.

    If even one free textbook of good quality was released per year, it wouldn't take many years before a basic education could be done with only free textbooks. And there are a lot of people in the world who aren't starving but are trapped in crushing poverty. Returning full circle to my original comment, I'd like to see OLPC focus on the education part and stop trying to make their own hardware. They can do more good by making educational software and writing textbooks, and trusting that mass-market mobile devices will be inexpensive enough and work well enough.

  6. Re:classroom tools on Datawind Not Blowing Smoke: $38 Tablet Coming To the US · · Score: 4, Informative

    Yes, because of course people will do hundreds of hours of work for free.

    It would be deliciously ironic if you used a free software web browser such as Firefox to type the above comment.

    Graduate students and professors need to "publish or perish". I'm hoping that at least some of them will use at least some of their publishing time to write free textbooks.

    And, anyway, people are already writing books and giving them away. Take a look at BookBoon:

    http://bookboon.com/en/textbooks-ebooks

  7. Re:classroom tools on Datawind Not Blowing Smoke: $38 Tablet Coming To the US · · Score: 5, Insightful

    I'm hoping to see a trend where professors or graduate students write new textbooks and just contribute them to the public domain. Inexpensive tablets plus free textbooks means inexpensive education.

    http://slashdot.org/comments.pl?sid=4123035&cid=44658533

    It's still early days with ebooks, really. The publishers want to keep the prices high, but the barriers to entry into the market are low. Free textbooks will disrupt the pricing model.

  8. Implications for OLPC on Datawind Not Blowing Smoke: $38 Tablet Coming To the US · · Score: 1

    The One Laptop Per Child project should change its focus from hardware to software. Whether this tablet is suitable for kids, or some other tablet, they can count on inexpensive Android tablets being available.

    Could kids use these things for reading textbooks? Yes. Could kids run educational software that drills them on math and other subjects? Yes. Could kids even watch movies, look things up on Wikipedia, learn to touch-type with a USB or Bluetooth keyboard? Yes, yes, yes. Tablets like these are adequate for learning.

    Will OLPC ever achieve massive economy of scale by making its own branded devices? Signs point to "no". Wikipedia reports that OLPC has shipped over 2.4 million laptops in its first 6 years; in comparison, Wikipedia reports that the Google Nexus 7 tablet sold over 4.5 million units in its first year, and over 7 million to date (less than 2.5 years).

    I understand that OLPC has several goals, and that one of the goals is that OLPC devices be repairable. But a school could literally buy three of these DataWind tablets for the cost of a single XO-4! Suppose someone made a bundle of a DataWind, a protective case and a keyboard; that should all come in for less than half the cost of an XO-4. Never mind repairs, just buy twice as many of the things.

    OLPC should make Android software, and lesson plans for teachers, but shouldn't build their own hardware anymore.

  9. Re:4 years later on Firefox Gains Support for VP9 Video Codec · · Score: 1

    we're tired of the constant promotion of second-rate codecs that put ideology ahead of technical concerns.

    You say "ideology" as if it were just a difference of opinion. Free, open-source software under a free license cannot use patent-encumbered technology. It doesn't matter how good the technology is if you can't use it.

    it's not even clear (from a legal perspective) whether these codecs really are patent-free

    Actually, you are mistaken on this point. MPEG-LA spent over a year trying to put together a patent pool with which to extract royalties on VP8, and didn't find anything. Then Google gave them some money to go away, and Google has a legal document saying that MPEG-LA will not sue over VP8.

    Now, I'm not a lawyer and this isn't legal advice, but it sure looks clear to me: if MPEG-LA couldn't find anything in a year of looking, and signed a legal release on top of that, then there's no danger that VP8 infringes on an MPEG-LA patent. And even less danger that there is some third party out there with a mysterious unknown patent that could swoop in out of the blue to cause trouble (likely for both MPEG-LA and VP8 if it did happen).

    At the same time the fact that these codecs are being pushed opposite the existing MPEG codecs only fractures the market and slows the adoption of new video technologies. We end up with Mozilla and Google flailing around with alternative codecs rather than buckling down and doing what's necessary to secure the rights to use the MPEG codecs in the first place, only finally doing the right thing after they've exhausted every other option. Web browsers should have fully supported H.264 years ago.

    This is an interesting claim. As far as I can tell, H.264 has not had its adoption slowed even a little bit by VP8 or VP9... could you provide a reference, please?

    Google owns and runs YouTube. Do you think Google should shackle themselves to a technology that they don't own, such that they would have no recourse if the licensing authority were to jack the rates up? I think that the business justification for Google spending $100 million to buy On2 and then just give away the technology was to give YouTube a way out if H.264 became rapaciously expensive.

    Just as Vorbis never displaced MP3 or AAC, VP8/VP9 may never displace H.264, but if the threat they pose keeps the H.264 license fees from skyrocketing, then those projects were worth doing from Google's perspective.

    And, while you may not care about the free software projects such as Debian, I personally think it's good if completely free projects have video formats they can use.

    For that matter, I think it's good if completely commercial projects have free video formats they can use. Remember the brouhaha a few years ago where someone read the license for a new video camera, and it appeared that MPEG-LA was going to demand royalties on any video shot with that camera? MPEG-LA "clarified" its position and said that the legal language of the license doesn't mean what laymen think it means... but my understanding of patent law is that MPEG-LA could decide to impose any license they want on new cameras using H.264. I want a camera that uses nothing but free software internally so that I just don't need to worry that anyone has any sort of legal claim for royalties on video I shot with it.

    Opus is a roaring success

    And I'm hoping that Daala will be an equally roaring success.

  10. Re:MPEG LA patents running out on Firefox Gains Support for VP9 Video Codec · · Score: 4, Interesting

    Most of the remaining MPEG LA patents that matter run out in Q1 2014.

    That sounds great, but could you please provide a reference or two to support it?

    The sources I have seen suggest that it will be after 2020 before all the patents that affect even MPEG-2 will be gone. For example: this kuro5hin article lists 2023 as the year the last MPEG-2 patent runs out. And this page lists 2027 as the year the last H.264 patents run out.

    If I'm understanding you correctly, you are saying that the most essential patents are running out, so it should be possible to make a patent-free coder and decoder that would cover a usable subset of the MPEG standards?

    Do you predict that a patent-free MPEG-2 decoder capable of playing DVDs would be possible within a year?

  11. Re:Living on Debian Time on MATE To Make It Into Debian Repositories · · Score: 1

    I could have been mistaken... maybe he was planning to use Nemo rather than Caja. That would make more sense; Nemo is a fork of the 3.x version of Nautilus and should fit better with a GNOME 3.x desktop.

    Last time I tried Cinnamon the basics worked but the whole user experience was very rough. Like, I had to make a string of format codes to get the clock to display what I wanted, drag-and-drop didn't work to put launchers on a panel, that sort of basic thing.

    Are you using Cinnamon? Have they improved the polish on the user experience yet?

    I wish the Cinnamon guys well. For now, the easiest thing is just to run MATE, but in the long run my computers will probably all end up running Cinnamon.

  12. Re:Living on Debian Time on MATE To Make It Into Debian Repositories · · Score: 1

    It's my understanding that a lot of stuff had to be sorted out to prevent clashes

    I'd like a citation on that, please.

    My understanding is that GNOME 2.x clashes with GNOME 3.x, so right at the beginning of the MATE project they worked very hard to rename everything. "libgnome" became "libmate" and so on, specifically so that MATE would not clash with GNOME 3.x. The MATE guys did all this work years ago, so clashing never was a problem for MATE and isn't now.

    In further support of this idea, I will remind you that Ubuntu and Debian have had MATE packages available in alternate repositories for about as long as MATE has existed. I personally install MATE on every new Ubuntu system I install, and I never have seen any clashes.

    As for "ensure that Debian doesn't end up with a bunch of garbage packages" I think you are getting closer. When MATE was first proposed for Debian, I believe the reaction was approximately "Debian already has GNOME and that is the standard. Go away." This confused me at the time, as Debian has literally tens of thousands of packages (including Xfce and other desktops that compete with GNOME), and I didn't see the harm in a handful of additional packages that filled a need that I personally cared very much about.

    P.S. With the release of GNOME 3.0, a relative of mine embraced the GNOME Shell desktop and has been using it ever since. "Once you get used to it you can be pretty productive with it." He told me that he is rethinking that now, as the most recent changes from the GNOME guys rip out useful functionality from Nautilus. So he is either going to run GNOME Shell but install Caja (the MATE file manager), or just run MATE.

  13. Re:It tried to follow the plot on Critics Reassess Starship Troopers As a Misunderstood Masterpiece · · Score: 4, Informative

    I agree with almost everything you wrote here. I'll just pick one nit.

    He got in trouble for not taking his training seriously enough. The formal charges were "taking actions that could have resulted in death in real combat" but what he actually did was:

    They were training in "simulated darkness" using infra-red "snooper scopes" which were a bit of a pain. He got frustrated and flipped the cope up and used unaided vision to check to see if anyone was in the area; because there was actually plenty of light he was able to see that it was safe. Indeed, he felt smug for being clever enough to do it that way... for avery brief time. However, the training suits had sensors that recorded the fact that he had flipped the scope up, and that is why he got in trouble.

  14. Not really fascist on Critics Reassess Starship Troopers As a Misunderstood Masterpiece · · Score: 5, Interesting

    I must strongly disagree with the use of the word "fascist" with respect to the society portrayed in the novel Starship Troopers.

    Let's look at how Wikipedia defines fascism:

    One common definition of fascism focuses on three groups of ideas:

    • The Fascist Negations of anti-liberalism, anti-communism and anti-conservatism.
    • Nationalist, authoritarian goals for the creation of a regulated economic structure to transform social relations within a modern, self-determined culture.
    • A political aesthetic using romantic symbolism, mass mobilisation, a positive view of violence, promotion of masculinity and youth and charismatic leadership.

    http://en.wikipedia.org/wiki/Fascism

    None of these apply to the society portrayed in the book.

    The first item: the sole means by which the government attempted to impart any point of view on the citizens was a high-school class called "History and Moral Philosophy" that was always taught by a full citizen, but which the student was not required to pass. The examples from when the protagonist took the class did debunk some of the tenets of communism, though. (Labor does not always add value. An unskilled cook can take pie dough and apples and produce a burned mess, where a skilled cook can produce a delicious dessert, so the "labor theory of value" in its simplest form is disproven by example.)

    The second item: the government did not run businesses. The society operated in a free market. The amount of regulations imposed by the government was never explicitly spelled out, but my impression is that the amount of regulation was low, as discussions of business did not tend to rants about permits or bureaucratic interference.

    The third one at first seems plausible, as the book is (in Heinlein's own words) intended to present lowly soldiers in a good light (as opposed to senior generals, Presidents, etc.). However, the government in the book did not promote such ideas. Instead, the government took steps to scare people off from becoming soldiers. For example, having a maimed military veteran sit outside the recruiting station and warn young people that they could get maimed like he had been. (Later, the protagonist meets this veteran again, and he is off-duty and wearing artificial limbs that look real and work about like the real thing, and the veteran's manner is completely changed; he congratulates the protagonist for choosing to serve in the infantry.)

    My opinion could be slanted, as I am politically a minarchist libertarian, but the society in Starship Troopers appears to be a minarchist libertarian government. The government is relatively small and does relatively little, and what it does do seems to be mostly confined to defense and police. The common attitude among most of the population is that they want nothing to do with government, which seems unlikely if government was a major force in peoples' lives. (The protagonist's father has not earned the right to vote, and proudly tells the protagonist at one point that he is a third generation non-voter; why would he want to earn a vote? No profit in that, the time is better spent building the business.)

    The described history in Starship Troopers went like this: During a time of wide-spread social upheaval, the old governments disintegrated and new ones formed. One of the new governments, mentioned as an example, used "scientific" techniques to pick who would be in charge; it failed. Eventually a bunch of military veterans banded together and began keeping some sort of peace within the area they were able to patrol, and this expanded to become a new system of government. Voting was limited to people who had served at least one term of service in the government. Service could be military but could also be anything else the government needed to have done, such as scientific research. Also, according to their laws, the government had to

  15. Re:FORTRAN on Ask Slashdot: Best Language To Learn For Scientific Computing? · · Score: 1

    Seriously consider FORTRAN

    On the other hand, the basic underpinnings of SciPy are FORTRAN. The BLAS and LAPACK libraries, and other fast and well-understood FORTRAN libraries, are "wrapped" by SciPy.

    http://www.scipy.org/scipylib/faq.html#id12

    Using the IPython notebook, you can work with data sets in an interactive way that FORTRAN won't do. But the number crunching is being done for you at FORTRAN speed because it is compiled FORTRAN code that is doing the work.

    http://ipython.org/notebook.html

  16. Matlab will fall, SciPy will rise on Ask Slashdot: Best Language To Learn For Scientific Computing? · · Score: 2

    If you are working in academia, then you probably have access to Matlab.

    On the other hand, you definitely have access to SciPy, given that it's free.

    I predict that Python with SciPy/NumPy will completely displace Matlab within a few years.

    I say that even though I am working in one industry, digital signal processing, that is really married to Matlab and will be one of the last places to make the switch.

    Because Matlab was purpose-built for scripting with matrices, it has some nice syntactic sugar for that. In every other way, Python as a language is far superior.

    I was able to attend the SciPy conference a couple of years ago, and one thing I heard there: people like that Python works as a universal language. Sysadmins can use Python to do admin tasks; the web site guys can use Python (with Django) to make web sites; the science guys can use SciPy... it's one language that is flexible enough to do anything you might need, and it's much easier to learn than other really flexible languages like Lisp.

    Because Matlab has been around a long time and has man-centuries of work invested in it, it has very complete and well-debugged libraries available for it. SciPy is playing catch-up here. But the basics are already solid, and if SciPy will work for you, you should choose it because it is the future.

    There was a time, not that long ago, when people spent $30 to get a web browser. Now people expect web browsers to be free. I predict in the near future the same thing will happen with Matlab vs. SciPy.

    SciPy has the advantages of being free and open, as well as the advantage of being free as in beer. And Python is just a better language than the Matlab language. Mark my words: Matlab will fall and Python/SciPy will rise.

  17. Re:Hardware RNG for servers and VMs on Linux RNG May Be Insecure After All · · Score: 2

    Entropy Broker: A project to allow one computer to act as a randomness server to others. Could use any actual hardware machine to seed any number of VMs.

    See also the comments in the LWN article, where someone with the user name "starlight" simply sends random data over SSH and then the receiving computer uses rngd to mix that data into the entropy pool. Simple, and simple is good.

    https://lwn.net/Articles/546428/

    http://www.vanheusden.com/entropybroker/

  18. Hardware RNG for servers and VMs on Linux RNG May Be Insecure After All · · Score: 2

    I think it is past time for CPUs to provide hardware random numbers. Via CPUs have done this for years, but Via CPUs are just too slow for most uses. (I used to run my mail server on a Via C3... I am a lot happier now that my server runs on an AMD low-power dual-core.)

    Recent Intel chips do have some sort of random number generator (RdRand).

    Hardware RNG accessories are available but expensive.

    There is the LavaRnd project, which I think is really darn cool. However, I downloaded the source code, and it hasn't been updated since 2003... a decade later, GCC won't even compile the code. (GCC now issues warnings about some of the code and they set the "treat warnings as errors" flag. I didn't experiment with disabling that flag and trying the code out.) Also, the supported hardware list is a short list of decade-old webcams.

    (Note: this would be a good project for a high school student or college student who knows C: update LavaRnd so it builds with GCC or Clang, get it working with at least one currently-available webcam, and write a report about it.)

    The Raspberry Pi has a hardware RNG as part of the system-on-a-chip, and Linux on the Pi supports it. You could set one up as a randomness server to your VMs, and that would be quite inexpensive. At least the VMs could reseed their PRNGs with random values pulled from the Pi.

    http://vk5tu.livejournal.com/43059.html

    If you have a sound device, Audio Entropy Daemon may work.

    http://www.vanheusden.com/aed/

    P.S. Haveged looks interesting... I just discovered it and I don't know how well it actually works.

    https://www.digitalocean.com/community/articles/how-to-setup-additional-entropy-for-cloud-servers-using-haveged

  19. Re:I'm ready to replace Make on GNU Make 4.0 Released · · Score: 3, Interesting

    Just like python!

    Actually, no.

    Python lets you use spaces or tabs, and will do pretty much the right thing. You can sometimes get into trouble if you mix spaces and tabs.

    If you have multiple lines and they are indented identically, they are a block. It's easy to indent identically if you use nothing but spaces; still easy if you use nothing but tabs. (If you indent with a mix of tabs and spaces, and use the identical indent on each line, it will still work but this is very non-recommended. If you indent two lines such that they visually line up, but they have spaces and tabs in a non-identical configuration, it won't work right... but Python will raise an exception and warn you.)

    Recommended practice in the Python community is just to use spaces for indenting. Everyone's editor agrees on how that would work. Most editors have an option to use spaces automatically even if you hit a tab when indenting a line.

    The white space situation in Python is not perfect, but you really cannot say that Python has a syntactic distinction between tabs and spaces like Make does.

    Actually, GNU Make has got pretty good in this regard and usually does the correct thing if you use the wrong kind of indent.

    This has not been my experience, but perhaps you are right. I have been using vim with syntax highlighting, and every time I use spaces instead of a tab, the highlighting reveals my mistake and I fix it, so I haven't screwed this up in a while.

    If the tabs vs spaces thing was the only issue with Make, I could live with it (just as I can live with Python's handling of white space). The baroque syntax bothers me much more.

  20. I'm ready to replace Make on GNU Make 4.0 Released · · Score: 4, Interesting

    There is a lot I don't like about Make, including GNU Make. The extensions it has received over the years make it incredibly baroque. I can't work on nontrivial makefiles without keeping a copy of the reference manual open to look things up, and the magic differences between tabs and spaces mean I need syntax highlighting to make sure I know what my makefiles really will do.

    So now GUILE integration. How many Slashdot users are big fans of the Scheme language? I appreciate the elegance but I don't want to work in it, and I don't look forward to trying to debug makefiles that make heavy use of it.

    I'm not sure what to use to replace Make though. I'm a Python guy so I would probably want Scons or something like that, but Ruby fans probably want Rake, Java fans probably want Ant, and in general I don't think there is any consensus on what might be the best replacement for Make.

  21. Re:Left-corner design on What Are the Genuinely Useful Ideas In Programming? · · Score: 2

    Right, agreed. What you are describing reminds me of the approach recommended in some FORTH books, which they called "bottom-up design". You keep making building blocks and snapping them together into more-powerful building blocks, and iterate until you have completely built everything you need.

    Design simple parts that work together well... keep in mind Gall's Law: "A complex system that works is invariably found to have evolved from a simple system that worked."

    http://en.wikipedia.org/wiki/Gall's_law

    And if you do have a bunch of simple parts that work well together, your design is likely to work well and be easy to expand.

    In college I took one course where the instructor made us draw diagrams with bubbles and arrows before we wrote any actual code. Out in the real world of professional software development, I haven't yet worked at a place that did that, but left-corner design of simple systems has served me very well.

  22. Left-corner design on What Are the Genuinely Useful Ideas In Programming? · · Score: 4, Insightful

    The most important book I read as a beginning software developer was Software Tools in Pascal. That book teaches a technique it calls "left-corner design". It's kind of a rule-of-thumb for how to do agile development informally.

    The basic idea: pick some part of the task that is both basic and essential, and implement that. Get it working, and test it to make sure it works. Now, pick another part of the task, and implement as above; continue iterating until you either have met all the specs or are out of time.

    If you meet all the specs, great! If you are out of time, you at least have something working. The book says something like "80% of the problem solved now is usually better than 100% of the problem solved later."

    For example, if you are tasked with writing a sorting program, first make it sort using some sort of sane default (such as simply sorting by code points). Next add options (for example, being able to specify a locale sort order, case-insensitive sorting, removing duplicate lines, pulling from multiple input files, etc.). A really full-featured sorting program will have lots of options, but even a trivial one that just sorts a single way is better than nothing.

    Also, the book recommends releasing early and often. If you have "customers" you let them look at it as early as possible; their feedback may warn you that your design has fatal flaws, or they may suggest features that nobody had thought of when imagining how the software should work. I have experienced this, and it's really cool when you get into a feedback loop with your customer(s), and the software just gets better and better.

    Way back in high school, I tried to write a program to solve a physics problem. I hadn't heard of "left-corner design" and I didn't independently invent it. I spent a lot of time working on unessential features, and when I ran out of time I didn't have a program that did really anything useful.

    This is the one thing I would most wish to tell a new software developer. Left-corner design.

    P.S. Software Tools in Pascal is a rewrite of an older book, Software Tools, where the programs were written in a language called RATFOR. Later I found a copy of Software Tools and found it interesting what things were easier to write in Pascal vs. what things were easier in RATFOR... and when I thought about it I realized that everything was just easier in C. C really is the king of the "Third-Generation" languages.

  23. Re:Microsoft Kin on Microsoft Makes Another "Nearly Sold Out" Claim For the Surface Line · · Score: 1

    The Kin was a special case. Weird politics combined with stupid decisions caused it to be delayed a lot; it would have been a decent product had it shipped on time. Basically, if MS had let the "Danger" guys just do their thing... the previous Danger product, the Hiptop, was a big success.

    http://www.engadget.com/2010/07/02/life-and-death-of-microsoft-kin-the-inside-story/

    On the other hand, the MS tablet products prior to the iPad worked as designed, but the design wasn't all that great. They thought Windows compatibility was the most important thing, when actually battery life, thin and light hardware, and GUI user experience were all more important. The iPad was the first non-sucky tablet, and it didn't matter that you had to buy all-new apps for it.

  24. Re:What will this mean for Steam on other distros? on Valve Announces Linux-Based SteamOS · · Score: 5, Interesting

    Here's what this will mean: game developers will test their games on SteamOS and nothing else, making SteamOS the gold standard for Linux gaming. (In fact there will probably be a single "reference" SteamBox used for the development and testing.)

    The distros will need to include compatible versions of all the libraries used in SteamOS, to get the games to run. Users will be able to file bugs that say "$GAME runs perfectly on SteamOS but does not run correctly on $DISTRO."

    Since SteamOS is just Linux with a particular set of libraries installed, this is feasible. All the distros will have a clear target for which to aim.

    Overall I think this is a win for gaming on Linux. The current situation is far too fragmented for Linux ports to be profitable for the game developers. SteamOS will defragment "Linux gaming" to a single platform.

  25. Re:Android for consoles? on Valve Announces Linux-Based SteamOS · · Score: 2

    It will fail spectacularly. There is no money to be made on console hardware. Who is going to bother building a SteamOS device besides Valve? No one, because Valve is going to be making all the money.

    I predict that you will see at least one or two companies selling small form factor PCs intended for the living room and with SteamOS pre-installed.

    There are companies now selling PCs. Why wouldn't those companies sell those same PCs as "SteamBoxes"?

    I want a SteamBox in my living room. I usually build my own computers, but I'd be willing to buy a pre-made one if it is made properly. What I'd really like to see is a shameless copy of Apple's new Mac Pro design... a small motherboard and one or two small GPU boards attached to a giant heatsink with a single, large, quiet fan to cool everything. That's something I can't really build for myself, and it is something I want for my living room.

    And, by the way, Valve is giving away SteamOS. So, rather than paying for a Windows license and then making back some money by bundling bloatware on PCs, the PC makers can get SteamOS for free and then make back some money by bundling games. The last graphics card I bought came with five bundled games.

    This announcement is great news for gamers. It is only bad news for Microsoft.