HNHacker News
TopNewBestAskShowJobs

eevee

625 karma · joined February 1, 2012

submissionscomments
eevee··on Show HN: FreshPost.io – Automated Social Media Marketing
Which tweets get interest is just whatever catches people's attention that day. I can't tell what snarky quips are going to be popular either.

I don't think you need a huge Twitter presence. It's nice to have a handle to include when I want to give feedback, but I don't follow any companies, and unless they're directly helping me solve a problem (which is rare), I mostly find it kind of annoying when they try to talk to me.

I'm no marketing guru, but I thought the whole point of social media was that word-of-mouth moves much more quickly. You shouldn't need to try to manipulate that to get attention; just build something neat enough that other people want to talk about it.

eevee··on Python 3 can revive Python
Yeah, we need to put our money where our mouth is. Frankly I'm amazed how far PyPy has gotten with the few resources it has. Even their toolchain is amazing; other people are starting to use it to build JITs for other languages.
eevee··on Python 3 can revive Python
Barely. The subset of code that works in both Python 2.6+ and 3.3+ is orders of magnitude greater than the subset of code that works in both Perl 5 and 6.
eevee··on Show HN: FreshPost.io – Automated Social Media Marketing
Nothing gets my personal brand going like interacting with companies who can't be bothered to have a human being write some words at me.
eevee··on Show HN: FreshPost.io – Automated Social Media Marketing
I don't really have much sympathy for a company that expects to reap the rewards of social media engagement, but thinks it takes way too much time to... engage socially.
eevee··on Python 3 can revive Python
"Nowadays stuff like proper closures, immutability, a good async story, etc, is considered a necessity by discerning hackers." Python has proper closures; I would hope discerning hackers know the difference between a closure and an anonymous function. asyncio is fantastic.

"Remove the GIL." Do you think no one's thought of that before? Remove it how?

"Make it speedy." As you note, that's what PyPy is doing, but this is a hard problem that doesn't have quite the same glamor as JavaScript, so there aren't multiple giants with deep pockets throwing money at it in a race to the top. Maybe throw some cash PyPy's way.

eevee··on Python 3 can revive Python
Don't try to fake anonymous functions in Python. Use its strengths: decorators, generators, etc.

Anonymous functions work well (err, passably) in JavaScript and Perl. They don't really work in Python, and of course you'll just run into pain if you try to force them to.

Perhaps also make some noise about this PEP: http://legacy.python.org/dev/peps/pep-0403/

eevee··on Python 3 can revive Python
You're either misunderstanding Python 3 or misunderstanding Perl 6.

Python 3 was a few breaking changes made to Python 2.

Perl 6 was a completely new language, designed from scratch, with little in common with Perl 5 aside from bits of syntax. It still doesn't have a "complete" release, in 14 years. In half that time, we've had a Python 3.0 and four more point releases.

eevee··on The new VirginAmerica.com
I don't see any reason to ever limit passwords to less than 100 characters.
eevee··on The new VirginAmerica.com
We said exactly the same things about Flash not so many years ago, including the pretentious dismissal of anyone who would dare not support the technology we wanted to use. Before that (and to some extent even now) it was operating systems: what kind of hippie doesn't run Windows, after all? It's pretty easy to justify technical decisions by pigeonholing anyone not using our same platform as The Kind Of People who we don't want giving us money anyway.

There are quite a few comments here complaining about the gaudy unusable interface produced by "modern JavaScript-based techniques", which in this case appear to provide virtually nothing that static HTML and CSS can't do. The dev team was lazy and wanted to show off, and screw anyone who doesn't think running gobs of arbitrary code should be a necessity for buying a ticket.

And for what it's worth my non-developer artist girlfriend has been using noscript for longer than I have. I'll let her know what modern devs think of her, though I don't think she's heard of wget.

eevee··on The new VirginAmerica.com
Oh, you're right. It should definitely be built in Shockwave Flash instead, which is even newer and shinier than JavaScript.
eevee··on The new VirginAmerica.com
Fantastic. https://pbs.twimg.com/media/BoYFJleIMAAmgMH.png:large

beta.virginamerica.com is, of course, a blank white void.

Filling out a form and clicking some buttons is such futuristic technology that we can no longer figure out how to make it work without JavaScript.

eevee··on Type checking in Python
You can use it for that, but you can also use it to check for rough interfaces. (The classes are rigged to fool isinstance() via dark magic.) It's fairly common that you want more than one magic method, but don't care too much what the type is as long as it's sorta like a `list` — thus, MutableMapping.
eevee··on Google is Breaking the Internet
Maybe you should collapse these admittedly identical items into variations of the same product, which will reduce the useless duplicated clutter I'd experience when searching your catalogue.
eevee··on Google is Breaking the Internet
I'm reasonably sure Google is familiar with pagination and filtering, seeing as that's pretty much the entire thing their own website does.

I don't see how the same product under a variety of URLs, one for each category it's in, is at all useful to me as a human. It actually rather annoys me when the same page has a whole bunch of URLs: I can't tell which is the "real" one, my address bar frecency gets messed up, visited links don't work correctly, etc.

eevee··on Type checking in Python
Python has the abc module, but it would be a bit wordier than "arg=list". Maybe if the builtins were treated as the corresponding abcs.
eevee··on Type checking in Python
Even that trivial `print` annotation breaks duck-typing; the print function can actually accept anything that responds to `__str__`.

Similarly, is there any reason the example `add` function in the OP shouldn't be able to add strings, or lists?

I've seen a lot of these quick-runtime-type-checking libraries, but they always have the same problem as manual type-checking: they make the constraints much stricter than they need to be and prevent entire classes of useful behavior.

eevee··on Google is Breaking the Internet
How is duplicate content made "for users"? Why would I want to find exactly the same prose in multiple places?
eevee··on ‘~’ is being removed from Rust
I'm a little terrified by the prospect of a language designed to be incomprehensible without a stack of tools that will explain it to you.
eevee··on ‘~’ is being removed from Rust
What bugs me isn't the loss of this shorthand, but the decrease in shorthand overall.

Punctuation and other built-in language features give me a baseline for what I can understand and what I can always rely on. If I see ~T, even if I don't know what it means immediately, I still know that it's part of the core language and will get me a step closer to useful understanding; here is a thing I can probably use to solve some problems. Moving as much of the language into a stdlib as possible is a worthy goal that makes for a "cleaner" and more "elegant" language (whatever those mean), but it vastly reduces this effect.

The problem is that all of the core syntax and builtins are probably good to know, but not everything in the stdlib is useful. At least half of the stdlib for any given language tends to be worthless junk. Do you do Python? Did you know about the formatter module? popen2? asynchat? sunau? Probably not. But you almost certainly recognize 100% of Python's syntax and at least 90% of its builtins.

Contrast with Perl, which (besides having a ridiculous amount of built-in syntax) relegates such basics as OO support into the standard library. Subclassing is done by using a library, and there are even two distinct libraries for doing it in the stdlib! So to understand Perl code, you have to understand a good chunk of its stdlib as well, but not all of it because a lot of it is weird obscure junk, but there's nothing telling you which bit is important because it's just a thing everyone knows. (And the reliance on third-party libraries to fill in gaps in the language makes this far worse.)

One of C++'s major offputting properties is that everything is in a bloody library. (The other is that the features it does have all interact in obtuse ways.) You can learn what all of C++'s syntax does, and still be unable to make sense of real-world C++ code. I'd be pretty sad to see that happen to Rust.

eevee··on ‘~’ is being removed from Rust
And we shall call it Java.
eevee··on SQLAlchemy vs Other ORMs
Given that we're talking about Python, it should be pretty obvious how we all feel about those things.
eevee··on SQLAlchemy vs Other ORMs
So you're happy to generate the SQL via some language-specific API, and you're happy to have the results turned into objects...

What's the problem with an ORM again?

Half the point of SQLA is that the ORM is built on the core SQL generation. It's the least magical and most RDBMS-friendly ORM I've ever seen. It's designed for people who already grok SQL, not people who'd like to forget that it exists. You can even jam hand-written SQL into the ORM if you so please.

eevee··on SQLAlchemy vs Other ORMs
SQLAlchemy also does this. Which is appropriate, since "ORM" implies that on some level you're mapping existing relations to existing objects.
eevee··on The Absurdity of LinkedIn
This is very strange to me. I had a LinkedIn for a couple years, but it served me absolutely no purpose except one or two pings from recruiters who were looking for vastly different skillsets anyway. I got sick of the security issues, endless deluge of useless email, and generally having to care about it at all, so I deleted my account a few years ago.

Now I get more recruiter email, except they actually sort of know what I'm good at, because they found me through GitHub (or my blog) instead. Not to say that GitHub is inherently a better indicator of capabilities, but it's more likely to be looked at by someone with some technical understanding, whereas LinkedIn is basically keyword soup.

I don't believe I've ever once been asked for my LinkedIn. But I work for an SF company, so maybe your experience is a reflection of enterprise and its love of résumés.

eevee··on Brendan Eich Steps Down as Mozilla CEO
"I do"?
eevee··on Brendan Eich Steps Down as Mozilla CEO
That's a pretty good question, and (as noted elsewhere) it's amazing that nobody saw this coming. It took them a while to settle on him, too.
eevee··on Brendan Eich Steps Down as Mozilla CEO
I didn't do anything illegal, either. Yet you seem to have some unspoken set of rules beyond mere law that govern what is acceptable behavior. I've got some of those, too.

I don't want him to not have a job. I want him to not have this job.

I'm curious why it's okay for him to pay money in an attempt to enforce his opinions on others via law, but I'm a bigot and a pox upon civilization for talking on Twitter.

eevee··on Brendan Eich Steps Down as Mozilla CEO
I have strong emotional investment in Mozilla, because they fight to do the right thing, not just do whatever's mainstream and normal. Prop 8 was emphatically not the right thing. Eich has fought some of the battles I sympathize with, and I certainly hope he keeps doing that, but I'm not comfortable seeing him as head of the company.
eevee··on Brendan Eich Steps Down as Mozilla CEO
Okay, that's fair, I'm clearly exaggerating.

But that actually makes the comparison even better! Lots of people pushed for prop 8, which in turn affected lots of people. Lots of people complained about Eich, which in turn affected... Eich.

Yet the GGP is focusing on the masses who tried to pass a constitutional amendment to prevent Eich from being CEO. Wait, no, I must be confused.

← PreviousPage 3 of 10Next →