HNHacker News
TopNewBestAskShowJobs

smosher_

191 karma · joined September 16, 2014

submissionscomments
smosher_··on Classic NES Series Anti-Emulation Measures
That's fair. I had been assuming you'd use ITCM for tight loops regardless but I can't recall whether you can do that on GBA now that I think of it.

As for copying data around, yeah, if your emu can't copy data to/from VRAM in a sensible manner it's just not going to work out.

smosher_··on Classic NES Series Anti-Emulation Measures
Some of these are definitely deliberate.

#1. The memory mirroring is IIRC a normal part of the hardware involved. Executing mirrored code? I can't think of a good reason to do it other than to trip someone up.

#2. You might do this in earnest, but only if you're decompressing the code or otherwise generating it and just can't stick it in main RAM. GBA ROMs make up part of the global address space. There's simply no need to copy existing code around.

#3. I'm not familiar with it enough to comment. Sounds like it could be innocent.

#4. Seems unlikely you would include an unnecessary code path, and then intentionally kill the game if it happened to work. This is actually your typical anti-debugging technique: trick the environment into to doing something you can detect, then disable.

#5. Prefetch games usually combine the detect and disable steps mentioned in #4. #1 and #2 are also related. This is a good contender for "oldest trick in the book."

#6. Probably a bug.

Source for GBA-specific stuff: http://problemkaputt.de/gbatek.htm

smosher_··on Copy protection scheme that was used for Dungeon Master on Atari ST and Amiga
> it's definitely an asymmetric game.

This. The crackers have to deal with whatever measures were taken by the authors. On the other hand, the authors have to deal with all of the measures available to everyone interested in cracking it.

smosher_··on Where Smalltalk Went Wrong (2004)
I think you misunderstand. The Smalltalk is this:

    exampleWithNumber: x
    "[ *wall-of-text elided* ]"
    | y |
    true & false not & (nil isNil) ifFalse: [self halt].
    y := self size + super size.
    #($a #a "a" 1 1.0)
        do: [ :each |
            Transcript show: (each class name);
                       show: ' '].
    ^x < y
I'm talking about an Io equivalent of the "Syntax In a Postcard" link provided above, partly reproduced here for convenience. What the code does isn't so important as how much of the syntax it covers.
smosher_··on Where Smalltalk Went Wrong (2004)
I don't find Smalltalk's syntax bad per se, but I think there's too much of it. When I see it, my eyes glaze over. Not because I don't understand the concepts behind what is being represented, but because I have a hard time getting a handle on the shape of things.

It's a matter of familiarity, and while I've spent some time looking at the object model I haven't written a lot of code in it. So perhaps that complaint is only really valid for newcomers. On the other hand, I still think it's a bit convoluted since a language like Io can express much the same stuff with less. The postcard version is something like:

    Object setSlot("foo", 12);
That demonstrates the entire informal BNF description at http://iolanguage.org/scm/io/docs/IoGuide.html#Syntax-Expres...

That doesn't account for [] and {} being translated to messages (with their contents as arguments) or for the infix operator stuff (sends the operator message—eg. +, xyzzy, etc.—to LHS with RHS as the argument) which also has precedence. Aside from that there's nothing much going on. Everything except infix operators always look like like regular message sends unless you're using a DSL. I think that's shat Smalltalk ought to look like, since that's what it's trying to be about.

Edit: Before anyone gets the wrong idea, I don't mean Smalltalk should look like Io, but that it should have little more shape than looking like message sends.

smosher_··on Computer Language Benchmarks Game – Rust vs. Go
The unsafe calls to C all seem to be in the gmp^H^H^Hpidigits benchmark. It's unrealistic to avoid gmp in this scenario.
smosher_··on Rust, an Anti-Sloppy Programming Language
I feel like that misses the point. Anyway, there's no point in arguing it I guess.
smosher_··on Rust, an Anti-Sloppy Programming Language
In that case it sounds like a difference of opinion. I'm not sure what is meant to be undesirable about do-notation when the alternative here is an unnecessary early return, which has always rubbed me the wrong way to be honest.
smosher_··on Rust, an Anti-Sloppy Programming Language
> How would HKT help with this?

> If unwrap() works for you, why not use the try! macro [...]

I was under the impression that the whole `try!` situation would become nicer with HKT. It wouldn't solve the problem you've identified, but wouldn't it make the code nicer (in some peoples eyes at least)?

(Edit: formatting.)

smosher_··on ARMv7 vs. x86-64: Pathfinding benchmark of C++, D, Go, Nim, Ocaml, and more
I wish there was more substance to the Rust section. Most of it is in strike-out and the remaining text has more to say about how you would do things in OCaml than Rust.
smosher_··on Narrowing the notion of a runtime in Rust
Yeah, I'm just trying to describe the above poster as reasonable before other readers jump on the opportunity to white-out the comment for no good reason.
smosher_··on Narrowing the notion of a runtime in Rust
Fwiw I think we were all disappointed when all that work and attention on a promising mechanism for having it both ways ultimately came to nothing.
smosher_··on The Slate Programming Language
No argument here.

The problem I have in practice is images are so often lacking, or they start you off with an alien universe full of preconceptions rather than just a collection of tools. This isn't an inherent problem, but it seems to show up half the time or more.

I want to like images, but I think what I really want is a system that has a fully functional base state with a good image that can be (and usually is) loaded at startup. I guess that might get in your way if you're worried about optimal performance.

smosher_··on The Slate Programming Language
> Image-based bootstrapping was useful, but too monolithic.

I feel that. I have no problem with images in theory, but history has made me flinch at them.

> As it is, I'm disillusioned with the open source and software research fields

That's a shame. Open source is very diverse... I hope you have better experiences in the future.

> You may as well AMA.

Awesome. What do you think of Io? — http://iolanguage.org/

I'm asking because I rarely ever hear PL people talk about Io.

I'm also curious, was there a coherent design goal or philosophy behind Slate? Alan Kay is very clear about his values, I have a handle on what Io is about, and so on. All I'm getting from Slate is "better than Smalltalk" but is there something more specific to it?

smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
You describe me by directly contradicting my own statements. Now you're telling me I am lying about myself just so you can paint me as some particular kind of bogeyman? You could have had this conversation without me. Try accusing a mailbox of something as an outlet, perhaps? Or do you have a need to make people feel bad?
smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
> No, I was agreeing with his rejection of your post.

That's kinda nasty then, with the name-calling and all.

> The rhetoric you air is the damaging, poisonous kind that encourages disrespect to artists as living human beings because they don't martyr themselves.

That's bullshit. I've clarified myself, so you're now deliberately misinterpreting my words and presenting false choices. You can't tolerate a differing opinion and have to resort to namecalling and specious claims.

smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
I think you meant to reply to me. Let me clarify: I do think profit is great for motivating the production of art which is not a thing that I value in and of itself. I don't think it's best for the art. In fact, I find art that isn't produced primarily from compulsion valueless as art.

There's nothing wrong with asking for money for your art, but if you only got into it because you figured you could make money on it I'd rather you had no representation in the scene. Selfish? Yes, always, and I make no apologies. Nor should people asking money for their art.

Jerk though? For having an opinion—and not even trying to convince anyone of it? There are far better reasons to call me a jerk.

smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
> Then we don't live even in the same world. By taking into account how much people has the economical means to just "make music for the sake of it", I'd believe that a very small proportion of all artists actually don't seek profit for their work.

A few things. First, seeking profit doesn't mean its the motivator. Second, my meaning was that profit as the primary motivator seems to have a degrading effect on the quality of the art. By "best" I meant "best art" not "greatest quantity of art."

You can argue DRM all you want, I'm saying it's not relevant to everyone who cares about music.

smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
That is true but my point is: that's not the whole story. There are other solutions to be discussed. The point I'm making is that there is a way to care about music where DRM is entirely valueless.

I'm not saying you need to have to agree with my personal position on DRM or on music, but don't tell me I have to like DRM on flimsy circular grounds.

smosher_··on The Pomplamoose Problem: Artists Can't Survive as Saints and Martyrs
> > called for some sort of unobtrusive, universal DRM -- and if you care about music, you should too

> I don't see the reason for the downvotes.

Perhaps because this reads like "you have to want DRM if you care about music" with no supporting argument.

I don't believe profit is the best motivator for artists and much of the music I listen to (and all of the music I make) is made by unpaid producers. With that point of view DRM is entirely uncalled for. I'm not trying to argue that point of view here, just presenting it as a contrast to reveal the hidden assumptions in the assertion made above.

smosher_··on Yahoo Starts Prompting Chrome Users to “Upgrade” to Firefox
No kidding. (How is this even news?)
smosher_··on Rust 1.0: Scheduling the trains
I happen to have both editions handy. Some sub-sections seem to be 30%-50% rewritten. A big change is there are lots of graphics. 2e seems to be improved, but it's hard for me to estimate how much of an improvement it really is.
smosher_··on Why is every story on Uber Delhi driver raping a passenger getting instakilled?
You've lost me. Nobody described the South Park episode that way. Honestly I think you just want to be mad about something and you found a trigger.
smosher_··on Why is every story on Uber Delhi driver raping a passenger getting instakilled?
Which description are you referring to? I don't think anyone described that bit as humor. In the show it was used to portray how vile commercial sabotage can be, even to the consumer. The grave realization is that while the chosen situation seems hyperbolistic, it isn't—it's a real concrete possibility.
smosher_··on Why is every story on Uber Delhi driver raping a passenger getting instakilled?
South Park is a better show than you give it credit. They frequently explore serious issues in earnest and I have often felt the gravity of the message outweighs the humor in its presentation.
smosher_··on 24/192 music downloads are silly
Can't edit: on topic, accurate response -> downvotes.

Stay classy HN.

smosher_··on 24/192 music downloads are silly
> If we are comparing this to visual information, perhaps it would be best to draw parallels with video.

But it isn't. We perceive pitch more like we perceive color than how we perceive motion. "Motion" in audio is well below the frequency of pitch. Same goes for video really, but in video the framerate has nothing to do with the color, unlike how the sampling rate has to do with sound frequency in (cough most) digital formats. If color in video was sampled the way pitch is in audio, we would have framerates in the high terahertz range.

smosher_··on 24/192 music downloads are silly
The argument is fine for listening to a finished product but those absolutes in the post have some hidden assumptions that don't hold in all real-world scenarios.

That probably sounds like BS. Hear me out.

A common practice for DJs is to use special decks to DJ from iPods, or other digital sources (eg. regular turntables with timecode vinyls operating a PC.) DJing involves playback speed adjustment when there is a BPM difference between the two tracks during a transition. 192kHz is overkill for basic DJing and you'd probably be fine in the vast majority of cases with 48kHz, but if the DJ is a turntablist (scratch etc.), you want all you can get when going from zero to target speed—which is happening constantly. It sounds awful when consumer-grade¹ audio is used. As for the ultrasonics, filtering is the answer in this scenario. It may be quite a good thing for these DJs (and their fans) that Apple is doing this. (I'm not under the impression that this is why they're doing it.)

A lot of the music I listen to uses samples that are played at something like half speed, or tuned down at any rate. I tend to tune samples down by about a fifth myself. Point being: a lot of detail that would otherwise be present with higher samplerate source material goes missing. It doesn't help that tuning down like this dumps a good portion of the low end.

There are also neat ways of exploiting nonlinearities from ultrasonic sources, which I use, but that's harder to describe.

¹not meant as a derogatory remark.

smosher_··on New optimizations for X86 in upcoming GCC 5.0
I disagree, competition itself was good for GCC.

Stallman's reaction¹ to LLVM was noisy and possibly childish, but it gave the FSF another important goal: not only should it supply a "libre" compiler but it should also be worth using over the first alternative that comes along. That second goal is a moving target, unlike the first, and it supplies a real motivation to make the best compiler they can.

1. http://www.phoronix.com/scan.php?page=news_item&px=MTU4MjA

smosher_··on Neuronal “Superhub” Might Generate Consciousness
I don't find this idea very compelling.

Penrose has a lot of ideas, apparently trying different things when others were invalidated or not promising. He really wants there to be some essential quantum involvement, but his arguments that there must be are not great. It leaves me with the impression he's seeking the vital essence, and naming QM. He could be right since there is a lot we do not understand, but he lacks the evidence to be anything but misguided in my opinion.

No doubt a lot of quantum phenomena are at work in the brain in various ways, but we have no evidence that it has any essential relationship with consciousness beyond the chemical and electrical properties needed for the biological foundation.

> I have a gut feeling that there needs to be more to consciousness than a bunch of neurons connected to other neurons.

I can appreciate that feeling, but I wonder what difference it would really make to have quantum consciousness.

← PreviousPage 3 of 4Next →