|
<nag> It's Shift+Ins that resembles Ctrl+V. </nag>
Ciao,
luker
|
|
|
|
|
Sorry, it's been a while. Actually never, as I started on a CUA interface.
TTFN - Kent
|
|
|
|
|
Even though Windows 10 and Windows 10 Mobile are part of the same "One" product strategy, the two feel like two separate projects at Microsoft. It's not like anyone uses Windows Mobile
|
|
|
|
|
For many tech companies the race is on to build ever smaller computer processors, but one British man has gone in the opposite direction. Unfortunately, he'll have to build a giant keyboard before using it
|
|
|
|
|
Bah! You have to use relays! Kids these days...
|
|
|
|
|
The Fan is Canonical’s answer to the container networking challenge. We recognised that container networking is unusual, and quite unlike true software-defined networking, in that the number of containers you want on each host is probably roughly the same. You want to run a couple hundred containers on each VM. You also don’t (in the docker case) want to live migrate them around, you just kill them and start them again elsewhere. Essentially, what you need is an address multiplier – anywhere you have one interface, it would be handy to have 250 of them instead.
Marky Mark could've thought of a better name on this one.
|
|
|
|
|
No matter how genius a new application is, it is still required to go through testers’ hands. And despite the important role testers play, they remain in the shadows. When developers become aware of the variety of tests their software must endure, it often forces them to rethink the way they develop their software—in a good way.
"Andy buffed those shoes to a high, mirror shine..."
|
|
|
|
|
One storage provider compiles failure rates for major hard drive vendors and a pattern emerges. Ten minutes before your backup starts, or just before the deadline on that project
|
|
|
|
|
HGST drives for me after seeing this!
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Unless you're jamming dozens of consumer drives into giant storage enclosures it's also mostly irrelevant. Being able to tolerate an extra order of magnitude or two of vibration is the biggest real difference between consumer and enterprise drives. The perpetually faceplanting seagates backblaze is continuously murdering are an even lower grade; stripped from USB enclosures where the assumption is that they'd spend most of their time turned off.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
|
According to the results of an informal poll that we conducted with over 1,600 CodeProject.com members, 1 in 4 developers think they are the best member of their team. The other three felt they were too good to respond
Or optionally: whatever it takes to get "Naega jeil jal naga" out of my head.
Bam Ratatata Tatatatata.
|
|
|
|
|
I just HAD to Google what the heck "Naega jeil jal naga" is didn't I...
Thanks Kent. ( ͠° ͟ʖ ͡°)
Kevin Priddle
Editor and Special Projects Manager - CodeProject
|
|
|
|
|
Best, Worst, Only, Barely; looks like I'm checking more boxes there than the average insider survey.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Both 32bit and 64bit versions of Home or Professional to be included on a drive So you'll know where to stick your Windows 10
|
|
|
|
|
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Uncle Bob's take on multiple inheritance: Interfaces Considered Harmful
Coincidentally, pretty well my take on it too.
It's a bit old, but I couldn't find a link in here, and thought it may be of some interest.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
It was linked to and debated pretty well at the time.
|
|
|
|
|
Thanks, I did search for it but failed to find any reference.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
PS. Is this the Thread[^] you were talking about?
Because if that's debate you may feel at home in the Houses of Parliament, I didn't see much technical discussion there at all.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Err no. I have the feeling I'm mixing the sites I've discussed this on.
|
|
|
|
|
Interfaces are about contracts, not inheritance.
(i.e. I can use the same screwdriver to fix my computer and my stereo because both implement the "Phillips cross head" interface)
|
|
|
|
|
Nobody (nobody sane anyway) would argue that clear interface between components are not a good thing.
It doesn't excuse failing to implement multiple inheritance though. I've yet to see a cogent argument why they're a bad thing. C++'s implementation is pretty odd, but Eiffel, I think got it much better. At the very least, it would be nice if we had facilities like Mixins, otherwise, as the original essay indicated, we either have to repeat ourselves each time we implement an interface (violating DRY), or we have to choose some other mechanism (violating Separation of Concerns).
But as Pete O'Hanlon pointed out that the debate has already occurred, I won't pursue the matter further.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Debate is generally never a bad thing. I'm all for it.
|
|
|
|
|
I think "Uncle Bob" hit the point very well - there are cases where multiple inheritance really does make things easier, it avoids having to duplicate the code of an interface implementation multiple times. To my mind, a programming language should be about making life easier for the user (programmer) rather than ease of implementation (as long as there is a feasible implementation).
For most languages, however, I think that the fact that polymorphism is implemented through vtables (ultimately inherited from Simula, but usually more directly from C++) is the sticking point. Laying out vtables for multiple inheritance isn't too tricky, but usually involves some kind of pointer manipulation when casting pointers. C++'s solution is kind of horrible when you look at the technical details.
However, Eiffel comes up with an entirely different solution, which actually isn't that different from that used by Self (a dynamically-typed Smalltalk-like language that introduced the idea of prototype-based inheritance). With this scheme, rather than using vtables, polymorphism is implemented by, at the worst case, some kind of lookup. In the worst case, this results in worse performance than C++, but as Self illustrated (influencing pretty well all later VMs including Java, .NET and VM) it is possible to optimise the common paths, often resulting in the called function effectively being included inline at the call site (that's the essence of HotSpot compilation - which is exactly why Sun bought in many of the Self team to work on the Java VM).
In .NET, the closest to a solution is extension methods. However, unlike polymorphic calls these are statically bound and cannot be overridden, so are much more limited. Given the nature of the VM, I think the best we can hope for here is some kind of mixin-based implementation.
Mixins give many of the good features of Haskell typeclasses. One of the best examples there is the Comparable type class, which (in C# terminology) provides default implementations of most of the methods - if you provide one method, you get the others for free, so defining "<" for a type allows the system to infer the rest (of course, you can still implement these if you can find a better implementation).
To my mind, though, at essence it simply comes down to finding solutions which make it easier for a programmer to write correct code. Single inheritance limits the space of available solutions, and having used languages with multiple inheritance, I frequently find it frustrating having to repeat boilerplate code in a number of classes - a process which is more likely to produce errors, especially if you omit one of the cases during maintenance.
Of course, all this doesn't obviate the usefulness of interfaces as a design concept - it is a very good idea to have clearly defined interfaces between components. I just feel that interfaces (as in C# and Java) mix this concept with a limited form of multiple inheritance.
I'm very hopeful C++ concepts will be closer to my idea of this, than the C#/Java model. Rust also has some promise in this area. Traits in Rust are like both Concepts and Interfaces, but allow for default method implementations much like I discussed above for Comparable.
(Wow, that was a bit of diatribe).
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|