Well, then, maybe I can salvage my KiwiKarma a little...
A good place to start would be Linux Terminal Server Project (click 'Documentation' on the left). Even if it's not exactly what you're looking for, it'll teach you a lot about setting up thin clients, DHCP server, diskless PXE (network) boots via TFTP, mounting root NFS filesystems, etc. They tell you all of this in the context of setting up LTSP, but most of it is general knowledge, and very transferrable to whatever purpose you had in mind.
It might not be everything you need, but I bet it's enough to get you mostly there. At the very least, you'll know what to look for.
As for the symbolic links, that's a little trick I've seen in various enterprise setups, allowing transparent upgrades from the client side, but allowing multiple concurrent installs on the fileserver side.
Example is Firefox./path/to/apps/firefox/1.07/path/to/apps/firefox/1.5
Until a couple of days ago, I would also have on the version level a symbolic link called 'prod' or 'current' that pointed to 1.07. Upon installing 1.5 this week, I would test it (maybe via a 'testing' symbolic link, or running from the versioned directory directly). If it works, I would swing the symbolic link 'current' to point to 1.5.
All of the desktops can run firefox via:/path/to/apps/firefox/current/firefox
So the next time they start firefox, they're instantly upgraded -- without reboot.
This can also be applied to network boots. Since you are exporting a path via NFS, you can use the release symbolic link to upgrade whole installations (though, if I recall, there might be some options to tell NFS to follow the symbolic link, since it's a potential security risk. I don't remember, to be honest.) Overnight, once the new system release has been tested, change the 'release link' to the new system version. Things break? Change it back and reboot the workstations.
For large companies, NFS probably will not be the solution you're looking for, but the principles apply no matter what you choose -- AFS, SMB, NFS, etc.
As I noted before, AFS is nice for enterprises, because it a) can be highly redundant, and b) supports filesystem group ACLs. It's also significantly more complicated than NFS/SMB, but allows for lots of neat tricks if you're willing to learn it.
Unfortunately, what you need to read depends on what you need to know, which is dependent on what you want to set up. Fortunately, the system is modular and HOWTO's for popular components are easy to find. Once you get the system running, the rest is just system administration as you would on an individual box.
I remember reading a couple months ago as part of my daily info-fix that people *do* get physically addicted to exercise, largely due to the endorphins that are released. In that sense, exercise is a physical, biochemical addiction, while "internet addiction" is likely a behavioral one.
I was the same as one poster above -- reading encyclopedias and dictionaries, reading ahead in the science books, enjoying esoteric conversations that probably 85% of the population couldn't even participate in. It's not "addiction" if it's just behavior directly related to your core personality type, where you would have otherwise substituted books, magazines, or other apparently "non-addicting" sources.
Because I've been handsomely rewarded for having a lot of information in my brain, I've learned that information collection is a good thing. That's why I'm a "knowledge worker." That's why I speak three languages to some degree. That's why I read Scientific American, The Economist, Popular Mechanics, and internet news and blogs. It's immediate, continuous, positive feedback in the Pavlovian tradition.
Sorry - I don't buy it. Then again, denial isn't just a river in Egypt.:-)
I'm sure it can be done, perhaps by remotely mounting common application and/home folders to a central server. But I've never seen any Howto's or even descriptions of anyone having done this in the enterprise before. Not to say it hasn't been done, just that noone's written how it's done (that I've been able to find).
Why is it that people think Desktop Linux and Server Linux are different animals when it comes to enterprise setups? Enterprises have been doing rapid deployment, diskless (or minimally local), network boot unix installs for ages.
HOW should linux desktops be set up in an enterprise? Exactly the same way as the *ix servers! Any enterprise unix admin worth their salt already has this worked out. The only difference is which applications get installed.
Need that latest patch deployed to all 1.7 bazillion desktops? Update the filesystem that the desktops are booting to and update all of them at once. Messing with symbolic links makes it easy to swing a link back to the old version and reboot the workstations if something goes bad.
Mounting remote filesystems allows users to write their files directly to the network, where it will be backed up according to firm policy. Mounting the system filesystems ensures that every machine is running the latest and greatest. Deploy your apps in OpenAFS, and you can control access to apps via ACL groups.
I think there's a lot to be said for being able to see facial expressions when speaking with someone, and it also adds visual cues that can help if someone has a heavy accent.
Also, I generally work in large multinational corporations, and it would be nice to know what the person on the other end of the line looks like. I think visual helps build relationships because it makes the other person seem more human.
At my last job, we used to hold occasional team meetings in a video conference room, which everyone enjoyed (when the farking thing worked right). Sometimes it's nice to hear a smile *and* see it.
I started signing up, just to check out the site. Got to the mandatory credit card, pressed Cancel, and probably won't try it again for a few weeks to see if they've changed it. If not, this'll be a service I simply don't use.
Glide: I don't lightly give my credit card number out to random internet sites -- especially when I'm not buying anyting. I'm not paying for the next gimmick until I've seen if it's useful. If you won't let me see if it's useful without my credit card, then you've lost a potential customer, and I've moved on with my life the way it's always been.
And yes Microsoft really does intentionally break compatability between releases, and especially with their competitors.
Any evidence for that claim?
Didn't the XP SP2 break compatability with a significant amount of software? I know our company waited as long as possible to deploy it because the SP had such a bad reputation. I also remember people reporting that their computers were not working correctly after the 'upgrade'.
Anecdotal evidence, sure, but it's evidence I'm certain that most enterprise IT folks on Slashdot can recall.
I think MS does an admirable job keeping compatability between releases, but they *do* break things sometimes (and not necessarily for bad reasons).
The OP's point was, I think, that wine is being coded to run programs intended for any windows release from 3.1 onward, so programs will eventally have better probable compatability with wine than with a given legacy version of Windows. Running with Wine is sort of like running with every version of Windows simultaneously.
So it doesn't count if the application is deployed via the web?
TurboTax Online comes out in January. Firefox support remains to be seen, obviously, but I'm not overly concerned, given FF's now-relatively-high market share.
I've been using H&R Block Online under Linux for the last four years. Works flawlessly in firefox. They even keep a hot copy your records for three years - a feature I've used a few times now, and I don't need to worry about backing them up, losing the CD, etc. Tinfoil hat wearers need not apply.
This site lists a few more I've never heard of, and, of course, Googling for it doesn't hurt either. Just make sure to pick software for the right country.
No, I doubt there are any Gtk/Mono/Java/Qt/WhizBang clients out there, but who needs them? Installed clients for such things are (or should be) a thing of the past. The web offers a relatively cross-platform, painless deployment mechanism for every OS and distro.
The other obvious advantage of the online approach is, of course, that you don't need to pay for an upgrade every year. You just pay the filing cost for whatever taxes you want to file, plus the vendor costs. I usually end up paying H&R Block to e-file my stuff and to have a human look over them beforehand, just to make sure I didn't miss anything.
I'm not a Windows programmer, so could someone help me out here?
In the Unix world, most daemons that start as root do whatever work needs to be done as root, and then promptly drop the privileges -- usually, I think, by switching to a non-privileged account. QMail, pumped as the most secure SMTP servers out there, makes *extensive* use of this technique.
Is this type of thing difficult to do in the Windows world? Does FireFox/Opera do it? If not, and it's possible, why not? How difficult is it to create a 'Firefox' user with NO privs, and have the bulk of the browser run under that ID? Maybe some small part would need to retain privs to write to the user's download area (maybe it can even chroot() to the user's Documents and Settings area?), but most of the browser drops to a non-privileged state.
Wouldn't this contain most "critical bugs" by allowing the OS kernel (not IE/Firefox) to do the security context checking, instead of the app? Isn't that what kernels are good at?
I guess the concept I'm looking for is the idea of assuming that there are hundreds of code execution bugs and sandboxing the app as much as possible. It seems this is the way to go for apps written in C/C++, since re-writing them is a definite waste of time.
Just curious how feasible this idea is.
\We should just re-write FireFox in PERL and be done with it. \\Slashdot doesn't do Slashies. \\\Go figure. SlashieDot.
You're not the only one. I'm at work, so I'm *REALLY* not about to click on it. At home, I might click it on my junk Windows box, just for giggles. It's my 5-year-old's machine, so I've given him a non-privileged account to run with, and I reinstall it periodically on the assumption it's got nasties.
I've actually been considering ReactOS. I booted it up in QEMU, and it looks pretty neat. Anyone try Firefox and Flash under ReactOS? That's all he needs for Noggin.com and Reader Rabbit.:-)
Read the MSDN SSE Spec (as linked above by another poster I'm too lazy to search for).
In particular, check out Licensing Information at the bottom. They don't seem to want to patent this -- at least at the moment. They've got a very clear statement there that would be difficult to reneg on.
Also, for those suspecting that MS will embed binaries, I didn't see anything to support this suspicion in the spec.
The objective of Simple Sharing Extensions (SSE) is to define the minimum extensions necessary to enable loosely-cooperating apps
[snip]
Microsoft's copyrights in this specification are licensed under the Creative Commons Attribution-ShareAlike License (version 2.5). To view a copy of this license, please visit http://creativecommons.org/licenses/by-sa/2.5/. As to software implementations, Microsoft is not aware of any patent claims it owns or controls that would be necessarily infringed by a software implementation that conforms to the specification's extensions. If Microsoft later becomes aware of any such necessary patent claims, Microsoft also agrees to offer a royalty-free patent license on reasonable and non-discriminatory terms and conditions to any such patent claims for the purpose of publishing and consuming the extensions set out in the specification.
I'm as suspicious of MS as the next guy, but it looks like, at least in this case and at this moment, they're trying to play nice. Give 'em a chance. They don't seem to be trying to crowd anybody out, and aren't trying to extend the standard beyond recognition ("minimum necessary").
I think if everyone just takes a deep breath and realizes that the OSS Spaghetti Monster doesn't mind fair contributions from other camps, maybe everyone can benefit by a modernized and more functional RSS standard.
MS gets their app interoperability, OSS gets some good ideas and even gets to use them without fear of patent infringement (per last paragraph). Everybody wins.
Get a development database, a testing database and production database. Yes, you need all three.
A development database for EACH DEVELOPER is almost a must for large code bases and large development teams. Nothing is more frustrating than having someone clobber your test data because they're working on a related system, or finding out you've done the clobbering to someone else.
Use software revision control. CVS, VSS, whatever, use one.
Try to use one that isn't *MASSIVE* overkill for your situation. We have ClearCase here, but we only use it for functions easily provided by CVS. Unfortunately, it's orders of magnitude slower and more complicated, making simple code changes a chore.
Read thedailywtf.com and don't do anything that is posted there.
Heh. Agreed. I knew I hated Hungarian notation, but didn't realize that a) it has a name, and b) I'm not the only one, before I started reading that site.
Write specs for your new developers. Please write specs for your new developers. Don't just say to them 'fix this up'.
Indeed. That shouldn't just apply to 'new' developers as in 'just out of college'. Remember that any system is confusing to someone looking at it for the first time. More experienced people can generally make sense of things faster, but 'faster' might still mean two days instead of a week. For a system of any size, I think it usually takes a good six months to really start feeling comfortable, and usually years to become intimately familiar with. Developers may be a dime a dozen nowadays, but developers who understand your system and business aren't.
I could start a related rant here about the importance of reducing turnover, but the above summarizes it pretty well.
Create your own standard config files.
In fact, standardize your configuration system and write APIs for it for your shop's major languages. Make this a no-brainer.
In fact, I would advocate doing this for all major operations, in case the standard or methods change. For instance, connecting to a database. Make one module that you call that will return a connected database handle for you. Use it for everything that needs a database connection.
Why? Think about those upcoming security audits... changes to how you store your passwords, moving to using kerberos to authenticate instead of passwords, changing database vendor, etc. Change the abstraction module, and you move everything. Changing duplicated logic in hundreds of programs is a nightmare.
Indeed. I had one of these at my last job. I think it was the 640n (or was it 610n?). That thing rocked the world with time to spare. Best workstation I ever had. It came with Red Hat Enterprise Linux 3 pre-installed, and the one time I had to call for support from Dell, the techs were able to diagnose the issue and get it fixed over the phone.
Just remember that, even though they sell it from their web site, it doesn't mean that these workstations don't amount to a "special order" compared with the volume of Windows PCs they're pushing through. Buy their workstations, support the business model, and I'm sure you'll see prices coming down in short order.
I don't work for Dell, own their stock, or date Michael Dell's daughter.
Yes, because if you want to see it adopted, it's going to need to do everything the competition does and more. Otherwise, you'll get the usual "Well, we would use this, but it doesn't allow you to [blank], so we'll need to go with a format that does."
Is there such a thing as acceptable DRM?
Of course there is. Just like there are acceptable uses for weapons, wars, Windows, and alliterations. Market forces will determine what the acceptable uses are. If an organization DRM's the hell out of everything they pass around, customers will complain or go elsewhere if it's really a bother. If it's not really a bother, why bother complaining?
We're talking about word processors and spreadsheets here. If someone doesn't want a document passed around, copied, etc, then chances are it's "Privileged Information". Where's the problem, again?
Why is this a good thing for OpenDocument?
Like it or not, DRM is useful and is probably here to stay. Combining #1 and #2 above, I think you'll find your answer to this question.
off-topic: MonoDevelop form designer
on
Write Portable Code
·
· Score: 0, Offtopic
Speaking of cross-platform programming, I've been wanting to write up an application under C#/mono. I compiled mono and MonoDevelop, only to find that MonoDevelop has no integrated form (GUI) designer. The only option, so far as I can tell, is to use the stand-alone Glade designer and import the.xml file into the project through the C# Glade bindings (which doesn't work anyway, due to some API changes, apparently).
I did some Google-ing, and found some (slightly dated) information stating the MonoDevelop team had no plans of including Glade, opting instead to write their own designer. That's a noble goal and all, but isn't there a way to wrap Glade in the meantime so you can replace it with the custom one when the time comes?
Out of curiosity, has any progress been made on this front? Even if they had to fork Glade to pound it into MonoDevelop, it would seem to be a reasonably stable and mature starting point.
I ask because I really don't have time for all of the box_pack_start/show_widget trial and error world of pain I remember from using Gtk+ in C. Any insights? Other recommended IDEs? Should this be an AskSlashdot?
GNU Cash is a very capable account-management package. It's the only one I know of, but I like it a lot. I can download Quicken files from my bank and load them directly into GNUCash.
As for tax returns, I just use H&R Block online, which works just ducky with Firefox (at least it did last year). That said, if you're using locally-installed software like TurboTax, try it under WINE. There's a good chance it'll work just fine. Anyone ever tried this?
I use Linux exclusively, and find that very few things don't work these days.
GConf is so much cooler than you give it credit for. They've actually managed to get the best of both worlds by using small, human-readable XML files, laid out across a directory tree. If you're hot about allowing different people to have access to different settings, just set group ownership and change your FS permissions appropriately.
Like INI files? These are pretty simple XML files. Edit it by hand, man!
Like the registry? GConf has a regedit-like feel to it, while being infinitely faster. I've never used the API, but I'd have to imagine that it's roughly analogous to the Windows registry API (which I've also never used).
The great thing about GConf is that it uses an actual filesystem tree to lay out the hierarchy you see in the GConf GUI. That means if something gets messed up due to filesystem corruption, random powerdown, etc, it'll probably only be a small, repairable part of an XML file, not some huge, monolithic binary you have no hope of grokking, let alone repairing. It's kinda like MailDir for Registries.
That was quick. First post already blaming ennui and apathy toward science on the "Religious Right". Nice try, but, really, this thoughtless cliche is getting tiresome.
Does it honestly make sense to you that kids aren't learning chemistry, physics, biology, etc because God told them it was Teh Stoopid? Please.
The truth of this is that it's a combination of pragmatism, feel-good academics, and bad parenting that are causing the decline of the hard sciences, and academics in general, in America.
Pragmatism: In other words, "Show Me The Money!!" Do kids want to spend their lives begging for grants and fretting over peer reviews? Maybe they can have their life's work to cure cancer patented by some big drug company, with their names scribbled on a by-line somewhere? Or maybe they would rather get an MBA, go into management or finance, and make a bundle? Face it, the financial reward just isn't there in these fields. The American white-collar economy is shifting to a management-services-based one, where the "real work" is done in other countries, where it's cheaper. American kids are more apt to end up managing a scientist than to actually be one.
Feel-good academics: If it's hard, it's obviously not for you. Don't worry, try something else. Or don't. In the age of teachers switching to purple pens because red is "just so damaging to a kid's morale", are you surprised that kids give up on the "hard" sciences after their first course in High School? "Hard" science is "hard" intellectually too. Why should a kid spend the effort to master calculus and physics or chemistry, when he can get by with a basic understanding of accounting, and spend the time playing video games instead? To be a scientist and get paid, you need to actually know your stuff. To be a manager and get paid, you just need to know how to play golf. To be sure, I'm exaggerating, but I think my point is clear.
Bad, awful, pansy-@$$ parents. Think I'm kidding? Kids did a lot better in school when they had a shred of respect for the teachers. If a note was sent home, there was hell to pay. Now, the hell to pay is on the teacher's end, when a parent comes storming in demainding the teacher's termination because their retarded kid can't pass a basic math test. Education needs major reform in this country, and that reform generally makes school more challenging to the kids. Unfortunately, there are enough vocal parents in this country who have so little confidence in their kids' intelligence that they raise a ruckus every time schools hint at making life more demanding on The Children. Cry me a river.
Anyway, agree or disagree with these reasons, I think any thinking person would agree that your blaming the decline of science (and academics in America as a whole) on the eeeevil Religious Right is over-reaching at best, and an outright, politically-motivated, self-inflicted failure of reason at worst. Funny that you accuse the Religious Right of exactly the same thing. Unfortunately, in desperation to find a scape-goat in The Religious Right, people are in serious danger of overlooking the real causes of the problem, and creating needless tensions in the meantime.
Usually the founder of a successful company very quickly goes into management. (S)he has very little choice in the matter, as they understand the ideas best, and can probably sell them best. Naturally, they'd need to hire someone to work on the code that they're now trying to sell full-time.
It's a logical, natural progression - the first guy almost never stays at the bottom for long. Once out of the "garage" phase, he's the "President" of the firm, and probably not doing a lot of coding at that point. How absurd would it sound if the owner of the company is sitting in a cube, working 14 hour days, coding his heart out, all the while reporting to a manager he hired?!
Yeah, Bill probably didn't write much code, relatively speaking, but he's always been a fantastic salesman, which is what the founder of any successful firm has to be.
Nah. As long as businesses see fit to use spreadsheets as databases, email as a filesystem, and can't master basic concepts of efficient workflow, there will always be a need for consultants. The need is especially large in the small business realm (less than a couple hundred employees), and the perfect fit for this realm is the small consulting firm, who can charge realistic prices to the aforementioned cash-strapped, overtaxed small business.
In the case of the OSS developer-turned-consultant, who better to consult on a piece of software than its author?
Well, then, maybe I can salvage my KiwiKarma a little...
/path/to/apps/firefox/1.07 /path/to/apps/firefox/1.5
/path/to/apps/firefox/current/firefox
A good place to start would be Linux Terminal Server Project (click 'Documentation' on the left). Even if it's not exactly what you're looking for, it'll teach you a lot about setting up thin clients, DHCP server, diskless PXE (network) boots via TFTP, mounting root NFS filesystems, etc. They tell you all of this in the context of setting up LTSP, but most of it is general knowledge, and very transferrable to whatever purpose you had in mind.
It might not be everything you need, but I bet it's enough to get you mostly there. At the very least, you'll know what to look for.
As for the symbolic links, that's a little trick I've seen in various enterprise setups, allowing transparent upgrades from the client side, but allowing multiple concurrent installs on the fileserver side.
Example is Firefox.
Until a couple of days ago, I would also have on the version level a symbolic link called 'prod' or 'current' that pointed to 1.07. Upon installing 1.5 this week, I would test it (maybe via a 'testing' symbolic link, or running from the versioned directory directly). If it works, I would swing the symbolic link 'current' to point to 1.5.
All of the desktops can run firefox via:
So the next time they start firefox, they're instantly upgraded -- without reboot.
This can also be applied to network boots. Since you are exporting a path via NFS, you can use the release symbolic link to upgrade whole installations (though, if I recall, there might be some options to tell NFS to follow the symbolic link, since it's a potential security risk. I don't remember, to be honest.) Overnight, once the new system release has been tested, change the 'release link' to the new system version. Things break? Change it back and reboot the workstations.
For large companies, NFS probably will not be the solution you're looking for, but the principles apply no matter what you choose -- AFS, SMB, NFS, etc.
As I noted before, AFS is nice for enterprises, because it a) can be highly redundant, and b) supports filesystem group ACLs. It's also significantly more complicated than NFS/SMB, but allows for lots of neat tricks if you're willing to learn it.
Unfortunately, what you need to read depends on what you need to know, which is dependent on what you want to set up. Fortunately, the system is modular and HOWTO's for popular components are easy to find. Once you get the system running, the rest is just system administration as you would on an individual box.
Hope this helps a little more.
I remember reading a couple months ago as part of my daily info-fix that people *do* get physically addicted to exercise, largely due to the endorphins that are released. In that sense, exercise is a physical, biochemical addiction, while "internet addiction" is likely a behavioral one.
:-)
I was the same as one poster above -- reading encyclopedias and dictionaries, reading ahead in the science books, enjoying esoteric conversations that probably 85% of the population couldn't even participate in. It's not "addiction" if it's just behavior directly related to your core personality type, where you would have otherwise substituted books, magazines, or other apparently "non-addicting" sources.
Because I've been handsomely rewarded for having a lot of information in my brain, I've learned that information collection is a good thing. That's why I'm a "knowledge worker." That's why I speak three languages to some degree. That's why I read Scientific American, The Economist, Popular Mechanics, and internet news and blogs. It's immediate, continuous, positive feedback in the Pavlovian tradition.
Sorry - I don't buy it. Then again, denial isn't just a river in Egypt.
I'm sure it can be done, perhaps by remotely mounting common application and /home folders to a central server. But I've never seen any Howto's or even descriptions of anyone having done this in the enterprise before. Not to say it hasn't been done, just that noone's written how it's done (that I've been able to find).
Why is it that people think Desktop Linux and Server Linux are different animals when it comes to enterprise setups? Enterprises have been doing rapid deployment, diskless (or minimally local), network boot unix installs for ages.
HOW should linux desktops be set up in an enterprise? Exactly the same way as the *ix servers! Any enterprise unix admin worth their salt already has this worked out. The only difference is which applications get installed.
Need that latest patch deployed to all 1.7 bazillion desktops? Update the filesystem that the desktops are booting to and update all of them at once. Messing with symbolic links makes it easy to swing a link back to the old version and reboot the workstations if something goes bad.
Mounting remote filesystems allows users to write their files directly to the network, where it will be backed up according to firm policy. Mounting the system filesystems ensures that every machine is running the latest and greatest. Deploy your apps in OpenAFS, and you can control access to apps via ACL groups.
I think there's a lot to be said for being able to see facial expressions when speaking with someone, and it also adds visual cues that can help if someone has a heavy accent.
Also, I generally work in large multinational corporations, and it would be nice to know what the person on the other end of the line looks like. I think visual helps build relationships because it makes the other person seem more human.
At my last job, we used to hold occasional team meetings in a video conference room, which everyone enjoyed (when the farking thing worked right). Sometimes it's nice to hear a smile *and* see it.
I started signing up, just to check out the site. Got to the mandatory credit card, pressed Cancel, and probably won't try it again for a few weeks to see if they've changed it. If not, this'll be a service I simply don't use.
Glide: I don't lightly give my credit card number out to random internet sites -- especially when I'm not buying anyting. I'm not paying for the next gimmick until I've seen if it's useful. If you won't let me see if it's useful without my credit card, then you've lost a potential customer, and I've moved on with my life the way it's always been.
..Unless you want to listen to your MP3s at night.
Elwood: It's 106 miles to Chicago, we've got a full tank of gas, half a pack of cigarettes, it's dark and we're wearing sunglasses.
Jake: Hit it.
And yes Microsoft really does intentionally break compatability between releases, and especially with their competitors.
Any evidence for that claim?
Didn't the XP SP2 break compatability with a significant amount of software? I know our company waited as long as possible to deploy it because the SP had such a bad reputation. I also remember people reporting that their computers were not working correctly after the 'upgrade'.
Anecdotal evidence, sure, but it's evidence I'm certain that most enterprise IT folks on Slashdot can recall.
I think MS does an admirable job keeping compatability between releases, but they *do* break things sometimes (and not necessarily for bad reasons).
The OP's point was, I think, that wine is being coded to run programs intended for any windows release from 3.1 onward, so programs will eventally have better probable compatability with wine than with a given legacy version of Windows. Running with Wine is sort of like running with every version of Windows simultaneously.
So it doesn't count if the application is deployed via the web?
TurboTax Online comes out in January. Firefox support remains to be seen, obviously, but I'm not overly concerned, given FF's now-relatively-high market share.
I've been using H&R Block Online under Linux for the last four years. Works flawlessly in firefox. They even keep a hot copy your records for three years - a feature I've used a few times now, and I don't need to worry about backing them up, losing the CD, etc. Tinfoil hat wearers need not apply.
This site lists a few more I've never heard of, and, of course, Googling for it doesn't hurt either. Just make sure to pick software for the right country.
No, I doubt there are any Gtk/Mono/Java/Qt/WhizBang clients out there, but who needs them? Installed clients for such things are (or should be) a thing of the past. The web offers a relatively cross-platform, painless deployment mechanism for every OS and distro.
The other obvious advantage of the online approach is, of course, that you don't need to pay for an upgrade every year. You just pay the filing cost for whatever taxes you want to file, plus the vendor costs. I usually end up paying H&R Block to e-file my stuff and to have a human look over them beforehand, just to make sure I didn't miss anything.
Hope this helps.
I'm not a Windows programmer, so could someone help me out here?
In the Unix world, most daemons that start as root do whatever work needs to be done as root, and then promptly drop the privileges -- usually, I think, by switching to a non-privileged account. QMail, pumped as the most secure SMTP servers out there, makes *extensive* use of this technique.
Is this type of thing difficult to do in the Windows world? Does FireFox/Opera do it? If not, and it's possible, why not? How difficult is it to create a 'Firefox' user with NO privs, and have the bulk of the browser run under that ID? Maybe some small part would need to retain privs to write to the user's download area (maybe it can even chroot() to the user's Documents and Settings area?), but most of the browser drops to a non-privileged state.
Wouldn't this contain most "critical bugs" by allowing the OS kernel (not IE/Firefox) to do the security context checking, instead of the app? Isn't that what kernels are good at?
I guess the concept I'm looking for is the idea of assuming that there are hundreds of code execution bugs and sandboxing the app as much as possible. It seems this is the way to go for apps written in C/C++, since re-writing them is a definite waste of time.
Just curious how feasible this idea is.
\We should just re-write FireFox in PERL and be done with it.
\\Slashdot doesn't do Slashies.
\\\Go figure. SlashieDot.
You're not the only one. I'm at work, so I'm *REALLY* not about to click on it. At home, I might click it on my junk Windows box, just for giggles. It's my 5-year-old's machine, so I've given him a non-privileged account to run with, and I reinstall it periodically on the assumption it's got nasties.
:-)
I've actually been considering ReactOS. I booted it up in QEMU, and it looks pretty neat. Anyone try Firefox and Flash under ReactOS? That's all he needs for Noggin.com and Reader Rabbit.
Heh. Well, if that's their goal, maybe they want to avoid setting fires and almost killing their customers.
Just a marketing tip.
Read the MSDN SSE Spec (as linked above by another poster I'm too lazy to search for).
In particular, check out Licensing Information at the bottom. They don't seem to want to patent this -- at least at the moment. They've got a very clear statement there that would be difficult to reneg on.
Also, for those suspecting that MS will embed binaries, I didn't see anything to support this suspicion in the spec.
Interesting bits from the MS page you linked:
The objective of Simple Sharing Extensions (SSE) is to define the minimum extensions necessary to enable loosely-cooperating apps
[snip]
Microsoft's copyrights in this specification are licensed under the Creative Commons Attribution-ShareAlike License (version 2.5). To view a copy of this license, please visit http://creativecommons.org/licenses/by-sa/2.5/. As to software implementations, Microsoft is not aware of any patent claims it owns or controls that would be necessarily infringed by a software implementation that conforms to the specification's extensions. If Microsoft later becomes aware of any such necessary patent claims, Microsoft also agrees to offer a royalty-free patent license on reasonable and non-discriminatory terms and conditions to any such patent claims for the purpose of publishing and consuming the extensions set out in the specification.
I'm as suspicious of MS as the next guy, but it looks like, at least in this case and at this moment, they're trying to play nice. Give 'em a chance. They don't seem to be trying to crowd anybody out, and aren't trying to extend the standard beyond recognition ("minimum necessary").
I think if everyone just takes a deep breath and realizes that the OSS Spaghetti Monster doesn't mind fair contributions from other camps, maybe everyone can benefit by a modernized and more functional RSS standard.
MS gets their app interoperability, OSS gets some good ideas and even gets to use them without fear of patent infringement (per last paragraph). Everybody wins.
Get a development database, a testing database and production database. Yes, you need all three.
A development database for EACH DEVELOPER is almost a must for large code bases and large development teams. Nothing is more frustrating than having someone clobber your test data because they're working on a related system, or finding out you've done the clobbering to someone else.
Use software revision control. CVS, VSS, whatever, use one.
Try to use one that isn't *MASSIVE* overkill for your situation. We have ClearCase here, but we only use it for functions easily provided by CVS. Unfortunately, it's orders of magnitude slower and more complicated, making simple code changes a chore.
Read thedailywtf.com and don't do anything that is posted there.
Heh. Agreed. I knew I hated Hungarian notation, but didn't realize that a) it has a name, and b) I'm not the only one, before I started reading that site.
Write specs for your new developers. Please write specs for your new developers. Don't just say to them 'fix this up'.
Indeed. That shouldn't just apply to 'new' developers as in 'just out of college'. Remember that any system is confusing to someone looking at it for the first time. More experienced people can generally make sense of things faster, but 'faster' might still mean two days instead of a week. For a system of any size, I think it usually takes a good six months to really start feeling comfortable, and usually years to become intimately familiar with. Developers may be a dime a dozen nowadays, but developers who understand your system and business aren't.
I could start a related rant here about the importance of reducing turnover, but the above summarizes it pretty well.
Create your own standard config files.
In fact, standardize your configuration system and write APIs for it for your shop's major languages. Make this a no-brainer.
In fact, I would advocate doing this for all major operations, in case the standard or methods change. For instance, connecting to a database. Make one module that you call that will return a connected database handle for you. Use it for everything that needs a database connection.
Why? Think about those upcoming security audits... changes to how you store your passwords, moving to using kerberos to authenticate instead of passwords, changing database vendor, etc. Change the abstraction module, and you move everything. Changing duplicated logic in hundreds of programs is a nightmare.
Hope this helps.
Indeed. I had one of these at my last job. I think it was the 640n (or was it 610n?). That thing rocked the world with time to spare. Best workstation I ever had. It came with Red Hat Enterprise Linux 3 pre-installed, and the one time I had to call for support from Dell, the techs were able to diagnose the issue and get it fixed over the phone.
Just remember that, even though they sell it from their web site, it doesn't mean that these workstations don't amount to a "special order" compared with the volume of Windows PCs they're pushing through. Buy their workstations, support the business model, and I'm sure you'll see prices coming down in short order.
I don't work for Dell, own their stock, or date Michael Dell's daughter.
That assumes that the money saved would result in a tax break. Politicians are nothing if not spendthrifts.
Do we really want a standard that enables DRM?
Yes, because if you want to see it adopted, it's going to need to do everything the competition does and more. Otherwise, you'll get the usual "Well, we would use this, but it doesn't allow you to [blank], so we'll need to go with a format that does."
Is there such a thing as acceptable DRM?
Of course there is. Just like there are acceptable uses for weapons, wars, Windows, and alliterations. Market forces will determine what the acceptable uses are. If an organization DRM's the hell out of everything they pass around, customers will complain or go elsewhere if it's really a bother. If it's not really a bother, why bother complaining?
We're talking about word processors and spreadsheets here. If someone doesn't want a document passed around, copied, etc, then chances are it's "Privileged Information". Where's the problem, again?
Why is this a good thing for OpenDocument?
Like it or not, DRM is useful and is probably here to stay. Combining #1 and #2 above, I think you'll find your answer to this question.
Speaking of cross-platform programming, I've been wanting to write up an application under C#/mono. I compiled mono and MonoDevelop, only to find that MonoDevelop has no integrated form (GUI) designer. The only option, so far as I can tell, is to use the stand-alone Glade designer and import the .xml file into the project through the C# Glade bindings (which doesn't work anyway, due to some API changes, apparently).
I did some Google-ing, and found some (slightly dated) information stating the MonoDevelop team had no plans of including Glade, opting instead to write their own designer. That's a noble goal and all, but isn't there a way to wrap Glade in the meantime so you can replace it with the custom one when the time comes?
Out of curiosity, has any progress been made on this front? Even if they had to fork Glade to pound it into MonoDevelop, it would seem to be a reasonably stable and mature starting point.
I ask because I really don't have time for all of the box_pack_start/show_widget trial and error world of pain I remember from using Gtk+ in C. Any insights? Other recommended IDEs? Should this be an AskSlashdot?
Sure they are. Re-read the section on the Ping of Death.
From TFA:
Most obviously affected are computers running Windows, which lock up and display the so-called "blue screen of death" when they receive these packets.
The string "Microsoft"? No. The string "Windows", yes.
GNU Cash is a very capable account-management package. It's the only one I know of, but I like it a lot. I can download Quicken files from my bank and load them directly into GNUCash.
As for tax returns, I just use H&R Block online, which works just ducky with Firefox (at least it did last year). That said, if you're using locally-installed software like TurboTax, try it under WINE. There's a good chance it'll work just fine. Anyone ever tried this?
I use Linux exclusively, and find that very few things don't work these days.
and I think there is a use for magnesium oxide.
Use it when stuck in rush hour traffic!
GConf is so much cooler than you give it credit for. They've actually managed to get the best of both worlds by using small, human-readable XML files, laid out across a directory tree. If you're hot about allowing different people to have access to different settings, just set group ownership and change your FS permissions appropriately.
Like INI files? These are pretty simple XML files. Edit it by hand, man!
Like the registry? GConf has a regedit-like feel to it, while being infinitely faster. I've never used the API, but I'd have to imagine that it's roughly analogous to the Windows registry API (which I've also never used).
The great thing about GConf is that it uses an actual filesystem tree to lay out the hierarchy you see in the GConf GUI. That means if something gets messed up due to filesystem corruption, random powerdown, etc, it'll probably only be a small, repairable part of an XML file, not some huge, monolithic binary you have no hope of grokking, let alone repairing. It's kinda like MailDir for Registries.
That was quick. First post already blaming ennui and apathy toward science on the "Religious Right". Nice try, but, really, this thoughtless cliche is getting tiresome.
Does it honestly make sense to you that kids aren't learning chemistry, physics, biology, etc because God told them it was Teh Stoopid? Please.
The truth of this is that it's a combination of pragmatism, feel-good academics, and bad parenting that are causing the decline of the hard sciences, and academics in general, in America.
Pragmatism: In other words, "Show Me The Money!!" Do kids want to spend their lives begging for grants and fretting over peer reviews? Maybe they can have their life's work to cure cancer patented by some big drug company, with their names scribbled on a by-line somewhere? Or maybe they would rather get an MBA, go into management or finance, and make a bundle? Face it, the financial reward just isn't there in these fields. The American white-collar economy is shifting to a management-services-based one, where the "real work" is done in other countries, where it's cheaper. American kids are more apt to end up managing a scientist than to actually be one.
Feel-good academics: If it's hard, it's obviously not for you. Don't worry, try something else. Or don't. In the age of teachers switching to purple pens because red is "just so damaging to a kid's morale", are you surprised that kids give up on the "hard" sciences after their first course in High School? "Hard" science is "hard" intellectually too. Why should a kid spend the effort to master calculus and physics or chemistry, when he can get by with a basic understanding of accounting, and spend the time playing video games instead? To be a scientist and get paid, you need to actually know your stuff. To be a manager and get paid, you just need to know how to play golf. To be sure, I'm exaggerating, but I think my point is clear.
Bad, awful, pansy-@$$ parents. Think I'm kidding? Kids did a lot better in school when they had a shred of respect for the teachers. If a note was sent home, there was hell to pay. Now, the hell to pay is on the teacher's end, when a parent comes storming in demainding the teacher's termination because their retarded kid can't pass a basic math test. Education needs major reform in this country, and that reform generally makes school more challenging to the kids. Unfortunately, there are enough vocal parents in this country who have so little confidence in their kids' intelligence that they raise a ruckus every time schools hint at making life more demanding on The Children. Cry me a river.
Anyway, agree or disagree with these reasons, I think any thinking person would agree that your blaming the decline of science (and academics in America as a whole) on the eeeevil Religious Right is over-reaching at best, and an outright, politically-motivated, self-inflicted failure of reason at worst. Funny that you accuse the Religious Right of exactly the same thing. Unfortunately, in desperation to find a scape-goat in The Religious Right, people are in serious danger of overlooking the real causes of the problem, and creating needless tensions in the meantime.
Usually the founder of a successful company very quickly goes into management. (S)he has very little choice in the matter, as they understand the ideas best, and can probably sell them best. Naturally, they'd need to hire someone to work on the code that they're now trying to sell full-time.
It's a logical, natural progression - the first guy almost never stays at the bottom for long. Once out of the "garage" phase, he's the "President" of the firm, and probably not doing a lot of coding at that point. How absurd would it sound if the owner of the company is sitting in a cube, working 14 hour days, coding his heart out, all the while reporting to a manager he hired?!
Yeah, Bill probably didn't write much code, relatively speaking, but he's always been a fantastic salesman, which is what the founder of any successful firm has to be.
Nah. As long as businesses see fit to use spreadsheets as databases, email as a filesystem, and can't master basic concepts of efficient workflow, there will always be a need for consultants. The need is especially large in the small business realm (less than a couple hundred employees), and the perfect fit for this realm is the small consulting firm, who can charge realistic prices to the aforementioned cash-strapped, overtaxed small business.
In the case of the OSS developer-turned-consultant, who better to consult on a piece of software than its author?