its_pizza
If the method does a long thing, the keep it long. I do a lot of data analysis and simulation, and so often people who came before had this urge to shorten methods, so we get:
def do_calculation(N, X, y, z, a, b, c):
# Setup stuff
for i in range(N):
calclation(X[i], y, z, a, b, c)`
Sometimes there’s a place for that, like if calculation
could be swapped for a different function, or if calculation
is used all over the program. It’s a pretty good clue that something is up though when the signatures are almost identical. Of course, that has just led to people writing:
def do_calculation(big_struct):
read_data(big_struct)
calculate(big_struct)
write_data(big_struct)
I’m not sure of your country, but are you tied to it? (For example, do you have family, or are trying to attain citizenship?)
Opening up your search might be helpful. Look at a variety of universities in many countries to see what options there are.
Yes and no. I would say for the field OP is in, a lot of jobs will have B.S. or M.S. as the “required” education, and then M.S. or Ph.D. as “preferred”. The U.S. just dumped $280B into the CHIPS act, so now is a pretty good time to be in semiconductor R&D. The folks I work with seems to have little trouble popping back and forth between industry, academia, and government.
Depends on the job, and how good your read is of the situation. My experience has been that managers guilt trip or do other emotional games when they’re out of other options. In that case, it may be a safe bet to stand up to them.
Other places you’re more replaceable, or the manager doesn’t care and has an axe to grind. Then it’s trickier.
Every (US) job description I’ve had save one had a line to the effect of “… and other duties as required by management.” Not to follow would be considered insubordination and could lead to termination with cause. Job description in this case is just a broad-stroke outline of what the job is supposed to entail.
The “save one” was a job with a strong union presence. In that case, going outside my job description could lead to me and my manager being in trouble.
Not ear buds, but have you tried any bone- conduction headphones?
I mean, that’s basically the option. Set up a domain, set up dynamic DNS, and safely do the right port forwarding and IP reservations in your router.
Unfortunately this is not easy for a lot of people, and the overall picture of home automation requires a combination of skills that not everyone has. Then they basically get two choices: pay for a company to maintain the system, or use someone else’s cloud. A lot of people will pick option 2.
Unlike a lot of DIY tasks, it’s not even one that I would suggest to someone who is hesitant. It’s not a “oh just try planting tomatoes this year, see how it turns out.” Someone who messes up their port forwarding rules could potentially open their home network to a lot of trouble.
I mean, I agree, but the target market of a lot of this stuff couldn’t care less. They want their hot tub synced up to their Outlook calendar or whatever, and can afford a monthly maintenance contract to keep that working.
For the rest of us, there’s this sort of odd limbo. Most people expect some kind of remote control app as part of their smart stuff, which means either going through an outside cloud service, or running your own server and contending with the fact that most of us don’t have a static IP. Of course there are services like no-ip, but again, you’re stuck using someone else’s cloud service, just for a much smaller part of the overall task.
My point at the end though is that I don’t necessarily want “all in one” control, whether open source or proprietary. I’ve seen what well-implemented smarthome looks like, and it does not (to me) seem worth the money or time. I’ll take the ecobee, maybe the security cameras, and I’ll even go though their commercial cloud to get that remote connectivity, but I’d rather keep my services separate, than go all-in on one hardware/provider/app.
I know someone living in a really high-end “smart” home. We’re talking about a ton of hardware and proprietary software controlling practically everything in the house. From one app in a phone or iPad, you can control everything from the security cameras to the heater to the pool.
It’s basically the pinnacle of what all this technology intends to achieve, and tbh, it’s all a bit of a pain.
Diagnosing anything in the house has an extra layer of work. Is it the pool heater not working? Oh, no, it’s the app not working. Security alert from the house? A fly walked across the camera lens. Everything acting weird all the sudden? Guess the shitty monopoly broadband cable provider in the city is having issues again.
The system only stays afloat because of a 24/7 service contract with a company that specializes in these houses. Give a few months without that support, and things will start falling apart.
I get that this is a different class from the products from Google and Amazon, or even the various open source products, but tbh, I’ll take fragmented over monolithic and overarching.