Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re:a little late to the party (Score 1) 98

I can't quite figure out why anybody would want to use Microsoft SQL Server.

Corporate policy. It does make sense if large parts of your IT infrastructure already use MS SQL server, especially applications from external vendors. Adding another database increases costs and complexity for maintenance and support.

And it's inexpensive enough for the little money saved by using the free PostgreSQL not to make any noticeable difference. SQLite is very nice for certain applications but does not scale well (by design). MySQL still lacks support for many SQL features present even in SQLite and is bearable only through an ORM. I hear the finally thinking about adding support for common table expressions.

Comment Re:The language isn't the issue (Score 2) 300

Either that or bite the bullet and start a huge replacement project that costs several magnitudes more than exorbitant hourly rates.

Cost is only part of the reason why replacement projects are avoided. Another major reason is the risk involved. Software developed in the 60s, 70s or 80s couldn't rely on many things we take for granted these days. Requirements engineering, robust libraries, development tools, testing mechanics and so on (warts and all) just were not quite there yet or did not exist at all.

So even if you have the budget to start a replacement project it's hard to predict if the new software will still work because nobody really knows what it's supposed to do. Sure, it's easy to pin down the common use cases, but it's almost impossible to be certain you also figured all the corner cases and special features that have been added over the decades.

Consequently it is very hard to find someone in upper management to bet his career on something that, at best, works as well as the existing system.

Comment Ensure tidy code for reviews (Score 1) 430

As a result, I've lost hundreds of hours in code reviews because some pedant was more interested in picking nits over whitespace than actually reviewing my algorithms.

The places where I worked used a simple guide line: the author has to clean up trivial issues before submitting an item for review. In case of code, this means ensuring style conventions.

Which in practice is trivial for reasonably popular programming languages:

First, you rarely have to invent your own style conventions. Instead, use existing standards. For instance, there are standard coding conventions for Java and Python.

If some guide lines do not make sense for your shop, simply change them to fit your needs. For example, PEP8 recommends a maximum line width of 79 characters. However, all our developers work a horizontal resolution of 1920, so we allow 132 characters. We also changed naming conventions from the loud and baroque SOME_CONSTANT to the calm SomeConstant.

Next, there are tools to check these conventions such as CheckStyle and flake8. Often you can even find tools to reformat source code consistently or automatically fix trivial issues like missing blanks, for example autopep8.

Some shops inject these tools in the commit hook of their version management and make it reject any code that does not conform. Baring that, the review moderator is required to run the style checks on the review item. If it turns out that the author still left style issues in the code, the moderator returns the item to the author and requests to clean it up.

That way, the reviewers always get tidy code and can focus on comprehensibility, maintainability and algorithms.


Comment Re:Why do I need a Steam key? (Score 1) 159

I don't want anything to do with Steam.

AFAIK you don't have to. Using the Steam key is optional (or at least was for the Trine bundle, but I doubt it changed for this one).

Once purchased, you'll receive an email that tells you where to download the DRM free archives for the game.

Alternatively, you can use the Steam key and let Steam care about the rest. I've never used mine, but I can see that it's convenient for other gamers because of automatic updates, friend lists, achievements, the "join game" function and so on. So if much of your gaming revolves around Steam, the optional key seems to be a good thing.

Comment Remember Hyper-G/Hyperwave? (Score 3, Informative) 411

[I]f the underlying technologies of the web had been patented by Sir Tim (or similar) and licensed then we wouldn't be posting on Slashdot right now because nobody outside of large multinationals would even be *using* the web for anything.

Case in point: Hyper-G/Hyperwave. It was developed at about the same time as the WWW. It was technically pretty solid (renaming documents didn't break links, integrated search engine, powerful authoring tools) and even didn't use an abbreviation that took longer to pronounce the the full name.

AFAIR it soon moved out of the academia and was turned into a commercial product, so it basically did what the WIPO head suggested.

These days it doesn't even have an Wikipedia article anymore. According to its homepage, it found a niche for corporate intranets and now competes with SharePoint.

There are plenty of other early hypertext systems comparable to the WWW (going back to the 60ties). I seem to recall that Douglar Engelbart's NLS was heavily patented, though I cannot find a reference for this right now. (Though partially these systems certainly failed because of insufficient technology and lack of a target group. You can't blame everything on patents).

Comment Re:"Reducing the number of container ship movement (Score 4, Insightful) 188

Once those containers get back to China and are loaded up with cargo, you now have 5 ships worth of cargo containers, but only 2 ships to transport them. Those 3 ships you left in the U.S.

Good point. Seems they need to find a way to fold ships, too.

Similar to bikes, planes and (to some extent) cars.

Comment Ant instead of shell scripts (Score 1) 394

The gist of article seems to be that for many tasks people should combine the powerful Unix standard commands like find, grep, xargs, sed, etc instead of writing dedicated programs in lower level languages such as Ruby, Python, Java etc. This idea is not new, and many of the people around here have heard it 15 or more years ago. Being a developer, I always liked the perspective of having to write lesser code.

However, the Unix command line and shell script approach never really worked for me, especially if other people in the team wrote them. The main reasons for that are:

  • missing error handling (no checking for "$?", broken pipes, ...)
  • lack of consideration for special cases such as file names with blanks in them
  • difficult post-mortem analysis if the data causing an error got lost in a pipe instead of being available in an intermediate or temporary file
  • possible configuration nightmare to get non-ASCII characters working (depending on the actual platform you're on; it can be easy, too)
  • terse syntax with a tendency to "write only" code (which makes sense for a direct input command line but less so for code that should be maintained for years to come)

All of this could be overcome by measures such as checking $?, redirecting stderr, using temporary files, configuring encodings properly, documentation comments and so on. However, this rarely ever happens in practice.

For the past couple of years I have been using ant for many tasks formerly delegated to shell scripts. Its main advantages are:

  • provides many standard tasks to copy/move/delete files, search and replace in files, filter files, download files, send mails etc.
  • provides many ways to limit commands only to certain files depending on name, date, contents etc.
  • most tasks fail on encountering any error and consequently terminate the whole script (though this can be disabled for a certain task if needed be)
  • generic <exec> task to execute shell commands in case ant does not provide a standard task; you have to be careful with this one though and set failonerror="true" or it will continue even if it fails
  • pretty legible due to using english words instead of abbreviations for most things
  • many simple typos are already detected when ant parses your script and not only when a task gets executed.
  • platform independent syntax for file paths so your script can work on Unix and Windows.
  • takes care of all escaping and non-ASCII issues with files names.

Of course it's not perfect. For example, it uses XML and consequently contains some syntactic noise, it lacks advanced string operations, there are no pipes and sometimes seemingly trivial things result in a lot of messing around with properties. Nevertheless I rarely see a need to write shell scripts anymore except for simple launchers. YMMV but despite ant initially being a build tool for Java developers, we use it for many sysadmin-like tasks with great success and a small amount of development time.

Comment Re:Get the *real* security to do it. (Score 1) 274

If you want to know what is actually going on in a company, the 3 groups of people you need access to are the admins (who can watch people's computer use), the security guards (who can watch people's physical activities), and the bookkeepers (who know where the money and therefor the power is going).

In order to gain all this information, the only group of people you need access to are the secretaries.

Comment Amiga 2000 to surf the web (Score 3, Interesting) 622

I still have an Amiga 2000 standing around from 1989 with a 8 Mhz 68000 CPU and 7 MB RAM. Funny thing about it is that it can run the relatively modern AmigaOS 3.1, for which reasonably well working graphical web browsers exist. Occasionally I fire it for fun just to demonstrate that 80's hardware can show web pages in a semi decent way. Configure it to run on a 640x400 screen with 8 shades of grey and it still shows most of the modern web sites that have some sort of accessibility fall back. It can do tables and basic CSS, so in some cases the results are almost indistinguishable from what you see on a modern browser. Of course it is awfully slow and needs several seconds to render a medium sized PNG image.

It's particular cool to show it too kids that think you need GHz's and GB's to surf the web.


Learning From EA's Annual Report 18

eldavojohn writes "GamePolitics rounded up some 'fun facts' from EA's annual report (PDF) and found among them: 'EA's failed bid to gobble up Take-Two cost the company $21 million,' while 'GameStop and Wal-Mart are EA's biggest customers; each accounts for 14% of EA sales.' It also shows that 'game content legislation and its potential effect on sales' concerns EA, as does the potential for a 'Hot Coffee incident.' More evidence that while it's good to be the big dog, it comes with a lot of responsibility and worrying."

Slashdot Top Deals

The trouble with opportunity is that it always comes disguised as hard work. -- Herbert V. Prochnow