×
Programming

How To Deal With 200k Lines of Spaghetti Code 236

An anonymous reader writes "An article at Ars recaps a discussion from Stack Exchange about a software engineer who had the misfortune to inherit 200k lines of 'spaghetti code' cobbled together over the course of 10-20 years. A lengthy and detailed response walks through how best to proceed at development triage in the face of limited time and developer-power. From the article: 'Rigidity is (often) good. This is a controversial opinion, as rigidity is often seen as a force working against you. It's true for some phases of some projects. But once you see it as a structural support, a framework that takes away the guesswork, it greatly reduces the amount of wasted time and effort. Make it work for you, not against you. Rigidity = Process / Procedure. Software development needs good processes and procedures for exactly the same reasons that chemical plants or factories have manuals, procedures, drills, and emergency guidelines: preventing bad outcomes, increasing predictability, maximizing productivity... Rigidity comes in moderation, though!'"
Oracle

SAP Agrees To Pay Oracle $306 Million In Corporate Theft Case 29

angry tapir writes "SAP has agreed to pay Oracle US$306 million in connection with the corporate-theft case that Oracle filed against it and a former SAP subsidiary in 2007, according to a filing made Thursday in the U.S. District Court for the Northern District of California. The long-running legal dispute centers on illegal downloads of Oracle software and support materials by SAP subsidiary TomorrowNow, which offered lower-cost support services for Oracle software. SAP admitted liability for actions taken by TomorrowNow workers, and a jury awarded Oracle US$1.3 billion in damages in November 2010." The $1.3 billion fine was overturned shortly after, causing more months of litigation.
Bug

Algorithmic Trading Glitch Costs Firm $440 Million 377

alstor writes "Yesterday an update to Knight Capital Group's algorithmic trading software caused massive volume buys and sells, resulting in large price swings on the New York Stock Exchange. As a result, the NYSE canceled some of the trades, but today the loss to Knight has been calculated at $440 million. Ignoring adjustments for inflation, this makes the cost of this glitch almost as much as the $475 million charge Intel took for the Pentium FDIV Bug, which might warrant adding this bug to the list of worst bugs. In light of this loss and the May 6, 2010 Flash Crash, perhaps investors will demand changes from firms using algorithmic trading, since the SEC is apparently too antiquated to do anything about it (PDF)."
HP

Judge Rules Oracle Must Continue Porting Software To Itanium 109

angry tapir writes "A California court has ordered Oracle to continue porting its software to the Intel Itanium chips used by Hewlett-Packard in a number of its servers. Last year, Oracle, which competes with HP in the hardware market but shares many customers with the vendor, announced it would cease supporting Itanium. HP filed suit in June 2011, maintaining that Oracle was contractually bound to continue supporting Itanium."
Google

Google Clamps Down On Spam, Intrusive Ads In Apps 122

An anonymous reader tips news that Google has sent out a letter to app developers explaining policy changes for any new apps published on the Google Play store. In-app purchases must now use Google Play's payment system unless it's for goods or services used outside the app itself. They've added language to dissuade developers from making their apps look like other apps, or like they come from other developers. But more significantly, Google has explained in detail what qualifies as spam: repetitive content, misleading product descriptions, gaming the rating system, affiliate traffic apps, or apps that send communications without user consent. Also, advertisements within apps must now follow the same rules as the app itself, and they can't be intrusive: Ads can't install things like shortcuts or icons without consent, they must notify the user of settings changes, they can't simulate notifications, and they can't request personal information to grant full app function.
Microsoft

Should Developers Support Windows Phone 8? 345

Un pobre guey writes "Should you develop apps for Windows 8? Well, the hype and flogging are apparently in full swing. From the article: 'To be clear, Windows Phone 8 is not a slam dunk. Some, such as IDC, believe Windows Phone will eclipse iOS by 2016. Others, though, believe the trajectories of Android and iOS can't be slowed in the next few years. Nonetheless, I think a bet on Windows Phone 8 is justifiable, even wise, since anyone who purchases a new Windows Phone 8 device likely will want to load it with the latest and greatest apps.'" Another reader points out that the full Windows Phone 8 SDK was leaked online recently, which led to some interesting discoveries: "For starters, it appears that the API is very much like the full WinRT API, but it has no JavaScript support. There is also no support for creating and working with Silverlight/XNA style. This is a bit surprising because I and most developers were under the impression that Microsoft would support the migration of Silverlight apps to HTML5 and JavaScript, but there isn't even support for JavaScript to access the phone's services. The best you can hope for is using the JavaScript support in IE10."
Programming

How Intuit Manages 10 Million Lines of Code 304

CowboyRobot writes "Intuit launched QuickBooks in 1992, and it has grown into the best-selling retail software for small-business accounting worldwide. QuickBooks is available on multiple platforms with different feature sets (Pro, Premier, Enterprise), in specialized editions (accounting, contracting, etc.), is available on CD or via subscription, and is offered in localized versions for the U.S., Canada, and the U.K. How they manage so many builds is a case-study for large scale programming. 'The Windows version is about 80,000 source files, 10+ million lines of C++ code plus a little C# for the .NET parts. Plus help files, tax tables, files defining local accounting rules, tax and other government reporting forms, upgrade offers — a lot of files. Every customer gets the full version. Specific feature sets are turned on and off with the license key.' And the lessons are not just technical. 'One surprising lesson is that small teams work, even for very large codebases — especially, Burt says, in sustaining an entrepreneurial, creative culture.'"
Programming

Ask Slashdot: Are The Days of Homebrew Gaming Over? 181

Croakyvoice writes "A few years ago the Homebrew community went from one console to another releasing some excellent software, from the Days of the Dreamcast the first breakthrough homebrew console, to the PSP which gave us the first handheld Nintendo 64, GBA and PSX emulators on a handheld. The last few years we have seen Microsoft, Nintendo, Sony and Apple all bring out means to thwart homebrew development. The app store on both Android and iOS have taken many homebrew devs over to try and break the market. The major consoles have so many firmware updates that the days of Homebrew seem to be numbered, is there a way back for the Homebrew Community?"
United States

US Census Bureau Offers Public API For Data Apps 47

Nerval's Lobster writes "For any software developers with an urge to play around with demographic or socio-economic data: the U.S. Census Bureau has launched an API for Web and mobile apps that can slice that statistical information in all sorts of nifty ways. The API draws data from two sets: the 2010 Census (statistics include population, age, sex, and race) and the 2006-2010 American Community Survey (offers information on education, income, occupation, commuting, and more). In theory, developers could use those datasets to analyze housing prices for a particular neighborhood, or gain insights into a city's employment cycles. The APIs include no information that could identify an individual."
Android

John Romero's Doomy View On Android and Ouya 375

An anonymous reader writes "Romero is willing to give Ouya the benefit of the doubt, but he sees it filling a niche for neither gamers nor developers. 'I think it's cool that they're making a platform, but it's not really the answer that's coming from Apple about the next generation of consoles. Developers really want to invoke the spirit of the Apple II, Android isn't the operating system with which to do it,' Romero said. 'There are two platforms: [iOS] makes money [and] is still very programmable, like the Apple II, and then the other is Android, which is a piracy platform, and you're not doing anything new with it.'"
Government

6 IT Projects, $8 Billion Over Budget At Dept. of Defense 113

McGruber writes "The Federal Times has the stunning (but not surprising) news that a new audit found six Defense Department modernization projects to be a combined $8 billion — or 110 percent — over budget. The projects are also suffering from years-long schedule delays. In 1998, work began on the Army's Logistics Modernization Program (LMP). In April 2010, the General Accounting Office issued a report titled 'Actions Needed to Improve Implementation of the Army Logistics Modernization Program' about the status of LMP. LMP is now scheduled to be fully deployed in September 2016, 12 years later than originally scheduled, and 18 years after development first began! (Development of the oft-maligned Duke Nukem Forever only took 15 years.)"
GNOME

GNOME: Staring Into the Abyss 535

New submitter zixxt writes "GTK+ Developer Benjamin Otte talks about the stagnation and decline of the Gnome Project. He describes how core developers are leaving GNOME development, how GNOME is understaffed, why GNOME is a Red Hat project and why GNOME is losing market and mind share. Is the Gnome project on its deathbed? Quoting: 'I first noticed this in 2005 when Jeff Waugh gave his 10×10 talk. Back then, the GNOME project had essentially achieved what it set out to do: a working Free desktop environment. Since then, nobody has managed to set new goals for the project. In fact, these days GNOME describes itself as a “community that makes great software”, which is as nondescript as you can get for software development. The biggest problem with having no goals is that you can’t measure yourself. Nobody can say if GNOME 3 is better or worse than GNOME 2. There is no recognized metric anywhere. This also leads to frustration in lots of places.'"
Desktops (Apple)

Apple In Trouble With Developers 343

geek writes "According to Marco Arment, the creator of Instapaper, Apple may be in trouble with developers. According to Arment, the new sandboxing guidelines from Apple are pushing developers away in droves. 'I've lost all confidence that the apps I buy in the App Store today will still be there next month or next year. The advantages of buying from the App Store are mostly gone now. My confidence in the App Store, as a customer, has evaporated. Next time I buy an app that’s available both in and out of the Store, I’ll probably choose to buy it directly from the vendor. And nearly everyone who’s been burned by sandboxing exclusions — not just the affected apps’ developers, but all of their customers — will make the same choice with their future purchases. To most of these customers, the App Store is no longer a reliable place to buy software.' Arment also comments on the 'our way or the highway' attitude Apple often takes in these situations and how it may be backfiring this time around."
KDE

KWin Adds Support for QML Decorations 30

As part of a KDE-wide effort to prepare for Qt 5/QtQuick2, and a push to improve the window manager, KWin now sports QML decoration support. Currently, the C++ API for decorators is "...not very Qt like and requires a strong understanding of how the window decoration in KWin works ... [and] seems to be too difficult to be used." This complexity increases maintenance burden: "In 4.9 we ship four window decorations: the Aurorae theme engine, Oxygen, Plastik, b2 and Laptop. Together they are 10 kSLOC of C++ code and 1 kSLOC QML code (Aurorae). Before Aurorae got ported to QML the size of the decorations was 13 kSLOC. Overall that is about 10 per cent of the KWin source base, which is rather large." Basing his work on the QML version of the Aurorae engine, Martin Gräßlin set out to port Plastik to QML (the C++ version has already bitrotted, and was slated for removal): "After one and a half days of work I’m proud to say that writing decorations in QML is possible. ... In the current state the decoration consists of 370 lines of QML code and I expect to need an additional 100 lines to finish the buttons (they are already functional, that is the close button closes the window) and add some of the configuration options. The same API in C++ consists of 1500 lines of code. So we do not only get fewer lines of code but also a more readable and easier to maintain codebase. For something like a window decoration a declarative approach is much better suited than the imperative C++ way of painting elements."
Cloud

HP Offers Free Access To OpenStack 30

krow writes "HP Cloud is offering free access to Open Stack via its public cloud. Adoption of the Open Stack APIs is growing, and we [note: 'krow' is also known as Brian Aker, once Slashdot's 'database thug,' later the creator of the Drizzle database, and now an HP Fellow] are offering up access to push tool integration and adoption around the APIs. Most recently we have been able to add support for on-demand Jenkins orchestration via the JCloud's plugin. API as well as console access is being made to the computer, object storage, and CDN interfaces. There are images being provided for different Linux distributions, and additionally images for Bitnami, ActiveState's Stackato, and Enterprise DB's Postgres images."
Android

App Developer: Android Designed For Piracy 596

Following news this week of a game developer who turned the Android version of a game free because of piracy concerns, software developer Matt Gemmell has written a lengthy post explaining why he thinks Android apps are laboring under a broken business model. "People have to get paid. There has to be a revenue stream. You can’t reliably have that revenue stream if the platform itself and the damaged philosophy behind it actively sabotages commerce. If you want a platform to be commercially viable for third-party software developers, you have to lock it down. Just like in real life, closing the door and locking it helps make sure that your money remains yours. Bad behaviour has to be more difficult than good behaviour - and good behaviour means paying for your software." He also has some harsh arguments about some of the assumptions and philosophies underpinning the an industry built on an open platform. "Nerds like to say that people care about choice at that level. Nerds are wrong. Nerds care about choice, and nerds are such a tiny minority of people that nobody else much cares what the hell they think. Android is designed with far too much nerd philosophy, and open is gravy to those people because it’s synonymous with customization. ... Open is broken as a money-making platform model, unless you’re making the OS or the handsets. Most of us aren't doing that."
Businesses

San Francisco Poaching Tech Talent From Silicon Valley 282

jfruh writes "Silicon Valley, including San Jose and the chain of suburbs running north from it along the San Francisco Peninsula, has long been the epicenter of the tech business and startup scene. San Francisco itself, just a few miles to the north, has always been in the Valley's orbit — but now, more and more, the center of gravity is shifting to San Francisco, and the move seems to be hitting a tipping point. The reason: the young talent companies want to attract would rather live in a hip city than in suburban sprawl, and don't want to commute 45 minutes to work."
Programming

Ask Slashdot: Value of Website Design Tools vs. Hand Coding? 342

An anonymous reader writes "I am pretty computer literate, and have a son who is extremely computer savvy. He taught himself C#, Javascript, built his own desktop with his Christmas and birthday money two years ago and is an avid reader of stackoverflow, reddit and many forums. He recently was asked to design a website for an architect, and likes to code by hand using Notepad++ and the Chrome developer tools. He uses CSS and Javascript libraries, but is convinced that all visual editors (Dreamweaver, Expression Web and so on) are only for extreme beginners and create non responsive, non compliant sites. I argue with him that while handcoding abilities are essential and great there is a value in knowing and using WYSIWYG editors. We agreed that having slashdot weigh in would be useful — comments appreciated on either the approach or good tools he can and should use."

Slashdot Top Deals