It has been 10 years since I gave up on Linux (full time) on the desktop (I still use it on a server/build/database etc.) machine but not on my primary desktop machines (laptop or desktop). There was always something that did not work with the latest and greatest laptop hardware. There was always some thing that would fail because you tried adding something new. There was the issues of sometimes when you just wanted on update done and it failing because dependencies etc. There is always something that just does not work, and takes a lot of time to config (at that time it was things like multiple network cards or multiple monitors or video card drivers that were less than they should have been). I have no problem if it is not my primary goto computer (like my server which I can shelve for a while if I have problems - and have time or feel like tinkering). The configuration, the feel of the user interface never seems quite polished. I am sure a number of these applications default - work independently well, but together there is just something not quite right. The desktop always seems sort of spungy or sluggish or halting at times. There is no visionary that seems to be able to bring it together and make it work like a well tuned orchestra. 10 years now and the interface has not really improved in many cases - it might get a little better, then worse, then better but it is 1 step forward, 1 step backwards.
These irritations (especially on the laptop) made me take a look at macOS which had somewhat matured and underneath was still a UNIX variant (very important to me) -- in 2007. After all these years it is still -- maybe this year the desktop will take off.... well... NO. Because the underlying reasons still have not been addressed for your average user. Now given windows or Linux - I would chose Linux... but the only way Linux does take off is if all other desktop OSs mess up big time.
Not only the fragmentation of audience - but fragmentation of effort with regards to building a fast aesthetically pleasing desktop that just works without tinkering too much. There is always something that just does not seem smart or a square peg in a round hole or you just get into a quandary if your configuration is a little more complicated. I would like to see Linux succeed more on the desktop but you have too many technical coder types building it without the overview or the supervision to make it really shine.
The companies I work for usually only upgrade Windows close to the point that software support is ending. This was the same for Win XP, and Windows 7. The fact that they are now doing 6 months for macOS and iOS.... seems insignificant in comparison.
As an individual I move almost right away to a new version, but if I were a company I would not move until at least 2 patch cycles have completed -- and maybe longer (for macOS that is close to 3 months) -- and that is what I would consider fairly aggressive. Even before the recent spate of issues, you would have to be a fool to try and move quicker than that IMHO.
To travel fast through space one of the theories is that we can warp space (and time). Some of these unidentified objects are probably echos or shadows of our future when we start developing advanced space propulsion systems... The rest are likely just delusions of a primitive people (us).
And what happens if you overwrite the copy in Dropbox just as your system crashes? (not familiar with Dropbox edge cases). Bitbucket is free, it is easy... and it is more suitable.
It is the developer's responsibility. It is him who did not have a proper backup plan in place. Who else is to blame... it could as easily been a drive failure. It could have been a break'in and stolen computer equipment. It is an expensive less to learn... but hopefully learn he will.
It could have been just as easily a drive failure that deleted all the data. Instead, it was discarding the changes (and keeping the original version - which in this case amounted to nothing) [my guess not having familiarity with the tool]...
I have lost a few hours of changes, but I it would be difficult to lose 3 months. You can use free services such as BitBucket for a single committer/project (private repository) as your offsite source control copy. You should also make a local backup and keep a regular offsite backup for important work that you cannot afford to lose. The fact that you get 3 months into a project then start thinking about source control is utter stupidity. It is a lesson this developer will hopefully learn (even if he has to learn it the hard way). On the bright side -- the second time I do something... it is always quicker...
And because of his conservative teachings - he had what I and others would consider moronically backwards viewpoints with respect to women's place in society. Despite these viewpoints, he was a diligent worker and did not allow his personal feelings to interfere with working with women to get the job done. His personal viewpoints are known because he is not shy about telling people his personal opinions...
Because of his viewpoints, others would refuse to work with him... should he be fired because others let their personal feelings get in the way of their duty to the company to get past personal disagreements -- and get the work done? I would say -- no. His personal viewpoints, no matter how moronic I consider them are not a reason to fire him. If others have a problem working with him because they don't like his personal viewpoints -- they should be fired for letting their personal feelings get in the way of their duty to the company and to get things done.
I have worked with and for people I personally despise, but I have never let it get in the way of actually getting the work done.
A perfect example of why the current generation is weak -- they cannot tolerate anything with respect to differing opinions (as long as that is all it is opinions). The newer generation (left and right) are made up of too many snowflakes.
If people refused to work with him because of his moronic views, then the same people could potentially not work with others because of other bias. In other words, when someone will not work with someone else regardless of views, it is their problem and should be let go. If the fired employee would not work with others -- he should be fired. He should not be fired because of his views -- no matter how moronic they are. As an individual employee (not representing Google and the statement was not made externally and attributed to "google employee"), he should be judged on his work -- not on his views.
Killing the messenger of a politically correct and quite honestly really moronic memo was not the right move.
He did not make the memo public -- so even if he wrote it -- it was not him that "damaged" Google... Google obviously has it's own issues and feels that firing the employee rather than dealing with issues directly would be the best PR move... He should not be fired over his memo -- I would however not put him up for promotion since he would have a high bar to prove that he would be able to work with all others without bias. If he was able to do his current job, and do it well (meritocracy)... they should have just used the memo as a discussion point and say although they thoroughly disavowed the comments in regards to gender equality.
Then just assign him to always work for a woman... who was proven to be better than him:p
If he wrote the virus and sold it with the knowledge that this was neither an academic exercise or proof of vulnerability and he knew or should have known the tool that he wrote was going to be used to commit crimes... then yes - he should be charged with at least being an accessory to the crimes.
Similarly, if you built a custom device to tap into a lock mechanism on a safe and that the only use was to break into safes... and he built the device for a criminal or criminal organization (and not a locksmith) that person should also be charged.
It takes almost the entirety of the time limit to complete the green card application -- you basically are committing only to use the H1B as a temporary work permit for a maximum of 6 years then leave -- if you are able to switch employers (your employer is your green card sponsor).
If the H1B "temporary/permanent dual intent" is changed to something like a provisional green card - you the employee have the provisional green card... As long as you pay taxes, are not a burden on society, work a minimum of 5 years accumulated, stay out of the criminal justice system -- the provisional green card status becomes full green card status.
I did work on a TN1 status in the US for a couple of years - but I turned down the offer to transfer to an H1B and start the green card process -- it just was not worth it. I have no plans on ever returning to work in the United States - but I do recognize that the American system is a complete mess which does not give priority to those that are skilled -- which leaves these H1B visas as basically a hack where immigration reform that changes to a point based system that favoured high tech / employment sponsored for permanent status.
Points would be issued on:
1. English language proficiency
2. Education (American University Education would be the most points).
3. Education (University/College - Skilled - Assigned based on University ranking globally)
4. Employment Offer / Salary based points
5. Prior Employment History in selected fields (American University can be duplicated and applied for these points as well).
6. Age
7. Marital Status (Married - your wife has her points calculated and then combined and divided by 2)
Figure out the immigration target level - divide it by 12 (monthly) and then those that have the most points in the month of the application get approved in that month. An employer may make another job offer the following month and your status could be evaluated in the following month (it would rely on a patient employer).
The system would encourage talent to immigrate or those with American University degrees to be ranked highly. The H1B would become redundant then.
H1B is a 3 year visa. An employee is limited to 2 of them. It is a dual-intent visa and it takes almost 6 years to navigate the green card process. H1B is one of the only dual-intent visas. The US Immigration system is broken and getting rid of H1B visas is only the answer if they replace it with a provisional green card where the employee is not tied to a single employer (i.e. if you are gainfully employed for 6 years on the provisional green card you a transferred to a permanent green card. Basically, there will be a limited number of sponsored tech workers entering the US but they will not be restricted in salary/benefit negotiations if they can just go to another company and not be locked into one employer during that period. Companies that currently abuse the visa would find there imported labour walk away from them for better jobs.
Younger workers are have been under employed since I was a kid -- long before H1B visas were an issue (30 years). Many workers in any field are just not worth employing -- especially in the tech industry where productivity of the top worker is often a rather high multiple of the lowest worker.
Protectionism that blocks foreign skilled talent will only hurt American businesses which will have a further knock on when it comes to secondary employment, taxation etc. If the foreign worker is in demand and yet cannot be employed in the US because of protectionism -- it will only encourage the company to setup offices in places where they can employ the people they need (whether it be offshore or just to the north).
I am not saying there isn't abuse in the H1B visa category -- there obviously is... protectionism for the sake of protectionism is not the answer.
There are two issues with the process. The H1B is the only visa that allows for dual purpose/intent - temporary worker while allowing for the person to have the intent to work permanently in the United States. It is often used while a company is sponsoring the individual for a green card. H1B is a maximum of 2 3yr visas, and sponsoring for a green card typically takes almost 6 years to process. During this time a worker cannot change employers or they have to start over on the green card application -- basically turning them into indentured servants with little or no ability to negotiate on pay.
The H1B tech worker program should be changed into a temporary work permit given to the employee (not the employer) while the green card application is underway. The green card application once started should have the ability to "transfer sponsors". H1B visas should require a minimum salary at or above the prevailing wage. Data on salaries of local hires and H1Bs should be reported annually, and if a company is abusing the visa then they should be banned from sponsoring them for a period of 5 years.
I doubt the US constitution offers any protection from unreasonable search and seizure to foreign people in a foreign land -- regardless of whether it may have violated NZ law. As such fighting against extradition from NZ is the only thing keeping him from facing the courts.
I am not surprised that the NSA spied on him, I would just be surprised if any of that information could or would make its way into civilian law enforcement hands. I suspect the NSA was spying because any storage could be used to store information used to communicate between terrorist cells (i.e. steganography)
I started in a more open office (not a buzz word back then - just room with cheap desks) and eventually was promoted and in the process got an office. Then eventually moved to a new building and lost the office had a cubical, etc. Worked at another company where we had cubicles -- but often teams would move into a conference room around a table. So I have had basically experience with all.
Open Office
There are times where you cannot seem to get your mind in gear -- and a little goofing off from time to time can help break things up. "Goofing off" being basically working on pet projects that you might not get full management buy-in -- not playing poker online. If you have good management that is able to value you based on real productivity and not "hours" logged in a time tracking machine -- and not necessarily value of that work - working in an open office where anyone walking by at "the wrong time" can be stressful since that is all you will be measured (those few times that you are not head down entering code into an editor).
If however, the open office is about a team working together around a common area - where you have some level of privacy just by the fact that you don't have people walking by your screen judging you on the minutia of every minute.... it can be a positive work environment.
The Apple offices though look completely open with no team dividers -- which may not be the best setup if there is not enough room to give a certain amount of limited privacy.
Closed Office / Offices
I found that working from an office can be just as bad since you are not likely to work together as a team -- since the effort of getting up and setting up an impromptu meeting for help when you are working on items - is also a very poor situation which limits mentoring and learning.
The best of both worlds would be having an open office for teams with frosted glass dividers with sound dampening where you can work around an area with some limited privacy -- but encourages people to work as a team together. The caveat is that you really have to get rid of people faster if they are a burden in that environment where they are disruptive to productivity. While also having individual offices that are available from time to time where you really just need to put your head down and you don't want any interruptions what-so-ever.
I managed to peg my 8 core Xeon at nearly 100% CPU usage for about 6 months straight - 7 days a week, 24 hours a day doing video transcoding on a library. But yes, any computer with more than 2 cores is really a niche computer these days since 90+ of the people run computers with CPUs idling 90%+. The $100 Ryzen 3 will be more than enough power for the masses. The greatest "performance" boost for personal computers in the last few years -- for the masses -- has been flash based SSDs...
Sounds like you had some nutter that decided to just convert the system into microservices without much thought other than... hey lets put them in different micro services. There are lots of ways to implement microservices, and there are a large number of ways to implement it wrong.... sounds like you fell into the second part.
And yes, you can always store the data from the the entire system on a common database or a multiple databases that you can run SQL queries across to do reporting. You can also implement a inquiry/reporting to consolidate common queries across the database -- for things like searches and reporting.
You can also implement specific domain level microservices for your business logic which collaborate with other microservices to complete the task. e.g. an order microservice for order processing which has to collaborate with the account microservice to make sure the account is allowed to do it, and a account ledger microservice where the transactions are posted when orders are completed -- all done through async messaging.
And of course all of the microservices could be hidden behind a public API service layer which routes requests etc. so that the customer does not have to know where to go.
The microservice architecture is about moving things into as small of domain specific functionality -- which should facilitate with code maintainability etc.
I would be worried about the people that got you into the mess by doing the whole thing first without first working on a subset of things and making sure that the design/architecture was correct before continuing down the road. When picking up a new paradigm -- we all tend to make lots of mistakes before actually getting it right. There are a few "right ways", and many "wrong ways" to do everything. Same with microservices.
After a search warrant is issued if it were for a physical premises you could refuse and it is easier to just blow the locks off and enter with minimal damage as can be done, and do the search anyways. There was never any need to go back and coercively "ask" for the key... but I would suspect that if it were impenetrable we might have had the same situation.
The act of giving a password etc. is not actually incriminating in itself. The only possibility would be that it as an act is proof of ownership of that device. If they have independent proof that that is your device and they have a warrant for "your" device - then they have a right to search it. If you refuse - the judge probably has the power to hold you in contempt of court if he found it unbelievable that you do not know that password. (different standard of proof - perjury would be higher).
There are differing opinions and it will eventually get up to the Supreme Court, so they should probably just "hold" him in contempt but allow him to remain free until the cases reach the Supreme Court for final rulings.
Since this was an active program by the FBI to recruit and pay on piecework basis for material found that was illegal, the Best Buy workers were no longer working for Best Buy with regards to this action and were effectively working for the FBI in a sort of deputized role. As such the terms of conditions by Best Buy should not apply, and since they are effectively contract workers for the FBI -- they should have required warrants. Thus the evidence should be thrown out.
If the court cases were incorrectly filed and ruled on for 30 years in the wrong location -- does that mean companies who did not settle can now have them overturned and go back to court in a new location?
It has been 10 years since I gave up on Linux (full time) on the desktop (I still use it on a server/build/database etc.) machine but not on my primary desktop machines (laptop or desktop). There was always something that did not work with the latest and greatest laptop hardware. There was always some thing that would fail because you tried adding something new. There was the issues of sometimes when you just wanted on update done and it failing because dependencies etc. There is always something that just does not work, and takes a lot of time to config (at that time it was things like multiple network cards or multiple monitors or video card drivers that were less than they should have been). I have no problem if it is not my primary goto computer (like my server which I can shelve for a while if I have problems - and have time or feel like tinkering). The configuration, the feel of the user interface never seems quite polished. I am sure a number of these applications default - work independently well, but together there is just something not quite right. The desktop always seems sort of spungy or sluggish or halting at times. There is no visionary that seems to be able to bring it together and make it work like a well tuned orchestra. 10 years now and the interface has not really improved in many cases - it might get a little better, then worse, then better but it is 1 step forward, 1 step backwards.
... NO. Because the underlying reasons still have not been addressed for your average user. Now given windows or Linux - I would chose Linux... but the only way Linux does take off is if all other desktop OSs mess up big time.
These irritations (especially on the laptop) made me take a look at macOS which had somewhat matured and underneath was still a UNIX variant (very important to me) -- in 2007. After all these years it is still -- maybe this year the desktop will take off.... well
Not only the fragmentation of audience - but fragmentation of effort with regards to building a fast aesthetically pleasing desktop that just works without tinkering too much. There is always something that just does not seem smart or a square peg in a round hole or you just get into a quandary if your configuration is a little more complicated. I would like to see Linux succeed more on the desktop but you have too many technical coder types building it without the overview or the supervision to make it really shine.
The companies I work for usually only upgrade Windows close to the point that software support is ending. This was the same for Win XP, and Windows 7. The fact that they are now doing 6 months for macOS and iOS.... seems insignificant in comparison.
As an individual I move almost right away to a new version, but if I were a company I would not move until at least 2 patch cycles have completed -- and maybe longer (for macOS that is close to 3 months) -- and that is what I would consider fairly aggressive. Even before the recent spate of issues, you would have to be a fool to try and move quicker than that IMHO.
To travel fast through space one of the theories is that we can warp space (and time). Some of these unidentified objects are probably echos or shadows of our future when we start developing advanced space propulsion systems... The rest are likely just delusions of a primitive people (us).
And what happens if you overwrite the copy in Dropbox just as your system crashes? (not familiar with Dropbox edge cases). Bitbucket is free, it is easy... and it is more suitable.
It is the developer's responsibility. It is him who did not have a proper backup plan in place. Who else is to blame... it could as easily been a drive failure. It could have been a break'in and stolen computer equipment. It is an expensive less to learn... but hopefully learn he will.
A single copy on Dropbox that has no SLA with you... is not sufficient.
... one). (offsite cloud backup).
You can setup a free account for a private repository on Bitbucket (free for small teams of
You should also be doing regular local backups and rotating them at a friends house as well (3 copies minimum).
It could have been just as easily a drive failure that deleted all the data. Instead, it was discarding the changes (and keeping the original version - which in this case amounted to nothing) [my guess not having familiarity with the tool]...
I have lost a few hours of changes, but I it would be difficult to lose 3 months. You can use free services such as BitBucket for a single committer/project (private repository) as your offsite source control copy. You should also make a local backup and keep a regular offsite backup for important work that you cannot afford to lose. The fact that you get 3 months into a project then start thinking about source control is utter stupidity. It is a lesson this developer will hopefully learn (even if he has to learn it the hard way). On the bright side -- the second time I do something... it is always quicker...
And because of his conservative teachings - he had what I and others would consider moronically backwards viewpoints with respect to women's place in society. Despite these viewpoints, he was a diligent worker and did not allow his personal feelings to interfere with working with women to get the job done. His personal viewpoints are known because he is not shy about telling people his personal opinions...
Because of his viewpoints, others would refuse to work with him... should he be fired because others let their personal feelings get in the way of their duty to the company to get past personal disagreements -- and get the work done? I would say -- no. His personal viewpoints, no matter how moronic I consider them are not a reason to fire him. If others have a problem working with him because they don't like his personal viewpoints -- they should be fired for letting their personal feelings get in the way of their duty to the company and to get things done.
I have worked with and for people I personally despise, but I have never let it get in the way of actually getting the work done.
A perfect example of why the current generation is weak -- they cannot tolerate anything with respect to differing opinions (as long as that is all it is opinions). The newer generation (left and right) are made up of too many snowflakes.
If people refused to work with him because of his moronic views, then the same people could potentially not work with others because of other bias. In other words, when someone will not work with someone else regardless of views, it is their problem and should be let go. If the fired employee would not work with others -- he should be fired. He should not be fired because of his views -- no matter how moronic they are. As an individual employee (not representing Google and the statement was not made externally and attributed to "google employee"), he should be judged on his work -- not on his views.
Killing the messenger of a politically correct and quite honestly really moronic memo was not the right move.
:p
He did not make the memo public -- so even if he wrote it -- it was not him that "damaged" Google... Google obviously has it's own issues and feels that firing the employee rather than dealing with issues directly would be the best PR move... He should not be fired over his memo -- I would however not put him up for promotion since he would have a high bar to prove that he would be able to work with all others without bias. If he was able to do his current job, and do it well (meritocracy)... they should have just used the memo as a discussion point and say although they thoroughly disavowed the comments in regards to gender equality.
Then just assign him to always work for a woman... who was proven to be better than him
If he wrote the virus and sold it with the knowledge that this was neither an academic exercise or proof of vulnerability and he knew or should have known the tool that he wrote was going to be used to commit crimes... then yes - he should be charged with at least being an accessory to the crimes.
Similarly, if you built a custom device to tap into a lock mechanism on a safe and that the only use was to break into safes... and he built the device for a criminal or criminal organization (and not a locksmith) that person should also be charged.
It takes almost the entirety of the time limit to complete the green card application -- you basically are committing only to use the H1B as a temporary work permit for a maximum of 6 years then leave -- if you are able to switch employers (your employer is your green card sponsor).
If the H1B "temporary/permanent dual intent" is changed to something like a provisional green card - you the employee have the provisional green card... As long as you pay taxes, are not a burden on society, work a minimum of 5 years accumulated, stay out of the criminal justice system -- the provisional green card status becomes full green card status.
I did work on a TN1 status in the US for a couple of years - but I turned down the offer to transfer to an H1B and start the green card process -- it just was not worth it. I have no plans on ever returning to work in the United States - but I do recognize that the American system is a complete mess which does not give priority to those that are skilled -- which leaves these H1B visas as basically a hack where immigration reform that changes to a point based system that favoured high tech / employment sponsored for permanent status.
Points would be issued on:
1. English language proficiency
2. Education (American University Education would be the most points).
3. Education (University/College - Skilled - Assigned based on University ranking globally)
4. Employment Offer / Salary based points
5. Prior Employment History in selected fields (American University can be duplicated and applied for these points as well).
6. Age
7. Marital Status (Married - your wife has her points calculated and then combined and divided by 2)
Figure out the immigration target level - divide it by 12 (monthly) and then those that have the most points in the month of the application get approved in that month. An employer may make another job offer the following month and your status could be evaluated in the following month (it would rely on a patient employer).
The system would encourage talent to immigrate or those with American University degrees to be ranked highly. The H1B would become redundant then.
H1B is a 3 year visa. An employee is limited to 2 of them. It is a dual-intent visa and it takes almost 6 years to navigate the green card process. H1B is one of the only dual-intent visas. The US Immigration system is broken and getting rid of H1B visas is only the answer if they replace it with a provisional green card where the employee is not tied to a single employer (i.e. if you are gainfully employed for 6 years on the provisional green card you a transferred to a permanent green card. Basically, there will be a limited number of sponsored tech workers entering the US but they will not be restricted in salary/benefit negotiations if they can just go to another company and not be locked into one employer during that period. Companies that currently abuse the visa would find there imported labour walk away from them for better jobs.
Younger workers are have been under employed since I was a kid -- long before H1B visas were an issue (30 years). Many workers in any field are just not worth employing -- especially in the tech industry where productivity of the top worker is often a rather high multiple of the lowest worker.
Protectionism that blocks foreign skilled talent will only hurt American businesses which will have a further knock on when it comes to secondary employment, taxation etc. If the foreign worker is in demand and yet cannot be employed in the US because of protectionism -- it will only encourage the company to setup offices in places where they can employ the people they need (whether it be offshore or just to the north).
I am not saying there isn't abuse in the H1B visa category -- there obviously is... protectionism for the sake of protectionism is not the answer.
There are two issues with the process. The H1B is the only visa that allows for dual purpose/intent - temporary worker while allowing for the person to have the intent to work permanently in the United States. It is often used while a company is sponsoring the individual for a green card. H1B is a maximum of 2 3yr visas, and sponsoring for a green card typically takes almost 6 years to process. During this time a worker cannot change employers or they have to start over on the green card application -- basically turning them into indentured servants with little or no ability to negotiate on pay.
The H1B tech worker program should be changed into a temporary work permit given to the employee (not the employer) while the green card application is underway. The green card application once started should have the ability to "transfer sponsors". H1B visas should require a minimum salary at or above the prevailing wage. Data on salaries of local hires and H1Bs should be reported annually, and if a company is abusing the visa then they should be banned from sponsoring them for a period of 5 years.
I doubt the US constitution offers any protection from unreasonable search and seizure to foreign people in a foreign land -- regardless of whether it may have violated NZ law. As such fighting against extradition from NZ is the only thing keeping him from facing the courts.
I am not surprised that the NSA spied on him, I would just be surprised if any of that information could or would make its way into civilian law enforcement hands. I suspect the NSA was spying because any storage could be used to store information used to communicate between terrorist cells (i.e. steganography)
I started in a more open office (not a buzz word back then - just room with cheap desks) and eventually was promoted and in the process got an office. Then eventually moved to a new building and lost the office had a cubical, etc. Worked at another company where we had cubicles -- but often teams would move into a conference room around a table. So I have had basically experience with all.
Open Office
There are times where you cannot seem to get your mind in gear -- and a little goofing off from time to time can help break things up. "Goofing off" being basically working on pet projects that you might not get full management buy-in -- not playing poker online. If you have good management that is able to value you based on real productivity and not "hours" logged in a time tracking machine -- and not necessarily value of that work - working in an open office where anyone walking by at "the wrong time" can be stressful since that is all you will be measured (those few times that you are not head down entering code into an editor).
If however, the open office is about a team working together around a common area - where you have some level of privacy just by the fact that you don't have people walking by your screen judging you on the minutia of every minute.... it can be a positive work environment.
The Apple offices though look completely open with no team dividers -- which may not be the best setup if there is not enough room to give a certain amount of limited privacy.
Closed Office / Offices
I found that working from an office can be just as bad since you are not likely to work together as a team -- since the effort of getting up and setting up an impromptu meeting for help when you are working on items - is also a very poor situation which limits mentoring and learning.
The best of both worlds would be having an open office for teams with frosted glass dividers with sound dampening where you can work around an area with some limited privacy -- but encourages people to work as a team together. The caveat is that you really have to get rid of people faster if they are a burden in that environment where they are disruptive to productivity. While also having individual offices that are available from time to time where you really just need to put your head down and you don't want any interruptions what-so-ever.
I managed to peg my 8 core Xeon at nearly 100% CPU usage for about 6 months straight - 7 days a week, 24 hours a day doing video transcoding on a library. But yes, any computer with more than 2 cores is really a niche computer these days since 90+ of the people run computers with CPUs idling 90%+. The $100 Ryzen 3 will be more than enough power for the masses. The greatest "performance" boost for personal computers in the last few years -- for the masses -- has been flash based SSDs...
Sounds like you had some nutter that decided to just convert the system into microservices without much thought other than ... hey lets put them in different micro services. There are lots of ways to implement microservices, and there are a large number of ways to implement it wrong.... sounds like you fell into the second part.
And yes, you can always store the data from the the entire system on a common database or a multiple databases that you can run SQL queries across to do reporting. You can also implement a inquiry/reporting to consolidate common queries across the database -- for things like searches and reporting.
You can also implement specific domain level microservices for your business logic which collaborate with other microservices to complete the task. e.g. an order microservice for order processing which has to collaborate with the account microservice to make sure the account is allowed to do it, and a account ledger microservice where the transactions are posted when orders are completed -- all done through async messaging.
And of course all of the microservices could be hidden behind a public API service layer which routes requests etc. so that the customer does not have to know where to go.
The microservice architecture is about moving things into as small of domain specific functionality -- which should facilitate with code maintainability etc.
I would be worried about the people that got you into the mess by doing the whole thing first without first working on a subset of things and making sure that the design/architecture was correct before continuing down the road. When picking up a new paradigm -- we all tend to make lots of mistakes before actually getting it right. There are a few "right ways", and many "wrong ways" to do everything. Same with microservices.
After a search warrant is issued if it were for a physical premises you could refuse and it is easier to just blow the locks off and enter with minimal damage as can be done, and do the search anyways. There was never any need to go back and coercively "ask" for the key... but I would suspect that if it were impenetrable we might have had the same situation.
The act of giving a password etc. is not actually incriminating in itself. The only possibility would be that it as an act is proof of ownership of that device. If they have independent proof that that is your device and they have a warrant for "your" device - then they have a right to search it. If you refuse - the judge probably has the power to hold you in contempt of court if he found it unbelievable that you do not know that password. (different standard of proof - perjury would be higher).
There are differing opinions and it will eventually get up to the Supreme Court, so they should probably just "hold" him in contempt but allow him to remain free until the cases reach the Supreme Court for final rulings.
Since this was an active program by the FBI to recruit and pay on piecework basis for material found that was illegal, the Best Buy workers were no longer working for Best Buy with regards to this action and were effectively working for the FBI in a sort of deputized role. As such the terms of conditions by Best Buy should not apply, and since they are effectively contract workers for the FBI -- they should have required warrants. Thus the evidence should be thrown out.
Double Jeopardy only applies to criminal law.
If the court cases were incorrectly filed and ruled on for 30 years in the wrong location -- does that mean companies who did not settle can now have them overturned and go back to court in a new location?
That Rural East Texas has lost.... (a lot of companies incorporate in Delaware....)