A story of doing the right thing for abandoned (and wannabe abandoned) packages
HN user
helmut_hed
Incredible contributor in both technical and organizational ways. And nice as hell too.
There are a remarkable number of people attending our Emacs meetup who are under 30. I wouldn't believe it if I hadn't seen it myself.
I used https://github.com/millejoh/emacs-ipython-notebook at one employer and it works quite well for Jupyter. Of course Org is great but if your coworkers are unfamiliar it's probably a non-starter.
Re: the C code, Emacs will happily let you ignore your own config settings. Just turn off anything labeled "electric" and nothing will happen automatically. And don't press tab, that will reindent the current line.
You definitely needed to be on evil-mode or a framework (like Doom) based on it. The key bindings with ctl, alt, etc. are the least important part of Emacs but sadly, the part everyone thinks of first...
This really captures the power of Emacs for people with Lisp skills. For coders with strong habits of high-level thinking it's a real force multiplier. Why shouldn't we apply the same analysis and effort to our productivity tools we do to our "output"?
It is probably easier to write correct concurrent code now, thanks to the new features he mentions. However, as always plenty of rope is provided, and the old programs are still valid (and have the same semantics). I couldn't say how it compares to Rust, but "better now" seems pretty accurate.
Presumbly it is the American ones (such as myself) being referred to - separated from their relatives by more than a century and a half https://en.wikipedia.org/wiki/Scotch-Irish_Americans
Git submodules work pretty great for this IMO. Rather than incorporate a snapshot of the source, pick a commit hash. Still frozen at a point in time, but you get to move which one you're using (or point to your own fork!) whenever you like.
I certainly like Jetbrains, but is it a "unicorn"? I doubt it has a billion dollar valuation - not least because it is a private company.
I doubt anyone is willing to pay 2x performance for their C code to be more friendly. If they were, why are they writing in C?
To me this is the fundamental issue with the friendly/boring C proposals. The whole reason to use C/C++ anymore is for performance, in return for which you are responsible for certain things - like using only defined behavior.
If you are writing e.g. crypto code, why not use a higher level language that provides more checks and guarantees, and is generally easier to reason about? Or segregate the performance-critical "engine" type code into C++ and use something higher level for everything else?
A commercial product covering similar territory is UndoDB http://undo-software.com/undodb/
In this case, and many others, Google's code style guidelines are controversial...
Have you used Boost.Fusion? This looks very much like BOOST_FUSION_ADAPT_STRUCT and seems to have similar design goals
I do love war stories, but I think the OP has missed something:
After the meeting one of the managers told me that it was really our job to come up with projects that the customer wanted to buy, not the other way around. And it usually couldn't just be a general project for minor improvements, it'd need clear and ideally measurable goals
I think the OP has misunderstood the nature of consulting. This is exactly what needs to be done to convince X to spend some of their cash on having Y do work for them. You need to make a business case, with concrete duration, cost, goals, and benefits. That this system is a mess is really not in dispute by anyone... but no one will pay to improve it "just because".
Because properly handling overflow if you're using signed values involves UB, it's super hard to get it right. Even Apple has struggled with it: http://www.slashslash.info/2014/02/undefined-behavior-and-ap... If you get it wrong you can also see your program's behavior change with the compiler optimization level, which is incredibly frustrating (and causes a lot of "the compiler is buggy!" beliefs).
For anyone who is curious about the intended use of exceptions in C++ I recommend Jon Kalb's two-part tutorial on exceptions from CppCon 2014. First video is here: https://www.youtube.com/watch?v=W7fIy_54y-w
Compiling with exceptions turned off is highly unusual. If you do that, you're not really writing C++ anymore, as it's a fundamental part of the language. Exceptions are the mechanism provided for indicating that it was impossible to construct an object, and to trigger appropriate cleanup actions.
I'm curious about that last bit. I occasionally hear this argument that size_t being unsigned is a bad thing. Presumably the standard library designers would claim that a size cannot be negative, so this is appropriate. Why, in your view, should that be a signed quantity?
The Google guidelines are... somewhat out of sync... with the intended use of language features as described in the Standard and the recommendations of people associated with it. They seem to take as a starting assumption that the language is misdesigned and major parts of it should simply be avoided or used in unintended ways. If you agree, it's a perfectly fine guide. Otherwise, I'd recommend reading any of Scott Meyers' or Herb Sutter's books and following their advice.
I tried to find you on Twitter, and it corrected my search to "mantronix". No joke. Anyway thanks for sharing your code!
Can you elaborate on the "significant performance impact"? If used properly, they should have no runtime overhead - they are predicted "not taken" in modern compilers.
There's no better place to start than Alexandrescu's eponymous Modern C++ Design http://www.amazon.com/Modern-Design-Generic-Programming-Patt.... Scott Meyers will soon come out with "Effective C++11" which from the table of contents looks like it will do a great job of covering the new language features.
As for coding standards, I suggest a book by the same author plus the current chair of the standard committee: http://www.amazon.com/Coding-Standards-Rules-Guidelines-Prac.... Another commenter has suggested the Google C++ Coding Standards, but despite their popularity they do not conform very well to "Modern C++" as I understand it.
And with Uber X, it's even cheaper than cabs sometimes...
I thought it was fairly balanced, and anyway the author is one of Those Damn Millenials.
Compiler/library support for C++ is much less complete(standards were published in 1998, 2003 and 2011, and none are completely implemented in any compiler)
Clang begs to differ on that point http://clang.llvm.org/cxx_status.html
and gcc claims to implement "all of the major features" so you may be right on that one http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
At any rate C++11 features are quite well supported IMO. Even VC++ is catching up.
You can read the founder's response to the disclosures on Twitter https://twitter.com/MikeSuppo
I just started working at a place where size_t is being cast to "int" all over the code, with similar reasoning. Thanks for the ammunition.
Are tax liens different from other kinds? It's my impression that if e.g. a lender repossesses, they sell the house, pocket what you owe plus fees, and have to give you the rest back. It's strange to think it would be different for unpaid property taxes. Was Coleman truly "left with nothing" or did he get a portion of the sale proceeds?