HNHacker News
TopNewBestAskShowJobs

cremno

2,647 karma · joined March 24, 2012

submissionscomments
cremno··on GNU/kWindows
>GNU/kWindows is a better name for the resulting OS

What's the issue with “Ubuntu” so that it needs to be dropped completely? The article only contains:

>It would also be best if you avoid calling it “Ubuntu on Windows”; it isn’t a factually incorrect statement—you are running Ubuntu’s distribution of GNU—but it still avoids mentioning the GNU Project.

cremno··on GitHub doesn't show search field unless you sign in
Or “repo:”: https://github.com/search?l=&q=repo%3Atorvalds%2Flinux+fuck&...
cremno··on C – Preliminary C2x Charter
Do you really consider it an invention? I think they mean inventions done by the committee (like <locale.h>). ISO C++ has this feature. And so does GNU C via the __auto_type keyword (GCC 4.9 and clang 3.8). History is there but I doubt it's commonly used (in C yet).
cremno··on C – Preliminary C2x Charter
http://www.open-std.org/jtc1/sc22/wg14/www/docs/PreLondon201...

>N2012 2016/03/10 Sewell, Clarifying the C Memory Object Model

>N2013 2016/03/10 Sewell, C Memory Object and Value Semantics: The Space of de facto and ISO Standards

>N2014 2016/03/10 Sewell, What is C in Practice? (Cerberus Survey v2): Analysis of Response

>N2015 2016/03/10 Sewell, What is C in practice? (Cerberus survey v2): Analysis of Responses - with Comments

cremno··on MSYS2: Arch Linux on Microsoft Windows
Correct. The title is definitely misleading. The linked website doesn't even mention Arch Linux at all.
cremno··on Ask HN: Does HN move too fast for 'Ask HN'?
>One solution would be to give them their own separate 'new' page.

It's not exactly that but https://news.ycombinator.com/ask exists.

cremno··on Deciding to rewrite getaddrinfo in rust
The author is Rich Felker (the musl developer).
cremno··on Scandalous Weird Old Things About the C Preprocessor
There are also so-called computed includes (IB instead of UB though):

https://gcc.gnu.org/onlinedocs/cpp/Computed-Includes.html

    #define SYSTEM_H "system_1.h"
    ...
    #include SYSTEM_H
cremno··on The history behind the decision to move Python to GitHub
That blog post contains three paragraphs discussing that: http://www.snarky.ca/the-history-behind-the-decision-to-move...
cremno··on Integer overflow in glibc strncat
A very early version. Among other differences the functions don't care about RSIZE_MAX (even though newer VS versions define and use rsize_t). However the Windows SDK contains <strsafe.h> which does limit the length of strings (STRSAFE_MAX_CCH).

https://msdn.microsoft.com/en-us/library/windows/desktop/ms6...

cremno··on C preprocessor expressions
It's short for floating point: https://en.wikipedia.org/wiki/Floating_point
cremno··on C preprocessor expressions
0.5f is a float_ing_ constant and has type float.
cremno··on Pledge() – a new mitigation mechanism in OpenBSD
Yes. From the second page:

>- formerly known as tame()

cremno··on Ad Blockers Are Also Changing the Game for SaaS and Web Developers
>Also worth noting that I don't think EasyPrivacy is on by deafault in uBlock.

It is. See the readme: https://github.com/chrisaljoudi/uBlock or https://github.com/gorhill/uBlock

cremno··on Rubinius, Inc. – A Benefit Company
Thanks! That's good to know. I'm familiar with these articles but they didn't mention that. In fact part 5 says something entirely else about X vs. 3.0.
cremno··on Rubinius, Inc. – A Benefit Company
Well, there is the over 2 yo Rubinius X announcement:

http://x.rubini.us/

I have no idea what happened to it or if it's even still a thing.

cremno··on Ruby gaining a safe navigation operator: '.?'
Ruby inherited this from Scheme (and I prefer empty? over isempty or emptyp or variations thereof). They return truthy or falsy values and not true or false (the is* macros/functions in C only guarantee zero and nonzero as return value either).

>AFAIK the general practice is to use ! for methods that perform a mutation in-place The ! suffix is rather loosely defined as it just means the user should be cautious/the method might have "dangerous"/surprising behavior.

Your description is usually correct but only when a non-suffixed version exists and not even then the behavior has to match your description. There are also a lot unsuffixed mutating methods. See also Kernel#exit vs. Kernel#exit! (immediate exist/exit handlers aren't called) or Tempfile#close vs. Tempfile#close! (close and unlink).

cremno··on Living with Microsoft C++ Compiler Bugs and Ambiguities
Making their preprocessor compliant with (modern) C and C++ standards is on their roadmap though (and two-phase lookup is too):

http://blogs.msdn.com/b/somasegar/archive/2014/06/03/first-p...

Also (nowadays) MS admits that their implementation of __VA_ARGS__ isn't compliant:

https://connect.microsoft.com/VisualStudio/Feedback/Details/...

cremno··on Tame() – bad kitty, no socket for you
http://www.tedunangst.com/flak/post/string-interfaces
cremno··on Losing a credit card due to automatic user behavior
Google has it cached:

https://webcache.googleusercontent.com/search?q=cache:AUPocA...

cremno··on Mozilla fixed a 14-year-old bug in Firefox, Adblock Plus uses less memory
Uninstalling uBlock, installing and setting ABP up takes less time than temporarily or even permanently disabling the blocking of SF by simply clicking on a button?
cremno··on Show HN: %%30%30: A Game
Poor CloudApp Support:

https://github.com/szhu/3030/issues/3#issuecomment-141854443

cremno··on An Interview with Brian Kernighan (2000)
From “UNIX For Beginners” (2nd ed., 1979) written by him:

>The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.

However the previous sentence is:

>The debugger adb is useful for digging through the dead bodies of C programs, but is rather hard to learn to use effectively.

cremno··on System XVI: A replacement for systemd
1. naming conventions are unusual and inconsistent (List_destroy but then there's destroy_svcs_list)

2. the return value of malloc() et al. isn't checked (http://www.etalabs.net/overcommit.html)

3. the register storage-class specifier is used multiple times (mainly lib/s16db/translate.c)

4. function declarations are missing a prototype (() instead of (void))

cremno··on SoftICE: a kernel mode debugger for Windows
>Ollydbg2 […] supports all the 64 bit registers and x86-64 instruction set.

No, it doesn't yet. We have to wait for OllyDbg 64 (http://ollydbg.de/odbg64.html).

cremno··on The original Unix init system (1972)
The history section in this man page is correct. Relevant commits in chronological order:

usr/include/fstab.h: https://github.com/dspinellis/unix-history-repo/commit/fd4f9...

usr/skel/etc/fstab: https://github.com/dspinellis/unix-history-repo/commit/fd4f9...

usr/man/man5/fstab.5: https://github.com/dspinellis/unix-history-repo/commit/8591f...

cremno··on The original Unix init system (1972)
Reading man pages and hoping they're correct:

http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/...

>The fstab file format appeared in 4.0BSD.

cremno··on “People who implement new and improved interfaces always seem to get that wrong”
>the strn* versions that required you to manually terminate the string when it hits maximum length

This is from the description of the not-easy-to-use strncat():

>A terminating null character is always appended to the result.

So your statement is only true for strncpy(). Unlike many other C functions it doesn't deal with C strings (null-terminated character arrays), but rather with fixed length and possibly null padded character arrays. People are just misusing it for some false sense of security. It may seem strange but snprintf() is the only secure string copy function defined by ISO C99.

cremno··on Unix Recovery Legend (1986)
Somewhat. Those are/were actual email addresses. It's just another kind of email (UUCP/Usenet instead of SMTP):

https://en.wikipedia.org/wiki/UUCP#Mail_routing

cremno··on Fix Windows 10
>They seemed to be able to improve their services before.

Before what? These are no new features.

← PreviousPage 2 of 7Next →