There seems to be a lot of sun bashing on slashdot, but I've got to say I have no understanding of why. I haven't used solaris yet, but everything I've heard about what they're doing with it has been good.
D-trace sounds pretty sexy, apparently sexy enough that the next OSX version is going to include a port. Binary drivers that don't break compatibility across versions are pretty nice, although I've heard they still don't support as much hardware as linux.
Really, lack of good profilers and the need to compile drivers every time you need to install them is a nuisance on linux and I'm hoping that if solaris does nothing else it will put pressure on linux to improve.
None of those are games that are played competitively... I mean, common, guitar hero? World of warcraft? There's nothing impressive about being good at world of warcraft... it's just sad.
The only games that are really played competitively are starcraft, warcraft 3, and counterstrike. Why the hell not cover those? They already have huge tournaments...
The company I'm working for right now has a large very high quality code base, and rigorous code review standards internally. The code is almost all c++, but it is all very clean and readable, all unit tested, and what's more extremely well commented.
This is an area where high standards in what you allow developers to check in is important. Most shops do everything very add hoc and don't give developers any strict guidelines...
A lot of open source projects have a similar problem. Most of the open source projects I've worked on are totally uncommented and lack any kind of unit test or up to date architectural documentation. The linux kernel is a pretty good example of ugly code, largely because of lack of comments and documentation.
In open source, or in private companies, someone has to ultimately lay down the law and say what practices, like documentation and unit tests that are required. I think people are a little too worried in open source about scaring off the community with this stuff, but it's much more important to maintain a high quality code base.
Exceptions: Unfortunately, not everyone can use exceptions since integrating with older code that is not exception safe is a problem i.e. if a function throws an exception in exception unsafe code, it will likely leak resources. A lot of older c++ code doesn't use exceptions for whatever reason, and you pretty much can't switch over once you've gone down that path.
RAII: scoped_ptr is most of what you need to know about RAII... everyone should use it where appropriate, and it's part of the standard library in TR1. You can swap out the destructor if you are holding some other resource than memory, and in that way it also helps with exception safety.
just because the president made some handwaving in the direction of mars doesn't mean it's going to happen... He doesn't actually have any authority to do such a thing, no matter what he says.
That said, I think that we should be looking into manned space travel, because ultimately we are going to want to send *people* into space. Learning stuff about the geology of mars is nice, but speaking long term the real value of space exploration is that we're going to have people living out there someday.
I agree that Ubuntu is by far the best desktop or workstation distribution of linux ever. However, the one issue that people don't seem to want to talk about is Ubuntu's future.
Specifically, there's no way that ubuntu can keep doing what they are doing forever. Right now they have the financial resources of a millionaire backer to draw on, but in the long term that well will run dry, and Canonical doesn't really have any way of making money off of software they give away for free. If you look at the other large distros, they all either charge for the OS (RHEL) or charge for support and upgrades(Suse), but Canonical has stated they will never charge for Ubuntu.
The fact is that Canonical has no business plan, and isd essentially acting like a pre dot com bust company in their planning. My fear is that when they run out of cash, Ubuntu will run out of steam.
Sprint has some kind of policy of adding charges on and intimidating and lying to the customer until they accept them. I have t-mobile, but a friend of mine with sprint has run into the same problem, and ended up for hours on end every month with their IT staff.
Someone needs to bring a class action suit against these guys, as what they are doing is clearly illegal, and they obviously have no intention of stopping on their own.
It's true that early implementations of TCP were very naive. Over time this has been fixed, but there are still a number of problems remaining, especially to do with packet loss on WIFI networks (which it sounds like this may address).
The primary problem with WIFI networks is that they naturally have a lot more packet loss than normal links. On other links, a lot of packet loss tends to indicate packet congestion, so TCP likes to decrease throughput to try to solve it. Under WIFI, that's of course unnecessary and won't solve the underlying problem.
The article is missing some important technical details and there's a little too much marketing speak, but it does clearly sound like an improved TCP implementation, and probably some kind of traffic shaping hardware on one end (so that they don't have to change the networking stack on linux and windows, patch all their machines, etc).
There were a couple of other posters that suggested that such a thing wouldn't work. One guy even suggested that it would require different routers end to end! This is of course nonsense.
1. TCP != IP. Routers don't have to know anything about TCP to work (although they generally do for NAT, ACL, and traffic shaping purposes). 2. TCP implementations have been changed a number of times in the past. Changing the implementation is not the same as changing the protocol. Nothing else on the network cares what TCP implementation you are using as long as you speak the same protocol.
The issue isn't whether "there are real silverlight sites that work."
The issue is whether or not *all* or almost all silverlight sites work. Software that works "some of the time" isn't good enough to use.
Oh great, they finally have a working implementation of an old version of the software, significantly after the new version comes out. Again, your standards are *much, much* lower than mine.
Practically speaking, new software that comes out will run on.NET presentation foundation. Have they even *started* work on that?
Oh, so now I have some obligation to help fix their stupid broken software? How about I just don't use it.
I love open source software, but I have a real for money job (developing what will be open source software) and I don't have the time or the obligation to fix every buggy tool I run across. If software sucks, I generally just *don't use it*.
I'm glad that some people are working on mono, because it would be an awesome tool to use if it ever started working, but a project that stays in "it'll be usable someday" mode forever is a failed project.
Seriously, I'm not waiting around for mono, I'm not waiting around for wine, and I'm not waiting around for *hurd*. A project that isn't usable after a certain number of years will never be viable.
Practically speaking, communism denotes those governments that say they subscribe to communism... all of which happen to be horrible dictatorships. The reason for this is that a horrible dictatorship is necessary to make communism happen on a large scale.
So... I'm not sure what the distinction is between communism and a dictatorship... it seems like communism is a kind of dictatorship if communism implies dictatorship. There is no exception to this rule in the real world, and it is even difficult to imagine one in which it could arise.
Now, almost all democratic countries, including the united states, implement what are known as "socialist policies." However, notions such as personal property and a free market economy are still the foundation of *all* free societies of significant scale.
So, maybe Marx envisioned communism differently, but this is how it turned out.
that Han's was ever brought to trial. The entire evidence against Hans seems to be that "he's kind of a weird guy."
Really, what other evidence is there? They found a drop of blood *in their home*? What home *doesn't* have genetic evidence *of the people that live their* scattered about. Nina disapeared in her car, away from home. If there was a struggle, it would happen there, not in their house. This entire thing is just stupid, and it sounds like someone, either the police or the DA are just trying to get some publicity and a collar.
The two most suspicious persons that are involved in the case, are of course Sturgeon, an admitted serial killer and generally fucked up guy, and *the wife*, who had every reason to skip town. Sturgeon may be a little weird, but he's not a known criminal, and that's what should count in a case like this...
*Seriously*, though, why isn't that Sturgeon guy in jail? He's *admitted* to commiting murder. What's wrong with the justice system in this country?
myspace was supposed to be some kind of free dating site, but now it seems like it's mostly filled with porn stars, and people trying to sell you something, advertise their band, whatever.
Facebook on the other hand is a straightforward social networking site that makes some effort to hinder other uses. It's a bit classier than myspace.
However, there's two things missing from facebook that myspace kinda sorta offered before it became so crappy and full of annoying people trying to sell you stuff: 1. Self expression. It offers a little blog and a simple way to introduce yourself to total strangers on the web. 2. A way to meet new people. Facebook offers a mechanism for networking with real life friends and acquaintances, but actually takes some effort to hinder meeting new people outside of your social circle. This of course makes it fairly useless as a "dating" site.
I'd actually like to see a free and much classier site that satisfied #1 or #2.
I'd also like a simpler brand of blog site for people who want to let their friends know what they're up to, but without the self agrandizing "personal diary" feel of most personal blogs. Maybe something like facebooks status messages that get broadcast to all of your friends.
has always seemed like a better terraforming candidate to me. The mechanics are a bit more difficult, and would probably involve high altitude balloons, but it has potential to be far more earthlike than mars ever could be.
The issue with mars isn't so much getting plants to live their (although that's a big hurdle), but it's pressure. The planet is smaller, and has significantly less gravity, and can trap far less air. Even if we were able to increase the amount of air available somehow, it would probably just bleed off into space. Venus on the other hand has excess pressure, which is a much easier problem to deal with.
if you make statments like "Microsoft has cemented its dominant position in the industry by employing tactics against its rivals only slightly less ruthless than Saddam's."
Microsoft sells computer software, they don't torture and kill people. Please get some perspective.
I like open source software too, but there are a lot of problems in the world bigger than microsoft's monopoly, like famine, disease, communism... People who make fanatical and nonsensical statements like that only do more to relegate open source to the fringes and make it more difficult for it to be taken seriously in the real world.
Just because they put together an implementation quickly, doesn't mean they've put together a usable implementation...
In general I've not been impressed with mono because, while they advertise themselves as a working.NET implementation, critical features have gone missing for a long time, like windows forms support, or any kind of usable development environment (a good plugin for eclipse anyone?!).
Hacking together a prototype quickly isn't impressive. Getting something production quality is. Will people actually be able to use this to view silverlight sites developed with microsoft tools, or will this remain forever a technology demo like mono has?
if you want to work on a c++ project, you need to sit down and learn c++ first. You've said you've only written a few lines of code. You just aren't ready to work on a large project right now in c or c++, or java. You could work on a smaller project maybe, but you might be best off writing tools and going through the learning process first.
First, I'd look for projects that use skills you already have, and build on those. There are open source projects in c# if that's one of the.NET languages you've used. There's probably even open source projects in visual basic.NET, although I suspect a lot fewer.
Also, generally, as a developer you should have a number of tools available to you. At some point you should probably learn c, as a ridiculous number of projects use that language (even many projects where it is arguably not the best choice). Don't bother learning c++ until you've mastered ANSI c unless you need c++ for a job or something. C projects are far more common in the open source world than c++ projects.
Also, if you're more comfortable in higher level languages, you might consider java or python. Both are widely used in open source and commercial settings. Python especially is easy to learn quickly and use to produce something.
It sucks not having any mentors around, but remember that many people teach themselves most of this stuff, and that books and the internet are good resources. If you have difficult technical questions, the best place to ask them is probably a mailing list (for libraries) or usenet group (for languages).
The main thing to remember is to keep learning stuff and not to be satisfied with whatever training your college gave you. It sounds like your particular college was training people to use a specific tool chain to do a job, but as a developer you need to be able to learn how to use whatever tools are available. It's more valuable to just have really good problem solving skills, and a good understanding of computers.
The exploit against airport seems to be real as far as I can tell... there were a bunch of youtube videos circulating showing that he actually hacked a machine with stock airport instead of a third party wireless card as he implied in the video, but the exploit itself seems real... after all a patch was issued that checks for malformed 802.11 frames...
If there's some real evidence that apple didn't get their bug from him, I'd like to see it. Most of the stuff on the web seems to merely point out that he *could* have faked the exploit video (indeed it would be easy to fake such a thing). They also point out that he was misleading about using a third party wifi card, possibly to make it clear that his hack wasn't apple specific (I'm unclear on the reason for this).
I'm not saying I'm some kind of expert on this guy, I'd never heard of him before you mentioned him, but some googleing suggests that he may have been legitimate, but was subject to a smear campaign by a bunch of people offended by the idea that he hacked a mac. I'd really like to see some conclusive information either way about his hack, preferably from apple.
Some of his other (unrelated complaints) against OSX seem to be legitimate in that OSX doesn't implement address space layout randomization and other features to break buffer overloy exploits which vista does. This seems like a reasonable complaint, or at least a reasonable feature request.
since the iphone is based on safari, you will be getting more than your usual ajax (read javascript + simple networking). Most ajax apps cater to the lowest common denominator of internet explorer.
Webkit on the other hand exposes a number of features such as raster graphics (through the canvas tag), slider controls, composite image attribute, search fields (see http://weblogs.mozillazine.org/hyatt/archives/2004 _07.html). If you look at dashboard widgets they are quite a bit more advanced than most ajax stuff.
Apple seems to be just wrapping a bunch of cocoa API's and exposing them through javascript, so if they continue this trend in future revisions of Webkit, javascript will become an increasingly attractive platform for application development. It will, however, never be as *fast* or as lean in memory usage as an objective-c application; however, this is not a concern for many applications.
Additionally, I do suspect that apple will eventually release an SDK complete with objective-c crosscompiler for iPhone. They probably don't want to release such a thing in the first iteration, as they are worried about settling on things like ABI's and API's for multitouch. Probably some of the input handling code in the initial apps were hacked together pretty quickly for a quick release and it will take some time to factor out a reasonable class library. They may also want to build some kind of sandbox for security purposes, or they may just want to make people write applications in java.
Fat32 isn't exactly *good* either. That "32" means that you have a 32 bit address space, i.e. no file on the file system can exceed 4 GB in size.
The main advantage that FAT32 has is that it is *old* and well documented so drivers are available for every platform, so it's good for transferring files. However, recently userspace (using fuse) read/write NTFS drivers have become available for linux and OSX, so FAT32 may be thoroughly supplanted.
FAT32 also has performance problems when finding free disk space since there's no bitmap of free space, or equivalent finding empty space on the disk to write to requires an expensive linear scan.
This isn't really an answer to your question, but it's on topic and there's some questions I wanted to get answered myself.
First of all, shared_ptr is going into the standard library as part of TR1. Does anyone know when common development environments, i.e. GCC and MSVC, will start including TR1?
Second, I believe that there are a number of garbage collectors available as libraries for C++. I've heard boehm's garbage collector mentioned numerous times. My question is, are any of these libraries any good? Are they really practical to use in real world applications? Do you have to modify all of your types to use it, or can primitive and stl types work with it?
that while you can rip apart the arguments made in the article, violating people's copyrights is still immoral and illegal.
I'm not saying I haven't done it, or that I'll never do it again, but I am saying that it's wrong. I am perfectly aware of the fact that I am not always a moral person, but I have other ambitions in life than sainthood.
It annoys me that a lot of people who pirate music can't deal with the fact that they have moral failings, so they have to vilify the copyright holders. It strikes me as a particularly weak sort of person that always has to cast themselves as the victim in order to feel good about themselves.
It's a lot easier to make some self righteous comments about how you're fighting the evil of the RIAA than to admit a moral failing. I'm not saying the RIAA hasn't done obnoxious stuff, but that's beside the point.
People don't steal to right a wrong. We are not robin hood, prince of thieves. We are petty criminals taking what we want because it is convenient and easy, and because for the most part no one can stop us.
You'be been able to get the windows SDK for free from microsoft's site pretty much forever. The SDK has all of the command line tools, the compiler, the linker, etc, that the IDE sits on top of. It's perfectly usable if you're willing to use make files, batch scripts, and some editor that doesn't automatically compile for you.
It's about equivalent to the tools available for GCC, except not open source. That said, express is a lot better learning environment, since dealing with the command line tools and make files is a nuisance for anything but the smallest projects. Modern IDE's are just a better way of doing things, and definitely a lot easier to learn in.
There seems to be a lot of sun bashing on slashdot, but I've got to say I have no understanding of why. I haven't used solaris yet, but everything I've heard about what they're doing with it has been good.
D-trace sounds pretty sexy, apparently sexy enough that the next OSX version is going to include a port. Binary drivers that don't break compatibility across versions are pretty nice, although I've heard they still don't support as much hardware as linux.
Really, lack of good profilers and the need to compile drivers every time you need to install them is a nuisance on linux and I'm hoping that if solaris does nothing else it will put pressure on linux to improve.
None of those are games that are played competitively... I mean, common, guitar hero? World of warcraft? There's nothing impressive about being good at world of warcraft... it's just sad.
The only games that are really played competitively are starcraft, warcraft 3, and counterstrike. Why the hell not cover those? They already have huge tournaments...
The company I'm working for right now has a large very high quality code base, and rigorous code review standards internally. The code is almost all c++, but it is all very clean and readable, all unit tested, and what's more extremely well commented.
This is an area where high standards in what you allow developers to check in is important. Most shops do everything very add hoc and don't give developers any strict guidelines...
A lot of open source projects have a similar problem. Most of the open source projects I've worked on are totally uncommented and lack any kind of unit test or up to date architectural documentation. The linux kernel is a pretty good example of ugly code, largely because of lack of comments and documentation.
In open source, or in private companies, someone has to ultimately lay down the law and say what practices, like documentation and unit tests that are required. I think people are a little too worried in open source about scaring off the community with this stuff, but it's much more important to maintain a high quality code base.
Exceptions:
Unfortunately, not everyone can use exceptions since integrating with older code that is not exception safe is a problem i.e. if a function throws an exception in exception unsafe code, it will likely leak resources. A lot of older c++ code doesn't use exceptions for whatever reason, and you pretty much can't switch over once you've gone down that path.
RAII:
scoped_ptr is most of what you need to know about RAII... everyone should use it where appropriate, and it's part of the standard library in TR1. You can swap out the destructor if you are holding some other resource than memory, and in that way it also helps with exception safety.
just because the president made some handwaving in the direction of mars doesn't mean it's going to happen... He doesn't actually have any authority to do such a thing, no matter what he says.
That said, I think that we should be looking into manned space travel, because ultimately we are going to want to send *people* into space. Learning stuff about the geology of mars is nice, but speaking long term the real value of space exploration is that we're going to have people living out there someday.
I agree that Ubuntu is by far the best desktop or workstation distribution of linux ever. However, the one issue that people don't seem to want to talk about is Ubuntu's future.
Specifically, there's no way that ubuntu can keep doing what they are doing forever. Right now they have the financial resources of a millionaire backer to draw on, but in the long term that well will run dry, and Canonical doesn't really have any way of making money off of software they give away for free. If you look at the other large distros, they all either charge for the OS (RHEL) or charge for support and upgrades(Suse), but Canonical has stated they will never charge for Ubuntu.
The fact is that Canonical has no business plan, and isd essentially acting like a pre dot com bust company in their planning. My fear is that when they run out of cash, Ubuntu will run out of steam.
at all freaked out by all the incest in the guys writing?
Also, stranger in a strange land was kind of stupid. I mean, they had a social revolution made possible by farie magic... common...
I'm pretty sure this article has been reposted every year since 1995, but with the date change. Funny how they never catch the dupe?
Sprint has some kind of policy of adding charges on and intimidating and lying to the customer until they accept them. I have t-mobile, but a friend of mine with sprint has run into the same problem, and ended up for hours on end every month with their IT staff.
Someone needs to bring a class action suit against these guys, as what they are doing is clearly illegal, and they obviously have no intention of stopping on their own.
It's true that early implementations of TCP were very naive. Over time this has been fixed, but there are still a number of problems remaining, especially to do with packet loss on WIFI networks (which it sounds like this may address).
The primary problem with WIFI networks is that they naturally have a lot more packet loss than normal links. On other links, a lot of packet loss tends to indicate packet congestion, so TCP likes to decrease throughput to try to solve it. Under WIFI, that's of course unnecessary and won't solve the underlying problem.
The article is missing some important technical details and there's a little too much marketing speak, but it does clearly sound like an improved TCP implementation, and probably some kind of traffic shaping hardware on one end (so that they don't have to change the networking stack on linux and windows, patch all their machines, etc).
There were a couple of other posters that suggested that such a thing wouldn't work. One guy even suggested that it would require different routers end to end! This is of course nonsense.
1. TCP != IP. Routers don't have to know anything about TCP to work (although they generally do for NAT, ACL, and traffic shaping purposes).
2. TCP implementations have been changed a number of times in the past. Changing the implementation is not the same as changing the protocol. Nothing else on the network cares what TCP implementation you are using as long as you speak the same protocol.
only it uses more space on your hard disk...
The issue isn't whether "there are real silverlight sites that work."
.NET presentation foundation. Have they even *started* work on that?
The issue is whether or not *all* or almost all silverlight sites work. Software that works "some of the time" isn't good enough to use.
Oh great, they finally have a working implementation of an old version of the software, significantly after the new version comes out. Again, your standards are *much, much* lower than mine.
Practically speaking, new software that comes out will run on
Oh, so now I have some obligation to help fix their stupid broken software? How about I just don't use it.
I love open source software, but I have a real for money job (developing what will be open source software) and I don't have the time or the obligation to fix every buggy tool I run across. If software sucks, I generally just *don't use it*.
I'm glad that some people are working on mono, because it would be an awesome tool to use if it ever started working, but a project that stays in "it'll be usable someday" mode forever is a failed project.
Seriously, I'm not waiting around for mono, I'm not waiting around for wine, and I'm not waiting around for *hurd*. A project that isn't usable after a certain number of years will never be viable.
I'm aware of what communism is...
Practically speaking, communism denotes those governments that say they subscribe to communism... all of which happen to be horrible dictatorships. The reason for this is that a horrible dictatorship is necessary to make communism happen on a large scale.
So... I'm not sure what the distinction is between communism and a dictatorship... it seems like communism is a kind of dictatorship if communism implies dictatorship. There is no exception to this rule in the real world, and it is even difficult to imagine one in which it could arise.
Now, almost all democratic countries, including the united states, implement what are known as "socialist policies." However, notions such as personal property and a free market economy are still the foundation of *all* free societies of significant scale.
So, maybe Marx envisioned communism differently, but this is how it turned out.
*shrug*
that Han's was ever brought to trial. The entire evidence against Hans seems to be that "he's kind of a weird guy."
Really, what other evidence is there? They found a drop of blood *in their home*? What home *doesn't* have genetic evidence *of the people that live their* scattered about. Nina disapeared in her car, away from home. If there was a struggle, it would happen there, not in their house. This entire thing is just stupid, and it sounds like someone, either the police or the DA are just trying to get some publicity and a collar.
The two most suspicious persons that are involved in the case, are of course Sturgeon, an admitted serial killer and generally fucked up guy, and *the wife*, who had every reason to skip town. Sturgeon may be a little weird, but he's not a known criminal, and that's what should count in a case like this...
*Seriously*, though, why isn't that Sturgeon guy in jail? He's *admitted* to commiting murder. What's wrong with the justice system in this country?
myspace was supposed to be some kind of free dating site, but now it seems like it's mostly filled with porn stars, and people trying to sell you something, advertise their band, whatever.
Facebook on the other hand is a straightforward social networking site that makes some effort to hinder other uses. It's a bit classier than myspace.
However, there's two things missing from facebook that myspace kinda sorta offered before it became so crappy and full of annoying people trying to sell you stuff:
1. Self expression. It offers a little blog and a simple way to introduce yourself to total strangers on the web.
2. A way to meet new people. Facebook offers a mechanism for networking with real life friends and acquaintances, but actually takes some effort to hinder meeting new people outside of your social circle. This of course makes it fairly useless as a "dating" site.
I'd actually like to see a free and much classier site that satisfied #1 or #2.
I'd also like a simpler brand of blog site for people who want to let their friends know what they're up to, but without the self agrandizing "personal diary" feel of most personal blogs. Maybe something like facebooks status messages that get broadcast to all of your friends.
has always seemed like a better terraforming candidate to me. The mechanics are a bit more difficult, and would probably involve high altitude balloons, but it has potential to be far more earthlike than mars ever could be.
The issue with mars isn't so much getting plants to live their (although that's a big hurdle), but it's pressure. The planet is smaller, and has significantly less gravity, and can trap far less air. Even if we were able to increase the amount of air available somehow, it would probably just bleed off into space. Venus on the other hand has excess pressure, which is a much easier problem to deal with.
if you make statments like "Microsoft has cemented its dominant position in the industry by employing tactics against its rivals only slightly less ruthless than Saddam's."
Microsoft sells computer software, they don't torture and kill people. Please get some perspective.
I like open source software too, but there are a lot of problems in the world bigger than microsoft's monopoly, like famine, disease, communism... People who make fanatical and nonsensical statements like that only do more to relegate open source to the fringes and make it more difficult for it to be taken seriously in the real world.
Just because they put together an implementation quickly, doesn't mean they've put together a usable implementation...
.NET implementation, critical features have gone missing for a long time, like windows forms support, or any kind of usable development environment (a good plugin for eclipse anyone?!).
In general I've not been impressed with mono because, while they advertise themselves as a working
Hacking together a prototype quickly isn't impressive. Getting something production quality is. Will people actually be able to use this to view silverlight sites developed with microsoft tools, or will this remain forever a technology demo like mono has?
if you want to work on a c++ project, you need to sit down and learn c++ first. You've said you've only written a few lines of code. You just aren't ready to work on a large project right now in c or c++, or java. You could work on a smaller project maybe, but you might be best off writing tools and going through the learning process first.
.NET languages you've used. There's probably even open source projects in visual basic .NET, although I suspect a lot fewer.
First, I'd look for projects that use skills you already have, and build on those. There are open source projects in c# if that's one of the
Also, generally, as a developer you should have a number of tools available to you. At some point you should probably learn c, as a ridiculous number of projects use that language (even many projects where it is arguably not the best choice). Don't bother learning c++ until you've mastered ANSI c unless you need c++ for a job or something. C projects are far more common in the open source world than c++ projects.
Also, if you're more comfortable in higher level languages, you might consider java or python. Both are widely used in open source and commercial settings. Python especially is easy to learn quickly and use to produce something.
It sucks not having any mentors around, but remember that many people teach themselves most of this stuff, and that books and the internet are good resources. If you have difficult technical questions, the best place to ask them is probably a mailing list (for libraries) or usenet group (for languages).
The main thing to remember is to keep learning stuff and not to be satisfied with whatever training your college gave you. It sounds like your particular college was training people to use a specific tool chain to do a job, but as a developer you need to be able to learn how to use whatever tools are available. It's more valuable to just have really good problem solving skills, and a good understanding of computers.
The exploit against airport seems to be real as far as I can tell... there were a bunch of youtube videos circulating showing that he actually hacked a machine with stock airport instead of a third party wireless card as he implied in the video, but the exploit itself seems real... after all a patch was issued that checks for malformed 802.11 frames...
If there's some real evidence that apple didn't get their bug from him, I'd like to see it. Most of the stuff on the web seems to merely point out that he *could* have faked the exploit video (indeed it would be easy to fake such a thing). They also point out that he was misleading about using a third party wifi card, possibly to make it clear that his hack wasn't apple specific (I'm unclear on the reason for this).
I'm not saying I'm some kind of expert on this guy, I'd never heard of him before you mentioned him, but some googleing suggests that he may have been legitimate, but was subject to a smear campaign by a bunch of people offended by the idea that he hacked a mac. I'd really like to see some conclusive information either way about his hack, preferably from apple.
Some of his other (unrelated complaints) against OSX seem to be legitimate in that OSX doesn't implement address space layout randomization and other features to break buffer overloy exploits which vista does. This seems like a reasonable complaint, or at least a reasonable feature request.
since the iphone is based on safari, you will be getting more than your usual ajax (read javascript + simple networking). Most ajax apps cater to the lowest common denominator of internet explorer.
4 _07.html). If you look at dashboard widgets they are quite a bit more advanced than most ajax stuff.
Webkit on the other hand exposes a number of features such as raster graphics (through the canvas tag), slider controls, composite image attribute, search fields (see http://weblogs.mozillazine.org/hyatt/archives/200
Apple seems to be just wrapping a bunch of cocoa API's and exposing them through javascript, so if they continue this trend in future revisions of Webkit, javascript will become an increasingly attractive platform for application development. It will, however, never be as *fast* or as lean in memory usage as an objective-c application; however, this is not a concern for many applications.
Additionally, I do suspect that apple will eventually release an SDK complete with objective-c crosscompiler for iPhone. They probably don't want to release such a thing in the first iteration, as they are worried about settling on things like ABI's and API's for multitouch. Probably some of the input handling code in the initial apps were hacked together pretty quickly for a quick release and it will take some time to factor out a reasonable class library. They may also want to build some kind of sandbox for security purposes, or they may just want to make people write applications in java.
Fat32 isn't exactly *good* either. That "32" means that you have a 32 bit address space, i.e. no file on the file system can exceed 4 GB in size.
The main advantage that FAT32 has is that it is *old* and well documented so drivers are available for every platform, so it's good for transferring files. However, recently userspace (using fuse) read/write NTFS drivers have become available for linux and OSX, so FAT32 may be thoroughly supplanted.
FAT32 also has performance problems when finding free disk space since there's no bitmap of free space, or equivalent finding empty space on the disk to write to requires an expensive linear scan.
Thus ends my FAT32 rant.
the WOW funeral raid...
http://www.youtube.com/watch?v=0TSGUf1xbF8
pwned
This isn't really an answer to your question, but it's on topic and there's some questions I wanted to get answered myself.
First of all, shared_ptr is going into the standard library as part of TR1. Does anyone know when common development environments, i.e. GCC and MSVC, will start including TR1?
Second, I believe that there are a number of garbage collectors available as libraries for C++. I've heard boehm's garbage collector mentioned numerous times. My question is, are any of these libraries any good? Are they really practical to use in real world applications? Do you have to modify all of your types to use it, or can primitive and stl types work with it?
that while you can rip apart the arguments made in the article, violating people's copyrights is still immoral and illegal.
I'm not saying I haven't done it, or that I'll never do it again, but I am saying that it's wrong. I am perfectly aware of the fact that I am not always a moral person, but I have other ambitions in life than sainthood.
It annoys me that a lot of people who pirate music can't deal with the fact that they have moral failings, so they have to vilify the copyright holders. It strikes me as a particularly weak sort of person that always has to cast themselves as the victim in order to feel good about themselves.
It's a lot easier to make some self righteous comments about how you're fighting the evil of the RIAA than to admit a moral failing. I'm not saying the RIAA hasn't done obnoxious stuff, but that's beside the point.
People don't steal to right a wrong. We are not robin hood, prince of thieves. We are petty criminals taking what we want because it is convenient and easy, and because for the most part no one can stop us.
the "express" editions are just a free IDE.
You'be been able to get the windows SDK for free from microsoft's site pretty much forever. The SDK has all of the command line tools, the compiler, the linker, etc, that the IDE sits on top of. It's perfectly usable if you're willing to use make files, batch scripts, and some editor that doesn't automatically compile for you.
It's about equivalent to the tools available for GCC, except not open source. That said, express is a lot better learning environment, since dealing with the command line tools and make files is a nuisance for anything but the smallest projects. Modern IDE's are just a better way of doing things, and definitely a lot easier to learn in.