skysight-inc/HackerNews huggingface dataset:
This brings up a burning question that I have been pondering for a while. I still don't get how to properly design good APIs. I have been programming but as a scientific research not as a professional developer, and I have found I cannot remember how to use my code a day after writing that code.

Take my current project as an example. I have some samples, each of which are observations along a sequence of non-overlapping segments. My objective is to extract observations over arbitrary intervals for all samples. So I have a segment defined as a pair of start and end position plus its observation, a sample as a vector of segments, and all samples as a dictionary of samples. There are various utility functions to make segments, collect samples, and scan individual samples. The problem is I have to remember all three levels of data structures to use this code. I wonder whether it is better to define an interface for those data structures as well so I just need to remember the interface. My objections to formal definition of interfaces is that everything is so simple and obvious and formal interfaces smack of overengineering.

I got to this point because in my previous projects I put every identifiable thing as a class and found too much coupling in classes and convoluted interfaces.
i wanted to do that first, for conferences. but there were some really good providers out there doing this and i wanted to see if they can get it off the ground for conferences... so i looked into the travel-associated aspect ... but it's really just another tie into your life. meeting is the core transaction, whether you do it at a conference, lunch or in a new city you're traveling to, i feel.

and yes, agree. market is small. very small compared to building another service on top of twitter's api ... people just flock to this stuff... so yeah, true that. 100 million dollar business? not sure ... i just really want this to work for me, for now. i'd use this everytime i go somewhere.
The Karatsuba algorithm page says "The Toom–Cook algorithm is a faster generalization of [the Karatsuba algorithm]]", and the Toom-Cook page links to the GMP document, which says:

"Toom-3 is asymptotically O(N^1.465), the exponent being log(5)/log(3), representing 5 recursive multiplies of 1/3 the original size each. This is an improvement over Karatsuba at O(N^1.585), though Toom does more work in the evaluation and interpolation and so it only realizes its advantage above a certain size."

Reading http://gmplib.org/manual/Multiplication-Algorithms.html, it appears that GMP implements: Karatsuba, Toom-3, Toom-4, Toom-6.5, Toom-8.5, FFT -based multiplication methods, which I interpret to mean that Toom-Cook is useful for ranges between where Karatsuba and FFT are most useful.
Unless of course this is the machine Cray was buying parts for, and now there's no one left that uses them.
Check couchsurfing, you can find people eager to meet tourists and show them their city in almost all the big cities in the world.
Correct: I did not hear the private conversation. I only heard the talk that was made public along with this project that was posted here, and which was recommended as an information source, and pretty much serves as the web page and documentation for this project ;P.

> Again, not a Clojure expert, but a namespace is coarser-grained than individual local scopes, right? The problem I'm talking about is when you have a local variable inside a nested scope (e.g. inside a `let`). If this is not named by a namespace, then you would still get collisions.

Ok, so are you are concerned with the case where the person defining the macro uses a symbol from the namespace of the person using the macro but that symbol has been rebound by the user inside of a let surrounding the aforementioned usage of the macro?

If so, that requires a cyclic module dependency, which isn't allowed (as the namespace from which you are getting the symbol would need to be required, but it would have to require back to get access to the macro: it does eager name binding, so that can't happen).

If not, and you are just talking about the simpler and more obvious case of a let shadowing a binding inside of a larger scope used by a macro, that works fine. The following code prints "1100", despite the macro expanding to multiple uses of the same symbol "t".

(def t 1000)
(defmacro run [x]
`(+ ~x t))
(let [t 100]
(prn (run t)))

You might then wonder (as I have) whether this is implemented by simply renaming the variables bound by let to something random: that would be sufficient to implement this. However, if I go out of my way to unquote an unqualified symbol, I can capture: the following code prints "1200".

(def t 1000)
(defmacro run [x]
`(+ ~x t ~'t))
(let [t 100]
(prn (run t)))
I do like the idea. I travelled a lot in the past but never made an effort to reach out to interesting people, so when planning future trips, I'm gonna make an effort to connect with local startup scenes.

I think for this to work you have to really define your community. Exclusivity will help, something like asmallworld.com (an invite-only social network).

Off the top of my head, I can think of two groups who'd use something like this:

1) people like us, ie entrepreneurs, and others in the startup world (investors and so on).

2) partyers, who want to find the cool places that aren't yet in the tourist guidebooks.

I think both groups would like some exclusivity. I mean, in any local startup scene, the most interesting people are oversubscribed - all the founders of no-traction startups want to grab coffee with the guy who just raised a $10 mil Series B.

When the $10 mil CEO travels to a new place, he'd probably like to grab coffee with founders at a similar level to talk shop. But those guys don't necessarily know who he is or why he's worth talking to.

If you can get people to say "hey, this person messaged me on urbanvisitor.com, he must be worth meeting" - then you'd have a decent business.
The fbi sounds like the product manager from the deepest circles of hell. I'm sure this will do wonders for innovation in the economy.
"Today’s aged hippies no longer understand that there is a difference between the election of a black president and the creation of cheap solar energy; in their minds, the movement towards greater civil rights parallels general progress everywhere. Because of these ideological conflations and commitments, the 1960s Progressive Left cannot ask whether things actually might be getting worse. I wonder whether the endless fake cultural wars around identity politics are the main reason we have been able to ignore the tech slowdown for so long."

Any sufficiently deluded rhetoric is indistinguishable from trolling.

The "progressive left" has no such blinders. Nor does the "right," in my experience, or most other people. But you could easily reverse this and say that to Peter Thiel, technological progress automatically leads to progress in quality of life for everyone. Or, more disturbingly, that social justice is an irrelevant invention of identity politics. No: those are in actual conflict. The trick of identity politics is to subsume and trivialize real social problems, and it's Thiel who has fallen for it. This is essay is just weird.

Thiel sees economic growth being appropriated to justify misguided and counterproductive social policies. That's not even wrong, it's just mundane to the point that it's disingenuous to say that anybody doesn't see that.

Is this guy going to stockpile real nuclear waste under his house until a better solution is invented? No, he actually wants to build a floating city where he can make his own rules. A ten year old's fantasy, described by a man who can afford to ignore the practical consequences of his ideal future.

This is antithetical to the hacker ethic. Good hackers look at big social and technological problems and think "how do we hack that into something better" instead of whining about how nobody else accepts their top-down solution.

Real problems to attack: The pitfalls of implementing representative democracy via legislators who develop strong social ties with each other; how to build infrastructure without becoming Robert Moses; techniques for balancing competing basic needs in a large population; p=np; obesity epidemics; vaccination against destructive ideological memes like this one.
An experienced web developer, no. A skilled-but-never-built-anything-but-a-toy developer? I'm not so sure. Best practice is rarely sexy. Agile development methodologies over-emphasise YAGNI and do-the-simplest-thing (to the point that I want to scream -THAT-WORKS every time I hear that phrase being parroted by junior developers).

Sure, once they've been on the wrong end of a high-profile identifying information leak, they'll never forget to do it right. But the best of the best? They're building air traffic control systems, or embedded missile guidance, or airbag controllers, or F1 ECUs, or million-simultaneous-call telecoms payment processors, or any one of a thousand other systems where you don't get a second chance to get it right.
I'm not saying it's easy. In fact, they seem to handle the complexity admirably: you can buy most items from anywhere in Europe from any of the sites and they charge all the appropriate fees. Which makes it all the more odd that the individual sites are so different and disjoint, when they're clearly all the same at the back-end.
that is part of the core problems i wrote down. imagine paul graham is in new york for a day and decides to meet some people in 30 min slots on a thursday afternoon. everyone's gonna request a meeting. but it's his call to move requests into the actual booked slots. the person arriving in a city is the one who accepts the meeting based on the incoming requests (filterable by haves/wants). does that make sense? would it be smarter to have locals accept/deny?
Thanks! I removed the transition delay effect, it should appear to select it a bit faster now.
You could at least encrypt the passwords on disk an decrypt them when needed. this is not ideal because you still need to keep the key around, but it is better than plaintext.
> The segment which believes or doesn't strongly disbelieve things like homeopathy is manifestly non-negligible.

It doesn't matter. Science doesn't work by popular acclaim.
New Hashtag Page
> And as long as people get better, even if it is just by the believe in the effect, it is in my view a legitimate approach.

So fraud isn't really fraud if people are going to get better anyway?
Obama in 2012?
> On the other hand, the FBI and NSA aren't full of total idiots.

You're kidding, right?
[citation needed]

I dislike paying taxes as much as the next person, but where exactly are you getting these supposed facts from? Particularly in retail, the fact that VAT is an indirect tax doesn't really matter much as late payment basically doesn't happen. (whereas I'll accept that it can sink your company if you invoice your customer some huge amount and they don't pay and you still owe the VAT on revenue that never materialised)
I believe Rich Hickey believes in keeping data really simple and writing the code around that. Could someone explain this philosophy to me?
i really, really like your comment. it reflects exactly what i was hoping for someone else to bring up. i agree on the two groups and i agree on the 'oversubscribed people' issue. i actually love the term. i truly believe that most services fail to deliver on this and end up having lots of hookers use it with fake profiles, or joe the weird power networking guy who sells nothing but his life consultancy work to you and keeps requesting meetings... so fully agree. that's crucial to nail. thanks isaac.
I thought HN people knew better than to apply broad stereotypes, however flattering, to groups as large as "HN people". (Your broader point is right, of course, but I'm not one to pass over an opportunity for recursive meta-kvetching.)
VAT exists only because greedy, inefficient governments could tax everyone (esp. lower incomes) easily with it. It seems most unfair to online retailers, because they usually only earn a fraction of the government's cut per sale (around here: typically 1/4th for electronics, i.e. 20% VAT, 5% merchants' margin).
Very cool!

GW2 is currently my favorite game and am really surprised to see it on HN frontpage.

I'm astounded at the amount of data ANet is making available. And, how cleanly and robustly they've done it - all in JSON.

Another bit you might want to play with is their TP (Trading Post) JSON data. These guys (http://www.gw2spidy.com, source is on github) do a really good job, but I'm sure there are tons more things, and ideas, that can come from all that data!

Good luck!
> "this lower level tool provides more potential for mucking up your system; e.g., accidentally trying to remove an essential package; I believe dpkg wouldn't ask for confirmation right?"

Did you read anything I wrote? I specifically mentioned that dpkg would not remove an essential package...twice:

In my initial reply I demonstrated that dpkg would not remove an essential package:

root@fw:~# dpkg -P coreutils
dpkg: error processing coreutils (--purge):
This is an essential package - it should not be removed.
Errors were encountered while processing:
coreutils

And in my second reply I simply restated what my example had demonstrated:

"Furthermore some packages are so crucial (ie: essential) that dpkg does not even bother checking dependencies before erroring out."

> "The only time I've been forced to use dpkg in the past ten years was when the system was seriously messed up e.g. in the middle of a failed upgrade."

Just because the only time you had to use dpkg was when your system was messed up does not mean that dpkg is likely to mess up your system. Its like saying that the emergency room causes life threatening trauma because the only time I was seriously injured I had to go to the emergency room.

Does anyone know if there a name for this kind of fallacious reasoning? It seems like an amalgamation of "post hoc ergo propter hoc" and "cum hoc ergo propter hoc."
Respectfully, I think this is a good example of why some of the best people on HN are getting more reluctant to participate in Ask threads.

Don't do this: Ask -> "Challenge those with negative opinions"

Do this: Ask -> Consider opinions -> ask more smart questions.

simonw and yoseph are exactly right. They are asking you, "How do you know that this is something people want?" Just because it would be valuable to you doesn't mean it's going to be valuable to enough other people to make enough money for you to live on.

You could find out if you have a market or not by throwing together something really small and simple and using that for a while, or you can find out by building a fancy website and doing everything else you're talking about to make your first presentation pretty, and then a year from now find yourself in the same position you're in now except with less money.

How many people need this?

How much are they willing to pay?

How are you going to make money?

How are you going to reach your market? (Can you partner up somehow with AirBnB or other popular travelers' sites?)
I streamed to Gnome Player and Audacious, and in both cases the stream died. Gnome Player twice, right around the time that you were talking about running your own CA vs buying, and Audacious a minute or so after that. Couldn't say why, sorry.

So I wgot the mp3 file and played it locally. About 15 minutes in I just couldn't stand listening anymore, because the interviewee kept on cutting out. Possibly because he was moving around and his cell phone signal changed strength, don't know.

That was really frustrating, because I really did want to listen to someone's real world experience with SSL and CAs.
I definitely echo the thoughts in the other comments: is this solving a real problem? I can imagine a traveler wanting this, but the locals? Maybe tour guides could get into this, but the traveler + tour guide combo seems like something you aren't going after.

There is a lot if money in tourism, but I am not sure this is an especially fruitful angle to get at it. It could be a starting point though.

Goal #1: get someone to pay for it!
I thought this was about monitoring rather than tracing?
Newbies don't have skills. Aptitude maybe, not skills.
An Interview with Butterfly Labs Bitcoin company exec Sonny Vleisides
wow interesting remark. let me think, i'd say: if i get to find some 20 to 50 people willing to meet incoming folks with a certain flexiblity on meeting topic in different cities, willing to actually act on it, it probably would prove a point. so yeah, i get your statement. a google doc or some facebook arrangement will help to validate this quickly for sure.

i'll think a bit more about the viability question, it's a tricky and essential one ... the google doc + google form thing could be worth a test...
Loads slow in Firefox. Sigh.....
A company's market capitialization is its capital allocation. It's reasonably common for companies to use their own stock when making big buys (such as other companies).
Oooh, I like the git-annex integration.
I could do. Hadn't planned to as I only needed the voice pricing but suppose I should add for completeness.
Comments like this perpetuate the idea that it's somehow immoral to want to earn money. We spent all this time and energy learning a commercially valuable skill, which is going to make a pile of money for someone else. It would be foolish to undervalue that skill at the endpoint of the developer.
> GW2 is currently my favorite game

How do you think it compares to GW1? I have GW1, but found it a little lonely after leaving the cities because outside the cities, the regions were instanced.
Computronium: computers that mimic programmable blocks of physical reality
Thanks for the warning, but isn't consistently going to bed with a full stomach different from going to bed with a light snack every once in a while to make sure your stomach is not growling?
Agreed. In my experience Google is notoriously bad at customer service of all types, and attempts to share constructive feedback are ignored. So making it easier to provide feedback is worthless if you don't have a system to actually interpret and implement that feedback. I think it's simply a move to make the user feel like their suggestions are valued.
just one point: was never planning to build a 'fancy' website first. i just wanted something a bit more polished than a google docs.

everything else, yeah, i see your point and sort of feel bad. i get what you're saying and it makes sense. i do have an attitude that was trained to challenge negative statements because there's just so much 'this sucks!' on the internet and i always want to understand the motivation behind it.

on the statement of testing viability, 100% agree. asking around here whether you guys know if this will succeed or not is the wrong approach. i should have showed up with the google docs here and asked people to use it please and tell me what i missed. agree.
Student Loans and the Education Bubble
Yeah, it seems a lot of social sites don't grasp some of the underlying dynamics of how social networks actually work in the real world. If you can work out those dynamics, you'll have a hit.

Despite people thinking he's an awkward nerd who got lucky, Mark Zuckerberg is actually very good at this.
Well I think many of these startup companies are looking for "rockstar", "ninja" code warriors..whatever that means. I think they are trying to attract the most promising talent in the next generation of up and coming programmers. They try to search these candidates out by making a github profile (or some other open source contribution) mandatory.

I think experience does matter though. Even a talented young programmer can get into big trouble by trying to do cute and clever things. They may not have the experience to know that generic database design is generally a really horrible idea, etc.
The comment above added nothing to the discussion and should be downvoted, just like yours.
Show HN: Free, focus-based time tracking for Atlassian JIRA
> Ok, so are you are concerned with the case where the person defining the macro uses a symbol from the namespace of the person using the macro but that symbol has been rebound by the user inside of a let surrounding the aforementioned usage of the macro?

> If so, that requires a cyclic module dependency...

Not necessarily. For example (forgive the Scheme syntax), all in one module:

(define thing "outer thing")
;; define-inline is the above macro-defining-macro
(define-inline (foo prefix)
(string-append prefix thing))
(let ((thing "inner thing"))
(foo "should say outer thing: "))
You didn't point out an error.
Most of my (ex israeli military) and extremely talented people didn't even look at web startups but went to work for companies "doing real products" where "there are complex challenged".

They view 99% of web startups as glorified TODO apps with the biggest challenge being playing around doing A/B on front page headlines. Hardly an engineering challenge.

They want to build stuff like Terabite-size de-duplicated storage infrastructure, or embedded devices.

And they are the majority of the brilliant people I know who all started as "programmers" (java/c/c#/etc)
I'm on a recently installed Fedora. I figured that it would be what I would settle with once I got tired of fiddling with things on Arch. A pretty good selling point was that it would readily handle our dual scanner and printer without me having to deal with the HPLIP software package, but I suppose this is a somewhat appropriate occasion to rant on a few bits. Some of them may be related to software Fedora is composed of, such as Gnome 3.

Non-administators can't add a password through the graphical dialogue if they are currently without password. "Choose password at next login" was the next best option for fellow family members interested in trying out Linux.

The infamous obscurity of the power off and restart buttons. You can read all about it on Google. Family members are sure to reach for the physical power off button and do cold shut downs once they want to use Windows.

The Firewall thing assured me that SSH is a trusted protocol, but incoming SSH connections were met with "No route to host." Disabling the Firewall fixed this.

Selecting Terminal in Activities gives focus to a currently open Terminal. Opening new Terminals can be done through the File dialogue.

Entering a non-existing command results in a very noticeable delay before the prompt returns.

I haven't found a way to enable focus follows mouse. Instructions on the web seem outdated.

I was met with a confusing "Enter password to unlock login keyring" window when trying to set up instant messaging accounts. I'm not sure, but it may have something to do with my changing from the original Fedora user password, or with using passwd. Empathy didn't really work out for me because of detail-lacking connection error messages.

These are some of the surprises I have encountered during the first day of working on it. I will probably stick with it for quite a while as it is acceptable to work on.