I can't see how to do this without spending a lot of time ensuring that the bugs you are adding are non-exploitable.
So, during product definition phase, you're going to have to convince the Product Manager that you want to take more time on the application development by adding exploit bugs and then testing said bugs to ensure that they can't be exploited?
Great non-intuitive idea that clearly came out of academia. Clearly Dolan-Gavitt has never worked for a living.
Reading the article, I feel like the solution is adding meaningful instruction in programming at grade school and continuing it through a person's education. From here, programming platforms for the masses will become obvious and well supported.
Sometimes when the common denominator is too low, you have to change it rather than cater to it.
The problem with saying "we need to make ???? easier so that everybody can use it" is that you need highly technical people to make ???? easier for everybody else. I see Javascript as being an example of this mindset. It was created to make it possible for basic programmers to create intelligent web pages - for teaching basic programming and implementing simple functions (like convert inches to centimetres) it's pretty good. But, choices made to keep things simple resulted in the language becoming incredibly complex to implement more than simple functions.
I'd be very careful using such a simplistic approach.
Wouldn't the best way of selecting a charity, if you wanted to maximize where your dollars are going to, is by looking at the organization's tax filings and see where the money actually goes?
Yes, this is yet another "What's the best/most popular Programming Language" and I suspect that for most people, it's not very representative.
But, as an EE I can see that this list (especially the top ten) is very accurate for the development work that I do (embedded and web apps accessing the embedded devices) and I suspect that it's pretty good for other EEs.
If you're a web, app, database developer or even involved in IT, this list will NOT be accurate.
Any time a story about Chromebooks and ChromeOS comes up here: people whine about their Chromebooks and how they can't run their own apps, the systems don't have much local storage, the UI is limited, etc.
Shouldn't you have known all these things before you plunked your money down and bought one?
This just means that I go completely to Linux for development. Chrome and ChromeOS for storage, email, presentation and business apps. Maybe Mac because I love OSX on a laptop - I'm dropping Office on my Mac because Microsoft wants $250 CDN to upgrade to the latest version and won't continue with updates.
And, after doing all this, I don't feel deprived one bit.
So, why would I pay Microsoft a lot more for the same capabilities?
Somebody, down the road, at Microsoft is going to be crucified in front of the shareholders for pushing us away from Windows and Office.
That this is being done *without* a cost-benefit analysis.
There is a certain amount of politics here, but if I were a citizen/tax payer of Lower Saxony I'd be mostly concerned that this is being done before an analysis is available.
I understand that Open Suse 12.2 and 12.3 are obsolete, but I would think that migrating to Leap 42 or Leap 15 would would be a lot cheaper than buying Windows 10 licenses. In TFA, they cite the issue that telephone support is now being done on Windows - but I would think that it would be more cost effective to move them to Linux.
But, without any kind of analysis, the people who are going to pay for this won't know.
I forgot about that. When I was in university and learning Maxwell's equations, it was explained to us that using Calculus was the "simpler" way - Maxwell's original method used an approach which lead to a dead end.
Great article and illustrates how as we try to understand reality (for lack of a better word): we first find that our current level of physics can't explain what we observe so we need to go to the next level. That next level needs the appropriate mathematical tools which often end up being already invented and looking for a practical application.
From the perspective of using a branch of mathematics that is new to the field, there's a lot of similarity between this story and using mathematics to predict crime: https://science.slashdot.org/s...
I believe we need to promote and retell these stories to students so that they can look beyond the simple and search for mathematical analogues that allow them to understand and model the physical world in different ways.
This is a novel application the Kalman filter ("technology that's been previously used in weather forecasting and the Apollo space missions") which I would expect most electrical engineers to have experience with if they've ever done any sensor applications (this is the second step to processing sensor data if simple averaging doesn't work).
What TFA and, it's associated paywalled, journal article shows that regardless of what is the situation, chances are there is a mathematical approach to dealing with it. The problem is finding somebody who can look at the problem and present it in a way that different mathematical approaches can be used.
This doesn't mean that the Kalman filter is the *best* approach for this problem, just that it is a novel way of looking at the issue of predicting crime.
Isn't the most obvious solution to the problem is to have stable software that doesn't require reboots when an update is provided.
I can see needing updates for AV tools (ie Windows Defender) which should be updating signature databases as well as maybe Edge updates which would require the browser to end and restart. If other aspects of the software requires updating, there should be approaches to allow it without causing a reboot.
I've always found Microsoft's update process to be quite annoying with what seems to be two out of every three updates resulting in a reboot. Ubuntu, on the other hand, seems to require a reboot once every 5-10 times.
I think Microsoft has grown too accustomed to accepting reboots after updates and maybe looking at it from a different perspective (ie Reboots are bad, not something we need machine learning to schedule) would be a win-win.
I'm not sure how many small companies (ie "traffic light control company") would take advantage of this, but I would suspect that the target market is larger OEMs to help them get 5G prototypes together faster so they can evaluate it with their existing hardware architecture.
I've been out of the cell phone business for a few years, but a step increase in bandwidth like this would put a lot of strain on the communications processor and hardware and handset companies would probably want to evaluate how they actually work compared to how the datasheet says they work at these datarates. Along with just working, I suspect that there will be power usage implications that would have to be evaluated.
And, of course by providing a path to do this prototyping, Qualcomm is getting the OEM's engineers experienced with their product earlier, helping to lock out the competition.
Maybe this is a Canada thing, but I always thought that consumer electronic OEMs set the pricing for retailers to minimize unfair advantages for large companies while also keeping their margins from eroding. In talking to people I know who provide on line web retailers, the same applies there with manufacturers limiting product or raising wholesale costs to companies that offer product at a discount without the OEM's approval.
I didn't think it was done that much with computers (I was surprised to see Asus on the list) but I've heard about this in retail consumer electronics for decades (literally).
IIRC, SpaceX is planning on launching all their Block 4s, especially when the mission requires "Maximum Performance" (which means they can't be recovered). In terms of what they have left, I think it's only one or two - certainly less than five.
They cost $30M or so to build, so if they're flyable, SpaceX wants to make money on them.
Just thinking about this, it's really the same question - when you power down your PC/laptop/whatever, do you hold the power button down for five seconds to shut it down or do a "System Shutdown"?
It's really the same thing when you apply to USB thumb drives.
You *should* be able to just yank out a USB drive but there's always the chance that a program has a file open and has modified it but not closed it which means, depending on the file system, the file (and maybe the drive) is corrupt until it is closed.
I would think that the idea application behaviour when it comes to files the guidelines should be: a) Opens the file to read the contents and store in memory. Once this is done, the file is closed. b) Searches and operations are done on the copy in memory. c) When the program/user decides the changes to the copy are correct, the file is open, written to and then closed. d) If the application wants to update the file and the (thumb) drive isn't accessible, the user is prompted.
I know that I will get pushback on this as there will be the question what if the program is too big for memory? My response is that this is not 1983 and there should be either enough DDR to store the entire file or cacheing will make sure that the application can access all of it. Even if the file is cached, then the performance of the app searching the file in cache should be faster than doing lseek's on an open file. I'm trying to think of cases where the guidelines above are not appropriate and the only case I can think of is databases, but chances are that's on a network resource rather than a thumb drive.
Regardless of whether or not you think my guidelines are appropriate, you can't guarantee that all applications accessing the thumb drive close files after they've accessed them. You could go through and close all applications that are accessing files on the thumb drive, but that doesn't include operating system functions (early versions of NTFS in WinNT never did updates when you thought they would, they got put in a queue and would be done sometime down the line) or virus search apps work the way you want them to.
Tab should have a key-code, but not a ASCII code, like Shift. It has no place in a document, whether it be code or prose
You do realize that tab characters are used in places other than "code or prose"? It's very useful for document/table formatting especially for non-proportional fonts. It's also very useful in UI processing (ie moving between controls in a dialog box).
I don't think what you're asking for is all that modest.
This type of story is even less useful than "What is today's most popular programming language?" stories that pop up here every week or so.
Python is an excellent language and well worth knowing and being competent in programming in. But, so is Javascript as all developers tend to need to do some intelligent web UIs. Then there's C/C++, in which most of the world's system programming is written in. VBA is important to have to be able to work with databases/spreadsheets. And, of course you can't do anything without Rust and Go and Perl is great for doing something quick and dirty.
How about an article pointing out that to have a successful career as a software engineer (ie "coder") you must be willing to pick up skills in different programming languages (and environments) and avoid latching on to what the pundits tell you is "THE PROGRAMMING LANGUAGE OF THE FUTURE".
I can't see how to do this without spending a lot of time ensuring that the bugs you are adding are non-exploitable.
So, during product definition phase, you're going to have to convince the Product Manager that you want to take more time on the application development by adding exploit bugs and then testing said bugs to ensure that they can't be exploited?
Great non-intuitive idea that clearly came out of academia. Clearly Dolan-Gavitt has never worked for a living.
Reading the article, I feel like the solution is adding meaningful instruction in programming at grade school and continuing it through a person's education. From here, programming platforms for the masses will become obvious and well supported.
Sometimes when the common denominator is too low, you have to change it rather than cater to it.
The problem with saying "we need to make ???? easier so that everybody can use it" is that you need highly technical people to make ???? easier for everybody else. I see Javascript as being an example of this mindset. It was created to make it possible for basic programmers to create intelligent web pages - for teaching basic programming and implementing simple functions (like convert inches to centimetres) it's pretty good. But, choices made to keep things simple resulted in the language becoming incredibly complex to implement more than simple functions.
I'd be very careful using such a simplistic approach.
Wouldn't the best way of selecting a charity, if you wanted to maximize where your dollars are going to, is by looking at the organization's tax filings and see where the money actually goes?
You know if you've ever said anything nasty about Elon.
Now, his vehicles know.
Be afraid. Be very, very afraid.
Yes, this is yet another "What's the best/most popular Programming Language" and I suspect that for most people, it's not very representative.
But, as an EE I can see that this list (especially the top ten) is very accurate for the development work that I do (embedded and web apps accessing the embedded devices) and I suspect that it's pretty good for other EEs.
If you're a web, app, database developer or even involved in IT, this list will NOT be accurate.
Jeez Louise,
Any time a story about Chromebooks and ChromeOS comes up here: people whine about their Chromebooks and how they can't run their own apps, the systems don't have much local storage, the UI is limited, etc.
Shouldn't you have known all these things before you plunked your money down and bought one?
I know - but the alternative being discussed is paying Microsoft to take your data.
Almost - you don't need to pay for the privilege for running ChromeOS.
You can pay for a terabyte of storage instead of 15G space or to manage your systems, but you get a lot for $0 per month.
This just means that I go completely to Linux for development. Chrome and ChromeOS for storage, email, presentation and business apps. Maybe Mac because I love OSX on a laptop - I'm dropping Office on my Mac because Microsoft wants $250 CDN to upgrade to the latest version and won't continue with updates.
And, after doing all this, I don't feel deprived one bit.
So, why would I pay Microsoft a lot more for the same capabilities?
Somebody, down the road, at Microsoft is going to be crucified in front of the shareholders for pushing us away from Windows and Office.
From TFA:
Lower Saxony's tax authority will now conduct a cost-benefit analysis on the migration.
Decision was made before the analysis was done.
That this is being done *without* a cost-benefit analysis.
There is a certain amount of politics here, but if I were a citizen/tax payer of Lower Saxony I'd be mostly concerned that this is being done before an analysis is available.
I understand that Open Suse 12.2 and 12.3 are obsolete, but I would think that migrating to Leap 42 or Leap 15 would would be a lot cheaper than buying Windows 10 licenses. In TFA, they cite the issue that telephone support is now being done on Windows - but I would think that it would be more cost effective to move them to Linux.
But, without any kind of analysis, the people who are going to pay for this won't know.
I forgot about that. When I was in university and learning Maxwell's equations, it was explained to us that using Calculus was the "simpler" way - Maxwell's original method used an approach which lead to a dead end.
Thanx for the memories.
Great article and illustrates how as we try to understand reality (for lack of a better word): we first find that our current level of physics can't explain what we observe so we need to go to the next level. That next level needs the appropriate mathematical tools which often end up being already invented and looking for a practical application.
From the perspective of using a branch of mathematics that is new to the field, there's a lot of similarity between this story and using mathematics to predict crime: https://science.slashdot.org/s...
I believe we need to promote and retell these stories to students so that they can look beyond the simple and search for mathematical analogues that allow them to understand and model the physical world in different ways.
This is a novel application the Kalman filter ("technology that's been previously used in weather forecasting and the Apollo space missions") which I would expect most electrical engineers to have experience with if they've ever done any sensor applications (this is the second step to processing sensor data if simple averaging doesn't work).
What TFA and, it's associated paywalled, journal article shows that regardless of what is the situation, chances are there is a mathematical approach to dealing with it. The problem is finding somebody who can look at the problem and present it in a way that different mathematical approaches can be used.
This doesn't mean that the Kalman filter is the *best* approach for this problem, just that it is a novel way of looking at the issue of predicting crime.
Isn't the most obvious solution to the problem is to have stable software that doesn't require reboots when an update is provided.
I can see needing updates for AV tools (ie Windows Defender) which should be updating signature databases as well as maybe Edge updates which would require the browser to end and restart. If other aspects of the software requires updating, there should be approaches to allow it without causing a reboot.
I've always found Microsoft's update process to be quite annoying with what seems to be two out of every three updates resulting in a reboot. Ubuntu, on the other hand, seems to require a reboot once every 5-10 times.
I think Microsoft has grown too accustomed to accepting reboots after updates and maybe looking at it from a different perspective (ie Reboots are bad, not something we need machine learning to schedule) would be a win-win.
Here is the release information - https://www.chromestatus.com/f...
I'm guessing it won't be released until later today (11:59PM UTC)?
Thank you for the link. That was instructive.
I'm not sure how many small companies (ie "traffic light control company") would take advantage of this, but I would suspect that the target market is larger OEMs to help them get 5G prototypes together faster so they can evaluate it with their existing hardware architecture.
I've been out of the cell phone business for a few years, but a step increase in bandwidth like this would put a lot of strain on the communications processor and hardware and handset companies would probably want to evaluate how they actually work compared to how the datasheet says they work at these datarates. Along with just working, I suspect that there will be power usage implications that would have to be evaluated.
And, of course by providing a path to do this prototyping, Qualcomm is getting the OEM's engineers experienced with their product earlier, helping to lock out the competition.
Maybe this is a Canada thing, but I always thought that consumer electronic OEMs set the pricing for retailers to minimize unfair advantages for large companies while also keeping their margins from eroding. In talking to people I know who provide on line web retailers, the same applies there with manufacturers limiting product or raising wholesale costs to companies that offer product at a discount without the OEM's approval.
I didn't think it was done that much with computers (I was surprised to see Asus on the list) but I've heard about this in retail consumer electronics for decades (literally).
IIRC, SpaceX is planning on launching all their Block 4s, especially when the mission requires "Maximum Performance" (which means they can't be recovered). In terms of what they have left, I think it's only one or two - certainly less than five.
They cost $30M or so to build, so if they're flyable, SpaceX wants to make money on them.
myke
Just thinking about this, it's really the same question - when you power down your PC/laptop/whatever, do you hold the power button down for five seconds to shut it down or do a "System Shutdown"?
It's really the same thing when you apply to USB thumb drives.
You *should* be able to just yank out a USB drive but there's always the chance that a program has a file open and has modified it but not closed it which means, depending on the file system, the file (and maybe the drive) is corrupt until it is closed.
I would think that the idea application behaviour when it comes to files the guidelines should be:
a) Opens the file to read the contents and store in memory. Once this is done, the file is closed.
b) Searches and operations are done on the copy in memory.
c) When the program/user decides the changes to the copy are correct, the file is open, written to and then closed.
d) If the application wants to update the file and the (thumb) drive isn't accessible, the user is prompted.
I know that I will get pushback on this as there will be the question what if the program is too big for memory? My response is that this is not 1983 and there should be either enough DDR to store the entire file or cacheing will make sure that the application can access all of it. Even if the file is cached, then the performance of the app searching the file in cache should be faster than doing lseek's on an open file. I'm trying to think of cases where the guidelines above are not appropriate and the only case I can think of is databases, but chances are that's on a network resource rather than a thumb drive.
Regardless of whether or not you think my guidelines are appropriate, you can't guarantee that all applications accessing the thumb drive close files after they've accessed them. You could go through and close all applications that are accessing files on the thumb drive, but that doesn't include operating system functions (early versions of NTFS in WinNT never did updates when you thought they would, they got put in a queue and would be done sometime down the line) or virus search apps work the way you want them to.
So, always click on "Eject".
Tab should have a key-code, but not a ASCII code, like Shift. It has no place in a document, whether it be code or prose
You do realize that tab characters are used in places other than "code or prose"? It's very useful for document/table formatting especially for non-proportional fonts. It's also very useful in UI processing (ie moving between controls in a dialog box).
I don't think what you're asking for is all that modest.
This type of story is even less useful than "What is today's most popular programming language?" stories that pop up here every week or so.
Python is an excellent language and well worth knowing and being competent in programming in. But, so is Javascript as all developers tend to need to do some intelligent web UIs. Then there's C/C++, in which most of the world's system programming is written in. VBA is important to have to be able to work with databases/spreadsheets. And, of course you can't do anything without Rust and Go and Perl is great for doing something quick and dirty.
How about an article pointing out that to have a successful career as a software engineer (ie "coder") you must be willing to pick up skills in different programming languages (and environments) and avoid latching on to what the pundits tell you is "THE PROGRAMMING LANGUAGE OF THE FUTURE".