The Value of BASIC As a First Programming Language
Mirk writes "Computer-science legend Edsger W. Dijkstra famously wrote: 'It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.' The Reinvigorated Programmer argues that the world is full of excellent programmers who cut their teeth on BASIC, and suggests it could even be because they started out with BASIC."
nigham writes "The EFF is publicly disclosing a version of Apple's iPhone developer program license agreement. The highlights: you can't disclose the agreement itself (the EFF managed to get it via the Freedom of Information Act thanks to NASA's recent app), Apple reserves the right to kill your app at any time with no reason, and Apple's liability in any circumstance is limited to 50 bucks. There's also this gem: 'You will not, through use of the Apple Software, services or otherwise create any Application or other program that would disable, hack, or otherwise interfere with the Security Solution, or any security, digital signing, digital rights management, verification or authentication mechanisms implemented in or by the iPhone operating system software, iPod Touch operating system software, this Apple Software, any services or other Apple software or technology, or enable others to do so.' The entire agreement (PDF) is up at the EFF's site."
arcticstoat writes "AMD has just aimed a shot at Nvidia's PhysX technology, saying that most game developers only implement GPU-accelerated PhysX for the money. AMD's Richard Huddy explained that 'Nvidia creates a marketing deal with a title, and then as part of that marketing deal, they have the right to go in and implement PhysX in the game.' However, he adds that 'the problem with that is obviously that the game developer doesn't actually want it. They're not doing it because they want it; they're doing it because they're paid to do it. So we have a rather artificial situation at the moment where you see PhysX in games, but it isn't because the game developer wants it in there.' AMD is pushing open standards such as OpenCL and DirectCompute as alternatives to PhysX, as these APIs can run on both AMD and Nvidia GPUs. AMD also announced today that it will be giving away free versions of Pixelux's DMM2 physics engine, which now includes Bullet Physics, to some game developers."
snydeq writes "InfoWorld's Neil McAllister takes a deeper look at HTML5, outlining what developers should expect from this overhaul of HTML — one that some believe could put an end to proprietary Web technologies such as Flash and Silverlight. Among the most eagerly anticipated additions to HTML5 are new elements and APIs that allow content authors to create rich media using nothing more than standards-based HTML. The standard also introduces browser-based application caches, which enable Web apps to store information on the client device. 'But for all of HTML5's new features, users shouldn't expect plug-ins to disappear overnight. The Web has a long history of many competing technologies and media formats, and the inertia of that legacy will be difficult to overcome. It may yet be many years before a pure-HTML5 browser will be able to match the capabilities of today's patchwork clients,' McAllister writes. 'In the end, browser market share may be the most significant hurdle for developers interested in making the most of HTML5. Until these legacy browsers are replaced with modern updates, Web developers may be stuck maintaining two versions of their sites: a rich version for HTML5-enabled users, and a version for legacy browsers that falls back on outdated rendering tricks.'"
Mirk writes "In a recent interview, Don Knuth wrote: 'The way a lot of programming goes today isn't any fun because it's just plugging in magic incantations — combine somebody else's software and start it up.' The Reinvigorated Programmer laments how much of our 'programming' time is spent pasting not-quite-compatible libraries together and patching around the edges." This 3-day-old article has sparked lively discussions at Reddit and at Hacker News, and the author has responded with a followup and summation.
Barence writes "Why do people think they own code just because they've paid for it? PC Pro's Kevin Partner says many of his clients believe that by paying for the work to be done, they take ownership of it. But, put simply, code is owned by its developer even once the client has paid, unless that developer is legally employed by the client or a contract exists that transfers full ownership (and even then it's far from clear-cut). He discusses the thorny issue of making clients understand that distinction and gives advice on how developers can assert their rights."
snydeq writes "Peter Wayner provides a developer's comparison of Android and the iPhone and finds Android not only competitive but in fact a better choice than the iPhone for many developers, largely due to its Java foundation. 'While iPhone developers have found that one path to success is playing to our baser instincts (until Apple shuts them down), a number of Android applications are offering practical solutions that unlock the power of a phone that's really a Unix machine you can slip into your pocket,' Wayner writes, pointing out GScript and Remote DB as two powerful tools for developers to make rough but workable custom tools for Android. But the real gem is Java: 'The pure Java foundation of Android will be one of the biggest attractions for many businesses with Java programmers on the staff. Any Java developer familiar with Eclipse should be able to use Google's Android documentation to turn out a very basic application in just a few hours. Not only that, but all of the code from other Java programs will run on your Android phone — although it won't look pretty or run as fast as it does on multicore servers.'"
An anonymous reader points out this article about "...how a big site like MySpace uses thousands of cloud computing cores to do performance testing on its live site. There are some really great numbers in there from the performance tests, like generating 16GB/second of bandwidth and 77,000 hits/second during testing (not including the live traffic on the site at the time)."
angry tapir writes with news that Google Go seems to be cutting a wide swath through the programming community in just a short time since its early, experimental release. While Google insists that Go is still a work in progress (like so many of their offerings), many developers are so intrigued by the feature set that they are already implementing many noncritical applications with it. What experiences, good or bad, have you had with Google Go, and how likely is it to really take over?
Rob Weir got wind that a Slovakian tech site had been discussing the non-randomness of Microsoft's intended-to-be-random browser choice screen, which went into effect on European Windows 7 systems last week. He did some testing and found that indeed the order in which the five browser choices appear on the selection screen is far from random — though probably not intentionally slanted. He then proceeds to give Microsoft a lesson in random-shuffle algorithms. "This computational problem has been known since the earliest days of computing. There are 5 well-known approaches: 3 good solutions, 1 acceptable solution that is slower than necessary and 1 bad approach that doesn’t really work. Microsoft appears to have picked the bad approach. But I do not believe there is some nefarious intent to this bug. It is more in the nature of a 'naive algorithm,' like the bubble sort, that inexperienced programmers inevitably will fall upon when solving a given problem. I bet if we gave this same problem to 100 freshmen computer science majors, at least 1 of them would make the same mistake. But with education and experience, one learns about these things. And one of the things one learns early on is to reach for Knuth. ... The lesson here is that getting randomness on a computer cannot be left to chance. You cannot just throw Math.random() at a problem and stir the pot and expect good results."
An anonymous reader writes "Texas Instruments' most recent, ARM-based series of graphing calculators, the TI-Nspire line, has long resisted users' efforts to run their own software. (Unlike other TI calculator models, which can be programmed either in BASIC, C, or assembly language, the Nspire only supports an extremely limited form of BASIC.) A bug in the Nspire's OS was recently discovered, however, which can be exploited to execute arbitrary machine code. Now the first version of a tool called Ndless has been released, enabling users, for the first time, to write and run their own C and assembly programs on the device. This opens up exciting new possibilities for these devices, which are extremely powerful compared to TI's other calculator offerings, but (thanks to the built-in software's limitations) have hitherto been largely ignored by the calculator programming community."
distantbody writes "The flight sim project FlightGear has reached version 2.0. From the website: 'Highlights of this new version include: Dramatic new 3D clouds, dramatic lighting conditions, improved support for custom scenery, and many many new and detailed aircraft models.' Full list of improvements here. And of course the screenshots. The release coincides with the release of SimGear v2, the 'set of open-source libraries designed to be used as building blocks for quickly assembling 3d simulations, games, and visualization applications' on which FlightGear is based."
Recommendation Algorithm Wants To Show You Something New
Several sources are reporting on a new metric that computer scientists are going after with respect to recommender systems — recommendation diversity. "In a paper that will be released by PNAS, a group of scientists are pushing the limits of recommendation systems, creating new algorithms that will make more tangential recommendations to users, which can help expand their interests, which will increase the longevity and utility of the recommendation system itself. Accuracy has long been the most prized measurement in recommending content, like movies, links, or music. However, computer scientists note that this type of system can narrow the field of interest for each user the more it is used. Improved accuracy can result in a strong filtering based on a user's interests, until the system can only recommend a small subset of all the content it has to offer."
Trailrunner7 writes "SQL injection has become perhaps the most widely used technique for compromising Web applications, thanks to both its relative simplicity and high success rate. It's not often that outsiders get a look at the way these attacks work, but a well-known researcher is providing just that. Rafal Los showed a skeptical group of executives just how quickly he could compromise one of their sites using SQL injection, and in the process found that the site had already been hacked and was serving the Zeus Trojan to visitors."
Los's original blog post has more and better illustrations, too.
darthcamaro writes "Remember Mozilla Ubiquity? It was an effort to bring natural language commands to the Firefox browser. Now after almost two years of development and a half million downloads, the project is no longer being actively developed. Project founder Aza Raskin is now working on other projects, including Mozilla Jetpack, so Ubiquity is on the back burner. '"There is huge demand for being able to connect the Web with language — to not have to move from one site to another to complete your daily tasks," Raskin said. "And there is huge demand for anyone to be able to write small snippets of code that lets them command the Web the way they want. Ubiquity gave everyday developers a voice with how the browser and the Web works."'"