Comment Just post it (Score 1) 99
Why make things harder than they have to be?
Why make things harder than they have to be?
If the teacher doesn't know Python, they will have a difficult time teaching it and the quality of the lessons will be poor.
In practice, it probably doesn't matter what the language is. The key is that it will only be a student's first language - not the only one they will ever user. So it's far better to teach them well, in a language the teacher is competent in, rather than to have the teacher just a page or two ahead of the children in the class. Apart from anything else, that will give the kids a more positive impression of CS, rather than having a teacher who continually has to look stuff up or answer questions with "I don't know".
It's also important for assessments that the teacher is experienced in the language that coursework is written in. Otherwise the marking will be hit and miss and the teacher won't be able to properly distinguish well written work from stuff that works by chance rather than by design.
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.
the only word I feel appropriate is "experienced"
Well, some are - some aren't. The best professionals will have used their 40 years - maybe 20 of which have been in the pursuit of their career, to expand their knowledge, experience and value. However there are a significant number of people who have been working in IT (and many other fields) who gained one year of experience very early in their careers and have simply repeated that year ever since. And some will have regressed.
It's a mobius printer that prints itself.
Really - it prints everything needed to make a printer that can print itself?
Or is it like these "robotic" vacuum cleaners, that can merely clean small parts of a household that are just floors, so long as they are all on the same level? - Conveniently forgetting about all the other surfaces (and curtains) such as shelf-tops, stairs, behind the TV cabinet or under the cooker that collect crud, too.
Once someone designs a 3D printer that actually can print all the parts needed, then it might (just) start to have enough applications that I might need one, maybe once a month.
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.
Why replace it? I occasionally change the SLA battery when the self-test shows it's become unreliable. It's a common 12V 7aH unit and a good quality replacement is far cheaper than an entire new UPS.
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.
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?
One man's constant is another man's variable. -- A.J. Perlis