It's common place for police to leave out key details about a crime or murder scene when annoucining the story to the public. Then, when they get 5,000 calls from people claiming to know what happened; they can use that missing information as a test to weed-out the fakers.
If there were an unsolved crime and one piece of information was missing from the report; and you dream of the crime - WITH - that information in it; then, in theory, that would point a finger at you.
The weight of that finger would depend heavily on the accuracy and legality of the machines that read your dreams.
Having said all of that - this robot is not at all a dream reading machine. It measures electrical activity in the brain and was 'programmed' based on dreams that designers could remember.
It sounds cool, but it's just a novelty. It doesn't know what you are dreaming at all.
Simply 'wanting' something doesn't give you the right to have it. As a full-time software developer, and as someone who isn't rich or a giant faceless company; I offer you two choices....
1.) Don't use my software. 2.) Pay me for my software.
But no, I don't want a politician to say, "Yeah - all those hours you spent working on that piece of software...well, a lot of voters like free stuff and since we can copy it really cheaply and easily; well, we're going to go ahead and let everyone do that. No, sorry, you won't be getting paid, these people don't want to pay you...but they want to use your stuff. Thanks for writting it and all'
Windows auto-detects 'most' of my hardware; but yes, I'll agree that it doesn't find all of it. Here is the difference between Ubuntu and Windows...
I install Windows and my Wireless USB Adapter doesn't work. I insert CD that came with Adapter I bought at a local electronics store (Best Buy, for example). Now my adapter works.
I install Ubuntu and my Wireless USB Adapter also doesn't work. I insert the CD that came with the adapter - but - IT DOESN'T HAVE LINUX DRIVERS. Well, I can't get online with my now worthless PC; hopefully I didn't actually expect Linux to work and I used a live CD, or a partition. Then I can get back into Windows and spam some Linux support forums.
After a bunch of searching, I'll find that, there is no good way for my hardware to work. I can go and buy a new wireless usb adapter. Only, the stores nearby - like Best Buy and Circuit City don't carry any wireless USB adapters that come with Linux drivers that you can just grab off the shelf and take home with confidence that it works.
You'll find that there is some hack/emulator thing you can try, called ndiswrap or some crap. You can use the Windows Drivers and add an extra layer that is, of course, needless overhead - meaning your performance will be worse than it would be in Windows or with a real Linux driver. If you were like me, you'd find that, even with multiple reboots and multiple visits to a forum over a week long period - your wireless adapter simply will not work with Linux, hack/emulator or not.
Then you can order a wireless usb adapter off the net; but even finding one is tricky. It's often based on the chipset and people will rarely give you a link to something you can simply purchase without more research and investigation. I know, because I asked, on the Ubuntu forums. If I'm going to buy a wireless adapter soley to function in Linux, I want one that says it works in Linux plainly and clearly on the box....not one that some other dude 5 states over got to work after tweaking and hacking all night.
Sure, sure, I'm a 'tool' for expecting something I already own, that already works, to work for me in Linux. I should just man up, and run a cable or get an older PCI card that Linux now supports (but, when I had my first wireless card, and it was new - Linux didn't...).
I like Linux, it's great, I run it at home and even if I didn't; I think it is good for the market for Linux to exist. But isn't Linux good enough now for us to admit that it has short comings? Why is that so wrong?
Hardware support in Linux is still 'iffy'. When you tell people otherwise, they are upset (understanably so) when they find out their stuff doesn't work. If you are honest and upfront; people know what they are getting in to. They know there is a decent chance that at least one of the hardware devices they own is going to lack support and that, if they are just at typical user they will either have to go without or get a new Linux-friendly version of that hardware.
If you feel that smart programmers use both, depending on their needs and options available then, I'm sure you'd take offense to someone saying...
"Without it (command-line tools), I'm just pointing and grunting like a caveman. And if that's all you want, I guess that's OK, but I prefer the eloquence and expressiveness of the command line."
Yes, because.Net and Java are 'toy languages' built for 'toy computers' and I'm not a real programmer unless I code in a dark room, drink Jolt, and type at a command line.
A command line is better than a GUI, always.
I'm not an elitist snob at all, I just prefer the eloquence and expressiveness of a command line. The command line is a magical thing to be worshiped. It is not just a tool that I use, because then other tools, some of which might be graphical could come along and be used by people too. Heck, most people are already using those, and I need to set myself apart and be different.
I'll never say something stupid like, 'I use a command line for some tasks because it makes sense, but it is fundementally no better than a GUI and, in fact, a GUI might even be, generally, better for certain tasks.'
No, I'll just say that anyone using a GUI is a caveman pointing and grunting! I'm superior! I'm *BETTER THAN YOU* because I use command line tools. Oh, and if you are a.Net developer, then you are a mere child playing on a toy computer.
---
Seriously. I know this is slashdot and all, but that is pathetic, even for slashdot.
To me, it sounds like you prefered GUI tools over command line - but when you were put in a situation where you couldn't reasonable using GUI tools (remotely via SSH) you decided to adopt command line tools.
And that makes perfect sense to me.
But I'd hardly say that using a GUI tool makes you a caveman or that there is something eliquent about command line tools.
If you are in a situation where you don't have VPN access + a local workstation configured for the job and GUI remoting tools like Remote Desktop aren't going to cut it...then sure, it sounds like you don't have much of a choice, so command line tools win by default.
"but I prefer the eloquence and expressiveness of the command line."
Wow, that's some mighty fine B.S. you've got there. How do you deal with the smell?
Let's be serious; there isn't anyting special about a command line and refering to GUI based tools as being akin to cavement grunting and pointing is pretty darn retarded.
If you prefer to use a text-based debugger; hey, great for you. Every professional programmer I've met who uses command line tools over GUI tools does it because they are working in an environment that lacks quality GUI tools (or because you really think it makes you 'l33t' - but that's really about as toolish of an attitude as I can imagine). How many Java/.Net developers do you who would choose a cmd window over something like Visual Studio? I've met zero.
If you working on an AS/400 and using a command line tool because THAT IS ALL YOU HAVE; then admit that you use it because it is what is available. But don't look down your nose at people who don't.
I don't mean any offense to anyone; but there is some really bad advice. I'm not 'calling anyone out' but I wonder how many people who posted are undergraduates/script kiddies/or lifer's at a corporate gig.
The truth is, understanding code is a unique skill from being able to write code. When I was in college, I didn't *care* about understanding other people's code. Other kids would ask me why their code didn't work, and I'd glaze over and say, "I dunno man, looks good". Professors would put code up, but mostly, I wanted the theory, and I'd go write my own code. It is a skill that really isn't taught in schools, at least not mine.
Most developers are REALLY BAD at this. I say this as someone who was an IT Consultant, who worked on-site with many developers, on many projects, and all that jazz. First off, as a developer, you are hired to MAKE SOMEONE ELSE'S LIFE EASIER. People who think you should walk in on your first week and demand to see the requirements doc, and if they don't have it write it yourself...well, 9 times out of 10 you are going to piss a lot of people off. These people pay you.
Every company I've worked for is trying to get their product out the door. Requirements are often done AFTER the code is done, or at least almost done. Most code is hardly commented. The documentation is never complete, often times, half the developers don't know it exists. Unit test, code reviews, these are things that SHOULD be done, EVERYONE agrees - but is it your place as the 'new guy' to walk in and demand that they be done? Is that why they hired you?
If you are hired as a developer, the answer is 'no'. If you are a project lead or manager of some sort, then the answer is maybe.
Using 'output statements' of any sort as a way to learn a large application is a joke. For a class assignment, sure. But, for any large application, it's essentially worthless. If you don't know how to use a debugger (and I mean no offense when I say this, I used output lines to debug for years before I was actually on the job) LEARN. They aren't difficult, but if you haven't used them, you simply don't know you can do that.
Looking at the code, raw code, and 'thinking' about it; unless you are some amazing code-genius is, again, going to be too cumbersome, at least for me.
Asking about design patterns is certainly something good to ask; but MOST places don't really follow a design pattern. You'll get a buzzword answer, but the actual architecture is always a bastardization of that system. You *could* correct it and make it all perfect; but that would take a lot of time, a lot of testing, and in the end, you'd still have the same end-product. Your boss's boss doesn't want to waste that kind of time and money.
If they haven't given you a specific task or area to work on, then you want to get as good of an understanding of the application in general as you can. The specifics of that will vary depending on the platform/type of application. I work, mostly, with.Net Windows Applications.
First thing I do, is get the app up and running on my local machine. This is pain in the butt, and normally takes a full day, believe it or not. There's typically access problems, or my account isn't setup, yadda, yadda.
Next, since windows is all GUI and all; I get a feel for the main gui elements that are in use. That big tool bar that is always at the top of the application....where does that live in code? What events does it have, yadda, yadda, yadda. At a very high level. We're talking an hour or two here.
Then I jump into the code. Where at? The start. I open the start-up application and I set a breakpoint at whatever the entry-point is. Sometimes, I'll use Visual Studio's Code Diagramming tool to get a visual hiarchy of the classes; but mostly I just print that out so my desk looks 'complicated'. Pay attention to global/application wide variables - what do they do, why are they there. Also, look for inheritance. If a form/class inher
I've read a few of the comments here and I think the vast majority of people here don't really have a clue what makes a good programmer. Everyone that said, 'Well, I'd have him code up something in XXX language of my choice...' - I think you are wrong.
That might be a fine test to learn if someone is a good XXX programmer. But it has nothing to do with whether or not they are a good programmer. There are great developers out there who have years of experience NOT working with the language of your choice.
I've never touched Java in my life. I've used PERL, in total, about 3 times. Never done PHP, RUBY, PYTHON...heck, I haven't done any C++ since high school.
A good programmer is going to be a good programmer regardless of the tools he is using. The programming language of choice is a tool. I think of myself as a Software Developer, not a '.Net Developer' or a 'C# Developer'...and yes, if you give me a pop-quiz about how to use memcpy I'm going to fail. But why should I know about it? Conceptually, I understand the gist of memory allocation, I've heard of malloc as well - but how is that an accurate reflection of the abilities of a.Net Developer who doesn't have a single line of code, anywhere, that contains 'memcpy' or 'malloc'?
This is the equivalent of saying, 'To Recognize a good athlete have him attempt a double leg circle on the pommel horse'....but that's really a test to see if someone is a respectible gymnast. You could take an NFL star and, odds are, he cannot perform a basic gymnastics move.
That's a horrible way to test for someone being a good programmer.
That implies that 'time' as we know it is the same in the 'real' world. When I run an emulator on my PC, the game I'm playing doesn't know that it is being run on an emulator. If I'm playing Zelda OoT and I step on a switch that opens a door that will remain open for 30 seconds...
And then I pause the emulator for three days of 'my' time; no time has passed in the game.
Given what we know about software and what not, first and foremost - assuming we are all just a VR simulation, intentionally trying to crash the system might be a really, really, really bad idea. If we're running with a debugger attached, and we do something that throws an exception - time as we know it would stop instantly. The developer/sys admin running us could take a week, month, year, or any unit of time to come back, fix the error and continue execution.
Or, we could simply 'crash', which would be the end of the world to all of us - to the developer, he'd fix a few lines of code and re-run us.
In a simulation, everything is simulated; including our concept of time. There wouldn't need to be any outside entity watching us in 'real-time' to 'instantly' fix us.
Shhhh! No badmouthing Linux here. Linux HAS more support for hardware than Windows! I don't care what anyone says, it *DOES*, it IS BETTER because I say so. Anyone who has problems are just n0obs who didn't RTFM, besides, it's not LINUX's fault that the MANUFACTURES don't support Linux. Can't blame Linux for that, so don't you DARE speak of it, because it will sound as though you are speaking ill of Linux.
Besides, your hardware is crap - you should go and buy brand new hardware that supports Linux. What? You want a comprehensive list of what items you can buy, off the shelf, at a local store? Well, sorry, no such list exists; you'll get different milage with different distros - but if you weren't such a n0ob you'd just already have hardware that was supported anyway. Why not just buy a whole new PC from some online vendor who will give you a pre-installed Linux system? HuH? Why be such a MS fan-boy - just trash your system and get a new one! Duh!
I won't respond to everything you said - but I'll take a stab at the so called hardware robustness offered by Ubuntu.
First and foremost - a 'driver disk' isn't a problem for 99.9% of users. If I go to Best Buy and pick out a TV Tuner and inside that box there is a disk with a driver that will make it work on my system - it is no extra work for me. I'm happy. I like that.
You'd be HARD PRESSED to go to Best Buy and find ANYTHING made for a PC that, with the contents in the box, won't run on Windows XP. Vista isn't quite there, often times you have to go and download crap and deal with drivers - but in 6 months that won't be the case. It's already getting a lot better.
I need an external, wireless, USB network adapter. If I go to Best Buy today and buy one of each unique model they have....with the contents of what is in the box - how many of them will work in Ubuntu? Half? Less than half? Oh wait, what is that? I have to use NDISWRAP or some bs...and then I need to get the Windows drivers anyway? So, how is that better? Oh, and I have additional overhead and CPU costs because I'm using a Windows driver on Linux.
I bought an Ubuntu book from the Library (yes, I like to buy books). I had THREE WIRELESS USB ADAPTERS and NOT ONE OF THEM would work in Ubuntu. I'm told a new version has come out and now ONE of my wireless USB adapters will work, but only with ndiswrap and some hacks.
Linux is *NOT EVEN CLOSE* to being hardware friendly. When I walk into Best Buy - where is the Linux hardware section? There isn't one. You have Windows, and you have Mac. And you can confident that your Mac hardware will work in your Mac - and you can be confident that your windows hardware will work in Windows. Linux is a crapshoot. It might work; but if it doesn't, you are screwed.
I own an iRiver T10 mp3 player. It holds 256mb of music. I've had it for years, I use it at the gym; I love it. It's everything I need or want in an MP3 player. It doesn't work in Linux. I tried it. It didn't. I found some blogs linking to Chinese websites that supposedly can do it (google: iriver t10 linux - visit first result). Read the comments, even using the hack that, as the author warns could turn your mp3 player into a paper weight - people have limited success.
That's not good hardware support. Linux is far, far behind Windows in that regard. I know, because I'm a windows user who has lots of crappy hardware and I install Linux very year or so and see if it's ready to become my desktop OS. And each and everytime I find that something I need doesn't work.
I had an old internal wireless card that, years back, Linux didn't support. Now, it does - but I don't use the internal wireless card - I use an external USB one...and Linux doesn't support it. I'm sure that, sooner or later, Linux will support it - right around the time that a newer, faster, better version is for sale; and then that new thing won't be supported.
Oh, and let's not forget about the crappy video driver issues Linux users get to deal with. I guess people gloss over that because, ya know, games for Linux are few and far between (and by that, I mean...games that don't suck. No offense, but google for 'best linux games' and tell me that compares to Windows.
I'm a computer programmer; I enjoy writting code. I don't enjoy traffic or getting up early go even going to work, for the most part. It used to be that from 8-5 I *had* to be at my desk. That meant waking up early, sitting in traffic and generally being not too happy about it. That meant that on a Saturday when I actually felt like coding - I couldn't.
Thanks to my cell-phone (that recieves my e-mails as text messages), VPN and call forwarding on my office phone when I'm at home I *am* at work. That means nobody cares where I am, as long as I'm not supposed to be in a meeting, as long as I'm doing work. I always put in 40 hours a week, but I'm a lot, lot, lot happier when I have the flexibility to sleep an extra two hours in the morning and put in a productive 8 hours instead of sitting at my desk all day trying not to fall asleep.
I do something very similar - but I worry that sooner or later there will be dictionary attacks that follow basic paterns over a qwerty keyboard. I started with q1w2e3r4t5 and then went on to more complex patterns. Now I basically have one pattern that can be applied about any 'start key'.
As a customer of Comcast I *want* them to prioritize packets....
Take three people - have one surf the web 8 hours a day, another play online games 8 hours a day, and one spend 1 hour a day looking for torrents to build up his DVD collection.
Who will use the most bandwidth in a month? Without a doubt, the torrent guy will. It takes just a few minutes to find and begin downloading countless gigs of files and it will run in the background downloading and sharing for as long as the user allows it.
MOST of the torrent related traffic is pirated crap. Sure, you get the occassional Linux distro and some games are starting to use it (like WoW) but, the general idea is that companies that USED to have to host files had to fit the bill for the bandwidth. Thanks to bitTorrent and the like, the bill is passed onto consumers.
A few years back, the number of pirates and heavy users were offset by a lot of casual users. A few years before that you had dial-ups and you paid for what you use. Now, casual users like my Mom can download movies rather than spend the $1 dollar to rent it at RedBox...and why not? It doesn't cost her anything.
Most of SlashDot doesn't care - because we're high bandwidth users. We download things, movies, music, OSes, and applications and we want our torrents to be fast! But the shared nature of the cable modem was built on the idea that not everyone is using their connection all the time. The whole unlimited, always on, thing is bad marketing, I'll admit that, and it's making the problem worse. But the truth is, no cable provider can charge the prices they currently charge and allow all of their users to be downloading 24/7 at speeds anyone would consider reasonable.
As someone who downloads a bunch of crap all the time; I don't care. If my download goes at 100k instead of 200k, I'll just keep downloading, besides which it's the latency that really takes a hit anyway. It's the web surfers and especially the gamers who find their connection unusable. As a priate, so what, it'll take 2 days instead of 1 day to watch my DVD of Spiderman 3. But the people who check their e-mail and surf to mySpace.com are going to notice the slow connection speed. The guy trying to play BF2142 is going to lag and suck.
The simple solution here, is to get rid of the concept of 'unlimited bandwidth' and have people pay for what they use. Then, I'd have a reason *not* to leave my computer on 24/7 downloading movies. Then, lots of people, like myself, would download less and we'd share our connections less. People who don't use the net much...would pay less, and they'd have better connections. People who pirate would pirate less and they'd certainly host files for less time. That means less seeds for crap nobody is willing to pay money to host (games like WoW, would have to go back to the old fashioned system of PAYING to host files for their customers...boo-hoo), most of what nobody would pay to host is ILLEGAL, and it represent a majority of the traffic anyway. So now the asian kid who just *needs* every DVD ever made - even if it means he has to pay more in his cable bill is going to find that there are less people willing to seed the movies he wants. Instead of downloading at 200k, it might crawl along at 75k.
Everyone wins, except the people who are using more than their fair share - they'd pay more, but it'd be fair - everyone would pay for what they use.
I don't think I'm making a mountain out of a molehill...
It's just the same old story; and this is just the most recent attempt - like I've said, I've done this, at least, 3 other times before over a span of roughly 8 years.
'Linux is great, it's easy, it just works; it's READY for the desktop - Windows won't last'
Then I install it.
Then something doesn't work.
Then I try to find help, try a bunch of complicated stuff; most often yeilding no positive results; after spamming support forums I get called a n0ob a few times, told to RTFM, and told to buy new hardware.
That's been my experience with Linux, time and time again.
I say, 'Well, I have a lot of Excel files...are you sure this will work in Linux?'
And people say, 'Oh yes! Open Office is just like Office and it will open your files!'
Then I get Open Office try to open my Excel files, and it doesn't work. So I say, "Umm, hey Linux guys - my stuff don't work"
Then I get the RTFM, it's your fault, blah, blah, and then, eventually some helpful guy will come along and say...
"Ahh, well, OpenOffice can open most.xls files - however some of the functionality isn't supported. All of your Excel files that use VBA won't work. There is an OpenOffice scripting language that can accomplish virtually the same thing; but there is no direct 1-to-1 conversion tool. You'll have to learn this new scripting language and re-code everything you had in VBA before it will work".
So, to summarize, here is the 'Linux-Experience Life-Cycle'
1.) Hype over ______ 2.) Decide to try _______ 3.) Realize ______ doesn't work as described 4.) Ask why 5.) Get flamed 6.) Flame back 7.) Get helpful answer explaining that _____ was hyped up and what you are trying to do doesn't work because it won't work but you can try some other _______ or maybe do ________.
You are assuming that I have to pay $200 dollars for Windows.
I'm looking at paying nothing for Vista Ultimate (legit copy)/Windows XP (legit copy) or paying $40 dollars on a wireless card to use an OS that is (arguably) as good as either version of Windows. I know that Linux has a lot of great advantages, but it DOES have a fair number of disadvantages.
I like Linux, I want to use it and support it (and I probably will actually buy the WiFi adapter that will work with it) - but the idea that it's hardware support is at the same level of Windows seems like a joke to me, and I feel as though it's dishonest/misleading/hurtful to the Linux movement.
When you have to investigate the particular chipset because the name on the box won't always work, that's a good sign that whatever you are buying it for lacks good hardware support.
When you have to use things like ndiswrapper, that's a good sign that whatever you are buying lacks good hardware support.
That's not to say Linux is bad, or Linux sucks...I really like Linux and Ubuntu specifically - but when you try to sell a bicycle to someone who wants a car - even if it's a great bicycle; he's going to be disappointed. If you sell a great bicycle to a guy who wants a great bicycle, he's going to be happy.
The general perception people get from the Linux communtiy and how Linux actually is, are two different things. I know myself, and others, who went in expecting everyting we were told about Linux to be true; only to be completely disappointed by what it was. Linux, as it is, is great - it has enough merit, own it's own; to be a serious OS.
Say the truth!
Linux is free, Linux gives you choice, Linux can be very secure, Linux can be very stable, Linux can be difficult to configure, Linux can be a breeze to maintain once correctly configured, Linux supports a lot of hardware...but it DOESN'T support a lot of hardware too, Linux has a lot of great software available to it, but it probably doesn't support a lot of what you currently use, if you play games Linux will cause you headaches, you can probably get anything you want to work, eventually, but it probably won't work as well or as fast as it did in Windows, Linux is easy to use, but it's not windows and there is a learning curve, Linux installs are working better and better out of the box, but you will need to do more to get things how you want it that you had to do in Windows.
This is perfect - thank you so much for the Link. What can we all learn from this?
Well, some guy tested 4 different WiFi cards that he hand-selected, and he tested them in four different versions of Ubuntu. That works out to a total of 16 possibilities.
According to him....
The ASUS WL-167G didn't work in any of the four (4 Total Failures) The Edimax 7318USg didn't work in any of the four (8 Total Failures) The MSI US54SE doesn't work correctly in any of the four - works 'well enough' to get online in 3 (9 Total Failures, 3 Kinda Works) The ZyXEL ZyAir G-220 v2 didn't work in three (12 Total Failures) - works correctly in 1 (1 Total Success)
So, according to this blog, of our 16 combinations we have 12 Total Failures, 3 that kinda work, and ONE that does work.
1 out of 16 work correctly.
ONE out of 16.
Well, geez, don't I feel silly. Here I've been spouting off that hardware support for Linux/Ubuntu isn't as great as people make it out to be and here we've found *one* combination of 16 that actually work. Don't I look silly?
And, what did the guy who created that blog have to say about hardware support in Linux?
"Maybe it's a silly idea, but nobody else is offering a list of just-works hardware for just one distro, for the people who want a simple answer. All the lists I've seen so far are vague and out-of-date and/or have a bizarre understanding of "works out-of-the-box". It's time to simplify the question that we are trying to answer."
All the lists he's seen are vague and out-of-date....well, at least I'm not the only one.
But yeah, that guy doesn't know WTF he's talking about; I'm just lazy and can't do my own research.
Oh, and let's remember - that guy didn't pick 4 random WiFi cards - those were hand selected. "I tried four different USB wireless adaptors - the most widely available ones that were most likely to work based on my previous entries."
But - all joking aside, I really do appreciate the link as I'm going to buy the one that he says does work with Gutsy.
It's common place for police to leave out key details about a crime or murder scene when annoucining the story to the public. Then, when they get 5,000 calls from people claiming to know what happened; they can use that missing information as a test to weed-out the fakers.
If there were an unsolved crime and one piece of information was missing from the report; and you dream of the crime - WITH - that information in it; then, in theory, that would point a finger at you.
The weight of that finger would depend heavily on the accuracy and legality of the machines that read your dreams.
Having said all of that - this robot is not at all a dream reading machine. It measures electrical activity in the brain and was 'programmed' based on dreams that designers could remember.
It sounds cool, but it's just a novelty. It doesn't know what you are dreaming at all.
"Making copies...without permission"
Very interesting stuff.
Now, let me ask you this....when people 'use' software that they haven't paid for....how do *you* think they typical get access to that software?
Hmmmm....
This is a tough one.....
Oh wait...I KNOW! THEY MAKE COPIES OF IT!!!!!
Dude, you are a jackass.
Why don't you go ahead and explain to all of us what copyright law DOES prohibit?
No.
Simply 'wanting' something doesn't give you the right to have it. As a full-time software developer, and as someone who isn't rich or a giant faceless company; I offer you two choices....
1.) Don't use my software.
2.) Pay me for my software.
But no, I don't want a politician to say, "Yeah - all those hours you spent working on that piece of software...well, a lot of voters like free stuff and since we can copy it really cheaply and easily; well, we're going to go ahead and let everyone do that. No, sorry, you won't be getting paid, these people don't want to pay you...but they want to use your stuff. Thanks for writting it and all'
But hey, that's just me.
Not for my desktop.
I've tried Linux every couple years and, not once, has it ever worked with all of my hardware.
My last attempt was with Ubuntu. Ubuntu didn't recognize either of wireless usb adapters.
ndiswrap didn't get them to work either.
People here like things simple...
Windows -> Bad
Linux -> Good
and they don't like anyone saying anything different.
That's B.S....
Windows auto-detects 'most' of my hardware; but yes, I'll agree that it doesn't find all of it. Here is the difference between Ubuntu and Windows...
I install Windows and my Wireless USB Adapter doesn't work. I insert CD that came with Adapter I bought at a local electronics store (Best Buy, for example). Now my adapter works.
I install Ubuntu and my Wireless USB Adapter also doesn't work. I insert the CD that came with the adapter - but - IT DOESN'T HAVE LINUX DRIVERS. Well, I can't get online with my now worthless PC; hopefully I didn't actually expect Linux to work and I used a live CD, or a partition. Then I can get back into Windows and spam some Linux support forums.
After a bunch of searching, I'll find that, there is no good way for my hardware to work. I can go and buy a new wireless usb adapter. Only, the stores nearby - like Best Buy and Circuit City don't carry any wireless USB adapters that come with Linux drivers that you can just grab off the shelf and take home with confidence that it works.
You'll find that there is some hack/emulator thing you can try, called ndiswrap or some crap. You can use the Windows Drivers and add an extra layer that is, of course, needless overhead - meaning your performance will be worse than it would be in Windows or with a real Linux driver. If you were like me, you'd find that, even with multiple reboots and multiple visits to a forum over a week long period - your wireless adapter simply will not work with Linux, hack/emulator or not.
Then you can order a wireless usb adapter off the net; but even finding one is tricky. It's often based on the chipset and people will rarely give you a link to something you can simply purchase without more research and investigation. I know, because I asked, on the Ubuntu forums. If I'm going to buy a wireless adapter soley to function in Linux, I want one that says it works in Linux plainly and clearly on the box....not one that some other dude 5 states over got to work after tweaking and hacking all night.
Sure, sure, I'm a 'tool' for expecting something I already own, that already works, to work for me in Linux. I should just man up, and run a cable or get an older PCI card that Linux now supports (but, when I had my first wireless card, and it was new - Linux didn't...).
I like Linux, it's great, I run it at home and even if I didn't; I think it is good for the market for Linux to exist. But isn't Linux good enough now for us to admit that it has short comings? Why is that so wrong?
Hardware support in Linux is still 'iffy'. When you tell people otherwise, they are upset (understanably so) when they find out their stuff doesn't work. If you are honest and upfront; people know what they are getting in to. They know there is a decent chance that at least one of the hardware devices they own is going to lack support and that, if they are just at typical user they will either have to go without or get a new Linux-friendly version of that hardware.
If you feel that smart programmers use both, depending on their needs and options available then, I'm sure you'd take offense to someone saying...
"Without it (command-line tools), I'm just pointing and grunting like a caveman. And if that's all you want, I guess that's OK, but I prefer the eloquence and expressiveness of the command line."
Yes, because .Net and Java are 'toy languages' built for 'toy computers' and I'm not a real programmer unless I code in a dark room, drink Jolt, and type at a command line.
.Net developer, then you are a mere child playing on a toy computer.
A command line is better than a GUI, always.
I'm not an elitist snob at all, I just prefer the eloquence and expressiveness of a command line. The command line is a magical thing to be worshiped. It is not just a tool that I use, because then other tools, some of which might be graphical could come along and be used by people too. Heck, most people are already using those, and I need to set myself apart and be different.
I'll never say something stupid like, 'I use a command line for some tasks because it makes sense, but it is fundementally no better than a GUI and, in fact, a GUI might even be, generally, better for certain tasks.'
No, I'll just say that anyone using a GUI is a caveman pointing and grunting! I'm superior! I'm *BETTER THAN YOU* because I use command line tools. Oh, and if you are a
---
Seriously. I know this is slashdot and all, but that is pathetic, even for slashdot.
To me, it sounds like you prefered GUI tools over command line - but when you were put in a situation where you couldn't reasonable using GUI tools (remotely via SSH) you decided to adopt command line tools.
And that makes perfect sense to me.
But I'd hardly say that using a GUI tool makes you a caveman or that there is something eliquent about command line tools.
If you are in a situation where you don't have VPN access + a local workstation configured for the job and GUI remoting tools like Remote Desktop aren't going to cut it...then sure, it sounds like you don't have much of a choice, so command line tools win by default.
Lack of other options, and all that jazz.
"but I prefer the eloquence and expressiveness of the command line."
Wow, that's some mighty fine B.S. you've got there. How do you deal with the smell?
Let's be serious; there isn't anyting special about a command line and refering to GUI based tools as being akin to cavement grunting and pointing is pretty darn retarded.
If you prefer to use a text-based debugger; hey, great for you. Every professional programmer I've met who uses command line tools over GUI tools does it because they are working in an environment that lacks quality GUI tools (or because you really think it makes you 'l33t' - but that's really about as toolish of an attitude as I can imagine). How many Java/.Net developers do you who would choose a cmd window over something like Visual Studio? I've met zero.
If you working on an AS/400 and using a command line tool because THAT IS ALL YOU HAVE; then admit that you use it because it is what is available. But don't look down your nose at people who don't.
I couldn't agree more.
I don't mean any offense to anyone; but there is some really bad advice. I'm not 'calling anyone out' but I wonder how many people who posted are undergraduates/script kiddies/or lifer's at a corporate gig.
.Net Windows Applications.
The truth is, understanding code is a unique skill from being able to write code. When I was in college, I didn't *care* about understanding other people's code. Other kids would ask me why their code didn't work, and I'd glaze over and say, "I dunno man, looks good". Professors would put code up, but mostly, I wanted the theory, and I'd go write my own code. It is a skill that really isn't taught in schools, at least not mine.
Most developers are REALLY BAD at this. I say this as someone who was an IT Consultant, who worked on-site with many developers, on many projects, and all that jazz. First off, as a developer, you are hired to MAKE SOMEONE ELSE'S LIFE EASIER. People who think you should walk in on your first week and demand to see the requirements doc, and if they don't have it write it yourself...well, 9 times out of 10 you are going to piss a lot of people off. These people pay you.
Every company I've worked for is trying to get their product out the door. Requirements are often done AFTER the code is done, or at least almost done. Most code is hardly commented. The documentation is never complete, often times, half the developers don't know it exists. Unit test, code reviews, these are things that SHOULD be done, EVERYONE agrees - but is it your place as the 'new guy' to walk in and demand that they be done? Is that why they hired you?
If you are hired as a developer, the answer is 'no'. If you are a project lead or manager of some sort, then the answer is maybe.
Using 'output statements' of any sort as a way to learn a large application is a joke. For a class assignment, sure. But, for any large application, it's essentially worthless. If you don't know how to use a debugger (and I mean no offense when I say this, I used output lines to debug for years before I was actually on the job) LEARN. They aren't difficult, but if you haven't used them, you simply don't know you can do that.
Looking at the code, raw code, and 'thinking' about it; unless you are some amazing code-genius is, again, going to be too cumbersome, at least for me.
Asking about design patterns is certainly something good to ask; but MOST places don't really follow a design pattern. You'll get a buzzword answer, but the actual architecture is always a bastardization of that system. You *could* correct it and make it all perfect; but that would take a lot of time, a lot of testing, and in the end, you'd still have the same end-product. Your boss's boss doesn't want to waste that kind of time and money.
If they haven't given you a specific task or area to work on, then you want to get as good of an understanding of the application in general as you can. The specifics of that will vary depending on the platform/type of application. I work, mostly, with
First thing I do, is get the app up and running on my local machine. This is pain in the butt, and normally takes a full day, believe it or not. There's typically access problems, or my account isn't setup, yadda, yadda.
Next, since windows is all GUI and all; I get a feel for the main gui elements that are in use. That big tool bar that is always at the top of the application....where does that live in code? What events does it have, yadda, yadda, yadda. At a very high level. We're talking an hour or two here.
Then I jump into the code. Where at? The start. I open the start-up application and I set a breakpoint at whatever the entry-point is. Sometimes, I'll use Visual Studio's Code Diagramming tool to get a visual hiarchy of the classes; but mostly I just print that out so my desk looks 'complicated'. Pay attention to global/application wide variables - what do they do, why are they there. Also, look for inheritance. If a form/class inher
I've read a few of the comments here and I think the vast majority of people here don't really have a clue what makes a good programmer. Everyone that said, 'Well, I'd have him code up something in XXX language of my choice...' - I think you are wrong.
.Net Developer who doesn't have a single line of code, anywhere, that contains 'memcpy' or 'malloc'?
That might be a fine test to learn if someone is a good XXX programmer. But it has nothing to do with whether or not they are a good programmer. There are great developers out there who have years of experience NOT working with the language of your choice.
I've never touched Java in my life. I've used PERL, in total, about 3 times. Never done PHP, RUBY, PYTHON...heck, I haven't done any C++ since high school.
A good programmer is going to be a good programmer regardless of the tools he is using. The programming language of choice is a tool. I think of myself as a Software Developer, not a '.Net Developer' or a 'C# Developer'...and yes, if you give me a pop-quiz about how to use memcpy I'm going to fail. But why should I know about it? Conceptually, I understand the gist of memory allocation, I've heard of malloc as well - but how is that an accurate reflection of the abilities of a
This is the equivalent of saying, 'To Recognize a good athlete have him attempt a double leg circle on the pommel horse'....but that's really a test to see if someone is a respectible gymnast. You could take an NFL star and, odds are, he cannot perform a basic gymnastics move.
That's a horrible way to test for someone being a good programmer.
That's not true - people have lost weight on all McDonald's diets...
That implies that 'time' as we know it is the same in the 'real' world. When I run an emulator on my PC, the game I'm playing doesn't know that it is being run on an emulator. If I'm playing Zelda OoT and I step on a switch that opens a door that will remain open for 30 seconds...
And then I pause the emulator for three days of 'my' time; no time has passed in the game.
Given what we know about software and what not, first and foremost - assuming we are all just a VR simulation, intentionally trying to crash the system might be a really, really, really bad idea. If we're running with a debugger attached, and we do something that throws an exception - time as we know it would stop instantly. The developer/sys admin running us could take a week, month, year, or any unit of time to come back, fix the error and continue execution.
Or, we could simply 'crash', which would be the end of the world to all of us - to the developer, he'd fix a few lines of code and re-run us.
In a simulation, everything is simulated; including our concept of time. There wouldn't need to be any outside entity watching us in 'real-time' to 'instantly' fix us.
Shhhh! No badmouthing Linux here. Linux HAS more support for hardware than Windows! I don't care what anyone says, it *DOES*, it IS BETTER because I say so. Anyone who has problems are just n0obs who didn't RTFM, besides, it's not LINUX's fault that the MANUFACTURES don't support Linux. Can't blame Linux for that, so don't you DARE speak of it, because it will sound as though you are speaking ill of Linux.
Besides, your hardware is crap - you should go and buy brand new hardware that supports Linux. What? You want a comprehensive list of what items you can buy, off the shelf, at a local store? Well, sorry, no such list exists; you'll get different milage with different distros - but if you weren't such a n0ob you'd just already have hardware that was supported anyway. Why not just buy a whole new PC from some online vendor who will give you a pre-installed Linux system? HuH? Why be such a MS fan-boy - just trash your system and get a new one! Duh!
I won't respond to everything you said - but I'll take a stab at the so called hardware robustness offered by Ubuntu.
First and foremost - a 'driver disk' isn't a problem for 99.9% of users. If I go to Best Buy and pick out a TV Tuner and inside that box there is a disk with a driver that will make it work on my system - it is no extra work for me. I'm happy. I like that.
You'd be HARD PRESSED to go to Best Buy and find ANYTHING made for a PC that, with the contents in the box, won't run on Windows XP. Vista isn't quite there, often times you have to go and download crap and deal with drivers - but in 6 months that won't be the case. It's already getting a lot better.
I need an external, wireless, USB network adapter. If I go to Best Buy today and buy one of each unique model they have....with the contents of what is in the box - how many of them will work in Ubuntu? Half? Less than half? Oh wait, what is that? I have to use NDISWRAP or some bs...and then I need to get the Windows drivers anyway? So, how is that better? Oh, and I have additional overhead and CPU costs because I'm using a Windows driver on Linux.
I bought an Ubuntu book from the Library (yes, I like to buy books). I had THREE WIRELESS USB ADAPTERS and NOT ONE OF THEM would work in Ubuntu. I'm told a new version has come out and now ONE of my wireless USB adapters will work, but only with ndiswrap and some hacks.
Linux is *NOT EVEN CLOSE* to being hardware friendly. When I walk into Best Buy - where is the Linux hardware section? There isn't one. You have Windows, and you have Mac. And you can confident that your Mac hardware will work in your Mac - and you can be confident that your windows hardware will work in Windows. Linux is a crapshoot. It might work; but if it doesn't, you are screwed.
I own an iRiver T10 mp3 player. It holds 256mb of music. I've had it for years, I use it at the gym; I love it. It's everything I need or want in an MP3 player. It doesn't work in Linux. I tried it. It didn't. I found some blogs linking to Chinese websites that supposedly can do it (google: iriver t10 linux - visit first result). Read the comments, even using the hack that, as the author warns could turn your mp3 player into a paper weight - people have limited success.
That's not good hardware support. Linux is far, far behind Windows in that regard. I know, because I'm a windows user who has lots of crappy hardware and I install Linux very year or so and see if it's ready to become my desktop OS. And each and everytime I find that something I need doesn't work.
I had an old internal wireless card that, years back, Linux didn't support. Now, it does - but I don't use the internal wireless card - I use an external USB one...and Linux doesn't support it. I'm sure that, sooner or later, Linux will support it - right around the time that a newer, faster, better version is for sale; and then that new thing won't be supported.
Oh, and let's not forget about the crappy video driver issues Linux users get to deal with. I guess people gloss over that because, ya know, games for Linux are few and far between (and by that, I mean...games that don't suck. No offense, but google for 'best linux games' and tell me that compares to Windows.
It doesn't.
Love that the Home/Work boundary is shattered.
I'm a computer programmer; I enjoy writting code. I don't enjoy traffic or getting up early go even going to work, for the most part. It used to be that from 8-5 I *had* to be at my desk. That meant waking up early, sitting in traffic and generally being not too happy about it. That meant that on a Saturday when I actually felt like coding - I couldn't.
Thanks to my cell-phone (that recieves my e-mails as text messages), VPN and call forwarding on my office phone when I'm at home I *am* at work. That means nobody cares where I am, as long as I'm not supposed to be in a meeting, as long as I'm doing work. I always put in 40 hours a week, but I'm a lot, lot, lot happier when I have the flexibility to sleep an extra two hours in the morning and put in a productive 8 hours instead of sitting at my desk all day trying not to fall asleep.
I do something very similar - but I worry that sooner or later there will be dictionary attacks that follow basic paterns over a qwerty keyboard. I started with q1w2e3r4t5 and then went on to more complex patterns. Now I basically have one pattern that can be applied about any 'start key'.
You didn't happen to work for a small consulting firm in Downtown Chicago, did you?
As a customer of Comcast I *want* them to prioritize packets....
Take three people - have one surf the web 8 hours a day, another play online games 8 hours a day, and one spend 1 hour a day looking for torrents to build up his DVD collection.
Who will use the most bandwidth in a month? Without a doubt, the torrent guy will. It takes just a few minutes to find and begin downloading countless gigs of files and it will run in the background downloading and sharing for as long as the user allows it.
MOST of the torrent related traffic is pirated crap. Sure, you get the occassional Linux distro and some games are starting to use it (like WoW) but, the general idea is that companies that USED to have to host files had to fit the bill for the bandwidth. Thanks to bitTorrent and the like, the bill is passed onto consumers.
A few years back, the number of pirates and heavy users were offset by a lot of casual users. A few years before that you had dial-ups and you paid for what you use. Now, casual users like my Mom can download movies rather than spend the $1 dollar to rent it at RedBox...and why not? It doesn't cost her anything.
Most of SlashDot doesn't care - because we're high bandwidth users. We download things, movies, music, OSes, and applications and we want our torrents to be fast! But the shared nature of the cable modem was built on the idea that not everyone is using their connection all the time. The whole unlimited, always on, thing is bad marketing, I'll admit that, and it's making the problem worse. But the truth is, no cable provider can charge the prices they currently charge and allow all of their users to be downloading 24/7 at speeds anyone would consider reasonable.
As someone who downloads a bunch of crap all the time; I don't care. If my download goes at 100k instead of 200k, I'll just keep downloading, besides which it's the latency that really takes a hit anyway. It's the web surfers and especially the gamers who find their connection unusable. As a priate, so what, it'll take 2 days instead of 1 day to watch my DVD of Spiderman 3. But the people who check their e-mail and surf to mySpace.com are going to notice the slow connection speed. The guy trying to play BF2142 is going to lag and suck.
The simple solution here, is to get rid of the concept of 'unlimited bandwidth' and have people pay for what they use. Then, I'd have a reason *not* to leave my computer on 24/7 downloading movies. Then, lots of people, like myself, would download less and we'd share our connections less. People who don't use the net much...would pay less, and they'd have better connections. People who pirate would pirate less and they'd certainly host files for less time. That means less seeds for crap nobody is willing to pay money to host (games like WoW, would have to go back to the old fashioned system of PAYING to host files for their customers...boo-hoo), most of what nobody would pay to host is ILLEGAL, and it represent a majority of the traffic anyway. So now the asian kid who just *needs* every DVD ever made - even if it means he has to pay more in his cable bill is going to find that there are less people willing to seed the movies he wants. Instead of downloading at 200k, it might crawl along at 75k.
Everyone wins, except the people who are using more than their fair share - they'd pay more, but it'd be fair - everyone would pay for what they use.
I don't think I'm making a mountain out of a molehill...
.xls files - however some of the functionality isn't supported. All of your Excel files that use VBA won't work. There is an OpenOffice scripting language that can accomplish virtually the same thing; but there is no direct 1-to-1 conversion tool. You'll have to learn this new scripting language and re-code everything you had in VBA before it will work".
It's just the same old story; and this is just the most recent attempt - like I've said, I've done this, at least, 3 other times before over a span of roughly 8 years.
'Linux is great, it's easy, it just works; it's READY for the desktop - Windows won't last'
Then I install it.
Then something doesn't work.
Then I try to find help, try a bunch of complicated stuff; most often yeilding no positive results; after spamming support forums I get called a n0ob a few times, told to RTFM, and told to buy new hardware.
That's been my experience with Linux, time and time again.
I say, 'Well, I have a lot of Excel files...are you sure this will work in Linux?'
And people say, 'Oh yes! Open Office is just like Office and it will open your files!'
Then I get Open Office try to open my Excel files, and it doesn't work. So I say, "Umm, hey Linux guys - my stuff don't work"
Then I get the RTFM, it's your fault, blah, blah, and then, eventually some helpful guy will come along and say...
"Ahh, well, OpenOffice can open most
So, to summarize, here is the 'Linux-Experience Life-Cycle'
1.) Hype over ______
2.) Decide to try _______
3.) Realize ______ doesn't work as described
4.) Ask why
5.) Get flamed
6.) Flame back
7.) Get helpful answer explaining that _____ was hyped up and what you are trying to do doesn't work because it won't work but you can try some other _______ or maybe do ________.
You are assuming that I have to pay $200 dollars for Windows.
I'm looking at paying nothing for Vista Ultimate (legit copy)/Windows XP (legit copy) or paying $40 dollars on a wireless card to use an OS that is (arguably) as good as either version of Windows. I know that Linux has a lot of great advantages, but it DOES have a fair number of disadvantages.
I like Linux, I want to use it and support it (and I probably will actually buy the WiFi adapter that will work with it) - but the idea that it's hardware support is at the same level of Windows seems like a joke to me, and I feel as though it's dishonest/misleading/hurtful to the Linux movement.
When you have to investigate the particular chipset because the name on the box won't always work, that's a good sign that whatever you are buying it for lacks good hardware support.
When you have to use things like ndiswrapper, that's a good sign that whatever you are buying lacks good hardware support.
That's not to say Linux is bad, or Linux sucks...I really like Linux and Ubuntu specifically - but when you try to sell a bicycle to someone who wants a car - even if it's a great bicycle; he's going to be disappointed. If you sell a great bicycle to a guy who wants a great bicycle, he's going to be happy.
The general perception people get from the Linux communtiy and how Linux actually is, are two different things. I know myself, and others, who went in expecting everyting we were told about Linux to be true; only to be completely disappointed by what it was. Linux, as it is, is great - it has enough merit, own it's own; to be a serious OS.
Say the truth!
Linux is free, Linux gives you choice, Linux can be very secure, Linux can be very stable, Linux can be difficult to configure, Linux can be a breeze to maintain once correctly configured, Linux supports a lot of hardware...but it DOESN'T support a lot of hardware too, Linux has a lot of great software available to it, but it probably doesn't support a lot of what you currently use, if you play games Linux will cause you headaches, you can probably get anything you want to work, eventually, but it probably won't work as well or as fast as it did in Windows, Linux is easy to use, but it's not windows and there is a learning curve, Linux installs are working better and better out of the box, but you will need to do more to get things how you want it that you had to do in Windows.
Why can't we just say that?
This is perfect - thank you so much for the Link. What can we all learn from this?
Well, some guy tested 4 different WiFi cards that he hand-selected, and he tested them in four different versions of Ubuntu. That works out to a total of 16 possibilities.
According to him....
The ASUS WL-167G didn't work in any of the four (4 Total Failures)
The Edimax 7318USg didn't work in any of the four (8 Total Failures)
The MSI US54SE doesn't work correctly in any of the four - works 'well enough' to get online in 3 (9 Total Failures, 3 Kinda Works)
The ZyXEL ZyAir G-220 v2 didn't work in three (12 Total Failures) - works correctly in 1 (1 Total Success)
So, according to this blog, of our 16 combinations we have 12 Total Failures, 3 that kinda work, and ONE that does work.
1 out of 16 work correctly.
ONE out of 16.
Well, geez, don't I feel silly. Here I've been spouting off that hardware support for Linux/Ubuntu isn't as great as people make it out to be and here we've found *one* combination of 16 that actually work. Don't I look silly?
And, what did the guy who created that blog have to say about hardware support in Linux?
"Maybe it's a silly idea, but nobody else is offering a list of just-works hardware for just one distro, for the people who want a simple answer. All the lists I've seen so far are vague and out-of-date and/or have a bizarre understanding of "works out-of-the-box". It's time to simplify the question that we are trying to answer."
All the lists he's seen are vague and out-of-date....well, at least I'm not the only one.
But yeah, that guy doesn't know WTF he's talking about; I'm just lazy and can't do my own research.
Oh, and let's remember - that guy didn't pick 4 random WiFi cards - those were hand selected. "I tried four different USB wireless adaptors - the most widely available ones that were most likely to work based on my previous entries."
But - all joking aside, I really do appreciate the link as I'm going to buy the one that he says does work with Gutsy.