This guy has some b*lls, I have had the displeasure of using php for a couple of years.
Here is a good summary of some of my complaints. But wait, there is more:
As a programming language, php is extremelly poor. Off the top of my head:
Very poor object oriented language. Not everything is an object, no multiple inheritance, use destructors and you get segfaults, etc... They improved a lot with v5 but still.
No higher order functions. As opposed to Python, Perl, Ruby, and hundred others.
No closures
No operator overloading
No aspect oriented constructs, metaclasses, decorators, nada
and then there is the issue of all the weird behaviours it has
consider this code:
$x = NULL; $x->a = 10;
What do you expect to happen? well, an exception obviously. NOT, php guesses you really meant to create an object, assign it to $x and that the object has an attribute a. It does not even issue a warning in the logs. Makes it really fun to debug some programs.
References are just weird. And they are so different from version 4.0 to version 5.0 that it made it imposible to upgrade for an existing project
arrays are passed by value, but objects are passed by reference, WTF?
variables are case sensitive, but methods are not. WTF?
The language itself seems to promote what Rasmus calls "broken" code. Magic quotes are just an open invitation for SQL Injection, and XSS vulnerabilities.
For fck sake, the php tutorial teaches how to write cross site script vulnerable code which is what Rasmus is complaining about. WTF?????
P.S. Forgive my grammar, english is my second language
In all fairness, Microsoft products have improved dramatically over the years.
1) First it was DOS, which made the ibm pc mainstream. Main problem: usability, it required remembering command lines and no mouse.
2) Then they addressed that with windows 1.0-windows-3.x with a GUI which made the pc a lot more usable. Main problems: crashes too often, user interface still not that great
3) Next giant leap was windows 95... ME, it featured preemtive multitasking which helped stability somewhat as a hung process would not take down the whole machine. They also woked heavily on the user interface. Main problems: Stability was still not great
4) Then came XP, with memory protection and Multiuser support (unix style) based on the NT kernel. Stability pretty much stopped being an issue here. Main problems: security, virii, spyware, etc.
For Vista, They are moving towards giving processes as little privileges as posible. Also users wont be using the administrator account for everyday use. Many services will be disabled by default. Browser will be given as little privilege as posible, even less than the user. This kind of stuff goes a long way towards security improvements.
Note even though stability is not such a big deal anymore, they still improving on the area, this release features a move to a microkernel architecture. Microkernel gives an extra level of isolation to drivers which are the biggest source of stability problems. This reduces the impact of many bugs that drivers might have.
So people that say "Microsoft will get it right in the end." might just be on to something since microsoft HAS worked hard and HAS been addressing their critisism over the years.
I love linux very much, I have been using it for about 10 years now, I am very productive with it. But I would not recommend it to my mother or I will be facing calls every other day for technical support (although, linux desktop is improving very quickly latelly). I would love to give her a mac, but I can not just fork off the kilobucks, and would still get the calls asking me why program xxx wont run in it. So it is not like there is much competition for average users, is there?
P.S. forgive my grammar, english is my second language
If noone is able to make a profit out of isolating this chemical, then wtf would they invest in it? The alternatives are simple:
* Either you let people patent and make a profit out of a chemical that the human (or non human) body produces, or
* Noone bothers isolating the chemical and no human ever benefits from such research.
Note that many chemicals are produced by bacterias and mushroms and ppl have just isolated them, patented them and sold them in pills. Your prior art argument would also apply to these. Thanks to that research and attached profit, we are able to treat hundreds of illneses today. Reality is noone will invest millions of dollars "for the good of mankind".
You could argue 0 is too low, and even then you would be wrong. Mozilla is already giving much more: The best browser in the world whose development costed a lot more in man-hours and money. They have no obligation whatsoever of giving a dime to bsd any more than you do.
So regardless of how much money the Mozilla foundation makes, if out of their heart, self interest or whatever decide to donate $10k ( or even $10), all you get to say is "thank you", and if you really want to show appreciation, ask "is there anything I can do for you?".
Press ctrl-F and try to search for something inside a flash movie: NOP.
It is imposible for a screen reader to read stuff inside flash.
Most people use flash for animation. Animation is a terrible feature usability wise because it distracts the user and does not let him focus on content.
Flash is binary, it is nearly imposible to write a program that parses a flash movie and gets information out of it. Unlike plain old html.
Flash is not bookmarkable. If you have a flash movie, and jump forth and back in it, it is not possible to bookmark where you are at inside the movie. You can only bookmark the page containing the flash
Back button does not work. Navigate inside a flash movie. and try to go back with the back button. The browser will go back to the last page. No, having a back button inside the flash itself is a poor substitute usability wise. The back button is the single most used feature in any browser
Flash is propietary. Although open source tools exist, most people require the full power of the comercial implementations
About the only reason why you would want flash as a user is to play online games, not much more.
Flash is not standard and does not work with all browsers. Yes, the vast majority, but not all.
Many of these problems also apply to java applets which are also affected by the change
I am actually very happy with this turn of events. If this leeds to less flash out there, this makes my life easier as a user and as a web developer. This actually gives me some ammo to convince my employer to stay away from it.
Now I hope someone comes out with a patent for frames and pop up windows:)
Mc Donalds execs dont like Wendy's restaurants opening all over the place because mc donalds provides better environment for kids.
Microsoft execs don't like these evil ppl giving code away for free because their products offer better user experience.
etc...
Be honest. The only reason theater executives dont like this is because it is competition for them and it hurts their business. By not releasing dvd soon, people are forced to go to the theater to watch the latest movies. Guess what, the market is working around this issue and piracy is giving users what they want: Be able to watch new movies in their house.
In a free economy, studios should be able to release movies on dvd whenever they want, and movie theaters would just have to compete in plain old VALUE, not by applying monopolistic tactics.
A lot of what people call "Eye Candy" in XGL, are actual usability improvements. For example:
The cube. While the fastest way to switch virtual desktops is to hide all the current windows and show the windows in the other virtual desktop, the feedback is so little that to the new user it looks like the applications crashed. Rotating a cube makes it really obvious that your windows are still alive but just in another place. And makes it obvious how to get them back (rotate the cube the oposite way)
Drop shadows. Allows the borders to be smaller, and thus increase usable space, while still mantaining a visual clue as to the limits of the window. It also helps the brain identify what window is on top.
Animated minimization. The fastest way to minimize a window is to just hide it. However, visually it looks virtually identical to closing the window. By shrinking the window smoothly into the task bar, it is obvious the relationship between the minimized task bar icon and the window and it lets your brain quickly identify where the window went.
Expose like feature. This one is really obvious, it helps you find windows very quickly, by picture, not by just the text in the task bar.
Some of it though is hard to justify, for example there is no apparent usability improvement from the wiggly windows (someone please correct me), but given that is completelly optional, and it can be done by the video card withought really affecting the CPU, I fail to see the harm of it.
You are right, we should forbid X developers from working on X until your issues are solved.
What we should do is grab the X developers ( which some are volunteers, which are giving this away for free ) and force them to work on a Microsoft Active Directory clone. Given the extensive experience X developers have in directory service, forcing them to work on it is a no brainer.
What should happen is that all development on linux should stall until we get your issues solved. People with no interest whatsoever in Active Directory should be forced to work on it. This of course should include Gnome, KDE, and all of GNU products.
Also, Microsoft Active Directory is TOP priority, nobody in their house can do anything usefull without it. And it is well known that 87% of the desktop computers are using Active Directory.
so I agree, STOP WORKING ON X, YOU ARE KILLING LINUX
The gimp pretty much pisses all over the gnome HIG. I think it is very difficult to use for newbies and/or people used to use photoshop. They seem to completelly ignore all we know about usability and human computer interfaces.
This development and the reaction that people are having to it can be a wake up call for the gimp developers. They may realize their interface could use some work. Kind of like KDE is reacting now that GNOME is doing so well on usability. In my mind, this should benefits the gimp
I really hope they take a constructive attitude towards this one and take a look at why people are liking this.
Most server software can use multiple threads or multiple processes.
For example apache:
When two people make a request to apache, you could serve one at a time. In that case, the second person will wait a relativelly long time. Especially if the first request happens to be a slow one.
To solve that problem, apache spawns multiple threads or processes (depending on configuration) and serves both requests at the same time.
Normally the OS alternates CPU between the two tasks. At any given time only one request is being processed by the CPU, but over time both requests appear to be executing at the same time. There is significant overhead jumping between the requests, and if there are cache misses, the CPU just stalls for a little bit.
Better scenario: Hardware can do multithreading. In this case, there is only one CPU, but the hardware alternates processing between the two requests (as opposed to the OS). This way, the OS does not incurr in the switching tasks overhead, and if there is a cache miss, the harware automatically switches to the other task withought wasting time which hopefully wont have a cache miss. This is what Sun is doing here, and what Intel does with hyperthreading.
Best case scenario: you have multiple cores, both requests can be processed by different cores trully at the same time. This is what AMD and Intel are doing with dual and quad cores.
Note multiple core and hardware threading don't have to be mutually exclusive. You can have multiple cores and each core support multiple threads. In fact, this is what you get when you have a dual P4 computer.
So to answer your question: Almost any server software such as apache, samba, postgresql, mysql, bind, and many others will greatly benefit from hardware threads or multiple cores. So long the server executes requests in multithreaded or multiprocess fashion.
A person who does not have a degree can be very good on one area, but usually lacks on others. There are things that you normally don't learn by just experience that can be very usefull:
Software Engineering, analisis and design are not done very frequently in small companies, I have seen many untrained people just jump into coding after they get handed the requirements. A person with a degree will have some training in analisis and design.
Several technical areas such as linear optimization and language theories. This things you simply don't learn on the working field, yet for many project are required.
Cryptograpy, It often requires deep knowledge of math. Way above what a high schooler can do.
Calculus and Algebra, For some applications, you really need to dig deeper than high school.
Algorithms performance orders. It is difficult to learn how to calculate the performance of an algorithm without formal training.
For what I have seen, programmers without degrees can be really good programmers, but usually lack a broader and more technical knowledge. After all, the person with the degree has spent years of training in very different subjects, and the person without one has most likelly spent years learning one or two things. In the university you are expected to learn how to program in the first trimester, the rest is the really difficult and valuable part.
Also, for the person itself, it is clear it makes a big difference: How much do you think is the average salary for someone with a degree vs someone without one? (Haven't actually looked it up, but it is a no brainer)
Yes. Trusted computing is a very good thing. This is some of the things you can expect:
When you compile or install a software, you can sign it. The computer will not execute anything that is not signed. This stops many viruses and trojan horses, so you can trust that you authorized everything the computer executes. It is just a security layer just like the no execution bit.
The important thing here is that the user is in full control of the system. The user gets to sign the packages or he can choose to use a distro that signs them for him. He chooses what the computer runs and what not. There is no third party that limits what the user can/cannot execute.
Besides signing software, TCPA (the chip that is going to be supported by the kernel) does encryption on hardware. So you can have hardware accelerated encryption/decryption, and your CPU will be free to do other things. This is not much different from hardware accelerated 2d & 3d graphics. Again, this is a very good thing.
Many people opose trusted computer because they confuse this with DRM (Digital rights management). DRM is technology that limits the right to open media. Trusted computer does not limit your rights at all. The confusion arises from the fact that microsoft plans to use TCPA (Trusted computer) to implement DRM.
TCPA support will totally be optional. You can enable/disable it when compiling the kernel. You normally want it enabled to take advantage of hw accelerated encryption, but if you are still paranoid (read misinformed) and think there is some evil corporation that is going to use TCPA to limit your rights, you can just turn it off.
There is a nice article from ibm that clarifies the issue
Ok, since some of the complaints are about a distro and not linux, then
as an alternative to {Debian | Gentoo | Arch |...} , it doesn't yet deliver
I did not know about the journaling, so I stand corrected. UPS just prevents the problem, does not fix it. UPS have a short life time and are expensive. The logging thing is a proper fix.
Solaris is inapropiate for anybody using Windows or Mac OS X, That is not 1% of the population. Linux distributions on the other hand are getting a lot of converts from Windows users. While solaris may be great for server, it simply falls flat for desktop and is nowhere near as good as most linux distros.
Solaris is designed for server, so it is not an alternative to {Debian| Gentoo | RedHat |...} when it comes to desktop.
Even for server, solaris package & patch management is a nightmare compared to Debian or Gentoo (not linux since like you correctly said, linux is just a kernel).
I have had a lot of trouble finding answers for questions and information for solaris. docs.sun.com is an ocean of text, finding what you want is very time consuming. Compare that to gentoo. The forums are GREAT and the handbook is extremelly easy to browse and read.
Solaris package management is a nightmare. apt, portage and even urpmi (from mandriva) mop the floor with it. It is rpm hell all over again, but with more difficult to find and fewer packages.
Patch management is another nightmare. It is a separate thing from the package manager which makes the learning curve steeper. You have to go out and look for the patch in their web site, download it, reboot in single user mode (usually) and apply a ton of patches which usually takes hours. Then verify the ones that didn't apply. As opposed to gentoo or debian which figure it out by themselfs, download and apply the patches by themselfs and usually no reboot is required. Keeping a solaris box properly patches is very time consuming, it is a full time job even worse than windows.
Solaris 9 did not have a journaled file system. Often, my hard drive got fsck'ed up by power outtage and I had to spend hours of research to fix the issue. I don't know about solaris 10.
Default shell sucks big time compared to bash that has the super cool readline and other features. Bash can be installed, but it does not come by default.
Does not have a compiler available by default (you have to pay to use cc). You have to download and install gcc. Gcc also comes in the extra cds just like bash. Still most autoconf packages try to use cc by default and fail miserably, you can tell them to use gcc, but it is really annoying. Also, many packages do not compile under solaris, simply because the author usually uses linux.
CDE plain an simply sucks. Both KDE and Gnome are light years ahead of it. It is my understanding solaris 10 has gnome by default, but solaris 9 didn't.
Try to configure a modem for ppp (I did it). It is like trying to teach calculus to a chimpanzee. Anything related to hardware means editing ton of text files and it seems to be designed to be as complicated as posible. Gentoo installation procedure is kids play compared to the modem thing. Sound cards, video cards, printers, they are all as hard as it gets (if they even work).
Some of these are especially usefull for desktop. Patch management and journaled file systems are usefull mostly for servers.
Solaris certainly has some features that linux does not. But for the above reasons it is very accurate to say:
as an alternative to Linux, it doesn't yet deliver.
I agree the tutorial thing is not specific to ROR. But:
scaffold is ROR specific, and is vulnerable. So you either don't use scaffold (which is one of the biggest selling points of ROR) or your app is vulnerable. There is a patch for that here. The fact that such an obvious security bug exists is worrying.
Their bug tracking system is ROR specific. and it is also vulnerable.
for the title, and presto, he can get all other user's cookies
All the other tutorials have the same vulnerability.
The developers don't care about these. Some people even activelly oppose fixing them. I can only imagine what else is in there. I wouldn't touch ruby on rails with a 10 foot pole for anything where security mattered.
Now, if there was a way to transfer the image produced by a printer to the board, you would be golden.
I have tried printing with a laser printer on a magazine and photo papers, and then ironing it over the board. It is almost ok, but the resolution is very poor and the transfer gives a lot of tiny holes.
The has got to be a way using cheap materials to do it.
I agree with you 100% and I see more flaws in the article:
What was the percentage of cells damaged?
How does that compare to the control group?
What is the correlation (in numbers) between SAR and amount of damage?
How much did results vary (in numbers) between the different samples? (Standard deviation)
What is the probability of causing cancer in x amount of years?
Margin of error?
How does that compare with other agents such as cigarettes or alcohol?
Samples came from one individual or a thousand?
For all I know this could be a terrible extrapolation like: "water causes cancer because a cousing of mine drank a glass of water and got cancer a month later"
I understand they want to make it easy to read for non technical people, but for any scientist worth it's salt, this article is totally meaningless. They could easilly provide links with aditional information and keep the article accesible. The argument "Trust us, we found cell phones are bad" does not count.
it does. there is a dependency system in gentoo which I fully respect in my parallel patch. netmount waits for net.eth0. It sleeps, you see a cat net.eth0 in the chart which is the way I found to make it sleep. Once all it's dependencies are done, it starts. That means that things are parallel unless they depend on each other.
You can see the charts that I created for parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart.
Enjoy.
Gentoo has RC_PARALLEL_STARTUP, but is not very parallel. At any given time, there is only one task running or two tasks and a busy wait. I have written a trully parallel startup patch for gentoo. Go here for the patch
You can see the charts that I created comparing RC_PARALLEL_STARTUP to my parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart.
No. RC_PARALLEL_STARTUP is not very parallel. At any given time, there is only one task running or two tasks and a busy wait. I have written a trully parallel startup patch for gentoo. Go here for the patch
You can see the charts that I created comparing RC_PARALLEL_STARTUP to my parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart.
Excuse me Rasmus, but aren't you teaching how to write XSS vulnerable code in your php tutorial?
Here is a good summary of some of my complaints. But wait, there is more:
As a programming language, php is extremelly poor. Off the top of my head:
and then there is the issue of all the weird behaviours it has
The language itself seems to promote what Rasmus calls "broken" code. Magic quotes are just an open invitation for SQL Injection, and XSS vulnerabilities.
For fck sake, the php tutorial teaches how to write cross site script vulnerable code which is what Rasmus is complaining about. WTF?????
P.S. Forgive my grammar, english is my second language
well, thank you
:)
your comment made my day
In all fairness, Microsoft products have improved dramatically over the years.
... ME, it featured preemtive multitasking which helped stability somewhat as a hung process would not take down the whole machine. They also woked heavily on the user interface. Main problems: Stability was still not great
1) First it was DOS, which made the ibm pc mainstream. Main problem: usability, it required remembering command lines and no mouse.
2) Then they addressed that with windows 1.0-windows-3.x with a GUI which made the pc a lot more usable. Main problems: crashes too often, user interface still not that great
3) Next giant leap was windows 95
4) Then came XP, with memory protection and Multiuser support (unix style) based on the NT kernel. Stability pretty much stopped being an issue here. Main problems: security, virii, spyware, etc.
For Vista, They are moving towards giving processes as little privileges as posible. Also users wont be using the administrator account for everyday use. Many services will be disabled by default. Browser will be given as little privilege as posible, even less than the user. This kind of stuff goes a long way towards security improvements.
Note even though stability is not such a big deal anymore, they still improving on the area, this release features a move to a microkernel architecture. Microkernel gives an extra level of isolation to drivers which are the biggest source of stability problems. This reduces the impact of many bugs that drivers might have.
So people that say "Microsoft will get it right in the end." might just be on to something since microsoft HAS worked hard and HAS been addressing their critisism over the years.
I love linux very much, I have been using it for about 10 years now, I am very productive with it. But I would not recommend it to my mother or I will be facing calls every other day for technical support (although, linux desktop is improving very quickly latelly). I would love to give her a mac, but I can not just fork off the kilobucks, and would still get the calls asking me why program xxx wont run in it. So it is not like there is much competition for average users, is there?
P.S. forgive my grammar, english is my second language
If noone is able to make a profit out of isolating this chemical, then wtf would they invest in it? The alternatives are simple: * Either you let people patent and make a profit out of a chemical that the human (or non human) body produces, or * Noone bothers isolating the chemical and no human ever benefits from such research. Note that many chemicals are produced by bacterias and mushroms and ppl have just isolated them, patented them and sold them in pills. Your prior art argument would also apply to these. Thanks to that research and attached profit, we are able to treat hundreds of illneses today. Reality is noone will invest millions of dollars "for the good of mankind".
You could argue 0 is too low, and even then you would be wrong. Mozilla is already giving much more: The best browser in the world whose development costed a lot more in man-hours and money. They have no obligation whatsoever of giving a dime to bsd any more than you do.
So regardless of how much money the Mozilla foundation makes, if out of their heart, self interest or whatever decide to donate $10k ( or even $10), all you get to say is "thank you", and if you really want to show appreciation, ask "is there anything I can do for you?".
Flash is a usability nightmare:
Many of these problems also apply to java applets which are also affected by the change
I am actually very happy with this turn of events. If this leeds to less flash out there, this makes my life easier as a user and as a web developer. This actually gives me some ammo to convince my employer to stay away from it.
Now I hope someone comes out with a patent for frames and pop up windows :)
Some unrelated news:
Mc Donalds execs dont like Wendy's restaurants opening all over the place because mc donalds provides better environment for kids.
Microsoft execs don't like these evil ppl giving code away for free because their products offer better user experience.
etc...
Be honest. The only reason theater executives dont like this is because it is competition for them and it hurts their business. By not releasing dvd soon, people are forced to go to the theater to watch the latest movies. Guess what, the market is working around this issue and piracy is giving users what they want: Be able to watch new movies in their house.
In a free economy, studios should be able to release movies on dvd whenever they want, and movie theaters would just have to compete in plain old VALUE, not by applying monopolistic tactics.
A lot of what people call "Eye Candy" in XGL, are actual usability improvements. For example:
The cube. While the fastest way to switch virtual desktops is to hide all the current windows and show the windows in the other virtual desktop, the feedback is so little that to the new user it looks like the applications crashed. Rotating a cube makes it really obvious that your windows are still alive but just in another place. And makes it obvious how to get them back (rotate the cube the oposite way)
Drop shadows. Allows the borders to be smaller, and thus increase usable space, while still mantaining a visual clue as to the limits of the window. It also helps the brain identify what window is on top.
Animated minimization. The fastest way to minimize a window is to just hide it. However, visually it looks virtually identical to closing the window. By shrinking the window smoothly into the task bar, it is obvious the relationship between the minimized task bar icon and the window and it lets your brain quickly identify where the window went.
Expose like feature. This one is really obvious, it helps you find windows very quickly, by picture, not by just the text in the task bar.
Some of it though is hard to justify, for example there is no apparent usability improvement from the wiggly windows (someone please correct me), but given that is completelly optional, and it can be done by the video card withought really affecting the CPU, I fail to see the harm of it.
You are right, we should forbid X developers from working on X until your issues are solved.
What we should do is grab the X developers ( which some are volunteers, which are giving this away for free ) and force them to work on a Microsoft Active Directory clone. Given the extensive experience X developers have in directory service, forcing them to work on it is a no brainer.
What should happen is that all development on linux should stall until we get your issues solved. People with no interest whatsoever in Active Directory should be forced to work on it. This of course should include Gnome, KDE, and all of GNU products.
Also, Microsoft Active Directory is TOP priority, nobody in their house can do anything usefull without it. And it is well known that 87% of the desktop computers are using Active Directory.
so I agree, STOP WORKING ON X, YOU ARE KILLING LINUX
The gimp pretty much pisses all over the gnome HIG. I think it is very difficult to use for newbies and/or people used to use photoshop. They seem to completelly ignore all we know about usability and human computer interfaces.
This development and the reaction that people are having to it can be a wake up call for the gimp developers. They may realize their interface could use some work. Kind of like KDE is reacting now that GNOME is doing so well on usability. In my mind, this should benefits the gimp
I really hope they take a constructive attitude towards this one and take a look at why people are liking this.
Most server software can use multiple threads or multiple processes.
For example apache:
When two people make a request to apache, you could serve one at a time. In that case, the second person will wait a relativelly long time. Especially if the first request happens to be a slow one.
To solve that problem, apache spawns multiple threads or processes (depending on configuration) and serves both requests at the same time.
Normally the OS alternates CPU between the two tasks. At any given time only one request is being processed by the CPU, but over time both requests appear to be executing at the same time. There is significant overhead jumping between the requests, and if there are cache misses, the CPU just stalls for a little bit.
Better scenario: Hardware can do multithreading. In this case, there is only one CPU, but the hardware alternates processing between the two requests (as opposed to the OS). This way, the OS does not incurr in the switching tasks overhead, and if there is a cache miss, the harware automatically switches to the other task withought wasting time which hopefully wont have a cache miss. This is what Sun is doing here, and what Intel does with hyperthreading.
Best case scenario: you have multiple cores, both requests can be processed by different cores trully at the same time. This is what AMD and Intel are doing with dual and quad cores.
Note multiple core and hardware threading don't have to be mutually exclusive. You can have multiple cores and each core support multiple threads. In fact, this is what you get when you have a dual P4 computer.
So to answer your question: Almost any server software such as apache, samba, postgresql, mysql, bind, and many others will greatly benefit from hardware threads or multiple cores. So long the server executes requests in multithreaded or multiprocess fashion.
A person who does not have a degree can be very good on one area, but usually lacks on others. There are things that you normally don't learn by just experience that can be very usefull:
Software Engineering, analisis and design are not done very frequently in small companies, I have seen many untrained people just jump into coding after they get handed the requirements. A person with a degree will have some training in analisis and design.
Several technical areas such as linear optimization and language theories. This things you simply don't learn on the working field, yet for many project are required.
Cryptograpy, It often requires deep knowledge of math. Way above what a high schooler can do.
Calculus and Algebra, For some applications, you really need to dig deeper than high school.
Algorithms performance orders. It is difficult to learn how to calculate the performance of an algorithm without formal training.
For what I have seen, programmers without degrees can be really good programmers, but usually lack a broader and more technical knowledge. After all, the person with the degree has spent years of training in very different subjects, and the person without one has most likelly spent years learning one or two things. In the university you are expected to learn how to program in the first trimester, the rest is the really difficult and valuable part.
Also, for the person itself, it is clear it makes a big difference: How much do you think is the average salary for someone with a degree vs someone without one? (Haven't actually looked it up, but it is a no brainer)
Yes. Trusted computing is a very good thing. This is some of the things you can expect:
When you compile or install a software, you can sign it. The computer will not execute anything that is not signed. This stops many viruses and trojan horses, so you can trust that you authorized everything the computer executes. It is just a security layer just like the no execution bit.
The important thing here is that the user is in full control of the system. The user gets to sign the packages or he can choose to use a distro that signs them for him. He chooses what the computer runs and what not. There is no third party that limits what the user can/cannot execute.
Besides signing software, TCPA (the chip that is going to be supported by the kernel) does encryption on hardware. So you can have hardware accelerated encryption/decryption, and your CPU will be free to do other things. This is not much different from hardware accelerated 2d & 3d graphics. Again, this is a very good thing.
Many people opose trusted computer because they confuse this with DRM (Digital rights management). DRM is technology that limits the right to open media. Trusted computer does not limit your rights at all. The confusion arises from the fact that microsoft plans to use TCPA (Trusted computer) to implement DRM.
TCPA support will totally be optional. You can enable/disable it when compiling the kernel. You normally want it enabled to take advantage of hw accelerated encryption, but if you are still paranoid (read misinformed) and think there is some evil corporation that is going to use TCPA to limit your rights, you can just turn it off.
There is a nice article from ibm that clarifies the issue
Ok, since some of the complaints are about a distro and not linux, then
I did not know about the journaling, so I stand corrected. UPS just prevents the problem, does not fix it. UPS have a short life time and are expensive. The logging thing is a proper fix.
Solaris is inapropiate for anybody using Windows or Mac OS X, That is not 1% of the population. Linux distributions on the other hand are getting a lot of converts from Windows users. While solaris may be great for server, it simply falls flat for desktop and is nowhere near as good as most linux distros.
Solaris is designed for server, so it is not an alternative to {Debian| Gentoo | RedHat | ...} when it comes to desktop.
Even for server, solaris package & patch management is a nightmare compared to Debian or Gentoo (not linux since like you correctly said, linux is just a kernel).
I have had a lot of trouble finding answers for questions and information for solaris. docs.sun.com is an ocean of text, finding what you want is very time consuming. Compare that to gentoo. The forums are GREAT and the handbook is extremelly easy to browse and read.
Some of these are especially usefull for desktop. Patch management and journaled file systems are usefull mostly for servers.
Solaris certainly has some features that linux does not. But for the above reasons it is very accurate to say:
scaffold is ROR specific, and is vulnerable. So you either don't use scaffold (which is one of the biggest selling points of ROR) or your app is vulnerable. There is a patch for that here. The fact that such an obvious security bug exists is worrying.
Their bug tracking system is ROR specific. and it is also vulnerable.
Scaffold is vulnerable, input any data like
and when you see the data it will happily execute that code.
The bug tracking system they use is also full of XSS holes. Browse their database and you risk giving your login/password to anybody.
Even on the tutorials, they teach people to write XSS vulnerable software. From the first tutorial:
The user only has to input
for the title, and presto, he can get all other user's cookies
All the other tutorials have the same vulnerability.
The developers don't care about these. Some people even activelly oppose fixing them. I can only imagine what else is in there. I wouldn't touch ruby on rails with a 10 foot pole for anything where security mattered.
Now, if there was a way to transfer the image produced by a printer to the board, you would be golden. I have tried printing with a laser printer on a magazine and photo papers, and then ironing it over the board. It is almost ok, but the resolution is very poor and the transfer gives a lot of tiny holes. The has got to be a way using cheap materials to do it.
I agree with you 100% and I see more flaws in the article:
What was the percentage of cells damaged?
How does that compare to the control group?
What is the correlation (in numbers) between SAR and amount of damage?
How much did results vary (in numbers) between the different samples? (Standard deviation)
What is the probability of causing cancer in x amount of years?
Margin of error?
How does that compare with other agents such as cigarettes or alcohol?
Samples came from one individual or a thousand?
For all I know this could be a terrible extrapolation like: "water causes cancer because a cousing of mine drank a glass of water and got cancer a month later"
I understand they want to make it easy to read for non technical people, but for any scientist worth it's salt, this article is totally meaningless. They could easilly provide links with aditional information and keep the article accesible. The argument "Trust us, we found cell phones are bad" does not count.
it does. there is a dependency system in gentoo which I fully respect in my parallel patch. netmount waits for net.eth0. It sleeps, you see a cat net.eth0 in the chart which is the way I found to make it sleep. Once all it's dependencies are done, it starts. That means that things are parallel unless they depend on each other.
Granted, I made this patch just for you: Go here for the patch
You can see the charts that I created for parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart. Enjoy.
Gentoo has RC_PARALLEL_STARTUP, but is not very parallel. At any given time, there is only one task running or two tasks and a busy wait. I have written a trully parallel startup patch for gentoo. Go here for the patch
You can see the charts that I created comparing RC_PARALLEL_STARTUP to my parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart.
No. RC_PARALLEL_STARTUP is not very parallel. At any given time, there is only one task running or two tasks and a busy wait. I have written a trully parallel startup patch for gentoo. Go here for the patch
You can see the charts that I created comparing RC_PARALLEL_STARTUP to my parallel startup here in comment #19. You can find there other things I have done to improve gentoo boot time. and an ebuild for bootchart.
As a teacher's assistant, I would love to have one of these for those pesky cheaters using text messages.