, wasnâ(TM)t motivated in high school and didnâ(TM)t see value in college,
and no doubt will not see the value in work either - especially if he's hired by a company that values sensible, maintainable, serious engineering-style coding rather than playing with fun puzzles.
Oh, he joined a startup... guess he'll be fine then.
Even Microsoft used to do this - original WPF development (and other design work) was done in Expression Blend. They only scrapped that idea and merged the functionality to VS quite recently.
Maybe the point is that a tool to do specialised work isn't what people want, so the FOSS crowd need to decide: do they have a single IDE that does "everything" (eg eclipse?) or a lot of tools that do a single thing well that can hook together.
Maybe the individual tools idea works for the command line because the interface between them is so well defined, and wouldn't work well for GUI tools because there isn't such tight integration available.
of course, if you're using it and you have the source code, then its not dead - except the old project page might no longer point to the currently updated project site (ie your fork).
All the FOSS sites need a 'takeover' policy for dead projects that is more than just fork. That link says to contact the abandoned project admin and ask to be added to the project to continue it, and if they do not respond, create a new project site with the old code. Personally, I think if they do not respond, then the site should try to contact them - if they still do not respond (after a suitably lengthy time) then it should re-assign you as the new owner. They could rate-limit takeover requests to 1 a year per project without incurring much inconvenience to project admins. Alternatively they could mandate a minimum of 2 admins per project and give a list of "non-exec" admins that are simply there for such contingency purposes.
For example, I see Fuppes project on sourceforge, it works well but needs a tweak or two to make it work great - and I'm willing to do the work, but the admin doesn't seem to be around anymore. I could fork it, but I'd much rather keep continuity of the original project. We have way too many forks anyway (usually because Oracle took over the project:) ).
lunch - sure, but in a staff canteen where you can talk with other people and generally take a break from whatever you were doing and let your brain relax enough to let you do it better when you get back to work.
I'd also recommend a sweet trolley in the afternoon, but that's mainly because I just like cake.
GC also has to pause your program (even for a short time) and then copy memory blocks around to compact the heap (or it will rapidly run out). Memory copying is a slow operation, and the additional time spent calculating which blocks to move is also adding extra time that non-GC systems don't incur.
Then there's the GC killer - locality of data, in most non-GC apps memory is allocated contiguously so it can be read from relatively slow RAM into CPU cache in a straight hit, in GC systems the memory blocks can more often be located all over the heap, and each one is referenced via an intermediate GC pointer, which means you need many hits to read the same data - with today's super-fast CPUs requiring data to be present in the caches, this can murder performance on a GC system.
Saying GC is a basic feature just means the OP has bought into the hype without giving it much critical review.
I'd rather learn a new language at 8 than at 48... just saying, its probably a very good thing to teach her English right now than have her struggle to learn it later (apparently kids are much more adaptable to language, starting off with nothing and having to learn 1 it kind of makes sense somehow)
All my Danish friends say that they all speak English anyway, 5 million Danes on the planet and no-one else speaks Danish makes it almost mandatory for them to speak something else, and Danish is a close common ancestor of English anyway (ie I really don't speak Danish, but I can understand the meaning of danish text) having its roots in the settlement era of the dark ages when you guys came over in the longships.
security is not about the language, its about how you approach the problem, and frankly I'd rather have a "bug friendly" language like C and C++ so that I know I have to take care, than one that claims to be so perfect I can knock out any old crap and not consider the implications of what I'm doing.
Consider that the JVM is written in C/C++ and you'll understand why your statement is so stupid.
are you sure about that - check where the vulnerabilities were found. How many were in the plugin, how many in the JVM.
The fast that the code that executes in the plugin is Java code that runs in a JVM sandbox seems to have passed you by, of course the plugin in a good attack vector as its so readily accessible, but there's nothing stopping the same attack code from running in your desktop or server programs, its just harder (but not impossible) for the attacker to get their code there.
So, no, Java is not somehow totally secure and its all the fault of the plugin.
the point is that they just patched 39 vulnerabilities that were not know about last week... how many are still in there that we just haven't discovered yet? That's why we criticise them, because they've found so many vulns, there's a good chance there's a load more waiting to be discovered.
or it would be, if all desktop/apps were composed of pure vectors and not contain bitmap images. How does X transfer a bitmap? Much more poorly than RDP does. X might have been a good thing back in the day of TWM and similar, but if you want to use X today with todays' highly graphical desktop environments, then it shows its no longer suitable.
I don't know if keeping X as well as RDP is worthwhile - if RDP performed better than X for the worst case (lots of bitmaps) and as well as X for the best case (vectors only) then its time for X to retire after decades of excellent service.
I think you'll be surprised at the performance of RDP, but we'll wait and see what happens with Wayland's RDP when someone makes some benchmarks.
but RDP is a network transparent GUI. How can it be anything else as it shows your GUI over the network.
X haters hate X because its just not as good as people think it is, especially over a slow link. It does everything X does, but faster and more efficiently. If you want to edit a file remotely, you RDP that app and work with it, or you remote the entire desktop (which is still faster than X remoting just the app) and run the edit program.
I can't answer for Wayland, but on Windows you just type "mstsc" and provide whatever options you want (typically mstsc/v:remotehost)
Once connected and logged in, you get your remote desktop (or app, as some people have said you can access just an app remotely) and you can do whatever you want as if you're running the remote computer locally.
I imagine Wayland client will be of similar complexity, especially if its a compatible protocol.
to add to that - its when devs were told the shiny new WinRT API and MetroUI were the future, they were happy. Then when they asked if apps written for these new APIs woudl run on the desktop, or on old versions of Windows and got the answer "no" back, they became very wary.
So now Windows is in a awkward place, do you embrace the new APIs and hope that Metro becomes the de-facto standard, with your fingers crossed that Microsoft doesn't pull another silverlight on you... or do you keep on building your old W7 apps as you've always done?
I think we all know the answer. I'm not sure what MS will do now to rescue this hole they've dug themselves. Maybe they know this is the case, and that's why Sinofsky went, too bad he was probably the only one who could have managed to save them.
They've had a few articles about the death of W8 - that one's quite funny "neither Windows 8 nor its cousins Windows RT and Windows Phone 8 even appear on NetApplication's mobile and tablet reports for February 2013. How bad is that? Android 1.6, with is tiny 0.02% of the market, does make the list."
even Microsoft thinks they've made a booboo, now they're talking about adding boot to desktop and the start button back on Windows 8.1. You don't get u-turns like that very often, though you'll still be dropped back into MetroUI every so often if you click the wrong thing.
Agreed VB.NET is much better than C# (ironically), its strange that MS spent so much effort in developing C# when its just VB.NET with curly brackets and a heap of missing functionality!
BTW, C++ has had this "edit and continue" functionality since VS6, and it works a hell of a lot better than the.NET version. You can even e&c 64-bit code!
don't worry - Microsoft broke "edit and continue" in.NET so it doesn't work at all (in the case of 64-bit code) and doesn't work well the rest of the time, something that was awesome in C++ and VB coding.
Do some reading about the actual engineering that went on and you'll quickly realize it was ALL about developing working processes
I think this is key - it was developing the process that worked for them, not following a cookie-cutter process that had worked for someone else that they followed blindly and dogmatically. No-one says you should not have any process, or documentation, or similar essential stuff.. but it has to be there to contribute to the end, not be an end in itself.
someone once told me that to do agile you have to be tremendously disciplined, its not chaos (or if it is, you're going to fail) as you have to be in control of yourselves.
the design process used in the 1960s was necessarily iterative: engineers would design a component, fabricate it, test it, and see how it performed. Then they would modify the design, build the new version, and test it again. This would continue until the design was "good enough."'
take note modern IT managers - this is agile, not that bastardised process-heavy "agile" scrum-style crap you do today.
Check out the radio 4 (truly excellent channel)'s recent episode on our digital legacy (ep3 of Out of the Ordinary) - it discusses not only what happens to your data after you die (eg people can still send you emails and unless they know you're dead just assume you're ignoring them), but also your online presences (eg your facebook page that is still active). Then there's the issue that accessing your old data might help your grieving relatives (assuming you use a different email account for porn) or hurt them if they log on to the net and facebook helpfully sends to suggestions you connect with your dead friend, whose account is still active and un-closeable.
Who do you want to be able to read your old emails when you die? Are the dead entitled to privacy? Jolyon Jenkins reports on the increasingly contentious issue of our digital legacy.
As we lead more of our lives online, we leave behind an ever bigger digital footprint when we go. There are the public parts - the blogs, the tweets, the forum posts - but also the private things such as the emails stored on servers owned by companies like Google. Sorting out the digital legacy is becoming as onerous as being a traditional executor.
But it brings entirely new problems: in the case of people who have died suddenly or mysteriously, relatives sometimes feel that they are entitled to get access to the email accounts of dead person to try to find a clue to what was happening in their lives. But many email providers resist handing over this material because of a confidentiality clause in their terms and conditions. Jolyon Jenkins talks to the Stassen family in Wisconsin who took both Facebook and Google to court to gain access to the accounts of their son Benjamin who committed suicide. He also talks to Esther in Kenya who similarly would like to get into her dead sister's email account to try to find a clue to her unexplained death. But unlike the Stassens, Esther has had no luck.
These are uncharted waters, where analogies with old technology quickly break down, where the principles are unclear, and where important private and personal matters seem to be left to the discretion of big corporations.
ie Python should have defined an indent as 1 tab per level of indentation. They you just set your tab to be 2 spaces or 4 spaces or 8 spaces as you like. It'd still be text-file readable so you wouldn't need a special editor.
As it is, they defined it as "some spaces" and that just helped to screw everything up. Maybe a 'tabindent' mode for the next version would help fix it.
nope, its better to start off with an easy language - and that's not Java. BASIC was invented for a reason, it might be crap for us experienced programmers, but for someone completely brand new to programming, its a much more valid language to use.
The same applies to Pascal (which was invented as a teaching language) if you really, really, hate BASIC no matter what.
For this project visual basic would have been a much better choice - they currently launch a JVM that turns your spells into unityscript (did you notice it was written in Unity3D) that are executed over a socket. They could have simply run VB code directly in the system (or even VBA)
If i read that right (and interpreted it right in my mind) you'd conceived of the magic system as something similar to shell scripting in *nix - you have a load of "predefined" spells that you can invoke, or merge together to make bigger and better spells.
eg. you can have a spell like "ls" to give a view of your immediate map, and then pipe the results from it to your fireball spell to send a fireball to a destination to explode in much the same way you would use ls to find a file and rm to delete it if you were writing it in an unattended script.
There'd also be a good game aspect of obtaining new commands to add to your spellbook.
yes, I've heard of Hadoop - the framework that fixes java performance by splitting its execution up across a couple hundred machines.:-)
The framework language isn''t the performance part though - it just acts as a manager to send data to a group of workers and aggregate the results back, its the workers that are important. If they are slow, the whole thing is slow. So its best to write these in a native language. Its not anything special to Java either - Google's mapreduce implementation is written in python
If you want a good map/reduce language, forget Java and go with Erlang which is much more suited for this type of programming.
, wasnâ(TM)t motivated in high school and didnâ(TM)t see value in college,
and no doubt will not see the value in work either - especially if he's hired by a company that values sensible, maintainable, serious engineering-style coding rather than playing with fun puzzles.
Oh, he joined a startup... guess he'll be fine then.
Even Microsoft used to do this - original WPF development (and other design work) was done in Expression Blend. They only scrapped that idea and merged the functionality to VS quite recently.
Maybe the point is that a tool to do specialised work isn't what people want, so the FOSS crowd need to decide: do they have a single IDE that does "everything" (eg eclipse?) or a lot of tools that do a single thing well that can hook together.
Maybe the individual tools idea works for the command line because the interface between them is so well defined, and wouldn't work well for GUI tools because there isn't such tight integration available.
of course, if you're using it and you have the source code, then its not dead - except the old project page might no longer point to the currently updated project site (ie your fork).
All the FOSS sites need a 'takeover' policy for dead projects that is more than just fork. That link says to contact the abandoned project admin and ask to be added to the project to continue it, and if they do not respond, create a new project site with the old code. Personally, I think if they do not respond, then the site should try to contact them - if they still do not respond (after a suitably lengthy time) then it should re-assign you as the new owner. They could rate-limit takeover requests to 1 a year per project without incurring much inconvenience to project admins. Alternatively they could mandate a minimum of 2 admins per project and give a list of "non-exec" admins that are simply there for such contingency purposes.
For example, I see Fuppes project on sourceforge, it works well but needs a tweak or two to make it work great - and I'm willing to do the work, but the admin doesn't seem to be around anymore. I could fork it, but I'd much rather keep continuity of the original project. We have way too many forks anyway (usually because Oracle took over the project :) ).
lunch - sure, but in a staff canteen where you can talk with other people and generally take a break from whatever you were doing and let your brain relax enough to let you do it better when you get back to work.
I'd also recommend a sweet trolley in the afternoon, but that's mainly because I just like cake.
...which is probably the single biggest problem with this industry...
GC also has to pause your program (even for a short time) and then copy memory blocks around to compact the heap (or it will rapidly run out). Memory copying is a slow operation, and the additional time spent calculating which blocks to move is also adding extra time that non-GC systems don't incur.
Then there's the GC killer - locality of data, in most non-GC apps memory is allocated contiguously so it can be read from relatively slow RAM into CPU cache in a straight hit, in GC systems the memory blocks can more often be located all over the heap, and each one is referenced via an intermediate GC pointer, which means you need many hits to read the same data - with today's super-fast CPUs requiring data to be present in the caches, this can murder performance on a GC system.
Saying GC is a basic feature just means the OP has bought into the hype without giving it much critical review.
I'd rather learn a new language at 8 than at 48... just saying, its probably a very good thing to teach her English right now than have her struggle to learn it later (apparently kids are much more adaptable to language, starting off with nothing and having to learn 1 it kind of makes sense somehow)
All my Danish friends say that they all speak English anyway, 5 million Danes on the planet and no-one else speaks Danish makes it almost mandatory for them to speak something else, and Danish is a close common ancestor of English anyway (ie I really don't speak Danish, but I can understand the meaning of danish text) having its roots in the settlement era of the dark ages when you guys came over in the longships.
security is not about the language, its about how you approach the problem, and frankly I'd rather have a "bug friendly" language like C and C++ so that I know I have to take care, than one that claims to be so perfect I can knock out any old crap and not consider the implications of what I'm doing.
Consider that the JVM is written in C/C++ and you'll understand why your statement is so stupid.
are you sure about that - check where the vulnerabilities were found. How many were in the plugin, how many in the JVM.
The fast that the code that executes in the plugin is Java code that runs in a JVM sandbox seems to have passed you by, of course the plugin in a good attack vector as its so readily accessible, but there's nothing stopping the same attack code from running in your desktop or server programs, its just harder (but not impossible) for the attacker to get their code there.
So, no, Java is not somehow totally secure and its all the fault of the plugin.
the point is that they just patched 39 vulnerabilities that were not know about last week... how many are still in there that we just haven't discovered yet? That's why we criticise them, because they've found so many vulns, there's a good chance there's a load more waiting to be discovered.
or it would be, if all desktop/apps were composed of pure vectors and not contain bitmap images. How does X transfer a bitmap? Much more poorly than RDP does. X might have been a good thing back in the day of TWM and similar, but if you want to use X today with todays' highly graphical desktop environments, then it shows its no longer suitable.
I don't know if keeping X as well as RDP is worthwhile - if RDP performed better than X for the worst case (lots of bitmaps) and as well as X for the best case (vectors only) then its time for X to retire after decades of excellent service.
I think you'll be surprised at the performance of RDP, but we'll wait and see what happens with Wayland's RDP when someone makes some benchmarks.
but RDP is a network transparent GUI. How can it be anything else as it shows your GUI over the network.
X haters hate X because its just not as good as people think it is, especially over a slow link. It does everything X does, but faster and more efficiently. If you want to edit a file remotely, you RDP that app and work with it, or you remote the entire desktop (which is still faster than X remoting just the app) and run the edit program.
I can't answer for Wayland, but on Windows you just type "mstsc" and provide whatever options you want (typically mstsc /v:remotehost)
Once connected and logged in, you get your remote desktop (or app, as some people have said you can access just an app remotely) and you can do whatever you want as if you're running the remote computer locally.
I imagine Wayland client will be of similar complexity, especially if its a compatible protocol.
to add to that - its when devs were told the shiny new WinRT API and MetroUI were the future, they were happy. Then when they asked if apps written for these new APIs woudl run on the desktop, or on old versions of Windows and got the answer "no" back, they became very wary.
So now Windows is in a awkward place, do you embrace the new APIs and hope that Metro becomes the de-facto standard, with your fingers crossed that Microsoft doesn't pull another silverlight on you... or do you keep on building your old W7 apps as you've always done?
I think we all know the answer. I'm not sure what MS will do now to rescue this hole they've dug themselves. Maybe they know this is the case, and that's why Sinofsky went, too bad he was probably the only one who could have managed to save them.
They've had a few articles about the death of W8 - that one's quite funny "neither Windows 8 nor its cousins Windows RT and Windows Phone 8 even appear on NetApplication's mobile and tablet reports for February 2013. How bad is that? Android 1.6, with is tiny 0.02% of the market, does make the list."
even Microsoft thinks they've made a booboo, now they're talking about adding boot to desktop and the start button back on Windows 8.1. You don't get u-turns like that very often, though you'll still be dropped back into MetroUI every so often if you click the wrong thing.
Agreed VB.NET is much better than C# (ironically), its strange that MS spent so much effort in developing C# when its just VB.NET with curly brackets and a heap of missing functionality!
BTW, C++ has had this "edit and continue" functionality since VS6, and it works a hell of a lot better than the .NET version. You can even e&c 64-bit code!
don't worry - Microsoft broke "edit and continue" in .NET so it doesn't work at all (in the case of 64-bit code) and doesn't work well the rest of the time, something that was awesome in C++ and VB coding.
Do some reading about the actual engineering that went on and you'll quickly realize it was ALL about developing working processes
I think this is key - it was developing the process that worked for them, not following a cookie-cutter process that had worked for someone else that they followed blindly and dogmatically. No-one says you should not have any process, or documentation, or similar essential stuff.. but it has to be there to contribute to the end, not be an end in itself.
someone once told me that to do agile you have to be tremendously disciplined, its not chaos (or if it is, you're going to fail) as you have to be in control of yourselves.
the design process used in the 1960s was necessarily iterative: engineers would design a component, fabricate it, test it, and see how it performed. Then they would modify the design, build the new version, and test it again. This would continue until the design was "good enough."'
take note modern IT managers - this is agile, not that bastardised process-heavy "agile" scrum-style crap you do today.
Check out the radio 4 (truly excellent channel)'s recent episode on our digital legacy (ep3 of Out of the Ordinary) - it discusses not only what happens to your data after you die (eg people can still send you emails and unless they know you're dead just assume you're ignoring them), but also your online presences (eg your facebook page that is still active). Then there's the issue that accessing your old data might help your grieving relatives (assuming you use a different email account for porn) or hurt them if they log on to the net and facebook helpfully sends to suggestions you connect with your dead friend, whose account is still active and un-closeable.
Who do you want to be able to read your old emails when you die? Are the dead entitled to privacy? Jolyon Jenkins reports on the increasingly contentious issue of our digital legacy.
As we lead more of our lives online, we leave behind an ever bigger digital footprint when we go. There are the public parts - the blogs, the tweets, the forum posts - but also the private things such as the emails stored on servers owned by companies like Google. Sorting out the digital legacy is becoming as onerous as being a traditional executor.
But it brings entirely new problems: in the case of people who have died suddenly or mysteriously, relatives sometimes feel that they are entitled to get access to the email accounts of dead person to try to find a clue to what was happening in their lives. But many email providers resist handing over this material because of a confidentiality clause in their terms and conditions. Jolyon Jenkins talks to the Stassen family in Wisconsin who took both Facebook and Google to court to gain access to the accounts of their son Benjamin who committed suicide. He also talks to Esther in Kenya who similarly would like to get into her dead sister's email account to try to find a clue to her unexplained death. But unlike the Stassens, Esther has had no luck.
These are uncharted waters, where analogies with old technology quickly break down, where the principles are unclear, and where important private and personal matters seem to be left to the discretion of big corporations.
This is insanity. She had a good portion of her schooling supplemented by the US Government
I agree, subsidising foreign nationals' schooling is insanity.
ie Python should have defined an indent as 1 tab per level of indentation. They you just set your tab to be 2 spaces or 4 spaces or 8 spaces as you like. It'd still be text-file readable so you wouldn't need a special editor.
As it is, they defined it as "some spaces" and that just helped to screw everything up. Maybe a 'tabindent' mode for the next version would help fix it.
nope, its better to start off with an easy language - and that's not Java. BASIC was invented for a reason, it might be crap for us experienced programmers, but for someone completely brand new to programming, its a much more valid language to use.
The same applies to Pascal (which was invented as a teaching language) if you really, really, hate BASIC no matter what.
For this project visual basic would have been a much better choice - they currently launch a JVM that turns your spells into unityscript (did you notice it was written in Unity3D) that are executed over a socket. They could have simply run VB code directly in the system (or even VBA)
If i read that right (and interpreted it right in my mind) you'd conceived of the magic system as something similar to shell scripting in *nix - you have a load of "predefined" spells that you can invoke, or merge together to make bigger and better spells.
eg. you can have a spell like "ls" to give a view of your immediate map, and then pipe the results from it to your fireball spell to send a fireball to a destination to explode in much the same way you would use ls to find a file and rm to delete it if you were writing it in an unattended script.
There'd also be a good game aspect of obtaining new commands to add to your spellbook.
yes, I've heard of Hadoop - the framework that fixes java performance by splitting its execution up across a couple hundred machines. :-)
The framework language isn''t the performance part though - it just acts as a manager to send data to a group of workers and aggregate the results back, its the workers that are important. If they are slow, the whole thing is slow. So its best to write these in a native language. Its not anything special to Java either - Google's mapreduce implementation is written in python
If you want a good map/reduce language, forget Java and go with Erlang which is much more suited for this type of programming.