- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
And in this section of the fine website, our volunteer team of highly knowledgeable meatbots will make insightful comments.
Admin
This comment is a workaround for the bug where "1 Comments" is displayed instead of "1 Comment".
Admin
I don't see the WTF. He has admin, so he can set his IP wherever he wants. Just email the master and let him know his VM's IP is conflicting with another machine. He likely has more important things to do with his time than configuring a machine "the right way", and he probably wants a static IP, so giving him a DHCP address is not nice.
Admin
Admin
The best part of this story was the reminder of IRC.
Admin
The real WTF is naturally to expect veteran experienced developers to be instantly familiar with all aspects of the IT world the very moment it becomes available.
"Master developers" with "years of experience" may not even know that they don't know what they're doing with a particular aspect of a technology -- but have enough of a pragmatic approach to get something working (which is why they have reputations for being "masters").
It's a matter of learning opportunities. Having found that line in the .bashrc file, it is then incumbent upon Alex to communicate to the master developers why that is the wrong thing to do, and what is the right thing to do.
So tell me (I know enough about Linux to be able to hack together bash scripts if I need to, and I have a working knowledge of what the various directories are for, and I know how to use man), why is it wrong to configure a network redirect in the .bashrc file?
No, the real WTF is: "Alex died a little that day". Would it not be a wholly more appropriate response to come down off his know-it-all high horse and understand that not everybody has had the opportunity of an expensive education in computer science in an institution of learning? Some of us pick up our knowledge through on-the-job experience.
Admin
On what machines is that a valid command?
On my machines, it would be
ifconfig eth0 inet <broken IP> netmask 255.255.0.0
Admin
Something very similar actually happened to us not long before. I found that pf was disabled and a default route is added every time I login using SSH. (The machine in question was a freebsd, and pf is one of the firewalls available on BSD platform, like iptables in linux.)
Puzzled to us, and we put some time investigate into it. As last it was found out that some genius put the pf -d and route add command in /etc/environment....
Admin
RedHat Enterprise Linux
Admin
Works for me (Debian Linux)
Admin
Actually it would be valid on most linux machines.
Admin
That's interesting.
Out of habit, I always type in the address family.
I'm still puzzled why the developers would be logging into root.
Admin
Create a ticket to have a static IP assigned to the machine. Wait 3 months for helpdesk to look at it. Try to explain the situation to second tier helpdesk guy who still doesn't know what's going on. Screw it, I'll do it myself.
or alternatively
Code some stuff that has an IP address hard-coded in it. IP changes, panic happens Fix panic now.
Admin
Well, they may need to install some extra packages during development. Granting them root access can some be reasonable. (However I would normally granting them apt-get/yum with sudo only.)
Admin
Well, they may need to install some extra packages during development. Granting them root access can sometimes be reasonable. (However I would normally granting them apt-get/yum with sudo only.)
Admin
Everything you said could be said about just about any post on this website. It normally requires specialized knowledge or experience to understand why something is a WTF. Why is this different from writing inefficient algorithms and unmanageable spaghetti code? Because it isn't your area of expertise?
Admin
"It is typically used to change prompts, set environment variables, and define shell procedures." -- Stack Overflow, DigitalRoss
Tying the network configuration to bash is not nice as it would not execute for korn, zsh, et al.
/etc/init.d/reassign_my_network_to_static_ip might be an option
or you could put an unfriendly cron job that checks and reconfigures.
or you could put a udev rule that changes the network settings when you plug in a thumb drive.
Admin
Having a temporarily unreachable server because its IP changed and its old IP is still in your DNS cache is a completely unacceptable and totally avoidable scenario.
Admin
This is why I hate supporting developers. They thing that because they're good at programming, they're good at everything with a keyboard. Oh, and that they shouldn't be subject to any company policy related to security.
Not all are like this. There are some who appreciate the concept of separate spheres of knowledge. But most? Ya.
Admin
I have worked at a publicly traded company making billions in revenue where the IT department insisted it was impossible to assign static IPs to VMs. Trying to explain was three hours of my life I will never get back, and they had equally stupid "you can't do that" lines about every bleeping thing. Hit that wall a few times and we began habitually working around IT to limit the soul death that was part of any interaction with them. We didn't use Linux so we wouldn't have done this, but we did a few things that were justified by dev. management with the line, "That's stupid, but it isn't as stupid as our IT department." This is one of the joys assigning all IT responsibility to the help desk crew that normally resets locked passwords and helps clueless admin assistants with MS Office.
Of course if department then changed (new employees or whatever), the compensation could outlast the need.
If the author was new in the IT department, (s)he may not have realized the reputation IT had within the broader organization. And the developers may not have realized that new IT people meant that their reason for resorting to kludges was gone.
Admin
Think how wonderful life would be if there weren't any pesky developers filling up our nice shiny hardware with those disgusting applications. Let's just fire the lot and then we will be certain that the servers will continue to run just as efficiently as they did on the day they were bought.
Yep, the real WTF is the company paying the salaries of people whose job it is to build applications to provide a service to customers. Eww.
Admin
Admin
"why is it wrong to configure a network redirect in the .bashrc file?"
Because it is run EVERY TIME the user logs in, and it's NEVER run if the user NEVER logs in. That's what /etc/* scripts are for.
Admin
That is deliciously evil.
Admin
TRWTF would be if Alex explained what was going on the the developers, and why they shouldn't be using that method, only to have the developers give some half-assed, bad-practices-based excuse for why it can't change. Such as having the address hard-coded in other programs that access the VM instead of using a variable to store the IP, where it would be easy to update. Given their title (or possibly label) of "Master developers", they CAN be expected to follow good practices, or at least anticipate things like IP address changes.
Admin
Admin
Your comment makes no sense. No where did hobbes say that all developers should be fired. He made an, in my experience justified, assertion that some developers will assume that their experience as programmers makes them better sysadmins than the actual sysadmins. Also in my experience, this assumption is disastrously false.
It is called separate domains of knowledge. Don't assume that knowledge in one (programming) automatically bestows knowledge in another (sysadmin) just because both involve computers. From what I've seen, programmers are second only to academics in this arrogance.
Admin
In which case you ought to offer some slack to those developers who, in the interest of Getting The Job Done, implement solutions which to you are cringeingly bad, because they are not experts in your field.
The boundary between configuring the application to work in the environment it is placed and performing sysadmin tasks is not well-defined. You frequently find that developers who are uncertain about what they may or may not control are more likely to stray into the area that they are not "supposed" to because (being self-starting, learn-on-the-job, achieve-the-results kind of guys) they find it's often quicker and easier to do the job themselves than rely on an outside agency (to them, internal IT is an outside agency), especially when they know the IT guys consider them with distaste (some even go so far as to call developers "arrogant" in public fora), and are less than likely to make more than a nominal effort to provide the appropriate level of support.
In this situation, the ones of fault are of course the IT guys who haven't configured the appropriate level of authoriations so as to demark the IT tasks to the IT team, leaving the developers to work on the tasks which they have been specifically assigned.
Admin
Actually, generally the developer attitude is less "I have more experience therefore I am a better Sysadmin" and more "I'm smarter, therefore I'm better at finding solutions than the shit-pay IT drone." And, a lot of the time, that attitude is correct. Not necessarily just because the developer is smarter, but because the IT sysadmin often has zero stake or interest in solving the developer's problem.
Admin
The alternate-universe version of myself who has an intimate knowledge of *nix network configuration procedures thought today's WTF was hilarious.
Admin
Devs shouldn't be subject to MOST company policy related to security.
The car-mechanic equivalent would be requiring that all your mechanics use metric wrenches, no matter the car on which they're working.
You can either have effective software developers, who have full control over their local system, or you can have devs who quit for ANY other pastures at the first opportunity.
No one of any decent level of talent wants to work at a company where they're constantly hamstrung by "security."
Especially when a solid 99% of the security at most orgs is a set of utterly ineffective, inefficient, counter-productive 'rules,' rather than real, inexpensive, effective physical security devices.
Admin
CAPTCHA: uxor -- the Vegas Strip Sign Thieves strike again.
Admin
Admin
You'd be arrogant too, if you didn't totally suck.
Admin
Oh, well I don't know much about Linux really, but I thought that the WTF was the /16 network.
Admin
You think those of us with the highfalutin CS degrees earned them by learning about ip configurations and bash scripting?
Admin
Admin
You'd be surprised. I watched over the (figurative) shoulder of a participant in an IT course once, and one of the exercises was "Write a Unix shell script to do an admin-ish sort of function. Then make a menu to run several useful admin-ish sort of functions. Then do the same thing in DOS."
Admin
Admin
"were given root access" != logging into root
I'm not even sure how you would log "into" root... Oo
Admin
Well, it was never my implication that those things were NEVER taught, and certainly never learned in passing, but if Mr. Highhorse there thinks a CS degree is "learn how to configure a server 201" and so on then he's wrong, at least if my university is any guide.
Admin
All of this goes into the category of "To err is human, to really foul things up requires a computer. To make up a WTF, you need just a little knowledge and the privileges to use it."
Life goes on. Just wait until the next major Debian release when they go to systemd. I'm sure there will be LOTS of similar WTFs waiting in the woodwork!
Admin
Watching network admins, developers, and DBAs step on each others feet is both funny and cringe-inducing.
Also, TRWTF is "recieved"
Admin
Between the vice-presidents who think the rules don't apply to them and the developers who think the rules don't apply to them; there is barely anyone left.
PS. You have to "down" the interface first before "up" with a new address, unless you use a sub-interface (but that wasn't shown here, ex: eth0.1) and the proper place is in an rc.local rather than bashrc.
Admin
I think (and this is a guess) that the difference in this WTF and most others on this site is that the "WTF" in question was an error made by someone who was working outside their field of expertise. Most WTF are WTF-y because it's someone (usually a "guru") with supposedly tons of experience coding making basic coding errors. Whereas this is developers who aren't necessarily experts in network admin making a networking error (which is probably why the company hired some networking guys?) Alternatively, it could have been a WTF if "Alex" had then confronted the dev about the mistake only to have the dev give him some ridiculous justification for why he wanted it that way.
Basically, it's funny when people who should know better make mistakes - but when people who have no reason to know better make mistakes would it not be better to help them learn instead of sighing and chalking it up to ineptitude?
Admin
CS != IT.
Admin
The OS is going to choose one interface for the default route, because There Can Only Be One. In a sane OS, the wired interface will have priority over the wireless interface. (This is the default in OS X, but you can drag the interfaces up and down in a list to change the priority.)
So what happens is that when the wired is plugged in, you get full speed GigE, but when it is disconnected, the network stack automatically fails over to the wireless interface. Since they both have the same address (and this is the good part) existing network connections continue to work.
I have been doing this on my home network for years. The fail-over is fast enough that I don't notice it, even when I'm trying to notice it. In the past, sometimes it wouldn't switch over when I plugged in the wired, and I had to turn the wireless off and back on, but that hasn't happened since 10.6.
Admin
And the proper place to do network configuration is to use your distro tools.
Admin
I used to do just that at work. I would use the super fast ethernet for most things, but I had to use a slow, public wifi connection to access my email through thunderbird. For some reason, that wasn't allowed on the wired connection even though we could access almost anything else online.
Admin
Well I can think of a number of ways, here's 5 off the top of my head:
All of those are valid - in my environments most of them won't work, but some of them will because there are some reasons some people need to login and execute bash as root's login shell.