If you want to use them as storage, use Windows Home Server. It does a great job of pooling small devices and is dead easy to set up.
No, I'm not a M$ employee, it's just a good product.
The best advice I can give is: PLEASE, PLEASE, seek SIMPLE solutions to everything.
Look for patterns in the problem domain that map elegantly to capabilities in the solution domain. e.g. "this looks like a grid" database table/spreadsheet/array. Try to look for solutions that involve the least code, and will cope best with change.
Don't do overarching "this will solve everything" framework solutions. Avoid the "inner platform effect" (see thedailywtf.com)
A bunch of other things:
If you find yourself saying "this is just a quick hack, we'll fix it later", then that's a bad sign. Find a better solution.
Ask questions. Ask lots of them. Don't worry about being annoying. This will help you in not repeating peers' mistakes, and in not duplicating code. Work closely with more experienced staff members. Learn from them.
Leave your pride/ego at the door. Don't get attached to your code. Accept criticism. You still need to stand up for what you believe to be right - more senior people can still make crappy solutions. But, remember the politics and pick your battles.
Stir things up... but just a little. People get set in their ways, and this stifles innovation and improvement. As the new guy, you have a unique perspective, and your fresh ideas can help. In this game, there is no "one way" to do things, but established teams and experienced engineers often fall into the trap of thinking there is.
Whenever you find a solution, look for another one. Your first thought isn't always the best solution.
Learn from the team culture, norms, "this is how we do it around here". Fitting in is often (not always!) more important than doing things right (e.g. a solution cohesive with the rest of the codebase can be better than an otherwise superior solution). But, be sure to make a distinction between what you think is right, and what your team norms are - this is important, because both will influence how you solve problems now, and in the future.
Remember, not everything is best solved by writing code. Integrating existing components, or using existing components can save a lot of time.
Also, remember that there are thousands upon thousands of dumbshit hacks in the software engineering world. Beware of them and please do not become one of them. Focus on your skills and continually train yourself.
If you think of the registry like a filesystem, then there is no difference between it and a scattered collection of configuration files. Architecturally, there is no difference in reliability. They are both settings stored in a hierarchical database.
Actually, there's no archiectural difference in security, either. Windows registry has ACLs.
What does latency mean if you're downloading a 5GB file? There are some applications that need low latency, some that need hight bandwidth. Why can't a network infrastructure can do both, and use smart routing to pick the right route for the job?
I learnt Java at uni (Software Engineering, Griffith Uni, Brisbane), and found it was the perfect tool for the job. Free, quality tools available. Source available. Nice OO language. Gets you used to C-style syntax. Plus, there's jobs in it - I'm working in one right now. Java is good for beginner programmers, because there's fewer ways to do bad practise than C++.
That said, C and C++ should be taught at uni. As should a whole heap of languages. My degree only focussed on 1 language and introduced about 6 others... but without much depth. Now, we didn't do any C++... but we actually did a fair bit of assembler... and heaps with raw logic circuits. So, this gets us pretty low-level... still, I would have liked to see a bucketload of C and C++ thrown in there.
Also, strangely, there were zero subjects on web development at my uni... which was very backwards of them, especially considering our 2 major year-long team projects were actually web systems. We just figured it out ourselves... which was ok... but this can definitely learn you some bad habits.
Before I started uni, I knew heaps of languages, and had been programming since primary school, so none of this really meant much to me. I just basically needed to study and apply myself to something remotely related to software for 4 years to skill up. I'm sure a lot of slashdotters are of similar calibre.
But, I know a lot of people who left with IT degrees, but couldn't code to save their lives. I don't know if exposing them to something more "hardcore" will harden them up, or muddle their heads with details they won't understand for years, if ever. Some would go either way.
We're starting to see programming taught in primary school, which makes perfect sense, because its a very abstract problem solving pursuit, but without the maths. I'm sure lots of people suck at maths because they can't do abstract problem-solving... and many others suck at abstract problem-solving because they can't handle maths. Simple programming fills a nice little niche in there... if taught the right way.
I would have loved to have programming class in primary school... I had to wait until year 11. So, I basically had to teach myself... and spent years learning things the hard way, and breaking the bad habits I learnt along the way... and trying in vain to convince teachers that the text I was displaying on screen was deliberate, not the computer going haywire!
Back to the point... kids learn quick. If you get them used to programming earlier in school, then you can get them into more hardcore stuff at uni.
Assuming raytracing can be parallelized as gread as TFA makes it sound, rendering could just return to the CPUs
GPUs are far more parallelized than CPUs - in that sense, it makes more sense to offload it to the GPU. However, CPU parallelization is increasing, so you never know. With things like GPGPU, the line between what's done on CPU and GPU is blurring.
Lack of donations? From memory, Australia gave a billion dollars to the tsunami relief.
I remember a snippet from a current affair show saying basically that al-Qaeda is more of a shared brand name, than an organisation.
11/9 was just big because it was in the US. Anti-US sentiment aside, the US is simply a more influential country than any of those affected by the Tsunami. US has very a powerful media and politic, so of course its going to be well covered.
I wouldn't like 11/9 to define my generation... I'd prefer something more positive... like, maybe something like the World Wide Web. Invented in 1989 (I was 8, so that's gotta be "my generation"), the web has been, by far, the greatest development which has happened in my generation. Sure, I'm a nerd (where am I again), but perspective, please.
Deaths and wars aside, the worst part of 11/9 was the bloody back-to-front dates!
Yay! I can make up big numbers too! I'm actually working on new AV standard: 67 terapixel screen with 54,130.1 channel sound at 962kHz! Wow! It'll be awesome! I'll call it super-extra-real-actual-true-HD. Enhanced. MkIII. Pro. Special Champion Edition.
Now... for someone to implement it...
But seriously, I don't get this shit. Where's the prototypes? Where's the reference implementation? Is there any technical basis to this extrapolation, or do people just pluck big numbers out of the air for press?
Besides, what use is it planning a technology for 7 years in the future? What, are they going to do a 7 year project? Who does 7 year technology projects? Who knows what's going to change in the next 7 years? What if we start using direct neural interfacing, and we don't even use screens any more! What if we come up with some organic technology and everything's done in analogue again - what use is a digital standard? A lot can happen in 7 years.
Or... not happen - now, where are my 10GHz CPUs?
Small gains, people - steady improvements & occasional innovative breakthroughs, not lofty goals and long projects.
If you run as a limited user, then Firefox decides it needs to update, every time you load it, you get a "failed to update" message.
Yeah, you get the message even if you log on as an admin and apply the update. The only fix is to temporarily add the limited user to the local admins then run Firefox.
This is stupid - limited users are very common in a corporate environment.
So, we've got lots of IPv6 addresses, thus we can assign static IP's to everything. Catch: IPv6 addresses aren't very readable/memorable. I can remember all of the IPv4 addresses on my network, but I wouldn't remember the v6 ones.
So, what's the solution there: well there's DNS and DHCP... man I hate DHCP. What if my local DHCP server or DNS server goes down? And, then I try to ping it to diagnose... oh, if only I could remember its address!
What about web hosting providers? Dear Hosting Support, can you please change my www IP to 2001:0db8:85a3:08d3:1319:8a2e:0370:7334? Much easier to screw up then if I say 66.35.250.151.
Also, IPv6 means we can throw away NAT... which is good, because NAT sucks, and its basically only there because we don't have enough IPv4 addresses. But, hang on... so every machine I have on my local network has a public IP address. Great. Do I really want that? Yes, I have a firewall; yes, its secure... but its still more secure to have every machine (except 1) completely non-addressable from the internet.
I know a lot of less secure networks would be screwed if every machine was publicly-addressible. They may have a poorly-configured or nonexistent firewall, and are only getting a semblance of security by using NAT.
Don't get me wrong, IPv6 is definitely a good idea; the address space rocks, and there's a whole host of other benefits. There's just a bunch of simple, practical issues that IPv4 solves better.
*ducks* This has got to be flamebait on a place like/.
Wow. THE Jeremy Allison. I guess it's not that surprising to see a famous opensourcerer on/. but good to see you involved. This must be MASSIVE news for your team - the years and years of painstaking reverse-engineering and guesswork are over.
In Australia, if you overproduce solar, you can sell it back to the grid. Some of our big power companies sell solar panels, and use this as a selling point.
They'd be stupid not to, given the strain on energy supply. Plus, they can tally up your excess as "green energy" and sell it at a premuim.
Spell it with me people: S-O-L-A-R
It comes down to this:
- a roof has a large surface area
- sun ain't going to burn out any time soon
- solar panels can't be made into bombs
I don't understand why we are still arguing about this.
Fuck nuclear. Oh, yeah, great "all we have to worry about is this extremely toxic waste... but that's not a problem because all we have to do is store it safely! it'll never get into the water supply! we'll always have room to store it! people will never make bombs out of it. there'll never be another hiroshima/nagasaki/chernobyl"
Seriously, has the world gone stupid or something? Ok, MORE stupid. How on earth can you people convince yourself that nuclear waste is acceptable? What is wrong with you?
Waste arguments aside... why the hell are we, as a civilization, pursuing nuclear technology, given nuclear annihilation is probably the #1 most likely reason we will become extinct?
$650 odd. Then I run Linux on it, with software RAID-1. Hey presto: new fileserver. I run RAID-1 in my main machine, and back it up to the fileserver, and to my other workstation. So, my most important data is on at least 5 HDDs... plus backups to DVD.
I say screw this teeny-NAS-box and external-hdd crap. They're limited, they're not expandable, they're easy to steal, and did I mention they're limited? e.g. I run svn, backup software, and a few vmware vm's on my fileserver. It's easier to add another linux package from a real machine than a teeny embedded-ish system.
Fileservers are just much more fun than the small consumer NAS boxes / external HDD caddies.
Although, a full-blown fileserver will chew up more power and make more noise. Also, external HDD's have the distinct advantage that its simple to DISCONNECT them. A virus can't wipe a hdd that's not plugged in. But, then you can use optical backups for this sort of "offline" backup.
Now what a remarkable and amazing coincidence that Gutsy has such a fall-back GUI for fixing broken X sessions. It is almost as if they are working to make it more accessible to non-technical users... Yeah, that is a welcome addition, given how easy it is to screw the X configuration. And, yes, its good for making it accessible to non-technical users (more of this, yes please)...
Still, its retarded that this particular issue ever came up. Under what circumstances is it acceptable behavior for a GUI operating system to not be able to display the GUI? Broken or absent video card comes to mind, but a broken config file? Please. Deal with it. I can't believe it has taken this long for a distro to figure this out.
Linux is a pain because its so finicky to get things to work. For such a "robust" OS, it sure is damn easy to break.
I can't wait for ssd's. Every hard drive I've owned has been noisy and they drive me nuts.
As for durability... hrmm... maybe in its current state, flash doesn't last that long. But, the potential has got to be better than a constantly-spinning platter of disks. I've never had a RAM stick, or flash card die on me, but I've lost many hard drives.
Also, I think there may be greater potential for memory density. Spinning platters inevitably have wasted space, forming a cylinder in a rectangular prism.
I'd be interested to see the effect of SSD's on prices of normal hard drives. Normal HDD prices have been plummetting rapidly over the last couple of years - I wonder if the lure of flash will push them down further.
I think with capacity being so important, price/MB will be a big determining factor in getting flash into enterprise storage. I think the desktop, and (obviously) laptop markets will lap it up first.
The #1 design constraint for a media centre pc is noise. You need it to be quiet. You don't want a big rattle/hum in your lounge room.
I'm a huge fan of RAID... but for a media centre, use a single, big, quiet hdd. And put soundproof foam in the case.
Instead of RAID, set up automated daily backups to another machine.
If you were setting up a general-purpose fileserver, go RAID 5... if it's real important data, go RAID 10... if it's REALLY important data go RAID 1. For a media centre, I'd use single hard drives.
Just don't use RAID 0... except maybe on a pure games machine... that's backed-up twice daily... and put your save-games somewhere else. Seriously, speed, schmeed. Always assume any hard drive will die in the next 10 seconds and be prepared. If you use RAID 0, assume it'll die in the next 5.
If you want to use them as storage, use Windows Home Server. It does a great job of pooling small devices and is dead easy to set up. No, I'm not a M$ employee, it's just a good product.
The best advice I can give is: PLEASE, PLEASE, seek SIMPLE solutions to everything.
Look for patterns in the problem domain that map elegantly to capabilities in the solution domain. e.g. "this looks like a grid" database table/spreadsheet/array. Try to look for solutions that involve the least code, and will cope best with change.
Don't do overarching "this will solve everything" framework solutions. Avoid the "inner platform effect" (see thedailywtf.com)
A bunch of other things:
If you find yourself saying "this is just a quick hack, we'll fix it later", then that's a bad sign. Find a better solution.
Ask questions. Ask lots of them. Don't worry about being annoying. This will help you in not repeating peers' mistakes, and in not duplicating code. Work closely with more experienced staff members. Learn from them.
Leave your pride/ego at the door. Don't get attached to your code. Accept criticism. You still need to stand up for what you believe to be right - more senior people can still make crappy solutions. But, remember the politics and pick your battles.
Stir things up... but just a little. People get set in their ways, and this stifles innovation and improvement. As the new guy, you have a unique perspective, and your fresh ideas can help. In this game, there is no "one way" to do things, but established teams and experienced engineers often fall into the trap of thinking there is.
Whenever you find a solution, look for another one. Your first thought isn't always the best solution.
Learn from the team culture, norms, "this is how we do it around here". Fitting in is often (not always!) more important than doing things right (e.g. a solution cohesive with the rest of the codebase can be better than an otherwise superior solution). But, be sure to make a distinction between what you think is right, and what your team norms are - this is important, because both will influence how you solve problems now, and in the future.
Remember, not everything is best solved by writing code. Integrating existing components, or using existing components can save a lot of time.
Also, remember that there are thousands upon thousands of dumbshit hacks in the software engineering world. Beware of them and please do not become one of them. Focus on your skills and continually train yourself.
Never trust anyone who says "trust me".
If you think of the registry like a filesystem, then there is no difference between it and a scattered collection of configuration files. Architecturally, there is no difference in reliability. They are both settings stored in a hierarchical database.
Actually, there's no archiectural difference in security, either. Windows registry has ACLs.
What does latency mean if you're downloading a 5GB file? There are some applications that need low latency, some that need hight bandwidth. Why can't a network infrastructure can do both, and use smart routing to pick the right route for the job?
WTF? You can sue somebody for NOT selling out, these days? Karma police, take these fuckers out!
So... a CNET article PREDICTS that IE will not pass Acid2. Wow, what an insightful prediction. How is this news?
I learnt Java at uni (Software Engineering, Griffith Uni, Brisbane), and found it was the perfect tool for the job. Free, quality tools available. Source available. Nice OO language. Gets you used to C-style syntax. Plus, there's jobs in it - I'm working in one right now. Java is good for beginner programmers, because there's fewer ways to do bad practise than C++.
That said, C and C++ should be taught at uni. As should a whole heap of languages. My degree only focussed on 1 language and introduced about 6 others... but without much depth. Now, we didn't do any C++... but we actually did a fair bit of assembler... and heaps with raw logic circuits. So, this gets us pretty low-level... still, I would have liked to see a bucketload of C and C++ thrown in there.
Also, strangely, there were zero subjects on web development at my uni... which was very backwards of them, especially considering our 2 major year-long team projects were actually web systems. We just figured it out ourselves... which was ok... but this can definitely learn you some bad habits.
Before I started uni, I knew heaps of languages, and had been programming since primary school, so none of this really meant much to me. I just basically needed to study and apply myself to something remotely related to software for 4 years to skill up. I'm sure a lot of slashdotters are of similar calibre.
But, I know a lot of people who left with IT degrees, but couldn't code to save their lives. I don't know if exposing them to something more "hardcore" will harden them up, or muddle their heads with details they won't understand for years, if ever. Some would go either way.
We're starting to see programming taught in primary school, which makes perfect sense, because its a very abstract problem solving pursuit, but without the maths. I'm sure lots of people suck at maths because they can't do abstract problem-solving... and many others suck at abstract problem-solving because they can't handle maths. Simple programming fills a nice little niche in there... if taught the right way.
I would have loved to have programming class in primary school... I had to wait until year 11. So, I basically had to teach myself... and spent years learning things the hard way, and breaking the bad habits I learnt along the way... and trying in vain to convince teachers that the text I was displaying on screen was deliberate, not the computer going haywire!
Back to the point... kids learn quick. If you get them used to programming earlier in school, then you can get them into more hardcore stuff at uni.
GPUs are far more parallelized than CPUs - in that sense, it makes more sense to offload it to the GPU. However, CPU parallelization is increasing, so you never know. With things like GPGPU, the line between what's done on CPU and GPU is blurring.
The Semantic web IS important to the casual user. Social networking, blogs, RSS etc are about the most developed semantic web systems in practise.
Lack of donations?
From memory, Australia gave a billion dollars to the tsunami relief.
I remember a snippet from a current affair show saying basically that al-Qaeda is more of a shared brand name, than an organisation.
11/9 was just big because it was in the US. Anti-US sentiment aside, the US is simply a more influential country than any of those affected by the Tsunami. US has very a powerful media and politic, so of course its going to be well covered.
I wouldn't like 11/9 to define my generation... I'd prefer something more positive... like, maybe something like the World Wide Web. Invented in 1989 (I was 8, so that's gotta be "my generation"), the web has been, by far, the greatest development which has happened in my generation. Sure, I'm a nerd (where am I again), but perspective, please.
Deaths and wars aside, the worst part of 11/9 was the bloody back-to-front dates!
Yay! I can make up big numbers too!
I'm actually working on new AV standard: 67 terapixel screen with 54,130.1 channel sound at 962kHz!
Wow! It'll be awesome! I'll call it super-extra-real-actual-true-HD. Enhanced. MkIII. Pro. Special Champion Edition.
Now... for someone to implement it...
But seriously, I don't get this shit. Where's the prototypes? Where's the reference implementation? Is there any technical basis to this extrapolation, or do people just pluck big numbers out of the air for press?
Besides, what use is it planning a technology for 7 years in the future? What, are they going to do a 7 year project? Who does 7 year technology projects? Who knows what's going to change in the next 7 years? What if we start using direct neural interfacing, and we don't even use screens any more! What if we come up with some organic technology and everything's done in analogue again - what use is a digital standard? A lot can happen in 7 years.
Or... not happen - now, where are my 10GHz CPUs?
Small gains, people - steady improvements & occasional innovative breakthroughs, not lofty goals and long projects.
I love Firefox to bits, except this:
If you run as a limited user, then Firefox decides it needs to update, every time you load it, you get a "failed to update" message.
Yeah, you get the message even if you log on as an admin and apply the update. The only fix is to temporarily add the limited user to the local admins then run Firefox.
This is stupid - limited users are very common in a corporate environment.
So, we've got lots of IPv6 addresses, thus we can assign static IP's to everything. Catch: IPv6 addresses aren't very readable/memorable. I can remember all of the IPv4 addresses on my network, but I wouldn't remember the v6 ones.
So, what's the solution there: well there's DNS and DHCP... man I hate DHCP. What if my local DHCP server or DNS server goes down? And, then I try to ping it to diagnose... oh, if only I could remember its address!
What about web hosting providers? Dear Hosting Support, can you please change my www IP to 2001:0db8:85a3:08d3:1319:8a2e:0370:7334? Much easier to screw up then if I say 66.35.250.151.
Also, IPv6 means we can throw away NAT... which is good, because NAT sucks, and its basically only there because we don't have enough IPv4 addresses. But, hang on ... so every machine I have on my local network has a public IP address. Great. Do I really want that? Yes, I have a firewall; yes, its secure... but its still more secure to have every machine (except 1) completely non-addressable from the internet.
I know a lot of less secure networks would be screwed if every machine was publicly-addressible. They may have a poorly-configured or nonexistent firewall, and are only getting a semblance of security by using NAT.
Don't get me wrong, IPv6 is definitely a good idea; the address space rocks, and there's a whole host of other benefits. There's just a bunch of simple, practical issues that IPv4 solves better.
*ducks* This has got to be flamebait on a place like /.
The Samba4 project has been working on exactly this goal for ages now. They have a few "Technology Previews" available.
Wow. THE Jeremy Allison. I guess it's not that surprising to see a famous opensourcerer on /. but good to see you involved. This must be MASSIVE news for your team - the years and years of painstaking reverse-engineering and guesswork are over.
Have you guys busted out the champagne, yet?
In Australia, if you overproduce solar, you can sell it back to the grid. Some of our big power companies sell solar panels, and use this as a selling point.
They'd be stupid not to, given the strain on energy supply. Plus, they can tally up your excess as "green energy" and sell it at a premuim.
Spell it with me people: S-O-L-A-R It comes down to this: - a roof has a large surface area - sun ain't going to burn out any time soon - solar panels can't be made into bombs I don't understand why we are still arguing about this. Fuck nuclear. Oh, yeah, great "all we have to worry about is this extremely toxic waste... but that's not a problem because all we have to do is store it safely! it'll never get into the water supply! we'll always have room to store it! people will never make bombs out of it. there'll never be another hiroshima/nagasaki/chernobyl" Seriously, has the world gone stupid or something? Ok, MORE stupid. How on earth can you people convince yourself that nuclear waste is acceptable? What is wrong with you? Waste arguments aside... why the hell are we, as a civilization, pursuing nuclear technology, given nuclear annihilation is probably the #1 most likely reason we will become extinct?
Nero IS compatible with Vista... Nero 8 anyway.
I recently built a new fileserver (AU$):
Cheapie Mobo with 4 sata ports: $70
Cheapie 1G ram stick: $70
Celeron 1.8G: $80
2x400G HDD's: 2x$100
PSU: $150 (Antec craziness)
$650 odd. Then I run Linux on it, with software RAID-1. Hey presto: new fileserver. I run RAID-1 in my main machine, and back it up to the fileserver, and to my other workstation. So, my most important data is on at least 5 HDDs... plus backups to DVD.
I say screw this teeny-NAS-box and external-hdd crap. They're limited, they're not expandable, they're easy to steal, and did I mention they're limited? e.g. I run svn, backup software, and a few vmware vm's on my fileserver. It's easier to add another linux package from a real machine than a teeny embedded-ish system.
Fileservers are just much more fun than the small consumer NAS boxes / external HDD caddies.
Although, a full-blown fileserver will chew up more power and make more noise. Also, external HDD's have the distinct advantage that its simple to DISCONNECT them. A virus can't wipe a hdd that's not plugged in. But, then you can use optical backups for this sort of "offline" backup.
Still, its retarded that this particular issue ever came up. Under what circumstances is it acceptable behavior for a GUI operating system to not be able to display the GUI? Broken or absent video card comes to mind, but a broken config file? Please. Deal with it. I can't believe it has taken this long for a distro to figure this out.
Linux is a pain because its so finicky to get things to work. For such a "robust" OS, it sure is damn easy to break.
Nobody mentioned the noise! SSD's are silent.
I can't wait for ssd's. Every hard drive I've owned has been noisy and they drive me nuts.
As for durability... hrmm... maybe in its current state, flash doesn't last that long. But, the potential has got to be better than a constantly-spinning platter of disks. I've never had a RAM stick, or flash card die on me, but I've lost many hard drives.
Also, I think there may be greater potential for memory density. Spinning platters inevitably have wasted space, forming a cylinder in a rectangular prism.
I'd be interested to see the effect of SSD's on prices of normal hard drives. Normal HDD prices have been plummetting rapidly over the last couple of years - I wonder if the lure of flash will push them down further.
I think with capacity being so important, price/MB will be a big determining factor in getting flash into enterprise storage. I think the desktop, and (obviously) laptop markets will lap it up first.
The #1 design constraint for a media centre pc is noise. You need it to be quiet. You don't want a big rattle/hum in your lounge room.
I'm a huge fan of RAID... but for a media centre, use a single, big, quiet hdd. And put soundproof foam in the case.
Instead of RAID, set up automated daily backups to another machine.
If you were setting up a general-purpose fileserver, go RAID 5... if it's real important data, go RAID 10... if it's REALLY important data go RAID 1. For a media centre, I'd use single hard drives.
Just don't use RAID 0... except maybe on a pure games machine... that's backed-up twice daily... and put your save-games somewhere else. Seriously, speed, schmeed. Always assume any hard drive will die in the next 10 seconds and be prepared. If you use RAID 0, assume it'll die in the next 5.
May I suggest an "oldnews" tag for this?
I'm sure people have been blaming technology for their mistakes for as long as technology has existed.
Is this just a publicity stunt to remind people that ICQ still exists? :)
:)
Bad publicity is still publicity.