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

 



Forgot your password?
typodupeerror
×

Comment Attitude, activity, community, codebase (Score 1) 57

After meeting your #1 requirement - finding the project interesting - I'd focus on the attitude and community:

* Is it friendly?
* Is the discourse on the mailing lists / forums / whatever generally positive in tone?
* Is it welcoming to new people?
* Is there a list of new developer / getting-started tasks, tutorials, documentation, etc?
* Is there any sort of mentorship program? Or at least a code-review / patch-review process?
* Is there a well defined process for people without direct commit access to get changes included?

and the codebase:

* Is the codebase sanely structured, documented, and commented with a fairly consistent coding style?
* Does their revision control show disciplined series of commits with good commit messages?
* Is there a way to report bugs?
* Is there regular development activity, not just occasional patches?
* Are commits usually followed by streams of fixups, or do they tend to be reasonable the first time around?
* Is the complexity level accessible for you - i.e. is it simple enough that you can follow, but complex enough to be challenging and interesting?

In other words, I'd be looking for something with a healthy community, code that isn't buried in technical debt, with good development practices and a positive attitude.

Comment I've run business Linux desktops - I'm unsurprised (Score 1) 579

I've actually run business Linux desktops for years, and I had endless problems.

* Random GNOME profile corruption. Lots of it. XFCE was no better, just different corruption issues;
* OpenOffice bugs and crashes;
* OpenOffice crashing, starting "recovery" but failing to find the tempfile it's trying to recover, and endlessly trying to recover that file every time the user launches it from then on;
* Mail clients (Evolution or Thunderbird) crashing but leaving dead processes around that had to be manually killed before they'd relaunch;
* Painfully difficult and buggy central configuration and management of things like desktop profiles, mail setup, etc;
* Handling of archives in email attachments, those horrible broken outlook TNEF files, etc, sucked;
* Printing was painful and buggy despite my being quite careful to get only native PostScript printers. Various apps would generate broken PS in all sorts of exciting ways, or CUPS would set job options that printers would choke on, basic printer features were unusable, etc etc;
* Random app devs who decided to call umask(0700) and override the system umask before creating files, because OBVIOUSLY they know better than the user and sysadmin what the file/dir creation perms should be;
* Numerous apps that'd suppress the setgid bit when creating new subdirectories in shared working trees, leading to more permissions issues;
* I was nervous about even minor upgrades to fix bugs, because for every bug fixed there'd usually be three new exiting bugs;
* For the Windows desktops (for a few users who needed accounting packages etc) using Samba for roaming profiles, *tons* of profile corruption issues, endless printing problems, incredibly poor performance, and difficulties interoperating with the Linux desktops

These were "basic users" who needed little more than word processing and occasional use of other simple document exchange, PDF viewing, printing (oh god, so much printing), email and simple attachment handling, and image viewing/sorting/saving. They weren't doing anything complicated.

Windows 7, Active Directory, and Group Policy were an incredible breath of fresh air when we bit the bullet and switched over after acquiring a Win2k8 R2 server for unrelated reasons. Sure, they have plenty of problems - but wow, did it work better overall. Things like volume shadow copy snapshots of server-side roaming profiles were a huge improvement over periodic bacula snapshots of bits of user homedir state.

The main problems we had with Windows were with roaming profiles - and were caused by obvious bugs in OpenOffice, Firefox (moved to Chrome which was better), etc, especially keeping piles of temp state in %APPDATA% not %LOCALAPPDATA% where it should be, modifying SQLite databases directly on remote storage, etc. These apps don't get tested on "business network" type setups, with roaming profiles and redirection, and they don't follow MS's recommendations on file layout etc. It shows.

The only serious issue I had with the Windows deployment was that %APPDATA% redirection for roaming profiles is horribly broken with caching enabled; the sync tool just throws a spak, gives up, and waits for the user to resolve conflicts. It's quite capable of creating conflicts even if there's never any connectivity problem, and the results are messy. Once I disabled offline access and caching for %APPDATA% (a significant performance hit, and it meant that if the server was down even briefly all clients would just freeze) the sync issues went away, but it wasn't a great compromise.

I wasted a huge amount of time babysitting the Linux desktops. I reported so many bugs, wrote so many patches - even though back then my C programming was ... er ... limited, so I could only tackle some issues. It was whack-a-mole, and it was no fun at all.

I use Linux on my laptop for work, and I'd hate to use anything else. Though with the KDE4/GNOME3 thing I'm getting less fond of it. For basic end users, though? Nope. No way, never again.

Comment Re:I fix it (Score 1) 430

... and yes, I know it's hard. I've spent *hours* figuring something out to write it up. Many, many times.

OTOH, I'm using someone else's often very good work for free. Perhaps it's not an efficient use of time ... but then if I've paid for something I often find I still have to dig around and figure out issues with it anyway.

Comment Re:Hence, "Software Engineer" == MYTH (Score 1) 430

I love the way that people who don't contribute themselves describe those who do as "lazy" and demand that they make "excuses" for not doing what they're doing well enough to meet the standards of random other people.

This attitude actually makes the problem worse. "Screw you, why should I bother documenting something I wrote for me when some asshole's going to come along and tell me it's not good enough for them anyway? What'd they ever do? I'll just make it work for me."

Comment Re:Hence, "Software Engineer" == MYTH (Score 1) 430

Your point is somewhat accurate, if poorly made.

You neglect important externalities though. Often the devs are competent, but working to unrealistic deadlines and with priorities that specify that the product must work - not be pretty or properly documented.

You'll find this attitude in many fast-moving industries with little regulatory oversight.

Heavier regulation tends to force better processes, better documentation, higher standards for QA, etc ... and greatly increase the cost and time taken for everything.

It's a trade-off. You would clearly prefer the trade-off to be more toward a process-based, managed system than it currently is. Are you also willing to pay 3x as much for software? To greatly reduce what's available or possible for people to build for free, or make it entirely impossible?

I share your frustration, but unlike you I don't think the answers are simple, or that the explanation is that people other than you (obviously) are stupid.

Comment Re:Yes! (Score 1) 430

I find it incredibly valuable to talk to people who don't already know the system/problem/etc well. They often see what I can't because I'm already too immersed in it. When they don't, they're still useful because they force me to fully explain the problem and in the process often identify an error in my reasoning.

I often write explanations to this imaginary new user now, when I'm trying to figure something out. Or I tell it to my partner - I work from home so there's nobody else. If she's not interested, well, the baby has no choice but to listen ;-)

Comment Re: *BSD has best-of-breed documentation. (Score 1) 430

I concur - I used to use the Solaris docs heavily for Linux sysadmin, as their coverage of the POSIX-y bits was generally excellent.

Before Oracle.

Unfortunately, part of the reason Solaris's docs had to be so good was because the tools were often so bad. Any OS where the first thing you do is "overlay a GNU userspace" has a problem.

Comment Re:Linux Encyclopedia (Score 1) 430

I'm not at all convinced by that. I think it'd just be even more fragmented, confusing and bitrotted than what we already have, unless it was very carefully designed to tag passages as relevant to particular versions/distros, etc.

It's not easy to get this right.

A big first step would IMO be to lock all distro devs in a single room and declare that the last one standing gets to live. Or, at minimum, do this for package formats. We need rpm OR deb. One of them has to die.

Comment I fix it (Score 1) 430

When I find a problem, I fix it where possible, and at least bring it to the attention of relevant people where I can't.

If people actually did this, instead of complain that "the docs suck" and expecting someone *else* to do the work to fix the issue, the docs wouldn't suck.

If whatever it is uses some particularly arcane and awful docs build system I'll often just send in textual changes. If it uses something sane, or something insane that I already know (docbook for example) I'll send a patch.

This is a case of JFDI.

Comment Sensible response (Score 2) 176

That's an accurate and sensible response.

In fact, 3rd party client encryption tools might be better than built-in support by Dropbox. They can be produced outside the USA by companies or individuals unaffiliated with DropBox and potentially harder to pressure into backdooring the software in an update.

I'll stick to SpiderOak personally, despite the awful transfer speeds and somewhat clunky usability, because I just want a remote store that stores my gibberish bytes and gives me the same gibberish bytes back later.

Comment Names and unicode (Score 1) 352

Anyone developing software needs a clue about names, and about unicode and text encodings.

http://www.kalzumeus.com/2010/...

http://www.joelonsoftware.com/...

(Then learn lots, lots more about text encodings).

Also, whether or not they use SQL directly, about metacharacter attacks and SQL injection:

http://bobby-tables.com/

http://watchguard.com/infocent...

Slashdot Top Deals

Genetics explains why you look like your father, and if you don't, why you should.

Working...