Re: Suggestions for replacement?
mentioned 'atril' already. It's the 'Mate' fork of evince, which means it won't have gnome 3 developer arrogance built in.
atril.com I think...
10507 publicly visible posts • joined 1 May 2015
"Sweet!"
you get a magic cookie for that one! And a 'Wink'.
on a related note, I used to be a fan of evince until it STARTED! LOOKING! 2D FLATSO! and the gnome devs arrogantly told me to pack sand when I complained about it.
So *NOW* I'm a fan of the Mate fork, 'Atril'. Aside from a minor bug, it's pretty good.
Who needs 'Foxit' when you have SO MANY other PDF readers. FREE ones, without spyware, ads, or other irritations like NAGGING! YOU! TO! LOG! IN! like stupid Adobe crap-reader does now.
and WITHOUT! ".NOT"! IN! THEM! I might add...
"an internal civil war with firearms in the hands of psychotics."
WRONG.
If firearms are in the hands of psychotics, then let's just arm REGULAR LAW ABIDING CITIZENS and be done with it. Deputize EVERYBODY if that's what it takes. You'll see gun crimes reduced to near-zero.
In every city with a gun control law of some kind, you ALWAYS see a rise in violent crime that is (most likely) a direct result of the removal of handguns (particularly concealed handguns) in the possession of law abiding citizens.
And anyway, ABSOLUTE freedom of speech is a GREAT thing. With the exception of outright libel, slander, and disruption of the peace [like the classic exampe of yelling 'FIRE' in a crowded theater], as long as you're peaceful about it, get permits when required for a public demonstration, and so forth, there is NO restriction as to what you can say, EVAR, and that goes TRIPLE for political things. Even if everyone else HATES it, you can say it. And the police will protect your right to do that.
Meanwhile, it's probably smart to avoid the racist rally if you don't want to hear or watch that kind of thing.
Imagine what would happen if a bunch of religious fanatics "crashed" a gay pride parade? Or what about HAVING a gay pride parade in the FIRST place, in a town that's controlled by religious people that don't lke homosexuality? Of course THOSE lawsuits "happened" so long ago that people forget.
When the rubber band is on the OTHER claw (so to speak), or the shoe on the other foot, etc. then everybody on the left *WHINES* like a bunch of BABIES because SOMEONE out there DISAGREES with them. Well, TOO BAD. Freedom of Speech is Freedom of Speech. That means, as long as you're not inciting riots, or engaging in a crime of some kind (libel, slander, etc.) you're welcome to say what you want, within a reasonable context, and be protected while doing it.
So ANTIFA is (as far as I can tell) a bunch of HYPOCRITES who are simply looking for an EXCUSE to RIOT. Most likely they're bought and paid for by George Soros [or some similar rich liberal].
(and as for those white-supremacy racist bastards, and we know them by the words they spew, as well as the actions they take, so let them say that schtuff in public so that we will always be able to recognize them, and peacefully protest if you must - no rioting)
"Trump condemned both sides for their part in the violence."
etc.
A big fat thumbs-up for daring to tell the truth like that. I had 89 down votes (and counting) last time _I_ did that. But hey, the howler monkeys come out of the woodwork to sling poo every time the Trumpster is mentioned in an article, so there ya go.
It's not like Trump hasn't been asked COUNTLESS times by the LAME-stream media, "do you condemn XXX" where 'XXX' is some hate group (usually racial, usually of the KKK or neo-nazi variety) or leader of some such group.
The other day, Hannity and Limbaugh both played montages of Trump basically saying that he denounced all those guys, back in the campaign, repeatedly. One clip had trump saying that he'd been asked the same question over 30 times and gave the same answer, every time.
Has ANY other president EVAR been subjected to this kind of HARASSING questioning? The answer, of course, is NO. It's like someone coming up to you and saying "Are you a racist" and you say "No" and they say, "but, are you a RACIST?" and you say "No" and this just goes on and on and on and on and on and on and on until you just can't STAND it any more, and then you're stuck in a media frenzy repeating the same question over, and over, and over, and over, and over again like they expect you to react unfavorably to yourself in response to the HARASSMENT. which it is.
"What about Kristallnacht? Or, for that matter, the Night of the Long Knives?"
Nazis are actually MILITANT LEFTISTS, since they are 'National Socialists'. Fascism for some reason is considered right of center, though it's closer to communism. it's almost like it went around the circle and met the other extreme on the opposite side.
These neo-nazi asshats should be allowed to speak. engaging in violent riots and other lawlessness should never be condoned. BOTH sides were wrong. that doesn't change. Quiet protest without violence is sufficient. There aren't very many of them, and if you consider ME to be trolling, consider what THEY do...
(and you fell right into their trap, didn't you?)
Trump doesn't speak this language.
neither do I.
Trump told the truth about BOTH SIDES being wrong. The white supremacy ass-hats had a permit, and they should be allowed to speak [even if we hate what they say].
But of course, a bunch of VIOLENT counter-protesters showed up, "ready to rumble". And they did.
Some people were there protesting the removal of a statue of Confederate General Robert E. Lee, a figure from history, and the re-naming of the park. And yet, the news media would have everyone believe that Trump is a racist simply because he didn't utter the correct "key words" and "tricky phrases" within the narrow time frame as determined by the left-wing LAME-STREAM media.
It was the fault of BOTH sides. This is what Trump said. It is the truth. It is a fact. And no matter how anyone *FEEEEELS* about it (not 'think' but 'feel', the 'F' word) the truth is the truth.
The left just needs to put on their "big boy" pants and DEAL WITH IT.
"Does Python have an equivalent of C#'s await keyword that allows you to program asynchronously the same you do synchronously?"
probably not. but just because it's in C-pound does NOT make it great.
C-pound is a java-like wrapper around Micro-shaft's *HIDEOUS* ".Not" architecture. Period. They couldn't embrace, extend, and extinguish Java, so they made their own. good for them. It's hard to see it *EVAR* get above 6 percent on the TIOBE index, even after all these years of Micro-shaft shoving it at developers like it's a panacea language.
Python, on the other hand, is TRULY platform independent. Use Python with GTK and you can make platform independent GUI applications. And don't bother with the "mono" and ".Not WHORE" nonsense. those are just LAME.
/me screamed when gnome added Tomboy and forced the 'mono' crap into gnome desktop as a huge monolithic pile of dependencies. Fortunately it went away.
Python makes an excellent wrapper around programs (and, granted, python extension modules) written in a proper compiled language like C or C++. Whereas, C-pound is just another Micro-shaft hack, for people who've drunk their coolaid and become addicted to it.
no thanks to C-pound.
"if you have a problem which would be solved by re-writing it in C, have a look for open source libraries"
it's been my experience that, given all of the 3rd party libraries I've either been asked to search for, or been handed with the request to use it, that in the amount of time needed to twist things to fit, and learn their often ridiculous (and inadequate) API, that I'm better off just pounding out the code myself, because I'm just "that good" and have been doing this for so long it's just faster, better, and less likely to have problems.
Once I was handed a 3rd party graphics lib, because it generated 3D charts. I struggled with their ridiculous API. Then I got fed up and said "look I've wasted too much time already. I could write something better/faster in C++ and it would look better and NOT have a license fee attached. I think I spent less than a week on it, and the 3D charts looked like real 3D, and the side-by-side was almost embarassing for the 3rd party lib.
Anyway, that's just one example. I see plot libraries, math libraries, supposedly difficult calculations that are really trivial examples of algebra and loops, spatial stuff, and none of it is all that complicated. And if I spend 10 hours looking for a proper library, and another 10 to 20 hours evaluating it, by then I'd have written the proper solution already.
And then there was this one time that "they" wanted to use opencv to display a camera in real-time while doing analysis on it. well, opencv just had to have 1 second of buffering, and that was inadequate for real-time. So I used gstreamer to grab the camera data live, then converted it to a bitmap and did the analysis on it directly, proving the concept and avoiding the monolithic library. Not only that, but I was able to use "red only" (this was required for infrared actually) and generate a monochrome image from it, do the analysis on the image, and track an object based on its shape, frame by frame. without opencv.
Anyway, I can think of more examples *like* that but that's what I've experienced with "3rd party libs". The people who write them aren't smarter than me, but they might have more time. And they're not panacea solutions, and for most things, I'll just write it myself. [but for an entire OS I think I'll use a 3rd party OS like Linux or FreeBSD, heh]
a bit long, but I think you missed an important point: Python is not a lingo for which to implement the KINDS of things that typically require multiple threads, for efficiency and concurrency, etc.
Already mentioned, but I'll mention it again: I used a C language utility to replace inefficient python code for a Django web server, and increased the speed of that task by a factor of 30. That's THIRTY. Yeah. I invoked it from python using the 'subprocess' object, returning the stdout as a string. That output was then passed along to other things. It made it possible to do an upload + data conversion in a few seconds, rather than OVER 2 MINUTES [which was timing out the apache proxies, and irritating people]. So the web page display (showing the data results) comes back in a reasonable amount of time, now.
It makes the point that Python is NOT well suited to a lot of things, from numerical calculations, to parsing a binary file and generating CSV and XML data. Because that is what the C language utility does.
So if you have to deal with a 'GIL' aka "giant lock" (another term for the same kind of thing) that blocks EVERYTHING like that, it completely misses the boat on performance.
Python has its uses, but forcing it to act like C or C++ isn't it. If you want performance, use C or C++. If you want convenience, or need a wrapper around your C/C++ utilities, Python will do nicely.
works for me. python wrapper calls C language utilities, passing and returning stuff via stdio.
import subprocess
rval = subprocess.check_output([some_program, arg1, arg2])
let 'some_program' do all of the work, and just use python to sequence and control things. couple that with a nice UI (GTK?) and you have a rapidly generated application that's actually efficient. Other options exist, of course, like spawning oncurrent things, but I bet a single C application could manage THAT part, and return back success/fail info via stdout when everything's done.
unfortunately you may need to put a 'try' block around that - I F'ing *HATE* that. Some "C-pound type" probably FELT that an application returning a non-zero *HAD* to be a FATAL DAMNED CATASTROPHE and "throw an exception" like that. Exception throwing is just IRRITATING as far as I'm concerned. But I'm a C coder, so there you go. And that's my point, to do the REAL work, code it in C (or C++ without the use of exceptions because they're lame).
In programming lingos like Python, maybe, but I've been doing asynchronous things in C/C++ for decades.
It's usually a matter of careful design, use of sync objects, etc. and, of course, background threads.
However, having "all of that" in Python might be useful. Then again, it might be forcing Python to do things it shouldn't be used for...
I ended up falling into a place where I have to update a DJango web site for a customer. Of course, so MANY things were so highly inefficient that I wrote a C utility to do the most time-consuming operations 30 times faster than before, and invoked it as an external utility from the existing Python code. Yes, I measured the performance difference. 30 times faster.
The beauty of Python, though, is that it HAS those provisions built-in to invoke an external utility and return the stdio output as a string. I think Java painfully LACKS that kind of support, last I checked (I could be wrong, I'm not that familiar with Java). Anyway, it makes a LOT of sense.
And that leads me to another point: perhaps it's a BAD idea to try and force Python to do things it shouldn't be used for in the FIRST place. Right?
I've written my own customized web servers in C and C++ before, including a really small one that runs on an Arduino. So I think I can be a pretty good judge of "you're doing it wrong". Django is "doing it wrong".
However, what Python seems to do REALLY well is allow you to quickly throw together a utility or a proof of concept application. Alongside shell scripts, Perl, and the occasional C language external utility, it's a nice addition to a computer that's used to "get things done".
I'm not sure what threads and async I/O will actually do for anyone, in the long run. Maybe "nice to have" but if you're concerned about I/O performance, WRITE IT IN C OR C++.
/me intentionally didn't mention C-pound (until now). The fact that I call it 'C-pound' is proof of why.
/me points out that an ad blocker probably won't block an ad that has these charateristics:
a) it's just a click-on-image-link to something
b) it's not scripted
c) it's not animated
d) it's not part of a frame, it just appears someplace on the page.
old-style banner ads, in other words. no need to go nuts with the stupid-script and the in-your-face animations. we've learned to tune it out and block it with software.
"Can't wait to see her sunk by a 100K EU exocet."
doubtful. it would take multiple missiles, assuming the same *kinds* of watertight integrity that U.S. carriers typically have.
Even a single ADCAP Mk-48 torpedo would have trouble taking out a carrier in one shot. Disable, sure. But sink it? Most likely not.
but yeah, I get the snarkiness. You hope they designed in enough armor and redundancy to prevent a single hit from sending it to the ocean floor.
it's a fair bet that the hardware design includes things like board layout, heat sinking, and some means of getting that heat out of the CPU [and other components] and into something else [like the surrounding air] that doesn't cause blisters on the user's various body parts.
So yeah, I'd kinda blame THAT. And I bet that was Microsoft's own in house design, too.
Maybe they need to subcontract to Lenovo or Acer or Dell to get it right...
a lot of grocery stores have disposable hand wipes handy for wiping down the cart handle. So a similar 'wipe station' next to the automated order entry screens? And instead of taking Big Mac orders, you can be the guy that delivers the hand wipe refills (until a robot does the deliveries for you).
"we'll enter a golden age of art, culture, and space exploration."
human nature says otherwise.
without incentive for GOOD behavior (i.e. a better wage than the next guy, better stuff, nicer house), along with the converse of DIS-incentive for BAD behavior (being lazy, drunk/drugged all the time, creating babies right/left with no concept of proper child rearing, etc.) you'll just get an ABUNDANCE of BAD behavior.
So instead of a "golden age of art, culture, and space exploration" you'll get a "rotten age of hedonism, sloth, and anti-social behavior".
[don't say I didn't warn you, and so did the fall of the Roman Empire, I might add]
"Up until the 1980s a number of skilled blue collar jobs were in engineering manufacturing"
this has been happening since the industrial revolution.
a) banks had rooms full of "calculators", people who did hand calculations, then used adding machines, to tally up everyone's bank accounts. banks rarely make errors any more since digital computers, and all of those 'drudgery jobs' adding up numbers all day went byby.
b) craftsmen who made various complex machinery were replaced by assembly lines back in the 1800's. They became more efficient over the next century or so up until Ford more or less perfected the process for making cars.
c) The "buggy whip" and "horse carriage" industries virtually disappeared when cars took over.
d) ice delivery disappeared once everyone had a refrigerator
e) milk delivery mostly went away [except in certain neighborhoods] once the supermarket had a huge selection of dairy products at relatively low prices. [my mother had milk delivery when I was really small, but when Jordano's market opened up in the early 1960's, the milk delivery was stopped].
and so on. It's normally called "progress".
It means that we must either seek out jobs that are likely to be around in 50 years [less likely], _OR_ train ourselves well in "general skills", and be FLEXIBLE, constantly re-train [I do] and try to keep your skills on the edge of marketability. ADAPT and SURVIVE.
Some people call this attitude "Social Darwinism". Well, if it's good enough for NATURE...
(pirate icon because after all, I'm like a "privateer")
"But we've never found a good way to retrain people for higher-skilled jobs"
lemme tell ya a little secret... closer... closer...
PEOPLE! MUST! TRAIN! THEMSELVES!!! It's not ANYONE ELSE's responsibility.
YOU get the education. YOU go to the trade school. YOU take the entry level "trainee" position, work hard, and get promoted to a regular "experienced" position.
If there is FAIL, it will generally be YOUR fault.
certainly not. _I_ don't care either. Quitcherbitchin, git off yer butt, and go earn yourself a living. You have the same opportunities as everyone else in the 21st century. what YOU do with them is YOUR business, and NOBODY ELSE has ANY obligation to bail you out, lift you up, or even feel sorry for you if you do NOT do your best in the pursuit of success.
The world REALLY needs a giant "ass swift-kicker" instead of bleeding hearts and false "compassion".
"We have to legislate for companies to have a social conscience and responsibilities to ALL stakeholders - shareholders, workers, customers, government."
HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA *cough*
Oh, you actually BELIEVE that? You have my pity.
yeah how are the cops going to be able to tell you have a "social conscience"? how are judges and juries going to decide? so much for 'rule of law', now substituted by 'rule of feelings'. *VOMIT*
That's just another example of people *FEELING* instead of thinking. Again.
<FACEPALM> [see icon]
"Universal Basic Income is the way forward i think."
NO. this is why:
a) if the MOST productive EMPLOYEE (I refuse to use communist-speak) _always_ gets paid the same as everybody else, WHAT is the motivation for being MORE PRODUCTIVE?
b) if the LEAST productive employee gets the same wage as every OTHER employee, what's the motivation for being MORE PRODUCTIVE?
c) If there's _NO_ upward mobility, _NO_ hope for earning more, _NO_ real hope for advancement of your economic situation by HARD WORK, TRAINING, or CAREER SHIFT, where's the MOTIVATION?
If you want a STAGNANT MEDIOCRE SOCIETY, then "subsistence wage" is your answer. JUST! LIKE! COMMUNISM!!!
Or you can do like me, earn as much as you need but charge what you're worth, so you have time to work on what you WANT to work on, besides earning money to live on, but don't go broke or live in squalor in the process. BUT if I were to work HARDER, I'd effectively earn "less per hour" [because, "progressive" tax rates], so why bother if I can't really get ahead by doing it? Why would ANYONE bother slaving themselves out and getting BARELY ANYTHING in return for the extra work?
THAT is why Communism fails. THAT is why "progressivism" fails. THAT is why tax rates need to be flat, minimum wages need to GO AWAY, and wages need to be driven by MARKET FORCES, and INDIVIDUALS have to take the reins of their OWN lives, and "feel the consequences" for both GOOD behavior (work hard, get trained, get educated) and BAD behavior (lazy, assume you deserve a living wage, don't bother getting training/education, live on the dole).
And yeah, I expect "good behavior" to get you economic rewards, and "bad behavior" to throw you out into the street. Unfortunately, those NATURAL forces are heavily weakened, and we are now where we are today.
"How does a consumer economy work well with a diminished number of consumers?"
Tell THAT to the idiots that keep on raising "minimum wage" and just assume that employers of restaurants, janitorial services, and mom+pop shops that just need "someone to help out" have _INFINITE_ piles of money to throw at hiring people.
A wage is an exchange of money for work. If the work is not worth the wage, then NOBODY will be hired to do it, and ROBOTS will do it instead. That's the whole point.
I'm just glad someone at El Reg had the GONADS to write the article, even though it's like "Captain Obvious" to many of us...
And to answer the question: In many ways, diminishing the number of consumers does NOT help a consumer economy. So _I_ say, allow people at the low end of the wage scale to be paid what they're worth, not what some GUMMINT DWEEBS "*FEEL*".
And for everyone who disagrees with me, just ask yourself this: why do so many teenagers and young adults have a HARD TIME finding part-time (or even FULL time) work without prior experience? ANSWER: MINIMUM WAGE HIKES.
(and it's not a "living wage", it's an "entry level wage", for people without experience who do low-skill tasks and if you have a "career" earning only minimum wage, YOU need to do something about it by getting training, education, experience, whatever)
"My impression was that these are exactly the type of plugins being targetted."
maybe we should go to their github site and add some issues in places where you can.
This has no publically editable issues:
https://github.com/mozilla/gecko-dev
but it does have instructions for contributing. There other repos that I found, one dealing with firefox themes, that may be good places to ask niicely (with firmness) for the features we might lose if we can't continue using things LIKE "Classic UI Restorer" etc.
I have to disable updates anyway. FreeBSD. In a way, I'm glad. It's easier to STAY! ON! SOMETHING! THAT! I! WANT! instead of being _FORCED_ into SOMETHING THEY WANT TO FORCE UP MY ASS DOWN MY THROAT.
I've been shutting off 'automatic updates' in windows since before GWX. I practice "safe surfing" instead. And 'NoScript' helps with that.
As long as Firefox remains open source, the possibility of MAKING A SPECIAL PATCH still exists, to get the PROPER UI back. Assuming that Mozilla doesn't GROW A CLUE+BRAIN and MAKE IT AN ACTUAL OPTION.
MOZILLA: Take a look at the 'Classic' plugins. Add that capability to Firefox, NATIVELY. And MAKE SURE that I can DISABLE that @#$%%^*)(@*#$* HAMBURGER!
"This will kill Classic Theme Restorer"
killing THAT may motivate me to FORK FIREFOX into something that ALWAYS looks like 'Classic Theme Restorer' is installed. You know, eliminate that CRAPPY "Australis" CRAP-CRAP-CRAP chrome-clone CRAP CRAP 2D FLATSO CRAP HAMBURGER-MENU CRAP TOUCHY-FEELY CRAP.
(keeping it moderately safe for work, though I wanted to use STRONGER and more offensive profanities)
[chrome is the way it is because of phones and slabs. THAT SHOULD NEVER BE ON THE DAMN DESKTOP!]
"I'm quite happy with v40.0.3."
ACK, I installed 53 from ports in FreeBSD recently, and I really do NOT believe that "bleeding edge" wiill EVAR be tracked for operating systems _LIKE_ FreeBSD. Or Debian, for that matter.
"bleeding edge" is HIGHLY overrated. After all, they may SURPRISE us (unpleasantly) by looking/actnig even MORE like Chrome. 'Australis' anyone? (yeah, YUCHHH)
MOZILLA: don't you *DARE* break the add-ons that give me a CLASSIC interface!!!
"quietly enough to avoid Coast Guard sonar?"
it's not likely they'd evade U.S. Navy sonar, but the Navy subs and anti-sub aircraft would kinda have to be looking for them...
The Coast Guard probably doesn't have as good of equipment as the Navy. But they'd coordinate if things got bad enough. During the cold war the military put listening devices all over the ocean. That's going to make it very hard for anyone to get a submarine into U.S. coastal waters without detection.
this tech is really old:
https://en.wikipedia.org/wiki/SOSUS
http://www.public.navy.mil/subfor/underseawarfaremagazine/Issues/Archives/issue_25/sosus.htm
I suspect it's a lot better, now.
Even the tech that I know about [which shouldn't be discussed here] is over 30 years old and I suspect that things are a LOT more sophisticated nowadays. The threat of a diesel/electric boat sneaking into a harbor to perform a terrorist attack has been on a lot of military minds since 2001.
on a lighter note, the movie 'Down Periscope" with Kelsey Grammer
https://en.wikipedia.org/wiki/Down_Periscope
"you had to lean over the bowl in order to flush."
U.S. subs have a 3 foot lever (with green handle) to operate a 3 inch (or so) ball valve. Instructions for operating the toilet are on the wall. And you could operate it standing up, more or less, without sticking your nose in the bowl.
instructions were something like:
a) ensure ball valve is shut.
b) use the commode
c) open ball valve
d) flush with sea water using sea water valve
e) shut ball valve
f) leave approximately one inch of water covering valve
it was implied that if your crap stuck to the side of the bowl, you were supposed to get some TP and wipe it so it went down the hole. Maybe that's when you'd get a bit of poo-gass in your face.
the toilets were made of a kind of stainless steel that tolerates sea water. but during 'field day' people cleaning the heads would use a bit of coolaid (aka 'bug juice') from the galley to shine 'em up a bit. It actually works pretty well.
According to wikipedia:
"The sunken submarine lies at a depth of 7 m and is being investigated as a possible crime scene"
they link here:
http://www.mynewsdesk.com/dk/koebenhavns-politi/pressreleases/drabssigtelse-i-sag-om-ubaad-2105443
it doesn't say a whole lot [I used google translate and screamed at the irritations] but it's non-wikipedia a link, anyway.
If it's only in 7m of water they should be able to recover it. Question is whether it's now a crime scene.
actually it's "Dive, Dive" and "Surface, Surface, Surface". if you hear anything else, in a movie or anywhere else for that matter, they're doing it wrong. heh. [there's an equal number of blasts on the diving alarm, 2 for dive, 3 for surface]. So no "Dive, Dive, Dive" nor "Surface, Surface". I snicker a bit when they do that. Hollywood... heh
not being too pedantic, because even submarine movies get it wrong sometimes, and they're supposed to have ex-Navy consultants to keep them on track...
actually, a larger sized vessel would have a better positive bouyancy on the surface. You can run the calculations, but basically the displacement of the hull, combined with the volume of air inside the boat plus empty ballast tanks, and the total mass and shape of the boat itself (with empty tanks), determines how much of the boat must be submerged at all times. The larger the boat, the more likely this is to be a higher value for positive bouyancy. Typically that might be something like 85% of the hull submerged at all times, and the other 15% is controlled/compensated by ballast and trim tanks.
in this case...
It's a fair bet that there was a major seawater leak, and too much water went into the people tank, forcing the boat to sink. Blowing ballast and pumping trim wouldn't have been enough to get positive bouyancy.
I suspect that some low-price low-quality component failed (the U.S. Navy has a program called 'sub safe' to prevent the $5 part from sinking the billion dollar boat). It could have been a port hole, a valve, a weld, a pipe fitting, a ballast tank vent, or anything that couldn't be properly isolated, nor have the drain pump [assuming it had one] pump the water overboard fast enough.
All of those kinds of safety systems would have to be designed with surviving a flooding casualty.
So one possibility is that one of the portholes blew out because it was made of substandard materials. Again, $50 part sinking the million dollar boat. Oops.
They should have had some means of RAPIDLY isolating the cause of the leak [assuming there was not]. They should have a means to get the water off the boat assuming "worst case leak". The 'drain pump' would have to be reliable enough to run with the power out (let's say on separate battery power), and run submerged if needed. A backup pump would also be a good idea. Being able to isolate compartments would be even better, especially if you can pressurize a compartment that is being flooded. [watch any old sub movie, and they'll talk about that, pressurizing a compartment to keep the water out, and run on the surface so the water pressure is lower, use the drain pump to get water out, etc.]
So yeah making a _SAFE_ boat that can go underwater to 500 meters is NOT something to be taken lightly. You have to consider the behavior of materials under cyclic compressive stress, the ability to recover from a reasonable flooding casualty, safety systems that can be remotely activated, 'emergency blow' on the ballast tanks guaranteed to work every time, and operating procedures that go along with all of this stuff [as well as maintenance]. And if one of the ballast vents fails, can you recover from that? How about 2 vents? Compartmented ballast tanks with multiple vents helps make that possible. I think the old WW2 boats had 6 or 8 ballast tanks, each with its own vent valve, that was shut as soon as they submerged so they could emergency blow on a moment's notice.
And all of the welds on the hull should be x-rayed for cracks and other defects on a regular basis. The fracture toughness of the hull material should be well known, and all design margins calculated based on the minimum detectable flaw sizes, like would be done for a bridge, or a cargo ship, or anything else made of steel that's likely to undergo heavy stresses during normal operation.
And the maximum allowed depth should be based on the worst case design margin in the worst possible place, for safety. The claims of 400 to 500 meters is pretty optimistic, yeah.
/me points out that at 500 meters, water pressure would be about 800psi... imaging getting hit with a stream of water at 800psi because something broke. Even a half-inch hole at 800psi could slice you in half. It's no joke dealing with this kind of thing.
yeah, about that...
the only thing I could figure is some kind of vulnerability within browsers. NOT disclosing that, and then exploiting it, should be a crime like writing a 0-day exploit.
and I doubt it will detect me running wireshark on my SERVER, which is between every device and the intarwebs on MY network.
if people block them, why shove the ads up our asses anyway?
what's the point? they'll get ignored, and the products advertised may even be subject to boycott, just for having the AUDACITY to bypass the blockers. Advertisers should focus on people who don't mind seeing the ads. But, only asshats and morons would insist on shoving them up everyone's ass like that, and would DARE to bypass attempts to block them. It's just INSANE.
"That is why it has to be said that Bin Laden has won."
too many people trade freedom for (the promise of) security, and get NEITHER.
I still think that border cops and airport cops should "profile" instead. But NOOoooo... political correctness DEMANDS that EVERYBODY be treated like a potential criminal! You know, like TSA feeling up 6 year old girls, looking for hidden bombs or something. Yes, that happened.
So yeah, it's like a "Paranoia Gambit" gone horribly wrong.