HD Video From The Edge of Space, On the Cheap
100Km is about 328,000 feet. That's why Space Ship One had a tail number of N328KF.
Also, the North Texas Balloon Team and the South Texas Balloon Project routinely (with launches approximately annually) send balloons with video cameras to altitudes in excess of 100,000 feet. Those are just the two balloon projects I'm familiar with. I am sure there are others because it's not particularly hard to do.
So, this is pure ho-hum to me. Let me know when they've done it a couple of dozen times.
Debian Switching From Glibc To Eglibc
I could never do anything in Railroad Tycoon II except run out of money, but I was just running Civilization: Call to Power last night on my 64-bit Debian box last night, so what's all this noise about nothing working?
Young People Prefer "Sizzle Sounds" of MP3 Format
Now, if you don't like tasting the individual notes in your coffee and coffee is simply a source of caffeine, then Sanka's your beverage.
Ummm, Sanka is like the original decaffeinated coffee.
I Backup My Personal Data..
Have you ever tried to restore that data? Really?
There is an old system administrator's saying: Backups are easy, restores are hard. I've only restored from backup five or six times in my life and no matter how carefully you plan it, no matter how slick the software, and no matter how diligent the backups the restores have always ranged from difficult to "no freaking way". It seems to be related to the fact that the circumstances of the restore can never be fully anticipated.
Take the most recent situation: I work for a company here in Houston that's too small to have a real system administration department, so we outsourced our email and such, but we kept our source code on a Subversion repository that is local to the office. When Hurricane Ike was threatening to come ashore right there, we made multiple backups, diligently restoring each one on a different computer to verify that it had all the data, in anticipation of potential damage to the systems at the office. When the hurricane hit, our office lost power and the estimates for when power would be restored ranged from "we don't know" to "could be a while". With a release date of October 1 looming, (the center of Ike came ashore about 2 AM on September 13,) the office closed for who knows how long, and various employees displacing to wherever they could find room, we decided to shift to a distributed development model.
At that point, the obvious thing to do was done and a Subversion hoster was found and the last backup that had been taken, which I had taken and personally restored to verify that it was correct and complete, was provided to the Subversion hoster, who was unable to use it to restore to his system. At that point, there was much swearing and gnashing of teeth because it turns out that there are two different ways of backing up Subversion, a binary one that requires that the Berkeley database version remain the same and a text based one that doesn't, and we did the binary one. It worked for us because the machines we did the restores on are all Debian or Ubuntu based and the hoster had something else. What we wound up doing was restoring on one of our computers, doing the backup the other way, and providing that backup to the hoster.
The good part was that we were able to accomplish a substantial amount of work during the next week, thanks to Skype and our hoster. And, after power was restored on September 19, most of us (those whose houses where inhabitable, anyway) returned to the office and continued on as if nothing had changed. The only things lost were a couple of check ins done after the last backup on Friday and some time on Sunday spent figuring out what was wrong. Ultimately, the restore was a success like all of the restores I've attempted in my life, but man it was a lot harder than we thought it would be.
IPv6 Adoption Up 300 Percent Over 2 Years
Actually, it's not that hard, at least if you're running Apache. You simply set up one server to receive all the incoming requests and then use Apache's proxy capability to forward the request to the server it should actually go to. My home network is like that. Actually, my home network also runs IPv6 and the IPv6 address resolves to the actual destination computer, but IPv6 connectivity being what it is (that is, nearly nonexistent) I needed to figure out how to make it work with the single IPv4 address I had.
Why Use Virtual Memory In Modern Systems?
The Windows memory manager knows far more than you do...
That reminds me of the oven in my house that apparently knows far more than I do about whether or not I want to bake anything. My intention is to replace it as soon as the repairs to fix the damage from hurricane Ike are complete, and I'm going to replace it with the dumbest appliance I can find.
Look, I know the logic that that says that since RAM is a scarce resource a virtual memory manager must be running at all times to properly manage that scarce resource. I read about it the last time it came up on Slashdot, and, well, I didn't believe it then, either. Oh, I believe the assertion that a scarce resource must be carefully managed. It's just that I no longer believe that semiconductor RAM is particularly scarce. I mean, if I could demonstrate that all of my programs' working sets and all of the file data that they're going to access can all fit in RAM at once, then wouldn't you agree that virtual memory management is unnecessary?
Of course, demonstrating that everything is going to fit in semiconductor RAM is not a trivial task, but I can't help but think that caching a lot of most large files is pretty useless. I mean, if you're streaming a video of a movie, you need to prefetch enough of it that you don't have to worry about underruns and once you've played a frame there's no point in keeping it around any longer, so I would think that 100 MB of buffer would suffice for videos that are gigabytes long and 100 MB is 2.5% of the memory in a computer that has 4G of semiconductor RAM. That implies that the bulk of the benefit of caching comes from caching small files, like the intermediate files generated when compiling or processing email or stuff like that.
Of course, my not believing something doesn't make it false, but I'd still like to see some more effort placed into demonstrating that semiconductor RAM remains a scarce resource. I'm afraid that your bittorrent seeding example suggests to me rather the opposite: RAM on your machine is so plentiful that you have to seed a hundred Linux ISOs to make it scarce.
When Agile Projects Go Bad
I'm glad it works well for you. Still, I can't help but wonder what you would find if you gathered statistics about those errors found by inspection as opposed to those errors that inspection failed to find and had to be found some other way. Would you determine that the effort is worth the time? I wonder.
As it happens, last Friday I had occasion to do review some code. You see, I had discovered that something was causing an error in my client-facing API code and by reviewing the thrust of all of the changes in Subversion, I concluded that the error had to be in a particular function and the code that had been last changed in that function was not too long, only a dozen lines or so. The code was written by someone who is perhaps the best programmer in the place, and it was properly formatted and in the same style as the rest of the code. However, I knew that the change in question was badly broken as I was reviewing the code and I couldn't see the error.
It was only as I dug deeper than a review could cover, and took advantage of the additional information from my knowledge of the symptoms to conclude that a particular branch that should have been taken was not, in fact, being taken, which lead me to realize that a particular variable was not being properly initialized in a loop. That code should have been moved out of the loop when the code was reorganized and simplified, but it had not been, which resulted in the error.
In addition to the timing, I find this defect interesting for two reasons. First, because an inspection would have utterly failed to detect that the change was broken. I mean, I looked right at the code and couldn't see it despite being familiar with the context and such and armed with the knowledge that it contained an error. Second, this sort of flubbing up a reorganization is a common error when writing prose.
When Agile Projects Go Bad
The whole "clearly defined requirements" thing is a straw man, as you well know. I have found that specifications are always subject to change and so you need a methodology that can deal with that. The thing is, I have not found that the popular descriptions of agile programming provide much guidance on how to go about doing that.
There's also the fact that software development isn't a sprint, it's a marathon. It's like you're going to walk to a baseball game in a distant city. When you set out, you may not know what section, row, and seat number you're going to sit in, but it's kind of important to know whether you're going to PETCO Park or Soldier Field. (And, yes, I am fully aware that Soldier Field is a football stadium.) Big projects are made up of small decisions and each one of those decisions must be made in full awareness of the path you're walking.
So, as near as I can tell, the two essential rules are these: First, one should implement the essential functionality first. The problem, of course, is that "essential functionality" is hard to define. Second, it is vitally important to guess the complexity of the ultimate result before you begin, and if you are going to guess wrong it's better to guess that the job will be more complex than it turns out to actually be.
Putting those two rules together, I get "design complex, implement simple". This goes along with most of the design advice you see (avoid global variables, abstract things into functions, break your program up into logical chunks, define interfaces and then stick to them, and so forth) and also matches XP's don't implement stuff that's not in the requirements right now. It's not that you implement features in advance of their need, it's that you try to make it easy to implement whatever it turns out you need to implement.
When Agile Projects Go Bad
Oh, I understand completely why people don't review code. It's because the reviewer has an impossible job. It's tough enough to figure out what the code does after hours of study, but your typical reviewer has a few minutes not only to understand the patch in the context of the code around it, but also to approve or reject each patch. Since that isn't enough time to determine whether or not the code is actually any good, my experience has been that most patches are approved because they're most likely correct. Add to that the fact that inspection of the source code has proven time and again to be the poorest way of finding defects, and one must conclude that code reviews are a pointless time-wasting exercise
While you are right that writers of prose have editors, the job of an editor of prose is not even approximately the same as the job of reviewer of software patches. At the grossest level, an editor's job is to issue syntax errors like the compiler does when you write programs in a compiled language. Also, the editor represents the publisher's and the readers' interests. Since books have to be within a fairly narrow range of sizes or they sell poorly, and magazines have a limited amount of space for editorial content, the editor might suggest that a story should be shortened in order to be salable or would have to reject articles due to the fact that they don't fit in well with the rest of the issue. There are equivalents to those jobs in the software industry, but they're not filled by a reviewer of source code.
New Generator Boosts Wind Turbine Efficiency 50%
Were you aware that the voltage regulator used in automotive applications works by varying the current to the field coils of the alternator? Apparently, not.
In the U.S. election just ended, I voted ...
Elections are expensive and disruptive so you want to minimize the number of times that you vote on them just to reduce the tax bill and the number of days lost from work.
In the U.S. election just ended, I voted ...
How many races were you voting on? The slate at my precinct (Texas 0813) had 80-odd races to vote on.
China To Snap 4 Space Ships Into a Station
If you want a well-funded NASA, be sure to write your congresscritter. Say what you want about the president, he doesn't write nor does he pass the appropriations bills.
jguthrie has no journal entries.