5,614 karma · joined January 2, 2011
http://en.wikipedia.org/wiki/Ltrace
> ltrace is a debugging utility in Linux, used to display the calls a userland application makes to shared libraries.
This is useful because strace can completely ignore the information you really want. OTOH, ltrace doesn't provide information that's as pretty as what strace shows, because ltrace doesn't know as much about the functions it's showing you. This means arguments passed as pointers will be shown as pointer values, functions will occasionally be shown as taking the wrong number of arguments, and enum values will be shown as ints.
ltrace also can't show function calls to functions in statically-linked libraries, because it hooks into the dynamic loading mechanism.
case (tryParse s) of
Just n -> putStrLn "Parsed " ++ (show n)
Nothing -> putStrLn (s ++ " was not an integer")
Nothing is a very convenient little concept: It's a value which isn't a 'legitimate' value in any context. It's always a flag value. In C, for example, there's no way to have a flag value of type int in this context, because tryParse could conceivably return any value of type int as its legitimate result. It's also wonderfully conceptually clean: The function either just returns a legitimate value or it returns nothing legitimate at all, and you always know which it did. The point is, however, it only returns one value, and doesn't rely on any out-of-band communications through errno or similar.If you want to get fancy, you can use the Either monad. This can allow you to say why a parse failed, for example:
case (tryParse s) of
Left n -> putStrLn "Parsed " ++ (show n)
Right m -> putStrLn "Parse of " ++ s ++ " failed because " ++ m
In this case, tryParse would have the type: tryParse :: String -> Either Int String
The point here is, you still only return one value, but they can be either of two different kinds of value, as distinguished by being tagged either Left or Right, and can even be different types. Again, one value, no out-of-band signalling.And, of course, Haskell has tuples. You can do interesting things without them, however.
Forth functions (or words, if you insist) can return multiple values as easily as they can return a single value, but the stack metaphor makes this a lot more natural. This is also true of Joy and RPL and other languages which are conceptually organized around mutating a (notional) stack. Multiple return values only become unnatural when you choose an abstraction other than the stack.
I mentioned two: Python and Java.
In general, I mean any language where the runtime only hands programs valid pointers and the language doesn't allow pointer arithmetic. This means it's possible to guarantee that pointers will only point into objects that can be validly accessed by the code which holds those pointers.
This is generally done to make garbage collection easier, but it can be done to implement security policy: Basically, if your security policy trusts a given runtime, you can use that runtime to enforce access policies on objects of all kinds, including memory.
The solution is to make everyone only write code in languages which use a runtime that controls memory access better than the OS can. Python or Java, for example. Failing that, relying on the OS is the safest way, and the simplest, most secure way to do that is to keep GPG in its own process.
The worst forms of bias and discrimination are unexamined, because they can fester and influence thought and action without ever being questioned. It's difficult to argue someone out of a position they don't even realize is a position that is up for argument.
http://devopstom.com/blogish/gwan-snakeoil-beware/
Not very positive.
Previous discussion on HN:
https://news.ycombinator.com/item?id=4109698
Contains this little comment by me:
https://news.ycombinator.com/item?id=4109804
> From the site (which seems to disallow copy-paste):
>> The next time someone feels the need to publicly call G-WAN's (1-page) license "weird" or "insane", look at what they sell and who they get their revenues from. Unlike for G-WAN, what they offer is not free for all.
> They have redefined the word 'free' into a fine mist if they expect you to believe Apache and nginx are not free. They're doing something I've seen done before; oddly, it was mainly being done by Usenet trolls.
All primates have vocalizations of some kind. All apes have fairly complex vocalizations. Humans are an extreme case, but we're not entirely sui generis; it's pretty well guaranteed that any species recognizable as proto-human would not be courting in complete silence.
All truth in advertising laws are about 'pure semantics' if that's how you choose to refer to those kinds of distinctions. That doesn't make truth in advertising any less important.
Except if you do this, you can't really say you're segregating by gender or by sex. You have to say you're segregating by learning style, which isn't what the article's about.
> Come on, real men do not use macros.
The sexism and historical ignorance in this sentence are in a race to see which can be more breathtaking.
Regardless of which wins, meshko will look like a complete fool to anyone who knows what they're talking about.
Wonderful question. Really. I just have two things which will make it more effective:
1. The preferred term is 'intersex' now. I know, but using the word everyone else is using makes people less likely to get angry.
2. Transsexual people are a broader category of people who will be impacted by what you bring up. The number of people who are born with an indeterminate sex (intersexed, that is) is a lot smaller than people with gender dysphoria, or feeling like they've been born into a body of the wrong sex. Trans people are still a minority, but they're a larger minority, and a more vocal one, so people are more likely to care about them. It's not the way things should work, but it's the way they do work.
BEGIN
I don't like single-sex schools because I don't think they promote healthy gender relations. I recall reading that boys at single-sex schools had much worse success in relationships.
I also don't like them because they're hell for trans kids. Your education record will out you because your school was single-sex, and you can't transition in school or at least daren't try.
But the needs of minorities don't matter, right?
The thing with girls being more likely to study science actually applies to me. I dropped Physics this year partly because of grades but also I didn't like the male-dominated environment. Had I been to an all-girls' school, maybe that'd be different. But I'm trans, so I'd be stuck at an all-boys' school. That'd be awful.
END
The sexism and historical ignorance in this sentence are in a race to see which can be more breathtaking.
Regardless of which wins, meshko will look like a complete fool to anyone who knows what they're talking about.
This is practically axiomatic in assembly language programming.
It's just not worth it to turn you code into what you'd need to turn it into in order to make it as small (or as fast) as it can possibly be on that specific version of that specific microarchitecture from that specific manufacturer, such work being undone by the next version of the hardware.
> AT&T syntax will always look weird to me
AT&T syntax is meant to be a generic assembly language syntax; it's supposed to look equally weird to everyone, regardless of what CPU they're writing code for. GAS will accept Intel syntax, or a somewhat heterodox variant thereof. NASM is the usual assembler of choice on modern x86 Unix-a-likes, I think.
> A little bit of candid swearing in the comments?
Hey, if the Linux kernel devs can do it, why not them?
Then I could be safe from lawsuits in Germany if I confined my evil acts to things that were about too little money for the lawyers to be interested in going after?
True for you, but not for everyone. One of the marks of growing up is realizing that your experience isn't universal.
In addition to what everyone else said, Walmart owns a market other companies don't seem to want: Poor people. Both Costco and Target go after a much richer clientele, and KMart, which is otherwise very similar, is dying. Walmart is the go-to one-stop shopping experience for people working one or more minimum wage jobs.
Related to this is the fact Walmart builds stores where other companies don't. As a result, Walmart owns some very rural markets nobody else is touching.
Edited to add: My point: Given the above, for Walmart, 'cheaper' is a necessary element for success. They're chasing a market that straight-up can't afford 'better'.
Empirically, this is not always the case.
Are jobs that pay less than minimum wage even offered to citizens or documented immigrants?
Didn't your wages go down as well?
It's complicated. It's more complicated than any encoding standard that came before. It's also the most broadly useful, and the first standard to really take into account the complexities of human written language, as opposed to just one region's written language.
There are probably multiple extant communities where such a thing could be started. SCP comes to mind for already having a mostly-coherent fictional universe in which such a game could take place:
Meh. My boss can't tell me how to live my life. My boss's authority ends precisely where I'm no longer doing what they're paying me to do.
My point is that, even in your simplified theology, there is still a lot of room for debates. And, in religion, debates turn into bloody warfare, because this is peace and love we're talking about, and peace and love really matter.