Yahoo to Merge with AOL? - <AUTHOR> http://www.techcrunch.com/2008/02/10/wait-yahoo-and-aol-i-was-looking-forward-to-something-moreintelligent/

<comment><USER2> Here's the comment I left at TechCrunch, though right now it's awaiting moderation:

It is a mistake to think of Yahoo! as competing for search dominance. As Yahoo! has reiterated several times at this point, their strategy is to become the starting point for the web, not the search engine. Search is only one tool web users need, and Yahoo! has no interest in being the place they come to for it. They would rather be the place people leave from, time and time again.

So, how does a merger with AOL help Yahoo!?

1) Yahoo! maintains its position as the top site on the web. Quantcast shows that adding AOL's visitors to Yahoo!'s puts Yahoo! at almost 200 million monthly uniques, almost 50% ahead of Google. ComScore data is less exact, since it groups AOL under "Time Warner Network", but still shows the same trend:

\- <http://www.quantcast.com/top-sites-1>

\- <http://www.comscore.com/press/.....press=2000>

2) Yahoo! becomes the dominant player in IM. Yahoo! Messenger is already interoperable with Windows Live Messenger; adding interoperability with AIM means that they control ~70% of desktop IM client market share(more recent numbers on this are needed, but by the end of 2006 AIM was ~50 million, and both Yahoo! and Microsoft's were ~20 million), and their clients can talk to everyone else's. Yahoo! and AOL have both made progress in integrating IM with E-mail, something Microsoft still hasn't done. As Yahoo! expands its e-mail services into enterprise markets, and enterprises increase their usage of IM, this could be a big deal.

3) Much better integration potential than with Microsoft. After being stuck in Time Warner's in-fighting old media bureaucracy for so long, I'd imagine that AOL employees would be overjoyed to be brought into an organization that understands and is about the web. There's also excellent potential for brand integration here:

\- Yahoo! is a brand AOL users would be comfortable with.

\- It's a brand that it makes sense for AOL to adopt as it's been expanding overseas operations(where Yahoo! already has a strong presence).

\- The Yahoo! brand offers a graceful way to retire a brand that the tech- savvy have long scorned.

\- Go to Yahoo.com, then go to AOL.com. The portals are almost identical. It's feasible that a full-scale integration of the two properties could at some point take place.

4) There are plenty of other reasons why an AOL/Yahoo! merger has potential. Concentration of content-provider partnerships, joint efforts in mobile services/advertising, online/offline music offerings, and the fact that both are much more youth-friendly brands than MSN or Google. Plus more.

But TechCrunch isn't paying me to write guest posts in their comments, so that's all for now.

</comment><comment><USER3> this cant be true...

<comment><USER4> could be a rumor started by Yahoo, trying to force Microsoft into making a higher offer.</comment></comment>


Libgraal: GraalVM compiler as a precompiled GraalVM native image - <AUTHOR> https://medium.com/graalvm/libgraal-graalvm-compiler-as-a-precompiled-graalvm-native-image-26e354bee5c <comment><USER2> but still no Windows support for native image, plus no position independent code on *nix platforms

<comment><USER3> This is about using native-image for the Graal compiler when used as a JIT in HotSpot. There are Windows builds for this available here[1]. Not sure what you mean by position independent code in the context of libgraal. But I don't think it is relevant.

[1] [https://www.graalvm.org/downloads/](https://www.graalvm.org/downloads/)

<comment><USER4> > We provide pre-built binaries for GraalVM CE for Linux and Mac OS X on x86 > 64-bit systems.

No mention of Windows

<comment><USER3> > No mention of Windows

Indeed. That description should be fixed. One click away there is a Windows build: [https://github.com/oracle/graal/releases](https://github.com/oracle/graal/releases)

</comment></comment></comment></comment><comment><USER5> They're still keeping performance optimizations out of CE (free) version. Unheard of for a language runtime and quite crappy

</comment><comment><USER6> can it be run in wasm and output native code (instead of teavm bytecode)?

<comment><USER7> I assume that a WASM backend could be created for Graal Native Image, so that it could compile Java byteocde to WASM ahead of time, but I wonder what benefits that would have over compiling bytecode to JS (as TeaVM does).

<comment><USER6> There is now a pure wasm version of TeaVM. My idea was that graal could run in wasm and compile to wasm, the (only) benefits would be faster and smaller code.

<comment><USER7> I'm not sure it would be either. JS has a good JIT that Java code can significantly benefit from (much more than, say, C) -- WASM doesn't, so compiling to JS could actually be faster; JS also has a GC and WASM doesn't, which means that the image must contain a GC, making it larger, not smaller. Either way, it's speculation, but I don't think it's obvious that compiling Java bytecode to WASM is preferable to compiling it to JS, but maybe the TeaVM maintainers can share their experience.</comment></comment></comment></comment>


MIT OCW YouTube Channel Unaccesible in India? - <AUTHOR> I was surprised to see find this out today that the  MIT-OCW channel on youtube is not allowing access to visitors from India.
This is very unusual as I have been following the channel quite regularly and it seemed to be accessible one week back.
For example, the following link shows a generic `video not available in your country` message.
Has anyone observed similar issue in India or any other nation too ? <comment><AUTHOR> So, the banner on the channel points to this webpage: [https://torrentfreak.com/youtubes-piracy-filter-blocks- mit-c...](https://torrentfreak.com/youtubes-piracy-filter-blocks-mit-courses- blender-videos-and-more-180618/)</comment>


Yahoo to buy FourSquare for $100M?  - <AUTHOR> http://kara.allthingsd.com/20100416/can-yahoo-nab-foursquare-for-125-million-or-will-vcs-prevail-the-race-for-the-hot-mobile-start-up-nears-its-end/?mod=e2tw

<comment><USER2> If so, the only relevant question is what they will name the third independent incarnation of this service after Yahoo runs FourSquare into the ground, as Google did with Dodgeball.

Destroying value with ill-conceived M&A is one area where Yahoo can beat Google!

<comment><USER3> Talk about great investment opportunity, drop me a note when you need some seed money for the third go around. Flickr is the only Yahoo acquisition that comes to mind that they haven't run into the ground and then abandoned.

<comment><USER4> Y! seemed to make some good buys a looong time ago in the mid 90s.

Then they bought broadcast.com and geocities. Those are a few log10 larger purchases and were total failures. So even if there were successful small acquisitions they are hidden by the scale of their bad M&A decisions. M&A is probably still trying to make up for the losses they incurred in 1999.

More recently they bought delicious which I love and continued to use without even noticing that they were acquired. After that the next "success" I can think of is rivals.com which seems like a good buy and good match.

Yahoo still has some great niche (maybe that's a misnomer) markets like fantasy sports and investing. So when they strengthen an existing strong property it seems to work better than bringing in something new.

See: [http://www.businessinsider.com/yahoos-sorry-acquisition- hist...](http://www.businessinsider.com/yahoos-sorry-acquisition- history-2009-5)

</comment></comment></comment><comment><USER5> Am I the only one which really does not see location in the sense FourSquare implements it becoming a mainstream thing in the next few years. Perhaps I'm being naive but I juts don't see it as something people want that much.

EDIT: Removed "as facebook comes", dunno what it was doing there, made no sense!

</comment><comment><USER6> It's interesting how the article doesn't mention Google's purchase of his last location service, Dodgeball, which it eventually ran into the ground after letting it flounder for a couple of years.

I know it's just speculation but I'd hate to see this project get run into the ground just as his last one (and other Yahoo! acquisitions).

<comment><USER5> Yahoo to be honest has actually done pretty well on not running acquisitions into the ground: Delicious, Flickr, Upcoming, Inquisitor, etc.

<comment><USER7> I would not say delicious really thrived though.

<comment><USER5> Sure, nor the others (except maybe Flickr), Yahoo's problem is that they seem to acquire and then do nothing but rarely have they run acquisitions into the ground as such.

<comment><USER8> Flickr's on life support. From what I can tell peering in from the outside, the service is down to a skeleton crew. Too bad, really: I love Flickr, and don't look forward to seeing it croak.

<comment><USER9> The sad thing about Flickr is that it's being killed by Facebook and their massive picture uploading. And the only way that's a superior service is in sharing with friends, it falls way short in every other way. I suppose the sharing aspect is just what consumers have decided to value most.

<comment><USER8> Facebook must be killing them on the consumer side.

On the higher end, photographers are using services like <http://smugmug.com/>, <http://carbonmade.com/> and <http://livebooks.com/>

I fancy myself as belonging to the prosumer/dedicated amateur photographer segment, and Flickr's still the best bet for me due to its social features and willingness to let me upload high-res photos.

But I'd jump ship in a heartbeat if I could find another service that gave me a large community of like-minded photographers looking to improve their craft, AND the ability to securely store all of my RAW files.

Seriously, I cannot overstate how important it is to me to be able to stuff all of my RAW files and finished products somewhere secure (in the data backup sense).

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This seems like it would be a dangerous move on Yahoo's part, aside from the acquisition of talent. This is only my gut feeling, but I don't see users being so vested in the FourSquare service, that if they're unhappy with the direction it is taking, just jumping ship to Gowalla. A lot of people already check in through multiple services, and it wouldn't be too hard a decision to stop checking in with one if it's flavor turns sour.

</comment><comment><USER11> Yahoo is focused on local and so this makes some sense. Twice Jerry Yang vetoed an offer to buy Yelp. Yeah twice. Internally there was some bitterness about missing that deal.

Yahoo needs some M+A action to boost stock momentum and that's a multi-billion dollar move that needs to be carefully planned.

Yahoo also needs to counter the google 'what's nearby' feature.

<comment><USER12> Yahoo is focused on squandering money on overhyped, flash-in-the-pan products, in order to hasten its demise. Words like "stock momentum" and "focused on local" are apparently euphemisms for "lost in the woods".

</comment></comment><comment><USER13> Hopefully history does not repeat itself this time around. I can see no compelling reason to sell (unless you count wealth and having an exit under your belt as one [or two]). What would they gain from selling this service to Yahoo, or anyone for that matter? Doing that would likely start the countdown to another great service destroyed by M&A.

</comment><comment><USER14> Well it's an insane offer, if they don't take it they are insane...IMO The space is getting crowded...

</comment><comment><USER15> Whatever happened to FireEagle (<http://fireeagle.yahoo.net/>)? I haven't heard anything about them for a long time now.

<comment><USER16> AFAIK, it went down with the rest of brickhouse about a year ago.

</comment></comment><comment><USER17> I can't tell who the idiot here is... Google or Yahoo?

</comment><comment><USER18> This is beyond absurd.

</comment><comment><USER19> they won't sell right now. just look at dodgeball.

</comment><comment><USER20> I hate you, Kevin. _</comment>


Dogs using Google Glass - <AUTHOR> https://plus.google.com/109144409426253645616/posts/g3JpnbqNyPV

<comment><USER2> Here it is: [https://www.youtube.com/watch?v=V66PKGRJNk0&feature=yout...](https://www.youtube.com/watch?v=V66PKGRJNk0&feature=youtu.be)

</comment><comment><USER3> James Cleveland

Share

This post could not be found. Your URL may be incorrect, the post may have been deleted, or this account may not have access to the post.

</comment><comment><USER4> You can't view this without having a google+ account

<comment><USER5> It's deleted now… what was this about?</comment></comment>


Arnor — a marketplace for Django projects - <AUTHOR> http://arnor.io <comment><USER2> This looks perfect. I am currently developing a self-contained open-source Django app I aim to allow people to deploy on as many PaaS as possible, but I was bummed out that I still had to include a minor guide to the necessary git and terminal commands.

One-click deployment for Django has been a long time coming from bushi.do (<http://www.gobushido.com/>), so it's great that you are pioneering the Django effort.

Now I just hope that the prices will be low and the tiers intelligible to people with little to no proficiency in web programming, when even I struggle to get the concept of dynos.

 _PaaS - > One-click deploymen_t is without exaggerating the thing I am most excited about from a technological perspective because of the implication for people unfamiliar with the requisite technology.

</comment><comment><USER3> I'm a little confused. As opposed to creating a service with user registration, and maintaining the uptime of this service, instead, I create a Django project that someone can buy? And all maintenance on that instance is handled by gondor.io and that user? If this is correct, then who is my target audience as a developer selling on Arnor? Tech savvy people, only other Django devs, or the general masses that would want to use my code as a service? If it's general masses, how have you made the barrier to entry very low? I don't want to explain what an "instance of my code" is to my mother, but I would love to sell her a django project having to do with cute cat photos :)

<comment><USER2> Here is what was said about Bushido, a similar service for Rails that currently is based on one-click deployment of GitHub repos:

<https://news.ycombinator.com/item?id=2402894>

<https://news.ycombinator.com/item?id=2438002>

<https://news.ycombinator.com/item?id=2939115>

Remember to read the actual articles.

Obviously, the "Django" part makes absolutely no sense to a lot of people, so you don't have to market it like that.

Think of it as a Mac App store for web services, where you don't have to download and compile the binaries, get the dependencies, etc. We are already seeing a revolution in desktop installations with Steam for Windows and Mac, where all you do now is order a game which is then installed - I doubt people today even know there is something called DirectX.

The current way to install internet services for "normal" people is to download a project (from a download URL, not something as abstruse as GitHub where you can struggle to just find the friggin' download link), register a domain, pay an internet host, set up the MySQL database in your cPanel (which looks like shit, in case any of you haven't used it recently), after which you spend half an hour bugging your techie friends about what the hell a public key is, and how the hell you convert the thingamajig to .pkk - this is all after which you have tried finding out how the hell you can connect to your server, so you can drag and drop all the downloaded files into a window. On Windows, this can make a grown man cry, especially when you are using a cheap- ish host and haven't ever heard a whisper of ssh.

When Platform as a Service came about, layers like database, application, caching, load-balancing were abstracted and delegated, but you still had/have to get the latest version of a project or repo, get the dependencies/CLI, and push it to the server. This involves git, the terminal, pip (easy_install/apt- get). After this, you need to configure your service, which is probably done with environment variables and can not necessarily be prompted as a native interface outside of the shell or terminal. Even so, it's a _much_ better experience, because it means you have to concern yourself with a much narrower knowledge domain, because so much of the stack is abstracted, but there is still a lot to be done. With one-click deploys and such, this may no longer be a problem (and any configuration can be presented in a nice interface, because the gondor guys only need to concern themselves with one particular stack, where this most likely will be set up with environment variables in Python).

You might still have a slightly hard time seeing what this exactly means, seeing that there aren't a lot of services to give you an idea, but that's because this obstacle have held back a lot of ideas and projects, and I suspect that we will see a completely new type of services that we couldn't imagine before, because it wasn't possible. We can't extrapolate in the same way from what we are used to, because that would tantamount to imagining that the results of the combustion engine are horses with engines instead of cars.

Just imagine that we might be able to deploy an entire web service from an iPad without any proficiency with Bash, ssh nor programming.

I guess some hackers will never see this, because they want to mess with the gritty innards of everything, so it is possible that this appeals more to people with iPhones and Macs than those using Androids and Ubuntu. The services are most likely as-is, but when people are paid to maintain and update them, users might be able to create services that "just work". And I think the fact that it's a marketplace where people can be paid for the apps mean that we get some very important incentives to create - and maintain! - quality services. Think Apple's App Store.

</comment></comment><comment><USER4> I'm pretty dense, but who is creating what for whom here? I create a Django app on Arnor then sell it to someone who wants to maintain it? A client logs on to Arnor and requests an app and some developer builds it for them?

<comment><USER5> Whereas Gondor is for hosting your own code; Arnor is for hosting instances of other people's code. So it's a marketplace for Django developers to sell (or offer for free) out-of-the-box Django projects that people can deploy with a single click, customizing to the extent allowed by the original project creator.

</comment></comment><comment><USER6> Can someone (or you guys) take this further and create a marketplace for developers to sell, rev-share, or license fully developed applications to marketers, individuals or companies?

<comment><USER5> That's the core of what Arnor will be.

</comment></comment><comment><USER7> I don't usually submit "joke" comments to HN, so I'll resist the urge, even though there is ample opportunity atm.

Great name. In fact, probably the best name.

The idea sounds interesting. I wonder what the benefits might be of having a marketplace on top of a PaaS. I wonder if there are any actual benefits of that.

</comment><comment><USER8> Tell me if I am understanding this:

I can create an application, like a website for realtors (as a simple example), and then customers (like realtors) can pay me and get a hosted instance of my web app. Right?

If so, cool!

</comment><comment><USER9> Hm, we're using gondor.io for an open source project, not sure what is implied by "... We've built the hosting and deployment infrastructure known as Gondor. Now all our efforts are coming together as Arnor."

I presume Gondor.io will continue to exist as it does now?

<comment><USER5> Absolutely!

Think of Arnor as a layer on top for people that want to use other people's code for their site.

Arnor itself just deploys to Gondor and you'll always be able to deploy your own code to Gondor completely independently of Arnor.</comment></comment>


"Algorithm" is not a four letter word - <AUTHOR> http://www.jamisbuck.org/presentations/rubyconf2011/index.html

<comment><USER2> I'd like point out something that isn't mentioned in the slides at all. The ideas behind the algorithm are not just games, not just exercises, not just methods of self improvement. I'm reminded of Feynman's story of the wobbling plate. They have very deep implications for how we design programs and how we design programming languages.

The notion of search (logic programming, constraint solving) is a woefully under appreciated topic - I would argue because our programming languages make it very difficult to apply this kind of beautiful knowledge back onto the programming language itself.

What is a type system if not a kind of maze solver? What happens when you apply machine learning like heuristics to a pattern match compiler? What happens if we can apply algorithm rules at the level of the method signature?

Yes learn some algorithms, then question why our programming languages limit how much we can put these great ideas into practice.

<comment><USER3> _"The ideas behind the algorithm are not just games"_

Clarifying, sorry.. could you elaborate a bit on what you meant by "games"?

<comment><USER4> "Stuff that doesn't matter beyond the novelty of screwing around with it"

</comment></comment></comment><comment><USER5> There's some good stuff here, but a lot of the psychology is ill-founded. Flow, for example, is probably the most effective form of practice, and play often creates flow. Jamis recommends practicing constantly, but it's extremely well established that spacing your practice out gives you more bang for the buck, more improvement per hour of practice. (This is called "massed practice vs. spaced practice", and it's been known since before the dawn of cognitive psychology.)

(There's some pretty good evidence that you can fill the spaces in between your practice sessions by practicing something else — without losing the benefit of spacing.)

The maze generation algorithms, though, are awesome.

My favorite is still this one by Joe Allen:

        /*  email@example.com  */     /* Amazing */     /* Joe Allen 184.108.40.206 */
        int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
        +r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
        ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

<comment><USER6> I definitely was not recommending constant practice--I agree that doing so will hurt you more than it helps you! I was recommending consistently regular practice.

<comment><USER7> "play is not exercise" Is this true? ...I have always thought I've learned more "playing" with programming than when programming to produce a specific output... Or perhaps... I've forgotten the last time I've done something hard.

</comment></comment></comment><comment><USER8> I like the visualizations for the maze generation a lot.

I actually used (yet another) maze generation algorithm for an xbox360 game I worked on as a school project. The constraints were slightly different because we wanted cycles and no dead ends.

You put all the cells in a list and take them out at random. If there are 3 or more walls, tear down walls until there are less than 3. When you are done you cannot have any dead ends because a dead end must have three walls. Of course you can have unconnected loops, so you have to go through and tear down walls to connect unconnected segments when you are done.

I don't know what my point is.

Mazes are neat.

<comment><USER3> A point P is inside triangle ABC iif the angles add up to 2pi. (APB + BPC + CPA == 2pi)

Thought I'd share too, don't have a point. :) graphics programming / dot product is neat.

Actually, there are some pretty fun graphics algorithms. I could ramble on about some, but don't want to intrude / doubt anyone cares but me, heh.

<comment> bulte-rs You've got a 'carer' right here. I'd love to read more on 'traditional' algorithms applied on CG.

</comment></comment></comment><comment><USER9> Another warning, for photosensitive epileptics: there are rapidly flashing lights in that demo. I have a mild form of it and I started to feel weird, so if you're highly sensitive, you'll want to skip running the maze on the slide labeled "aldous-broder-demo".

Here's a tip for UX people: don't make anything flash more than 2 times per second. Also, "in the United States, websites provided by federal agencies are governed by section 508 of the Rehabilitation Act. The Act says that pages shall be designed to avoid causing the screen to flicker with a frequency greater than 2 Hz and less than 55 Hz." So that's the official recommendation.

<comment><USER5> How would you recommend visualizing that algorithm?

<comment><USER10> Visualizing algorithms is unfair, because some people were born without vision and therefore cannot "visualize".

<comment><USER11> The problem isn't that it is unfair to people who suffer of epilepsy, the problem is that it could be DANGEROUS to people who suffer of epilepsy. Someone who is blind can't be harmed by being unable to see this particular visualization.

<comment><USER12> If it's so DANGEROUS why isn't there some kind of active display filter available to dampen temporal frequencies between 2 and 55Hz?

That, and--though it wouldn't have helped in this case--the most I heard about epilepsy complaints is on forums with flashy animated GIF images. Why do they browse with GIF animation enabled? Really, if it's such a health hazard, and _images_ posted on a forum can give you dangerous seizures, why would you take a risk and trust on the goodwill of the community and take your chances with the occasional troll?

I don't want to dismiss the problem, not at all, I just wonder about the victim mentality displayed and lack of proactiveness.

Especially the display filter. If it's an actual health hazard, you shouldn't be asking people not to show flashing imagery on their sites, you should be taking action yourself, making sure your computer display is unable to display this imagery. Any kind of modern 3D GFX card should easily be able to detect flashing areas and dampen and/or motion blur them so they're safe, without much processing power needed. You'll be erring on the side of caution of course, so some video content might be degraded (though with a well-designed filter this should be minimal) so you'll want a key-combo to (at your own risk) temporarily disable the filter (with a parental lock for the children, of course).

<comment><USER5> Yeah, it would be great if everyone who had epilepsy was up to hacking their video card driver to simulate an e-ink display's slow updates. I'm interested to hear what modifications you've made to your own system software to make it suit your preferences.

<comment><USER13> Except that it's not even that. In firefox there is just a setting that disables animating gifs, if this is something that is affecting a significant number of people at any significant level of danger, then why don't people disable it?

It seems to me that the most likely explanation is that the risk is so minimal that people with epilepsy aren't even willing to give up lolcat gifs for it, though it is possible that people are unable to conceive of a setting existing to disable a largely unnecessary feature in a piece of software.

If it is a significant danger, and people don't realize you can disable it, then that seems to indicate a significant failing of the entire system, from doctors to parents to people taking care of themselves properly. I really want to believe that it isn't the case.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> "Play" is boring if it isn't challenging. I completely disagree with the dichotomy presented at the start of this presentation. It seems to imply that improving is painful, and is something you need to force yourself to do.

(Furthermore, I've never found learning about new algorithms to be taxing, and certainly never regarded it as a four-letter word.)

<comment><USER6> My intent was definitely not to portray learning as painful. Learning is a joyful thing. But it's not something you can acquire by passively staring at the world. You need to exert yourself if you want to do more than gain a passing acquaintance with things.

<comment><USER14> Yes; but playing is not passively staring at the world, nor does it involve a lack of exertion, nor yet again lack of a "passing acquaintance". The point of play is that you can exert yourself without having much hard work of willing it. A child with a new toy is highly engrossed, focused, and certainly not passive nor satisfied with a "passing acquaintance".

I guess I reacted to the screwed-up faces in particular; they looked like they were in pain.

<comment><USER6> Our problem here is the overloaded nature of the word "play". I do not disagree that children learn through play. But I'm using the word differently in my presentation: I'm using it to refer to activities that you (as an adult) pursue casually, as a way to relax or enjoy yourself. If you play the guitar very well, for instance, you might take an hour in the evening to just "play", singing along, etc. This serves many purposes, and is definitely valuable, well-spent time, but it does not serve to improve your guitar playing. To accomplish that, you'd need to spend some time working on guitar techniques that you are less accomplished at.

You can see my problem, hopefully. Ambiguity in language has been the downfall of more than one well-intentioned presenter!

<comment><USER14> You have overloaded play in a very specific way in your response; playing an instrument. I'd have preferred it if you'd chosen something else, because I think it introduces a third meaning for play (specific to instruments) apart from both the focused play like that of a child and something an adult pursues casually (which I doubt should be called play).

My hobby (as well as my only form of transport) is motorbikes. I do it for over an hour every day. I'm definitely getting better at it, because of an iterative process of analysis and experimentation. If I just looked at it as a means of transport, I wouldn't be so eager to stretch myself; I'd be content with getting from A to B in a safe and not very efficient manner.

It's completely different to programming, so in some ways it is relaxing; it's certainly highly enjoyable; but it is also simultaneously energizing and tiring. It uses a completely different part of my brain, and gets the adrenaline going.

I think if guitar-playing was my hobby, I'd be focused on improving and having an iterative experimentation / analysis cycle. But if guitar-playing was something I did to make music, perhaps to entertain other people, then the focus is elsewhere. It would no longer be play; it would merely be doing.

What I'm getting at is that play (my definition of it, at least) necessarily implies stretch goals, doing things that you have room to improve at, because without challenge it's boring. What makes it different from work is intrinsic motivation, and hence the lack of a need for application of will.

But you're right in another respect, this is all coming down to a disagreement over the use of words, rather than a disagreement in concepts etc. The start of the presentation just rubbed me the wrong way, and I've made far too much out of this small thing...

</comment></comment></comment></comment></comment><comment><USER15> Personally I really enjoyed the short slide by slide format a lot. Perhaps it's a short attention span brought on by years in front of a computer, but I struggle with massive walls of text occasionally. At the very least I found it to be a nice changed on top of being an interesting subject.

<comment><USER16> Ironically, I lost interest in this at some point because of the slide format. With a wall of text, I can figure out how long it is and whether I want to dedicate the time to read it. These cute arrow-key slides were giving me no feedback how many there are and whether it's going to take half an hour to go through them all, so I closed them. Heh.

<comment><USER17> There's #read/#total in the lower-right corner, fwiw. :)

<comment><USER16> I didn't notice, but apparently I was right to abandon it!

</comment></comment></comment></comment><comment><USER18> _acquainting yourself with theory is acquainting yourself with new concepts. It gives you building blocks and labels that you can build on, and hang later concepts on. Without the scaffolding that theory gives you, you'll miss many opportunities for insight later._

So very true. The difference between the me one year back and the me now is that _I know how and why_ certain things are the way they are. Understanding is enlightening.

 _Ultimately, it is that resistance you need to seek out. Look for things that will challenge you consistely (sic). Work at them until the resistance goes away, and then look for something new. That's how you'll grow your craft. That's what will make you better than you are today._

Amen.

</comment><comment><USER19> I feel I should point out that a lot of people would consider this bad advice.

"It is critical to remember that play is not exercise."

Focusing on what are you're good at (like algorithms for creating mazes), is in fact exercise. You're getting better at what you already consider yourself good at (assuming you don't stagnate - which I think the article is really getting at.)

Should you focus on weaknesses or strengths is a big debate, but strength finder ([http://strengths.gallup.com/110440/About- StrengthsFinder-2.a...](http://strengths.gallup.com/110440/About- StrengthsFinder-2.aspx)) seems like a popular camp.

<comment><USER20> The problem is that you are arguing the analogy. What you are saying neither fits the point or spirit of his slide show.

<comment><USER19> I am just pointing out that the start of the slideshow is a little unnecessary and potentially off-putting, I quite enjoyed the concise diagrams and animations which followed.

I think those with a CS degree and a good understanding of graph theory should still sit and enjoy it!

<comment><USER21> I don't think you need a CS degree to enjoy this. I'm a CS student, and I did. :)

</comment></comment></comment></comment><comment><AUTHOR> For the curious, here's a link to Jamis' repository of Maze visualizations, implemented in CoffeeScript: <https://github.com/jamis/csmazes>

</comment><comment><USER22> Warning: severe pollution of "history" links in your browser ahead.

<comment><USER23> Worked fine for me on Chromuum.

<comment><USER24> <http://ompldr.org/vYWw2MQ>

Looks like this over here.

</comment></comment></comment><comment><USER25> The articles on his blog (<http://weblog.jamisbuck.org/>) give more in-depth explanations for those who dislike the slides.

</comment><comment><USER26> This site crashes my iPad's browser. iOS 5.0 beta 7. Anyone else?

</comment><comment><USER27> Wonderful slides! I hope there will be video further on.

I didn't like "It is critical to remember that play is not exercise." and to improve it I would like to add something like "But it's totally fine if your exercise feels like play. If your exercise is fun it's so much easier to do".

</comment><comment><USER28> I'd like to point out that on the first frame with text on it, the text runs off the screen. So i closed it. I don't even know what the slideshow was about :( firefox 7.0.1 resolution 1280x1024

no text at all in 1024x768

<comment><USER29> Yep. Scaling doesn't work in firefox. It does work in chrome though.

</comment></comment><comment><USER17> This is remarkable. The # of ways to solve the same problem is great (ironically, I knew mostly Prim's and Kruskal's algorithms because they are more common), the visualization is great too. I liked the slide format, a bit too long maybe.

Also, since it's a computer science post :) I would have added time complexity, just for sake of completeness.

A big plus to the whole concept of "code kata".

Great stuff.

</comment><comment><USER30> Pretty. But I would love just a long single page version of it, particularly when it gets to definitions. The page already loads all the content and assets at the start.

<comment><USER31> Try disabling Javascript, it fallbacks to a single page version; at least it does here with NoScript.

</comment></comment><comment><USER32> I think the author did a great job and took quite some time to share his knowledge with us. Pity the average response on HN tends to be a compliment followed by a but.... I guess we feel we are always smarter than the next guy, he just happens to put in the effort :-)

Well done, loved it all the way!

</comment><comment><USER33> You know what they say...

You have a problem, so you suggest "I'll make an algorithm to solve it!"

...now you have 2 problems.

</comment><comment><USER34> Nice, but my browser (Firefox 6.0.2) hung up for a few moments on the last slide and it took me painfully long to close the tab.

</comment><comment><USER35> This is a nice presentation! Apart from the excellent content, what did you use to produce the html slides?

<comment><USER6> The slides presentation was built on top of deck.js (<http://imakewebthings.github.com/deck.js/>).

</comment></comment><comment><USER36> Love the presentation! Can someone point me to similar presentations/resources on same topic?

</comment><comment><USER37> > This set of potential spanning trees is called a spanning forest.

A spanning forest is a graph, not a set.

<http://en.wikipedia.org/wiki/Spanning_forest>

<comment><USER38> If you insist on being pedantic, you can compose a set of spanning trees into a spanning forest, which is a graph.

</comment></comment><comment><USER39> slightly off-topic but an inconvenient of this medium of presentation is that printing fails horribly.

</comment><comment><USER40> Algorithms for brogrammers.</comment>


All Scientists Should Be Militant Atheists - <AUTHOR> http://www.newyorker.com/news/news-desk/all-scientists-should-be-militant-atheists <comment><USER2> You've never heard God mentioned at a conference because the religious people are hiding from bigots like you. Plenty of scientists have seen a connection between faith and science and if you can't, it's probably your own fault.

<comment><USER3> > _You 've never heard God mentioned at a conference because the religious > people are hiding from bigots like you._

They probably should. Religious belief betrays at least a partial rejection of what science even is. If you can apply one set of rules to determine, say, the efficacy of some new drug undergoing testing, but another set of rules to how you believe the universe works, then you don't really understand either.

<comment><USER4> What betrays the rejection of science even more, is making blanket statements or taking strong standpoints, especially on controversial topics. It betrays a propensity for scientists to ignore evidence, or to frame conclusions and experiments to fit their preconceived notions. I would include strong support of religious viewpoints, athiesm and even global warming under this rule.

Once politics or agendas get involved, then science takes a back seat to convincing others that you are right.

<comment><USER3> > _What betrays the rejection of science even more, is making blanket > statements or taking strong standpoints, especially on controversial > topics._

The controversy-value of a statement has no bearing on its truth-value, and to think so is _deeply_ unscientific. Belief in the supernatural is unscientific _by definition_ : once something crosses into the natural realm it comes under the dominion of science. In the meantime, God will not pop into existence if enough people believe in him. Even if I am so persuasive that I can convince every living physicist that I'm immune to the laws of gravity, when I jump off a tall enough bridge I will still plummet to my death. If the fate of our species should we continue on the path we're on, is the collapse of our civilization and binding to this one planet until our eventual extinction, then that is what will happen regardless of whatever clever arguments against climate change you can conjure up. The combined willpower of every living human being could not so much as change the spin of a single electron. The universe is indifferent, and it is hard to overstate just how _dangerous_ it is to ignore this basic fact.

Moreover, taking a strong standpoint is absolutely justified based on the strength of the evidence. To do otherwise implies that the evidence is not so strong. And again, controversy-value has no bearing on this, either.

</comment></comment></comment></comment><comment><USER5> His gay marriage example is instructive of the weakness of this type of argument. Marriage is purely a social institution, so what does science have to say on the subject, anyway? Well, he appeals to equality. If we have these laws, they should be applied equally. Ok then, what's the scientific argument for equality? He takes these things as axiomatic, which, presumably, means that these are the types of things he should most militantly be examining.

What if self-described militant atheists like Krauss took their atheism seriously and considered fundamental values, whether they come from a sincere belief in a deity or not, to be essentially the same, since they basically are if there's in fact no God? They would have to look closer at values and see if there was perhaps a social or personal utility to having certain types of values. Study them, and figure out what makes certain values work well and which ones implode. Create some kind of explanatory model of values. If you will, come up with a "scientific" way of analyzing values. One might even put some effort into examining value systems for consistency, figure out if they have side-effects or study what types of outcomes they optimize for, and make a good one for the outcome you desire. Just don't tell Krauss that this is what philosophy does, because he thinks philosophy is dumb and a waste of time.

</comment><comment><USER6> This person seems like they are unwilling to accept a different idea of how religion and science could be connected than the one he's come up with (essentially, that our universe exists in a test tube and a God interfering is bound to the same laws that we observe ourselves to be). This whole article deserves a "citation needed" marking.

<comment><USER3> Can you offer up some examples where religious "reasoning" directly improved our understanding of the world?

</comment></comment><comment><USER7> To suggest that "Planned Parenthood provides fetal tissue samples from abortions to scientific researchers" is even remotely true is, well, sad. I saw the videos. That's some sick stuff. If this is one of your arguments for objective science, then count me out.

<comment><USER8> True, he seems to be displaying the same characteristics he criticizes religious folks for by assuming the values and beliefs he derives from his culture are self-evident.</comment></comment>


Erlang/OTP by Example - <AUTHOR> http://erlangbyexample.org <comment><USER2> If you get to the part about monitors, consider erlang:demonitor(Ref, [flush]) in your own code. This also removes the monitor message from your mailbox if it arrived in between, which is a real problem in an async setting.

Though in some situations, it is better to just ignore the spurious message when it arrives by tracking what monitors you have enabled in the process state. Unkonwn monitors are just gracefully ignored. The same pattern is useful with timeouts as well. Cancel the timeout, but if it arrives in your mailbox while the cancel is happening, you can just detect an old timeout and ignore it.

<comment><USER3> demonitor flush can be harmful in some instances as it invokes a selective receive to yank the down message from your process's mailbox. In the event that you are demonitor+flushing on a process that has a growing message queue, every flush gets more and more costly - especially if the monitor has already delivered a DOWN message for it to yank.

it's almost always better to ignore down messages that you don't care about.

</comment></comment><comment><USER4> In addition, two other highly informative resources:

* [http://spawnedshelter.com/](http://spawnedshelter.com/)

* [http://beam-wisdoms.clau.se/en/latest/](http://beam-wisdoms.clau.se/en/latest/)

</comment><comment><USER5> This is also a fantastic Erlang learning resource: [https://learnyousomeerlang.com/](https://learnyousomeerlang.com/)

</comment><comment><USER6> I'm kind of sad that Elixir is getting all the love and the cool resources since I much prefer Erlang's syntax. Thanks for this page!

<comment><USER7> I love Erlang too, but I don't think Elixir's popularity is stealing love away from Erlang. If anything, I think Elixir compliments Erlang and provides a path for people to enter the world of Erlang, BEAM, and OTP that they didn't have before. Elixir helped to lower the bar of entry. My understanding is that the Elixir team has also helped drive some improvements in Erlang, which is nice.

Personally, I love both Erlang and Elixir and hope to ride out the rest of my career on these platforms.

<comment><USER8> I agree wholeheartedly. Elixir gave me an opportunity to start to play around with Erlang and OTP. While I prefer using Elixir, its ability to mix and match with Erlang has made it a great gateway.

</comment></comment></comment><comment><USER9> As someone who has worked two jobs now writing, deploying, and operating Erlang clusters, I recommend switching to Rust. Erlang requires a lot of TLC to get right, it's super slow, and it's hard to burst. Like, super hard to burst. Erlang nodes are meant to cluster as a k graph and never go down. Modern ops, especially container ops, does availability through ephemerality of services. The BEAM just doesn't like to be treated like cattle. Also Erlang has notoriously bad error messages, very little abstraction, and converting between binary strings and lists is a pain. Gaining Erlang operational knowledge also takes a while. We eventually had to rewrite things like gen_server, ditch mnesia etc. as we scaled.

So why Rust? Like Erlang, it's damn good at concurrency and enables functional programming. It also enables event driven programming through tokio, which is a better fit for web servers than green threads (you're mostly waiting on the network). Unlike Erlang, it's super fast (even at math), has a great type system, amazing error messages, low memory usage, and the community is already quite a bit bigger.

<comment><USER10> I'm going to disagree with you on Rust. It's a very different, very verbose language. It doesn't have any of the stories around immutability that Erlang does.

You say you had to rewrite Mnesia, but Rust doesn't even have transactional memory to start with.

Suggesting that event-driven programming is anything like language-level threading like Erlang and Go is crazypants. A common error in event-driven languages is that you end up writing code that gets slow, and blocks the entire event loop, and everything falls apart, and you get paged at 2 AM, until you add another event loop.

One of the best parts of BEAM is that since processes are isolated and preemptively scheduled, you don't have to manage your own call-backs by hand, and although things may get slow, they'll typically only get slow for that one given process.

In addition to this, the GC in Erlang is great, compared the lack of GC in Rust. I think most of us can agree that unburdening yourself of having to memory management code is a good thing.

Of course, BEAM isn't perfect, after all, it's had no more as much investment as the JVM, and CLR, but I believe its semantics are right for writing _predictable_ , low-latency code.

Also, containers have nothing to do with ephemerality. Cluster management systems which dynamically schedule containers may result in scheduling.

Erlang isn't really a dataplane runtime. Often times, you implement your control plane in Erlang, and farm out your dataplane to something NIFs, ports, or something else entirely.

You're right, disterl is a fucking mess. But, it's better than nothing, and having to write your own IPC.

I suggest you read Joe Armstrong's thesis, or a History of Erlang for more.

<comment><USER9> > I'm going to disagree with you on Rust. It's a very different, very verbose > language.

Erlang is incredibly verbose. It has very few abstractions. Rust has a lot of abstractions. I've rewritten a few Erlang projects now and Rust and I've been able to come out with close to or under the same LOC (I always use specs though).

> It doesn't have any of the stories around immutability that Erlang does.

let expressions are immutable by default. You specifically have to ask for mutability and even then, the Rust borrow checker will always enforce a single writer. Rust definitely has a story around immutability.

> You say you had to rewrite Mnesia, but Rust doesn't even have transactional > memory to start with.

Which is good, because Mnesia is crap and I've had to deal with chucking it out the window several times now. Rust has good library support for STM that is completely optional.

> Suggesting that event-driven programming is anything like language-level > threading like Erlang and Go is crazypants.

They're both models of concurrency, and you can achieve parallelism through either. Oftentimes one is better than the other for a given task (usually determined by the bottleneck), such as serving web requests bottlenecked by IO.

> A common error in event-driven languages is that you end up writing code > that gets slow, and blocks the entire event loop, and everything falls > apart, and you get paged at 2 AM, until you add another event loop.

Most high performance web servers use event loops. See the paper "An Architecture for Highly Concurrent, Well-Conditioned Internet Services" for an overview. There are lots of issues with green thread models. See some of the work done by Brian Cantrill for examples, and why it may be a bad idea to bake them into a language.

> One of the best parts of BEAM is that since processes are isolated and > preemptively scheduled, you don't have to manage your own call-backs by > hand, and although things may get slow, they'll typically only get slow for > that one given process.

I think you're caught on the idea that Rust is Javascript or Python. In Rust you can parallelize an iter chain by changing one method call. You can also use multiple event loop to dispatch to handlers. There is no one size fits all solution to concurrency.

> In addition to this, the GC in Erlang is great, compared the lack of GC in > Rust. I think most of us can agree that unburdening yourself of having to > memory management code is a good thing.

Disagree strongly. See Steve Klabnik's latest posts on static garbage collection in Rust for an enlightening take. Rust does have a GC, and it has no runtime performance hit.

> Of course, BEAM isn't perfect, after all, it's had no more as much > investment as the JVM, and CLR, but I believe its semantics are right for > writing predictable, low-latency code.

Erlang isn't low latency. It has _predictable_ latency.

> Also, containers have nothing to do with ephemerality. Cluster management > systems which dynamically schedule containers may result in scheduling.

This is pedantic. Any non-trivial container deployment will have to deal with ephemerality. If you're replacing an Erlang cluster, it will be even moreso an issue because you'll need some level of fault tolerance from the orchestrator.

> Erlang isn't really a dataplane runtime. Often times, you implement your > control plane in Erlang, and farm out your dataplane to something NIFs, > ports, or something else entirely.

NIFs are extremely dangerous. We've had critical bugs that have taken down entire clusters thanks to NIFs. The architecture your describing is also exceedingly rare. Most Erlang deployments are handling soft real time workloads like routing chat, queue messages, web requests, that have no language separation between control and data.

> You're right, disterl is a fucking mess. But, it's better than nothing, and > having to write your own IPC.

In many cases it is better than nothing. It will take a huge amount of wasted effort to fix some of the scaling issues I'm currently having with our Erlang cluster.

> I suggest you read Joe Armstrong's thesis, or a History of Erlang for more.

I've read Joe's thesis. I'm assuming your point is that I somehow don't know anything about Erlang despite having worked on it for years professionally and attended multiple Erlang Factorys/given talks on the subject.

<comment><USER11> If you don't mind, can you give some more details on what you don't like about mnesia? Everybody says it's awful, and it surely has warts, but I've seen it scale ok to 512GB+ datasets in disc_copies tables, and it works alright with a couple caveats.

a) Not sure if it changed, but mnesia startup was very brain damaged -- fixing up the local data from disc, then throwing it all away to load from peers is a lot of wasted time. It's much faster to remove all the local tables on disk before starting the node so it short circuits to copying from the peers. Even when it's faster, sending over half a terrabyte of data takes a while. Some sort of persistent transaction logs for peers would be nice.

b) network partitions aren't fun at all

c) we direct mnesia read and write for a key into a specific process to enforce serialization, and then we use dirty read/writes; so we skip all the locking.

d) we've certainly patched a lot of things in transaction sending and receiving over long distances, especially needed if your network isn't clean.

Anyway, thanks for your thoughts all over this thread.

<comment><USER9> \- One big issue is that when there is a replication stream going between peers it will bottleneck how many fragments can be updated.

\- Large tables make restarts really slow (have to read everything from ETS).

\- Table dumps cause spikes in load.

\- Uses a lot of RAM.

For net partitions, I just alert on it and fix it manually. Mnesia isn't bad as a cache, bad as a database.

</comment></comment></comment></comment></comment><comment><USER12> Cool site!

PS: Content looks cropped on an iPhone 7 nonmatter how you resize it

<comment><USER13> Can't read the left half of any code examples on Android chrome.</comment></comment>


The Quirky Genius of the Dos Equis Ad Campaign - <AUTHOR> http://www.slate.com/id/2218849/

<comment><USER2> Some friends and I once devised a Dos Equis ad campaign. Never did anything with it, but it was awesome.

Goes something like this:

 _Wide sweeping view of a town in Mexico, dusty and full of life_

Voice (singing): Dos Equis, a Mexican beer

Voice: Ray, the guy I buy it from

Ray: Hola!

Voice: Me, the guy, I buy beer for

Voice: Far, a long way to the bar

 _sweeping shot of the town_

Voice: So, I think I'll have a beer

 _Ray offers a beer_

Voice: La, lalalalalala, HAVE ANOTHER BEER

 _A few people have gathered around Ray_

 _Tea vendor offers tea to the camera_

Voice: Tea? No thanks, I'll have a beer

Voice: That brings us back to....

 _A small crowd has gathered, all singing now_

Large chorus: Dos Equis, a Mexican beer

 _Shot of Mexican flag_

LC: Ray, the guy I buy it from

 _Crowd, with Ray at the front shouts_

Crowd: HOLA!!!

LC: Me, the guy, I buy beer for

LC: Far, a long way to the bar

 _By now, the entire town is partying_

LC: So, I think I'll have a beer

 _Sound of hundreds of tankards clinking_

LC: La, lalalalalala, HAVE ANOTHER BEER

 _Crowd cheers_ _Crowd mocks tea vendor_

LC: Tea? No thanks, I'll have a beer

LC: That brings us back to....

 _Fireworks start going off_

Entire Town: Dos

 _fireworks_

ET: Equis,

 _fireworks_

ET: a Mexican beer

 _fireworks_

ET: Ray, the guy I buy it from

 _Ray, completely naked, jumps off the roof using a Mexican flag as a parachute, screaming_

Ray: HOLAAAAAAAA!!!

ET: Me, the guy, I buy beer for

ET: Far, a long way to the bar

 _Entire town marching down the road, out of the town_

ET: So, I think I'll have a beer

 _Crowd cheers_

 _Fireworks_

ET: La, lalalalalala, HAVE ANOTHER BEER

 _Crowd cheers louder_

 _More fireworks_

ET: Tea? No thanks, I'll have a beer

 _Tea vendor throws a bucket full of tea over the crowd_

ET: That brings us back to....

 _Town explodes, fireworks everywhere, buildings shattering into shards that turn into splashes of beer. A huge column of smoke now rises where the town used to be. Green flashes are seen in the cloud of smoke, and the Millennium Falcon swoops out of the smoke, with two Tie fighters hot on its tail._

 _Fade to logo_

<comment><USER3> I skipped most of the middle, but the ending did not disappoint!

</comment></comment><comment><USER4> This has got to be my current favorite Ad campaign, using Chuck Norris style one liners. I want to be "the most interesting man in the world" I should drink Dos Equis.

<comment><USER5> It's also interesting that he always says, "I don't always drink beer, but..." I suppose that they are targeting men that mostly drink hard liquor?

<comment><USER6> Hard liquor or alcopops. I read it as targeting men who don't really like beer, but drink it sometimes to fit in. "Drink Dos Equis: it doesn't suck as much as other beers."

<comment><USER7> Advertising to men who drink alcopops or cider is very different, it's much less traditionally masculine and much more, ermm, metrosexual. I don't imagine there's much crossover.

</comment></comment></comment></comment><comment><USER8> The ad campaign does flow through well on radio. I heard this one the other day and I knew right away that it was a Dos Equis.

"Most songs about love are written for him, about him, or by him.

He'd never initiate a conversation about the weather, even in a typhoon.

He's against cruelty to animals, but isn't afraid to issue a stern warning.

Whatever side of the tracks he's currently on is the right side. If he crossed them, he would still be the right side.

He won the same lifetime achievement award twice."

</comment><comment><USER9> It's refreshing to see a beer ad that doesn't take the viewer for an idiot. What we see here in Montreal right now is just ridiculous:

<http://img195.imageshack.us/img195/1517/bud1t.jpg>

<comment><USER10> America exports Budweiser to other countries? I'm so sorry.

<comment><USER11> Bud tastes way better in Prague though.

<comment><USER12> They actually sell it in the US as Czechvar- one of my favorites, incidentally.

<http://en.wikipedia.org/wiki/Czechvar>

</comment></comment></comment></comment><comment><USER13> The Dos Equis ads never fail to amuse me on account of the alleged college application essay I read sometime in the early days of the web.

EDIT: Apparently written, in 1990, by musician and author, Hugh Gallagher, as a satiric personal essay turned internet meme.

3A Essay

I am a dynamic figure, often seen scaling walls and crushing ice. I have been known to remodel train stations on my lunch breaks, making them more efficient in the area of heat retention. I translate ethnic slurs for Cuban refugees, I write award-winning operas, I manage time efficiently. Occasionally, I tread water for three days in a row.

I woo women with my sensuous and godlike trombone playing, I can pilot bicycles up severe inclines with unflagging speed, and I cook Thirty-Minute Brownies in twenty minutes. I am an expert in stucco, a veteran in love, and an outlaw in Peru.

Using only a hoe and a large glass of water, I once single-handedly defended a small village in the Amazon Basin from a horde of ferocious army ants. I play bluegrass cello, I was scouted by the Mets, I am the subject of numerous documentaries. When I'm bored, I build large suspension bridges in my yard. I enjoy urban hang-gliding. On Wednesdays, after school, I repair electrical appliances free of charge.

I am an abstract artist, a concrete analyst, and a ruthless bookie. Critics worldwide swoon over my original line of corduroy evening wear. I don't perspire. I am a private citizen, yet I receive fan mail. I have been caller number nine and have won the weekend passes. Last summer I toured New Jersey with a traveling centrifugal-force demonstration. I bat.400. My deft floral arrangements have earned me fame in international botany circles. Children trust me.

I can hurl tennis rackets at small moving objects with deadly accuracy. I once read Paradise Lost, Moby Dick, and David Copperfield in one day and still had time to refurbish an entire dining room that evening. I know the exact location of every food item in the supermarket. I have performed several covert operations for the CIA.

I sleep once a week; when I do sleep, I sleep in a chair. While on vacation in Canada, I successfully negotiated with a group of terrorists who had seized a small bakery. The laws of physics do not apply to me.

I balance, I weave, I dodge, I frolic, and my bills are all paid. On weekends, to let off steam, I participate in full-contact origami. Years ago I discovered the meaning of life but forgot to write it down. I have made extraordinary four course meals using only a mouli and a toaster oven. I breed prizewinning clams. I have won bullfights in San Juan, cliff-diving competitions in Sri Lanka, and spelling bees at the Kremlin. I have played Hamlet, I have performed open-heart surgery, and I have spoken with Elvis.

But I have not yet been to college.

</comment><comment><USER14> I have to say I love this line of commercials and it actually works. Last time I was at the beer store, I asked for a Dos Equis specifically because I'd never tried it and this commercial made me aware of it.

Alas, they were out of stock.

<comment><USER15> It's somewhat unfortunate that the beer is so terrible - like I'd forgotten how much I don't like Dos Equis until I ordered one (as a result of the ad).

</comment></comment><comment><USER16> Although I've never been a fan of the beer, I love the marketing tactics Dos Equis took here. The humor is very relevant, as mentioned earlier, to the "Chuck Norris doesn't breathe, he holds air hostage" approach. These jokes are still is extremely popular, and Dos Equis was creative enough to put their own spin on it. If they got us all talking about it, then they must have done something right. I just hope they don't play it out like the Geico did with the cavemen.

</comment><comment><USER17> While I do like their commercials, Dos Equis is a horrible product. Why put so much money and effort into avoiding having to make a better product?

<comment><USER18> Horrible product? Really? Have you had much Mexican beer? It's no worse than Modelo or Tecate or Pacifico. Much, much better than Corona.

<comment><USER17> All Mexican beer is bad. It isn't their forte.

<comment><USER19> Of course, Dos Equis was created by a German.

</comment></comment></comment></comment><comment><USER20> The great thing is that they can hit the radio well, and their websites are great: <http://dosequis.com/academy/>

</comment><comment><USER21> He _is_ the larger than life fictional character that we _sarcastically_ refer to Chuck Norris as.</comment>


Ask HN: What self talk you do when starting a new habit ? - <AUTHOR> I have trying to restart my old habit of jogging in the morning, but not quite getting the push. In first week he got up in morning 5 days, then next week 2 days. Its not that i do not enjoys it, i do enjoy it and thats why i'm trying for it.
Although at night i'll tell my self " i'll get up early in the morning, will go for jog". I dont know what it is but not able to convince  myself with wholeheartedly.
I guess it is more important what you tell yourself to keep yourself on the track so that you do not lose focus specially when you are picking new habit.
What you have told to yourself in such a situation, if you have been in such situation ? <comment><USER2> I may be able to help, I worked as a personal trainer before I found my calling .

Sounds like you're giving yourself a chore, your body will do what comes natural. Procrastinate. And Hey, I've been there, cold yet warm morning bed, its more restricting than handcuffs.

Try this. Lower your expectations. Seriously. A big reason why most people don't follow through on diet/exercise goals is they become disillusioned when they do not see results or their own bodies seems to have its own agenda. Don't make plans of grandeur. Set your alarm to your preferred time, get plenty of sleep if possible. As soon as that buzz goes off, jump out of bed and go take a shower. Now that you're awake, you can work out. Do this enough and your body will take a hint.</comment>


Show HN: Movie Costumes – Costume Ideas from Top Movies - <AUTHOR> http://www.topmoviecostumes.com

<comment><AUTHOR> A little background about me and the project. I'm a PHP dev wanting to move to Ruby and RoR. This project is for me trying my new found RoR skills. I created a site with the same idea (movie costumes) about 2+ years ago using Wordpress, but since I'm lazy updating blogs, the project failed. For this new project, I use themoviedb.org API to find movies so I don't have to update the site with new content. I hope I get good feedback from you guys. :)</comment>


Ask HN: Common sense emacs tutorial that doesn't assume I'm stupid? - <AUTHOR>

I know there are tons of tutorials on anything I want that I could find via google.  However, I'm wondering if anyone knows of a good emacs tutorial that assumes I know why way around a command line and am familiar with programming.  I have recently read The Little Schemer and am currently reading SICP, and I am starving for a better Lisp workflow.  For example, interacting with my own code via a REPL is something I would love to experience.  I have read some tutorials and had a bit of success, but it's mostly skimming through either elementary stuff, or stuff that assumes I already know emacs.  Thanks a lot for any tips or links. <comment><USER3> Emacs has pretty good/massive documentation: for help, just press "C-h t" (Control-h, then t ...) for a tutorial. Or, type "M-x info" to get into info mode and then scroll down to the Emacs section. Type 'h' in info mode for a tutorial on info ...

Are you using Scheme or Common Lisp? For MIT Scheme or similar, you might want to take the Emacs tutorial in Edwin instead (start MIT Scheme with the "-edit" flag) since it contains Scheme-specific commands. Also check out <http://www.gnu.org/software/mit-scheme/> and follow the directions to install xscheme.elc - it gives you a Scheme-mode optimized for MIT Scheme. This doesn't compare to SLIME mode for Common Lisp, but I don't know of a good substitute.

That said, there are QUITE a lot of Emacs and Scheme-mode commands, and the only way to learn them is through use. Once you're familiar with the basics (motions and evaluating), you might take a list of commands you want to master and put up two or three at a time, making a point of using them. Here's a very limited and basic set of Emacs/Scheme commands: [http://github.com/bcdarwin/SICP/blob/master/emacs_bindings_s...](http://github.com/bcdarwin/SICP/blob/master/emacs_bindings_sheet.html)

There is also customization via the .emacs file or Emacs Lisp programming; see the Emacs info documentation or the O'Reilly books on this.

</comment><comment><USER4> You might try the elisp programming intro. You can read it online at <http://www.gnu.org/software/emacs/emacs-lisp-intro/>, but the right way to access it is within emacs. It should have an entry in the list of top-level nodes you'll see if you hit M-x info.

Emacs also has a built-in repl, the Interactive ELisp Mode. Hit M-x (alt-x) and type ielm (your cursor will have jumped down to the minibuffer below the mode line) and hit enter. You'll find yourself in a buffer with an elisp prompt, where you can use tab completion and elisp's doc functions to do a lot of learning:

      (documentation FOO)
      (apropos STRING)

documentation finds the docstring attached to function FOO and apropos searches for functions whose names match STRING.

</comment><comment><USER5> DrScheme (included with PLT-Scheme) is best for learning Scheme IMHO - <USER2> different language packs are really helpful, the stepper is AMAZING (using the stepper was the only way I was able to grasp/see a continuation and collector in real time).

Emacs is my primary programming environment but thus far DrScheme beats Emacs with it's visual debugger and stepper - it is perfect for learning.</comment>


Ion Torrent's chip-based genome sequencer is poised to revolutionize medicine - <AUTHOR> http://beta.spectrum.ieee.org/biomedical/devices/the-gene-machine-and-me <comment><AUTHOR> I am developer at Ion Torrent. If you want to help hack the future of medicine, I am looking for Python and Django hackers to join my team in San Francisco. We are a totally open source shop.

We also need awesome electrical engineers, mechanical engineers, signal processing engineers, CUDA hackers, FPGA developers, statisticians (we use R too), bioinformatics folks, JavaScripters, UI people, distributed systems engineers, documentation and developer evangelists, DevOps and SREs, and testers. Not to mention all the wet lab bio stuff.

email me at email@example.com if you are interested

<comment><USER2> Hi Ion Torrent dev. This is a really exciting project.

The article says "decipher a human genome in a few hours, and at the bargain- basement price of $1000".

Does this mean the hardware will cost $1000, or does a complete sequence cost $1000 of consumables/depreciation?

<comment><AUTHOR> That means the cost of consumables is $1000.

</comment></comment></comment><comment><USER3> One point worth mentioning. Ion Torrent is one of several companies that develops high-throughput or 'nextgen' sequencing platforms 454 and Illumina being the other big players right now. Each technology has a few important nuances that make them better or worse for a particular project. Some of the major things one looks at are cost of the device and library construction, error rates due to PCR amplification steps or nucleotide calling, library sizes, and maximum read length but there are many more. In addition, pore technologies will definitely become important in the near future because they enable single molecule experiments which are currently impossible without amplification using the above platforms.

<comment><USER4> Ion torrent appears to be the same platform as 454, but with detection via chemical means (ISFETs) rather than optical transduction. One of the big drawbacks of the 454 technology that doesn't get talked about a lot is that the immulsion PCR/microbeads require a lot of preparation before the actual sequencing run. On the 454, I believe the sequencing time was ~8hrs, but the preparation time (at least at the facility where I was involved) typically took more than 8 hrs. In terms of actual sequencing time, it's the best system. But as you said, read length is a major issue with all of the current "nextgen" systems that should be resolved with nanopore sequencing.

<comment><USER3> From a clinical / experimental standpoint there's very little difference between 4,8,16 hours. It's all essentially 'next day' right now because common practice is to send the sample off to a genomics core and they drop the data on a server for you after they've run it through their pipeline. Many experiments require their own library construction but clinical pipelines generally don't and again, the machine prep time is not the bottleneck it's deciding what to include and how to lay things out. From what I understand 454 accommodates the longest read lengths right now but this seems to change month to month, also from what I understand 454 has a lot of trouble with short length libraries.

<comment><USER5> PacBio has average read length now of about 5000 bp whereas 454 is still only about 1000 bp.

</comment></comment></comment></comment><comment><USER6> For $50, I had 23andme read my genotype for a pretty significant number of already studied genes, but far from my complete genome.

How much of a difference does it make to the end user whether their complete genome is sequenced, compared to 23andme's model?

<comment><USER7> 23andme is babyish relative to what's coming. Even exome sequencing does not provide the whole story. There are so many conditionals, so many sequences important in regulation, so much of the "dark" genome that actually codes for RNA. Sure, some SNPs are highly predictive, but there are compensatory mutations and regulatory gene circuits. Everything works together and must be weighed together. Even with whole genome we still need epigenetics and we need time-lapse data and sampled location specific (cell and organ system) genomic data to really produce clinically relevant predictions.

<comment><USER7> Interpretation is an indefinite field - statisticians and econometricians will be highly valued.

</comment></comment></comment><comment><USER7> The cost comes from the continuous washing and waves of nucleotide additions (reagent costs). Illumina's technology suffers the same difficulty. The promise of PacBio's technology is that it does not require this continuous washing and staggering of nucleotide additions (unfortunately PacBio was not able to translate its technology to high-throughput high-accuracy or manufacture properly its version of "chips" [SMRT cells] for Single Molecule Real-time Sequencing). I'm afraid the cost will not come down significantly for iontorrent or illumina without a fundamental improvement in reagent utilization techniques or reduction in reagent costs.

<comment><USER5> I agree PacBio doesn't have the high-throughput of Illumina or similar amplification approaches yet, but from last month's AGBT conference papers it's clear that it's now more accurate than other systems with typical coverage (no bias, covers repeats, Q50-60, etc.)

</comment></comment><comment><USER8> I'm all in for technological progress and advanced medicine but how long before Gattaca type scenarios become real? Will companies start screening candidate employees? will this split the world in classes of good genes and bad genes? how about dating? will you future wife to be check your genome before saying YES?? its a future the scares me.

</comment><comment><USER9> The non-beta-site version of the article is here: [http://spectrum.ieee.org/biomedical/devices/the-gene- machine...](http://spectrum.ieee.org/biomedical/devices/the-gene-machine-and- me)

</comment><comment><USER10> Forget sequencing - DNA synthesis and designing of new genetic programs/apps (new creatures) using synthetic biology and software like Genome Compiler (genomecompiler.com) is the interesting future.

<comment><USER11> Sequencing is critical to quality control in synthetic biology. Better/cheaper/faster sequencing = better/cheaper/faster synthesis. It's like chocolate and peanut butter.

</comment></comment><comment><USER12> Problem is there is still the "genome-clinic" gap.

</comment><comment><USER13> Genomics in general has failed to live up to its promises to revolutionize medicine. Why will a cheaper version of the same thing fare significantly better?

<comment><USER14> It does not show up as just one thing.

There are several 'wonder' cancer drugs for example that came from analyzing DNA and people know to use them by doing DNA sequencing. It's also helped 'cure' several rare but debilitating diseases. Honestly, it's rapidly approaching the value of antibiotics which clearly was a major revolution.

Anyway, the reason why full DNA sequencing is so important has a lot to do with research. When you know what some sequence does then you can look for that. But, being able to build a database of say 100,000 peoples full DNA sequence for say a billion or less let's you look for those sequences far more easily.

<comment><USER13> Approaching the value of antibiotics? That's a pretty bold claim, and it seems entirely unsupported.</comment></comment></comment>