All an operating system does is file (and secure - more or less) data and schedule/manage tasks: some at given times and optionally concurrently.
An IoT or "smart house" has little need for anything more than a state machine with local in-RAM data and possibly the means to interact with other IoT's within the same house. There are many solutions to this that have been around for years. Whether that involves 432MHz Tx/Rx modules, I.R. or the overkill and high power needs of a WiFi on a chip such as the ESP8266.
My own preference would be for as small a footprint as possible, with very little additional cruft -- even encryption would be too difficult for the average homeowner to manage (as evidenced by the parlous state of home PC security - even with the "can it get any simpler" functions of WPS) and therefore physical security would be the preferred path: not letting any signals out of the house. Have whatever sensors and controls on a I2C bus and get the unit price down to $5, so the units are both disposable and interchangeable without any need for reconfiguration.
Individuals aren't taxes based on their profit but income
Not strictly true. Individuals pay some taxes (here, at least - other countries: different rules) on their taxable income. That allows for certain deductions such as some expenses paid by people for items necessary for their work. It also allows them quite generous allowances and reductions.
It would be simple to think of all the income that a person received from their job as "profit". But governments don't apply rules like that, to protect low-paid workers and be progressive (tax those who can afford to pay more, at higher rates). Taxing companies on their profit is the only way that a sensible and proportionate system could work - while still incentivising companies to invest in their (and, by association, our futures). It is a reasonable parallel to the way that income is taxed. Sadly, companies employ cleverer accountants than governments do.
I'd like to start my own software product line and I'd like to avoid outsourcing as much as I can. I'm seeking advice on what you think are the best practices
The two "best practice" points that I know of are linked.
The first is to have a great deal of money - far more than you could possibly think is necessary.
The second is to be very careful, to the point of stinginess, on what you spend it for,
I would work on the assumption that it will be a year before you see any invoices getting paid and during that time you will have to pay out for both the startup costs and the people you employ. Since people will be the single biggest cost item, employ as few as is possible to get away with and work them as hard as possible - but only on things that will contribute directly on creating income. And then, only on short-term income.
Once you do that all the high-level questions will either answer themselves (and usually the answer will be "no") or they will turn out to be irrelevant to the immediate survival of the enterprise.
Plenty of studies have shown that it's [ 10x productivity ] true. If you can't see it, maybe you're one of the less productive ones?
Being able to bang out 10 times as much code in a day is not "productivity" - although, sadly, far too many people use this as a measure.
True productivity is to complete a project: from initial requirements specification through to testing, documentation, integration and acceptance in a shorter time. This is not the job of a single, lone, "superstar" programmer but of a fluent, experienced, team of professionals who know how to work together. Just parachuting in someone who can crap out code at ten times the rate of another programmer won't speed up a project (ref: The Mythical Man Month adding manpower slows a project down) and if they are an arsehole or prima-donna who won't work as part of a team, it will cause more long-term damage than it's worth.
The key to fast project delivery is good management and perceptive staff selection. Looking for a superstar programmer as some sort of silver-bullet is both naive and doomed to failure as it will make hardly any difference to the overall project timescales.
Most likely outcome: the agent, whose entire compensation is based on separating me from as much cash as possible, manages to take more than that difference and I get screwed while thinking I got a good deal
A good agent will be in it for the long term. Working in a mutually beneficial arrangement.
So there won't be any "screwing" as they will have a reputation to uphold amongst yourself and their other clients. If people feel they are worse off, they will fire their agent and word will spread.
As a freelancer, I've had an agent since the mid 90s. The real problem is that I am only one of many clients, so as long as things are going well, they tend to get complacent and lazy - just rolling over the contracts and taking their commission. What the software world needs are MORE agents and better contracts with their clients: which at present seem to be rather one-sided, since the agents are responsible for getting all the work, they are the ones with all the IT business contacts.
When you factor in the amount of time it takes to get from where you are, or where you live, into the city centre to catch this centre-to-centre train - and then out at the other end to your actual destination, is this really any faster than driving if you have a decent road network?
I don't know how much heat an RTG emits, but if you're trying to land on a comet, it would be a real pain if you melted away the surface you had landed on.
First of all: reliability. The house must be able to retain all its functionality during a power outage.
After that I want security. It must be impervious to unwanted intrusion: either physical or hackers.
Next comes self-cleaning - probably the biggest chore after home maintenance. This would include cleaning the household appliances, too
Talking of maintenance, the house must never, ever require a software upgrade.
After that we can start talking about useful features such as tending the garden, washing the car, cooking meals, collecting, washing, ironing and re-storing clothes - picking up dishes, pans, cutlery, cups and glasses, cleaning them and replacing them in the correct cupboards.
At this point we have a house that just about qualifies as "smart". The key problem is not the simplistic features such as turning lights on or off, setting room temperatures and the like: these are the domain of little 8-pin microprocessors. Describing those functions as "smart" is as sensible as talking about a "smart" amoeba. The big problems are associated with moving household items in a safe and reliable way and it's only what a house can operate on that level that "smart" begins to cover it.
All the technical solutions will either remain known or are easily re-discovered. There are two big problems with rebooting society:
First, you need LOTS of people. Most of the stuff we have today relies on a certain minimum population density. That is especially true of transportation systems and without them, it would not be possible to move the raw materials around. So medical knowledge and knowing how to keep young children from dying will be paramount.
The second problem will be producing an effective counter-argument to all the superstitions, ignorance and religions that are bound to appear if "civilisation" dies off. That is what held back our scientific and technological development: From Aristotle to the Industrial Revolution there was 2,000 years of very little progress and what there was, was usually achieved DESPITE religion, not with its encouragement.
The technology will come of its own accord, but speeding it up will need manual for social survival, not designs for steam engines
The calories consumed "argument" seems like a red herring.
The spacecraft will be a closed environment: recycling waste from food and water (with some slight inefficiencies and consequent loss - but you'd expect that to be very small). So once the craft is loaded with enough raw materials to produce food fast enough (a function of energy availability) then it won't matter how many calories per day the crew consume, so long as the onboard systems can recycle the waste and replenish them fast enough. Same applies to water use: very little will be "consumed" (lost irrevocably) and if there's enough energy to recycle it the crew could use as much as they please. It's not as if there will be a stream of empty MRE package dumped out of the vessel every morning.
As far as calories goes: this is just heat generation. So however many calories the crew "consumes" will ultimately contribute towards the heating of the cabin. Obv. if the cabin needs cooling more than heating there will be a greater energy cost - but again it comes down to the ability of the craft to generate power to run itself, not very much in the way of "lost" consumables.
The reason this situation exists is because the vendor has nothing to gain from changing.
If they have a fixed amount of ice, or can only make a fixed amount per hour then they have nothing to gain from selling that amount at a faster rate. Sure, the customers may not like it but since these guys are the only source of ice, what the customers want is of little consequence.
If you really want to speed up the line, introduce some competition. A 3 word answer instead of a 1,600 word one.
Learning to "code" is about as difficult as learning to drive, but in a different way.
Hence it can be learned pretty much at the convenience of the individual in question in a few months, even starting from scratch.
There is no reason to teach "coding" to 7 year-olds. They are too young to fill any vacancies that may exist and by the time they have got to an employable age, obtained a degree (as few employers will touch an IT person without one) the "coding" skills they learned 15 years ago will be almost completely obsolete. One might argue that they will have learned to employ logic, but again: unless that skill is exercised regularly, it too will be lost.
It is a clumsy piece or writing. It may well make sense to the tiny minority of people who know (or care) what a "sub-two" marathon refers to.
However without the reference to Runner's World it's not even clear that the piece is about athletics. It could have meant any sort of marathon: watching a TV series, eating long sandwiches: anything.
Wouldn't it have been simpler, clearer to write something like: In the past 16 years, marathon runners have cut the world record from 2hr 06:23 to 2hr 03:23. But as they get closer to the 2 hour mark, further improvements will become progressively harder to achieve.
f you could take 100 people at a time, you would need 10,000 trips to get to a million people.
No. You'd store their DNA, ship that and "grow" people after it arrives. And after the robots have spent the time necessary building the infrastructure, making it habitable and amassing the minerals, water, gases and power generation needed to sustain the colony.
The only problem would be getting the robots to let go of control, once the humans arrive.
I think the easiest might be "learning to focus lasers a little better."
Let's take a step back.
What would provoke a battle in space? The simplest answer (at present) would be a dispute between two earthly powers vying for dominance. In that case I doubt that anyone in the general public would be aware of what was going on and the distances involved ( a few hundred km, up and down) means that ground based energy weapons and small projectiles that intercepted the opposition's orbits would be all that's needed.
But once you get into interplanetary conflict, it's a different matter, In that case (say for example: the Earth - Mars independence war - or Revolutionary War depending which side you're on), then for a Martian attack on an Earth-orbital facility, you'd need 2 things. First is an unmanned vehicle - simple because nothing else is sensible and the second thing would be a large mass. Orbital stations would be sitting ducks as they are in very predictable paths and while stations like the ISS *can* change altitude to avoid incoming threats, it's a slow process and again: fairly predictable.
So with an unmanned attacker, the vehicle IS the weapon - there's no point waiting for it to circle back round for a second shot. Just make it large enough and heavy enough that it could take any incoming "fire" from directed energy weapons and then have it disperse into many (thousands: millions) of small pieces as it nears the target. That would provide too many pieces to successfully destroy them all - you'd only need 1 to get through and whatever doesn't hit the orbital target would deny orbits to other "enemy" facilites due to the amount of debris the Earth's gravity would capture.
And if you want to get really nasty, there's always Footfall
Given what we can do with stealth technology today, imagine the problem of even discovering the presence (let alone position, velocity and acceleration) of something that doesn't want to be found.
The only two "giveaways" would be the heat signature from its power source (not just propulsion, but life-support) and whatever it accidentally occults as it moves across the background of stars. The heat can be drastically reduced by towing the power source a long way behind the main craft and having it very, very dispersed so the Watts per square metre of I.R. are very small. The occultation problem can be reduced by choosing a path that stays away from the galactic plane.
So most battles would be ones of sneak attacks and defensive fire. It might be possible to devise some sort of A.I. mines, or even simply fire a cloud of sand in the general direction (assuming the relative velocites of target + sand are high enough, that could be all that's needed).
However, I have a feeling that most "wars" in the future, whether in space on on Earth, will be economic in nature and "fought" over decades rather than wham-bam shooting battles.
The authors say this will fundamentally change the concept of what it means to own and control your possessions.
So the authors are considering a future where we have to replace all our domestic appliances every 2 years, simply because someone somewhere has decided that the control software *must* have this new feature (that nobody asked for) and that it will only run on version X. You now have 3 months to toss the old fridge / cooker / vacuum cleaner / lightbulb before it gets automatically bricked. Even though it performs its primary function perfectly.
Reports are consistent: they report the same data, in the same format thus making for easy comparisons
Reports are easily filed. Why would a manager want to waste their time learning how to retrieve past data and then learn how to compare it with stuff form other dates/times when they can simply print it and highlight what they want. Paper and disk space are cheap - their time is not.
Reports are portable. You can take them away with you, you can show them to other people.
Reports are secure. You can print them and be sure that whoever you show them to cannot access anything else. ANYTHING
Reports can be easily incorporated into a manager's "product" (presentations, summaries, proposals and archives) without them having to learn any new methods. Again: it's a trade-off between cheap IT resources and their expensive time.
And probably most important of all: reports are familiar. Never forget that IT is providing a service to the business. It's not the place of IT to dictate to the business how they do their work - it should always be the other way round.
Exactly right. Whenever I post on Linux related topics I see responses like this that are both arrogant and foul-mouthed - where neither position is necessary, nor adds credibility to the poster (or to the subject they are writing about).
The other thing these individuals seem to do is drag MS into the subject - as if they are still fighting their own little wars over some 1990's idealogical differences. But they never put forward any actual rational arguments or facts to back up their bile: just hate posts.
Since you already have a full life, something would have to give. The amount of time you estimate to be available would get to hobby level: the same as the other thousands of amateur astronomers in the country. But it's not enough to do any serious studying, get qualified or do research to a publishable quality.
All an operating system does is file (and secure - more or less) data and schedule/manage tasks: some at given times and optionally concurrently.
An IoT or "smart house" has little need for anything more than a state machine with local in-RAM data and possibly the means to interact with other IoT's within the same house. There are many solutions to this that have been around for years. Whether that involves 432MHz Tx/Rx modules, I.R. or the overkill and high power needs of a WiFi on a chip such as the ESP8266.
My own preference would be for as small a footprint as possible, with very little additional cruft -- even encryption would be too difficult for the average homeowner to manage (as evidenced by the parlous state of home PC security - even with the "can it get any simpler" functions of WPS) and therefore physical security would be the preferred path: not letting any signals out of the house. Have whatever sensors and controls on a I2C bus and get the unit price down to $5, so the units are both disposable and interchangeable without any need for reconfiguration.
Individuals aren't taxes based on their profit but income
Not strictly true. Individuals pay some taxes (here, at least - other countries: different rules) on their taxable income. That allows for certain deductions such as some expenses paid by people for items necessary for their work. It also allows them quite generous allowances and reductions.
It would be simple to think of all the income that a person received from their job as "profit". But governments don't apply rules like that, to protect low-paid workers and be progressive (tax those who can afford to pay more, at higher rates). Taxing companies on their profit is the only way that a sensible and proportionate system could work - while still incentivising companies to invest in their (and, by association, our futures). It is a reasonable parallel to the way that income is taxed. Sadly, companies employ cleverer accountants than governments do.
I'd like to start my own software product line and I'd like to avoid outsourcing as much as I can. I'm seeking advice on what you think are the best practices
The two "best practice" points that I know of are linked.
The first is to have a great deal of money - far more than you could possibly think is necessary.
The second is to be very careful, to the point of stinginess, on what you spend it for,
I would work on the assumption that it will be a year before you see any invoices getting paid and during that time you will have to pay out for both the startup costs and the people you employ. Since people will be the single biggest cost item, employ as few as is possible to get away with and work them as hard as possible - but only on things that will contribute directly on creating income. And then, only on short-term income.
Once you do that all the high-level questions will either answer themselves (and usually the answer will be "no") or they will turn out to be irrelevant to the immediate survival of the enterprise.
Plenty of studies have shown that it's [ 10x productivity ] true. If you can't see it, maybe you're one of the less productive ones?
Being able to bang out 10 times as much code in a day is not "productivity" - although, sadly, far too many people use this as a measure.
True productivity is to complete a project: from initial requirements specification through to testing, documentation, integration and acceptance in a shorter time. This is not the job of a single, lone, "superstar" programmer but of a fluent, experienced, team of professionals who know how to work together. Just parachuting in someone who can crap out code at ten times the rate of another programmer won't speed up a project (ref: The Mythical Man Month adding manpower slows a project down) and if they are an arsehole or prima-donna who won't work as part of a team, it will cause more long-term damage than it's worth.
The key to fast project delivery is good management and perceptive staff selection. Looking for a superstar programmer as some sort of silver-bullet is both naive and doomed to failure as it will make hardly any difference to the overall project timescales.
Most likely outcome: the agent, whose entire compensation is based on separating me from as much cash as possible, manages to take more than that difference and I get screwed while thinking I got a good deal
A good agent will be in it for the long term. Working in a mutually beneficial arrangement.
So there won't be any "screwing" as they will have a reputation to uphold amongst yourself and their other clients. If people feel they are worse off, they will fire their agent and word will spread.
As a freelancer, I've had an agent since the mid 90s. The real problem is that I am only one of many clients, so as long as things are going well, they tend to get complacent and lazy - just rolling over the contracts and taking their commission. What the software world needs are MORE agents and better contracts with their clients: which at present seem to be rather one-sided, since the agents are responsible for getting all the work, they are the ones with all the IT business contacts.
When you factor in the amount of time it takes to get from where you are, or where you live, into the city centre to catch this centre-to-centre train - and then out at the other end to your actual destination, is this really any faster than driving if you have a decent road network?
I don't know how much heat an RTG emits, but if you're trying to land on a comet, it would be a real pain if you melted away the surface you had landed on.
They shouldn't be getting their $3 billion back
It seems to me that the auditors, who passed the company accounts as being "true" should be held liable - and then get punished for negligence.
What would you look for in a smart home?
First of all: reliability. The house must be able to retain all its functionality during a power outage.
After that I want security. It must be impervious to unwanted intrusion: either physical or hackers.
Next comes self-cleaning - probably the biggest chore after home maintenance. This would include cleaning the household appliances, too
Talking of maintenance, the house must never, ever require a software upgrade.
After that we can start talking about useful features such as tending the garden, washing the car, cooking meals, collecting, washing, ironing and re-storing clothes - picking up dishes, pans, cutlery, cups and glasses, cleaning them and replacing them in the correct cupboards.
At this point we have a house that just about qualifies as "smart". The key problem is not the simplistic features such as turning lights on or off, setting room temperatures and the like: these are the domain of little 8-pin microprocessors. Describing those functions as "smart" is as sensible as talking about a "smart" amoeba. The big problems are associated with moving household items in a safe and reliable way and it's only what a house can operate on that level that "smart" begins to cover it.
it [ climate change ] is indeed happening, and it's almost entirely man's fault
So let's find this man and ask him if he wouldn't mind stopping, please?
All the technical solutions will either remain known or are easily re-discovered. There are two big problems with rebooting society:
First, you need LOTS of people. Most of the stuff we have today relies on a certain minimum population density. That is especially true of transportation systems and without them, it would not be possible to move the raw materials around. So medical knowledge and knowing how to keep young children from dying will be paramount.
The second problem will be producing an effective counter-argument to all the superstitions, ignorance and religions that are bound to appear if "civilisation" dies off. That is what held back our scientific and technological development: From Aristotle to the Industrial Revolution there was 2,000 years of very little progress and what there was, was usually achieved DESPITE religion, not with its encouragement.
The technology will come of its own accord, but speeding it up will need manual for social survival, not designs for steam engines
The spacecraft will be a closed environment: recycling waste from food and water (with some slight inefficiencies and consequent loss - but you'd expect that to be very small). So once the craft is loaded with enough raw materials to produce food fast enough (a function of energy availability) then it won't matter how many calories per day the crew consume, so long as the onboard systems can recycle the waste and replenish them fast enough. Same applies to water use: very little will be "consumed" (lost irrevocably) and if there's enough energy to recycle it the crew could use as much as they please. It's not as if there will be a stream of empty MRE package dumped out of the vessel every morning.
As far as calories goes: this is just heat generation. So however many calories the crew "consumes" will ultimately contribute towards the heating of the cabin. Obv. if the cabin needs cooling more than heating there will be a greater energy cost - but again it comes down to the ability of the craft to generate power to run itself, not very much in the way of "lost" consumables.
If they have a fixed amount of ice, or can only make a fixed amount per hour then they have nothing to gain from selling that amount at a faster rate. Sure, the customers may not like it but since these guys are the only source of ice, what the customers want is of little consequence.
If you really want to speed up the line, introduce some competition. A 3 word answer instead of a 1,600 word one.
Hence it can be learned pretty much at the convenience of the individual in question in a few months, even starting from scratch.
There is no reason to teach "coding" to 7 year-olds. They are too young to fill any vacancies that may exist and by the time they have got to an employable age, obtained a degree (as few employers will touch an IT person without one) the "coding" skills they learned 15 years ago will be almost completely obsolete. One might argue that they will have learned to employ logic, but again: unless that skill is exercised regularly, it too will be lost.
You probably don't even need that. Just make the course downhill all the way.
However without the reference to Runner's World it's not even clear that the piece is about athletics. It could have meant any sort of marathon: watching a TV series, eating long sandwiches: anything.
Wouldn't it have been simpler, clearer to write something like:
In the past 16 years, marathon runners have cut the world record from 2hr 06:23 to 2hr 03:23. But as they get closer to the 2 hour mark, further improvements will become progressively harder to achieve.
So can we expect all the junk food emporiums to now start recruiting fatties to serve their customers?
f you could take 100 people at a time, you would need 10,000 trips to get to a million people.
No. You'd store their DNA, ship that and "grow" people after it arrives. And after the robots have spent the time necessary building the infrastructure, making it habitable and amassing the minerals, water, gases and power generation needed to sustain the colony.
The only problem would be getting the robots to let go of control, once the humans arrive.
I think the easiest might be "learning to focus lasers a little better."
Let's take a step back.
What would provoke a battle in space? The simplest answer (at present) would be a dispute between two earthly powers vying for dominance. In that case I doubt that anyone in the general public would be aware of what was going on and the distances involved ( a few hundred km, up and down) means that ground based energy weapons and small projectiles that intercepted the opposition's orbits would be all that's needed.
But once you get into interplanetary conflict, it's a different matter, In that case (say for example: the Earth - Mars independence war - or Revolutionary War depending which side you're on), then for a Martian attack on an Earth-orbital facility, you'd need 2 things. First is an unmanned vehicle - simple because nothing else is sensible and the second thing would be a large mass. Orbital stations would be sitting ducks as they are in very predictable paths and while stations like the ISS *can* change altitude to avoid incoming threats, it's a slow process and again: fairly predictable.
So with an unmanned attacker, the vehicle IS the weapon - there's no point waiting for it to circle back round for a second shot. Just make it large enough and heavy enough that it could take any incoming "fire" from directed energy weapons and then have it disperse into many (thousands: millions) of small pieces as it nears the target. That would provide too many pieces to successfully destroy them all - you'd only need 1 to get through and whatever doesn't hit the orbital target would deny orbits to other "enemy" facilites due to the amount of debris the Earth's gravity would capture.
And if you want to get really nasty, there's always Footfall
The only two "giveaways" would be the heat signature from its power source (not just propulsion, but life-support) and whatever it accidentally occults as it moves across the background of stars. The heat can be drastically reduced by towing the power source a long way behind the main craft and having it very, very dispersed so the Watts per square metre of I.R. are very small. The occultation problem can be reduced by choosing a path that stays away from the galactic plane.
So most battles would be ones of sneak attacks and defensive fire. It might be possible to devise some sort of A.I. mines, or even simply fire a cloud of sand in the general direction (assuming the relative velocites of target + sand are high enough, that could be all that's needed).
However, I have a feeling that most "wars" in the future, whether in space on on Earth, will be economic in nature and "fought" over decades rather than wham-bam shooting battles.
The authors say this will fundamentally change the concept of what it means to own and control your possessions.
So the authors are considering a future where we have to replace all our domestic appliances every 2 years, simply because someone somewhere has decided that the control software *must* have this new feature (that nobody asked for) and that it will only run on version X. You now have 3 months to toss the old fridge / cooker / vacuum cleaner / lightbulb before it gets automatically bricked. Even though it performs its primary function perfectly.
No thank you.
I am not sure if you have noticed, but this is an American website
An american website?I think you'll find the other 95% of the world disagrees with you.
Reports are consistent: they report the same data, in the same format thus making for easy comparisons
Reports are easily filed. Why would a manager want to waste their time learning how to retrieve past data and then learn how to compare it with stuff form other dates/times when they can simply print it and highlight what they want. Paper and disk space are cheap - their time is not.
Reports are portable. You can take them away with you, you can show them to other people.
Reports are secure. You can print them and be sure that whoever you show them to cannot access anything else. ANYTHING
Reports can be easily incorporated into a manager's "product" (presentations, summaries, proposals and archives) without them having to learn any new methods. Again: it's a trade-off between cheap IT resources and their expensive time.
And probably most important of all: reports are familiar. Never forget that IT is providing a service to the business. It's not the place of IT to dictate to the business how they do their work - it should always be the other way round.
The other thing these individuals seem to do is drag MS into the subject - as if they are still fighting their own little wars over some 1990's idealogical differences. But they never put forward any actual rational arguments or facts to back up their bile: just hate posts.
So sad.
I can only spend maybe 10 hours a week on this
Since you already have a full life, something would have to give. The amount of time you estimate to be available would get to hobby level: the same as the other thousands of amateur astronomers in the country. But it's not enough to do any serious studying, get qualified or do research to a publishable quality.