Zed fired off an angry post yesterday after noticing he was slashdotted. It looks like some sort of retaliation swing for the onslaught of pissed off programmers gunning for Zed. http://zedshaw.com/blog/2010-01-09.html
My first thought was is Zed on some heavy duty medication? He seriously has some sort of anger problem going on and a deep seeded hatred toward his idealized concept of the "programmer". Maybe a programmer made him feel bad so now he's got a vendetta. Programmers surely can be dicks. I know because I work with them, but Zed is coming off like a dick programmer times 1000. (I chose 1000 because it's a power of 10.)
If he wants programmers to listen to him and actually change their ways, why doesn't he go with the educator approach instead of going with the approach of flame the world, stomp my feet, and call everyone stupid until they pay attention to me? The best way to get someone to ignore everything you say is to call them an idiot jackass who can't remember anything after 2 minutes. They will kindly oblige by living up to your expectation.
This Zed character may be good at some things like stats but he's damned awful at communication and demonstrating tact. I wonder if he behaves this way on the job, because I would not want to work with such a caustic person. Maybe at work he keeps the anger under wraps and behaves like a great guy, but if I were his coworker I'd lose all respect for him after reading those 2 posts.
Basically, many programmers feel that everybody else around him(or her) is a stupid asshole
That's one of the reasons working in IT is not all that satisfying. Many problems have multiple solutions which for the most part are equivalent in function but vary on what they're attempting to optimize for (* see below) yet developers seem to latch onto the solution they thought of and become down right rude and nasty when evaluating a teammate's solution. When every developer assumes he is the smartest of the bunch and all others are morons it fosters an environment where everyone is unwilling to compromise and a 3rd person usually has to step in to break the tie. That leads to a hostile work place where thought battles frequently occur. Losing a battle causes a teammate to become afraid of undue criticism in the future, so the next time around they over engineer the code trying to cover all bases. This leads to large systems that solve fairly simple problems with overly complex implementations. After a few cycles of this, the software is unmanageable, which becomes evidence proving to the developer that his teammates and ones who came before are idiots with no clue, and now it is up to that lone hot shot to bitch about fixing the mess, which of course is accompanied with many nasty critiques and insinuations.
I am a developer with a fairly open mind and I strive to eliminate ego from the workplace by staying on the positive, helpful side, but honestly I'm getting sick of working with people who don't try to do the same.
* Example, solutions can be optimized to target maintainability, readability, CPU/IO performance, availability, reliability, correctness/precision, recovery, automation, reduction of complexity, extensibility, cross platform, resilience to change, parallelism, security, partitioning, modularization, popular design idioms. The list is nearly endless.
I suppose there's always the alternative option of disrupting everyone's flight plans to reroute the plane and land at the nearest airport dropping off the convulsing sick patron triggered by the adjacent patron who refused to stop chomping down bag after bag of peanuts.
People with cracked keys wouldn't be playing online?
Uhh.. do you realize what you just asked? bnetd is what enabled those banned users to play online and yet you expected Blizzard to block those users in a round-about way to lending out its key authentication to bnetd? Are you people insane? Seriously. Come on.
which sounds to me like an admission that Blizzard's anti-piracy scheme had already failed.
Cracking a key algorithm is binary; it's either cracked or not cracked, but the application of the crack is not binary. There are levels between success and failure. You could post the key generator on half the web yet the majority of users would not still not use it. Is the anti-piracy scheme success? No. Is it failure? No. It's somewhere in between.
Blizzard could have provided a simple TCP/IP-based API for them to call to verify a key. Then Blizzard could keep all the details secret, and the bnetd folks could still build in key verification.
And.. what would Blizzard have gotten out that equation? Other than willingly bending over to the next random Joe off the street and giving up piece of control to a software base they spent millions on development.
Asking for something with nothing in exchange gets you no where. It's indicative of a whiny, self-centered mindset that expects (more accurately demands) items, access to other items, attention, and respect for nothing.
As I understand it, the bnetd developers contacted Blizzard to ask how to verify CD keys, and when Blizzard refused to cooperate, the bnetd developers continued without the feature.
If that were true, then the bnetd devs were essentially asking for details on the CD key creation algorithm. In order to validate a CD key derived from a 1-way hash, you need the creation algorithm. In order to validate a CD key derived from 2-way encryption, you would need only the decryption algorithm but providing that is a big help for brute force cracking of the encryption algorithm. With either type of CD key, you'd be defeating your own anti-piracy scheme. I side with Blizzard on that decision.
Is my situation unique or is it common across the industry?
Not unique but not extremely common. Your team is clearly broken and your management isn't being measured against stated goals therefore your teammates are not measured by against their sub-goals. I presume the group is failing to record and reiterate--on a daily basis--the tasks identified to accomplish them. What you need is to adopt a system that surfaces who is working on what, what the volume of work is, and how much time is required. In our group, we use scrum to manage that. You can use something else but your team should be using something as opposed to nothing and allowing chaos to reign.
Scrum is not perfect and occasionally it can be annoying (such as after having a bad day and not having progress to show), but it's simple and incurs a relatively low overhead demand on bookkeeping. We use it because it helps everyone stay informed of the bigger picture by what user stories we're working on. It gives us a visual feel of how much work there is to do, helps enforce who is working on what, and shows our progress within the sprint at a daily resolution. It also helps develop a log of milestones, and improves individual productivity because it strongly emphasizes priorities first and makes it obvious who's getting things done, who's spinning their wheels on difficult problems, and who's blocked by teammate or external dependencies.
More importantly, it's designed for sculpting a team that self-organizes and self-manages. Since your team's management is weak, pushing for self-organization is important. You will need buy-in at many levels, but you may find if you write a proposal with your recommendation and argue why it's needed, you might flesh out supporters who needed prodding.
Doing this will show initiative and motivation. You will stand out amongst your more experienced but lazy teammates. A good developer provides well written recommendations that identifies a particular problem, argues why it is a problem, enumerates a list of solutions, and finishes by selecting one of them. Unless your recommendation is ridiculous, issuing it should give you a boost by showing you have leadership skills. Management not recognizing that would truly indicate a broken team.
Scrum is not likely to be done well unless someone on the team goes through the training, so if I were you I would recommend the team experiment with selecting and using a software development model (Agile/Scrum/XP/RUP/etc). Shipping a few developers off for training, or bringing in a trainer for a few days would be a good idea.
Give it a year. If in the end you cannot cause change, then log it as a learning experience and move on. Use what you saw to identify the same symptoms during your next job search.
Being the 'new guy,' I get stuck with much of the weekend and after-hours grunt work when we inevitably miss deadlines or produce poor code
The new guy always tends to get stuck with the less interesting or maintenance work. That's expected because you haven't proven your value or had a chance to build relationships. It can take time to learn the system before taking on high profile tasks, but it's absolutely unacceptable if they expect you to work more hours than they work. If you're pulling weekends and they aren't then that's an abusive situation. Part of getting ahead is showing leadership and drive, but the other part is knowing how to play the defensive game by proving due diligence on your part and pushing back when required.
Oh, and working the odd late night or weekend can, in the right situation, do your career a power of good. Try not to make it a habit, but a willingness to do so when actually required will usually be noticed.
I find what you describe is the baseline because that's what anyone of substance does so there's no karma boost from staying up late on Saturday night fixing some bug. Suspicion is roused when one fails, refuses, or complains about working the odd late night or weekend. The team's top performer sets the reference point for performance evaluation so any significant deviation below that becomes noticed.
That's the better model in that it has Wifi. There is a R3600 Atom 330 dual core 2GB/320GB model with Linux available in the US, but it's $380-400.
It's still nice having a legit license to Windows though, however having Linux preinstalled would have been easier. It was a real bitch getting Ubuntu installed natively on that box. (A Linux inside XP setup was unacceptable.) Maybe a different distro or USB stick would have worked better? The Windows "burn" utilities (pendrive, etc) failed to format a bootable USB stick and when they did the machine hung on boot. I ended up stealing batch scripts for building Ubuntu8 USB, extract the 9.10.iso, copy files over, D/L and copy over a recent ISOLINUX, and then edit sysconfig. Worked great after that and I learned how the boot stuff works.
Continuing the I bought XYZ at Best Buy thread. I bought the $199 Acer nettop and slapped Ubuntu on it for a little dev workstation. (My old ones crapped out plus they were very old machines.) I wonder which trumps: noob cred for buying at best buy, geek cred on repurposing with Linux, noob cred for going with the cutsy nettop. Hmmm.
I like it. It works nice and it came with keyboard and mouse. It's not a very fast machine but the GUI is peppy, although the disk not the fastest. Instead of a recover CD, it comes with a partition containing the OS restore so I can return to factory state (Windows XP Home) if I wanted to give it away. The bonus is it's awfully cute. I can also let it run 24x7 with little guilt over power consumption. Running a dev desktop drawing 300-500 watts to run mostly idle services doesn't make a lot of sense. Overall it's a much better option over running something like the Sheeva plug or work-a-likes because it's a real PC with lots of USB ports, SD card port, VGA & HDMI output, and an e-Sata port.
Also, on the reviews the biggest complaint about it was that it's single core, but 2 cores still show up on/proc/cpuinfo because of hyperthreading.
This isn't even a bug in software design -- it's simple physics. Darker skin = less contrast = software has a harder time seeing him.
Watch the video again. Clearly there is MORE contrast between the background and the black guy than with the white woman because the background in that video is the light colored ceiling.
You have a low user id, and your journal consists of complaining about slashdot moderation. I'm guessing you're old, having moved from coding long ago to managing a team, and
Having a low or high user id is meaningless when it comes to indicating age or experience. One could have joined in 1998 at age 15 and now they are 27. One could have been a reader for ages and signed up late.
Further, being born with a huge head is hard on female. With out C-sections, how would a woman survive? Maybe they procreated with homo sapians and lost the genetic destinction.
First, a newborn's head is soft and pliable. The skull is essentially cartilage for the first couple months. Second, humans grow at different rates therefore it's reasonable to expect different growth rates. Their newborns could have been born very small but grew faster or over a longer duration. For example, kangaroo's give birth to very tiny fetuses yet they grow to almost human height.
In short, if you're interested in starting a business, you can't compete with WalMart OR Amazon.
Amazon Marketplace. Any sized business is free toopen an Amazon merchant account and setup shop inside the website. Their products show up on Amazon search and the ordering system is fully managed by Amazon. The merchants need only pull the list every day and ship out the orders. Amazon has enabled more small merchants than Walmart has destroyed.
I don't think you have a point. The original topic was about Amazon having an unfair advantage, but your posts are increasingly meandering and filled with conjecture. I told you Amazon builds out fulfillment centers, stocks them with merchandise, and ships directly from the centers. What more can I say about that? Theorizing about what Amazon does or could do with on-demand shipping direct from the manufacturer is pointless. The product still has to be shipped from a manufacturer to a customer, which means collecting shipping costs: separately or adding it to the item price. It's paid by the customer in either case. My point is both Amazon and brick & mortar stores have equalizing factors: Amazon incurs extra shipping costs and delivery waits, physical stores charge sales tax and deal with theft by customers.
You seem to be unusually focused on "middle man" brokers and have a negative opinion of them. Your comments portray Amazon as one of those brokers that greedily skims off the sale price but offers no value. I don't know where you got that concept from, but consider a common grocery store is a middle man that also skims money off the sale price. It doesn't matter how Amazon gets the product to you or the route it travels, because it's just another marketplace just like the grocery store. They catalog and gather products from a variety of sources and make them available in one location for customers. That carries enormous value. I'm not understanding why you don't recognize that.
There is no requirement that Amazon, or any other online store actually stock anything in their own warehouse(s). What was the postmark on your last several Amazon packages? "Shipping" to an Amazon warehouse may or may not be a matter of driving a forklift across an alley. I don't know how Amazon works, and maybe they DO have between 4 and 40 central warehouses scattered around the nation, and all their goods actually pass through their own warehouses.
There are 53 Amazon fulfillment centers which stock real merchandise. That merchandise is delivered to the centers by shipping trucks from manufacturers. How do I know? I'm not assuming anything; I've been to one. I've talked to people who make it happen.
I'm not assuming anything, though. It may all be done electronically. So much for "shipping" - YOU pay for it.
And, how does one go about electronically packaging and shipping a product out of thin air?
Zed fired off an angry post yesterday after noticing he was slashdotted. It looks like some sort of retaliation swing for the onslaught of pissed off programmers gunning for Zed. http://zedshaw.com/blog/2010-01-09.html
My first thought was is Zed on some heavy duty medication? He seriously has some sort of anger problem going on and a deep seeded hatred toward his idealized concept of the "programmer". Maybe a programmer made him feel bad so now he's got a vendetta. Programmers surely can be dicks. I know because I work with them, but Zed is coming off like a dick programmer times 1000. (I chose 1000 because it's a power of 10.)
If he wants programmers to listen to him and actually change their ways, why doesn't he go with the educator approach instead of going with the approach of flame the world, stomp my feet, and call everyone stupid until they pay attention to me? The best way to get someone to ignore everything you say is to call them an idiot jackass who can't remember anything after 2 minutes. They will kindly oblige by living up to your expectation.
This Zed character may be good at some things like stats but he's damned awful at communication and demonstrating tact. I wonder if he behaves this way on the job, because I would not want to work with such a caustic person. Maybe at work he keeps the anger under wraps and behaves like a great guy, but if I were his coworker I'd lose all respect for him after reading those 2 posts.
That's one of the reasons working in IT is not all that satisfying. Many problems have multiple solutions which for the most part are equivalent in function but vary on what they're attempting to optimize for (* see below) yet developers seem to latch onto the solution they thought of and become down right rude and nasty when evaluating a teammate's solution. When every developer assumes he is the smartest of the bunch and all others are morons it fosters an environment where everyone is unwilling to compromise and a 3rd person usually has to step in to break the tie. That leads to a hostile work place where thought battles frequently occur. Losing a battle causes a teammate to become afraid of undue criticism in the future, so the next time around they over engineer the code trying to cover all bases. This leads to large systems that solve fairly simple problems with overly complex implementations. After a few cycles of this, the software is unmanageable, which becomes evidence proving to the developer that his teammates and ones who came before are idiots with no clue, and now it is up to that lone hot shot to bitch about fixing the mess, which of course is accompanied with many nasty critiques and insinuations.
I am a developer with a fairly open mind and I strive to eliminate ego from the workplace by staying on the positive, helpful side, but honestly I'm getting sick of working with people who don't try to do the same.
* Example, solutions can be optimized to target maintainability, readability, CPU/IO performance, availability, reliability, correctness/precision, recovery, automation, reduction of complexity, extensibility, cross platform, resilience to change, parallelism, security, partitioning, modularization, popular design idioms. The list is nearly endless.
wtf
They're obligated not to smoke. Why not ban second hand peanut oder?
I suppose there's always the alternative option of disrupting everyone's flight plans to reroute the plane and land at the nearest airport dropping off the convulsing sick patron triggered by the adjacent patron who refused to stop chomping down bag after bag of peanuts.
It's called business class.
<xmlnazi>You have a syntax error. Missing a start tag there.</xmlnazi>
You have no clue.
...not Dan Bunten. She made it clear.
Uhh.. do you realize what you just asked? bnetd is what enabled those banned users to play online and yet you expected Blizzard to block those users in a round-about way to lending out its key authentication to bnetd? Are you people insane? Seriously. Come on.
Cracking a key algorithm is binary; it's either cracked or not cracked, but the application of the crack is not binary. There are levels between success and failure. You could post the key generator on half the web yet the majority of users would not still not use it. Is the anti-piracy scheme success? No. Is it failure? No. It's somewhere in between.
And.. what would Blizzard have gotten out that equation? Other than willingly bending over to the next random Joe off the street and giving up piece of control to a software base they spent millions on development.
Asking for something with nothing in exchange gets you no where. It's indicative of a whiny, self-centered mindset that expects (more accurately demands) items, access to other items, attention, and respect for nothing.
If that were true, then the bnetd devs were essentially asking for details on the CD key creation algorithm. In order to validate a CD key derived from a 1-way hash, you need the creation algorithm. In order to validate a CD key derived from 2-way encryption, you would need only the decryption algorithm but providing that is a big help for brute force cracking of the encryption algorithm. With either type of CD key, you'd be defeating your own anti-piracy scheme. I side with Blizzard on that decision.
Not unique but not extremely common. Your team is clearly broken and your management isn't being measured against stated goals therefore your teammates are not measured by against their sub-goals. I presume the group is failing to record and reiterate--on a daily basis--the tasks identified to accomplish them. What you need is to adopt a system that surfaces who is working on what, what the volume of work is, and how much time is required. In our group, we use scrum to manage that. You can use something else but your team should be using something as opposed to nothing and allowing chaos to reign.
Scrum is not perfect and occasionally it can be annoying (such as after having a bad day and not having progress to show), but it's simple and incurs a relatively low overhead demand on bookkeeping. We use it because it helps everyone stay informed of the bigger picture by what user stories we're working on. It gives us a visual feel of how much work there is to do, helps enforce who is working on what, and shows our progress within the sprint at a daily resolution. It also helps develop a log of milestones, and improves individual productivity because it strongly emphasizes priorities first and makes it obvious who's getting things done, who's spinning their wheels on difficult problems, and who's blocked by teammate or external dependencies.
More importantly, it's designed for sculpting a team that self-organizes and self-manages. Since your team's management is weak, pushing for self-organization is important. You will need buy-in at many levels, but you may find if you write a proposal with your recommendation and argue why it's needed, you might flesh out supporters who needed prodding.
Doing this will show initiative and motivation. You will stand out amongst your more experienced but lazy teammates. A good developer provides well written recommendations that identifies a particular problem, argues why it is a problem, enumerates a list of solutions, and finishes by selecting one of them. Unless your recommendation is ridiculous, issuing it should give you a boost by showing you have leadership skills. Management not recognizing that would truly indicate a broken team.
Scrum is not likely to be done well unless someone on the team goes through the training, so if I were you I would recommend the team experiment with selecting and using a software development model (Agile/Scrum/XP/RUP/etc). Shipping a few developers off for training, or bringing in a trainer for a few days would be a good idea.
Give it a year. If in the end you cannot cause change, then log it as a learning experience and move on. Use what you saw to identify the same symptoms during your next job search.
The new guy always tends to get stuck with the less interesting or maintenance work. That's expected because you haven't proven your value or had a chance to build relationships. It can take time to learn the system before taking on high profile tasks, but it's absolutely unacceptable if they expect you to work more hours than they work. If you're pulling weekends and they aren't then that's an abusive situation. Part of getting ahead is showing leadership and drive, but the other part is knowing how to play the defensive game by proving due diligence on your part and pushing back when required.
I find what you describe is the baseline because that's what anyone of substance does so there's no karma boost from staying up late on Saturday night fixing some bug. Suspicion is roused when one fails, refuses, or complains about working the odd late night or weekend. The team's top performer sets the reference point for performance evaluation so any significant deviation below that becomes noticed.
If you're a minority, you run from the police. The probability of survival is higher.
That's the better model in that it has Wifi. There is a R3600 Atom 330 dual core 2GB/320GB model with Linux available in the US, but it's $380-400.
It's still nice having a legit license to Windows though, however having Linux preinstalled would have been easier. It was a real bitch getting Ubuntu installed natively on that box. (A Linux inside XP setup was unacceptable.) Maybe a different distro or USB stick would have worked better? The Windows "burn" utilities (pendrive, etc) failed to format a bootable USB stick and when they did the machine hung on boot. I ended up stealing batch scripts for building Ubuntu8 USB, extract the 9.10 .iso, copy files over, D/L and copy over a recent ISOLINUX, and then edit sysconfig. Worked great after that and I learned how the boot stuff works.
You're right. I didn't consider actual versus maximal. However. The nettop will still draw very little power by comparison. ;D
Continuing the I bought XYZ at Best Buy thread. I bought the $199 Acer nettop and slapped Ubuntu on it for a little dev workstation. (My old ones crapped out plus they were very old machines.) I wonder which trumps: noob cred for buying at best buy, geek cred on repurposing with Linux, noob cred for going with the cutsy nettop. Hmmm.
I like it. It works nice and it came with keyboard and mouse. It's not a very fast machine but the GUI is peppy, although the disk not the fastest. Instead of a recover CD, it comes with a partition containing the OS restore so I can return to factory state (Windows XP Home) if I wanted to give it away. The bonus is it's awfully cute. I can also let it run 24x7 with little guilt over power consumption. Running a dev desktop drawing 300-500 watts to run mostly idle services doesn't make a lot of sense. Overall it's a much better option over running something like the Sheeva plug or work-a-likes because it's a real PC with lots of USB ports, SD card port, VGA & HDMI output, and an e-Sata port.
Also, on the reviews the biggest complaint about it was that it's single core, but 2 cores still show up on /proc/cpuinfo because of hyperthreading.
Watch the video again. Clearly there is MORE contrast between the background and the black guy than with the white woman because the background in that video is the light colored ceiling.
Having a low or high user id is meaningless when it comes to indicating age or experience. One could have joined in 1998 at age 15 and now they are 27. One could have been a reader for ages and signed up late.
First, a newborn's head is soft and pliable. The skull is essentially cartilage for the first couple months. Second, humans grow at different rates therefore it's reasonable to expect different growth rates. Their newborns could have been born very small but grew faster or over a longer duration. For example, kangaroo's give birth to very tiny fetuses yet they grow to almost human height.
Amazon Marketplace. Any sized business is free toopen an Amazon merchant account and setup shop inside the website. Their products show up on Amazon search and the ordering system is fully managed by Amazon. The merchants need only pull the list every day and ship out the orders. Amazon has enabled more small merchants than Walmart has destroyed.
I don't think you have a point. The original topic was about Amazon having an unfair advantage, but your posts are increasingly meandering and filled with conjecture. I told you Amazon builds out fulfillment centers, stocks them with merchandise, and ships directly from the centers. What more can I say about that? Theorizing about what Amazon does or could do with on-demand shipping direct from the manufacturer is pointless. The product still has to be shipped from a manufacturer to a customer, which means collecting shipping costs: separately or adding it to the item price. It's paid by the customer in either case. My point is both Amazon and brick & mortar stores have equalizing factors: Amazon incurs extra shipping costs and delivery waits, physical stores charge sales tax and deal with theft by customers.
You seem to be unusually focused on "middle man" brokers and have a negative opinion of them. Your comments portray Amazon as one of those brokers that greedily skims off the sale price but offers no value. I don't know where you got that concept from, but consider a common grocery store is a middle man that also skims money off the sale price. It doesn't matter how Amazon gets the product to you or the route it travels, because it's just another marketplace just like the grocery store. They catalog and gather products from a variety of sources and make them available in one location for customers. That carries enormous value. I'm not understanding why you don't recognize that.
Yes. I am sure.
There are 53 Amazon fulfillment centers which stock real merchandise. That merchandise is delivered to the centers by shipping trucks from manufacturers. How do I know? I'm not assuming anything; I've been to one. I've talked to people who make it happen.
And, how does one go about electronically packaging and shipping a product out of thin air?