France's Diminished Liberties - <AUTHOR> http://www.nytimes.com/2016/01/04/opinion/frances-diminished-liberties.html <comment><AUTHOR> Hollande did the same speech as Bush in 2001: We're at war, we'll restrict liberties, we're sending the army. Since Jan 2015, we've had the Loi sur le Renseignement, which allows secret services to spy individuals. Since Nov 2015, we have warrantless police raids. The Boston bombing shows that US hasn't gotten rid of terrorism after 15 years of this regime.

A journalist from Le Monde maintains a very good blog about it: [http://delinquance.blog.lemonde.fr](http://delinquance.blog.lemonde.fr). For the moment.

We've raided about 2500 homes, including, for example, hunters. Of course we've seized weapons, those people have a valid gun license. Of course we've seized drugs, but that should have been dealt with before the state of emergency and that's still not fighting terrorism. One Muslim father of two, in his 40ies, was able to show 6 testimonials from his police friends about his morality, and is still house-detained. The police is having fun with race- based or denunciation-based raids, but terrorism will never be fought against. We're exceeding the EU debt restrictions with our war in Syria, the #1 driver of terrorism is poverty and police state, and that's exactly where we're going.

I've always believed a cultural difference between USA and France would be that we do not overreact on violence (e.g. We wouldn't invent the TSA or we'd never present false proof of WMD at UN). We've just proven otherwise.

The irony? The terrorists were born in France and Belgium. They're native. It's just a failure of social integration.

<comment><USER2> > I've always believed a cultural difference between USA and France would be > that we do not overreact on violence (e.g. We wouldn't invent the TSA or > we'd never present false proof of WMD at UN). We've just proven otherwise.

Not quite true. We haven't started an illegal war and dragged many other countries in base on fake evidence yet.

The bloodiest attack ever in France during peace time happened only 1.5 months ago, maybe we need a little longer to digest.

It also false to say that investigations have not yielded any result.</comment></comment>


Simplicity is hard. Let's go shopping - <AUTHOR> http://diveintomark.org/archives/2010/02/23/simplicity-is-hard-lets-go-shopping <comment><USER2> I tend to use the "inversion" argument, but mostly with vacations and not physical stuff:

"We should go to Barbados for a week. It's only $1000."

"If someone offered to give you $1000, _plus_ an extra week to accomplish stuff you want to do, wouldn't you take it?"

This works with appliances, too: _not_ buying that juicer means getting a few square feet of counterspace _and_ $100.

<comment><USER3> Actually, research shows that unlike buying stuff, experiences like vacations lead to happiness that does not diminish over time.

You're not just trading $1000 and a week to get stuff done, but also a lifetime of happy memories.

<comment><USER4> research? Point to any?

<comment><USER3> You'll come across this if you read any book on happiness. From a quick search ("experiences happiness") the first result is a CNN article about this: [http://www.cnn.com/2009/HEALTH/02/10/happiness.possessions/i...](http://www.cnn.com/2009/HEALTH/02/10/happiness.possessions/index.html)

</comment></comment></comment></comment><comment><USER5> I really wish more people would accept that giving me something isn't the way to celebrate my birthday or any other event.

<comment><USER6> Left to my own devices, I would never leave the house. So I ask for experiences. From my wife, I ask for her to find a local event that I wouldn't think of going to by myself, and to arrange tickets/reservations/etc. From my parents (who live nearby), I ask for them to watch our kids while my wife and I go to said event. It works well.

<comment><USER7> I really like this idea. I, too, hate getting gifts. I already buy the things I need and gifts just end up getting stacked in the corner.

</comment></comment></comment><comment><USER8> One hell of a relationship this guy's got with his wife

<comment><USER6> It works for us.

<comment><USER9> I doubt that.

</comment></comment></comment><comment><USER10> One way I try to fight this is I bought a big cardboard box and put almost everything in it, which has doubtful usage. Stuff lingering on desks, old gadgets, etc. If I need something I take it out. Whatever is left in the box after a month I throw/give away. A few Arduino boards, accelerometers and RFID readers will soon be available to a good home.

<comment><USER11> _A few Arduino boards, accelerometers and RFID readers will soon be available to a good home._

Interested!!!

<comment><USER12> Me too! If you (i.e. andr) want to send some along to a broke student (i.e. me) who's been saying he'd get around to buying an arduino board or two & building something neat with a musician friend for months now, shoot me an email. :-)

</comment></comment></comment><comment><USER13> Upvoted for pure awesomeness. Coming from a struggling background my mom was a hoarder and I struggle with getting rid of stuff all the time which bugs the hell out of my wife who is a neat freak and likes to have her homespace look like a magazine/catalog home shoot.

</comment><comment><USER14> I've believed in simplicity for a long time, the wife not so much.

I'd given up on getting her to buy in, when our house burned down (nobody was hurt). Now we both believe in simplicity!

(also: buy renters' insurance, even if you're poor. _Especially_ if you're poor.)

<comment><USER15> _I'd given up on getting her to buy in, when our house burned down (nobody was hurt). Now we both believe in simplicity!_

Hmm...how convenient :)

</comment></comment><comment><USER16> This post is a lot of fun, but with a very good point. I particularly like the end of the story where she says _You're getting restaurant gift cards and socks_

</comment><comment><USER17> by pure happenstance, a co-worker linked me today to mark's how to install windows in 5 hours (<http://diveintomark.org/archives/2003/08/04/xp>). i hadn't read his blog before, and he's got an entertaining style

<comment><USER18> I became fan of his writing after I read how I can make fruit salad and get laid. :)

[http://diveintomark.org/archives/2006/06/09/fruit-salad- reci...](http://diveintomark.org/archives/2006/06/09/fruit-salad-recipe)

<comment><USER6> That post still gets 1500+ hits a month from people searching for variations of "fruit salad recipe." I get at least 1 email a month from random strangers who appreciated getting more than just a recipe. :)

</comment></comment></comment><comment><USER19> Move to a boat, that will solve the problem instantly. I have roughly 16 square meters of indoor living area, and that has to accommodate kitchen, sleeping quarters, bathroom, steering, a sofa and a table where 8 people can eat for when I have dining visitors. For very natural reasons you just don't have a lot of stuff.

</comment><comment><USER20> I have several large boxes that haven't been opened in 2-3 moves. I still can't persuade myself to get rid of them.

<comment><USER21> I had this problem too. We had a whole closet filled floor to ceiling with boxes of stuff that hadn't been unpacked in over 5 years.

One Saturday afternoon, I pulled a box at a time out of the storage closet and the wife and I unpacked it onto the livingroom floor.

Each item either: 1) Got placed in the "we will use it within 3 months"

2) Can sell for at least $20

3) Freecycle / Goodwill / Salvation Army

4) Trash

I made 10 trips to our dumpster and 2 to Goodwill. (Am now working on selling the $20/each items)

What am amazing relief. I had no idea how much that huge pile of boxes was weighing down the back of my mind.

So far, we've encountered 2 things we regretted ditching. Honestly though, the only reason we regret it is that we know we had those things. If we hadn't unpacked those boxes I would almost certainly have bought them simply because I didn't even remember they were in a box "just in case I need it someday"

<comment><USER21> Too late to edit/fix. Each of those points above was, one of (contractor garbage bag | large rubbermaid bin | pile on the dinner table)

</comment></comment></comment><comment><USER22> Very enjoyable. I've had similar conversations with my better half. I need to simplify my life as well, I just moved and have boxes of cables to electronics I no longer own. Why can't I bring myself to get rid of that first gen tivo hard-to-find console cable? I don't know.

<comment><USER23> freecycle them. There are groups in most population centers. Someone out there begging to find that tivo console cable.

Me and my wife have been getting rid of items not valuable enough to sell but too valuable to pitch through that channel for a while now.

<comment><USER24> I put all the old books and DVDs I don't want on half.com at a very low price. It's a bit annoying having to mail them all, but it makes me glad to know that they're going to someone who wants them.

</comment></comment></comment><comment><USER25> About 6 weeks ago, I had to pack up all the stuff in my Manhattan apartment and stick it into storage to tend to a family emergency. In 6 weeks I dont think I've missed anything except for a few books.

</comment><comment><USER26> That was so cool. Simplicity is more difficult than clutter. My wife and I moved from a large, "partially cluttered" house on the beach to a small and very tidy house in the mountains. It was not easy going from 2600 sq ft to 1150 sq ft, and after moving 12 years ago we had to make a rule of getting rid of something when we bought anything new.

It takes real energy to go through belongings and decide what to give to the Good Will or to toss.

<comment><USER27> I'm more interested in how it was going from 100 ft to 7000 ft since I'm planning on making that move myself.

</comment></comment><comment><USER28> Is it just me, or does this title reek of disdain for his wife and/or all women?

To spell it out: the "let's go shopping" meme indicates stupidity on the part of women. Here he's using it seriously to complain about his wife having "difficulty" with simplicity. This in turn implies that women in general have this difficulty, and this is a negative trait of the sex at large.

Maybe I'm being a little sensitive here, but I kind of want to smack this guy.

<comment><USER29> Yes, Mark's wife is obviously not tech-savvy enough to read her husband's blog.

Even if there were a big, strong man around to read it to her, she would be the first to agree that it isn't a woman's place to stand up for herself.

<comment><USER28> I don't understand this response.

I really couldn't care less about his wife. I'd just want to smack him if I were her. Or even if I were me. Which I am.

</comment></comment></comment><comment><USER4> I actually had to move to VA about 4 months ago to take a job. I decided to go through EVERYTHING in my life and see what I needed and didn't, so I took a 3 bedroom two bath house worth of JUNK and shrunk it down to an 6X8 Uhaul Trailer. I now have 3 computers, 2 chairs, a bed, a rowing machine to stay in shape, some books and thats all I would take with me again if I did the same thing.. Ive never been so happy with all the junk I don't have...

I highly recommend living a minimalistic life style.

<comment><USER30> 3 computers? I'm sure you have your reasons, but seems a little complicated

</comment></comment><comment><USER31> Good overall point of view. But the author sounds like he's talking to his mother, not his wife.

You have to be authoritative if you're going to undertake something that goes against the norm.

<comment><USER32> I'm guessing you're not married?

(EDIT: I hope this isn't coming off as some '50s "take my wife" routine. My point is that marriage isn't about authority, it's about partnership)

<comment><USER31> Since we're doing the ad hominem thing, I'm guessing that you're American, and your wife makes you sleep on the couch?

In all seriousness, my point is that the person with the more radical view on how things ought to be done has to lead in that instance, and lead with authority. This doesn't imply the entire marriage is about that. But in this instance, yes. His wife would have been more receptive to his point of view if he delivered it with more authority. Passive aggressive "experiments" to prove a point will not influence her point of view and will not carry him closer to the goal of making their lives simpler.

<comment><USER6> I've been leading. I've gotten rid of basically everything I can get rid of without asking for permission, and that _has_ inspired my wife to clean up some of her stuff too. It took my about two years, but now I've gotten to the hard stuff, and -- surprise! -- it's harder than throwing away a box of old papers.

(Oh, and no offense, but telling my wife "we're getting rid of this television come hell or high water" would have been... less than successful in the long run. Every relationship is different. Good luck with yours.)

<comment><USER32> Perhaps the issue here is leading by example vs by authority.

Leading by authority alone doesn't scale. Even in places like the military where leaders have almost unlimited power, relying solely on authority is seen as poor leadership. Either you're ultra-charismatic or you just have to make sense to people.

</comment></comment></comment></comment></comment><comment><USER33> This is perhaps my first meta-comment, but I can't believe such a unbelievably banal post got 238 upmods here. "I tried to unplug my TV, my wife fought against it." That's it. Pathetic.</comment>


State of Emacs Lisp on Guile - <AUTHOR> https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.html <comment><USER2> Honest question: what are the benefits of Guile Emacs in 2020 and after? Guile speed? I'm aware Guile (especially) later versions got really good VM and general optimizations, but with recent work in gccemacs [1] and having complete gcc optimization engine under the belt, can these two be even compared? Also, gccemacs showed you get visible speedups in some use cases only.

Have everything under Guile umbrella? Remember, Guile is getting trickier and trickier to build over the years and I don't want that from scripting language whose main idea was to embed it (presumably also ship the source alongside your program in some cases). I'm getting impression even python source & build is easier to ship and you can't go below that.

Also, modern Guile compilation time is abysmal. I recently ditched Guix [2] from my system because bootstraping on fairly modern laptop would take hours, mainly because Guile is trying to compile some helper scheme libraries needed for guix to work and recompile everything again with 2-3 different gcc versions (which are bootstraped too).

[1] [http://akrl.sdf.org/gccemacs.html](http://akrl.sdf.org/gccemacs.html)

[2] [https://guix.gnu.org/](https://guix.gnu.org/)

<comment><USER3> The are no benefits. In fact, what few folks consider benefits -be able to extend Emacs with JavaScript or Scheme- I think are major issues that have the potential to destroy Emacs.

Emacs Lisp fits the problem domain like a glove. Someone in this thread called it 'the worst Lisp' but that's a mischaracterization. It's actually a good, practical, Lisp and far from the worst. In short, there is enormous value in the current Emacs Lisp ecosystem, and every heavy Emacs user knows it.

Guile doesn't really have much to offer, given its terrible performance, lack of interest from developers (and some would say users), platform-compatibility issues and strong potential for diluting a very valuable, very cohesive ecosystem.

It is a project that is slowly languishing while Emacs Lisp is slowly but surely getting better.

<comment><USER4> I called it "probably" the worst lisp. I enjoy very much working with elisp, and almost 100% agree with your characterization of it.

But it is a fairly clunky language with all it's let, letstar, letdash, letstardash... You know what I mean. I am no elisp history expert, but I believe that is due to it's age and how easy it is to extend.

And just to reiterate, I have never felt limited by it, I really like it, I would not change it and it solves the domain problem just fine.

<comment><USER3> There are Lisps out there that are actually bad. For example, I find every Clojure-inspired neoLisp to be bad. Or something like newLISP. These are bad Lisps because they suffer from fundamental design errors that go against the concept of Lisp itself.

On the other hand languages like TXR Lisp and Emacs Lisp have made certain compromises in order to better fit their problem domains, but are fully aligned with the core ideas of Lisp as defined through its historical evolution.

I also don't see let, letstar, etc as clunky but I've also been using them for more than a decade (and am firmly in the Lisp Machine Lisp -> Common Lisp camp).

<comment><USER5> > These are bad Lisps because they suffer from fundamental design errors that > go against the concept of Lisp itself.

So can you elaborate on what those design errors might be? And what exactly is the "concept of lisp"?

<comment><USER3> One example: [https://www.gnu.org/software/emacs/manual/html_node/elisp/Co...](https://www.gnu.org/software/emacs/manual/html_node/elisp/Cons- Cells.html)

The concept of Lisp through its historic evolution refers to the set of ideas and implementation details that allows one to read a book about Lisp written 40 years ago and apply the same concepts through a language called Lisp today without any -major- changes.

If that's not possible or involves substantial programming logic rewriting, the language should not be viewed as Lisp.

</comment></comment></comment></comment></comment></comment><comment><USER6> Guile is almost 30 years old. It's GNU's Scheme implementation. People wanted to replace the nonstandard Emacs Lisp with Scheme but since so much code was written in elisp, they didn't want to throw it out.

At this point someone should abstract out the Emacs definition so others could build it with Scheme or Clojure.

Emacs is basically a Lisp interpreter. They wrote the parts that needed to be fast in C and the rest is elisp.

45 years ago Emacs needed to be built in C. Today the entire thing could be built with a standard Lisp.

I suppose if someone wrote an Emacs in Scheme, the projects could converge once Guile is integrated into Emacs

<comment><USER7> I sometimes feel that someone needs to declare "elisp bankruptcy" in the same vein as one declares inbox bankruptcy, accept that implementing all of elisp in another superior lisp is too much work, write a better emacs-alike from the ground up in a proper, performant lisp, and let the package authors do the work of porting their packages.

<comment><USER8> This has happened, and the result is VSCode.

Of course, ES6 is less powerful than Scheme, but the speed and the mindshare outweighed the homoiconicity and the macros :-\

<comment><USER9> Anecdata: I switched from VSCode to Emacs because VSCode kept freezing, have not once regretted that decision.

<comment><USER8> This is especially funny given ES6's allegedly superior concurrency story.

30 years in development do help avoid some pitfalls, though.

</comment></comment></comment></comment></comment><comment><USER10> Well, one of the major points of Guile (speed) is becoming obsolete as people are working in native-compiling elisp with libgccjit[0]. It provides great speed benefits: an average of x3~4 and up to ~x20 on recursive functions. With type annotations we can speed it up more — no need for a Guile JIT for speed anymore.

[0]: [https://akrl.sdf.org/gccemacs.html](https://akrl.sdf.org/gccemacs.html)

<comment><USER11> Guile-Emacs was making a larger point about GNU: What if instead of each application being its own island, there was more of a shared infrastructure? A text editor (or any other GNU application) shouldn't have to concern itself with programming language implementation, they should be able to focus on their problem domain. GNU devs could use Guile as a solid base for user- extensible programs (something GNU as a whole is supposed to value, but in practice mostly doesn't except for Emacs and a few others.) I don't think this will ever happen because GNU lacks cohesive vision and leadership, but Guile- Emacs was a worthy experiment anyway. There is one success story in GNU, though: Guix. That project has demonstrated the mutually beneficial relationship that other GNU projects could have with Guile if they ever wanted to go that route.

</comment></comment><comment><USER11> This article is pretty biased against Guile. Guile-Emacs was a very neat experiment and the fact that it worked at all was remarkable but the prototype didn't get traction with the Emacs devs. It should be no surprise that it has issues because it was never completed! That's not an indictment of Guile or Emacs (both are wonderful), there just wasn't the necessary desire to make it happen so it fizzled out.

<comment><USER12> Guile-emacs also used a lot of Emacs functions for elisp functionality. The author is trying to draw conclusions from the test suite failing, but forgot to include a large chunk of the run-time.

</comment></comment><comment><USER13> Unfortunately, this comparison uses Guile 2.2. Guile 3 is out and has greatly improved the performance via Wingo's JIT.

AFAIK the biggest point that brought Guile-Emacs to a standstill is the internal string representation of Emacs that is different from Guile's native format.

<comment><USER12> I am not sure that would help. Guile elisp is slow. I don't think there is anything stopping it from being as fast as guile sche, except for maybe man- hours.

</comment></comment><comment><USER14> One cool thing I'm doing with Guile Elisp is writing code that can be called by both Guix and Emacs to deal with the packages required by my Guix and Emacs configurations. Mind you it isn't much code, but it's really fun and I find myself sometimes writing Elisp with the intention that I can later call it from my Scheme projects. However, I would prefer to do it the other way around. I would NEVER write my Emacs config in Scheme, but I'd love to write portable libraries that could be called from any Guile supported project in whatever language makes sense for the problem domain.

I think a lot of people miss the point of Guile Emacs. Making Emacs faster or having access to all of Guile's features and libraries is not what the project intends - they are just possible free perks. The purpose of Guile was to allow any project to be extensible like Emacs with an independent module. That means instead of the Emacs folk implementing a native compiler just for themselves, some GNU project that uses Lua to rewrite existing Emacs Lisp libraries, or awesome small projects like Lilypond or Gnucash to have to deal with Guile Scheme all by themselves, all these projects can pool resources and improve their performance and features together. Guile Emacs is not about Emacs, it's about bringing more unity across all the islands of GNU projects.

If I had the know how / the time I would be less talk.

</comment><comment><USER12> Guile elisp is very slow. There are almost no optimization work done whatsoever, and the dynamic state stuff is very slow still. I don't know what the author expected, really.

I think Guile-emacs defers a lot of the core functionality to Emacs C functions as well, which would explain the failed tests.

</comment><comment><USER15> > Most surprising is the abysmal speed of the test[4], I'm looking forward to > anyone being able to explain that part to me.

Just a shot in the dark, but I think since so many tests are failing, all bets are off as to their performance. For example, I could see a test getting into a loop that normally only runs ten times and succeeds, but here gets to run a million times before the test aborts and gives up. Not sure that's what's at work here, but... tests typically have timeouts for a reason (and typically finish significantly sooner than their timeouts, for obvious reasons). :-)

<comment> dan-robertson The tests don't do anything interesting. You can see the code to generate the tests in the article. All the tests do is see whether each symbol (from whatever symbols the author had when they started emacs) is defined in the environment and, if so, that's a pass.</comment></comment>


How do I find a cofounder? - <AUTHOR> I have been working on an idea part-time a few hours a week for the past few months, but I always find myself overwhelmed and really wanting someone else who is passionate about the idea and can pull some of the weight. Where do I find this person/group of people? <comment><USER2> ask me!

<comment><AUTHOR> hey! email me at firstname.lastname@example.com

We can talk about the project and see if you're interested.</comment></comment>


Does a non-compete mean I can't change jobs? - <AUTHOR>

I have a non-compete agreement with my current employer. It extends 1 year after the end of my employment. I am in the U.S. (Ohio). Does this mean that I can not seek new employment without waiting for the agreement to expire. I am an iPhone developer and want to accept an offer from another iPhone company. Other than that both jobs are developing for iOS, they are not in related business areas. I understand how in certain cases these agreements help protect a company's IP, but I don't know where the line is. Since I have only been in the industry for 2 years, I don't know what the general consensus is on what is ethical and legal. Any wisdom would be appreciated. <comment><USER2> You can move to California where non-competes (at least for employees at your level) are unenforceable. Unless, of course, there's some way for Ohio law to reach out to another state, which I think would pretty much require taking it to a Federal court (difficult at best). If you choose this route consult a lawyer.

(I strongly suspect Silicon Valley's long term success has more than a little to do with this century or so old policy.)

<comment><USER3> California does protect you against getting into new non-competes. But in finance I have heard of New York non-competes being honored in California. I don't have any case-law (and it could be a successful example of bullying) but you may want to double check.

<comment><USER2> The stakes ($$$) are likely to be a lot higher in finance ... plus finance in the US is so NY centric bullying would likely be more effective; these sort of "would it be worth their while to sue?" questions are where you'd definitely want to talk to a lawyer. Also California's law doesn't cover the highest levels of companies like owners.

<comment><USER2> This article indicates moving to California can work, although it's not really clear legally why: [http://www.boston.com/business/articles/2007/12/30/why_nonco...](http://www.boston.com/business/articles/2007/12/30/why_noncompete_means_dont_thrive_/)

To me this article strongly implies non-competes are non-enforcable after moving: [http://www.crn.com/it- channel/18815740;jsessionid=50NGMBUQKT...](http://www.crn.com/it- channel/18815740;jsessionid=50NGMBUQKTN1TQE1GHOSKH4ATMY32JVN)

EMC is such a junk yard dog in this area and the allegations are described with sufficient specificity that it sounds like whatever non-completes Karwowska signed outside of California they couldn't be used against her when she presumably moved to Silicon Valley. EMC could only claim nondisclosure and nonsolicitation agreement violations....

</comment></comment></comment></comment><comment><USER4> Depends on what your non-compete says. What is the actual language in the agreement you signed?

<comment><AUTHOR> Very similar to this one [http://contracts.onecle.com/ckx/fuller.noncomp.2005.03.17.sh...](http://contracts.onecle.com/ckx/fuller.noncomp.2005.03.17.shtml)

<comment><USER4> So basically, the standard 'any business that competes' language? That is rather vague and open to interpretation. Is another iPhone OS company in competition even if they dont make the same kind of software? Your current employers could certainly make a strong case for that. Unless it is specifically spelled out in the contract well, that is why we have lawyers and courts- to settle the ambiguities in and different interpretations of contracts.

Basically, you won't know unless they try to enforce and either succeed or fail.

</comment></comment></comment><comment><USER5> you could always talk to your boss/HR/whoever and tell them you want to leave. there are a few things that could happen: 1) better offer to stay, 2) give you a letter/agreement to not sue over the noncompete, or 3) fire you, in which case the noncompete suit becomes hairier (you need to find work again, right?).

you could also tell the prospective company of the issue and see if they have a lawyer or anything to check it out.</comment>


Feel free to type anywhere - <AUTHOR> http://www.yourworldoftext.com/msernst <comment><USER2> Spent 30 minutes scrolling to the side following the trail that promised infinite treasures. After a endless track following footprints through the whitespace desert, behold, an oasis of poetry and song. It was like Columbus landing in the new world.

<comment><USER3> Which side?

</comment></comment><comment><USER4> Previously, a submission from the creator: <http://news.ycombinator.com/item?id=742268>

<comment><USER5> That's actually the first place I announced it. Wasn't sure if it was solid yet, but the traffic came so I had to roll with it. It somehow hopped straight from HN to 4chan and out from there.

</comment></comment><comment><USER6> Nice, chatroulette for text. Or Googlewave + 4chan :)

<comment><AUTHOR> With some Google Maps thrown in there. You can drag the screen around.. Try it.

</comment></comment><comment><USER7> My god, how immature are the inhabitants of the web? I was on the site for 2 seconds and was literally quite depressed at what I saw. Why can something like this not exist except with kiddies turning it into an expletive-filled hate and anger textbox?

<comment><USER8> Srsly? You're surprised?

<comment><USER7> It's not surprise. Just sadness at the incredible potential that isn't.

<comment><USER9> What you're looking at actually _is_ potential. It's like we have to flush all this nonsensical, vile shit out of our unconscious to detox it for big creativity. Or like you can't have the crest of a wave without a trough.

I see the stuff you described and I'm always so thankful that humanity finally has public, anonymous dumping grounds for the worst of our id. It's therapeutic and, I think, healthy.

<comment><USER10> Psychologists have pretty much debunked catharsis as being a good thing. [1] I think that having a environment of competitive creation is a good thing only when it causes people to excel, and only then when it is not done to excess and thus burnout or what have you. Sometimes, also, you can get some amazing things [2] when you have a negative influence which causes you to excel, but that isn't what we are seeing here, either. So sad to see so much time wasted on unproductive [3] stupidity.

[1] A weak citation is here (but I bet you could find plenty more where that came from): [http://books.google.com/books?id=Pye5IkCFgRYC&pg=PA853&#...
[2] http://news.ycombinator.com/item?id=1286253
[3] Unproductive in the sense that it isn't helping anybody. As is mentioned in the book excerpt I cited in [1], this isn't even "relaxing" people, except from exhaustion. It would be better if they were doing something which reduced their arousal.

<comment><USER9> It seems to me that creative catharsis is a different beast than the rage catharsis of punching a pillow or screaming. Giving one's moods free reign seems a recipe for bad socialisation. But giving creativity free reign seems a requirement to get some of the stranger or more unexpected results. Ascii cock-and-balls and racism with bad grammar seems a small price to pay.

</comment></comment></comment></comment></comment></comment><comment><USER11> Ah, world of text. Last year I started a journey in the /jp world.

Two full days (some 20 hours) scrolling north, leaving messages and drawings along the way. I have met other people in only one occasion, the rest of the time I was alone with the messages and drawings left by other adventurers.

Energy surges made their toll one time or two, but I still managed to get to x0y2000. I felt enlightened. It was the most spiritual thing I've ever experienced.

Its minimalist approach and absolute freedom makes it one of the best "games" I've played. I strongly recommend trying it at least once.

And if you ever scroll north in <http://www.yourworldoftext.com/jp>, look for the messages from The Bard ♫ ;)

</comment><comment><USER12> It would be interesting to make each cell writable only once (including spaces).

<comment><USER13> Wouldn't we end up with a giant wordsearch? You could even encode secret messages by skipping spaces for each letter of a word.

Then once you have this huge wordsearch, you sell printed poster versions.

</comment></comment><comment><USER14> and just like chatroulette or most anonymous forums, the tone quickly deteriorates to the level of graffiti in a public bathroom stall.

<comment><USER15> _most anonymous forums_

Some of the non-/b/ areas of 4chan are surprising. Look at /jp/: there are people programming games and animations, people translating visual novels from Japanese. They even spawned a group project to make a visual novel from scratch: <http://katawa-shoujo.com/>

I think anonymous forums can work as long they share a strong common interest.

</comment></comment><comment><USER2> This is joyous, scrolling to the side...it reminds me of an old text based game. I see that the goons and 4chan have arrived already. TXT PARTY!

<comment><USER16> If you like text-based games try <http://DeadByZombie.com> great to get feedback from a fellow HN'er

</comment></comment><comment><USER17> This has been around a while, actually. I remember posting about it a year ago.

</comment><comment><USER18> anywhere but the welcome box ;)

</comment><comment><USER19> My first reaction was wtf but after playing with it for a minute I must say it's fun.

</comment><comment><USER20> Anyone have any info on the tech behind this? Is this a node.js demo or something?

<comment><USER5> It was on App Engine, but now it's just a plain Django site. Updates are polled every second, which probably isn't how I'd make it now, but it's help up well.

</comment></comment><comment><USER21> Super cool.

The linked page goes to one particular world: msernst which allows you to enter coordinates to scroll to (as well as drop links to those coordinates).

Looks like you can create your own text world or explore others.

Can this be used for useful collaboration?

</comment><comment><USER22> I made something like this awhile ago, it's not as nicely done though: <http://wall.bot.nu/> (wait till the red cursor scrolls all the way to the bottom)

</comment><comment><USER23> Oh no, another land rush for a name space yet again. Missed the domain name rush. Ditto the Twitter rush. And now this - Q: what's your worldoftext handle that you're homesteading for $8.99 a year? A: <http://www.yourworldoftext.com/all_the_good_names_were_gone>

</comment><comment><USER24> In the beginning was the word, says John. It probably looked something like this.

</comment><comment><USER25> As cliche as it sounds, I definitely see an ad-based revenue stream coming here.

</comment><comment><USER26> I just had a fun little therapy session with someone on there. It was my first glimmer of hope as to the value of chatroulette (the concept of it anyway).

</comment><comment><USER27> Someone needs to write a bot to counteract that 2pac bot.

<comment><USER28> I spent about an hour last night, while watching TV, helping keep a 2pac-free zone clear. Can't understand why.

I also played tic-tac-toe for a while, which somehow became at least 3 player with someone playing z's as well as X and O.

</comment></comment><comment><USER29> How would you implement the UI for browsing search results in this system? Maybe draw some inspiration from map searching UIs.

</comment><comment><USER30> Is it an infinite plane, or a sphere?

<comment><USER31> A sphere sounds quite unlikely. Maybe a torus, though.

<comment><USER32> <http://www.yourworldoftext.com/home/> says it's a plane.

<comment><USER33> Doesn't it depend on overflows that could be out of their control? If the page is larger than the largest width that your browser will display then it could overflow on scrolling and bring you back to the opposite page edge making it a sphere.

Browser dependent post-modernity!

<comment><USER34> I don't know how they did, specifically, but I could easily imagine it being like Google Maps. You need only load the tiles you see (and a few surrounding ones for good measure).

<comment><USER5> You're correct. It's an "infinite" plane, depending on what integer overflows first. It would be easy to make a torus or sphere version.

</comment></comment></comment></comment></comment></comment><comment><USER35> Haha, reminds me of the writing on a run-down gas station bathroom stall.

 _Why am I addicted?_

</comment><comment><USER25> It would be nice too if we can doodle like doing so at a whiteboard.

</comment><comment><USER28> Multiplayer notepad!

</comment><comment><USER36> I wish I could start playing Pac-man over this text.

</comment><comment> s-phi-nl Are they using Etherpad technology?

</comment><comment><USER37> Wonderful Idea.

</comment><comment><USER38> This is the ASCII version of the infamous Drawball(.com).

<comment><USER11> But doesn't take two minutes to load a page.

</comment></comment><comment><USER39> omg fun!</comment>


Show HN: Ungrabbed – Available domains for startups and side projects - <AUTHOR> https://www.ungrabbed.com <comment><USER2> Cool idea, appreciate the note in the inspiration of the project from Paul Grahams "Change Your Name" [1]. Really looking forward to getting a surprise email with some .coms.

Curious on a bit more detail about the domain name selection.

[1] [http://www.paulgraham.com/name.html](http://www.paulgraham.com/name.html)

<comment><AUTHOR> Really appreciate the kind words! Right now, I'm searching for and adding the domains manually. My biggest goal with the site is to offer domains that actually look and sound good. Something a startup would genuinely want to use.

See you in your inbox tomorrow :)</comment></comment>


How WPEngine Is Failboating Your SEO and Leaking Your Information - <AUTHOR> http://auditwp.com/wp-engine-seo-failboat/

<comment><USER2> This is the Founder of WP Engine.

The main points in the article are factually incorrect, but some of it is in fact excellent feedback that we're going to act on.

First, on staging areas, it is incorrect that they are counted as duplicate content, because we force a "deny robots everything" robots.txt file on staging. Using the example from the article of our TorqueMag website: [http://torque.staging.wpengine.com/robots.txt](http://torque.staging.wpengine.com/robots.txt)

It's true that some bots will ignore robots.txt, but all the major search engines that matter for SEO, which is the point of the article, do honor it. Some -- including Google! -- will _scan_ it anyway, but it doesn't count for duplicate content. Matt Cutts has been extremely clear on this point, publicly.

Second, on duplicate content on the WP Engine domains (e.g. torque.wpengine.com), again what was stated is factually incorrect _for Google_ but _is_ a good point for some other search engines. Here's why:

Google maintains a set of root domains that they know are companies that do exactly what we and many other hosting companies do. Included in that list are WordPress.com, SquareSpace, and us. When they detect "duplicate content" on subdomains from that list, they know that's not actually duplicate content. You can see it in Google Search, but it's not counted against you.

We have had a dialog directly with Matt Cutts on this point, so this is not conjecture, but fact.

However, the suggestion from the article that it's better to 301 that domain is still _also_ very valid. Also, not all search engines are aware of this scenario, and thus one of the take-aways we have from this article is that we should auto-force robots.txt for the XYZ.wpengine.com domains just as we do for the staging domains, so that other search engines won't be confused.

So in the end, we came away with a good idea of how to improve. It's a shame the point had to be made in the manner that it was, and intermixed with FUD.

<comment><USER3> Thanks for the response here, Jason. So, just to confirm, you're saying it is best to delete the original xyz.wpengine.com domain and add that as a redirect under our main domain name - in my case blog.smartbear.com (you may have come across it before).

Thanks again for keeping everything in context here.

</comment></comment><comment><USER4> This seems like someone with an axe to grind.

The SEO issues identified seem incredibly minor and the "leaking personal information" apparently refers to the fact that if you use WP-Engine to publish a prerelease version of your site on the internet... that means it's published on the internet.

</comment><comment><USER5> > _To Google, these images aren't on your site, they are on - wpengine.netdna- > cdn.com_

I'm curious why the OP thinks that matters. The only thing I can think of is that you don't necessarily benefit if another site links to or hotlinks a particular image of yours (though I wouldn't be surprised if Google recognizes where the image originally appeared and does give credit). And it seems like any minimally reputable site that wanted to use your image would download and rehost it themselves.

> _The problem is you have effectively orphaned all of your images to a > worthless subdomain on NetDNA-CDN.com, no bueno if you're trying to get some > image traffic from Google._

How does that prevent you from getting traffic? If an image on your page comes up in image search, Google still shows your site's domain and links to your page for everything except the "View Image" button, and if someone clicks that, they just want to download your image and presumably don't care about your actual site at all.

</comment><comment><USER6> I've spoken to a former Googler that was on the search team, and he said the duplicate content isn't as big of a deal as one would expect. They realize when it is and isn't an issue. For example, blog reposts do not hurt you (in fact they may help you) even though they show up as duplicate content.

Just my 2 cents. I'm not a fan of WPEngine anyway.

<comment><USER4> I would be _shocked_ if there's any sort of duplicate content penalty for having two different domain names point to exactly the same site (same IP and everything).

<comment><USER7> There is actually no such thing as a "duplicate content pentalty". It's not a penalty. Google indexes (and cares about) whatever they crawl first: the other duplicates are pretty much ignored, even though they will show up in the index.

</comment></comment></comment><comment><USER8> I get that it's easier to set up WPEngine, but this seems like one of those cases where you might be better off learning what to do - just set up a self- hosted VPS with nginx + varnish?

At least if you're gonna have multiple sites, this WPEngine is expensive stuff.

</comment><comment><USER9> [http://webcache.googleusercontent.com/search?q=cache:gbC9hvm...](http://webcache.googleusercontent.com/search?q=cache:gbC9hvmjZLIJ:auditwp.com/wp- engine-seo-failboat/&hl=en&gl=uk&strip=1)

</comment><comment><USER7> >> 504 Gateway Time-out -- Your SEO won't work if your site doesn't respond.

<comment><USER10> Note to future authors: When you use the word "failboat" in your blog post, make sure you don't "set sail for fail" yourself</comment></comment>


Ten Commandments for C Programmers by Henry Spencer (1987) - <AUTHOR> https://groups.google.com/forum/#!msg/comp.lang.c/CYgWkWdWCcQ/thMt3RfByAgJ <comment><USER2> I remember reading that when it was first on comp.lang.c! His normal .sig was to quote Richie about Noalias, IIRC.</comment>


GoLearn – Machine Learning in Go - <AUTHOR> http://www.sjwhitworth.com/machine-learning-in-go-using-golearn/

<comment><USER2> I have found that most difficult thing about doing machine learning in Go is the lack of a really good matrix library. I always just end up using Python because I end up wanting to do something like "find eigenvectors." Easy in Python but no one has yet wrapped up a nice interface into the BLAS/LAPACK libraries to do this from Go. (That I know of! If you know a good library for this let me know!!!!)

Numpy and Scipy are so mature in this respect it is difficult to compete with them. I looked into implementing eigenvalue algorithms recently with the idea that I would just write a native Go library for doing this kinda stuff. However, reading the source of JAMA[1] was sufficiently humbling for me to realize this was not a good idea. (If you really want to be humbled try reading the fortran implementations in LAPACK.[2] I believe SRC/dgeesx.f is a good starting point)

[1] [http://math.nist.gov/javanumerics/jama/](http://math.nist.gov/javanumerics/jama/) [2] [http://www.netlib.org/lapack/#_software](http://www.netlib.org/lapack/#_software)

<comment><USER3> > Numpy and Scipy are so mature in this respect it is difficult to compete > with them.

Tell me about it. What I'd give to have something equivalent for Objective-C (or certain other languages too, e.g. Julia). I'm looking at PyObjC as a stop- gap solution for now, but it sure adds complexity to a project.

Edit: Since SciPy is BSD-licensed and presumably mostly C behind-the-scenes, perhaps there's potential for a group to try and package it up for other languages? I have no idea how large an undertaking like that would be...

<comment><USER4> At least with Julia's PyCall, you don't need to sacrifice losing access to the Python stack. You can work with NumPy arrays without needing to copy data around.

<comment><USER3> Thanks! I didn't realise this. This looks really useful.

</comment></comment></comment></comment><comment><USER5> Considering this is four months old and the only method implemented is still just knn, I think it's disingenuous to (a) call this a library and (b) write in such general terms (admittedly, hindsight is 20/20). I don't mean to detract from the premise behind starting the project, but language like "I couldn't find any comprehensive ML library for Go, so I decided to write one" has a bit more hubris than is warranted.

<comment><USER6> Indeed. Also, the KNN implementation is rather lightweight. It only has euclidean distance, and basic matrix datastructure.

Even just KNN needs several distance metrics built in (manhattan, hamming, mahalonobis, to name a few) and a good ball tree implementation for use on large datasets so that the search time goes from N to log N.

</comment></comment><comment><USER7> Cool project.

There are already a couple of Machine Learning libraries[1][2] written in Go and some of them are actually more mature than GoLearn.

Also just curious, I always thought Go is not really a good language for DM/ML stuff due to lack of good matrix library and generics. If someone here actually tried to write any ML library in Go, what's your genuine feeling about it?

[1] [https://github.com/huichen/mlf](https://github.com/huichen/mlf) [2] [https://github.com/xlvector/hector](https://github.com/xlvector/hector)

<comment><USER8> I wrote a decision tree library (random forests, gradient boosting, etc) in Go while learning the language ([https://github.com/ajtulloch/decisiontrees](https://github.com/ajtulloch/decisiontrees)).

It's nice being able to trivially parallelise operations in Go - e.g. constructing the weak learners for a random forest, generating candidate splits, recursing down left and right branches, etc.

        // Recur down the left and right branches in parallel
        w := sync.WaitGroup{}
        recur := func(child **pb.TreeNode, e Examples) {
            w.Add(1)
            go func() {
                *child = c.generateTree(e, currentLevel+1)
                w.Done()
            }()
        }

        recur(&tree.Left, examples[bestSplit.index:])
        recur(&tree.Right, examples[:bestSplit.index])
        w.Wait()

As you said, generics and a matrix library would be make the experience nicer. Just having

        sort :: Ord a => [a] -> [a]

would strip a decent amount of mildly error-prone boilerplate, and there are other cases (splits for cross-validation, etc) where it would be nice to be able to abstract over the type of the slice, etc.

</comment></comment><comment><USER9> Hi, author here. Thanks for posting it. As you can see, it's definitely incomplete as it stands, as I haven't been able to spend as much time on it as I would have liked. I'm hoping that will change. If anyone fancies working more formally on it with me, send me a mail at stephen dot whitworth at hailocab dot com.

</comment><comment><USER10> This is cool. Just wondering, how would speed compare to Julia?

<comment><USER11> Poorly - Julia calls well tested and really carefully programmed BLAS libraries for the numerical heavy lifting, this doesn't. It is likely to be less accurate, less stable, and slower just for that reason.

The comparison doesn't really work anyway - better would be Julia vs. Go, some ML toolkit in Julia vs. this.

</comment></comment><comment><USER12> This lib doesn't seems to be ready. A quick look at the code doesn't suggest any attention was given to the code beside throwing it on github. I don't understand this submission. There is nothing to be used here.</comment>


How to contribute to an open source project: look for TODOs in code - <AUTHOR> http://ivanzuzak.info/2012/03/03/todos-ideas-for-contributing-to-open-source-projects.html <comment><USER2> Judging by the nature of the TODOs left in both my open- and closed source code, I'm not convinced that this is entirely good advice.

Usually the reason for me to leave a TODO is when something really minor doesn't work right and making it work would more often than not be a huge undertaking or at least require quite a bit of thought.

If the thing that didn't work right was important, I'd add a bug to the tracker in order not to forget it. If it was easily fixable, I'd fix it then and there.

This leaves these TODOs to be tasks I would not want a newcomer to the code base to tackle, because the first solution they would come up with is likely incorrect, so all the amount they'd put into fixing it might end up in vain.

That said: maybe others use TODOs differently. This really is judging from my own experience.

<comment> why-el Well something really minor is exactly what the students we was talking about are looking for. This is excellent advice for me, since I am new to web development and usually get so intimidated by the cheer volume of code I am exposed to that I abandon it.

<comment><USER3> I think he is saying that TODO are often not that simple because many programmers use them for something that works, but needs a conceptual change - which can be a major task.

It depends on the project though. Other projects may rely more on an issue tracker.

Either way, don't let it stop you, most open source projects are glad to have help!

</comment></comment></comment><comment><USER4> I'm kind of surprised by all of the nay-saying. I'm sure a fair number of my TODO or FIXME comments involve things that are, in fact, tractable. To check myself, I just grepped through some in-development code, and the following TODOs sure seem approachable:

      TODO: Add "busy" indicator while waiting.
      TODO: Ensure that :foo_url and :bar_url parse.
      TODO: Assemble absolute URL based on :foo_url if :bar_url is relative.
      TODO: Verify that this is one of the user's foos.
      TODO: Use protocol relative address in production.
      TODO: Dynamically set hostname based on environment.
      TODO: Document these; especially their options!

I mean, sure, I should fix them. And I will. But I haven't gotten around to it yet.

<comment><USER5> Unfortunately, the naysaying on HN is getting to the point where I read the first comment (usually someone bitching and/or disagreeing) and get fed up and leave.

<comment><USER6> I understand you completely, so nowadays I try reading the second and third comments before leaving. Sometimes the very good comments end up buried in a mess; we might need a way to highlight those with a lot of votes somehow.

</comment></comment></comment><comment><USER7> How to contribute to an open source project: write documentation!

<comment><USER8> Wish I could upvote this. Inner more than once.

Documentation is the last thing to get done (if at all) and the least glamorous, but it needs to be done.

This is especially easy to do if the project has a wiki.

<comment><USER9> Documentation done right is a real joy. Of course to do it right, one needs to completely understand what is going on. It takes some real discipline to get to that point, and then not skip to more exciting things.

</comment></comment></comment><comment><USER10> We've been trying to make it easier for newcomers to contribute to The OpenPhoto Project. The approach we're taking is to identify issues and label them as "Beginner". These issues are ones which have very little probability of breaking some other component in the system.

[https://github.com/openphoto/frontend/issues?labels=Beginner...](https://github.com/openphoto/frontend/issues?labels=Beginner&sort=created&direction=desc&state=open&page=1)

In addition to that we're working on creating the unit test for the contributor to uncomment before checking the fix in to verify that it does in fact do what we had intended when creating the issue.

We've also set up a contribute section on the site to help. I'd really love to know what more helps new developers that want to start contributing to an open source project.

<http://theopenphotoproject.org/contribute>

</comment><comment><USER11> Why do this when you can simply look at an issue list?

Seems likely that an issue entry will provide better context to the problem than a simple TODO would. Issues may also be tagged with a rough indication of how much work they will require to tackle. Choosing issues that are a small amount of work seem to be a good way to get familiar with a codebase.

</comment><comment><USER12> "How to contribute to a _small_ open source project: look for TODOs in code" would probably work better for anyone looking for this type of advise.

Fixing even minor details in large (and complex) projects can require for you to understand all the details of that project.

</comment><comment><USER13> One thing that I plan on doing after I've finished my current batch of subprojects, is to go to the project's bug database, and start fixing bugs. If I join a new company, that's probably the first thing I'd be working on as well, so it's good practice, and the easiest way to get familiar with the codebase.

</comment><comment><USER14> If someone is looking for open source work in Python, the IDLE editor could use some love and care :-)

<comment><USER15> Would a Qt port fly?

<comment><USER16> There's already Spyder, so I'm not sure how much value that would add. Plus, Spyder is still fairly new, so it's probably easy to find things to do there: <http://code.google.com/p/spyderlib/wiki/NoteForContributors>

<comment><USER15> There's also the Python plugin for KDevelop, which probably offers the most sophisticated semantic support for the language today, now beating Wing and MS in its level of type inference abilities, type tracking through containers, etc. So yes, a Python IDE using Qt is nothing new. But IDLE is simple and bundled with Python, so it serves a special role. I see it more as a teaching tool than a production-grade environment. It's just that having to work with the crummy Tk toolkit when hacking on it is a major turn-off.

</comment></comment></comment></comment><comment><USER17> This is really bad advise. If I commit a TODO to my code, it's because the difficulty of fixing vastly outstrips the value of fixing it. If it was an easy thing to fix, I'd have done it myself.

<comment><USER18> _If I commit a TODO to my code, it's because the difficulty of fixing vastly outstrips the value of fixing it._

Here we see the Dunning-Kruger in its natural habitat. What if someone is a better programmer than you? What if that person is a random internet foobar who finds your code and wants to contribute?

<comment><USER19> Then they probally are not the kind of person That would require a HN article to tell them what code to work on.

<comment><USER18> What does that say about the people participating in this thread?

<comment><USER19> In fact, it says very little. The very fact that they are commenting on it generally suggests that they don't take the article as fact.

<comment><USER18> That seems like a bit of a leap.

<comment><USER19> Regardless, I don't think that my original comment applies simply due to someone participating in this thread.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> This is one of those times when I read just the title and smack myself in the head because it was so obvious I missed it. Sure not all of the TODOs will make sense to me but it at least helps

</comment><comment><USER21> Related question: I've been wanting to find a small (ruby/rails) project to get involved in. Github gives you a nice view of large/active projects, but it's sort of hard to find something that is smaller and (in theory) easier to get up to speed on. I know the standard advice is to find something that you're using that interests you, but I'm new enough to rails that I just don't have enough background to know what that might be. Any other suggestions?

<comment><USER6> You can start a project based on RoR to highlight those small projects on Github. I don't know what metric could be useful to find the interesting ones though.

</comment></comment><comment><USER22> None of the arguments against the OP are very compelling.

</comment><comment><USER23> What we can get out of this is post is that there is a lack of common protocol between the existing contributors and new ones who want to jump in. If TODO is not the right fit, then something like a FIXME or TESTME should help the new developer get started quickly. If a project follows this protocol, just add notes in the contribute section of the Readme; something like: "New contributors can get started with looking for FIXME in the code base".

</comment><comment><USER24> * 2,630,760 FIXMEs [https://github.com/search?type=Code&q=FIXME](https://github.com/search?type=Code&q=FIXME)

* 8,082,861 TODOs (though some of these are to-do apps <:) [https://github.com/search?type=Code&q=TODO](https://github.com/search?type=Code&q=TODO)

</comment><comment><USER25> This is why TODO lines should have a common format so you can grep for them easily. I for example can grep all my TODO's and > straight into a TODO.md file and have a near instant markdown unordered TODO list.

Vim even highlights TODO: in my code and it always starts with some type of comment on a line of its own.

</comment><comment><USER26> Don't forget XXX, fix this and a variety of swear words in different languages

I have written two or three apps over the years that parse source code for this and others, but nothing ever satisfying really felt right. If anyone has something perfect do shout.

<comment><USER27> Eclipse adds comments tagged with TODO/FIXME/XXX automagically to task list. Not perfect, but a nice feature anyways.

<comment><USER28> But does anyone use the task list? I never have, and have never found such a thing necessary. My "task list" consists of the following (in order):

* Compiler errors

* Unit test failures

* Compiler warnings

* FindBugs warnings

* Bug tracker

The IDE already highlights the first four, and for all but #2 it tells me what source line to look at, so I don't see much potential benefit from using the task list.

Having said that I _do_ use XXX tags, but just for the syntax highlighting.

</comment></comment></comment><comment><USER29> Commented at Github, but will leave the link for the plug-in in Jenkins that I use to scan open tasks here too.

[https://wiki.jenkins- ci.org/display/JENKINS/Task+Scanner+Plu...](https://wiki.jenkins- ci.org/display/JENKINS/Task+Scanner+Plugin)

Cheers

</comment><comment><USER30> Adding unit test coverage is another great way to contribute.

</comment><comment><USER31> some TODO is left as todo, because it is hard.</comment>


Paul Graham Was right.... after all - <AUTHOR>

<comment><USER2> Disagree. You can do it with one if you know what you're doing. I'm on startup #9 and it's growing faster than ever with only one person at the helm.

Let's just agree that every case is different. There's no ONE right answer here.

<comment><USER3> Sounds interesting.

Was it you alone, too, in your previous startups? All of them? Any of them?

Do you believe being alone is one major reason why it's growing faster than ever? The main reason? Why or why not?

Sorry for the interrogation and TIA!

</comment></comment><comment><USER4> In my experience, startups are like life. You go it alone, but it sucks less if you have a partner.

Just make sure you pick the partner carefully. I think we've all had partners that were worse than nothing.

<comment><USER5> Deep, man: Startups are like everything. Because you need a partner. Or definitely not.

</comment></comment><comment><AUTHOR> You need at least 2 founders to build a successful startup. Don't try to deceive yourself into believing one person is all it takes. Once your startup get traction, you'll get burnt out if you are doing it all alone

<comment><USER6> I'm curious - what proves your point here?

<comment><USER3> Or, at least, what motivates you to bring this up now?

From the title, one would expect you had some experience to share.</comment></comment></comment>


IAC Said to Buy More Tinder Shares at $5B Valuation - <AUTHOR> http://www.bloomberg.com/news/2014-04-11/iac-said-to-buy-back-10-of-dating-app-tinder-for-500-million.html <comment><USER2> Compare this to OkCupid.

When IAC acquired OkCupid in 2011 for $50MM, OkCupid had almost as many users as Tinder does now, but Tinder's valuation (according to IAC) is literally 100x more.

<comment><USER3> I'm not sure OkCupid and Tinder should even be compared (despite OkCupid containing a clone of the Tinder app). This is purely from experience, but most people on Tinder use it solely as an ego prop - finding a date isn't the focus so much as the validation that comes with a match. You can even do some shoddy A/B testing with Tinder (if I lead with photo x, do I get a higher match rate than with photo y?), and I do think more advanced image testing/refinement tools could and should be a large part of their feature set going forward. OkCupid has something similar with the My Best Face feature, but they don't seem to have expanded further on that idea.

<comment><USER2> This is exactly why it's interesting to compare.

You could say that, feature-wise, Instagram was literally a subset of Foursquare, or Twitter was literally a subset of Tumblr (blogging) or Facebook (status updates). But how people actually interact with and use those platforms (and the value derived from those interactions) are very different.

<comment><USER3> That's true. Other thoughts: Tinder has flipped the traditional dating website model on its head. On OkCupid and others, people filter by black-box quantified "compatibility" first and then attractiveness. Tinder just puts attractiveness first and leaves compatibility scoring to the people themselves.

OkCupid recently introduced a feature where you can pay a small fee (about $1) to temporarily boost your personal search ranking. This is clever, and also fits very well in Tinder's matching model. Adding features like that or the ability to pay for additional profiles for A/B testing would put Tinder in the black pretty quickly, I think.

edit: I should throw in some negatives. There are quite a few duplicate/spam profiles on Tinder created by escort agencies. Finding a way to seamlessly detect & block these will be important to avoid a reputation of seediness. It's already on the line due to the common practice of mentioning Tinder alongside location-based hookup apps.

</comment></comment></comment></comment><comment><USER4> Not saying a 5B valuation makes sense, but I think Tinder is employing the thin edge of the wedge strategy [1] (like Instagram did with photos) and is using their huge success with dating to become a more generic social network.

They've already been public with vague plans to move beyond dating. Also, their new verified accounts for celebrities make a lot more sense with a generic social network than with a dating app.

[1] [http://cdixon.org/2010/12/27/the-thin-edge-of-the-wedge- stra...](http://cdixon.org/2010/12/27/the-thin-edge-of-the-wedge-strategy/)

</comment><comment><USER5> Dating is a giant business.

10m daily users is an amazing stat.

Doubling their users at that scale in <5 months is earth shattering.

I know these things make for rational arguments.

And still my brain has trouble processing that valuation, especially in the context of "worth almost as much as IAC".

A friend said something that struck me yesterday:

"The fed has literally been dumping billions out of helicopters. Billions don't matter anymore."

I am not commenting on bubble / no bubble but it will be interesting to see what happens when $$$ tightens @ the top.

</comment><comment><USER6> I was just about to post this. Anyone else find this shocking? I mean I know it's popular and all but...

<comment><USER7> Not that shocking... valuation these days depend more on your growth curve, retention and reuse. Revenue doesn't matter. The number of users matters a little, but not much, as long as you're on that hockey stick.

</comment></comment><comment><USER8> The article is very confusing about the numbers, but if they do hold up to scrutiny, the people cashing out are smart.

Tinder's user engagement can be modeled as a wave. Due to the social graph, when you first get the app, people in your cohort are likely to be using it as well.

During this time, there is more value than just the dopamine rush of flipping through pictures and getting matches. A match is much more likely to be actionable.

The downside of this is that once the addiction wears off for you, it's likely starting to wear off for the people in your cohort. So user "unadoption" is just as viral as user adoption.

How many people here have used the app beyond a couple months? How many have deleted it once they stopped using it?

</comment><comment><USER9> Most dating businesses are inherently conflicted because a successful outcome (relationship) is a lost customer. Tinder, in the "short term" relationship space, has a unique ability to have happy, repeat customers. 5B still seems like a lot. I wonder if there is a control premium baked into the price; IAC was rumored to have a majority stake already, but it's possible that those rumors were incorrect.

Edit: Sam Yagan says the valuation was not 5B

[http://www.forbes.com/sites/jeffbercovici/2014/04/11/no- tind...](http://www.forbes.com/sites/jeffbercovici/2014/04/11/no-tinder-is- not-worth-5-billion/)

</comment><comment><USER10> I hate to be THAT, guy, but Nasdaq did not look good last week. :)

</comment><comment><USER6> New reports saying the valuation was actually much closer to $500M. Now that makes a lot more sense to me

</comment><comment><USER11> Like Snapchat with its ephemeral "snaps", Tinder has practically invented a new mode of interaction (swipeable cards). They're hugely popular and growing, so it makes sense that they're going to command a huge valuation.

<comment><USER11> Or not.

</comment></comment><comment><USER12> This has gotta be a reporting mistake (both parties say value much lower). The $500m valuation sounds much more reasonable. With a 1x or 2x liquidity preference, maybe it's higher.</comment>


Ask HN: How do I get started with regular expressions? - <AUTHOR> I am not a programmer, I am a research investigator.
Thus, I have tinkered with code only on an as-needed basis, when I have had very specific problems that I knew a computer could do for me accurately and quickly – changing file names in a folder, performing repetitive editorial tasks, automatically filing downloaded sources with specific names. Most of these things were done in Applescript, and they are all good things for me, because the time they save me gets devoted to thinking that helps me build a case better. I can't hire an intern, because that's expensive, but my meager Applescripting I have done so far has made for a very reliable intern.
Recently, I wanted to write a script that would scan my documents, identify local currency figures, convert them to a global standard ($, €, or Bitcoin), and then insert them into my report copy. This seemed very reasonable to me, and I thought that it would be easy (since everything else I had done had been a simple matter of articulating the problem and finding the solution somewhere online). Time consuming, perhaps, but easy... like reading, copying, pasting, and then tinkering to customize it.
This was not easy.
Someone has suggested I try regular expressions to solve the problem. The thing is, that sentence doesn't mean anything to me, because I don't know where/how to begin, and I don't really know what regex is.
Where would you send someone like me to start learning regex?
Cheers, -s <comment><USER2> Regular Expressions, by themselves, don't solve your problem. Regular expressions, implemented as part of a tool like sed or grep, or as part of a programming language like Perl or Java, can.

Regular expressions are basically just a (powerful) way to match patterns in text. If you've done "ls *.sh" in a directory to list only the .sh files, you've used something very much like a regular expression. But that's just working on filenames, tools like grep and sed can look inside a file and match patterns, and sed can then replace those patterns with whatever you supply.

If you just want to start off learning regexes, google "regex tutorial" and start playing around searching through files with grep or something.

For your specific case, you should be able to do what you want to do with sed[1], or with awk[2]. Or if you're more comfortable with a higher level language, you could go with anything that has regex support, which should be most mainstream languages.

[1]: <http://en.wikipedia.org/wiki/Sed>

[2]: <http://en.wikipedia.org/wiki/AWK>

<comment><USER3> The above is great advice. You will definitely want to play around with a tutorial, any tutorial, so you can grasp the basics of what regular expressions are, and how they are used. After you "get" what regular expressions are, you can work on implementing them in your code.

After you understand the basics, you can follow these steps that I use every time I need to program regular expressions.

1) Google a chart explaining the regular expression syntax for the language you are using (something like - applesscript regexp chart)

2) Create some test code to help refine your regular expression. Your code should have

* a - REGEX STRING - the regular expression value you are testing. You can store this value in a variable in your code, reference this value from a text file, or input it manually every time you run your script. I like to give myself access to this outside the code, so for a webpage have a form with an input field with this value. For scripting languages, make this a parameter of your script, so you can play with it quickly without having to change any code.

* b - STRING DATA - this is the value (or values) you will be comparing your regular expression against. You can store this in a variable, or reference this from a text file. Try and think of all cases that could potentially cause your script to break. For example, the currency symbols you are trying to replace, could they ever be used in ways where you would not want to replace them?

* c - RESULTS - you should output the results every time you run your script and keep tweaking it until you are satisfied with the output.

3) Implement your awesome REGEX in your code.

</comment></comment><comment><USER4> _Learn Regex the Hard Way_

<http://regex.learncodethehardway.org/book/>

</comment><comment><USER5> <http://regular-expressions.info>

"Mastering Regular Expressions" by Friedl is the ultimate resource, but for getting started that website above will let you learn the practical syntax.

</comment><comment><USER6> The tutorial that helped me is "sed" based: <http://www.gentoo.org/doc/en/articles/l-sed1.xml>

Also, an online regex tester may be helpful: <http://regexpal.com/>

</comment><comment><USER7> Here's a first link. It's a visual matching tool for your regex and targeted text + several saved regex expression by the community: <http://gskinner.com/RegExr/>

<comment><USER8> This is amazing! (and amazingly helpful with the Community tab to show examples!)

</comment></comment><comment><USER9> Start with the wikipedia page[1] and continue with the documentation of the regex engine you'll be using (there are differences between implementations).

[1] <http://en.wikipedia.org/wiki/Regular_expression>

</comment><comment><USER10> This is another plug, but people have told me that they've found RegexOne (<http://regexone.com>) to be pretty useful in learning and practicing regular expressions interactively.

</comment><comment><USER11> I liked Eric Lippert series of article on regular expressions [http://blogs.msdn.com/b/ericlippert/archive/tags/regular+exp...](http://blogs.msdn.com/b/ericlippert/archive/tags/regular+expressions/)

</comment><comment><AUTHOR> Wow, thanks for all this feedback. Once I get a chance to wade through these resources, I'll let ya'll know what I found the most useful. Thanks again.

Cheers, -s

</comment><comment><USER12> _Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

\- Jamie Zawinski_

</comment><comment><USER13> <http://rubular.com/> is another way to get a feel for them.

</comment><comment><USER14> <http://regex.learncodethehardway.org/></comment>


Heartbleed Bug Health Report Of The 5,000 Most Popular Domains - <AUTHOR> https://zmap.io/heartbleed/certificates.html

<comment><USER2> I note that mozilla.org is on that list. Does anybody know if they're affected?

<comment><USER3> According to [1], only Persona and Firefox Accounts were affected, and were fixed when Amazon patched the vulnerability.

1: [https://blog.mozilla.org/security/2014/04/08/heartbleed- secu...](https://blog.mozilla.org/security/2014/04/08/heartbleed-security- advisory/)</comment></comment>


Ask HN: Viability of business models staged on Google Earth? - <AUTHOR> http://www.cubelease.com/

<comment><AUTHOR> <http://forum.skyscraperpage.com/showthread.php?t=177844>

</comment><comment><AUTHOR> Does it make sense to build high-quality building models for Google Earth for advertising purposes?</comment>


Ask HN: How long did it take you to build up your mailing list? - <AUTHOR> For me the growth is terribly slow. I wonder whether (1) how long it took you to get > 100 people subscribed and (2) wether you think it's likely to build a general software engineering blog these days <comment><USER2> It's taken me several years but is worth it. It goes in fits and starts though. You get popular content and can see 100 in one day where that took several months before. So, I'd focus on creating quality content and the list will mostly take care of itself.

<comment><AUTHOR> Thanks.</comment></comment>