|
You are crackers!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
with all those clues you might as well have mentioned the answer
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
It is my little informed opinion the F-35 Pilot Helmet can be built by private engineers at much lower cost than .4 Million smackaroonies I seek here opinion of same by those more knowledgeable and skilled than myself The abilities of the helmet as far as I know are image presentation and head tracking Perhaps this is a kind of CodeProject X-Prize - Cheerio
PS As near as I can tell it is Google Glass w/ a carbon fiber shell Big Deal As for ruggedization specification fitting development E/M protection etc. FOUR HUNDRED MILLION DOLLARS! NONSENSE
modified 1-Oct-21 10:20am.
|
|
|
|
|
Once I got a 'special' book... Herman Wouk's The Caine Mutiny... What was 'special' about the book that it came out from printing without any whitespaces in it...Likeitwaswritteninasinglebreath.
Your writing remembers me the experience of reading in it...
"The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012
|
|
|
|
|
Built? Yes.
Designed, built, tested and maintained with expected lifetimes and enforcing clauses on said lifetimes? Nope. Keep in mind that it's not a Samsung / Crapple phone, which expected volume of sales is in the millions. These are objects sould in the hundreds, maybe.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
And there is the sales person that has to make a phat commission on it for doing none of the hard work
Hogan
|
|
|
|
|
Don't forget, there would be no work to do, without the salesman.
Selling an idea, a helmet not yet created, is particularly difficult.
I know, I have had to sell my own software.
ed
|
|
|
|
|
Agreed.
Having worked on many like military projects, the specifications are very stringent. The testing is way beyond what any normal set of electronics would go through. Case in point, a laptop used by any ground unit has to be able to survive under heavy ground fire, flood, minor explosions, and being dragged through country for hundreds of miles (mud, sand, rocks). If a laptop is submitted for testing, they put the thing through these tests and if it fails to function afterwards, the laptop and manufacturer are rejected. That's why these ground unit laptops weigh 6 to 7 kg, are typically slower than an off the shelf model, and costs 10 to 20x more.
"When you are dead, you won't even know that you are dead. It's a pain only felt by others; same thing when you are stupid."
Ignorant - An individual without knowledge, but is willing to learn.
Stupid - An individual without knowledge and is incapable of learning.
Idiot - An individual without knowledge and allows social media to do the thinking for them.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Honestly I only have experience of testing and validating electronic and electromechanical devices for civillian use in medical, automotive, food processing and high voltage applications, and those tests are already stringent and expensive, especially when designing equipment that has to be shipped worldwidw - which means that it must adhere to the strictest subset.
Considering the combat usage of military equipment and the knowledge I have of military trials (I follow a lot of guntubers) I can only imagine how a combat oriented, wearable, avionic system that has to
1) operate in a wide range of temperatures (from taking air under the desert sun to flying at 40000 feet where the air is COLD);
2) operate under extreme forces of several g in any direction;
3) operate under extreme vibration and shocks;
4) be EM shielded to not be jammed or inteferred with by other equipment;
5) be EM emission compliant to not intefere with other equipment;
6) be built in a way that renders reverse engineering difficult if not impossible in case of captured equipment (delidding chips and covering the board with epoxy or similar, with all the heat dissipation issues);
Well... it is costly, especially considering that it's built in the hundreds, if as many.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
DonathanH wrote: That's why these ground unit laptops weigh 6 to 7 kg
I'm picturing Apple going out of its way trying to make a MacBook as thin as possible, then placed into a shell like that.
That would make Steve Jobs spin in his grave.
|
|
|
|
|
It's probably already done by many external contractors with high security clearances (to be able to do the final integration with the planes systems at the end).
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
PaltryProgrammer wrote: can be built by private engineers at much lower cost than .4 Million I don't believe that's possible, private engineers have no clout, and therefore no chance, in that type of business.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
You're ignoring development costs, materials, and manufacturing. Development costs were at least in the tens of millions. Materials are probably a lot more exotic than you think to accommodate requirements for durability, weight, pilot safety, and resistance to environmental conditions (electronic warfare especially). As someone else mentioned, these are built in the hundreds, so manufacturing economy of scale doesn't really come into play. Precision requires the same kind of high-cost CNC machining (and the related programming) as used in consumer electronics, but without a lot of the automation. You also have stringent quality assurance testing that must be performed. A broken helmet at 40,000 feet and Mach 1.2 could kill the pilot.
Your argument is the same one that William Proxmire used to dismantle the U.S. manned space program, and has the same fallacies.
Software Zen: delete this;
|
|
|
|
|
when you use this new feature it create plenty of warnings... lulling us into a false sense of compiler enforced code validity.. but it's all a lie!
This simple code snippet below trick the compiler and create doubly unexpected null exception
var list = new List<string>();
IList ilist = list;
ilist.Add(null);
ilist.Add("hello");
list.Add("hello");
Console.WriteLine(list[0].Length);
Console.WriteLine(list[1].Length);
EDIT
I guess perhaps I would simply have to change my expectation and get used to it....
But it started with a disappointment...
This is only compiler sugar coating, no runtime change.
EDIT2
I had too high and unrealistic expectation from all the buzz....
Look there is even a list of Known Pitfalls on the concept MSDN page.
I guess backward compatibility is a bitch...
My top #1 annoying null from that MSDN page:
var array = new string[10];
all the strings in this array are null, obviously. But the compiler will act as if it didn't know!
modified 30-Sep-21 1:31am.
|
|
|
|
|
Super Lloyd wrote: all the strings in this array are null, obviously
Too bad they aren't initialized (as a string) to "0xBAADF00D"!
|
|
|
|
|
Or 0xDEADBEEF .
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
All sense of compiler-enforced code validity is an illusion. Even fixing compiling errors doesn't provide validity guarantee. Warnings, long before nullable was a thing, served the same purpose. You can fix a type mismatch warning by reading the code, understanding what it's doing, how it's doing what it's doing and why it's doing it this way, or you just stick a cast in it and hope for it to pass the test suite. Which it usually does, but since the test suite doesn't catch all edge cases customers may come up with, it will blow up later. Muuuuch later.
Nullable is really just the same pill in a new bottle. That pill always comes with "... but you still gotta kinda know what you're doing, not assuming the compiler to be omniscent".
|
|
|
|
|
Not sure what you're expecting here. IList has no knowledge of the type of its elements. Both the parameter to Add and the returned element of the indexer are typed as object? to be as wide as possible. You'd have the same problem here:
var lst = new List<int>();
IList ilist = lst;
ilist.Add("Lorem ipsum");
|
|
|
|
|
I expect what's the hype was about. I.e. for nullable reference to be the best thing since sliced bread!
|
|
|
|
|
Nullables can be extremely useful and the dotNet framework has done a good job of implementing them consistently. The reality is that it is extremely difficult, and I suspect impossible (thank you Kurt Gödel for the proof that no formal system is complete) for a static analysis to find all errors in code. This is why we debug code at runtime.
Bottom line, don't depend on any compiler to alert you to runtime bugs.
|
|
|
|
|
I would expect code that casts a List<string> to a IList to manage nulls.
If I just want to return a simpler interface, I'd cast to IList<string> .
|
|
|
|
|
Wow, really interesting example. My personal experience has been really positive with Null Reference Types, and it's caught many real world issues long before production, but good to have a cold reminder.
I guess I normally consider the point of NRT for me is that it increases the chance that the compiler at least puts the developer to the decision, so if it's a mistake it's a conscious one. This is a good example where that can't be guaranteed.
Let me try a counter argument to the IList example, if not only for my own sanity and shrinking NRT world view... So, the null was permitted, not because it was added to a collection of non-nullable strings, but effectively it was added to a list of explicitly nullable objects. Yes, explicitly is not so explicit yet, but hear me out. If you now try and pluck that null object out, and use it where a null is not permitted, I believe the compiler will realise, as your IList is actually IList<object?> , so the explicit typing is actually there, and so the compiler will save you at the last minute before the null actually becomes a problem. Based on this I think the behaviour we see is ok and probably by design.
string s = ilist[0];
As for the array, though...? B*gger, that's scary. Maybe a bug? Weirdly it recognises array as being string[]? after the line it's declared on, but then still does not generate a warning when reading that string? back into a new string .
EDIT: Just realised your Console.Writeline bits do demonstrate you reading it out. Are there any examples that don't involve array [] syntax? Maybe it's a bug worth raising?
modified 6-Oct-21 16:48pm.
|
|
|
|
|
|