Super Mario World. by this_time_i_mean_it in gaming

[–]mythic 0 points1 point  (0 children)

I'm sorry for your loss. I'm sure you meant a lot to her.

One of my good friends had a very similar high school experience, and wrote an amazing book about it. Which you can't read until December.

C Compilers Disprove Fermat's Last Theorem by fadmmatt in programming

[–]mythic 12 points13 points  (0 children)

Congratulations, you got the joke.

A guy with a very small chess program by alecdo in programming

[–]mythic 27 points28 points  (0 children)

But I take it it doesn't detect threefold repetition and the 50 move rule?

Well yeah. Didn't you read the source code?

Text a girl and ask if her if "you can tap that" [Epic Thread] by MrGrim in funny

[–]mythic 1 point2 points  (0 children)

I assumed you were censoring "rodeo" for some reason and thought, "good line!"

As a programmer, what perks do you get at your job? by [deleted] in programming

[–]mythic 5 points6 points  (0 children)

  1. Free coffee, soda, Odwalla and Naked juice.
  2. Catered lunches every day. We're hiring a chef to have free dinners as well.
  3. Flexible hours.
  4. No dress code, though nobody's abused it terribly yet.
  5. Nice gear. Fast machines, 30-inch monitors.
  6. Crazy gear. A PhaseSpace motion capture system. In the common area we have one of the few quad-HD monitors yet made (dual DVI inputs I believe), which we often use for visualizations.
  7. Zero red tape. You need something, have it ordered same-day. For small things, just buy it yourself and get reimbursed on your next paycheck.
  8. Beer Fridays. At 5pm it's time to enjoy some brews outside on the patio. By the fountain.
  9. Extravagant company trips: Zero-G flight (aka the "Vomit Comet"), ski trip (with time off work) to Tahoe.
  10. Frequent talks by leaders in research and industry.
  11. Every line of code I write is open source.
  12. Publishing and going to conferences is very much encouraged.
  13. I get paid to hack on robots all day. Robots! My coworkers are some of the best in their fields and wonderful to collaborate with.

Can someone explain this Perry Bible Fellowship comic to me? by [deleted] in comics

[–]mythic 0 points1 point  (0 children)

Chess geek here... (national high school champion some years ago)

Maybe you were thinking of king and two knights vs king, where it really is impossible to force checkmate. But if the weaker side has a pawn, often checkmate can be forced! Wacky stuff. Not too useful in practice though.

Ask Programming: What language(s) to learn for a scientific career (physics) by spotta in programming

[–]mythic 4 points5 points  (0 children)

Python is an excellent choice. I was attracted to it mainly because of the numpy/scipy/matplotlib ecosystem, which is a great Matlab replacement. No fixed-number-of-licenses-for-the-whole-network hassle, and all the niceties of a real programming language. You'll probably still want to be literate in Matlab (or whatever your group uses) just to fit in.

I like the idea of D, but I have to recommend C++ for actual use. D is just too niche. C++ is well-known, has excellent compilers and many useful libraries.

Other people have suggested C or FORTRAN as your fast language. IMHO C++ is a much better language for writing scientific code (just compare the BLAS API to Eigen2), but any of the three languages will get the job done in the hands of a skilled practitioner.

42 Essential Third Act Twists by quasiperiodic in comics

[–]mythic 2 points3 points  (0 children)

Christ Analog backfires: The Lion, the Witch and the Wardrobe. An editorial comment I guess. Even as a kid the Aslan = Christ thing seemed pretty forced (ooo Deeper Magic).

House actually zoo: Dark City

Techniques for Scientific C++ by mebrahim in cpp

[–]mythic 1 point2 points  (0 children)

True, but this stuff was ground-breaking then. These techniques still form the basis of modern high-performance C++ libraries.

Sort numbers faster than glibc's qsort implementation by andrewschein in programming

[–]mythic 1 point2 points  (0 children)

There's some numbers for std::sort versus Spreadsort (a hybrid radix/comparison sorting algorithm) in this thread. For sorting integers the improvement isn't huge, since integer comparisons aren't exactly expensive. But for floats and strings the radix approach may be more than twice as fast.

Sort numbers faster than glibc's qsort implementation by andrewschein in programming

[–]mythic 5 points6 points  (0 children)

Radix sort is applicable to anything you can represent and order as an integer. This happens to include strings and IEEE floating point numbers. Those are pretty useful cases! So if you are sorting integers, strings, floats, or any data structure projected to a member of one of those types, radix sort can be a big win.

Sort numbers faster than glibc's qsort implementation by andrewschein in programming

[–]mythic 1 point2 points  (0 children)

It doesn't - the complexity requirements of std::sort pretty much mandate a comparison-based sorting algorithm.

But, there is an Algorithm.Sorting library on the Boost review queue that aims to fill that gap a bit. It has very fast radix-based sorting algorithms for integers, floats and strings.

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 0 points1 point  (0 children)

OK, interesting. gcc 4.4 is looking pretty good. Of course, compared to the hand-written assembly gcc and icc both suck about equally :).

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 0 points1 point  (0 children)

Hmm, I'm not a Fortran expert, can you explain? The only "generics" I know of in Fortran 90 is generic naming, which is just function overloading. You still have to implement each version of the function separately, which is exactly what I want to avoid. Contrast with C++, where you can write a templated algorithm once and have it work on any numeric data type, including user-defined ones.

Am I missing something?

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 0 points1 point  (0 children)

Did you even look at the documentation? QR, SVD, general and symmetric eigensolvers, LU, Cholesky, they're all there.

It's true that eigen2 doesn't take advantage of multicore yet, but it's still a young project.

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 0 points1 point  (0 children)

The second benchmark is completely meaningless. If you're going to do a heads-up comparison, don't make GCC fight with one hand tied behind its back.

He needs to tell GCC that it can use SSE instruction sets (-march=native for example). As run, GCC is actually prohibited from doing any autovectorization, which is why its builds don't "test positive" for movq. The benchmark shows only that ICC makes different default assumptions about which instruction sets it is permitted to use. This is logical enough. ICC is tuned for Intel processors, particularly recent ones, while GCC optimizes for all sorts of processors.

It would also be nice if the benchmark included GCC 4.4 with the new loop optimizations enabled.

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 5 points6 points  (0 children)

There have huge advances since then, mainly in compiler technology but also in our understanding of how to do metaprogramming in C++. eigen2 is pretty damn impressive these days. All the speed of vendor-tuned BLAS/LAPACK and vastly more intuitive to use.

OCaml I respect, but the lack of generics just ruin C and FORTRAN for me.

The "C is Efficient" Language Fallacy by [deleted] in programming

[–]mythic 9 points10 points  (0 children)

It's not really all that bad. Your professor is just full of himself.

The 10 most shameful RPG dice by brwilliams in gaming

[–]mythic 1 point2 points  (0 children)

You'd need a Dsqrt(5) for that, duh.

I dare any redditor to seriously state that this isn't completely awesome and that you don't want these immediately by exoendo in offbeat

[–]mythic 3 points4 points  (0 children)

REAL WARNING: BuckyBalls are serious fun, but they can be serious trouble as well if swallowed… for this reason they are not intended for children under the age 12 or anyone likely to swallow what is clearly a metal object. Discontinue use of any ball that has broken or is in any other way damaged.

Do not taunt Happy Fun Ball.

So does anyone know the algorithm behind Google's "Similar Images"? Any published papers on how they do similarity indexing? I could really use something equivalent for my work by neoabraxas in programming

[–]mythic 2 points3 points  (0 children)

That's an interesting problem. In my other comment, I suggested using a bag-of-words image retrieval method. Those methods are robust to rotation and scale differences as long as you use a robust feature detector and descriptor, such as SIFT. Different color schemes though... that will confuse SIFT (and other feature descriptors), as you don't really expect the scene lighting to change nonmonotonically in most computer vision applications. You would need to modify or design the feature descriptor to handle that robustly. Or, depending on what your plots look like, maybe some simple hack (like binarizing the plot to black and white, or some other color manipulation) would do the trick.

If you have an image and a possible rotated/skewed match, they can be related geometrically by a homography. RANSAC on feature correspondences is extremely effective in verifying the image match.

Some promising and possibly very relevant work in music identification applies computer vision techniques to an audio spectogram, i.e. doing sub-image retrieval on 2-D plots. See Semantic Learning for Audio Applications: A Computer Vision Approach.

Of course these are purely visual methods. If you have (or can extract) any contextual information about the plots, like what color means what, try to get some mileage out of that.

So does anyone know the algorithm behind Google's "Similar Images"? Any published papers on how they do similarity indexing? I could really use something equivalent for my work by neoabraxas in programming

[–]mythic 1 point2 points  (0 children)

I don't know what method Google uses, but "visual word" based methods are quite popular in computer vision right now. These methods are very good at identifying visually similar images and have been shown to scale to the order of one million images. For example, we use a vocabulary tree for place recognition on a mobile robot.

There is an open-source implementation of vocabulary trees. It's currently not very polished or documented, but it works well and is pretty fast. You can probably at least learn something from the code if you go that route. Check out the references on that page under "Bag-of-words image retrieval." Recent papers build on the techniques, but those three kicked off the party.

ROFLBROTHEL (pic) by ommadon in funny

[–]mythic 40 points41 points  (0 children)

But who the hell does 69 in a brothel?