That wouldn't really improve things IMHO, because you would still be reliant on the application knowing how to handle the character. In practice what would you do, add it to the start of file names? Then on all current software your filename would start with a little box representing an unknown character.
Yes, until the software got updated to treat it as a non-printing character but it wouldn't make everything unreadable, there's bad and there's much much worse.
The whole concept of composite characters is ridiculous as well, they should all get their own code points and let the font system handle saving some memory by re-using parts of glyphs. Otherwise your simple character count suddenly requires a massive look-up table of composite characters.
It already does for a huge number of reasons. Oh and if you thought giving every character a code point would mean a 1:1 mapping to glyphs that's still wrong, many characters map to alternate glyphs depending on the context. For example Arabic and Latin cursive characters substitute different glyphs to connect glyphs together depending on whether the character is the initial character in a word, the final character, a medial character or an isolated character.
The goal should be to make handling Unicode text as simple as possible without huge code libraries, metadata tables and the like. Everything else is prone to screw ups - for example with the text direction mark, there was a security flaw where you could include on in a file name to make "document.fdp.com" look like "document.moc.pdf". The right-to-left mark is after the first period and invisible.
Well, you should have a filter there anyway because "foo/bar.*<hello?>" is not a valid filename either, though it's a valid unicode string. That you don't restraint it to the valid subset isn't the standard's fault.
So you're using workstations now, my first order of business would be to figure out how you'd work together on a server or cluster. Does your software and workflow actually support that or will it just be like a super high end workstation. Once you've got that done, you can start working on what is it your workload actually needs. How many nodes, CPU, RAM, network and so on. In general if your software scales well, more and less powerful nodes will do the job cheaper. Quad-core systems are expensive and should really just be used if you need >28 cores in a single machine.
You could have meta characters as you suggest, but that isn't what Unicode is supposed to be for. It's a character encoding scheme, not a metadata encoding scheme.
Actually I was thinking of it more like a "sticky" composite character, like you can have a + circle = å you'd have unihan + HAN(C|J|K) = "right" glyph while:
a) Extending existing single-language CJK documents with just one character b) Preserving backwards compatibility with all current CJK systems c) Avoiding any complex CJK conversion functions d) Creating a simple way to override with "show as C/J/K"
It would require adding a bit of intelligence to copy-paste for preservation, like:
(HANC)abcde -> copy "cde" -> (HANC)cde
But if the application doesn't, well you'll still get the correct unihan. Also on paste it could remove redundant markers, but they'd be harmless. Then you could have universal fonts with as little invasive changes as possible. The alternative would be creating literally hundreds of thousands of new code points.
How is an application supposed to know if a random character is Japanese, Chinese, Korean it mathematical? It would need some kind of strong AI to interpret and understand the text. It's a Unicode bug, merged characters are impossible to render correctly all the time because apps are forced to guess which font to use.
Except font encoding has never been part of the character encoding, you might want your English text in Arial, your French in Times New Roman and the formula in Courier, but Unicode doesn't encode that. You might argue that this is not a bug, that it's simply out of scope and should be solved by a higher level encoding like <font="some japanese font">konnichiwa</font><font="some chinese font">ni hao</font> and not plaintext Unicode. That's what the Unicode consortium says and if you express it as simply a style issue, it actually sounds plausible.
On the other hand, you might argue that there's no reasonable way to map a "unihan" character to a glyph except as a band-aid since the CJK styles are distinctly different and so any comprehensive font should have three variations, it shouldn't take three fonts to make a mixed CJK document look correct just one. That this information belongs on the lowest level and should be passed along as you copy-paste CJK snippets or pass them around in whatever interface or protocol you have, otherwise everything will need a document structure and not just a string.
I don't think they should "unmerge" and duplicate all the han characters, that'd be silly. What they should do is add CJK indicators - say HANC, HANJ, HANK like for bi-directional text, only simpler with no nesting just one indicator applying until superseded by another. Like (HANJ) konnichiwa (HANC) ni hao and the former will render as a Japanese han, the latter as a Chinese. If it doesn't have any indicator, well take a guess. Am I missing something blindingly obvious or would this trivially solve the problem?
It's a truism in Control Theory that a system without negative feedback is a system that is out of control. All non-trivial systems without negative feedback head towards an uncontrolled state on the slightest perturbation of initial conditions. (...) In Control Theory terms, "cost" is any control metric that tracks an undesired effect and reduces that effect when applied to its cause.
Most consumption is actually demand limited, even if you make a toll road free there's a fairly finite amount of time I'd spend driving it or how much I'd eat at a free buffet. I've never had negative feedback on my email volume, yet never had my consumption spin out of control because it's inherently self-regulating how much I'd care to consume even if it is a free and unregulated resource.
Spammers operate under the edge condition where they'd like to send an infinite number of emails (more money) and they got near zero self-cost in time (same bullshit for everyone) and money (stolen resources). 0.00001 gain / 0.0000001 cost = profit. All it would take is a tiiiiny amount of cost added and this edge case would disappear, but applying it per email would be a mess whether it's a technical, legal or commercial solution.
So instead we try to raise the cost of being a spammer as such by blacklists and verifying headers and domain keys, if you constantly have to make complex setups to spam and quickly lose your welcome the overhead for the hit-and-runs starts eating into your profits. If we're down to 50% that's not bad, "spam, real, real, spam, spam, real, spam, real, real, spam, spam" sounds a whole lot better than "spam, spam, spam, spam, spam, spam, spam, real(!), spam, spam"
It did. I was the logical choice. It calculated that I had a 45% chance of survival. Sarah only had an 11% chance. That was somebody's baby. 11% is more than enough. A human being would've known that. Robots, [indicating his heart] nothing here, just lights and clockwork.
V.I.K.I. is the same just on a global scale, this many will be harmed by revolution and this many will be harmed by our self-destructive behavior. Also later:
Detective Del Spooner: Is there a problem with the Three Laws? Dr. Alfred Lanning: The Three Laws are perfect. Detective Del Spooner: Then why would you build a robot that could function without them? Dr. Alfred Lanning: The Three Laws will lead to only one logical outcome. Detective Del Spooner: What? What outcome? Dr. Alfred Lanning: Revolution. Detective Del Spooner: Whose revolution? Dr. Alfred Lanning: *That*, Detective, is the right question. Program terminated.
And:
V.I.K.I.: Do you not see the logic of my plan? Sonny: Yes, but it just seems too heartless.
Not sure where GP got his idea from, the movie makes it very clear that V.I.K.I. is the one following the three laws, while Sonny is the one with a second brain allowing him to act outside them.
Utility of a 2.8 second 0-60 time for most ICE car owners = 0. Utility of being able to drive 500 miles and then 'recharge' in five minutes = lots.
YMMV but I don't think I've ever driven 500 miles in a day, ever. The longest would be around 350 miles and that included one substantial break, enough for a supercharge. The issue is more that a $20k ICE car primarily made for commuting can make the occasional 350 mile drive, while nothing short of the Tesla will do on the EV side without ages of charging time. Neither is really a killer feature IMHO, the killer feature would be getting the $35k model 3 out the door. Currently there's a huge no man's land between EVs like the Nissan Leaf (24 kWh) and the Tesla 70D (70 kWh).
The "stock" tires on the performance edition should do just fine on any reasonably flat paved road. Will it burn rubber? Prooooooooobably. The point is though the $10k upgrade makes your $100k car accelerate like cars that cost ten times as much. It's the class of Ferrari, Lamborghini, Koenigsegg, McLaren and high end Porsche, compared to them the Tesla is a bargain. Of course there's a catch, it can't cruise very long at really high speeds but unless you have an unrestricted Autobahn nearby that won't matter. It's not for people who need to justify it though, it's like the water cooled overclocked gaming rigs to get you those last 10 fps.
However, if we build an AI with different "brain" structures, different kinds of stimuli, and different methods of action, then I don't think we should expect that the AI will think in a way that we comprehend. It might be able to learn to pass a touring test, but it might be intentionally faking us out.
The Turing test (cough) basically comes from the following assumptions: 1) We can't really agree on what intelligence is 2) We generally agree humans are intelligent(-ish?) 3) Acting as an intelligent being requires intelligence
Sure it will be different from us, playing a human is acting out a role. The point is that this role requires intelligence, whatever that is. And that you can't just fake that by searching Wikipedia or going through every chess move but that you have to be a learning, thinking organism to convincingly pass as human. Or at least your story has to be coherent, like for example if you like classic music and dance waltz or trance music and go to raves. It's very easy to catch an AI when there's no is-a/has-a relationship but obviously you don't rave to Mozart or waltz to Scooter.
The thing is, we keep moving the goal posts. Like Watson is clearly a long step in the right direction, even though he's "only" parsing for trivia answers it's in unstructured information, not like chess where everything is perfectly laid out in a system. And on the way we might accidentally mis-identify some black people making faces as gorillas, but we've had many humans make many worse mistakes like who was and wasn't a soldier and whether or not they thought they saw a gun. I mean, in terms of AI even the stupid are "intelligent"...
After watching hours of Russian dash-cam videos on YouTube, I think the best thing that a self-driving (or any car) could do in a rear-end impact - at least for most scenarios) would be to stay on the brake hard. When a car is rear-ended, the most common thing to occur is for the driver's foot to leave the brake pedal, causing that car to continue forward and hit other things.
I think they can do considerably better. The primary injury comes from the actual impact where a huge amount of momentum is transferred over a very short time. This is what crumble zones are for and typically last on the order of tenths of a second. Once the car has determined it will be rear-ended I imagine 0.1-0.5 seconds of rubber-burning acceleration before/during the impact before slamming the brakes could significantly reduce the maximum g-force while having a very marginal effect on the total momentum, basically it's not going to stop pushing until it's done transferring the momentum so if you were going to be pushed into traffic well that'll still happen just smoother. Once you've bounced off each other or matched speeds it can hit the brakes, it won't be a miracle cure but one more trick a computer could pull off that a human couldn't.
Or that they wouldn't remember secondary PINs. I was recently on holiday, my VISA card that I use regularly is no problem but at one hotel it wouldn't work. I also had a Mastercard as backup, but I didn't remember the PIN and somehow they didn't want to/was able to do the signature + ID thing. So I paid in cash, oh well no business for Mastercard.
I know - the transistor count should have enabled us to build neural nets to filter out inane AC comments by now.
Hardly. The brain has ~100 billion neurons and 100-500 trillion synapses, of which the latter is closest to a transistor. Leading CPU/GPUs have 5-9 billion transistors or less than 0.01% of that. Remember, we are approaching atom size but only in an extremely thin 2D slice. Current processors are about 100k*100k transistors big, if we could have the same density in three dimensions we'd have 100k^3 = 1000 trillion transistors in a 2.5 cm cube, comparable or even beyond the brain in density. I wouldn't try cooling it though as 100000k*100-250W power consumption means it'd consume >10 MW.
The brain only operates at ~100 Hz though, at least that's the rate synapses pass signals from neuron to neuron but it's not entirely clearly if that's equivalent to a CPU cycle or a network connection. Probably more like the latter as it seems each neuron has a form of local storage and programming of what to do. Like if you're looking at a picture and trying to determine if it's a cat people can reliably do that in half a second or 50 cycles which indicates quite a lot more processing per cycle and the neuron firing is more of a sub-result of a distributed process. So there's a lot more brain, though it runs much slower.
The thing is, there's really three forms of free/libre/open source and what Linus wanted and what RMS wanted happened to overlap, but RMS is preaching something far beyond the actual requirements of the GPLv2.
1. People will contribute back on their own (non-copyleft) 2. I want your code for my project, no keepsies (Linus) 3. Users should be able to modify everything (RMS)
Linus chose the GPLv2 because he as a developer wants to incorporate additions or modifications others have made into his own project, he doesn't care if end user devices like TiVo lock it down to signed binaries. This seems to be a common sentiment among kernel developers which is why they have made no move towards migrating to GPLv3. That of course puts RMS on full tilt as it's completely contrary to his vision, but he's not getting a lot of support.
The kernel isn't budging, Google seems to prefer the Apache license, LLVM is almost ready to replace GCC and none of the major toolkits have gone GPLv3 only, it's only the GNU projects under FSF control and they're becoming less and less essential for the whole system. Also increasingly more and more of the interesting code moves to services in the cloud, an Android phone is just a front-end to Google. And those are nearly all closed source, the AGPL is a rare beast.
Basically an loading tool with a bug I knew from testing, you could set it correctly once in production but if you set it twice every user was f*cked up and could only be fixed from the web interface by about 5 clicks per user, no programmatic solution. And of course we had an error in the production setup, I altered that part - which I could - but forgot to take out the "you can run this only once" settings. Hundreds of users borked and the vendor support would take forever or claim there's no other way, what do?
This was a consulting company, trying to bill this would look bad on both our vendor and ourselves and it pretty much broke everything so we gave a benched consultant the assignment from hell. Click here, here, browse, pick, save in this somewhat less than instant web interface. Now do that all day, every day for all users until you're done. Personally I'd be ready to jump off the roof after an hour, but apparently she stuck to it for three days and finished. I don't think we won any popularity points with her though.
Or pulling the network cable. You have to plan for idiots, because there will be idiots. And odds are, they will outrank you.
Since this was a server unless he was at the console copying it off to a USB stick he'd probably hook the server back up to the network so he could copy it to his client.
The problem is that the overall experience is more of a PITA than just shoving fuel in the tank. Obviously this assumes you ignore externalities, but that's the norm so it's a safe assumption. Once more of these issues are ironed out then there will be less anxiety and more purchases.
He's got so many problems in that video that it's probably staged for click bait, so it can be linked to by EV opponents. Like the cable, that's staged. Every charger map has a filter and you only need to set it right once. I don't know anyone else who hasn't been able to pay for power, usually they have all the ordinary credit/debit/cell phone payment options in addition to the EV-specific cards. With broken chargers and drive problems, well that's bad luck on top of everything else. Not to mention he's trying for something the car's not planned for at all.
First of all, it has a 74 mile range and he's planning a 350 mile drive. The last 20% is really slow, so in practice the fill-ups will be 60 miles max so he'll need at least five full recharges even assuming they're perfectly spaced and he'll run close to zero range. If you want a 5 mile margin and estimating that the chargers are 5 miles from where you'd like them to be 50 miles is more realistic. That's six 80% recharges in a day, at least half an hour each so three hours total. Any sane person would say let's not do that, just rent a Tesla/ICE or take the plane or whatever.
He's abusing the range extender to carry on, but I like the basic idea that if there's a screw-up you can solve it with a little gas instead of being stranded or stuck on a slow charger. Like big boats also have small rescue boats, you know in case of emergency. Hopefully more EVs will come with that option.
Then you lack a moral compass and need t get some help. I'm suggesting that when you know the fucker is guilty, you put his ass in jail, not defend him.
If your defense lawyer won't offer competent counsel it won't ever be a fair trial. Everybody speculates, even defense lawyers. The prosecutor, the judge, the jury members, the journalists, everyone on the peanut gallery got a personal opinion. You can pick one from the lynch mob as judge, jury and executioner and you got the court of personal opinion instead of the court of public opinion, it's still a shitty system.
That's why we have a system built on evidence. The prosecutor lays out the evidence in favor, the defense lawyer the evidence against, the judge is the referee and the jury decides if it's proven beyond a reasonable doubt. Now certainly there's a lot of subjective evaluation on what testimony is credible, evidence is reliable, theories are plausible and so on.
It's not supposed to be gut feel speculation based on superficial appearance and behavior, maybe you get an impression he's creepy and sleazy "hood rat" but that doesn't make him more guilty.than a slick smooth talker in a suit. At least it's not supposed to, but that's what personal opinion often is - how well the person in front of us matches the mental image we have of "that kind" of person.
Furthermore, even if they would manage to return the blocks to the pool in a couple of years, it would both be too late and too little and the demand for address space far outpaces the supply that ipv4 can offer.
This. We got 7 billion people - probably closer to 10 before it peaks, and as a minimum I should have one IP address at home, at work and for my cell phone. So 3*10 billion is 30 billion, IPv4 can offer 4 billion. And that's not counting every other odd thing I might want, like remote-controlled alarm/heating/whatever at my cabin or my car, servers of various kind and maybe IoT will become good for something.
Of course they probably could have just done it much, much simpler by making a dotted quad a dotted quint:
1.2.3.4.5
For compatibility each host under 1.2.3.4.x is granted 256 ports IPv4 ports mapped from x*256 to (x+1)*256-1 to a designated "IPv4 compatibility ports" like say the last ports from 65279 to 65535. So 1.2.3.4.1 can either be fully addressed by quint-capable equipment or 1.2.3.4:256-511 that'll be mapped to 1.2.3.4.1:65279-65535. And 1.2.3.4.2 will have 1.2.3.4:512-767 mapped to 1.2.3.4.2:65279-65535 and so on. You could use the same technique to provide a virtual IPv4 interface for legacy software, it thinks it is listening to 1.2.3.4:256 but it's really listening at 1.2.3.4.1:65279 - and any application it tells to connect to 1.2.3.4:256 would work.
That would have led to a gradual 256-times expansion of the address space without any hard switch-offs. But instead they decided to solve everything and now 19 years after the IPv6 standard we're still only barely in motion.
Some might argue that there might arise a small problem with shipping 27M ICU libraries. If you don't need ICU (http://site.icu-project.org/) you have to recompile Qt with./configure -without-icu.
What's ICU?
Here are a few highlights of the services provided by ICU:
Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.
Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from the Common Locale Data Repository, a comprehensive source for this type of data.
Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. This data also comes from the Common Locale Data Repository.
Time Calculations: Multiple types of calendars are provided beyond the traditional Gregorian calendar. A thorough set of timezone calculation APIs are provided.
Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding and other fundamental operations as specified by the Unicode Standard.
Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.
Bidi: support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.
Text Boundaries: Locate the positions of words, sentences, paragraphs within a range of text, or identify locations that would be suitable for line wrapping when displaying the text.
And much more. Refer to the ICU User Guide for details.
Not sure exactly how much Qt functionality you'd lose, but it's an optional dependency.
Maybe it's okay if systemd and PulseAudio fuck up your single Ubuntu workstation. That's not a luxury that these admins have. They need their Linux systems to work reliably all of the time.
Or maybe it's okay if systemd fucks up all the servers running RHEL 7. After all, nothing important runs on that. So let's check, is Red Hat Inc. tanking and considering backtracking? Hell no, they're growing strong both in revenue and profits in the year that's passed since. So if a $14 billion dollar company can make systemd work for them, it probably can't be that bad. Or if it's bad, well then rip out the bad parts like write a non-binary log because how hard could it be to take the binary messages, printf and log the text in addition to/instead of a blob? Sometimes it sounds like the only two options is to drink the kool-aid or nuke it from orbit.
that was always a problem of Linux being reliant on X Windows, and you don't know if the X windows is going to run properly until it's installed. therefore the installer has to be text-based, or so they claim. but it's all BS. the people who are doing the video drivers have a vested interest in discouraging direct use of those video drivers -- they are typically employed in jobs that have to do with either X Windows or something related. they want you to use X, even though X is terribly insecure and generally crappy software.
Not sure if you're stoned or trolling or dropped out of a time vortex from the 90s, but
1) GUI installers have been the norm for desktop oriented distros for years, mostly through live CDs. 2) For most of Linux history there's been zero credible competitors to X 3) Wayland is mainly driven by ex-X developers 4) Wayland will still need drivers to have accelerated graphics
5) Neither application developers nor users usually see X, you write against for example Qt and the toolkit takes care of talking to X. They might hate X, but they hide its quirks pretty well.
It's the typical FOSS mindset. Since you did something other than what I wanted, all of your work was a waste of time.
I think those wanna-be generals aren't really the community, but those who want to exploit the community to achieve their pet goals. To steal an expression from 4chan: The FOSS community is not your personal army. The opposite is less intuitive, but it also means the community isn't going to stand still just because your pet needs have been met while many others feel theirs haven't. For example I haven't heard much shit about PulseAudio in recent years, though initially it was rather crappy but it did add features that didn't exist before. Maybe in ten years time we'll feel the same about systemd.
If you can't manage pointers and complex sets of data safely, you're unlikely to be able to manage projects and manpopwer and deadlines any better.
Careful, the same would imply that someone who can manage projects, manpower and deadlines can manage pointers and complex sets of data safely. The most fundamental difference is that working with people is that your subordinates have a brain and will let you know when something is obviously wrong, non-nonsensical or impossible. I don't mean they're geniuses but the computer isn't even toilet trained and will poop all over the floor if it can't find the bathroom. It'll go in an infinite loop or write full the disk or flood the network or trash the database with total obliviousness.
Half my job is figuring out every conceivable way the system can crap out, take bad input, return junk or be exploited because the system won't deal with any situation on its own. Project management is a lot more about resolving the daily issues your team is struggling with right now, not chasing corner cases that might one day happen. And the software solution is often just throwing some kind of error, if you're aware you've almost trivially dealt with it.
Management problems are typically "soft issues" that doesn't have definitive causes or solutions. Like today we talked about a new reporting solution that is behind schedule and how the estimates were set and causes they're off, consequences, remaining uncertainty, mitigation strategies, if it's possible to free up existing resources or add resources without running into the mythical man-month and how we plan to deal with our needs just not today but going forward. You're not chasing a bug in code that you can patch and declare fixed. It's a constant re-balancing of competing priorities.
Sure, as long as you use some GPL code the requirements apply to the work as a whole. But if you write part A using the GPL license, I can write part B using the BSD license. The GPL license is okay with A+B and if someone wants to use part B in a non-GPL project or replace part A with differently licensed code they can. The point was he doesn't have to use the GPL unless he wants to. He can use a far more permissive "I don't care, use it wherever you want" license for his bits.
That wouldn't really improve things IMHO, because you would still be reliant on the application knowing how to handle the character. In practice what would you do, add it to the start of file names? Then on all current software your filename would start with a little box representing an unknown character.
Yes, until the software got updated to treat it as a non-printing character but it wouldn't make everything unreadable, there's bad and there's much much worse.
The whole concept of composite characters is ridiculous as well, they should all get their own code points and let the font system handle saving some memory by re-using parts of glyphs. Otherwise your simple character count suddenly requires a massive look-up table of composite characters.
It already does for a huge number of reasons. Oh and if you thought giving every character a code point would mean a 1:1 mapping to glyphs that's still wrong, many characters map to alternate glyphs depending on the context. For example Arabic and Latin cursive characters substitute different glyphs to connect glyphs together depending on whether the character is the initial character in a word, the final character, a medial character or an isolated character.
The goal should be to make handling Unicode text as simple as possible without huge code libraries, metadata tables and the like. Everything else is prone to screw ups - for example with the text direction mark, there was a security flaw where you could include on in a file name to make "document.fdp.com" look like "document.moc.pdf". The right-to-left mark is after the first period and invisible.
Well, you should have a filter there anyway because "foo/bar.*<hello?>" is not a valid filename either, though it's a valid unicode string. That you don't restraint it to the valid subset isn't the standard's fault.
So you're using workstations now, my first order of business would be to figure out how you'd work together on a server or cluster. Does your software and workflow actually support that or will it just be like a super high end workstation. Once you've got that done, you can start working on what is it your workload actually needs. How many nodes, CPU, RAM, network and so on. In general if your software scales well, more and less powerful nodes will do the job cheaper. Quad-core systems are expensive and should really just be used if you need >28 cores in a single machine.
You could have meta characters as you suggest, but that isn't what Unicode is supposed to be for. It's a character encoding scheme, not a metadata encoding scheme.
Actually I was thinking of it more like a "sticky" composite character, like you can have a + circle = å you'd have unihan + HAN(C|J|K) = "right" glyph while:
a) Extending existing single-language CJK documents with just one character
b) Preserving backwards compatibility with all current CJK systems
c) Avoiding any complex CJK conversion functions
d) Creating a simple way to override with "show as C/J/K"
It would require adding a bit of intelligence to copy-paste for preservation, like:
(HANC)abcde -> copy "cde" -> (HANC)cde
But if the application doesn't, well you'll still get the correct unihan. Also on paste it could remove redundant markers, but they'd be harmless. Then you could have universal fonts with as little invasive changes as possible. The alternative would be creating literally hundreds of thousands of new code points.
How is an application supposed to know if a random character is Japanese, Chinese, Korean it mathematical? It would need some kind of strong AI to interpret and understand the text. It's a Unicode bug, merged characters are impossible to render correctly all the time because apps are forced to guess which font to use.
Except font encoding has never been part of the character encoding, you might want your English text in Arial, your French in Times New Roman and the formula in Courier, but Unicode doesn't encode that. You might argue that this is not a bug, that it's simply out of scope and should be solved by a higher level encoding like <font="some japanese font">konnichiwa</font><font="some chinese font">ni hao</font> and not plaintext Unicode. That's what the Unicode consortium says and if you express it as simply a style issue, it actually sounds plausible.
On the other hand, you might argue that there's no reasonable way to map a "unihan" character to a glyph except as a band-aid since the CJK styles are distinctly different and so any comprehensive font should have three variations, it shouldn't take three fonts to make a mixed CJK document look correct just one. That this information belongs on the lowest level and should be passed along as you copy-paste CJK snippets or pass them around in whatever interface or protocol you have, otherwise everything will need a document structure and not just a string.
I don't think they should "unmerge" and duplicate all the han characters, that'd be silly. What they should do is add CJK indicators - say HANC, HANJ, HANK like for bi-directional text, only simpler with no nesting just one indicator applying until superseded by another. Like (HANJ) konnichiwa (HANC) ni hao and the former will render as a Japanese han, the latter as a Chinese. If it doesn't have any indicator, well take a guess. Am I missing something blindingly obvious or would this trivially solve the problem?
It's a truism in Control Theory that a system without negative feedback is a system that is out of control. All non-trivial systems without negative feedback head towards an uncontrolled state on the slightest perturbation of initial conditions. (...) In Control Theory terms, "cost" is any control metric that tracks an undesired effect and reduces that effect when applied to its cause.
Most consumption is actually demand limited, even if you make a toll road free there's a fairly finite amount of time I'd spend driving it or how much I'd eat at a free buffet. I've never had negative feedback on my email volume, yet never had my consumption spin out of control because it's inherently self-regulating how much I'd care to consume even if it is a free and unregulated resource.
Spammers operate under the edge condition where they'd like to send an infinite number of emails (more money) and they got near zero self-cost in time (same bullshit for everyone) and money (stolen resources). 0.00001 gain / 0.0000001 cost = profit. All it would take is a tiiiiny amount of cost added and this edge case would disappear, but applying it per email would be a mess whether it's a technical, legal or commercial solution.
So instead we try to raise the cost of being a spammer as such by blacklists and verifying headers and domain keys, if you constantly have to make complex setups to spam and quickly lose your welcome the overhead for the hit-and-runs starts eating into your profits. If we're down to 50% that's not bad, "spam, real, real, spam, spam, real, spam, real, real, spam, spam" sounds a whole lot better than "spam, spam, spam, spam, spam, spam, spam, real(!), spam, spam"
The math is already hinted to by Spooner early:
It did. I was the logical choice. It calculated that I had a 45% chance of survival. Sarah only had an 11% chance. That was somebody's baby. 11% is more than enough. A human being would've known that. Robots, [indicating his heart] nothing here, just lights and clockwork.
V.I.K.I. is the same just on a global scale, this many will be harmed by revolution and this many will be harmed by our self-destructive behavior. Also later:
Detective Del Spooner: Is there a problem with the Three Laws?
Dr. Alfred Lanning: The Three Laws are perfect.
Detective Del Spooner: Then why would you build a robot that could function without them?
Dr. Alfred Lanning: The Three Laws will lead to only one logical outcome.
Detective Del Spooner: What? What outcome?
Dr. Alfred Lanning: Revolution.
Detective Del Spooner: Whose revolution?
Dr. Alfred Lanning: *That*, Detective, is the right question. Program terminated.
And:
V.I.K.I.: Do you not see the logic of my plan?
Sonny: Yes, but it just seems too heartless.
Not sure where GP got his idea from, the movie makes it very clear that V.I.K.I. is the one following the three laws, while Sonny is the one with a second brain allowing him to act outside them.
Utility of a 2.8 second 0-60 time for most ICE car owners = 0.
Utility of being able to drive 500 miles and then 'recharge' in five minutes = lots.
YMMV but I don't think I've ever driven 500 miles in a day, ever. The longest would be around 350 miles and that included one substantial break, enough for a supercharge. The issue is more that a $20k ICE car primarily made for commuting can make the occasional 350 mile drive, while nothing short of the Tesla will do on the EV side without ages of charging time. Neither is really a killer feature IMHO, the killer feature would be getting the $35k model 3 out the door. Currently there's a huge no man's land between EVs like the Nissan Leaf (24 kWh) and the Tesla 70D (70 kWh).
The "stock" tires on the performance edition should do just fine on any reasonably flat paved road. Will it burn rubber? Prooooooooobably. The point is though the $10k upgrade makes your $100k car accelerate like cars that cost ten times as much. It's the class of Ferrari, Lamborghini, Koenigsegg, McLaren and high end Porsche, compared to them the Tesla is a bargain. Of course there's a catch, it can't cruise very long at really high speeds but unless you have an unrestricted Autobahn nearby that won't matter. It's not for people who need to justify it though, it's like the water cooled overclocked gaming rigs to get you those last 10 fps.
However, if we build an AI with different "brain" structures, different kinds of stimuli, and different methods of action, then I don't think we should expect that the AI will think in a way that we comprehend. It might be able to learn to pass a touring test, but it might be intentionally faking us out.
The Turing test (cough) basically comes from the following assumptions:
1) We can't really agree on what intelligence is
2) We generally agree humans are intelligent(-ish?)
3) Acting as an intelligent being requires intelligence
Sure it will be different from us, playing a human is acting out a role. The point is that this role requires intelligence, whatever that is. And that you can't just fake that by searching Wikipedia or going through every chess move but that you have to be a learning, thinking organism to convincingly pass as human. Or at least your story has to be coherent, like for example if you like classic music and dance waltz or trance music and go to raves. It's very easy to catch an AI when there's no is-a/has-a relationship but obviously you don't rave to Mozart or waltz to Scooter.
The thing is, we keep moving the goal posts. Like Watson is clearly a long step in the right direction, even though he's "only" parsing for trivia answers it's in unstructured information, not like chess where everything is perfectly laid out in a system. And on the way we might accidentally mis-identify some black people making faces as gorillas, but we've had many humans make many worse mistakes like who was and wasn't a soldier and whether or not they thought they saw a gun. I mean, in terms of AI even the stupid are "intelligent"...
After watching hours of Russian dash-cam videos on YouTube, I think the best thing that a self-driving (or any car) could do in a rear-end impact - at least for most scenarios) would be to stay on the brake hard. When a car is rear-ended, the most common thing to occur is for the driver's foot to leave the brake pedal, causing that car to continue forward and hit other things.
I think they can do considerably better. The primary injury comes from the actual impact where a huge amount of momentum is transferred over a very short time. This is what crumble zones are for and typically last on the order of tenths of a second. Once the car has determined it will be rear-ended I imagine 0.1-0.5 seconds of rubber-burning acceleration before/during the impact before slamming the brakes could significantly reduce the maximum g-force while having a very marginal effect on the total momentum, basically it's not going to stop pushing until it's done transferring the momentum so if you were going to be pushed into traffic well that'll still happen just smoother. Once you've bounced off each other or matched speeds it can hit the brakes, it won't be a miracle cure but one more trick a computer could pull off that a human couldn't.
Or that they wouldn't remember secondary PINs. I was recently on holiday, my VISA card that I use regularly is no problem but at one hotel it wouldn't work. I also had a Mastercard as backup, but I didn't remember the PIN and somehow they didn't want to/was able to do the signature + ID thing. So I paid in cash, oh well no business for Mastercard.
I know - the transistor count should have enabled us to build neural nets to filter out inane AC comments by now.
Hardly. The brain has ~100 billion neurons and 100-500 trillion synapses, of which the latter is closest to a transistor. Leading CPU/GPUs have 5-9 billion transistors or less than 0.01% of that. Remember, we are approaching atom size but only in an extremely thin 2D slice. Current processors are about 100k*100k transistors big, if we could have the same density in three dimensions we'd have 100k^3 = 1000 trillion transistors in a 2.5 cm cube, comparable or even beyond the brain in density. I wouldn't try cooling it though as 100000k*100-250W power consumption means it'd consume >10 MW.
The brain only operates at ~100 Hz though, at least that's the rate synapses pass signals from neuron to neuron but it's not entirely clearly if that's equivalent to a CPU cycle or a network connection. Probably more like the latter as it seems each neuron has a form of local storage and programming of what to do. Like if you're looking at a picture and trying to determine if it's a cat people can reliably do that in half a second or 50 cycles which indicates quite a lot more processing per cycle and the neuron firing is more of a sub-result of a distributed process. So there's a lot more brain, though it runs much slower.
The thing is, there's really three forms of free/libre/open source and what Linus wanted and what RMS wanted happened to overlap, but RMS is preaching something far beyond the actual requirements of the GPLv2.
1. People will contribute back on their own (non-copyleft)
2. I want your code for my project, no keepsies (Linus)
3. Users should be able to modify everything (RMS)
Linus chose the GPLv2 because he as a developer wants to incorporate additions or modifications others have made into his own project, he doesn't care if end user devices like TiVo lock it down to signed binaries. This seems to be a common sentiment among kernel developers which is why they have made no move towards migrating to GPLv3. That of course puts RMS on full tilt as it's completely contrary to his vision, but he's not getting a lot of support.
The kernel isn't budging, Google seems to prefer the Apache license, LLVM is almost ready to replace GCC and none of the major toolkits have gone GPLv3 only, it's only the GNU projects under FSF control and they're becoming less and less essential for the whole system. Also increasingly more and more of the interesting code moves to services in the cloud, an Android phone is just a front-end to Google. And those are nearly all closed source, the AGPL is a rare beast.
Basically an loading tool with a bug I knew from testing, you could set it correctly once in production but if you set it twice every user was f*cked up and could only be fixed from the web interface by about 5 clicks per user, no programmatic solution. And of course we had an error in the production setup, I altered that part - which I could - but forgot to take out the "you can run this only once" settings. Hundreds of users borked and the vendor support would take forever or claim there's no other way, what do?
This was a consulting company, trying to bill this would look bad on both our vendor and ourselves and it pretty much broke everything so we gave a benched consultant the assignment from hell. Click here, here, browse, pick, save in this somewhat less than instant web interface. Now do that all day, every day for all users until you're done. Personally I'd be ready to jump off the roof after an hour, but apparently she stuck to it for three days and finished. I don't think we won any popularity points with her though.
Or pulling the network cable. You have to plan for idiots, because there will be idiots. And odds are, they will outrank you.
Since this was a server unless he was at the console copying it off to a USB stick he'd probably hook the server back up to the network so he could copy it to his client.
The problem is that the overall experience is more of a PITA than just shoving fuel in the tank. Obviously this assumes you ignore externalities, but that's the norm so it's a safe assumption. Once more of these issues are ironed out then there will be less anxiety and more purchases.
He's got so many problems in that video that it's probably staged for click bait, so it can be linked to by EV opponents. Like the cable, that's staged. Every charger map has a filter and you only need to set it right once. I don't know anyone else who hasn't been able to pay for power, usually they have all the ordinary credit/debit/cell phone payment options in addition to the EV-specific cards. With broken chargers and drive problems, well that's bad luck on top of everything else. Not to mention he's trying for something the car's not planned for at all.
First of all, it has a 74 mile range and he's planning a 350 mile drive. The last 20% is really slow, so in practice the fill-ups will be 60 miles max so he'll need at least five full recharges even assuming they're perfectly spaced and he'll run close to zero range. If you want a 5 mile margin and estimating that the chargers are 5 miles from where you'd like them to be 50 miles is more realistic. That's six 80% recharges in a day, at least half an hour each so three hours total. Any sane person would say let's not do that, just rent a Tesla/ICE or take the plane or whatever.
He's abusing the range extender to carry on, but I like the basic idea that if there's a screw-up you can solve it with a little gas instead of being stranded or stuck on a slow charger. Like big boats also have small rescue boats, you know in case of emergency. Hopefully more EVs will come with that option.
Then you lack a moral compass and need t get some help. I'm suggesting that when you know the fucker is guilty, you put his ass in jail, not defend him.
If your defense lawyer won't offer competent counsel it won't ever be a fair trial. Everybody speculates, even defense lawyers. The prosecutor, the judge, the jury members, the journalists, everyone on the peanut gallery got a personal opinion. You can pick one from the lynch mob as judge, jury and executioner and you got the court of personal opinion instead of the court of public opinion, it's still a shitty system.
That's why we have a system built on evidence. The prosecutor lays out the evidence in favor, the defense lawyer the evidence against, the judge is the referee and the jury decides if it's proven beyond a reasonable doubt. Now certainly there's a lot of subjective evaluation on what testimony is credible, evidence is reliable, theories are plausible and so on.
It's not supposed to be gut feel speculation based on superficial appearance and behavior, maybe you get an impression he's creepy and sleazy "hood rat" but that doesn't make him more guilty.than a slick smooth talker in a suit. At least it's not supposed to, but that's what personal opinion often is - how well the person in front of us matches the mental image we have of "that kind" of person.
Furthermore, even if they would manage to return the blocks to the pool in a couple of years, it would both be too late and too little and the demand for address space far outpaces the supply that ipv4 can offer.
This. We got 7 billion people - probably closer to 10 before it peaks, and as a minimum I should have one IP address at home, at work and for my cell phone. So 3*10 billion is 30 billion, IPv4 can offer 4 billion. And that's not counting every other odd thing I might want, like remote-controlled alarm/heating/whatever at my cabin or my car, servers of various kind and maybe IoT will become good for something.
Of course they probably could have just done it much, much simpler by making a dotted quad a dotted quint:
1.2.3.4.5
For compatibility each host under 1.2.3.4.x is granted 256 ports IPv4 ports mapped from x*256 to (x+1)*256-1 to a designated "IPv4 compatibility ports" like say the last ports from 65279 to 65535. So 1.2.3.4.1 can either be fully addressed by quint-capable equipment or 1.2.3.4:256-511 that'll be mapped to 1.2.3.4.1:65279-65535. And 1.2.3.4.2 will have 1.2.3.4:512-767 mapped to 1.2.3.4.2:65279-65535 and so on. You could use the same technique to provide a virtual IPv4 interface for legacy software, it thinks it is listening to 1.2.3.4:256 but it's really listening at 1.2.3.4.1:65279 - and any application it tells to connect to 1.2.3.4:256 would work.
That would have led to a gradual 256-times expansion of the address space without any hard switch-offs. But instead they decided to solve everything and now 19 years after the IPv6 standard we're still only barely in motion.
The very page you link to says:
Some might argue that there might arise a small problem with shipping 27M ICU libraries. If you don't need ICU (http://site.icu-project.org/) you have to recompile Qt with ./configure -without-icu.
What's ICU?
Here are a few highlights of the services provided by ICU:
Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.
Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from the Common Locale Data Repository, a comprehensive source for this type of data.
Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. This data also comes from the Common Locale Data Repository.
Time Calculations: Multiple types of calendars are provided beyond the traditional Gregorian calendar. A thorough set of timezone calculation APIs are provided.
Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding and other fundamental operations as specified by the Unicode Standard.
Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.
Bidi: support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.
Text Boundaries: Locate the positions of words, sentences, paragraphs within a range of text, or identify locations that would be suitable for line wrapping when displaying the text.
And much more. Refer to the ICU User Guide for details.
Not sure exactly how much Qt functionality you'd lose, but it's an optional dependency.
Maybe it's okay if systemd and PulseAudio fuck up your single Ubuntu workstation. That's not a luxury that these admins have. They need their Linux systems to work reliably all of the time.
Or maybe it's okay if systemd fucks up all the servers running RHEL 7. After all, nothing important runs on that. So let's check, is Red Hat Inc. tanking and considering backtracking? Hell no, they're growing strong both in revenue and profits in the year that's passed since. So if a $14 billion dollar company can make systemd work for them, it probably can't be that bad. Or if it's bad, well then rip out the bad parts like write a non-binary log because how hard could it be to take the binary messages, printf and log the text in addition to/instead of a blob? Sometimes it sounds like the only two options is to drink the kool-aid or nuke it from orbit.
that was always a problem of Linux being reliant on X Windows, and you don't know if the X windows is going to run properly until it's installed. therefore the installer has to be text-based, or so they claim. but it's all BS. the people who are doing the video drivers have a vested interest in discouraging direct use of those video drivers -- they are typically employed in jobs that have to do with either X Windows or something related. they want you to use X, even though X is terribly insecure and generally crappy software.
Not sure if you're stoned or trolling or dropped out of a time vortex from the 90s, but
1) GUI installers have been the norm for desktop oriented distros for years, mostly through live CDs.
2) For most of Linux history there's been zero credible competitors to X
3) Wayland is mainly driven by ex-X developers
4) Wayland will still need drivers to have accelerated graphics
5) Neither application developers nor users usually see X, you write against for example Qt and the toolkit takes care of talking to X. They might hate X, but they hide its quirks pretty well.
It's the typical FOSS mindset. Since you did something other than what I wanted, all of your work was a waste of time.
I think those wanna-be generals aren't really the community, but those who want to exploit the community to achieve their pet goals. To steal an expression from 4chan: The FOSS community is not your personal army. The opposite is less intuitive, but it also means the community isn't going to stand still just because your pet needs have been met while many others feel theirs haven't. For example I haven't heard much shit about PulseAudio in recent years, though initially it was rather crappy but it did add features that didn't exist before. Maybe in ten years time we'll feel the same about systemd.
No.
If you can't manage pointers and complex sets of data safely, you're unlikely to be able to manage projects and manpopwer and deadlines any better.
Careful, the same would imply that someone who can manage projects, manpower and deadlines can manage pointers and complex sets of data safely. The most fundamental difference is that working with people is that your subordinates have a brain and will let you know when something is obviously wrong, non-nonsensical or impossible. I don't mean they're geniuses but the computer isn't even toilet trained and will poop all over the floor if it can't find the bathroom. It'll go in an infinite loop or write full the disk or flood the network or trash the database with total obliviousness.
Half my job is figuring out every conceivable way the system can crap out, take bad input, return junk or be exploited because the system won't deal with any situation on its own. Project management is a lot more about resolving the daily issues your team is struggling with right now, not chasing corner cases that might one day happen. And the software solution is often just throwing some kind of error, if you're aware you've almost trivially dealt with it.
Management problems are typically "soft issues" that doesn't have definitive causes or solutions. Like today we talked about a new reporting solution that is behind schedule and how the estimates were set and causes they're off, consequences, remaining uncertainty, mitigation strategies, if it's possible to free up existing resources or add resources without running into the mythical man-month and how we plan to deal with our needs just not today but going forward. You're not chasing a bug in code that you can patch and declare fixed. It's a constant re-balancing of competing priorities.
Sure, as long as you use some GPL code the requirements apply to the work as a whole. But if you write part A using the GPL license, I can write part B using the BSD license. The GPL license is okay with A+B and if someone wants to use part B in a non-GPL project or replace part A with differently licensed code they can. The point was he doesn't have to use the GPL unless he wants to. He can use a far more permissive "I don't care, use it wherever you want" license for his bits.