I couldn't agree more. The players have no way of getting a feel for things when they spend so much time in front of screen talking to CGI characters...
Is there any sort of data to back up the claim that either rock climbing or bicycling is a popular among geeks? Among the geeks I know some sort of martial arts is far more common that rock climbing or cycling (i.e. I don't know anyone who climbs or cycles, but many who do martial arts).
I'm an ex-climbing gym manager turned programmer in Pittsburgh. The climbing gym was (and still is) packed with researchers and students from the CS department at CMU. And since I joined the world of programming, my connections to people within the climbing community have gotten me more work than without.
Having done development work with both platforms, I'll say that.Net is a bit nicier at this point. While there are some open source Java frameworks that have come a long way (I'm thinking of Struts), nothing really matches the VS.Net experience. You can certainly build a very nice, stable Java app, but you'll be coding a lot of the components yourself, whereas.Net provides them within the development environment.
And as far as platform independence and Java go -- it's still not that easy. Sure, you can do it, but it's a little harder than just dropping your front-end files and a few JAR files on a different machine...sure,.Net isn't portable, but the Mono project may change that (though that's another can of GNU-worms). I work for a Microsoft shop, and we host our clients' sites, so.Net makes a lot of sense for us.
Windows also has ease of use and ease of hardware integration...
This has more to do with hardware manufacturers providing drivers for Windows. Many of these drivers are proprietary, so it's up to the open source community to reverse engineer them to make the hardware work under Linux. Microsoft isn't writing every driver under the sun for their OS -- the manufacturers are. If more manufacturers either opened their driver source or simply produced Linux drivers, there would greater hardware compatibility for Linux.
If there was only a good IDE for c# (mono) on linux...
I agree. I do a lot of.Net work, and minus a few flaws, VisualStudio.Net is a great IDE (and I really prefer text editors if I'm doing Java development). I've played around with Mono quite a bit and with a good IDE, I think the adoption would be better. I mean, if you're a.Net coder, it's tough to leave the fast development that VS.Net provides.
"Simplify Web publishing Why can't we post files from our desktop to a Web site in one drag-and-drop move?" - my home directory, including public_html, is accessible from Samba. I can copy any file there and it is live on the web instantly.
Well, you're right, but I'm guessing the writer meant "why do I have to bother with this whole HTML thing anyway?" That said, there's plenty of software available to make the publishing process less painful.
I'd have to agree. If you loose your job, but can find work with an outsourcing company (and there are plenty in the U.S.), why not take it? I really don't think this is some sort of moral dilemma -- most of us would leave our current employer if a better job came along, so why can't our employer leave us if something better comes their way?
And it's satisfying work because you're not stuck with one environment all the time -- you get to play with lots of different customer environments, picking up new skills along the way.
This _might_ be the case. Many of the outsourcers in my area do one thing with one technology. Don't assume that every outsourcing company is a jack-of-trades outfit. And if they are, they probably have specialists for every hat they can wear.
I don't trust you to work from home. You will just watch Scooby Doo.
'Tis true, but a company in India has tons of programmers in cube farms (at least that's what they tell you), so the PHBs feel more secure knowing their new programming staff is being directly managed.
I agree completely. When I was doing the independent contractor thing, I wasn't tied to working 9-5...I would get up early, work from 7-11, go out, ride my bike, have lunch with wife/friends, see other folks (I've got friends who are grad students, so they have equally flexible schedules), then work for as long as I needed to in the afternoon. I took an office job again when the market dried up a bit, and I miss the flexibility of working from home. Human interaction is great -- if you like your co-workers.
i'm working on a turbine based project right now. the framework has some good concepts (services, user management, security), but the project organization is seriously lacking discipline. things don't always work as advertised, and if you're building a large-scale app, be prepared to dig into the turbine source and do some hacking.
there's also an issue with turbine 2.3's (latest/greatest) choice of build systems. you are required to use maven, a project management tool built on top of ant, and that project is often shakey at best (the product hasn't even hit a 1.0 release, but it's turbine's official build tool). at least turbine 2.2 allows you to use ant.
that said, it's not a bad framework, but you've got to be willing to take the good with the bad. the company's original developers chose it because of the user management features, and we've just stuck with it because we don't have the time to attempt a struts implementation.
RedHat 8 at work, Mandrake 9.2b1 and Mandrake 9.1 at home. I'm sure my digicam _might_ work, but why mess with a good thing (OS X and iPhoto)? Like I said, I've played around with xine and mPlayer with no success. But it's also not been so critical for me to be able to watch video at work (and at home I've got the Mac).
Also, how easy is it to upgrade from 9.1 to 9.2?
I did an upgrade to 9.2b1 pretty easily, so it shouldn't be a problem.
DLL Hell and a no-name audio card with a auto-configured IRQ conflict will make bald men even balder, young women turn into Pug-faced hags, and kids turn inside out spilling their Speghetti-o's all over dad's new desk.
True, but my experiences with Linux have shortened my life by at least ten years. And before you say "oh you're just some n00b that picked up RedHat", let me say I've been using Linux nearly exclusively on my work desktop for three years. Two of my three machines at home also have some distro of Linux installed (the third machine is OS X). When I started new job this year, it took me three days and two sound cards to be able to listen to mp3s. I can't watch a single digital video (regardless of format), and I've spent days hacking with mPlayer, etc. And I don't dare plug by digital camera into one of the Linux machines at home.
Now, this isn't a troll. I use Linux by choice, and for development work and generally desktop stuff, it's great. And I enjoy being able to hack around the machine a bit to get things working. But to think that Linux is ready to displace Windows or OS X on the average user's desktop is wishful thinking.
Because Suse would be defending Linux as a whole e.g. the kernel, which is under attack. It has nothing to do with Red Hat's distro.
Amen. If SCO would somehow be able to pull this off in the States, it certainly wouldn't be a ringing endorsement of Linux, regardless of what the rest of the world thinks of the American legal system. And sure, Suse is a German company, but don't think you think their business plan depends heavily on purchases made in the United States?
Some people are just too lazy to update anything on their machines. I propose that the number one security problem on both lists be changed to "Lazy Users/Sysadmins who never update their systems."
You're comparing apples and oranges. There are plenty of folks who are still surfing the Net on "antiquated" equipment (slow machines, tiny monitors, 4.x browsers), and it's not because they're lazy. Grandparents who check email and maybe read a few websites don't need anything more than Windows 9x machine. And they're probably surfing on a dialup connection (on a less than latest/greatest modem, no less), so downloading IE 6 or Moz or Netscape 6 isn't really a choice. And...running 640x480, 8 bit color isn't a security hole. And running an updated 4.x browser isn't a security hole necessarily. Sure, plenty of sites don't "work" but that's a different issue.
Now, there are plenty of lazy sys admins/users who are running newer hardware/software with a dedicated connection. There is NO REASON why those machine shouldn't be properly patched and updated.
This a most telling quote as most developers have never talked to an actual customer in their entire career.
I agree. Having done freelance work, I've seen plenty of clients that know they most definitely want 'X', but beyond that, they're not sure. Chances are, since they aren't thinking like developers or software architects, they aren't thinking through the ramifications of particular decisions. They could be either overanalyzing a particular use case, or not thinking through it enough. Actually, chances are, they just want a system to "generate this information from this other information, and email to these people, and maybe generate some reports here." They may even have idea what might look pretty on their desktop, but they haven't thought about potential security issues, other uses for the data, etc. As you work through the problem, you'll open new cans of worms for them daily.
I would have to say that pair programming isn't really worth it.
It's certainly not worth it all the time, but there are times when it can boost productivity. Let me first say I've never worked in a pure XP environment, but on several projects we've cut & pasted from XP and used what works well for us.
Pair programming can work well when you're still developing the logic that will drive the application. Why? Because at that point, you're not coding for 8 hours straight. You're coding a bit, running some tests, then tweaking. If you work well with your partner, you've constantly got a sounding board for ideas, and chances are, you'll crack the egg sooner rather than later. Sure, you could both work on the same problem space separately and compare notes at the end of the day, but I think had you been working together, the problem would have been solved much sooner.
Although it's not a pure XP situation, pair programming works quite well when you've been handed someone's else code. While working on a particular project, my group was handed code from the client for a sub-project that they had completed, but were unhappy with (they were not a development shop by trade), so suddenly we were responsible for righting the wrongs. It was VB app (and we were doing web development for them, and we weren't VB specialists), and we gave them a fairly conservative time estimate. The manager wasn't particularly happy to see us working in pairs (didn't seem productive) but we got the sub-project completed well under budget.
My version of pair programming is to have one developer write a test harness while the other one develops the actual code to be tested. This forces each of them to communicate with each other, generally via a very informal spec or direct communication with the client.
Now there's a brilliant reason to purchase a computer -- that it costs $1.3 million. Odds are likely 100% that you can purchase a superior system from a non-Sun manufacturer for an order of magnitude less now. You basically make Merrill's case for why Sun will be dead in 2 years. The pool of idiots willing to plunk down $1M for a box to serve web pages dried up 2 years ago. Look at how people do it now (i.e., Google, Yahoo, etc.) -- racks and racks of cheap, redundant commodity servers. Where's Sun's answer to that?
There's something to be said for your argument, but having worked for some old-skool manufacturing companies that rely on Solaris to power their MRP systems, they're happy to plunk down the cash because, for the most part, they can trust Sun's service. And these companies don't have IT departments that fly on auto-pilot -- they've got smart sys admins who know their job (and Solaris), but it's still much easier to maintain two or three high-performance Sun boxes than a gaggle of i686s....
And while RDBMSs like Progress (a popular choice for MRP systems) run on GNU/Linux, the folks who really know the system also really know Solaris (or AIX, or some other industrial-strength Unix), so while Sun isn't going to make inroads at companies that are looking to move from tons of MS servers, they've still got a solid foothold in the manufacturing industry.
More useful to the internet denizen would be free online textbooks.
Yes, they would. But, when were you at university last? Textbooks, especially the hardcover types used in the scientific disciplines, aren't cheap. I'm sure there are freely distributable textbooks for the sciences (or any type of course), but that would require the professors agreeing to use these instead of many of the tried and true standards. I'm sure MIT would love to provide copies of the textbook, but they just can't.
Nobody sells GPL code, and therefore anybody who uses it, must use it per the license.
But isn't that what Mandrake, RedHat, and Suse do? I mean, I know they don't actually _sell_ the linux source, they actually _sell_ the services, but still...they're selling linux. I think that even RMS would say that you can actually sell GPL'ed code (of course, I'm not searching his site or the GNU site, so flame me if I'm wrong)...you just have to share it. You can base your business plans on trade secrets/IP in your modified code.
Personally, I don't understand why Linksys/Cisco wouldn't release the code...99.9% of the population isn't going to ditch their Linksys wireless routers to roll their own. Perhaps that.01% may tweak the firmware a bit, or just see how it works, but I can't imagine that Linksys stands to lose anything by releasing the code...
Re:Developer Office Design
on
The Bionic Office
·
· Score: 4, Insightful
I agree with you completely...but...
There's certainly a group of programmers (most of whom are good programmers) who really truly love what they do, and will work terrible hours because of that love. And I mean programmers who are doing _interesting_ stuff, not just chugging along in the corporate environment. Most of these folks don't really have lives outside of work, and if they do, they are the sorts of lives that can be put on hold for indefinite periods of time. I too lazy to find the link, but there was a story a month or two ago about how the best scientists and researchers are unmarried. Duh! Of course they are. No person can serve two masters, as it were.
That said, I think the Fog Creek offices would be perfect for the average 9-5 programmer. They allow for greater productivity, thus allowing more actual work in an 8 hour day. And these are the type of people that would be more impressed with such a setup. A good programmer who doesn't necessarily want to live in their office would be more likely to join a company with an office like Fog Creek's, rather than just another cube farm somewhere else.
This has been the least interesting thread on the front page for some time....I mean, I'm browsing at +1, and most of the posts are jokes about SCO, Russell's sig, and the name "Rusty."
World Rally Cars aren't far behind in the technology department, and they suffer much more abuse of the course of a rally weekend....
I couldn't agree more. The players have no way of getting a feel for things when they spend so much time in front of screen talking to CGI characters...
Is there any sort of data to back up the claim that either rock climbing or bicycling is a popular among geeks? Among the geeks I know some sort of martial arts is far more common that rock climbing or cycling (i.e. I don't know anyone who climbs or cycles, but many who do martial arts).
I'm an ex-climbing gym manager turned programmer in Pittsburgh. The climbing gym was (and still is) packed with researchers and students from the CS department at CMU. And since I joined the world of programming, my connections to people within the climbing community have gotten me more work than without.
Having done development work with both platforms, I'll say that .Net is a bit nicier at this point. While there are some open source Java frameworks that have come a long way (I'm thinking of Struts), nothing really matches the VS.Net experience. You can certainly build a very nice, stable Java app, but you'll be coding a lot of the components yourself, whereas .Net provides them within the development environment.
And as far as platform independence and Java go -- it's still not that easy. Sure, you can do it, but it's a little harder than just dropping your front-end files and a few JAR files on a different machine...sure, .Net isn't portable, but the Mono project may change that (though that's another can of GNU-worms). I work for a Microsoft shop, and we host our clients' sites, so .Net makes a lot of sense for us.
Windows also has ease of use and ease of hardware integration...
This has more to do with hardware manufacturers providing drivers for Windows. Many of these drivers are proprietary, so it's up to the open source community to reverse engineer them to make the hardware work under Linux. Microsoft isn't writing every driver under the sun for their OS -- the manufacturers are. If more manufacturers either opened their driver source or simply produced Linux drivers, there would greater hardware compatibility for Linux.
If there was only a good IDE for c# (mono) on linux...
I agree. I do a lot of .Net work, and minus a few flaws, VisualStudio.Net is a great IDE (and I really prefer text editors if I'm doing Java development). I've played around with Mono quite a bit and with a good IDE, I think the adoption would be better. I mean, if you're a .Net coder, it's tough to leave the fast development that VS.Net provides.
"Simplify Web publishing Why can't we post files from our desktop to a Web site in one drag-and-drop move?" - my home directory, including public_html, is accessible from Samba. I can copy any file there and it is live on the web instantly.
Well, you're right, but I'm guessing the writer meant "why do I have to bother with this whole HTML thing anyway?" That said, there's plenty of software available to make the publishing process less painful.
From the Timbuk2 site:
We visit our China factory on a regular basis every 4 to 8 weeks, to ensure superior quality standards and acceptable working conditions.
These guys may be blowing sunshine up our dresses, but they are trying to insure that the factories they use aren't exploiting children.
In the same vain Reload Bags and Chrome Bags also make messenger-related laptop bags.
I'd have to agree. If you loose your job, but can find work with an outsourcing company (and there are plenty in the U.S.), why not take it? I really don't think this is some sort of moral dilemma -- most of us would leave our current employer if a better job came along, so why can't our employer leave us if something better comes their way?
And it's satisfying work because you're not stuck with one environment all the time -- you get to play with lots of different customer environments, picking up new skills along the way.
This _might_ be the case. Many of the outsourcers in my area do one thing with one technology. Don't assume that every outsourcing company is a jack-of-trades outfit. And if they are, they probably have specialists for every hat they can wear.
I don't trust you to work from home. You will just watch Scooby Doo.
'Tis true, but a company in India has tons of programmers in cube farms (at least that's what they tell you), so the PHBs feel more secure knowing their new programming staff is being directly managed.
How about leaving home when you aren't working?
I agree completely. When I was doing the independent contractor thing, I wasn't tied to working 9-5...I would get up early, work from 7-11, go out, ride my bike, have lunch with wife/friends, see other folks (I've got friends who are grad students, so they have equally flexible schedules), then work for as long as I needed to in the afternoon. I took an office job again when the market dried up a bit, and I miss the flexibility of working from home. Human interaction is great -- if you like your co-workers.
i'm working on a turbine based project right now. the framework has some good concepts (services, user management, security), but the project organization is seriously lacking discipline. things don't always work as advertised, and if you're building a large-scale app, be prepared to dig into the turbine source and do some hacking.
there's also an issue with turbine 2.3's (latest/greatest) choice of build systems. you are required to use maven, a project management tool built on top of ant, and that project is often shakey at best (the product hasn't even hit a 1.0 release, but it's turbine's official build tool). at least turbine 2.2 allows you to use ant.
that said, it's not a bad framework, but you've got to be willing to take the good with the bad. the company's original developers chose it because of the user management features, and we've just stuck with it because we don't have the time to attempt a struts implementation.
What Linux are you running?
RedHat 8 at work, Mandrake 9.2b1 and Mandrake 9.1 at home. I'm sure my digicam _might_ work, but why mess with a good thing (OS X and iPhoto)? Like I said, I've played around with xine and mPlayer with no success. But it's also not been so critical for me to be able to watch video at work (and at home I've got the Mac).
Also, how easy is it to upgrade from 9.1 to 9.2?
I did an upgrade to 9.2b1 pretty easily, so it shouldn't be a problem.
DLL Hell and a no-name audio card with a auto-configured IRQ conflict will make bald men even balder, young women turn into Pug-faced hags, and kids turn inside out spilling their Speghetti-o's all over dad's new desk.
True, but my experiences with Linux have shortened my life by at least ten years. And before you say "oh you're just some n00b that picked up RedHat", let me say I've been using Linux nearly exclusively on my work desktop for three years. Two of my three machines at home also have some distro of Linux installed (the third machine is OS X). When I started new job this year, it took me three days and two sound cards to be able to listen to mp3s. I can't watch a single digital video (regardless of format), and I've spent days hacking with mPlayer, etc. And I don't dare plug by digital camera into one of the Linux machines at home.
Now, this isn't a troll. I use Linux by choice, and for development work and generally desktop stuff, it's great. And I enjoy being able to hack around the machine a bit to get things working. But to think that Linux is ready to displace Windows or OS X on the average user's desktop is wishful thinking.
MOD PARENT UP!!!!
Actually, the first link should really point here.
Because Suse would be defending Linux as a whole e.g. the kernel, which is under attack. It has nothing to do with Red Hat's distro.
Amen. If SCO would somehow be able to pull this off in the States, it certainly wouldn't be a ringing endorsement of Linux, regardless of what the rest of the world thinks of the American legal system. And sure, Suse is a German company, but don't think you think their business plan depends heavily on purchases made in the United States?
Some people are just too lazy to update anything on their machines. I propose that the number one security problem on both lists be changed to "Lazy Users/Sysadmins who never update their systems."
You're comparing apples and oranges. There are plenty of folks who are still surfing the Net on "antiquated" equipment (slow machines, tiny monitors, 4.x browsers), and it's not because they're lazy. Grandparents who check email and maybe read a few websites don't need anything more than Windows 9x machine. And they're probably surfing on a dialup connection (on a less than latest/greatest modem, no less), so downloading IE 6 or Moz or Netscape 6 isn't really a choice. And...running 640x480, 8 bit color isn't a security hole. And running an updated 4.x browser isn't a security hole necessarily. Sure, plenty of sites don't "work" but that's a different issue.
Now, there are plenty of lazy sys admins/users who are running newer hardware/software with a dedicated connection. There is NO REASON why those machine shouldn't be properly patched and updated.
This a most telling quote as most developers have never talked to an actual customer in their entire career.
I agree. Having done freelance work, I've seen plenty of clients that know they most definitely want 'X', but beyond that, they're not sure. Chances are, since they aren't thinking like developers or software architects, they aren't thinking through the ramifications of particular decisions. They could be either overanalyzing a particular use case, or not thinking through it enough. Actually, chances are, they just want a system to "generate this information from this other information, and email to these people, and maybe generate some reports here." They may even have idea what might look pretty on their desktop, but they haven't thought about potential security issues, other uses for the data, etc. As you work through the problem, you'll open new cans of worms for them daily.
I would have to say that pair programming isn't really worth it.
It's certainly not worth it all the time, but there are times when it can boost productivity. Let me first say I've never worked in a pure XP environment, but on several projects we've cut & pasted from XP and used what works well for us.
Pair programming can work well when you're still developing the logic that will drive the application. Why? Because at that point, you're not coding for 8 hours straight. You're coding a bit, running some tests, then tweaking. If you work well with your partner, you've constantly got a sounding board for ideas, and chances are, you'll crack the egg sooner rather than later. Sure, you could both work on the same problem space separately and compare notes at the end of the day, but I think had you been working together, the problem would have been solved much sooner.
Although it's not a pure XP situation, pair programming works quite well when you've been handed someone's else code. While working on a particular project, my group was handed code from the client for a sub-project that they had completed, but were unhappy with (they were not a development shop by trade), so suddenly we were responsible for righting the wrongs. It was VB app (and we were doing web development for them, and we weren't VB specialists), and we gave them a fairly conservative time estimate. The manager wasn't particularly happy to see us working in pairs (didn't seem productive) but we got the sub-project completed well under budget.
My version of pair programming is to have one developer write a test harness while the other one develops the actual code to be tested. This forces each of them to communicate with each other, generally via a very informal spec or direct communication with the client.
I like that idea.
Now there's a brilliant reason to purchase a computer -- that it costs $1.3 million. Odds are likely 100% that you can purchase a superior system from a non-Sun manufacturer for an order of magnitude less now. You basically make Merrill's case for why Sun will be dead in 2 years. The pool of idiots willing to plunk down $1M for a box to serve web pages dried up 2 years ago. Look at how people do it now (i.e., Google, Yahoo, etc.) -- racks and racks of cheap, redundant commodity servers. Where's Sun's answer to that?
There's something to be said for your argument, but having worked for some old-skool manufacturing companies that rely on Solaris to power their MRP systems, they're happy to plunk down the cash because, for the most part, they can trust Sun's service. And these companies don't have IT departments that fly on auto-pilot -- they've got smart sys admins who know their job (and Solaris), but it's still much easier to maintain two or three high-performance Sun boxes than a gaggle of i686s....
And while RDBMSs like Progress (a popular choice for MRP systems) run on GNU/Linux, the folks who really know the system also really know Solaris (or AIX, or some other industrial-strength Unix), so while Sun isn't going to make inroads at companies that are looking to move from tons of MS servers, they've still got a solid foothold in the manufacturing industry.
More useful to the internet denizen would be free online textbooks.
Yes, they would. But, when were you at university last? Textbooks, especially the hardcover types used in the scientific disciplines, aren't cheap. I'm sure there are freely distributable textbooks for the sciences (or any type of course), but that would require the professors agreeing to use these instead of many of the tried and true standards. I'm sure MIT would love to provide copies of the textbook, but they just can't.
Nobody sells GPL code, and therefore anybody who uses it, must use it per the license.
But isn't that what Mandrake, RedHat, and Suse do? I mean, I know they don't actually _sell_ the linux source, they actually _sell_ the services, but still...they're selling linux. I think that even RMS would say that you can actually sell GPL'ed code (of course, I'm not searching his site or the GNU site, so flame me if I'm wrong)...you just have to share it. You can base your business plans on trade secrets/IP in your modified code.
Personally, I don't understand why Linksys/Cisco wouldn't release the code...99.9% of the population isn't going to ditch their Linksys wireless routers to roll their own. Perhaps that .01% may tweak the firmware a bit, or just see how it works, but I can't imagine that Linksys stands to lose anything by releasing the code...
I agree with you completely...but...
There's certainly a group of programmers (most of whom are good programmers) who really truly love what they do, and will work terrible hours because of that love. And I mean programmers who are doing _interesting_ stuff, not just chugging along in the corporate environment. Most of these folks don't really have lives outside of work, and if they do, they are the sorts of lives that can be put on hold for indefinite periods of time. I too lazy to find the link, but there was a story a month or two ago about how the best scientists and researchers are unmarried. Duh! Of course they are. No person can serve two masters, as it were.
That said, I think the Fog Creek offices would be perfect for the average 9-5 programmer. They allow for greater productivity, thus allowing more actual work in an 8 hour day. And these are the type of people that would be more impressed with such a setup. A good programmer who doesn't necessarily want to live in their office would be more likely to join a company with an office like Fog Creek's, rather than just another cube farm somewhere else.
This has been the least interesting thread on the front page for some time....I mean, I'm browsing at +1, and most of the posts are jokes about SCO, Russell's sig, and the name "Rusty."