TDD only works in conjunction with thorough peer reviews. Case in point: at my place of work, code and tests written by an intern can go through literally dozens of iterations before the check-in gets authorized, and even the senior engineers are not exempt from peer reviews (recent interns are especially eager to volunteer).
> if doing GPL stuff use the open source license from ExcelsiorJET.
Thanks for mentioning our product, but I have to make a few corrections:
First, the Excelsior JET Runtime license is sadly not GPL-compatible. Also, you cannot use it to target embedded systems, unless you buy Excelsior JET Embedded and pay royalties, though we are currently weighing the option to switch to OpenJDK to eliminate the latter.
Second, the Standard Edition is free even for commercial use (the above limitations apply).
Finally, other editions are available at no cost for use in public non-commercial projects. It does not matter whether the (software part of the) project is open source or not.
Problem is, the God Folder dates back to Vista and it is the Windows 10 Creators Update that began setting that field to NULL. Apparently the author of that change did not foresee any backward compatibility issues.
The main difference however is that a binary produced by Oracle AOT is to a big extent just a pre-populated HotSpot cache, whereas Excelsior JET has been AOT-centric since day one. In practice that means that with Oracle AOT you have to ship both the native binary and the original class files to your customers, and with Excelsior JET you only ship the native binary, which makes reverse engineering your application more difficult.
I recall us being quite surprised when a customer survey had shown that IP protection is more important than application performance for many of our customers, even though it was just a byproduct of our optimization efforts.
Author here. Kindly (suggest where to) cross-post - I think it's important for the health of our industry that freeware authors and open source enthusiasts keep getting rewarded for their efforts. Thank you.
Some info for those that want to AOT Java without paying for it:
The entry-level edition of Excelsior JET is free (as in beer) since the end of August 2016. Licenses for the more senior editions have been available for non-commercial use at no cost for many years.
Low/zero cost is a benefit only if everything else is equal. Eclipse and Netbeans are free, yet people pay for IntelliJ IDEA. We use an expensive commercial GUI testing product because all the free and cheaper alternatives sucked big time, and support was either poor or non-existent.
I mean someone who can build support for your shiny new language and/or instruction set into GCC or LLVM and get their pull request accepted by the maintainers.
I am with a small company focused on compilers and managed runtimes (JVM), and I can tell you that _good_ compiler consultants are in high demand. For instance, I had a discussion with a CEO of such specialized consultancy looking for GCC specialists last year, and he said that LLVM engineers are even harder to come by.
I also see processor startups popping up all the time that need compiler/tools engineers badly.
Overall, I'd repeat what others have said: "save a lot and invest your savings wisely."
Just want to make one thing clear: in this particular case the request was to block a specific URI. It is the (smaller) ISPs that do not have a technology to block an URI and the (bigger) ISPs that do not bother to employ that tech who block entire sites by IP addresses.
Just specify on your freelancer's profiles that you are available part-time due to "other commitments". Not all prospects are looking for full-time workers.
Have your CV edited by a professional editor. I have seen this working wonders - from no responses to competing offers from two top companies in the field. Editing is so cheap compared to its potential effect on your entire lifetime income that it has a good chance of being your best ever investment.
When I don't hear back from someone within a reasonable time frame, I follow up with a short email asking if my previous email about this and that was received. If I do not get anything back either within a day or two, I call with exactly the same question: "I sent you an email about <subject> on <date> but have not heard back, so just want to make sure it found its way to your inbox". More often than you would think the person I called would either find my emails in their junk folder, do not find them at all, apologize for overlooking them, or apologize for not replying sooner. (And sometimes they would say they replied and I would find their replies in my junk folder.)
Excelsior guy here. Actually, Excelsior JET is a proper AOT compiler. That is, a developer or build enginer runs it on their workstation (build server) and then ships a native executable to the end users. We used to have a caching JIT, and even an option to recompile the cache into a single binary, but concluded it is not worth the hassle, and deprecated it last year.
Most of the Java security issues only affected applets, not standalone apps. And the larger and the more sophisticated a standalone app is, the less desirable is running it on the system-default JRE.
When buying a cup of coffee, I am normally pretty sure that I am going to get a cup of coffee that I will enjoy to a certain extent.
When buying a mobile app, I may be buying myself a waste of time. Which is double loss.
Most, if not all, of the mobile apps I've bought so far either have free Lite companions or come free with an option to unlock all functions via an in-app purchase.
Out of all those graduates, the number of which we are told is 2-3x the number of open positions, are really qualified to fill in those positions? Passionate about their field of study? Intended to get a job in that field in the first place, as opposed to getting a degree in something they can (afford)?
Our own experience is that even internships do not always yield good results. And the level of most applicants, many of whom are recent graduates, makes me sad. They manage to find work at some other company in the end, but only because we are in IT and IT is big at our place...