Short trip from computer geek to bike geek
on
Geeks and Weight-loss?
·
· Score: 2, Interesting
I found it was a short trip from being a computer geek to being a bike geek. I got a bike as an adult because I couldn't afford parking on campus in grad school. Once I discovered that grad school was a pointless waste of time, I still had the bike, and found it was a great way to blow off steam. I also find bugs and get great ideas when I'm out riding and supposedly not thinking about computers. When conditions made commuting possible, I'd commute by bike, otherwise I'd try to get in a half hour or so of riding three or four times a week. After a short while, you get used to whatever level you put in, and get cranky if you miss it.
For years, though, I refused to become a bike geek, even though I rode regularly. I'd even take flat tires to the shop.
Eventually, I stopped fighting the urge to become a bike geek. So now, in addition to my software job, I have a weekend job in a bike shop, and I do more riding than ever. Like many computer geeks, I was never very athletic in high school, but now I've gotten into racing. Here in the SF Bay Area, there seem to be many techies who have found bike racing to be a hobby to start in their 30s.
There are plenty of things to geek out about in cycling: many numbers for measuring fitness, many ways to measure rides, all the dietary advice you've seen so far. And that doesn't even get into the bikes and all the tweaks you can make. I think anybody who enjoys programming would like building a wheel, turning a tangled web of spokes into a functional device with just the right amount of tension.
The PMA-5 actually has 28 voices, and has MIDI ports of its own as well as a serial port that connects it and allows it to serve as a MIDI interface for a Mac or a PC with no additional hardware.
It has a phrase-based sequencer, which is useful for songwriting and getting a groove recorded on the go. The bass, drum, and guitar sounds are awesome as you would expect from Roland equipment designed as a backing unit (literally a band in a box) and songwriting tool. The other sounds are good, but if you want a great sounding sax, you're supposed to learn how to play a real one and have the PMA-5 'comp. It has a blinking LED to help you keep the beat and a start/stop switch input so you can get it going with a foot pedal. It has a touch screen that's well done.
It also works fine as a GM/GS sound module.
It does suck up the batteries. It can go through 6 AAs in 12 hours. It's not backlit like the newer Palms. Also, airline employees have no idea what it is, but it's fun to demo to them (but not during takeoff and landing, where it must be shut off!).
Yamaha has a competitive product. The only advantage I see to the Palm solution is that you could program it to do manipulation of MIDI events, but I think Roland has thoughtfully designed the PMA-5 to meet the needs of mobile musicians, most of whom are not going to write programs, but catch little bits of grooves, melodies, and chord progressions on the road.
Question: For similar levels of complexity, why do software systems typically exhibit many more bugs than (digital) hardware systems?
I seem to recall that when I graduated with about 70 other CS majors, there were also 270 EE majors in my class. Living in Silicon Valley, I seem to know ten times the number of software engineers as I do hardware engineers--and there seem to be many more software companies.
I don't mean to say that a college degree in CS is the only possible qualification for programming, but:
the shortage of software engineers and high starting salaries has attracted less qualified (and interested) workers to software than to hardware
there are no qualifications needed to get a programming job, and no certification or credentials you could get even if you wanted to--at least EE's can get PE certification
many programmers lack not just credentials, but any training of any type in software engineering, or even two-week courses in the programming languages they use
demand will continue to outstrip supply of qualified people for a long time
I don't know any hardware engineers who got into the field by accident, but I know plenty of bright people who have ended up programming because it was the best-paying option available. They might like to get more training or education in the field, but no employers will pay for it, and nobody will really care when they look for their next job anyway.
Number one programming job interview question: name a product you have shipped. It doesn't matter if said product was buggy, unprofitable, or if the team that created it was homicidal at the end--shipping is what counts.
This move is breathtaking innovation! Bill Gates is some kind of genius. The only thing wrong with the common person's idea is that they think he's a genius in software instead of in disingenuous and anti-competitive business practices.
Dear Senator or Representative (personalized for each recipient):
I am writing at the invitation of Microsoft to express my opinion on their anti-trust trial.
I most certainly expect the anti-trust laws and other regulations that apply across the economy to all industries would be applied to an industry as large and important as the software industry. As a software professional, I found Microsoft's arguments insulting--to my intelligence and to Judge Jackson's.
Clearly, they tied their browser into the operating system to make it impossible for Netscape and others to compete. If it were not a separate component, how could they produce the identical product for the Macintosh, where they have no control over the operating system?
Clearly, they have monopoly power over the manufacturers of Intel-based PCs. It is only because of the previous consent decree and the publicity generated by this trial that PC manufacturers have been able to start distributing new PC's with other operating systems like Linux. The government's pursuit of this trial has allowed Microsoft's customers and competitors to go after new businesses and technologies free from the threat of reprisal.
Microsoft wants freedom to innovate. Copying a competitor's software product and using your monopoly over the operating system to ensure free distribution of the copy is not innovation. It's anti-competitive and unfair. True innovation comes about when the basic rules of fair commerce are respected and enforced. Microsoft's lack of respect for the law and its officers is an embarassment to the entire industry.
Am I the only person tired of statements like Adami's (paraphrased) that "writing robust computer programs is nearly impossible"? I'm sure PC users believe this from experience, but there is robust software in the world. Statements like this just lower everybody's expectations for software quality, and make software engineers out to be ineffective and incompetent.
Another danger is that Internet hype is sucking money and attention away from other problems we could be solving.
The San Jose Mercury News ran an article last month profiling the shift in venture capital away from medicine and health care and into Internet companies. An investment in a biotech company might take years to pay off, but the Internet is a get rich quick scheme. Drugs and devices to save lives and ease suffering are being put on hold so we can auction Beanie Babies at faster speeds.
Here in Silicon Valley, people are quitting other jobs to do Internet-related things. Talent as well as money is being drawn away from other real problems. People are chasing the chance at being another Yahoo! instead of solving real problems. It is widely regarded as a virtue for an Internet company to have no idea how it will ever provide a product or service that someone might find useful enough to pay money for.
And when the Internet stocks crash, it will mainly be young people who are hurt since they disproportionately own these stocks and they represent a greater portion of their portfolio.
Re:We can't be managed. Let us be and we'll do fin
on
How to Manage Geeks?
·
· Score: 1
I think it's time that we geeks recognize that managers and other outsiders expect answers to the question "How are things going?" I think it's also time to recognize that putting the GUI last means that it has to be changed over and over again. Maybe now that our family members are getting computers, we might feel just a little bit of compassion for people who don't understand how programs are constructed and realize that the kinds of GUIs that get bolted on at the end don't make any sense to them.
Two suggestions:
(1) Build the program around the problems the user has and is trying to accomplish, instead of what we think would be a cool problem to solve or the easiest way to throw something together. This usually means drawing up what the program is going to look like from the outside first. Managers can understand this. Then you say, "this is what we're building." Then you get to make the big fuss in the meeting whining about sign-off and procedures when the recent marketing graduate wants to move the OK button. It's a lot harder for people to argue for changes when they've seen an actual picture of something that would have to be changed.
(2) Use the user's view picture to explain progress to management. Draw other pictures if necessary. We know that managers think anything presented in PowerPoint on an LCD projector is true and authoritative. Humor them. "See this little box that says 'database'? That's what we finished this week. See this web page with the colorful 'Buy Now' button? That's next." Then next week you tell them how that's finished. That's all they want.
And while it's true that lines of code and CPU time aren't good ways to measure progress, too many programmers are afraid of marking milestones and living up to valid measures of progress. I'm tired of working with deluded people who have no idea how far along they are and who think that just one more 70 hour week will solve everything. I'm also sick of debugging and trying to figure out code people wrote when they were too tired or wired to even drive.
I found it was a short trip from being a computer geek to being a bike geek. I got a bike as an adult because I couldn't afford parking on campus in grad school. Once I discovered that grad school was a pointless waste of time, I still had the bike, and found it was a great way to blow off steam. I also find bugs and get great ideas when I'm out riding and supposedly not thinking about computers. When conditions made commuting possible, I'd commute by bike, otherwise I'd try to get in a half hour or so of riding three or four times a week. After a short while, you get used to whatever level you put in, and get cranky if you miss it.
For years, though, I refused to become a bike geek, even though I rode regularly. I'd even take flat tires to the shop.
Eventually, I stopped fighting the urge to become a bike geek. So now, in addition to my software job, I have a weekend job in a bike shop, and I do more riding than ever. Like many computer geeks, I was never very athletic in high school, but now I've gotten into racing. Here in the SF Bay Area, there seem to be many techies who have found bike racing to be a hobby to start in their 30s.
There are plenty of things to geek out about in cycling: many numbers for measuring fitness, many ways to measure rides, all the dietary advice you've seen so far. And that doesn't even get into the bikes and all the tweaks you can make. I think anybody who enjoys programming would like building a wheel, turning a tangled web of spokes into a functional device with just the right amount of tension.
The PMA-5 actually has 28 voices, and has MIDI ports of its own as well as a serial port that connects it and allows it to serve as a MIDI interface for a Mac or a PC with no additional hardware.
It has a phrase-based sequencer, which is useful for songwriting and getting a groove recorded on the go. The bass, drum, and guitar sounds are awesome as you would expect from Roland equipment designed as a backing unit (literally a band in a box) and songwriting tool. The other sounds are good, but if you want a great sounding sax, you're supposed to learn how to play a real one and have the PMA-5 'comp. It has a blinking LED to help you keep the beat and a start/stop switch input so you can get it going with a foot pedal. It has a touch screen that's well done.
It also works fine as a GM/GS sound module.
It does suck up the batteries. It can go through 6 AAs in 12 hours. It's not backlit like the newer Palms. Also, airline employees have no idea what it is, but it's fun to demo to them (but not during takeoff and landing, where it must be shut off!).
Yamaha has a competitive product. The only advantage I see to the Palm solution is that you could program it to do manipulation of MIDI events, but I think Roland has thoughtfully designed the PMA-5 to meet the needs of mobile musicians, most of whom are not going to write programs, but catch little bits of grooves, melodies, and chord progressions on the road.
I seem to recall that when I graduated with about 70 other CS majors, there were also 270 EE majors in my class. Living in Silicon Valley, I seem to know ten times the number of software engineers as I do hardware engineers--and there seem to be many more software companies.
I don't mean to say that a college degree in CS is the only possible qualification for programming, but:
- the shortage of software engineers and high starting salaries has attracted less qualified (and interested) workers to software than to hardware
- there are no qualifications needed to get a programming job, and no certification or credentials you could get even if you wanted to--at least EE's can get PE certification
- many programmers lack not just credentials, but any training of any type in software engineering, or even two-week courses in the programming languages they use
- demand will continue to outstrip supply of qualified people for a long time
I don't know any hardware engineers who got into the field by accident, but I know plenty of bright people who have ended up programming because it was the best-paying option available. They might like to get more training or education in the field, but no employers will pay for it, and nobody will really care when they look for their next job anyway.Number one programming job interview question: name a product you have shipped. It doesn't matter if said product was buggy, unprofitable, or if the team that created it was homicidal at the end--shipping is what counts.
This move is breathtaking innovation! Bill Gates is some kind of genius. The only thing wrong with the common person's idea is that they think he's a genius in software instead of in disingenuous and anti-competitive business practices.
Dear Senator or Representative (personalized for each recipient):
I am writing at the invitation of Microsoft to express my opinion on their anti-trust trial.
I most certainly expect the anti-trust laws and other regulations that apply across the economy to all industries would be applied to an industry as large and important as the software industry. As a software professional, I found Microsoft's arguments insulting--to my intelligence and to Judge Jackson's.
Clearly, they tied their browser into the operating system to make it impossible for Netscape and others to compete. If it were not a separate component, how could they produce the identical product for the Macintosh, where they have no control over the operating system?
Clearly, they have monopoly power over the manufacturers of Intel-based PCs. It is only because of the previous consent decree and the publicity generated by this trial that PC manufacturers have been able to start distributing new PC's with other operating systems like Linux. The government's pursuit of this trial has allowed Microsoft's customers and competitors to go after new businesses and technologies free from the threat of reprisal.
Microsoft wants freedom to innovate. Copying a competitor's software product and using your monopoly over the operating system to ensure free distribution of the copy is not innovation. It's anti-competitive and unfair. True innovation comes about when the basic rules of fair commerce are respected and enforced. Microsoft's lack of respect for the law and its officers is an embarassment to the entire industry.
Am I the only person tired of statements like Adami's (paraphrased) that "writing robust computer programs is nearly impossible"? I'm sure PC users believe this from experience, but there is robust software in the world. Statements like this just lower everybody's expectations for software quality, and make software engineers out to be ineffective and incompetent.
Another danger is that Internet hype is sucking money and attention away from other problems we could be solving.
The San Jose Mercury News ran an article last month profiling the shift in venture capital away from medicine and health care and into Internet companies. An investment in a biotech company might take years to pay off, but the Internet is a get rich quick scheme. Drugs and devices to save lives and ease suffering are being put on hold so we can auction Beanie Babies at faster speeds.
Here in Silicon Valley, people are quitting other jobs to do Internet-related things. Talent as well as money is being drawn away from other real problems. People are chasing the chance at being another Yahoo! instead of solving real problems. It is widely regarded as a virtue for an Internet company to have no idea how it will ever provide a product or service that someone might find useful enough to pay money for.
And when the Internet stocks crash, it will mainly be young people who are hurt since they disproportionately own these stocks and they represent a greater portion of their portfolio.
I think it's time that we geeks recognize that managers and other outsiders expect answers to the question "How are things going?" I think it's also time to recognize that putting the GUI last means that it has to be changed over and over again. Maybe now that our family members are getting computers, we might feel just a little bit of compassion for people who don't understand how programs are constructed and realize that the kinds of GUIs that get bolted on at the end don't make any sense to them.
Two suggestions:
(1) Build the program around the problems the user has and is trying to accomplish, instead of what we think would be a cool problem to solve or the easiest way to throw something together. This usually means drawing up what the program is going to look like from the outside first. Managers can understand this. Then you say, "this is what we're building." Then you get to make the big fuss in the meeting whining about sign-off and procedures when the recent marketing graduate wants to move the OK button. It's a lot harder for people to argue for changes when they've seen an actual picture of something that would have to be changed.
(2) Use the user's view picture to explain progress to management. Draw other pictures if necessary. We know that managers think anything presented in PowerPoint on an LCD projector is true and authoritative. Humor them. "See this little box that says 'database'? That's what we finished this week. See this web page with the colorful 'Buy Now' button? That's next." Then next week you tell them how that's finished. That's all they want.
And while it's true that lines of code and CPU time aren't good ways to measure progress, too many programmers are afraid of marking milestones and living up to valid measures of progress. I'm tired of working with deluded people who have no idea how far along they are and who think that just one more 70 hour week will solve everything. I'm also sick of debugging and trying to figure out code people wrote when they were too tired or wired to even drive.