In my view, if someone taught students a language that does garbage collection but didn't explain what that is, they failed the student. I've seen so many people claim that languages like Java don't "leak" memory. It's certainly possible to have a dangling reference that prevents garbage collection.
You don't get away from the memory management issue in other languages, it's just a bit easier in some cases.
I think students should be taught a language like C or C++ without GC early on so they learn about memory management properly. By understanding what happens under the hood, they can appreciate garbage collection rather than assume every language has it. There's also a performance hit in Java and depending on what type of GC you're using in Java, it can cause latency or lag in applications. I've seen a lot of senior level developers create a lot of redundant objects and then wonder why the memory footprint of their app is terrible and why it seems laggy.
This goes back to the problems with modern education in CS: Lack of knowledge of memory management, thread management and basic operating system theory. When everything is a black box, how will they be able to debug or tune their applications when the need arises? I'm tired of having to explain how Linux allocates RAM to processes or why their node.js app is failing to scale.
Not to mention even in Java or.NET, you need to get in a pattern of opening and closing resources. What happens when they try to use JDBC? Why aren't my connections returning to the pool... I think the malloc/free or new/delete less is useful in other contexts.
Also things designed to force programmers to think like say python's weird whitespace rules actually detract from paying attention to more serious issues.
I agree with your point, but I don't think you could even get any real work done in C without understanding part of the memory management. In the case of your SQL example, that's more likely to have massive performance problems than a security vulnerability.
I don't think you need experts, but you do need people who are willing to look at best practices documents when working in a new language. That are books on writing secure C and Java code as well as various papers and sites with content. There's also projects like OWASP. Even if you don't know how to prevent SQL injection in say Java, you should be able to know what to google to find out because you're familiar with that class of vulnerability in your favorite language.
The C Programming Language Design Patterns (gang of four) Advanced Unix Programming Code Complete (any book on threading and parallelism) Core J2EE Design patterns (was a sun press book) Operating System Concepts (or Modern Operating Systems) Mac OS Internals
This. Redhat and centos releases are patched beyond the EOL date from upstream. The version number isn't enough to know if patches have been applied in these extended support OS.
It is not like this across the US. Where I live, we're technically in the Detroit market but so far away that we only get 4 stations. If I were inside of detroit, I'd get more.
Meltdown was never a problem on any AMD CPU. That's Intel.
Spectre affects Intel, AMD, Power, and even some ARM designs. It's unclear what mitigations AMD may have added but since these are based on Zen+ rather than Zen 2, it's likely the same as the more recent desktop chips (Ryzen 7 2700 and so on )
I created a seamonkey branch on github to try to get a newer firefox version to build on my OS. It's extremely complicated. Not to mention forks have to decide when to fork. Do you do pre quantum? Do you accept their rust language that isn't portable?
I chose code that's roughly equivalent to firefox 52 ~ because it doesn't completely depend on rust at that point. It's not easy to work with. webkit is much easier to deal with. The build system is clunky. It's very particular.
Browsers are hugely complicated. In order for this to work it would need to be a real fork not a distro like most chromium clones (opera, vivaldi, etc) and they'd have to embrace smaller open source projects too. The latter is to build a following and contributors. Most of the smaller OS projects need a working browser!
That's harder than it sounds. Nearly all open source software written in C++ is moving to newer standards fairly quickly. You have to use newer compilers. Some of those aren't well tested anymore in 32bit environments. Things break. Data types aren't set properly.
Most people expect modern web browsers and other software to continue to work. No OS project could guarantee that at this point. Unless we get a firm yes from Mozilla or Google, there will be no browser support soon. Even then, it's likely limited to one OS.
I get a lot of crap from people because I've had so much trouble keeping newer browsers going on my OS. They are massively complicated. It's as complex as OpenJDK, OpenOffice/LibreOffice, or KDE to port. I don't think people realize how big they are.
I haven't killed 32bit support because it's still quite popular, particularly with south american users. However, it's getting harder to maintain. I run it in a VM at this point usually 2GB ram and 2 cores because anything less is impossible to work with. It takes too long to compile software otherwise.
If an OS is targeting desktops, most of them have at least 4GB of RAM and a 64bit CPU now. Even 8 year old hardware is mostly 64bit aside from some netbooks. You can't run a browser with less than 2GB of RAM these days and have a good experience. Servers are another story. You actually have to target less memory usage there because of AWS EC2 sizes. Even smart phones and embedded devices have more ram than t2.micro/t2.nano EC2 instances now.
My logic is if it's got less cpu and ram than a cell phone, it's probably not worth supporting.
A door i can close would be a big help in cutting down on distractions. I'm lucky if i get over an hour without interruption. It's hard to get a lot done like that.
I've never had my own office. Last job was an open floor plan. I hate those. Now I've got cubes to deal with. They don't help a lot with noise.
There isn't much of a difference! In both cases, microsoft software was used. In both cases, sys admins had access to the email that did not have appropriate background checks, etc.
Whether the server is in the basement or in a data center, it's equally hackable.
Edge is decent at rendering web pages. However, a few misconfigured network settings and it can't even load pages on some networks. If you allow "discovery" on networks behind pfsense, it can't work properly.
The other issue is that it has far less ad-ons than Firefox or chrome.
Finally, Opera is Chromium. Chrome is Chromium. They are the same browser with a different UI. It's all blink.
It's basically IRC with a few extra features, better file transfer, audio chat/screen sharing, easy ways to share code snippets and lack of compatibility with all operating systems. For people that don't know IRC, it's amazing.
It also supports bots and integration hooks that tie into things like jira, jenkins and other tools.
Blame crytpo currency. While the demand is dying on that front, it proved to NVIDIA and AMD that they can charge more for graphics cards and get away with it.
You were very careful to say dedicated multiple times. Two factor auth does protect accounts from "random" brute force password attacks. It has some value.
Apple has something for mail. That doesn't really help you, but configurations can follow you to some degree between devices. It's not 100% though.
I wish a little more time would be put into Thunderbird or Seamonkey. Neither works well on 4k displays yet. It would also be good if there were thunderbird on more platforms. It's the closest thing we have to a cross platform mail app.
GNUMail would also be ok, provided the crashing bugs with IMAP would be fixed.
Most languages require freeing connections to databases. Managing resources is still a relevant skill.
C++ now has garbage collection as an option.
In my view, if someone taught students a language that does garbage collection but didn't explain what that is, they failed the student. I've seen so many people claim that languages like Java don't "leak" memory. It's certainly possible to have a dangling reference that prevents garbage collection.
You don't get away from the memory management issue in other languages, it's just a bit easier in some cases.
I think students should be taught a language like C or C++ without GC early on so they learn about memory management properly. By understanding what happens under the hood, they can appreciate garbage collection rather than assume every language has it. There's also a performance hit in Java and depending on what type of GC you're using in Java, it can cause latency or lag in applications. I've seen a lot of senior level developers create a lot of redundant objects and then wonder why the memory footprint of their app is terrible and why it seems laggy.
This goes back to the problems with modern education in CS: Lack of knowledge of memory management, thread management and basic operating system theory. When everything is a black box, how will they be able to debug or tune their applications when the need arises? I'm tired of having to explain how Linux allocates RAM to processes or why their node.js app is failing to scale.
Not to mention even in Java or .NET, you need to get in a pattern of opening and closing resources. What happens when they try to use JDBC? Why aren't my connections returning to the pool... I think the malloc/free or new/delete less is useful in other contexts.
Also things designed to force programmers to think like say python's weird whitespace rules actually detract from paying attention to more serious issues.
I agree with your point, but I don't think you could even get any real work done in C without understanding part of the memory management. In the case of your SQL example, that's more likely to have massive performance problems than a security vulnerability.
I don't think you need experts, but you do need people who are willing to look at best practices documents when working in a new language. That are books on writing secure C and Java code as well as various papers and sites with content. There's also projects like OWASP. Even if you don't know how to prevent SQL injection in say Java, you should be able to know what to google to find out because you're familiar with that class of vulnerability in your favorite language.
The C Programming Language
Design Patterns (gang of four)
Advanced Unix Programming
Code Complete
(any book on threading and parallelism)
Core J2EE Design patterns (was a sun press book)
Operating System Concepts (or Modern Operating Systems)
Mac OS Internals
This flat out isn't true everywhere in the US, particularly in small towns.
Compared to what?
8 tracks even sounded better than cassettes.
More like a tablet. Crappy mobile OS + bigger screen.
This. Redhat and centos releases are patched beyond the EOL date from upstream. The version number isn't enough to know if patches have been applied in these extended support OS.
They own cloud computing infrastructure that competes with AWS. They own redhat. They do consulting. They just sold lotus.
It is not like this across the US. Where I live, we're technically in the Detroit market but so far away that we only get 4 stations. If I were inside of detroit, I'd get more.
I went streaming only some time ago.
Intel's killing backward compatibility with UEFI 3 soon. They are not open source friendly.
There is a difference now. Intel has been stuck on the same process for several years. They're not innovating right now.
AMD chips are also more secure due to lack of meltdown issues. Both are affected by spectre of course.
Meltdown was never a problem on any AMD CPU. That's Intel.
Spectre affects Intel, AMD, Power, and even some ARM designs. It's unclear what mitigations AMD may have added but since these are based on Zen+ rather than Zen 2, it's likely the same as the more recent desktop chips (Ryzen 7 2700 and so on )
I created a seamonkey branch on github to try to get a newer firefox version to build on my OS. It's extremely complicated. Not to mention forks have to decide when to fork. Do you do pre quantum? Do you accept their rust language that isn't portable?
I chose code that's roughly equivalent to firefox 52 ~ because it doesn't completely depend on rust at that point. It's not easy to work with. webkit is much easier to deal with. The build system is clunky. It's very particular.
Browsers are hugely complicated. In order for this to work it would need to be a real fork not a distro like most chromium clones (opera, vivaldi, etc) and they'd have to embrace smaller open source projects too. The latter is to build a following and contributors. Most of the smaller OS projects need a working browser!
That's harder than it sounds. Nearly all open source software written in C++ is moving to newer standards fairly quickly. You have to use newer compilers. Some of those aren't well tested anymore in 32bit environments. Things break. Data types aren't set properly.
Most people expect modern web browsers and other software to continue to work. No OS project could guarantee that at this point. Unless we get a firm yes from Mozilla or Google, there will be no browser support soon. Even then, it's likely limited to one OS.
I get a lot of crap from people because I've had so much trouble keeping newer browsers going on my OS. They are massively complicated. It's as complex as OpenJDK, OpenOffice/LibreOffice, or KDE to port. I don't think people realize how big they are.
I haven't killed 32bit support because it's still quite popular, particularly with south american users. However, it's getting harder to maintain. I run it in a VM at this point usually 2GB ram and 2 cores because anything less is impossible to work with. It takes too long to compile software otherwise.
If an OS is targeting desktops, most of them have at least 4GB of RAM and a 64bit CPU now. Even 8 year old hardware is mostly 64bit aside from some netbooks. You can't run a browser with less than 2GB of RAM these days and have a good experience. Servers are another story. You actually have to target less memory usage there because of AWS EC2 sizes. Even smart phones and embedded devices have more ram than t2.micro/t2.nano EC2 instances now.
My logic is if it's got less cpu and ram than a cell phone, it's probably not worth supporting.
A door i can close would be a big help in cutting down on distractions. I'm lucky if i get over an hour without interruption. It's hard to get a lot done like that.
I've never had my own office. Last job was an open floor plan. I hate those. Now I've got cubes to deal with. They don't help a lot with noise.
There isn't much of a difference! In both cases, microsoft software was used. In both cases, sys admins had access to the email that did not have appropriate background checks, etc.
Whether the server is in the basement or in a data center, it's equally hackable.
You mean 2 channels. I can reliably get 2 channels over the air. On a good day, I might get up to 4. The weather has to be really nice.
Edge is decent at rendering web pages. However, a few misconfigured network settings and it can't even load pages on some networks. If you allow "discovery" on networks behind pfsense, it can't work properly.
The other issue is that it has far less ad-ons than Firefox or chrome.
Finally, Opera is Chromium. Chrome is Chromium. They are the same browser with a different UI. It's all blink.
It's basically IRC with a few extra features, better file transfer, audio chat/screen sharing, easy ways to share code snippets and lack of compatibility with all operating systems. For people that don't know IRC, it's amazing.
It also supports bots and integration hooks that tie into things like jira, jenkins and other tools.
Blame crytpo currency. While the demand is dying on that front, it proved to NVIDIA and AMD that they can charge more for graphics cards and get away with it.
You were very careful to say dedicated multiple times. Two factor auth does protect accounts from "random" brute force password attacks. It has some value.
I second this having upgraded from a i7 4770 to a Ryzen 7 1700. Virtualbox doesn't work well on them, but everything else I've tried has been great.
Apple has something for mail. That doesn't really help you, but configurations can follow you to some degree between devices. It's not 100% though.
I wish a little more time would be put into Thunderbird or Seamonkey. Neither works well on 4k displays yet. It would also be good if there were thunderbird on more platforms. It's the closest thing we have to a cross platform mail app.
GNUMail would also be ok, provided the crashing bugs with IMAP would be fixed.