Agree. Completely.
And I never really understood why until recently. I think I got it figured out: Handling a gun, due to the danger involved and the sheer violence of every shot, is something that requires complete concentration for every second that the firearm is in your hands. It takes your mind offf of whatever else was bothering you. In fact, today, after compiling some code I was working on for a while, and coming up 68 instructions over my limit (only 1k instruction space), I took a few hours off and went to the range. By getting the project completely off my mind for two hours (and burning $50 on.357 ammo, maybe I should expense it:) I was able to go back to work with a whole new look on things and get the code to fit.
Tim
I had a similar experience. The bully who constantly harrassed me from 7th - 10th grade played football, as did I. He ws intolerable. Constantly picked on me, during school, during practice, gah, it sucked. Not that I was some buff football player, just enjoyed it and was a decent highschool fullback.
Well, one day, after practice, I decided I'd had enough. As we were walking up the steps back to the locker room, I grabbed his head, bashed his nose off the side of my head (breaking his nose), stomped on his foot with my cleats (causing it to swell up like a watermelon), knocked him down the steps (concrete), and jumped on him with my knee on his throat. My coach came over, laughing his head off, congratulating me:)
The bully didn't even speak to me for a year. And in an interesting twist of fate, we were actually sort-of friends by the time we graduated (not close, but we'd drink and smoke pot together from time-to-time).
Anyway, the point is, it sometimes pays to be assertive.
No, what Giuliani did was the right thing. Let's turn this around:
Lets say an artist made a big painting that said "Niggers must die!" and wanted it to be shown in the museum of modern art. Should the population at large have to fund a piece of "art" that many (or in this case, virtually all) members of the community find offensive? Of course not, that's a warped view of the first amendment. People can make whatever offensive art they want, but they shouldn't expect the government to foot the bill.
I thought you were implying that everything nowadays was written in at least "semi-high level language". Its an implication that bothers me, as quite often I here things like "Nobody programs in assembly anymore" or "A compiler can always beat a human, if you say otherwise you're full of shit".
So depressing, its like myself and other firmware developers are treated like we don't even exist anymore.
Bullshit.
I write code for a microprocessor with some quasi-DSP functionality. It is software pipelined, filled with all sorts of wierd dependencies, has 1K code space and 1K data space (2K/2K in the newest spin), and has to perform in a precise (to the cycle) realtime manner. There isn't a C-compiler ever made that could turn out assembly code as well-tuned as what is required for this beast to work. This isn't a PC where 90% of theoretical efficiency is good enough (though I doubt any compiler gets that close). Everything is hand coded assembly, and I most certainly do have enormous control over the unit.
A lot (dare I say, most) of DSP code is written in much the same manner. A compiled language is rarely good enough for small embedded systems and DSPs with tight realtime requirements that you want to use above and beyond what the chip designers ever thought possible. There are still plenty of jobs around where every bit and every cycle count.
-tjb
I'm an embedded/DSP guy and I'd kill for a debugger. The only thing I have for debugging are outputs and inputs. Everything else is a black-box, with no way to see interactions within or between processing units.
Its usually pretty obvious when each style is appropriate.
I mostly work on a DSP-style CISC processor that requires all pipelining to be handled in the firmware. Due to our whopping 1K of code space and 1K of data space, a compiled language is simply out of the question, everything is hand-tuned assembly. Now, I could make this code elegant and readable, but it would be absurd: at least 30% of the code would consist of no-ops doing it the way my CS professors told me was The Right Way (tm). So my code ends up being a horrible convuluted, out-of-order mess with weird dependencies, self-modifying parts, and comments that attempt to describe the indescribable (mostly we end up saying fsck it, and add "Do not change this chunk of code! Ever! Please!":). But it fits and it works. Making it work is key here, the constraints are physical, not arbitrary.
On the other hand, if I need to add a previously unused instruction to our assembler, which runs on a big-ass Sun with 4GB of RAM, I forcibly re-wire my brain and put it in there with intuitiveness, elegance, and comments that point out exactly what the code is doing so that someone else can maintain it. Again, making it work is key, but there are no physical constraints here, and while I'd like my code to assemble 10% faster, its just not worth losing proper functionality and ease of maintenance over.
However, regardless of what I said about the former instance, the vast majority of free software doesn't have physical constraints to deal with. Any constraints the authors place on themselves are arbitrary, and when it comes to writing code, the arbitrary constraints should be ignored until it can be demonstrated to run properly (correct functionality, no memory leaks, etc). Then, after it works, go back to look at what the performance goals were, and decide which are worth pursuing.
I work for a startup semiconductor company, and last summer it became obvious that the only thing preventing us from being profitable was our debt. So the board of the company passed a large issue of new stock, more or less eliminating all of our debt. All in all, a good thing; now we're a legitimately profitable company with little debt. Of course, due to market conditions, the instant we announced current and long term profitability (along with 500% revenue growth, with a projected 300% further growth in the coming year), our stock immediately dropped 80%, but I digress...:)
Re:These are customer service types
on
The Jungle
·
· Score: 1
Yeah, that's the vibe I got from the article too. It was almost like The New Republic wanted to make it look like it was a tech-workers union when it was mostly a warehouse union.
Its a little like going to NASA, pointing at a janitor, and saying he works with rocket scientists in the space industry. Technically true, but not a very accurate description.
Consider that accident rates have fallen since the fall of the 55-mph speed limit. With people able to get to their destinations in less time, I'd suspect that fewer drivers are getting tired/frustrated/angry after long trips
I read a study on this once (long time ago, no link, sorry), and the researchers came to the conclusion that the 65MPH speed limit helped reduce accidents due to a natural human "comfort-zone" around 70-75 MPH. Anything over that just seems too fast for a cruising speed. There was some argument between the researchers over whether this was due to car design, but even in my BMW going 80-85 MPH, while sometimes required on the Garden State Parkway (we call that the slow lane:), definitely is a little above where I feel comfortable./P?
VDSL is great if you live across the street from the CO, but most of us don't.
Anyway, standard DMT ADSL is easily capable of 8 Mbit/s up to 9 kilofeet if the provider is willing to shell out for the backend bandwidth; unforutunately, most providers don't.
You're only watching one channel at a time, maybe it's only receiving one at a time?
I work on DSL firmware for a living, and you are most certainly correct, it would only receive one, maybe two (for Picture in Picture) channels at a time.
Let's take a look at how this box may work:
First, I'm assuming it will be a transport layer (digital) transmission; that is, the video will be sent as special data in the bit-stream, not sent on special frequencies bands(which may or may not be better, but is 1000x harder to do and plays hell with all sorts of standards).
I figure you'll get one box with a coax hook-up for your TV and an ethernet hookup for your PC. Video data ATM cells will have special ATM headers that will then be split out by the box and D-to-A'd for display on your screen, figure 3 Mbit/s per channel shot away there. Then general ATM cells will be sent down the ethernet to your PC, somewhere along the lines of 1 Mbit/s. Then we somehow have to manage channel switching. Probably the best way to do this is to put the management channel into some of the "wasted space" of the DMT (Discrete Multitone, the ADSL physical layer standard) super-frames. Unfortunately, this wouldn't exactly be standard compliant, and certainly wouldn't play nice on systems that use odd-ball framing structures, so most likely you'll need another (small) data channel to handle management.
After all is said and done, you're probably looking at least 4.5Mbit/s of linerate necessary to carry this down the wire. While people in big cities might not have much of a problem with this, that kind of linerate is very difficult to achieve at more than 12 kilofeet, so I hope I live close to the CO:)
I do write code code for DSP's, and I gotta say, it's really not that hard after you get your mind wrapped around switching between frequency domain and time domain. Maybe the fact that I had some college math (not that I did very well) helped, but I was able to learn from a reference book and the manual to my company's DSP.
If you judge people by their degree, or their lack thereof you are missing out on people who can potentially be extremely productive.
Ya know, I've found that money can sometimes be a hindrance in picking up women (or at least ones I'd want to date).
I've dated three girls since I started my job (dropped out of college last June, an offer I couldn't refuse). When I met them, they asked the usual "Are you still in college?" type question and I'd respond, no, I dropped out and they left it at that. As things went better I'd give them my phone number on the back of a business card (and hear the inevitable "What's a firmware engineer?") and get their phone number and all looked good.
Then I'd go pick the girl up and they'd see my BMW and simply would not shut-the-fsck-up about it. Same thing with my TV (36" Sony Wega, highly recommended by me, btw) and furniture. I really couldn't stand it. I mean, yeah, I like to buy myself cool stuff, I work my ass off for it, but these girls sickened me with their focus on money and $200 dinners (which I'd do occassionally, but the one girl would act all weird if I just wanted take-out chinese, like I should be above that) rather than me.
I honestly believe that all three girls would have been reasonable people if I had just been "that guy drinking Heineken at the bar" rather than an extremely well-paid programmer who drives a BMW. Or maybe not. In any case, some people stop acting reasonable when they see money, which is why it is very rare that you'll ever meet a happy rich person.
At work, the engineers we each get an office that they might share with one or two other people. We also get a bench in a big-ass war-room style lab. In general, most people do their heavy coding on their office PC where it is quiet, and then move to their lab bench for debugging becuase that's where the toys are (logic analyzers, scopes, etc.). It kinda gives a best of both worlds - the ability to slink away when you need to think and good communication when you need to fix.
A bit off topic, but hell...
That's how government regualtion ends up working, good causes get screwed on occasion.
A few years ago, my father worked at a foundry in Northwest PA. As a shell casting foundry, they went through thousands of tons of sand every month making their castings. In order to have the sand hauled away and reinjected with the proper chemicals, the sand had to be thoroughly sterilized in an enormous furnace (it was literally 100% pure when finished), and a hauling service had to be hired to transport it.
At the time, Erie, PA was rapidly losing shoreline (and maybe still is). So the company came up with what seemed like a great move: they's give the sand to the city of Erie if the city would haul it away. Great for the beaches, great PR (and fewer expenses) for the company, a win-win situation.
Until the EPA stepped in. Sand, you see, is a carcinogen, a hazardous material. Despite the fact that people roll around in it on the weekends, only hazardous material specialists can handle it once its off the beach. Doesn't matter that this sand is as pure as it gets, its still a carcinogen (and a pure one at that). [Sigh], that's when I started to hate government...
Great idea, but it would be so expensive you wouldn't want it.
I work for a DSL company and our VLSI guys came up with a design very similar to what you said: DSL, Voice Modem, Fax, Answering Machine, etc... all in one. Hell our DSP could handle it, so they made a controller to handle it as well.
Then our hardware guys got ahold of it and found out that it would be so freakin' difficult and expensive to add in all the necessary filtering and line-drivers that it would just be cheaper to buy everything separately. So they settled on just adding a port for a daughter-board, and letting our customers figure out what they wanted to do with it.
It sounds great and works well from a chipset perspective, but there is more to a board than that (at least until analog VLSI catches up with digital VLSI design)
Yes, flexible hours are great. I arrive at work sometime between 8 and 11, and no one blinks, because I'm always there until I feel that I'm done for the day (7-10 PM, usually).
However, even in a technical job (as mine most assuredly is), having face-to-face contact is critical. For the specific processor I work on, which has to communicate with two other processors (a DSP and another processor), a telecommuter writes the bulk of the code. However, I have to know the architecture inside out because things don't always work as designed. There are always problems and snags. I don't know how many times the silicon hasn't worked as planned or another module is doing something completely different than what is discussed in the specification. I need to be in the office, with soldering irons, a logic analyzer and hard proof of what the problem is to demonstrate where the problem is (I am VLSI group's worst nightmare:), and work out a solution in day long brainstorming sessions involving 10 other people and a whiteboard.
This is stuff that simply can't be done (in a reasonable timeframe) via e-mail or conference calls. The dynamics of face-to-face contact cannot be webcast.
--Tim
So where's the nearest techie oasis? Believe it or not, central New Jersey. The legacy of the Bell System, and the huge Bell Labs installations here, has created a seed of talent not often seen outside Silicon Valley. I have friends at half a dozen startups founded here, and several more at companies based in the West Coast but opening offices here to take advantage of the great people. Ten minutes to the east is the Atlantic Ocean; fifteen to the west, horse farms. If you hate surburbs, forget it; if you like them, it's wonderful. Real estate, both residential and commercial, is relatively inexpensive, especially compared to the Valley or the Alley.
As an employee of one of those Central NJ startups, I have to say you are absolutely correct about it being a techie haven.
However, its very unlike the dot-com industry. These Central NJ companies spawned by Lucent and good old 'T' are hardcore engineering firms that produce real products, not internet based dot-coms that provide a service. These NJ companies are filled with Electrical Engineers, DSP gurus, and low-level system programmers, not the new style geeks who feed themselves with a steady diet of Perl, HTML, and Java. These NJ companies are headed by Chief Officers with years of experience and proven track records, not some 23 year old that decided to start up a business.
In other words, there is a world of difference between Silicon (V)Alley and these NJ companies. This isn't a bad thing! I get to hack hardware all day long, my hours are usually pretty reasonable, I wear whatever I want, and - get this - we actually turn a profit!
--Tim
I'm a programmer, a geek, and have a productive life. And ya know what: I like to watch football and an occassional hockey game. In fact, that's about all I watch (a grand total of about 9hrs/week, mostly on fall sundays). Most of the time, I'm busy doing something else, but sometimes I like to crack open a beer and watch sports.
Why? Its entertainment, dammit. I got to relax sometime. What's wrong with that? If I spent any more time coding (on top of the 70 hrs/wk that I usually so), I'd burn out in a few months. I get cable for the -sole- reason of watching sports (hell, I'm a programmer, I can afford it) because its relaxing, and occasional relaxation is good for me.
Honestly, this isn't that big of a deal. At work, we keep all of our driver/firmware/host code in the same files regardless of endian-order through conditional compilation, and adjust our makefiles accordingly. I wouldn't doubt the Mac guys did the same, you know, just in case:)
Any place you have assembly language, however, this could be a royal pain in the ass. But then again, you're porting to a *completely* different architecture, so its a pain in the ass regardless.
Agree. Completely. And I never really understood why until recently. I think I got it figured out: Handling a gun, due to the danger involved and the sheer violence of every shot, is something that requires complete concentration for every second that the firearm is in your hands. It takes your mind offf of whatever else was bothering you. In fact, today, after compiling some code I was working on for a while, and coming up 68 instructions over my limit (only 1k instruction space), I took a few hours off and went to the range. By getting the project completely off my mind for two hours (and burning $50 on .357 ammo, maybe I should expense it :) I was able to go back to work with a whole new look on things and get the code to fit.
Tim
Good for you.
:)
I had a similar experience. The bully who constantly harrassed me from 7th - 10th grade played football, as did I. He ws intolerable. Constantly picked on me, during school, during practice, gah, it sucked. Not that I was some buff football player, just enjoyed it and was a decent highschool fullback.
Well, one day, after practice, I decided I'd had enough. As we were walking up the steps back to the locker room, I grabbed his head, bashed his nose off the side of my head (breaking his nose), stomped on his foot with my cleats (causing it to swell up like a watermelon), knocked him down the steps (concrete), and jumped on him with my knee on his throat. My coach came over, laughing his head off, congratulating me
The bully didn't even speak to me for a year. And in an interesting twist of fate, we were actually sort-of friends by the time we graduated (not close, but we'd drink and smoke pot together from time-to-time).
Anyway, the point is, it sometimes pays to be assertive.
Tim
No, what Giuliani did was the right thing. Let's turn this around:
Lets say an artist made a big painting that said "Niggers must die!" and wanted it to be shown in the museum of modern art. Should the population at large have to fund a piece of "art" that many (or in this case, virtually all) members of the community find offensive? Of course not, that's a warped view of the first amendment. People can make whatever offensive art they want, but they shouldn't expect the government to foot the bill.
-Tim
My fault.
I thought you were implying that everything nowadays was written in at least "semi-high level language". Its an implication that bothers me, as quite often I here things like "Nobody programs in assembly anymore" or "A compiler can always beat a human, if you say otherwise you're full of shit".
So depressing, its like myself and other firmware developers are treated like we don't even exist anymore.
-tjb
Bullshit. I write code for a microprocessor with some quasi-DSP functionality. It is software pipelined, filled with all sorts of wierd dependencies, has 1K code space and 1K data space (2K/2K in the newest spin), and has to perform in a precise (to the cycle) realtime manner. There isn't a C-compiler ever made that could turn out assembly code as well-tuned as what is required for this beast to work. This isn't a PC where 90% of theoretical efficiency is good enough (though I doubt any compiler gets that close). Everything is hand coded assembly, and I most certainly do have enormous control over the unit. A lot (dare I say, most) of DSP code is written in much the same manner. A compiled language is rarely good enough for small embedded systems and DSPs with tight realtime requirements that you want to use above and beyond what the chip designers ever thought possible. There are still plenty of jobs around where every bit and every cycle count. -tjb
I'm an embedded/DSP guy and I'd kill for a debugger. The only thing I have for debugging are outputs and inputs. Everything else is a black-box, with no way to see interactions within or between processing units.
Not everyone programs PC's, keep that in mind.
-tjb
Its usually pretty obvious when each style is appropriate.
:). But it fits and it works. Making it work is key here, the constraints are physical, not arbitrary.
I mostly work on a DSP-style CISC processor that requires all pipelining to be handled in the firmware. Due to our whopping 1K of code space and 1K of data space, a compiled language is simply out of the question, everything is hand-tuned assembly. Now, I could make this code elegant and readable, but it would be absurd: at least 30% of the code would consist of no-ops doing it the way my CS professors told me was The Right Way (tm). So my code ends up being a horrible convuluted, out-of-order mess with weird dependencies, self-modifying parts, and comments that attempt to describe the indescribable (mostly we end up saying fsck it, and add "Do not change this chunk of code! Ever! Please!"
On the other hand, if I need to add a previously unused instruction to our assembler, which runs on a big-ass Sun with 4GB of RAM, I forcibly re-wire my brain and put it in there with intuitiveness, elegance, and comments that point out exactly what the code is doing so that someone else can maintain it. Again, making it work is key, but there are no physical constraints here, and while I'd like my code to assemble 10% faster, its just not worth losing proper functionality and ease of maintenance over.
However, regardless of what I said about the former instance, the vast majority of free software doesn't have physical constraints to deal with. Any constraints the authors place on themselves are arbitrary, and when it comes to writing code, the arbitrary constraints should be ignored until it can be demonstrated to run properly (correct functionality, no memory leaks, etc). Then, after it works, go back to look at what the performance goals were, and decide which are worth pursuing.
-tjb
Doesn't always work that way.
:)
I work for a startup semiconductor company, and last summer it became obvious that the only thing preventing us from being profitable was our debt. So the board of the company passed a large issue of new stock, more or less eliminating all of our debt. All in all, a good thing; now we're a legitimately profitable company with little debt. Of course, due to market conditions, the instant we announced current and long term profitability (along with 500% revenue growth, with a projected 300% further growth in the coming year), our stock immediately dropped 80%, but I digress...
Yeah, that's the vibe I got from the article too. It was almost like The New Republic wanted to make it look like it was a tech-workers union when it was mostly a warehouse union.
Its a little like going to NASA, pointing at a janitor, and saying he works with rocket scientists in the space industry. Technically true, but not a very accurate description.
Consider that accident rates have fallen since the fall of the 55-mph speed limit. With people able to get to their destinations in less time, I'd suspect that fewer drivers are getting tired/frustrated/angry after long trips I read a study on this once (long time ago, no link, sorry), and the researchers came to the conclusion that the 65MPH speed limit helped reduce accidents due to a natural human "comfort-zone" around 70-75 MPH. Anything over that just seems too fast for a cruising speed. There was some argument between the researchers over whether this was due to car design, but even in my BMW going 80-85 MPH, while sometimes required on the Garden State Parkway (we call that the slow lane :), definitely is a little above where I feel comfortable./P?
No, all they need to do is put a 1.4GHz external crystal to generate the clocks then add a divide-by-two prescaler to the chip itself.
Instant clockspeed and no-one's the wiser, though false advertising may become a common word:)
VDSL is great if you live across the street from the CO, but most of us don't.
Anyway, standard DMT ADSL is easily capable of 8 Mbit/s up to 9 kilofeet if the provider is willing to shell out for the backend bandwidth; unforutunately, most providers don't.
You're only watching one channel at a time, maybe it's only receiving one at a time? I work on DSL firmware for a living, and you are most certainly correct, it would only receive one, maybe two (for Picture in Picture) channels at a time. Let's take a look at how this box may work: First, I'm assuming it will be a transport layer (digital) transmission; that is, the video will be sent as special data in the bit-stream, not sent on special frequencies bands(which may or may not be better, but is 1000x harder to do and plays hell with all sorts of standards). I figure you'll get one box with a coax hook-up for your TV and an ethernet hookup for your PC. Video data ATM cells will have special ATM headers that will then be split out by the box and D-to-A'd for display on your screen, figure 3 Mbit/s per channel shot away there. Then general ATM cells will be sent down the ethernet to your PC, somewhere along the lines of 1 Mbit/s. Then we somehow have to manage channel switching. Probably the best way to do this is to put the management channel into some of the "wasted space" of the DMT (Discrete Multitone, the ADSL physical layer standard) super-frames. Unfortunately, this wouldn't exactly be standard compliant, and certainly wouldn't play nice on systems that use odd-ball framing structures, so most likely you'll need another (small) data channel to handle management. After all is said and done, you're probably looking at least 4.5Mbit/s of linerate necessary to carry this down the wire. While people in big cities might not have much of a problem with this, that kind of linerate is very difficult to achieve at more than 12 kilofeet, so I hope I live close to the CO :)
its all fun and games until someone loses and eye
:)
Then its just fun you can't see...
I do write code code for DSP's, and I gotta say, it's really not that hard after you get your mind wrapped around switching between frequency domain and time domain. Maybe the fact that I had some college math (not that I did very well) helped, but I was able to learn from a reference book and the manual to my company's DSP.
If you judge people by their degree, or their lack thereof you are missing out on people who can potentially be extremely productive.
Ya know, I've found that money can sometimes be a hindrance in picking up women (or at least ones I'd want to date).
I've dated three girls since I started my job (dropped out of college last June, an offer I couldn't refuse). When I met them, they asked the usual "Are you still in college?" type question and I'd respond, no, I dropped out and they left it at that. As things went better I'd give them my phone number on the back of a business card (and hear the inevitable "What's a firmware engineer?") and get their phone number and all looked good.
Then I'd go pick the girl up and they'd see my BMW and simply would not shut-the-fsck-up about it. Same thing with my TV (36" Sony Wega, highly recommended by me, btw) and furniture. I really couldn't stand it. I mean, yeah, I like to buy myself cool stuff, I work my ass off for it, but these girls sickened me with their focus on money and $200 dinners (which I'd do occassionally, but the one girl would act all weird if I just wanted take-out chinese, like I should be above that) rather than me.
I honestly believe that all three girls would have been reasonable people if I had just been "that guy drinking Heineken at the bar" rather than an extremely well-paid programmer who drives a BMW. Or maybe not. In any case, some people stop acting reasonable when they see money, which is why it is very rare that you'll ever meet a happy rich person.
-Tim
At work, the engineers we each get an office that they might share with one or two other people. We also get a bench in a big-ass war-room style lab. In general, most people do their heavy coding on their office PC where it is quiet, and then move to their lab bench for debugging becuase that's where the toys are (logic analyzers, scopes, etc.). It kinda gives a best of both worlds - the ability to slink away when you need to think and good communication when you need to fix.
A bit off topic, but hell... That's how government regualtion ends up working, good causes get screwed on occasion. A few years ago, my father worked at a foundry in Northwest PA. As a shell casting foundry, they went through thousands of tons of sand every month making their castings. In order to have the sand hauled away and reinjected with the proper chemicals, the sand had to be thoroughly sterilized in an enormous furnace (it was literally 100% pure when finished), and a hauling service had to be hired to transport it. At the time, Erie, PA was rapidly losing shoreline (and maybe still is). So the company came up with what seemed like a great move: they's give the sand to the city of Erie if the city would haul it away. Great for the beaches, great PR (and fewer expenses) for the company, a win-win situation. Until the EPA stepped in. Sand, you see, is a carcinogen, a hazardous material. Despite the fact that people roll around in it on the weekends, only hazardous material specialists can handle it once its off the beach. Doesn't matter that this sand is as pure as it gets, its still a carcinogen (and a pure one at that). [Sigh], that's when I started to hate government...
Great idea, but it would be so expensive you wouldn't want it. I work for a DSL company and our VLSI guys came up with a design very similar to what you said: DSL, Voice Modem, Fax, Answering Machine, etc... all in one. Hell our DSP could handle it, so they made a controller to handle it as well. Then our hardware guys got ahold of it and found out that it would be so freakin' difficult and expensive to add in all the necessary filtering and line-drivers that it would just be cheaper to buy everything separately. So they settled on just adding a port for a daughter-board, and letting our customers figure out what they wanted to do with it. It sounds great and works well from a chipset perspective, but there is more to a board than that (at least until analog VLSI catches up with digital VLSI design)
Yes, flexible hours are great. I arrive at work sometime between 8 and 11, and no one blinks, because I'm always there until I feel that I'm done for the day (7-10 PM, usually). However, even in a technical job (as mine most assuredly is), having face-to-face contact is critical. For the specific processor I work on, which has to communicate with two other processors (a DSP and another processor), a telecommuter writes the bulk of the code. However, I have to know the architecture inside out because things don't always work as designed. There are always problems and snags. I don't know how many times the silicon hasn't worked as planned or another module is doing something completely different than what is discussed in the specification. I need to be in the office, with soldering irons, a logic analyzer and hard proof of what the problem is to demonstrate where the problem is (I am VLSI group's worst nightmare :), and work out a solution in day long brainstorming sessions involving 10 other people and a whiteboard.
This is stuff that simply can't be done (in a reasonable timeframe) via e-mail or conference calls. The dynamics of face-to-face contact cannot be webcast.
--Tim
So where's the nearest techie oasis? Believe it or not, central New Jersey. The legacy of the Bell System, and the huge Bell Labs installations here, has created a seed of talent not often seen outside Silicon Valley. I have friends at half a dozen startups founded here, and several more at companies based in the West Coast but opening offices here to take advantage of the great people. Ten minutes to the east is the Atlantic Ocean; fifteen to the west, horse farms. If you hate surburbs, forget it; if you like them, it's wonderful. Real estate, both residential and commercial, is relatively inexpensive, especially compared to the Valley or the Alley. As an employee of one of those Central NJ startups, I have to say you are absolutely correct about it being a techie haven. However, its very unlike the dot-com industry. These Central NJ companies spawned by Lucent and good old 'T' are hardcore engineering firms that produce real products, not internet based dot-coms that provide a service. These NJ companies are filled with Electrical Engineers, DSP gurus, and low-level system programmers, not the new style geeks who feed themselves with a steady diet of Perl, HTML, and Java. These NJ companies are headed by Chief Officers with years of experience and proven track records, not some 23 year old that decided to start up a business. In other words, there is a world of difference between Silicon (V)Alley and these NJ companies. This isn't a bad thing! I get to hack hardware all day long, my hours are usually pretty reasonable, I wear whatever I want, and - get this - we actually turn a profit! --Tim
I'm a programmer, a geek, and have a productive life. And ya know what: I like to watch football and an occassional hockey game. In fact, that's about all I watch (a grand total of about 9hrs/week, mostly on fall sundays). Most of the time, I'm busy doing something else, but sometimes I like to crack open a beer and watch sports.
Why? Its entertainment, dammit. I got to relax sometime. What's wrong with that? If I spent any more time coding (on top of the 70 hrs/wk that I usually so), I'd burn out in a few months. I get cable for the -sole- reason of watching sports (hell, I'm a programmer, I can afford it) because its relaxing, and occasional relaxation is good for me.
--The Timdog
little endian
big problem
Honestly, this isn't that big of a deal. At work, we keep all of our driver/firmware/host code in the same files regardless of endian-order through conditional compilation, and adjust our makefiles accordingly. I wouldn't doubt the Mac guys did the same, you know, just in case :)
Any place you have assembly language, however, this could be a royal pain in the ass. But then again, you're porting to a *completely* different architecture, so its a pain in the ass regardless.
--The Timdog