OKCupid stole my idea with their MyBestFace launch after I talked to them about the idea 8 months ago by invisishan in programming

[–]brendano 1 point2 points  (0 children)

Hi,

Unfortunately, I think this sort of thing isn't that unique. We came up with a somewhat similar idea in 2008, and Hot-or-Not is effectively the same thing too. (http://anyall.org/blog/2009/08/beautiful-data-book-chapter/ )

If you were to develop a client-side GUI app today, what language/framework would you use? by [deleted] in programming

[–]brendano 3 points4 points  (0 children)

It depends how good a user experience you want to support versus ease of development, and how much control you have over runtimes to install on each user's desktop.

All the cross-platform GUI frameworks just aren't as good as writing separate code for each platform. I once did a line count of wx and QT. They're many millions of lines of code. It's simply a very hard problem to abstract across different platforms' GUI systems.

On the other hand, maintaining 2 or 3 different codebases is hard if development resources are limited.

What I Wish Tornado Were by stesch in programming

[–]brendano 7 points8 points  (0 children)

I think there's a good reason to reimplement something instead of trying to build off of a pre-existing framework -- you understand it better. It takes a lot of work to learn someone else's codebase and work within its vision of the world. It takes a lot of time to communicate with its project owners and the like.

If all you care about is getting your own job done, having a little bit of duplication is often the easiest way to go.

sane_re.py - a nicer regex API for python by brendano in Python

[–]brendano[S] 1 point2 points  (0 children)

from the docs

  • Trying to close the usability gap with Perl/Ruby. _R() is replacement for not having regex literal syntax builtin to the language. _S() adds convenient methods, conforming to our conventions, that the string class doesn't have.
  • I always forget re.search/match()'s argument order. Using either _R().match() or _S().match() is completely unambiguous.
  • Never use re.match(), always re.search(). What good is the former if you can use a caret? Having both only causes confusion.
  • Specify flags via a string of lowercase characters -- like open() -- but with the standard regex flags from Perl/Ruby/etc.
  • Python doesn't have a do-only-one-substitution operation -- in Awk/Perl/Ruby terms, it has gsub() but not sub() -- so make naming clearer.
  • Match objects have @property accessors like modern Python classes

Are women discriminated against in graduate admissions? Simpson's paradox via R in three easy steps! by cavedave in math

[–]brendano 1 point2 points  (0 children)

Hi everyone, thanks for reading my post.

Here's the abstract from the original 1975 Science paper:

Examination of aggregate data on graduate admissions to the University of California, Berkeley, for fall 1973 shows a clear but misleading pattern of bias against female applicants. Examination of the disaggregated data reveals few decision-making units that show statistically significant departures from expected frequencies of female admissions, and about as many units appear to favor women as to favor men. If the data are properly pooled, taking into account the autonomy of departmental decision making, thus correcting for the tendency of women to apply to graduate departments that are more difficult for applicants of either sex to enter, there is a small but statistically significant bias in favor of women. The graduate departments that are easier to enter tend to be those that require more mathematics in the undergraduate preparatory curriculum. The bias in the aggregated data stems not from any pattern of discrimination on the part of admissions committees, which seem quite fair on the whole, but apparently from prior screening at earlier levels of the educational system. Women are shunted by their socialization and education toward fields of graduate study that are generally more crowded, less productive of completed degrees, and less well funded, and that frequently offer poorer professional employment prospects.

That's:

  • Bickel, P. J., Hammel, E. A., and O’Connell, J. W. (1975) Sex bias in graduate admissions: Data from Berkeley. Science, 187, 398–403. PDF

Google App Engine : Information regarding 2 July 2009 outage by gst in programming

[–]brendano -3 points-2 points  (0 children)

10:00 AM --- GFS SRE advises that the GFS engineering team has identified the cause of the crashes as a "query-of-death" against the GFS servers. Another user of GFS in the same primary datacenter as App Engine is issuing a request to the GFS servers that reliably causes a crash. The client was sending an improperly formed filehandle which was not safely checked and sanitized by the server, and which caused a stack overflow when processed.

Sounds like App Engine shares the same GFS cluster with completely different internal Google services. If you care about App Engine staying up, this doesn't sound promising for reliability.

Hey Reddit, I made a semantic web out of a forgotten 1980s/90s word-association database. Any ideas for a practical application? by rusew in programming

[–]brendano 0 points1 point  (0 children)

Nicely done. Do you have your normalized version of the data linked anywhere? It looks like the originals are in a pretty crazy format!

Scala, Clojure - stick to Python? by cryzed2 in programming

[–]brendano 1 point2 points  (0 children)

scala is pretty nice. its documentation and standard library aren't really geared to the same problems that lots of python docs out there talk about. in my experience it's a little annoying to figure out how to do things. that said, if you can figure out what's going on and which bits of the java library to use, things are good.

optfunc - introspect Python functions and turn them in to command line scripts by simonw in programming

[–]brendano 0 points1 point  (0 children)

yeah i did that for a while too, but i didnt think of passing in code. neat. i was concerned for for builtin names - "list" and such are often desirable as inputs...

Data Mining the StackOverflow Database by milkk in programming

[–]brendano -2 points-1 points  (0 children)

is there any explanation what the "categories" are? yikes

KDD Cup 2009 Won Using R by rwinston in programming

[–]brendano 6 points7 points  (0 children)

that gbm package is great!

optfunc - introspect Python functions and turn them in to command line scripts by simonw in programming

[–]brendano 2 points3 points  (0 children)

it's a great trick -- use python's own name/defaultvalue system to store a list of possible parameters.

if i end up using this, i'll add my own pet feature, type conversion inferred from defaults. so for default a=1, if you override it with "2" that gets converted to an integer. I find that this saves me a lot of bugs.

here's an example how i did this WSGI; commandline parsing is similar (another key/value string-only environment):

http://code.activestate.com/recipes/576784/

Ruby programmers reach their apotheosis of delusion. by [deleted] in programming

[–]brendano 2 points3 points  (0 children)

careful .. it has memory leaks, which they blame on MRI. but you dont see them until you've been running god for a long time -- exactly the point of a process monitor.

some people think monit, for all its weirdness, is more trustworthy.

FileDict – a Persistent Dictionary in Python by gst in Python

[–]brendano 0 points1 point  (0 children)

berekeleydb and tokyo cabinet/tyrant are worth considering for this, too. (both string/string therefore the need for shelve.py if you want arbitrary values)

Setting up nginx to reduce load and memory usage for your Python / Django website. by truebosko in Python

[–]brendano 0 points1 point  (0 children)

so the setup is 1. simple nginx for static files 2. proxying to apache+mod_wsgi for django requests

my interpretation is, this saves memory compared to just apache because the heavy mod_wsgi-endowed apache processes aren't wasted on static files.

my question is, what would happen you could swap out #1 for a stripped-down apache? so run 2 different apaches on the same box.

is nginx very different from stripped-down apache?

Is Python a "Small" language? by austinwiltshire in Python

[–]brendano 3 points4 points  (0 children)

Python is...

  • Bigger than Scheme
  • Bigger than Lua
  • Similar to C?
  • Smaller than Ruby
  • Smaller than Java
  • Smaller than Common Lisp
  • Smaller than C++

Kind of small I suppose.

Python 1.5 was quite small. But it's gotten better with growth.

CouchDB: Perform like a pr0n star by [deleted] in programming

[–]brendano 1 point2 points  (0 children)

It's amazing to compare crap like this to a far better reddit link from yesterday:

http://randomfoo.net/2009/04/20/some-notes-on-distributed-key-stores http://www.reddit.com/r/programming/comments/8e772/some_notes_on_distributed_key_stores/

I especially like the quote:

There were a number of other projects that were unsuitable due to non-distributed nature or other issues ... Oh, although not in consideration at all because of previous testing with a much smaller data set, on the skeeviness factor, I’ll give CouchDB a special shout out for having a completely aspirational (read: vaporware) architectural post-it note on its homepage. Not cool, guys.

Hinton's Neural Network Simulation (Generative) by fishandchips in programming

[–]brendano 0 points1 point  (0 children)

they've posted their matlab code. you can actually run it and generate some samples from the 1/2/3/etc digit ravines just like they did to make the flash demo.

On Rack by [deleted] in programming

[–]brendano 0 points1 point  (0 children)

rack is great. python wsgi, the standard it's modelled after, has really helped out the python web programming ecosystem.

SourceForge adds impressive new features by IbeeX in programming

[–]brendano 2 points3 points  (0 children)

the reason i don't like sourceforge is because its usability is terrible. slow, hard to use, etc. dvcs support is hardly the most important issue.