The most glaring is that you assume that synchronous processors can only have one clock - that's incorrect. While the clock tick is of fixed length (by design), the global clock (as seen by external parties) may run at a different speed than internal clocks.
If the a path of logic takes 5ns to complete, and its clock matches exactly, then you are perfectly optimized. You are hampered not by the clock, but by the transistor's switching speed. This path will have the same delay, regardless of whether it is driven by a clock.
You might be getting confused because you are thinking about pipelining, where the longest stage dictates stage length. If everything is driven by one clock, you create waste because some partitions will finish sooner than others, and are therefore idle. However, modern designs now employ shew-tolerant clocking. By using multiple clocks, the issues created by clock skew can be entirely avoided. The walls between pipeline stages are destroyed and skewing delay negated.
Your issue with propogation delay of the clock is also not of great concern, in most cases. Synchronous chips can employ distributed clocks, islands of asynchronous logic, and the Pentium-4 actually has stages to help propogate the clock. However most processors are unlike the speed demon design of the P4 and clock speed is limitted by other issues than clock propogation. Currently, that limitting factor is power. In dynamic logic, frequency has a direct relationship to power consumption.
This list misses a crucial function: some of us work and want to look professional. These would all be fun to show to friends, and I'm sure some college kids would love taking their laptop to a LAN party in a wooden case. But at work, where being technically-oriented already causes you to be disregarded by management, you need to look and act professional.
I personally love my briefbag. Its a bit costly, but if I'm going to use something every day, I prefer it to be nice.
1st generation Internet: ARPANET was formed in 1969. The focus was on connecting ARPA-funded computing resources at various research centers to maximize usage of expensive and highly specialized facilities.
2nd generation Internet: In 1972, electronic email was invented. Now people could communicate electronically even though they were using different computers.
3rd generation Internet ("Web 1.0"): In 1991, CERN released the code required to build WWW servers and browsers.
4th generation Internet ("Web 2.0"): XML was adopted by the W3C in 1997. The focus returns to helping applications communicate directly with each other.
The real goal of Web 2.0 is to foster communication between diverse applications through web services. Network applications went from a client-server model, to a distributed ORB model, and now to a loosely coupled services grid architecture. The popularity of AJAX and social networks is related, as it returns back from the 1.0 phase of focusing on functionality to focusing on comminication, usability, and integration.
Net Promoter Score is a measure created by Frederick F. Reichheld, a consultant as Bain and Company (a strategic management shop). His article in the Winter edition of MIT's Sloan Management Review goes into it in descent depth, and Reichheld's new book explores its usage quite thoroughly. (The Ultimate Question: Driving Good Profits and True Growth)
While I haven't read his new book yet (it was released on the 2nd), he's not your typical brain-dead consultant. He wrote an excellent book, The Loyalty Effect, on how to manage and measure loyalty and its effects to customer, employee, and investor relationships. Whenever I see his name its usually associated with company's known for treating their employees well.
You may find this interesting and useful: Argentina.com: A Case Study. They supposedly built a large-scale, low-cost email system with high reliability at a company with less than 15 employees.
Most people, software, and industries are still using the old definition. Just because IEEE defined the standards in 1999 doesn't mean that it will be picked up any time soon. There is simply too much history, resentment, and lack of momentum.
Until we actually see the terms used correctly in practice, be polite about it because most people who point it out sound condescending.
Wrong. NIF was in trouble before because of poor management that stole funds. It almost went under until LLNL cleaned house (the lab was almost closed). For example, the head of the laser department was Dr. Cambell, who not only gave himself monetary awards, but lied about having his PhD. After the clean-up, NIF has been going strong.
On the people behind it, knowing a number of the top engineers (relatives), I can tell you there isn't a lacking of compitence. The people are very committed and extremely bright. NIF will survive and succeed if funding continues.
I say if, because it has been hit by funding loses because of the Iraq war. A number of contracts were cancelled earlier this year because of promised money disapearing. Recently, a Senator in the appropriations committee denied continued NIF funding. However, this sounds like a political manuever rather than a death bell, because NIF has had significant support by the Whitehouse and, in general, Congress.
I believe NIF will work and continue, but that's becuase I know some great people behind the project. They aren't scared, and are pretty frank when it comes to technological hurdles.
Of course, I just have 2nd hand information (which I gather is more than you've got).
Also remember that Apple's brand includes the "quality" moniker, which is also associated with Intel and IBM. This is not so deep rooted in buyer's mind with AMD, who was seen as the low-cost supplier. There were numerous QA problems with AMD-based systems even with the early Athlons (often because of buggy chipsets, namely from VIA). Apple is a company that lives off its brand, so potentially deteriorating its value is another just reason to choose Intel.
She had her purse stolen two days ago. She was still concerned that they'd try to ruin her credit, though. It also had a lot of personal information, including her account password. She'd been dragging her feet to cancel until then, so calling was just a way to be extra safe.
I just got my mother off AOL today. I read about how people would call, be harassed for 30 minutes and then told AOL wouldn't allow them to cancel. However, I read one post where they guy claimed he told them he sold his computer and was moving to Europe, and it took him 3 minutes flat.
So I told her to say she was going into hospice. She saw it as a game, so she even timed it. It took 1:30 min with the operator, who talked about how sorry she was for her.
That's how you do it. AOL only lets you go if you have a terminal condition.
That's what I meant to say in my last paragraph, but accidentally left off the 's' in 'architectures'.:)
I think SGI may have been bluffed, since they have struggled for years and saw it as a way to shed costs. That need to survive and the power of Intel's marketing made them decide to switch focus. Unfortunately, management didn't tell them what to focus on next, they just kept renaming the company for Silicon Graphics Inc to SGI, and back again.
However, even die-hard DEC people say that DEC never loved Alpha, and neither did Compaq. To them, it was a necessary evil they wanted gone. Considering that these days companies like HP view research as a cost, rather than potential opportunities, any excuse is a good one.
I think the difference would have been more companies like Sun, with an aging processor line that is struggling and is given the minimum R&D funding. Compaq would still have a competitive and profitable line, but never commiting to it like IBM has to Power. x86-64 would have come from Intel years ago and gaining ground, with even more engineers reminding us all how ugly the ISA is, even if the x64 version is much cleaner.
I think the real benefit from IA-64 is that it forced Intel to invest billions in R&D, which has already made significant improvements. A lot of great advancements will come from it. It just won't take over the world.
Transmeta never promised that. They were careful to let that others make that hype, but never stated such. If they had, it could have gotten them in serious trouble during their IPO. After the IPO, it became 'common knowledge' stated in any Transmeta article. It would have been a problem, since Transmeta even admitted that their ISA was heavily tuned to x86 and would have been difficult support other ISAs.
Theoretically, it would have been possible and was good marketing buzz so Transmeta never squashed the rumor, as I'm sure it pushed their IPO stock up.
I'd have to agree, I think Itanium got everyone excited by its potential and it never quite delivered. Just to many hard problems had to be solved, and its the customers who got hurt the most.
Although I never paid much attention, I thought backword compatability with PA-RISC was pretty good. I thought I remembered hearing that the IA-64 ISA is very similar and HP-UX simply had a translation layer that would result in a negligable hit. So I thought compatability wasn't a problem, but as always, real world performance was.
Huh? HP approached Intel with the EPIC architecture, as it was based on their next generation PA/RISC research. The HP/Intel allience is a refinement of the Super-Parallel Processor Architecture (SP-PA). There was no swindling or bluffing HP. If anything, one could say Intel was tricked since they dropped their x86-64 designs, lost focus on x86 in general, and invested billions in Itanium. Try actually reading some of the history next time.
The failure of the other architecture is not just Intel's successful marketing, but also in the lack of interest to continue development by the respective companies.
Really? I've been planning on developing a web application using JSF, Spring, and Hibernate plus Acegi for security and SiteMesh for templating. In the future I thought I'd add Lucene for search support and Xkins for user skins. That seems like a really elegant architecture built on a mature open source platform.
What do you recomend? The only single vendor solution I can think of is Microsoft's, but that gets costly quick. Using just server pages really isn't feasable, it gets tangled up way to quickly. So this seemed like the best solution.
Well, I'm only starting to learn such things, but it seems that using a web framework like Struts, SpringMVC, or JSF (the latter I'm focusing on) makes it much easier to maintain that rule. User input is handled, validated, and forwarded by the processor so the developer doesn't rely on AJAX and code scriptlets. In JSF, one could have a RenderKit for different browsers. That way the interface layout and logic stays the same, but different kits are used to ensure a consistant look-and-feel across browsers. That also lets you do things like gMail's plain HTML option without having to rewrite a lot of code.
Of course I'm kind of rambling since I'm still a bit fresh to it all...
umm.. did convert currency? When I was in Australia (2000) the US dollar was stronger and the conversion ratio was $1AU = $0.56US. I'm sure with the dollar dropping and Aus having a strong economy its more favorable for Australians, but that's likely a major source in the discrepency.
There also might be issues I'm unaware of such as higher shipping and a high tax on imports.
I think its because web servers have thread pools, so a cell processor could handle many of these light-weight threads simultaniously. This makes it perfect for a blade server.
Sun's Niagara is aimed at this market, where the work is of great quanitity, not huge number crunching. This could mean searching, web page serving, and streaming media. So if you need to handle thousands of requests, this type of processor is ideal. Of course we won't truly know until one of these massively multicore beasts is out in the wild and can be tested in a realistic scenario.
I don't believe that is exactly correct. You would still include GPL code in the proprietary code, just seperated slightly, but not as a seperate process. That would work for the LGPL, but not for the GPL. See this
At one end, the "mere aggregation" certainly makes it safe to ship GPLed software on the same media with your proprietary code, provided they do not link to or call each other. They may even be tools operating on the same file formats or on-disk structures; that situation, under copyright law, would not make one a derivative of the other.
At the other end, splicing GPLed code into your proprietary code, or linking GPLed object code to yours, certainly does make your code a derivative work and requires it to be GPLed.
It is generally believed that one program may execute a second program as a subprocess without either program becoming thereby a derivative work of the other.
The case that causes dispute is dynamic linking of shared libraries. The Free Software Foundation's position is that if a program calls another program as a shared library, then that program is a derivative work of the library. Some programmers think this claim is overreaching. There are technical, legal, and political arguments on both sides that we won't rehash here. Since the Free Software Foundation wrote and owns the license, it would be prudent to behave as if the FSF's position is correct until a court rules otherwise.
While it is true that NTFS was written from scratch. My point is that they borrowed heavily from their work on OS/2. What the two are similar in is the work that Microsoft contributed to OS/2 and learned from, which were then refined and redesigned for Windows NT. This is evident when seeing what aspects Microsoft worked on (which were well done in NT) and what IBM did (which were often less thought out in NT).
My point about converting HPFS to NTFS was that they are similar enough to make it possible. It is easy to convert from a basic filesystem (FAT) upwards. When you move down, though, its much harder because so much information is lost. The two filesystems share a number of design goals (see here) making it relatively easy to convert over without losing any information.
If you search for articles on OS/2 history, you will find many aspects where the two borrowed from each other. OS/2's original presentation manager was based on Window's 2.0's (press release) and the API was close.
You do realize that much of OS/2 was developed by Microsoft? Most of what they did wsa then redesigned for NT, such as HPFS improved into NTFS (you could even convert the FS easily).
What IBM developed, like their object-oriented UI, wasn't copied because it was IBM's IP. So NT is a bad example.
Re:Innovate, not copy
on
Gates on Google
·
· Score: 2, Insightful
Quick definition, since many of your replies are that Microsoft doesn't innovate.
As defined by Eric von Hippel (MIT), innovation is commercializing a new change. It can be incremental and very small. Inventions, on the other hand, are unique and can be hidden away in your basement.
What Microsoft needs is a major breakthrough (invention), because Google has proven itself to be just as good at integrating services and incremental innovation. Microsoft can't use its famed tactic of integrating and incremental improvements to beat Google. They need something a degree or two better, just like Google did with Yahoo.
That's Microsoft's problem, and they know it. Gate's often talks about their R&D labs as how they will beat Google. Until they hit a breakthrough, they'll try to compete (unsuccessfully) using the same old tactics. That's what makes Gates so angry, he knows there stuck.
Not entirely true, its just that the interesting work has to be done by a team of engineers, not a lone hacker. This is engineering - no one engineer can put a man on the moon. So the interesting stuff requires teamwork and project management, not a few buddies hacking an idea out. Neither are bad, mind you.
I find microprocessors interesting, largely because every 5 years they change dramatically. Some elements take a lot of thought, such as high-speed arithmentic. I'd love to spend time working on new hardware definition languages, since they seem stagnent, and combine my skills in CS and ECE. Regardless, all interesting topics out there I can't do myself, and even if I spent a year on it, its not transferable to publish and become immediately useful to others.
As others pointed out, you've made mistakes.
The most glaring is that you assume that synchronous processors can only have one clock - that's incorrect. While the clock tick is of fixed length (by design), the global clock (as seen by external parties) may run at a different speed than internal clocks.
If the a path of logic takes 5ns to complete, and its clock matches exactly, then you are perfectly optimized. You are hampered not by the clock, but by the transistor's switching speed. This path will have the same delay, regardless of whether it is driven by a clock.
You might be getting confused because you are thinking about pipelining, where the longest stage dictates stage length. If everything is driven by one clock, you create waste because some partitions will finish sooner than others, and are therefore idle. However, modern designs now employ shew-tolerant clocking. By using multiple clocks, the issues created by clock skew can be entirely avoided. The walls between pipeline stages are destroyed and skewing delay negated.
Your issue with propogation delay of the clock is also not of great concern, in most cases. Synchronous chips can employ distributed clocks, islands of asynchronous logic, and the Pentium-4 actually has stages to help propogate the clock. However most processors are unlike the speed demon design of the P4 and clock speed is limitted by other issues than clock propogation. Currently, that limitting factor is power. In dynamic logic, frequency has a direct relationship to power consumption.
This list misses a crucial function: some of us work and want to look professional. These would all be fun to show to friends, and I'm sure some college kids would love taking their laptop to a LAN party in a wooden case. But at work, where being technically-oriented already causes you to be disregarded by management, you need to look and act professional.
I personally love my briefbag. Its a bit costly, but if I'm going to use something every day, I prefer it to be nice.
2nd generation Internet: In 1972, electronic email was invented. Now people could communicate electronically even though they were using different computers.
3rd generation Internet ("Web 1.0"): In 1991, CERN released the code required to build WWW servers and browsers.
4th generation Internet ("Web 2.0"): XML was adopted by the W3C in 1997. The focus returns to helping applications communicate directly with each other.
The real goal of Web 2.0 is to foster communication between diverse applications through web services. Network applications went from a client-server model, to a distributed ORB model, and now to a loosely coupled services grid architecture. The popularity of AJAX and social networks is related, as it returns back from the 1.0 phase of focusing on functionality to focusing on comminication, usability, and integration.
Net Promoter Score is a measure created by Frederick F. Reichheld, a consultant as Bain and Company (a strategic management shop). His article in the Winter edition of MIT's Sloan Management Review goes into it in descent depth, and Reichheld's new book explores its usage quite thoroughly. (The Ultimate Question: Driving Good Profits and True Growth)
While I haven't read his new book yet (it was released on the 2nd), he's not your typical brain-dead consultant. He wrote an excellent book, The Loyalty Effect, on how to manage and measure loyalty and its effects to customer, employee, and investor relationships. Whenever I see his name its usually associated with company's known for treating their employees well.
I assume you mean this article? I noticed that type of responce quite frequently when I was job hunting.
Behind 'Shortage' of Engineers: Employers Grow More Choosy
You may find this interesting and useful: Argentina.com: A Case Study. They supposedly built a large-scale, low-cost email system with high reliability at a company with less than 15 employees.
That's actually gibi, mebi, etc.
Most people, software, and industries are still using the old definition. Just because IEEE defined the standards in 1999 doesn't mean that it will be picked up any time soon. There is simply too much history, resentment, and lack of momentum.
Until we actually see the terms used correctly in practice, be polite about it because most people who point it out sound condescending.
Wrong. NIF was in trouble before because of poor management that stole funds. It almost went under until LLNL cleaned house (the lab was almost closed). For example, the head of the laser department was Dr. Cambell, who not only gave himself monetary awards, but lied about having his PhD. After the clean-up, NIF has been going strong.
On the people behind it, knowing a number of the top engineers (relatives), I can tell you there isn't a lacking of compitence. The people are very committed and extremely bright. NIF will survive and succeed if funding continues.
I say if, because it has been hit by funding loses because of the Iraq war. A number of contracts were cancelled earlier this year because of promised money disapearing. Recently, a Senator in the appropriations committee denied continued NIF funding. However, this sounds like a political manuever rather than a death bell, because NIF has had significant support by the Whitehouse and, in general, Congress.
I believe NIF will work and continue, but that's becuase I know some great people behind the project. They aren't scared, and are pretty frank when it comes to technological hurdles.
Of course, I just have 2nd hand information (which I gather is more than you've got).
Also remember that Apple's brand includes the "quality" moniker, which is also associated with Intel and IBM. This is not so deep rooted in buyer's mind with AMD, who was seen as the low-cost supplier. There were numerous QA problems with AMD-based systems even with the early Athlons (often because of buggy chipsets, namely from VIA). Apple is a company that lives off its brand, so potentially deteriorating its value is another just reason to choose Intel.
She had her purse stolen two days ago. She was still concerned that they'd try to ruin her credit, though. It also had a lot of personal information, including her account password. She'd been dragging her feet to cancel until then, so calling was just a way to be extra safe.
I just got my mother off AOL today. I read about how people would call, be harassed for 30 minutes and then told AOL wouldn't allow them to cancel. However, I read one post where they guy claimed he told them he sold his computer and was moving to Europe, and it took him 3 minutes flat.
So I told her to say she was going into hospice. She saw it as a game, so she even timed it. It took 1:30 min with the operator, who talked about how sorry she was for her.
That's how you do it. AOL only lets you go if you have a terminal condition.
That's what I meant to say in my last paragraph, but accidentally left off the 's' in 'architectures'. :)
I think SGI may have been bluffed, since they have struggled for years and saw it as a way to shed costs. That need to survive and the power of Intel's marketing made them decide to switch focus. Unfortunately, management didn't tell them what to focus on next, they just kept renaming the company for Silicon Graphics Inc to SGI, and back again.
However, even die-hard DEC people say that DEC never loved Alpha, and neither did Compaq. To them, it was a necessary evil they wanted gone. Considering that these days companies like HP view research as a cost, rather than potential opportunities, any excuse is a good one.
I think the difference would have been more companies like Sun, with an aging processor line that is struggling and is given the minimum R&D funding. Compaq would still have a competitive and profitable line, but never commiting to it like IBM has to Power. x86-64 would have come from Intel years ago and gaining ground, with even more engineers reminding us all how ugly the ISA is, even if the x64 version is much cleaner.
I think the real benefit from IA-64 is that it forced Intel to invest billions in R&D, which has already made significant improvements. A lot of great advancements will come from it. It just won't take over the world.
Transmeta never promised that. They were careful to let that others make that hype, but never stated such. If they had, it could have gotten them in serious trouble during their IPO. After the IPO, it became 'common knowledge' stated in any Transmeta article. It would have been a problem, since Transmeta even admitted that their ISA was heavily tuned to x86 and would have been difficult support other ISAs.
Theoretically, it would have been possible and was good marketing buzz so Transmeta never squashed the rumor, as I'm sure it pushed their IPO stock up.
I'd have to agree, I think Itanium got everyone excited by its potential and it never quite delivered. Just to many hard problems had to be solved, and its the customers who got hurt the most.
Although I never paid much attention, I thought backword compatability with PA-RISC was pretty good. I thought I remembered hearing that the IA-64 ISA is very similar and HP-UX simply had a translation layer that would result in a negligable hit. So I thought compatability wasn't a problem, but as always, real world performance was.
Huh? HP approached Intel with the EPIC architecture, as it was based on their next generation PA/RISC research. The HP/Intel allience is a refinement of the Super-Parallel Processor Architecture (SP-PA). There was no swindling or bluffing HP. If anything, one could say Intel was tricked since they dropped their x86-64 designs, lost focus on x86 in general, and invested billions in Itanium. Try actually reading some of the history next time.
The failure of the other architecture is not just Intel's successful marketing, but also in the lack of interest to continue development by the respective companies.
Really? I've been planning on developing a web application using JSF, Spring, and Hibernate plus Acegi for security and SiteMesh for templating. In the future I thought I'd add Lucene for search support and Xkins for user skins. That seems like a really elegant architecture built on a mature open source platform.
What do you recomend? The only single vendor solution I can think of is Microsoft's, but that gets costly quick. Using just server pages really isn't feasable, it gets tangled up way to quickly. So this seemed like the best solution.
Well, I'm only starting to learn such things, but it seems that using a web framework like Struts, SpringMVC, or JSF (the latter I'm focusing on) makes it much easier to maintain that rule. User input is handled, validated, and forwarded by the processor so the developer doesn't rely on AJAX and code scriptlets. In JSF, one could have a RenderKit for different browsers. That way the interface layout and logic stays the same, but different kits are used to ensure a consistant look-and-feel across browsers. That also lets you do things like gMail's plain HTML option without having to rewrite a lot of code.
Of course I'm kind of rambling since I'm still a bit fresh to it all...
umm.. did convert currency? When I was in Australia (2000) the US dollar was stronger and the conversion ratio was $1AU = $0.56US. I'm sure with the dollar dropping and Aus having a strong economy its more favorable for Australians, but that's likely a major source in the discrepency.
There also might be issues I'm unaware of such as higher shipping and a high tax on imports.
Please read the chinese room argument.
I think its because web servers have thread pools, so a cell processor could handle many of these light-weight threads simultaniously. This makes it perfect for a blade server.
Sun's Niagara is aimed at this market, where the work is of great quanitity, not huge number crunching. This could mean searching, web page serving, and streaming media. So if you need to handle thousands of requests, this type of processor is ideal. Of course we won't truly know until one of these massively multicore beasts is out in the wild and can be tested in a realistic scenario.
I don't believe that is exactly correct. You would still include GPL code in the proprietary code, just seperated slightly, but not as a seperate process. That would work for the LGPL, but not for the GPL. See this
At one end, the "mere aggregation" certainly makes it safe to ship GPLed software on the same media with your proprietary code, provided they do not link to or call each other. They may even be tools operating on the same file formats or on-disk structures; that situation, under copyright law, would not make one a derivative of the other.
At the other end, splicing GPLed code into your proprietary code, or linking GPLed object code to yours, certainly does make your code a derivative work and requires it to be GPLed.
It is generally believed that one program may execute a second program as a subprocess without either program becoming thereby a derivative work of the other.
The case that causes dispute is dynamic linking of shared libraries. The Free Software Foundation's position is that if a program calls another program as a shared library, then that program is a derivative work of the library. Some programmers think this claim is overreaching. There are technical, legal, and political arguments on both sides that we won't rehash here. Since the Free Software Foundation wrote and owns the license, it would be prudent to behave as if the FSF's position is correct until a court rules otherwise.
While it is true that NTFS was written from scratch. My point is that they borrowed heavily from their work on OS/2. What the two are similar in is the work that Microsoft contributed to OS/2 and learned from, which were then refined and redesigned for Windows NT. This is evident when seeing what aspects Microsoft worked on (which were well done in NT) and what IBM did (which were often less thought out in NT).
My point about converting HPFS to NTFS was that they are similar enough to make it possible. It is easy to convert from a basic filesystem (FAT) upwards. When you move down, though, its much harder because so much information is lost. The two filesystems share a number of design goals (see here) making it relatively easy to convert over without losing any information.
If you search for articles on OS/2 history, you will find many aspects where the two borrowed from each other. OS/2's original presentation manager was based on Window's 2.0's (press release) and the API was close.
You do realize that much of OS/2 was developed by Microsoft? Most of what they did wsa then redesigned for NT, such as HPFS improved into NTFS (you could even convert the FS easily).
What IBM developed, like their object-oriented UI, wasn't copied because it was IBM's IP. So NT is a bad example.
Quick definition, since many of your replies are that Microsoft doesn't innovate.
As defined by Eric von Hippel (MIT), innovation is commercializing a new change. It can be incremental and very small. Inventions, on the other hand, are unique and can be hidden away in your basement.
What Microsoft needs is a major breakthrough (invention), because Google has proven itself to be just as good at integrating services and incremental innovation. Microsoft can't use its famed tactic of integrating and incremental improvements to beat Google. They need something a degree or two better, just like Google did with Yahoo.
That's Microsoft's problem, and they know it. Gate's often talks about their R&D labs as how they will beat Google. Until they hit a breakthrough, they'll try to compete (unsuccessfully) using the same old tactics. That's what makes Gates so angry, he knows there stuck.
Not entirely true, its just that the interesting work has to be done by a team of engineers, not a lone hacker. This is engineering - no one engineer can put a man on the moon. So the interesting stuff requires teamwork and project management, not a few buddies hacking an idea out. Neither are bad, mind you.
I find microprocessors interesting, largely because every 5 years they change dramatically. Some elements take a lot of thought, such as high-speed arithmentic. I'd love to spend time working on new hardware definition languages, since they seem stagnent, and combine my skills in CS and ECE. Regardless, all interesting topics out there I can't do myself, and even if I spent a year on it, its not transferable to publish and become immediately useful to others.