HNHacker News
TopNewBestAskShowJobs

femngi

57 karma · joined October 9, 2011

submissionscomments
femngi··on Help My Boyfriend Is an Internet Troll (Part 1)
It's concerning because it reveals something about the way he views other people. There's an old saying that you should carefully watch how your date treats the waiting staff because that is how they will treat you one day.

The fact that Internet trolling has become commonplace doesn't make it acceptable. I don't say that just because it damages the emotions of the victim but because it tends to warp the minds of those that perpetrate it.

To the OP I would say that she should be extremely careful in trying to tackle this herself which is what she sounds like she is trying to do. I wish the best for both her and Chris.

femngi··on What is a core dump and how do you parse one?
How does this Backtrace file format differ from Microsoft's Minidump format which is also used on Unix as part of Breakpad?
femngi··on Porting LibreOffice to GTK3 [pdf]
Honestly I would like to know what the overhead is in continually maintaining a custom cross platform UI toolkit for one application is versus just rewriting the UI using an existing framework like Qt. It seems like an awful lot of effort must be duplicated here.
femngi··on Functional Programming in C++ (2013)
It really irks me that the std algorithms library seems to have been designed without any consideration for usability given how much I would love to rely heavily on the generic algorithms it contains. For example consider the simple task of testing to see if an element exists in a container:

    if (std::find(container.begin(), container.end(), element) != container.end())
My fingers are now cramping and my eyes are crossing trying to read that. It beggars belief that overloads don't exist which take an entire range which is all I want to do 99% of the time.
femngi··on That Debt from 1720? Britain’s Payment Is Coming
It was my understanding that despite cutting their budget deficit spending has actually increased substantially in GB over recent years.
femngi··on The Unreasonable Effectiveness of C (2013)
Rust is aiming more to be a better C++. However that doesn't preclude it from being used in the same space as C and can become impressively lightweight if you forgo things like the standard library.

I would argue that it is better than C for its safety features alone. I hope in the future we look back at this decade with its never ending stream of buffer overflow vulnerabilities with disbelief that we could use something so insecure for something so vital.

femngi··on On Linux, 'less' can probably get you owned
It's not just about native vs interpreted though. Most of those languages use garbage collection for memory allocation which is still going to be an unacceptable performance hit for most of the domains where C and C++ are still in use.
femngi··on Functional Programming in C++
Since it is a template you could always use universal references to avoid copying where not needed:

    template <typename Collection,typename unop>
    void for_each(Collection&& col, unop op){
      std::for_each(col.begin(),col.end(),op);
    }
I'm happy to see more people reading Bartosz, I find his blog very interesting. One point to emphasise about that particular post is that the proposed range library he discusses is already available today, and has been for some time, in the much overlooked boost.Range library.
femngi··on Duck Programming Language
I have to ask what this language is trying to provide that isn't already provided by lua or python when it already looks almost identical to them. Has it got an end goal that I cannot see or is it just being done out of an interest in programming languages?
femngi··on C++11 use in Chromium
The definitive introduction to C++11 is probably 'C++ Primer 5th edition'. It covers stuff other than the new features but everything is described as it should be done in C++11/14.
femngi··on C++11 use in Chromium
Stuff like this makes me really regret being a C++ developer. Companies and projects are adopting new features at a glacial pace and yet the programming world is still moving forward and it feels like despite the best efforts of the committee and the compiler teams C++ is doomed to continue being a 'legacy language' as companies either continue migrating to C# or sticking with C++98.
femngi··on The C++14 Standard: What You Need to Know
That's not a C++ community convention, it's just another bone headed part of the Google C++ coding standards. It's stupid because now everything is potentially nullable and every single function will start with:

    if (!arg1 || !arg2 || !arg3 ...) {
        what_I_should_do_here_isnt_really_clear();
femngi··on Linux Debuggers for C++ Reviewed
It's frustrating reading about this and seeing that it makes all the same mistakes as all these other gdb frontends that make them impossible to use with the standard library.

What the hell is this https://people.gnome.org/~dodji/vids/variable-tooltip.ogg ? It's supposed to be showing off how amazing the inspect variable tooltip is but I still have to dig through a veritable warren of template members just to find the underlying value. At least tell me I can write and install my own pretty printers if needed.

femngi··on VisualRust: A basic Visual Studio extension for Rust
Never mind working with other languages, it's a problem just linking between different compiler versions.
femngi··on Evolving a language in and for the real world: C++ 1991-2006 (2007) [pdf]
Yeah, I'm just going to go ahead and disagree anyway. Not only are they a poor structure for flow control they are an inefficient and slow one too, as Andrei mentions in his 2012 talk on expected<T>, a talk which also nicely illustrates the shortcomings of using them for their intended purpose as error handling.

In fact exceptions as implemented in C++ has to be one of my last favourite things about the language. They are an all or nothing proposition and yet were put in half heated and unchecked. Many years later the result I see is some or most programs have a catch(...) at some high level. Something went wrong, who knows what, can't even set the debugger to break at exceptions because they're being thrown everywhere all the time for flow control.

femngi··on Space Monkey dumps Python for Go
C++ isn't exactly a new language but has also had type inference for a few years. I think people still think of C++ as that dusty old thing in the corner and forget that it is actually capable of a lot of the things users of these new languages get excited about.
femngi··on Dangerous Embedded C Coding Standard Rules (2011)
I have to strongly disagree with your example. In fact I feel it may just be one of the worst usages of macros I have seen in that you are hiding the control flow of the program and thus obfuscating your code for other programmers. It might be easier for you to read because you wrote it but for every one that comes after you it will be a massive pain that adds unneeded additional cognitive overhead.

I say this from the point of view of someone having to debug your code: "OK so step, step, step, run to this line... wait, what? How did this function return when there is no return statement? Let me run that again from the beginning... ... ... What? This ASSERT macro doesn't actually assert it just returns?"

Keyboard out window etc.

Please stick to language conventions. Macros are bad because they hide what the code is actually doing.

femngi··on Ubuntu 13.04: Getting Excited About Ubuntu Again
They fixed Alt-Tab when I had never before realised it was broken. The new paradigm just makes so much more sense: Alt-Tab switches between applications and Alt-` switches between individual windows of that application.

When I have to use a desktop without this functionality I am now painfully aware of how cumbersome and slow the old behaviour was when I have plenty of windows open.

femngi··on How can one manage thousands of IF…THEN…ELSE rules?
Can you explain you think Genetic Programming is unsuitable? I honestly can't see why you think it wouldn't work.
femngi··on Draw Something Loses 5 Million Users a Month After Zynga Purchase
One horrendous bug me and my friends came across with infuriating frequency was that the game would randomly change the word with another one of the same length when asking you to guess it. Effectively making it impossible to win unless you went through every possible word in the dictionary.

Needless to say I don't play any more.

femngi··on Google Awarded Driverless Vehicle Patent
Stuff like this makes me twitch. Why are researchers so keen to have my car controlled by radio tags? The potential for abuse is seemingly never discussed because I feel that admitting it will kill this idea stone dead, as it should.
femngi··on PyPy's future directions
You should read http://www.scipy.org/PerformancePython if you haven't already seen it since it deals with the performance of nested loops. The only issue I guess would be portability, for example to PyPy.