HN user

psquid

59 karma

[ my public key: https://keybase.io/homomculus; my proof: https://keybase.io/homomculus/sigs/tbB8zdm_NWs4V61keQ9j67k0qjpiJAbyhIc4147kzLE ]

Posts0
Comments45
View on HN
No posts found.

The evidence that they didn't review it, is that a million line rewrite was merged 8 days after it began being written. It's simply not possible for a team that size to review that much code in that little time.

As far as testing - yes, they do have a test suite that it was checked against during the rewrite, but that still means that any behaviour that wasn't strictly tested for by that suite could have changed and it would still pass.

Same reasons that IE versions only support certain versions of Windows:

- they want to be able to switch to newer APIs when the underlying OS adds them (though in Edge's case it's more likely it was written from the ground up using newer APIs)

- they quite possibly want to use "you can get the new browser only if you upgrade" as a carrot for OS upgrades (they explicitly did with IE, I haven't seen anything explicit for Edge but it wouldn't surprise me if they're still taking that approach)

The lack of subscription and signup, combined with the pricing, suggest that this is aiming at people who almost never send a fax, and would spend significantly more buying and maintaining a fax machine, compared to a couple dollars on this service.

I do hope you find a service that fits your need, but this is very likely not intending to be it.

it's US english, they're referring to Lego the product as a whole, rather than individual Lego pieces (the meaning ends up basically the same, but the distinction does change the grammar)

I've never really gotten into absolute line numbers, but relative ones are a godsend for me since I use <num>j, <num>d, et al a lot but can't really eyeball how many lines away something is once it gets to be more than 2 or 3.

The crucial distinction as far as the OP is using the term seems to be that such a datastore does not require the user's hosting provider to give them an instance of any of the common DB servers, which typically needs a more expensive plan than the usual baseline of "disk space and an httpd [that supports calling out to one or two scripting languages]".

(Basically it should run on anything more complex than a static site host. Though it's also true that sqlite would probably be a cleaner choice for the datastore without losing any of that benefit.)

Assuming I'm reading the parent post correctly, neither of those links actually do what they would've been hoping for when moving browsers, even if they certainly get closer than nothing.

Firefox Sync only syncs with versions of Firefox, and Chrome's sync only syncs with versions of Chrome, so they'd have to switch mobile browsers too just because they switched desktop browser (and unlike on desktop, I've found Firefox for Android to generally be clunkier to use than Chrome for Android).

And that second link is about Chromecasting from Firefox for Android, not the desktop browser. Being able to send stuff from desktop Chrome is definitely a convenience someone could get accustomed to.

There's various ways:

Some rely on the device itself to enforce it, but that's obviously fragile if you can bring your own device.

Some check the TTL of your packets when they enter the carrier's network, because tethering is at least one more hop and so even if your computer's OS and phone's OS agree on what TTL starts at, the TTL will still be different than expected for your device's platform. Obviously this can still be mitigated by adjusting your TTL, but outside of software that'll handle this for them, that's already beyond a lot of customers.

Some even take the route of only checking HTTP traffic, and detecting tethering based on User-Agent, but I think a lot have abandoned that because it doesn't catch other protocols, and is easily bypassed even on HTTP.

However, that still makes it a conscious choice to engage with the service that way - the default way is still checking back, and that shapes the general usage patterns of the site, even if some people have concluded it benefits them more to modify their experience.

Unfortunately, I suspect you overestimate the obfuscating power of dynamic content when the number of users is sufficiently large.

A certain MMO I play recently had a limited-time event built around figuring out the meaning of different clues (locations to go to for the actual meat of the event), and despite a fairly large number of variations, people had collectively figured out just about every possible clue->location mapping within a matter of hours.

That's not to say you can't prevent cheating, but that even with relatively little incentive (that whole clues thing gave only a single cosmetic item, and anecdotally I've seen very few people actually use theirs) users can and most likely will outpace any attempt to prevent it by means of varying the problem.

#2, "The program must include source code, and must allow distribution in source code as well as compiled form."

Unreal's license for obtaining the source does not permit you to redistribute in source form, so you can't comply with their license and still fulfil that point.

While it's certainly trivial now for most anyone to obtain that source independently, you can't include that source in your own project while still distributing your own project under any license that the OSD would label as open source.

There's no one source which any Scotsman claims defines a Scotsman, though, whereas pretty much the core part of the definition of Christianity is following the teachings of Christ (it's in the name!), which the vast majority of bigots-who-call-themselves-Christians certainly don't.

µBlock for Firefox 12 years ago

That's present in uBlock too, despite some fairly unintuitive UI - the big green power icon isn't a full disable for the extension, it disables it for the current site only.

I'm Leaving Mojang 12 years ago

He's not so much a great programmer as a productive one (not that those are concepts that can't coexist, he just isn't both).

He's very good at taking an idea and making it work, then building new stuff on that, but less so at actually making things robust in an architectural sense. Moving on to the next thing that interests him also doesn't help that.

A lot of the biggest hiccups in Minecraft's stability are more-or-less directly caused by having to work around stuff that was coded in a way that made sense at the time, but gradually fitted less and less well to the game as it now stood.

I'd say at this point a lot of Notch's original code is outright gone, and that's a good thing. His vision is still at the core of it, and that's what he really brought to the project.

Most don't combine the two things that together give Java its big advantage, though:

1) Easily-distributable "mostly-compiled" bytecode form (JAR files).

2) Wide install base for the VM needed to run said bytecode.

Without #1 you need to recompile for each new platform, even when avoiding platform-specific calls, and without #2 the advantages of #1 can't be used without requiring your users to install other stuff just to run your software.

The Heartbleed Bug 12 years ago

Someone who wanted to be sure that bug stuck in people's minds enough that they wouldn't just ignore it? Seems at least feasible.

Another situation where regexes are possibly abused - syntax highlighting. Yes, there are a lot of languages where you can sanely highlight /most/ code with regexes, but there's a non-zero number where you need a little more context, such as that provided by an AST (which would also help with autocompletion anyway if the highlighting is being done in the context of an editor).

Unless the footer image in question was awarded by some kind of auditing body (with links back to their page so a visitor could verify the site really was audited), an idea like that has no fangs - for example, what's to stop a site storing them in plaintext because "it's easier, and we'll fix it when we have time" but throwing the image in the footer anyway to ensure they don't lose users in the meantime?

Oh hey, that's pretty nice! I'm a big fan of how the functional languages I've gone further than dabbling in are very pushy about covering all cases for pattern matches (basically switch on steroids), even if sometimes the correct answer is to just throw in a catch-all.

Mostly because it forces you upfront to make sure you're considering every case, and it looks like those warnings ought to give me the same kind of nagging with C and enums.

Agreed. Both Haskell and much of the Lisp family support rational numbers, the latter with them automatically being used instead of imprecise results when doing divisions which can't be represented accurately. I miss them a lot when working in other languages.

It's under Pricing in the FAQ page (the gist: contact them via the contact link to discuss a price, because it's apparently too complicated to estimate), but yeah, the FAQ seems like rather an odd place to relegate such an important aspect to.

an example would be displaying the documentation of some method you are autocompleting, something which I have never seen in vim and which I actually believe is impossible

For python at least, having 'preview' as part of your completeopt has it display the docstring of what you're completing. And :h completeopt suggests that's intended behaviour for all types of completion (where it makes sense), too.

The (minor) bad first: your landing page is utterly broken without JavaScript (I use NoScript, and while I whitelist most sites, a broken page before setting that still leaves a bad taste if there's no reason for it to break), and I can't see anything you do on it that couldn't at least gracefully fall back. At the very least, if you wish to require JavaScript, you might want to say upfront there that it'll be required.

As for the good: I'm liking a lot of where you say you want to go with nvlope, and I can't say I particularly enjoy IMAP, from working with it, so your planned API is more than a few steps up. :)

Can't wait to see how things develop!