As somebody who took Software Engineering in university, I would have to say that most programmers, myself included, are not working as software engineers.
There's a lot of software that definitely should take more of an engineering approach. Things like vehicle control systems and systems that handle financial data.
Other things like games on the other hand, probably don't need to be "engineered" and would probably be a lot more expensive if we required them to jump through a lot of hoops to be certified by engineers. A lot of games have even resorted to using bugs or undocumented features in a system in order to get the game to run fast enough.
I think a lot of the problems with engineering computer systems is that there are simply too many variables which can't be accounted for in most systems. Is your program expected to run correctly when the memory is faulty. Can't you even have engineered software running on a system which doesn't have ECC RAM? Can you really be sure that your software will operate correctly when it's running on an operating system that you have no control over?
The only problem that I have is that certain apps don't exist. Battery life is great. OS is quick and stable. Everything feels nicely integrated. It's not like there's anything I find that I can't do, because there's other apps that accomplish the same functionality. But if you're the kind of person who can't live without specific sevices, like SnapChat, then you aren't going to like it.
This is the main reason I'm not on Android anymore. The last Android phone I bought was released 6 months before Android 4 came out. But it never received a single update. It was stuck on Android 2.3, and I used it for years like that.
I switched to Windows phone this time around, because it seems like it's much more likely to get updates going forward. The only other option is iPhone, but I don't like the idea of spending $700 on a phone that only comes with 16 GB of storage and can't be upgraded using SD Cards.
What good is open source hardware? How are you sure that your open source hardware hasn't been compromised between the factory and your house? Can you really be sure that the documents detailing the open source design of your hardware are actually being followed. Is there really anyway for people to verify what's going on inside the CPU?
Isn't the consensus that "Do Not Track" is supposed to be off by default? I think the argument goes that if it's on by default, then web developers won't take it seriously because most people who have it turned on didn't make a conscious decision to say they didn't want to be tracked. By leaving it off by default, it's sends a stronger message, that the person made a conscious decision to say they didn't want to be tracked.
Personally, I think the whole thing is stupid. I don't think that websites pay any attention to it anyway. If they want to track you, they will. Sending a flag in the header isn't going to stop them.
I don't understand why school cafeterias are so pervasive in the united states. In Canada, none of the primary schools (grades K-8) even have cafeterias in them. Parents make a lunch and send it with their kids. In highschools, there's usually cafeterias, but most students I know will still bring their own lunch as it's usually cheaper, tastes better, and is also more healthy.
I think it would be too hard to tax sugar because it exists in so much of the food we eat. Orange juice contains almost as much sugar as soft drinks. Would be be taxing orange juice the same as soft drinks? How would bulk bags of sugar be taxed? If you buy it for baking, but only use it sparingly, you aren't really doing much harm to your body. But if you use it to make cookies or cakes or something with a large amount of sugar per serving, then you are going to have health problems.
The two I can think of off the top of of my head are Advil Cold and Sinus and Benelyn. Not all versions of Belelyn have pseudoephedrine. Some of them have switched to phenylephrine. Here's the info from their web sites.
Pseudoephedrine is still readily available in Canada in many forms, and we don't have huge problems with meth manufacture and addiction. Making it illegal won't solve the social problems which cause people to seek it out in the first place. If you stop people from obtaining pseudoephedrine, they'll just move on to some other drug.
Yeah, it really does seem to be the best solution. Other commenters said that people should just get an account that allows them to generate 1 time use credit card numbers. But that is usually a cumbersome task and requires a lot more effort than most people are willing to go through to make an online payment.
A properly designed customer initiated payment can be almost as simple as using a credit card, and much more secure. Plus there are ways you could allow ongoing/subscription payments, which one time card numbers would be unable to accomplish. One time card numbers are just a hack bolted on to an insecure system.
I say that we should fix the real problem. The real problem is that I have to give my credit card number, or debit card number, or bank routing information to the store that I want to make a purchase from. I would much prefer to have a system, more like PayPal, where I can authorize a payment to an online store and not give them any information that would allow them to access my account to create further payments.
As soon as I submit my credit card number to a store, there's any number of things that could go wrong after that time that would cause my account to become compromised. Doubly so for things like debit cards or account routing information that would cause me to lose money from my actual account.
I'm not saying that PayPal should take over. However, there should be a standard way to make a one-time payment from any financial institution and it should work similarly to PayPal in that the money gets transferred to the seller without giving them any information that could be used to make another transaction that isn't verified by me.
I think that this is the main reason that Apple is doing so well. People understand exactly what they are getting when they choose an Apple product. You want a phone, You get to choose from 1 of 2 screen sizes, and 3-4 options for the amount of storage. That's a very easy decision to make. Same goes for their laptops. You get to choose ultra-thin or regular, then you get a few different options for screen size, and then you get 2 or 3 options that actually affect performance. Compare this to going to Dell, Lenovo, or HP. Whereas Apple might give you 10 options in total. The other guys will have 50 or more options to choose from.
Don't believe it's really that many, I just went to Dell's site. they have 3 lines for home use, without even getting into chrome books, they are Inspiron, XPS, and Alienware.
Inspiron has 3000, 5000, and 7000 series. Each of those has 4 different screen sizes. Each of those 4 screen sizes has on average 3 different performance/spec options. So, just from the Inspiron line, we have 3x4x3 options to choose from. That's 36 options. Alienware is a little more sane at only 16 options total, and XPS has 8 additional options.
That's a total of 60 options. And that's only looking at the "home" oriented laptops. I didn't dig down, but from the looks of it, there's even more choice in there. There is probably at least over 100 laptops to choose from when getting a Dell.
I was going to say. I'm pretty sure that Bell Canada charges 10 cents a minute for long distance unless you sign up for a plan, in which case you'll end up spending $10-$20 extra every month for the privilege of getting lower per minute rates. This is part of the reason I switched to a VOIP provider. Bell was charging me $70 a month, and I still had to pay for long distance on top of that. Compare that to my VOIP provider who charges me $25 a month, including unlimited long distance to Canada and the US.
I think this is one of the biggest advantages of using SSDs in the data center. With spinning platters, rebuilding the array after a drive dies can take a serious amount of disk resources. SSDs are so much faster that rebuilding a drive can be done in a fraction of the time, and not put so much strain on the system when the rebuild is being done.
It's measured in bytes written per day. Let's assume that the disk was really small, like 1 GB. If you wanted to write 32 TB to that disk every day, you'd have to write to the same sector 32000 times every day. If the Size were 1 TB, you could spread the writes out more over individual sectors, and you would only have to write to the same spot 32 times a day. When you have a 6.4 TB disk, you can write 32 TB a day, and only need to write to the same sector 5 times a day. If you had a 32 TB drive, you could write 32 TB per day and only write to each sector once. Since each sector has a limited number of writes, spreading the writes out over a larger number of sectors will increase the life of the drive.
The trick is that it's a 6.4TB SSD. So that's really only equivent to writing to each sector 9125 times. Seems reasonable to expect that each sector could handle 10000 writes easily. You won't see that kind of load advertised on a 256 GB drive, as it would require the disk to endure over 220,000 writes per sector.
What would really be protecting the phone would be the secure password. Most people who found/stole a phone would not have a single clue about how to go about getting the data off a phone if it presented them with a password screen. Even some moderately technically people wouldn't really know where to start.
I have a smart TV and use Plex on an old computer. There's a Plex app for the TV but I never got around to installing it because it works fine (via DLNA I guess) without actually installing the app. For my other devices (tablets/etc) I use Plex apps or just access the stuff over a Windows shared folder. Plex is nice for the wife because it's easier to understand, but for my own use it's just as simple to access the content on the Window share.
So perhaps the solution isn't to require device manufacturers to make them more secure. You can guarantee that they won't do it, or will mess something up along the way. Instead, why wouldn't the hospital put all the monitoring and other patient connected equipment on a separate network which isn't accessible from the outside because it isn't physically connected. For personal devices like pace makers and insulin pumps it might be less convenient to require things to be plugged in, but it would be a lot more secure.
For any rule you can come up with, you can probably find a valid case where breaking the rule would result in better code. Even GoTo can be useful in certain circumstances. Most of the good uses of GoTo have been codified using other key words..C# has the continue keyword. It's basically exactly the same as using a GoTo to skip processing the current item. GoTo would have accomplished the exact same task, but people have such a dislike of GoTo that they had to create a whole other keyword that does exactly the same thing.
I think it's time for companies (and tech companies especially) to start to encourage more remote workers. The only reason this is a problem is because it's a requirement for the employees to live in the Bay area, where housing prices are out of control. If they could live in Kansas, North Dakota, or Detroit, than they wouldn't have any problems with getting a nice place for a reasonable amount of money.
I think that at some level, we just have to trust that the most people aren't psychotic. There's a lot of vulnerabilities we all live with on a daily basis. Most people don't walk down the street with armor, even though it would technically be quite easy for someone to come along and stab them with a knife. We just assume that people won't do that. The brakes on most cars could easily be mechanically disabled, but we don't go to any lengths to stop people from cutting the brake lines. What is it about computer security that we have to make sure things are secure against all kinds of attacks?
I think the major problem is that most software developers don't have a good enough grasp of security concerns. If the individual developers aren't thinking about security when implementing actual code, then it's hard to actually get secure systems. You can't just make a policy of "write secure code" if the developers don't have a clue how to do that. This is similar to making code easy to maintain, or making code that doesn't repeat. It takes a high level coder with years of experience before they figure out what it really means to write good code.
The Pope (and by extension, The Catholic Church) believes in divine creation as well as a the theory of evolution. It's only a few nutjobs who actually believe that we descended from 2 single humans and that the earth is only 6000 years old.
Well, if the indicator is wrong, then it can also be wrong for multiple days. I've 3 days without plugging my phone in and the batter indicator still being up over 60%, with no sign of it dropping. My old Android phone could do the same thing. But only after I did a full reset on the phone and making sure I didn't connect it to Google play services, and installing any apps. The simple act of setting up my Google Account on that phone would bring it back to it's old ways of draining 50% of the battery over the course of the day.
As somebody who took Software Engineering in university, I would have to say that most programmers, myself included, are not working as software engineers.
There's a lot of software that definitely should take more of an engineering approach. Things like vehicle control systems and systems that handle financial data.
Other things like games on the other hand, probably don't need to be "engineered" and would probably be a lot more expensive if we required them to jump through a lot of hoops to be certified by engineers. A lot of games have even resorted to using bugs or undocumented features in a system in order to get the game to run fast enough.
I think a lot of the problems with engineering computer systems is that there are simply too many variables which can't be accounted for in most systems. Is your program expected to run correctly when the memory is faulty. Can't you even have engineered software running on a system which doesn't have ECC RAM? Can you really be sure that your software will operate correctly when it's running on an operating system that you have no control over?
The only problem that I have is that certain apps don't exist. Battery life is great. OS is quick and stable. Everything feels nicely integrated. It's not like there's anything I find that I can't do, because there's other apps that accomplish the same functionality. But if you're the kind of person who can't live without specific sevices, like SnapChat, then you aren't going to like it.
This is the main reason I'm not on Android anymore. The last Android phone I bought was released 6 months before Android 4 came out. But it never received a single update. It was stuck on Android 2.3, and I used it for years like that.
I switched to Windows phone this time around, because it seems like it's much more likely to get updates going forward. The only other option is iPhone, but I don't like the idea of spending $700 on a phone that only comes with 16 GB of storage and can't be upgraded using SD Cards.
What good is open source hardware? How are you sure that your open source hardware hasn't been compromised between the factory and your house? Can you really be sure that the documents detailing the open source design of your hardware are actually being followed. Is there really anyway for people to verify what's going on inside the CPU?
Isn't the consensus that "Do Not Track" is supposed to be off by default? I think the argument goes that if it's on by default, then web developers won't take it seriously because most people who have it turned on didn't make a conscious decision to say they didn't want to be tracked. By leaving it off by default, it's sends a stronger message, that the person made a conscious decision to say they didn't want to be tracked.
Personally, I think the whole thing is stupid. I don't think that websites pay any attention to it anyway. If they want to track you, they will. Sending a flag in the header isn't going to stop them.
I don't understand why school cafeterias are so pervasive in the united states. In Canada, none of the primary schools (grades K-8) even have cafeterias in them. Parents make a lunch and send it with their kids. In highschools, there's usually cafeterias, but most students I know will still bring their own lunch as it's usually cheaper, tastes better, and is also more healthy.
I think it would be too hard to tax sugar because it exists in so much of the food we eat. Orange juice contains almost as much sugar as soft drinks. Would be be taxing orange juice the same as soft drinks? How would bulk bags of sugar be taxed? If you buy it for baking, but only use it sparingly, you aren't really doing much harm to your body. But if you use it to make cookies or cakes or something with a large amount of sugar per serving, then you are going to have health problems.
The two I can think of off the top of of my head are Advil Cold and Sinus and Benelyn. Not all versions of Belelyn have pseudoephedrine. Some of them have switched to phenylephrine. Here's the info from their web sites.
Advil Cold & Sinus
Benelyn All-In-One
Pseudoephedrine is still readily available in Canada in many forms, and we don't have huge problems with meth manufacture and addiction. Making it illegal won't solve the social problems which cause people to seek it out in the first place. If you stop people from obtaining pseudoephedrine, they'll just move on to some other drug.
Yeah, it really does seem to be the best solution. Other commenters said that people should just get an account that allows them to generate 1 time use credit card numbers. But that is usually a cumbersome task and requires a lot more effort than most people are willing to go through to make an online payment.
A properly designed customer initiated payment can be almost as simple as using a credit card, and much more secure. Plus there are ways you could allow ongoing/subscription payments, which one time card numbers would be unable to accomplish. One time card numbers are just a hack bolted on to an insecure system.
I say that we should fix the real problem. The real problem is that I have to give my credit card number, or debit card number, or bank routing information to the store that I want to make a purchase from. I would much prefer to have a system, more like PayPal, where I can authorize a payment to an online store and not give them any information that would allow them to access my account to create further payments.
As soon as I submit my credit card number to a store, there's any number of things that could go wrong after that time that would cause my account to become compromised. Doubly so for things like debit cards or account routing information that would cause me to lose money from my actual account.
I'm not saying that PayPal should take over. However, there should be a standard way to make a one-time payment from any financial institution and it should work similarly to PayPal in that the money gets transferred to the seller without giving them any information that could be used to make another transaction that isn't verified by me.
I think that this is the main reason that Apple is doing so well. People understand exactly what they are getting when they choose an Apple product. You want a phone, You get to choose from 1 of 2 screen sizes, and 3-4 options for the amount of storage. That's a very easy decision to make. Same goes for their laptops. You get to choose ultra-thin or regular, then you get a few different options for screen size, and then you get 2 or 3 options that actually affect performance. Compare this to going to Dell, Lenovo, or HP. Whereas Apple might give you 10 options in total. The other guys will have 50 or more options to choose from.
Don't believe it's really that many, I just went to Dell's site. they have 3 lines for home use, without even getting into chrome books, they are Inspiron, XPS, and Alienware.
Inspiron has 3000, 5000, and 7000 series. Each of those has 4 different screen sizes. Each of those 4 screen sizes has on average 3 different performance/spec options. So, just from the Inspiron line, we have 3x4x3 options to choose from. That's 36 options. Alienware is a little more sane at only 16 options total, and XPS has 8 additional options.
That's a total of 60 options. And that's only looking at the "home" oriented laptops. I didn't dig down, but from the looks of it, there's even more choice in there. There is probably at least over 100 laptops to choose from when getting a Dell.
I was going to say. I'm pretty sure that Bell Canada charges 10 cents a minute for long distance unless you sign up for a plan, in which case you'll end up spending $10-$20 extra every month for the privilege of getting lower per minute rates. This is part of the reason I switched to a VOIP provider. Bell was charging me $70 a month, and I still had to pay for long distance on top of that. Compare that to my VOIP provider who charges me $25 a month, including unlimited long distance to Canada and the US.
I think this is one of the biggest advantages of using SSDs in the data center. With spinning platters, rebuilding the array after a drive dies can take a serious amount of disk resources. SSDs are so much faster that rebuilding a drive can be done in a fraction of the time, and not put so much strain on the system when the rebuild is being done.
It's measured in bytes written per day. Let's assume that the disk was really small, like 1 GB. If you wanted to write 32 TB to that disk every day, you'd have to write to the same sector 32000 times every day. If the Size were 1 TB, you could spread the writes out more over individual sectors, and you would only have to write to the same spot 32 times a day. When you have a 6.4 TB disk, you can write 32 TB a day, and only need to write to the same sector 5 times a day. If you had a 32 TB drive, you could write 32 TB per day and only write to each sector once. Since each sector has a limited number of writes, spreading the writes out over a larger number of sectors will increase the life of the drive.
The trick is that it's a 6.4TB SSD. So that's really only equivent to writing to each sector 9125 times. Seems reasonable to expect that each sector could handle 10000 writes easily. You won't see that kind of load advertised on a 256 GB drive, as it would require the disk to endure over 220,000 writes per sector.
What would really be protecting the phone would be the secure password. Most people who found/stole a phone would not have a single clue about how to go about getting the data off a phone if it presented them with a password screen. Even some moderately technically people wouldn't really know where to start.
I have a smart TV and use Plex on an old computer. There's a Plex app for the TV but I never got around to installing it because it works fine (via DLNA I guess) without actually installing the app. For my other devices (tablets/etc) I use Plex apps or just access the stuff over a Windows shared folder. Plex is nice for the wife because it's easier to understand, but for my own use it's just as simple to access the content on the Window share.
So perhaps the solution isn't to require device manufacturers to make them more secure. You can guarantee that they won't do it, or will mess something up along the way. Instead, why wouldn't the hospital put all the monitoring and other patient connected equipment on a separate network which isn't accessible from the outside because it isn't physically connected. For personal devices like pace makers and insulin pumps it might be less convenient to require things to be plugged in, but it would be a lot more secure.
For any rule you can come up with, you can probably find a valid case where breaking the rule would result in better code. Even GoTo can be useful in certain circumstances. Most of the good uses of GoTo have been codified using other key words. .C# has the continue keyword. It's basically exactly the same as using a GoTo to skip processing the current item. GoTo would have accomplished the exact same task, but people have such a dislike of GoTo that they had to create a whole other keyword that does exactly the same thing.
I think it's time for companies (and tech companies especially) to start to encourage more remote workers. The only reason this is a problem is because it's a requirement for the employees to live in the Bay area, where housing prices are out of control. If they could live in Kansas, North Dakota, or Detroit, than they wouldn't have any problems with getting a nice place for a reasonable amount of money.
I think that at some level, we just have to trust that the most people aren't psychotic. There's a lot of vulnerabilities we all live with on a daily basis. Most people don't walk down the street with armor, even though it would technically be quite easy for someone to come along and stab them with a knife. We just assume that people won't do that. The brakes on most cars could easily be mechanically disabled, but we don't go to any lengths to stop people from cutting the brake lines. What is it about computer security that we have to make sure things are secure against all kinds of attacks?
I think the major problem is that most software developers don't have a good enough grasp of security concerns. If the individual developers aren't thinking about security when implementing actual code, then it's hard to actually get secure systems. You can't just make a policy of "write secure code" if the developers don't have a clue how to do that. This is similar to making code easy to maintain, or making code that doesn't repeat. It takes a high level coder with years of experience before they figure out what it really means to write good code.
The Pope (and by extension, The Catholic Church) believes in divine creation as well as a the theory of evolution. It's only a few nutjobs who actually believe that we descended from 2 single humans and that the earth is only 6000 years old.
Well, if the indicator is wrong, then it can also be wrong for multiple days. I've 3 days without plugging my phone in and the batter indicator still being up over 60%, with no sign of it dropping. My old Android phone could do the same thing. But only after I did a full reset on the phone and making sure I didn't connect it to Google play services, and installing any apps. The simple act of setting up my Google Account on that phone would bring it back to it's old ways of draining 50% of the battery over the course of the day.