Getting A New Product Off The Ground: Part Two - <AUTHOR> http://www.kalzumeus.com/2010/11/16/getting-a-new-product-off-the-ground-part-two/ <comment><USER2> _Things are looking fairly slick thanks to jQuery UI and a lot of AJAX, but it has been a bit of a handful to test. If you have suggestions for doing so, I'd love to hear about them in the comments. Mostly I have been doing unit testing for models which are likely to have failures, and then doing manual testing to verify that the UI works how I expect it to._

I have suggestions. Use Capybara with Selenium, driven by either Cucumber or Steak (Steak is just rspec + some extra syntactic sugar; I prefer it, myself).

You won't be able to test _everything_ , especially complex user interactions. However, you should be able to test about 80-90% of the site functionality, and, importantly, you should be able to test the purchasing functionality (the balls of your app, so to speak) since that should always be simple.

One of the decisions we've ended up leaning towards on Woobius is that we think twice about implementing UIs that can't be tested. If it can't be tested as designed, we spend some more time trying to figure out whether it can be redesigned in a way that can be tested but is still clear to the user. It's just one more design constraint, basically - can it be tested. If it really cannot be done in a testable way, at least we provide an alternative method that doesn't use fancy javascript and/or flash. For example, for the flash uploader, we also have a basic uploader. This means everything else can be tested, just not the multiple upload.

</comment><comment><USER3> If you don't have time to read the whole post, at least read the "Speaking To Customers" section. It has great illustrations of the eye-opening ideas you get from listening.

</comment><comment><USER4> I appreciate the simplification of a lot of lingo from lean/custdev down to something closer to "you make fewer mistakes when you talk to customers." Much less intimidating and great to see some tangible results already.

Will be interested to see how you keep utilizing the virtual assistant. I have a terrible habit of hiring them with a particular task in mind, getting all excited, and then letting them idle for months.

<comment><USER5> The single best thing I've gotten from Lean Startup is the concept of doing an MVP. I released AR's (a functional demo of the core interaction -- it rings your phone and talks to you, then echoes your input onto your browser, that is it) about six months ago, after about two weeks or so of hacking on Twilio. That is close to my best spent two weeks ever from a learning perspective, since people have spent six months telling me "Yes, THIS, I want THIS." I thought AR was a good idea, and the people I talked to certainly had a raft of appointment/scheduling problems, but even a one-screen crystallization of my vision for the solution helped me move it from "something people might theoretically be interested in" to "something I have a high degree of confidence will sell."

If I had spent the last six months getting no emails about it, no signups in the post-demo form, and whatnot, I would probably have reevaluated whether AR was really what I wanted to be doing next, prior to spending a month writing real code for it.

Talk to customers, though -- if you need to call it Lean or not call it Lean to talk to customers, whatever, just do it.

<comment><USER6> Having a similar product (well somewhat) in the market it is great to see that there is quite a bit of interest in the market. I particularly liked the use of outsourcing part of your post. It is very obvious that the dream of one- man-shop is over.

One suggestion though, I think focusing on a single type of customer (mobile services that travel to the customer) might be more effective for the obvious financial loss they face for a customer who is not home at that time.

<comment><USER7> I'm building a product now that focuses on "services that travel to the customer" (house cleaning), but for some services it might not be as big an issue as for others. For example, a house cleaning service might actually _expect_ them to not be home regularly. Kind of depends on whether interaction with the client is required.

In our client conversations so far, missed appointments (not home) hasn't been brought up, so it will be interesting to see if that continues to hold true.

Patrick, thanks for sharing your process!

<comment><USER6> This is actually very interesting. Because you can just turn this around make sure that the person at home leaves their house at that time because someone is coming :) Out of curiosity are you also working on an appointment specific service?

<comment><USER7> Yes, appointments are part of it, but also simple timekeeping for hourly employees, managing schedules, etc. So, a cleaning might be scheduled for 3 hours, but it may take 5 hours--this needs to be accounted for. We may also integrate scheduling based on spatial analysis of available employees.

We're still early in the process (much earlier than Patrick is w/ AR), but we've also explored the idea of integrating Twilio. It's nice to see how it's being used.

Edit: it's not a general purpose appointment manager and reminders are not central to my product. More of a basecamp-like app for cleaning services, of which appointments are a part. What are you working on?

<comment><USER5> I cannot stress enough how much value customers will perceive from a few days of work with Twilio. You can have remote crews punch in and punch out on their cell phones. This reduces paperwork and saves labor costs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is great. Hits several things in completely different areas that I've been dealing with too. (Namely setting up Rails in production and talking to customers on the phone.)

I think the best thing about these kinds of posts is how down-to-earth they are.

I mean, I do love the posts about the successful startups that are now running with 5-man teams, scaling their production environment to handle millions of visitors, etc. But those posts are a glimpse-of-the-future to me and probably to most others here.

This post on the other hand is basically about the exact situation I find myself in right now with my product.

Thanks for posting!

</comment><comment><USER9> I'm really curious to know how you found the people to do your phone interviews with. AdWords? FoFs?

<comment><USER5> Ranking for a small batch of organic search terms gets me prospects, though I have also done friends, acquaintances, and the old "Hey you have a sign outside that says a buck buys a minute of your time, here is twenty, let's chat."

This was partially reinforcing my preconceptions, though. Talking to too many beauticians and massage therapists because when I asked for referrals they never seem to know HVAC repairmen as well as they know other beauticians and massage therapists.

</comment></comment><comment><USER10> I love reading these kinds of posts, and Patrick always does a particularly great job at explaining why he makes the decisions he does. It's like usesthis.com for startups.

</comment><comment><USER11> When I clicked through to your Wufoo form to sign up for launch notification, the visual change was quite jarring--from soothing green to washed-out grey. It felt very alien. Maybe if you carried over the same green background over it wouldn't have had the same effect.

 _I_ know what Wufoo is, and that it'll be safe to give them my email. But your less-savvy customers might wonder where the heck they've bounced to.

</comment><comment><USER12> Patrick, Thanks for sharing so much about your new service and what it takes to get off the ground. I'm curious if you plan to use a true merchant account for handling credit card payments since AppointmentReminder orders are probably going to be larger in value than Bingo cards.

Also, do you plan to form some kind of business/formal entity? I see reference to Kalzumeus but is this just a placeholder? I'd love to hear thoughts on those aspects when launching a new service.

<comment><USER5> I'm going to be using Paypal and Spreedly. I have received e.g. consulting paychecks through Paypal before, without incident. They were rather bigger than any of the subscription plans I am currently contemplating.

Kalzumeus is formally organized as a yago -- basically, it is the Japanese version of a DBA. People paying me money for things are really paying _me_ money for things at the moment. I will probably formally incorporate some time next year.

</comment></comment><comment><USER13> Glad to see Patrick's aiming for a November launch. Patrick, have you considered adding Appointment Reminder to the startups at <http://www.startupmonth.org/> or joining the facebook group?

</comment><comment><USER14> Remember, code will always be 70% complete.</comment>


Why AlphaGo Matters - <AUTHOR> http://benkampha.us/posts/2016-03-11.html <comment><USER2> Now the website is 404

</comment><comment><USER3> All the images are 404</comment>


Let a musical genius make you a playlist - <AUTHOR> http://www.lean.fm/

<comment><USER2> It's a good idea. I just about signed up and then you want a credit card so I stopped because your site is http. You are probably using stripe so it's not a big deal but that's a problem for me. Try freemium. I think you will get 10x amount of signups.

</comment><comment><USER3> I had a similar idea, but these guys beat me to it. Good luck with the service!</comment>


Escape the cloud database trap with serverless - <AUTHOR> https://fauna.com/blog/escape-the-cloud-database-trap-with-serverless <comment><USER2> The pay-go cloud model makes total sense for orgs of all sizes. Even the term "serverless database" is a mind bender for me, but if it can scale that quickly, and reliably, and fluidly (it's a word now), it sounds exciting.

<comment><AUTHOR> The reason the term is trending is because people are excited about not having to worry about servers any more.

<comment><USER3> What are you talking about? The database agent still runs on servers. All this does is take care of the maintenance and scaling and run multi-DC clusters, if I'm not mistaken? Just because you don't "see" the servers in the big picture anymore you can't just flat out call it serverless. Call it autoscaling or fluid or something..

<comment><AUTHOR> We call it serverless because it fits the serverless model like a glove. You wouldn't fault Amazon for calling Lambda serverless...

</comment></comment></comment></comment><comment><USER4> Does this terminology make sense to anyone else? So far as I can see, the article suggests that one should "escape the cloud database trap" by using a "serverless cloud database". "Cloud", so far as I've ever been aware, just means "somebody else's server"; so in what way can it be meaningful to say that such an architecture could ever be "serverless"?

</comment><comment><AUTHOR> Author here, let me know if you have any questions about the content.

<comment><USER5> What are some lessons you learned at Couchbase that you are applying at Fauna?

Importance of a cloud product obviously is one!

<comment><AUTHOR> Haha. Well I've wanted to focus on the kind of smooth developer experience and on-ramping that you can only get with a cloud product. That's been super fun, basically to work the experience of the product itself directly into the signup flow.

Maybe more important are industry expectations, like knowing what a multinational tech company is looking for when they do a proof-of-concept with a database startup.

The most fun lessons are the ones I'm learning at Fauna, because we are running a different hypothesis than Couchbase, and it lends itself to different goals, processes, and atmosphere.

</comment></comment></comment><comment><USER6> Looking forward to seeing where you guys go with this. Good luck!

</comment><comment><USER7> Is it possible to run FaunaDB locally (in development mode)?

Is it open source?

<comment><AUTHOR> Yes there is a dev jar. We've removed the download for now because we are running our recent release to cloud through the QA process. Check back in a few weeks or contact us via the website and depending on what you are planning to use it for we can give you an early copy.

FaunaDB is closed source (with plenty of open source companion code on Github) [https://github.com/fauna](https://github.com/fauna)

<comment><USER7> Thanks for answering.

This means any application based on FaunaDB is locked forever with FaunaDB (because the query language is proprietary and the software is closed source)?

<comment><AUTHOR> We see database migrations all the time in my line of work. Lock-in is rarely the main concern. Usually reliability, operability, and performance are what close deals. Even big enterprises regularly move between radically different architectures. Don't overestimate the cost of lock-in.

But yes, you'd have a hard time duplicating FaunaDB's query capability with something else.

We have bulk export tools coming soon, so you can take your data anywhere that accepts JSON.

</comment></comment></comment></comment><comment><USER8> Fauna is a major player in the market. Their knowledge base is second to none.</comment>


Ng-conf 2014 - The World's First Angular Conference in Salt Lake City, Utah - <AUTHOR> http://www.ng-conf.org/

<comment><USER2> Very cool! I've spent the most time with angular as far as js frameworks and really enjoyed working with it. It's good to see a strong sense of community, makes me feel like the time investment will pay off for a c# guy in the near future :)

</comment><comment><USER3> I love Salt Lake City (I was born there and moved away 5 years ago). But, Salt Lake City in the middle of January is the last place I would want to be.

Its not the snow, cold, or people -- but the smog from the inversions is absolutely terrible.

<comment><USER4> BUT... but but but... it is the same weekend as the Sundance Film Festival. There will be PLENTY of fun stuff to do for the attendees. And since we will have a Significant Others track, there will be good reason to bring along a friend.

<comment><USER3> You're right. And Park City is a great getaway from the air in the valley even if you don't ski.

I'm sorry for being a downer when you're doing a great thing and starting a new conference. May the wind gods shine upon you and blow the muck out on Jan 15th.

</comment></comment></comment><comment><USER5> Is there any chance of this being live streamed? While I do use Angular semi- frequently, my small employer won't pony up for a ticket from London.

<comment><USER6> Too soon to say for sure, but we'll try to make that happen.

</comment></comment><comment><USER6> We're really excited about this, and so is the Angular team. It's gonna be sweet.

</comment><comment><USER7> Good stuff. Looking for volunteers, presenters, or any other general help?

<comment><USER6> Thanks for being willing, we'll let you know.

</comment></comment><comment><AUTHOR> A conference featuring the Angular Team and much more.

</comment><comment><USER8> I'm in. Who do I throw my money at?

</comment><comment><USER9> Any call for proposals up?

<comment><USER4> If there is a call for papers, we will send that to the people who sign up on the site. That is the best place to get on our radar, and get updates on what we need help with.

</comment></comment><comment><USER10> Awesome!</comment>


Google Is Not What It Seems - <AUTHOR> https://wikileaks.org/google-is-not-what-it-seems/ <comment><USER2> In the top 3 most insightful pieces of journalism I have read in 2016. Whatever your opinion on Julian Assange, this is a fascinating look into details of how power structures are evolving in the 21st century. Makes me think the government has a much tighter pulse on what's going on than I had previously thought. Perhaps part of the trick is they want you to think they're idiots.

<comment><USER3> What did you find interesting about it? (I'll confess, I skimmed.)

<comment><USER4> user: culturalzero created: 1 hour ago karma: 5

<comment><USER5> I make new accounts here all the time, and I've been posting on HN for 7+ years.

<comment><USER6> Why do you make new accounts?

</comment></comment></comment></comment></comment><comment><USER7> The problem with having access to massive amounts of data and information is that it's too easy to see patterns and connections where there may only be noise.

20 years ago, I imagined that access to endless amounts of information would accelerate global enlightenment. Now, new conspiracy theories seem to come out almost daily. And, they quickly get passed around carelessly, especially by my family and friends. It seems too much information just causes a lot of panic and paranoia.

He could very well be right. But, I only wish that there were alternative analyses to consider.

<comment><USER8> Here's how I think about 24/7 free/cheap access to tons of information:

1\. Almost anything can be addictive, including information.

2\. Behaviors become part of an addiction by being used to numb or avoid emotional/physical pain, which requires us to ignore our own needs (assuming unpleasant emotions are expressions of needs going unmet).

3\. Most cultures don't view things from the perspective of fundamental human needs.

4\. We largely suck at addiction treatment. 5\. We're living in the Information Age.

Therefore, we are living in a world where an addictive thing that's also necessary is so accessible, it's free or negligibly cheap most places in first-world countries, and we're largely clueless about how to deal with it.

I share the prediction you made 20 years ago & think we're on the brink of figuring out how to tackle things. I'm just starting to work on my personal attempt at it: fusing mindfulness with design thinking to create tech that doesn't disconnect us.

</comment></comment><comment> norea-armozel I'm not a fan of Wikileaks but much of what the article states isn't a secret. It's clear that Google's founders for years has been trying to gain a political advantage over other corporations by being friendlier to the US govt. It makes sense since the US govt is behind the times and Google needs a friend in the US govt to make treaties that would give them an advantage over competitors in emerging markets. This is a win/win for both involved. I'm not saying this is acceptable/moral/desirable, I'm merely saying that this is how the real world of international politics works. I just wish more folks wouldn't think for a moment a corporation will stop being a corporation for the sake of it's founder's original intentions (assuming Schmidt and company were/are honest with us). At least in that clear headed acceptance of Google's agenda maybe we all can individually (and maybe collectively? I know it's quite a bit to ask.) adjust our strategies to limit their abuse of our data.

<comment><USER9> I love the "this isnt news" argument. "You shouldnt care about collusion revealed by Wikileaks/whoever because everyone kind of already knew about it."

"This is how the 'real world' works" Another bs argument. Yes. Those who have been paying attention already know what Assange is talking about. That does not excuse Google in any way.

"Don't be evil" is a pretty low bar to set. And Google is so corrupted at this point they can't even "live up to their founder's original intentions".

<comment> norea-armozel I never said you shouldn't care. But it seems you ass-umed that I said as much. But go ahead, pretend I did say that and fantasize you're the only person that's worried about the state of the world. I'll just be here popping my popcorn to see who else smacks you upside the head for your pearl clutching performity. ;)

</comment></comment></comment><comment><USER4> Dupe:

[https://hn.algolia.com/?query=assange%20google%20seems&type=...](https://hn.algolia.com/?query=assange%20google%20seems&type=story&dateRange=all&prefix&page=0&sort=byPopularity#!%2Fstory%2Fsort_by_date%2F0%2Fassange%20google%20seems)

Also highly misleading :).

<comment><USER2> Misleading how?

<comment><USER4> [https://news.ycombinator.com/item?id=8502284](https://news.ycombinator.com/item?id=8502284)

</comment></comment></comment><comment><USER10> And neither is Wikileaks. Given the ever increasing noise/rant/innuendo ratios of what he emits, it's hard to justify the time investment in reading anything Assange has put out for several years, now.

<comment><USER11> Wikileaks is exactly what it seems: the front page of GRU (Russian Military Intelligence Agency)

<comment><USER10> It's not, of course. But the irony is that it frequently acts as if it's in the pay of some malignant entity or another.

</comment></comment></comment><comment><USER12> This is just how the world works. Of course a billion dollar corporation engages lobbyists, political hacks and other partisans to help them achieve their goals.

<comment><USER13> That's really not what the article is about. There's a whole lot more to it.

</comment></comment><comment><USER14> Could someone please summarize this?

<comment><USER15> Google is becoming a tool for US imperialism.

"Whether it is being just a company or "more than just a company," Google's geopolitical aspirations are firmly enmeshed within the foreign-policy agenda of the world's largest superpower. As Google's search and internet service monopoly grows, and as it enlarges its industrial surveillance cone to cover the majority of the world's population, rapidly dominating the mobile phone market and racing to extend internet access in the global south, Google is steadily becoming the internet for many people. Its influence on the choices and behavior of the totality of individual human beings translates to real power to influence the course of history."

<comment><USER16> Their intentions are interesting to me. Is this a money thing? Why would Schmidt want to use his life to do this?

</comment></comment></comment><comment><USER17> Am I dreaming or is this old news? I get a strong feeling that I've read this before, but I can find no date on the actual article!?

<comment><USER6> It goes back at least a couple of years, so it's likely you've seen it before.

[https://news.ycombinator.com/item?id=9365520](https://news.ycombinator.com/item?id=9365520)

</comment></comment><comment><USER18> I don't take this at face value, but there might be clues for why Google supports the TPP.

<comment><USER19> Clues? Support for the TPP is obvious: concurrent with 70 years of global economic expansion has been expansion of free trade. In that context, in as much as TPP expands free trade, the default answer to the TPP should be, "yes, please".

From a tactical political perspective, if the TPP doesn't happen then most Westerner observers expect China to lead a regional trade pact. That would bind Asian countries more strongly, politically, to China. So from a realpolitik perspective, the answer again would be, "yes, please".

Both of those are reasons why a company like Google and a social progressive/free market politician like Hillary Clinton would instinctively support the TPP.

By contrast to the pros, the cons with the TPP are much more nuanced and specific. With trade pacts, usually you take the good with the bad; that there are negative aspects to the TPP wouldn't normally be a good reason to oppose it. However, given that U.S. state and federal governments have abandoned support for manufacturing specifically, and blue collar jobs more generally, despite decades of economists unanimously making it clear that government MUST make HUGE investments to mitigate the costs of economic dislocation, we've arrived at a point in the U.S. where it's no longer politically viable (and for good reason) to continue to promote free trade at all costs.

So this is why you'd see a politician like Hillary make an about face (sincerely or opportunistically, for w'ever it mattered) while a company like Google would continue to promote it. Hillary has to respond to the political environment, whereas on balance for a company like Google the TPP still makes sense.

You don't need clues. The writing is in huge lettering all over the place. All you have to do is stay current on modern events. Although, to understand the full story here you need to have been staying current since at least the 1990s, when the WTO and NAFTA came into being.

Liberal and conservative thinkers, academics and businessmen, mostly travel in the same circles. People like Hillary Clinton have been part of these circles for decades. Nouveau riche like Schmidt invariably gravitate to the same circles. Anybody can join these circles--either get rich, become a successful politician, or become a widely published academic. But there's no active conspiracy going on between these people anymore than engineers conspire when forming a startup--they merely share the same ideas, which have been roughly the consensus view on liberal politics and economics for some time, and desire to be at the forefront wrt applying those ideas. The TPP is just happening near an inflection point in modern political and economic thinking, and it's catching alot of people off balance.

Then people like Assange or other critics come along and "expose" this stuff like it's been hidden the whole time. Um, no....

Just keep a regular subscription to the New York Times, Financial Times, or similar paper for several years and you'll eventually see the shared mindset emerge. Stay away from fringe publications (which the Wall Street Journal is increasingly becoming), because they tend to be contrarian and typically serve to confuse. At the end of the day it's not about being wrong or right; you don't read other people's opinions to decide what's right or wrong. (Nor do you need them to be able to critique.) Rather, it's like following the stock market--to keep track of the ideas ruling the world you track the principle market in those ideas. They're all out in the open. The side-shows are distractions. And nobody is going to be able to predict the inflection points; anybody selling that is selling snake oil.

<comment><USER20> I am not up-to-date on the TPP, but my vague impression is it's 1) sort of like NAFTA but for a different set of countries, which 2) happens to include treaty obligations to implement IP laws that resemble SOPA/PIPA, and 3) was negotiated under more secretive than usual discussions. Is that roughly correct?

I think the hacker crowd (including Google) should be strongly opposing #2, and maybe also #3 for making it hard to object to #2 without objecting to the whole treaty, but #1 sounds like a thing that many reasonable people are likely to support, yeah.

<comment><USER19> From a hacker libertarian's perspective the TPP is pretty bad. I certainly dislike it. But if we're being honest, in the grand scheme of things it's not that big of a deal. Our world wouldn't end; the TPP would just end what little hope we had for looser IP restrictions, at least legislatively derived.

More importantly, almost nobody outside our community really cares about those IP restrictions, whether or not they matter. And from Google's perspective those restrictions are definitely a net benefit short- and medium-term, whether or not the dire predictions from the EFF pan out. Google makes their money from advertising; the bulk of people going onto the internet the world over do so to consume modern media; and stronger, US-like IP protections in other markets will accelerate the growth of media consumption by making American media companies more comfortable expanding and easing digital distribution overseas. And for better or worse American media companies are so huge and sophisticated they have the capability to induce tremendous amounts of consumption. More eyeballs spending more time on the Internet is more money for Google, period.

Our community also opposes the TPP because it will enforce private mediation of many trade disputes arising from domestic laws. I also dislike this aspect. In addition to being an engineer I also took a mid-career break to go to law school, so I have uncharacteristically informed opinions in this regard. But from a 10,000' perspective, this aspect is also unlikely to be significant short- or medium-term. At worse those mediations would generally favor U.S. companies, although going strictly by historical numbers they're not yet as unfair as domestic arbitration. Theoretically they'll hamper legislative autonomy, but trade agreements by their very nature will do that because the terms can't be rescinded unilaterally without international repercussions. Again, in the short- and medium- term they'll regularize business proceedings in some legally less developed jurisdictions. Long story short, it's all a net benefit for somebody like Google or basically any American corporation.

The reason why TPP is becoming increasingly less viable is because most of the gains will accrue to media and so-called "IP" companies, and almost all the costs will be borne by blue collar labor. Because the U.S. has weak and ineffective mechanisms for mitigating dislocation, the TPP is likely to increase real or at least perceived economic and political inequality. Significant opposition has not arisen because of the technical reasons that concern the hacker community, although enforced mediation is being used rather cynically (but understandably) to rally support from other interest groups.

As for secrecy, all trade agreements are negotiated secretly and always have been. You don't want everybody's finger in the pie, otherwise nothing would ever get done, especially in our modern political atmosphere where we suffer from paralysis because interest groups have forgotten how to compromise. And, yes, companies get to stick their finger in the pie on occasion because whether you like it or not, it's unrealistic to think that a multi-billion dollar conglomerate has economic interests equal to you or I. Once upon a time some non-corporate interests had a seat at the table; specifically, trade unions. But American conservatives and businesses have substantially diminished their economic, and thus their political, influence.

As politics has become more polarized, and as the influence of non-corporate interests has waned, so have negotiations become moderately less transparent. But many of those document "leaks" were no accident, and the only revelations were in fine print, which despite all the hand-wringing will only matter at the margins. The broad details were always known publicly, or at least to anybody paying attention. CEOs gossip like anybody else; anything a company knew would have been easily discoverable by a decent journalist. (Yet another reason to pay for a real newspaper subscription, or to otherwise financially support the journalist community, if you can.)

Finally, Google isn't part of the hacker crowd. Even if they were, they're so large that their interests could be such that even if they were trying to "not be evil" they could still reasonably support the TPP. Nonetheless, for better or worse they and similar companies represent the "techies" at the negotiating table, not the EFF. And that's just the reality of the situation, whether we like or not.

<comment><USER18> There is also the matter of the timing of the blog post too.

</comment></comment></comment></comment></comment><comment><USER21> This is the reason Schmidt uses an iPhone</comment>


'We did it to ourselves': scientist says intrusion into nature led to pandemic - <AUTHOR> https://www.theguardian.com/world/2020/apr/25/ourselves-scientist-says-human-intrusion-nature-pandemic-aoe <comment><USER2> I am waiting to see what kinds of pernicious little nasties have been hibernating beneath the Arctic ice cap since the middle Holocene.</comment>


Netflix clocks 42B API requests per month - <AUTHOR> http://gigaom.com/video/netflix-42-billion-api-requests/

<comment><USER2> 42B API requests / month = 42000000000 / ( 86400 * ( 365.24 / 12) ) => 15971 req/sec. From the graphs in the talk probably peaking to 30,000 req / sec.

Remember there are a billion nanoseconds going by every second.

</comment><comment><USER3> Interesting dogfooding here.</comment>


Roots – Better CSS - <AUTHOR> http://roots.cx/axis/

<comment><USER2> To whoever manages this page: please rethink the way you're introducing the library. I read the first three paragraphs and still had no idea what was going on. All I learned was that Stylus was involved. Then the next section talks about when and where to use mixins, and the logic for when to use the "native form" vs. the "mixin form" seemed weirdly rigid, so I left.

If you want people to use your library, they need to understand it. And if you want them to understand it, you need to be more compelling. Only after going back to make sure I'm critiquing you right did I realize this was part of a bigger toolkit at all.

Oh, and please increase the font size.

<comment><USER3> Hey wow didn't realize this had been posted on hacker news - I'm the author of roots and here way too late to field comments. Thanks so much for the feedback Ian! No need to assume such a critical tone, I'm open to any and all feedback, so let's keep it friendly.

Let me try to explain why I have that intro paragraph there. Stylus is a very open and flexible language, and the same statement can be written many different ways. In addition, it's not as commonly used as something like sass, so there aren't well-known conventions that have arisen. All I was doing here was trying to establish and explain a couple conventions, to make life easier and more clear for everyone.

In addition, someone randomly posted the documentation page for the css library here rather than the homepage. This might be part of the reason why you were confused about what exactly this is.

Would love to hear more about how I could be 'more compelling' with this - always a great goal and something I hope I am able to do -- of course keeping in mind that this is a documentation page.

<comment><USER4> I'd agree with the OP here. Stylus may be "very open and flexible" but I don't know what stylus is either. I came to your page because I wanted to find out about roots, not about stylus.

Open with a statement saying "Roots is a css framework that does X". Maybe have a follow up statement saying "Roots is based on the stylus language".

<comment><USER3> Note that this is a documentation page for a stylus-based css library, not the homepage. The homepage is at <http://roots.cx>

<comment><USER4> Ah! That makes more sense :P

</comment></comment></comment></comment></comment><comment><USER5> This might just tempt me ( a non css-y person ) to switch over from bootstrap to this while prototyping or otherwise. It makes things extremely modular which is what makes sense to a programmer like me.

</comment><comment><USER6> I used this library for an internal project for my employer after seeing it on Hacker News

I found it relatively easy to use, but it was a pretty simple thing I was dealing with (one-page registration scheme). Having Coffeescript built in was quite nice, since I find it much easier to deal with.

I don't see it as being better than major CMS-style js libraries like Angular JS (which I started playing with recently), but it was pretty easier to learn for the toy application I was building. Being able to deploy to Heroku through the command line is neat, and the auto-reload on changing the HTML was pretty cool too.

(I'm not in any way affiliated to the person who wrote it, just someone who used it for a small project.)

<comment><USER3> Hey jbm, author of roots here. Really glad that you ended up using this (probably quite a few releases ago), and thanks for the feedback! I don't quite understand what you're getting at here though, because the libraries you are comparing it with are in no way similar.

AngularJS is a client-side javascript MVC framework and roots/axis are a static site compiler and a css library, respectively. It's easy to use roots with a client-side mvc framework if you prefer, I even have built in precompiled templates to make it easier.

<comment><USER6> Hey, thanks for the framework. I liked Roots.cx, and I found that a lot of the functionality that I really liked therein. Kudos!

My comment probably needed to be more thoroughly thought out before being posted.

My main issue with roots (and the reason I probably will not be using it in the future) is that I need to assume whoever takes over for me in 2 years will understand how to use Roots (and to make sure it is still updated). I can be pretty sure that Bootstrap will still be updated and maintained, but I can't be sure of the same with Roots. It makes it hard to use in a work context for anything major.

I will take a closer look at Roots and your pre-compiled templates for my personal projects, thanks for letting me know about it.

<comment><USER3> If it helps, I can assure you personally that it will. Roots is being aggressively developed right now and is already in use for several high- visibility projects at the company I work at full time.

If anything, in a couple years roots will have expanded quite a good amount and, based on my current plans for the future, it will ship with a compiler that several orders of magnitude faster, be quite a bit more flexible with more languages and templates, be coupled with an optional cheap and efficient static hosting service with post-deploy compile hooks, and have a well- developed dynamic CMS that it can be paired with.

</comment></comment></comment></comment><comment><USER7> Not the best example of good css. The menu covers up the whole screen on my galaxy s2. Might want to think about responsive design.

<comment><USER8> I'm not sure the page is intended to be responsive (I may be wrong.) It just looks like they are using fluid widths.

<comment><USER9> Responsive is one thing, but I can't even zoom in on a mobile...

Dear all web developers, please resize your Web browser to about a mobile phone width before deploying. Just once. Just to check. Especially if your page is about a web technology.

</comment></comment></comment><comment><USER10> I have an hard time with the colors.

input-warning(color = yellow)

Yellow on yellow on my monitor is pretty much impossible to read.

input-success(color = green)

is better but I need to concentrate to read the letters

simple-button

are more similar to tags to me, and the hover effect is not noticeable

Take this as constructive criticism, I just had the time to skim over the project. I wish you the best luck.

<comment><USER3> Thanks riquito - I'll work on these. They show up very clearly on my screen, but I totally get that not every screen is mine, I'll try to bump up the contrast a bit.

For the simple button, I don't disagree, it's more of a base to build on top of. I am seeing more buttons that looks like the in production these days though, and the lack of affordance is a little weird to me

</comment></comment><comment><USER11> Nice stuff, I always wished CSS would have more shorthand codes. Not sure I'll use it, I worry I'll become too dependent on non-official syntax. Hopefully the W3C sees this and borrows some ideas.

</comment><comment><USER12> What's the draw in using this over stylus with nib?

<comment><USER3> It's a much larger and more comprehensive library, most of nib is included in it, and it's actually developed, maintained, and documented.

</comment></comment><comment><USER13> Oh goodie, another one.

<comment><USER14> It's actually really good. You should give it a second look.</comment></comment>


Bitwarden Roadmap - <AUTHOR> https://community.bitwarden.com/t/bitwarden-roadmap/12865 <comment><USER2> Bitwarden is really amazing.

I moved from LastPass to it and I couldn't be happier. I never had a problem in the years I've been using it, works well across devices, has all the basic features one would need and a bit more.

One of those rare products where I really can't possibly imagine what I would need more, and I'm glad to see that the roadmap seems to be mostly for more advanced features</comment>


Design for programmers - <AUTHOR> http://method.ac

<comment><USER2> Programmers are not an alien species that needs special instructions catered to their profession. They're regular people, who learn the same way anyone does: by doing.

This website wastes time talking about how programmers are analytical people, and can't hope to understand design without special teaching methods. Let's end this myth. Programmers are not inherently more logical and analytical than other people (Lots of jobs require logic, even design jobs). Programmers are normal people who learned a skill.

<comment><USER3> Design is also a very experiential field: you don't learn how to do good design, you eventually get good at it by doing it a lot. It helps to know some basics before getting started, but most of what design school does is force you to do a lot.

<comment><USER4> That sounds exactly like programming.

<comment><USER3> Or any profession really - you have to put in the time. Which is why expecting a good designer to be a good dev or vice versa is kind of outlandish.

</comment></comment></comment></comment><comment><USER5> Co-founder here, sorry to let you know this course will no longer be. So many things have happened since we had this idea, it's been difficult to even change the homepage to reflect this. I'll put up a placeholder homepage asap.

</comment><comment><USER6> Interesting, I guess since I'm used to seeing sites for programming for designers a lot.

There's something that looks a little weird: [http://i.imgur.com/BIbGxZUl.jpg](http://i.imgur.com/BIbGxZUl.jpg) I'm on Firefox 32 using Ubuntu.

</comment><comment><USER7> While this is a pretty fun idea, it's pretty much dead:

</comment><comment></comment><comment>=====

Hi <...>,

I'm glad that you find it amazing but we have Method on hold for now. We are focusing on other projects we think will work better.

Thanks for your kind words,

Maria.

mariamunuera.com

</comment><comment></comment><comment>=====

I got this response after I sent an email asking for any status updates sometime in April. Unfortunate.

</comment><comment><USER8> Very cool, I did the font one. I found myself first adjusting the leaders based on how well the letter looked to my eye and could easily get into the 80+% range. But when I tried to use my analytical eye by lining up the dimension leaders, I dropped a solid 10 points. Guess I have a fair eye, but no skill. Thanks for posting.

</comment><comment><AUTHOR> Even though it still hasn't launched, I posted this since I thought that the design games at the bottom of the page were cool.

</comment><comment><USER9> I don't think that design (or programming) is for everyone though. You can only learn so much

<comment><USER10> What do you mean. I dont get it. It's just a skill, as everything else.

</comment></comment><comment><USER11> It is much needed course but it really doesn't compare with Codecademy's beginner course.

The design games were very vague and had no clear objective. I guess it is a bit harder to gamify something that is more subjective and "looser" in nature

<comment><USER12> I played the kerning game. It's true they don't give you any instruction on what good kerning is, so if you've never been exposed to the concept you have to discover it by failing through it.

<comment><USER13> 87% :D

</comment></comment></comment><comment><USER14> Although different in nature (less interactive, more articles), HackDesign course is worth mentioning. I learned a lot there: [https://hackdesign.org/lessons](https://hackdesign.org/lessons)

</comment><comment><USER15> Very interested. Are there any courses already out there that can teach basic design?

<comment><AUTHOR> This book is pretty good [http://www.amazon.com/Design-Hackers-Reverse- Engineering-Bea...](http://www.amazon.com/Design-Hackers-Reverse-Engineering- Beauty/dp/1119998956)

Also, the other day I came across this pretty exhaustive blog post [https://medium.com/@karenxcheng/how-to-get-a-job-as-a- design...](https://medium.com/@karenxcheng/how-to-get-a-job-as-a-designer- without-going-to-design-school-bad8cdb67068)

<comment><USER16> Kadavy's book is great. I also highly recommend it.

I'm of the analytical type of people and his book does a great job explaining fundamental design concepts in a very logical way.</comment></comment></comment>


Open Source Storage Operating System FreeNAS - <AUTHOR> http://www.freenas.org <comment><USER2> Recently released FreeNAS v9.10, based on FreeBSD 10.3: [http://www.freenas.org/blog/freenas-910-released/](http://www.freenas.org/blog/freenas-910-released/)</comment>


EU to force tech firms to hand over terror suspects' messages - <AUTHOR> https://www.theguardian.com/world/2018/apr/17/eu-to-force-tech-firms-to-hand-over-terror-suspects-messages <comment> gm-conspiracy _As part of the roll-out of new initiatives devised in response to attacks on European soil in recent years, the EU is also seeking to improve the security features of ID cards used by citizens of member states in the Schengen travel area. Fingerprints and facial images will be stored on a chip in the cards._

 _An estimated 80 million Europeans currently have non-machine-readable ID cards without biometric identifiers._

</comment><comment><USER2> Here we go again.</comment>


Microsoft Will Be Carbon Negative by 2030 - <AUTHOR> https://blogs.microsoft.com/on-the-issues/2020/01/16/microsoft-will-be-carbon-negative-by-2030/ <comment><USER2> I can see this picture of Satya Nadella used in future to remind him of how this plan failed

</comment><comment><USER3> Nice, hopefully other companies will follow on their steps. Especially naval shipping companies somehow.</comment>


In Defense of "Mindless Rote" (2001) - <AUTHOR> http://nychold.com/akin-rote01.html <comment><USER2> The article shows a confusion between training (committing things to muscle memory, or to visual patterns that can be recognized or executed) and teaching (a deeper understanding of a thing). Training is always more testable than teaching, yet for the most part the things we test people on (e.g. multiplication of small numbers, solving quadratic equations) are only evidence that something like mathematical skill and understanding is building up rather than the desired thing itself.

Rote memorization is a skill that's quite useful, but it's only one skill among many others that people should take away from school or university. And just as it's wrong to dismiss certain teaching as "just" rote memorization (e.g. knowing vocabulary in a foreign language) it's also wrong to just omit the teaching part altogether and train people to do well on standardized tests.

<comment><USER3> Even more, it confuses unconsciously learned skills and skills learned by repetition. Repetition is not always the best or the only way to learn those skills that get mastered at an unconscious level (though it's definitely an important way to achieve unconscious mastery at some things). These sorts of skills often involve physical activity, movement, writing and coordination generally. If a person begins with "poor form" in such a skill, repeating the activity only makes the poor form more ingrained.

Alternative method include something directly guiding student physically and practicing in such a way that you get immediate feedback if you are wrong.

</comment></comment><comment><USER4> Related to Albert Wenger's "attention as the scarce resource" thinking. [https://thoughtshrapnel.com/2018/06/28/attention- scarcity/](https://thoughtshrapnel.com/2018/06/28/attention-scarcity/)

</comment><comment><USER5> A perspective from Wozniak from supermemo:

The core knowledge of intelligent thinking, in mathematics and beyond, is the rules of mathematical derivation in the most abstract and universally applicable form. Those rules can be applied in a myriad of daily situations. This universal applicability in problem solving makes the basis of what others consider an intelligent person. If properly formulated and represented for learning, these rules can be memorized in a standard way; in other words, memorization can be a way toward intelligence!"

[https://www.supermemo.com/english/ol/ks.htm](https://www.supermemo.com/english/ol/ks.htm)

</comment><comment><USER6> But... you have to know what a derivative is _for_ in order to be motivated to learn how to do it. If it's all just mindless manipulation, how will one know whether to apply this or that mindless manipulation?

<comment><USER7> For me it was cause I wanted to beat the shit out of my curve and get scholarship money and letters for grad school. Similar sentiments are found in Hardy's book I think. If you spend enough time around math professors you will certainly hear a story about so-and-so who is now an acclaimed mathematician who showed up for some undergraduate course when he was 17 or something extremely confused about what the "meaning" of the material was but figured out how to solve all the problems and get an A cause he cared about being good at it (and had the ability to do so).

</comment></comment><comment><USER8> I just want to note that the nychold.com site is new to me, and that there's a lot of interesting stuff there.</comment>


The Best Startup Offices In San Francisco For 2012 - <AUTHOR> http://ongig.com/blog/companies/2012-best-startup-offices-in-san-francisco

<comment><USER2> I like Twitter's roof!</comment>


ThorCon 2019 500MW molten salt modular tow-able nuclear reactor [pdf] - <AUTHOR> http://thorconpower.com/slides/ThorConICENES2019d.pdf <comment><AUTHOR> This is a recent presentation, apparently for Indonesia. I find it detailed and well presented.

I do not really hold much hope for new nuclear, as compared to renewables.

However, they do still have a case in less-sunny, dense urban areas (e.g. US North East, Japan).

</comment><comment><USER2> This is a nice proposal, but there's no actual mention of total proposed cost to build and test a complete unit. I have a strong suspicion it is massively more than an equivalent-cost renewable installation given that Indonesia is literally on the equator.</comment>


Static social media "share" buttons - for a bit more privacy - <AUTHOR> http://my.opera.com/tagawa/blog/static-social-media-share-buttons

<comment> james-skemp This is hardly a new idea, so I wonder why we just end up using AddThis, or one of the other services. Sure, they provide stats, but it's not too difficult to hook up Google Analytics, or setup a pass through page.

Perhaps it's the fact that they tend to provide access to most networks, if not all, despite the lack of value (participation) for most of them?</comment>


Ask HN: Connecting with YC founders - <AUTHOR>

How hard is it to get in touch with founders at YC companies? I'm looking to contact the founder of Teespring, to talk about prospective a B2B proposal. <comment><USER2> You could try emailing him. I'd be willing to bet his address is something like firstname.lastname@example.com.</comment>


New website lets anyone spy on Tinder users - <AUTHOR> https://www.theguardian.com/technology/2016/apr/05/tinder-swipebuster-spy-on-users-privacy-dating-app <comment><USER2> "I wanted to make a statement about privacy" \- Charges $5 to search a "public" database.

No. You wanted to make money. Get off your high horse.

<comment><USER3> Businesses can be simultaneously profit seeking and for the public good. In fact, that is the ideal.

It's concerning that many feel this is not the case.

<comment><USER4> Because there's a conflict of interest there - making money can, and often leads to business ending up harming the public to maintain/increase its profits.

Personally, I'm fine with businesses doing work for the good of the public. They should be transparent about it though.

</comment></comment></comment><comment><USER5> Wait, Tinder has a public API? Damn it, whenever I have to teach students what a public API is, I use Tinder as an example of a service that does not provide an API and the resulting hoops a programmer has to jump through in order to programmatically use the service:

[https://www.youtube.com/watch?v=Qgnxb-O- CBQ](https://www.youtube.com/watch?v=Qgnxb-O-CBQ)

<comment><USER6> I tried googling, but AFAIK, Tinder doesn't have an official API. Everything I've seen is undocumented calls to their private API.

<comment><USER7> From the article:

> But [the app] doesn't do so by hacking into Tinder, or even by "scraping" > the app manually. Instead, it searches the database using Tinder's official > API, which is intended for use by third-party developers who want to write > software that plugs in with the site. All the information that it can reveal > is considered public by the company, and revealed through the API with few > safeguards.

<comment><USER8> Yes; that is the line that danso noticed. However, nemothekid tried to verify it and was unsuccessful in finding any documentation for this presumbably publically available API. A github gist is the top google result for 'Tinder API documentation'

[https://gist.github.com/rtt/10403467](https://gist.github.com/rtt/10403467)

which suggests that Tinder does not provide a public official API, people have simply reverse engineered the network requests of the application.

In short, the article is wrong.

<comment><USER5> Thanks for doing the Googling for me...should have assumed that the reported article and/or the people behind the app would be unreliable sources...any company of Tinder's size that puts the effort into making a public API would make relatively decent documentation that would show up in a cursory Google search result.

Also part of the lesson on "What is an API?": the concept that some companies do not have an incentive to make an API...and Tinder, for many good reasons, is one of those.

</comment></comment></comment></comment></comment><comment><USER9> the cheating / jealousy market is a huge one. People with money that are insecure or suspicious may spend billions each year in private investigators, spy apps, etc. This page may be already making a killng, specially with all the free publicity from the medias that featured it

<comment><USER10> Do you think somebody who is worried about privacy threats like that is on Tinder?

<comment><USER11> Most people don't realize they have an insanely jealous partner until either they are caught or they catch their partner

</comment></comment></comment><comment><USER12> Wasn't there a way to get this querying facebook not so long ago? [https://inteltechniques.com/intel/osint/facebook.html](https://inteltechniques.com/intel/osint/facebook.html) , i remember there was an option here..

</comment><comment><USER13> the article says tinder has an api for 3rd party apps and services. I completely fail to see the purpose of this.

what makes tinder tinder is it restricted usability. there's no search and no rewind.

</comment><comment><USER14> Surely though "we" have nothing to hide!

<comment><USER15> Publishing your name and photo on Tinder isn't exactly hiding in the first place. You are putting it out there for any stranger at all to see.

<comment><USER16> Of course, the expectation would not be "for any stranger at all to do systematic and statistical analysis". Similarly how most people don't mind stepping out of the house and being seen by strangers, yet reserving various notions of privacy.</comment></comment></comment>


Ask HN : White-labeling your service - <AUTHOR>

We are a start-up and one of our potential client asks us to white-label our service for him to sell it to his own clients. Our company name will be written in small on the service we'll provide to him.<p>What do you think about that kind of contract? <comment><USER2> These types of distribution deals can be great for your business. Just make sure that both sides understand what is being agreed to as far as the execution. I have had some bad experiences with feature creep when working on white label partnerships like this. That is, we thought we were delivering a white label version of our existing solution as is and the partner thought that they were getting unlimited customization.

</comment><comment><USER3> Given the market ahead, you need to keep your eye on any and all cash coming to the table.. so yes, pownce on that.</comment>


What's Going on in Catalonia? - <AUTHOR> http://interactius.ara.cat/9n/en <comment><USER2> I'm all for Catalonian independence, but I completely oppose the way scrolling has been hijacked on that page.

here's how you scroll [http://bost.ocks.org/mike/scroll/](http://bost.ocks.org/mike/scroll/)

</comment><comment><USER3> I am a born Catalonian although living away. Honestly, the page could do with a bit less bias.

Also, the big difference with Scotland is the Constitution. All citizens are subject to it and in it the existence of a single state is established quite clearly. Not so for the Scots, rather the opposite. That is why their referendum made sense.

Notice that in the same constitution is stipulated that there is no right to carry out a referendum by anyone except the Spanish Government.

What will take place tomorrow is a travesty because only the people willing to say yes are encouraged to go to the stations. The others have absolutely no interest in taking part in a unilateral decision.

Yes, great photos and lots of people. And so what? There have been lots of people meeting in Spain for many other reasons which are not shared by the majority necessarily.

What is the way forward? I do not know but it is never a travesty of legality, which is what shall happen tomorrow.

<comment><USER4> Your interpretation of the laws is irrelevant. Interpreting the law is a prerogative of the courts of justice, not of ordinary citizens like you and me.

And even if the referendum was ruled illegal (which so far it hasn't, it's only been "suspended") some people believe that the right of secession is a fundamental right of people regardless of whatever the constitution says.

<comment><USER3> "Las decisiones políticas de especial trascendencia podrán ser sometidas a referéndum consultivo de todos los ciudadanos." Art. 92.

As I understand, "todos los ciudadanos" means "all the citizens."

However, my interpretation is obviously irrelevant but I have the same right to an interpretation as anyone. What the court of justices have is POWER (which is the ability to enforce rights and duties). Not the same thing.

And yes, some people believe that. And some do not. The problem with a constitutional state is precisely that it is a difficult problem.

</comment></comment></comment><comment><USER5> As others have said, the article is full of bias an political propaganda. It doesn't belong on HN and this user should be banned because all he submits is pro-Catalonia propaganda. See [https://news.ycombinator.com/submitted?id=kiliancs](https://news.ycombinator.com/submitted?id=kiliancs)

<comment> k-mcgrady I don't know much about Catalonia so have no idea about the bias BUT you're right that the users submissions are ALL related to the one political topic. I don't know about banning them but maybe banning submissions from them? It's essentially spam. Politics here usually has a tech angle and occasionally some political articles with no tech angle are relevant just because they are interesting but posting only political articles on a topic that will effect very few people on HN is spam.

</comment></comment><comment><USER6> The whole scroll navigation is not very popular here but this is a really nice website.

However, the conclusion it makes me draw is that Catalonia want to ditch Spain almost entirely due to the economic downturn (see the graph of independence popularity). And to be fair, the Spanish government did make it worse and more painful, but is Catalonian electorate much different in terms of preferred economic policy?

</comment><comment><USER7> A good example of bad "design", that holds aesthetics above everything else.

To be fair, it looks really nice. But having scrolled through it twice and being annoyed by the hijacked scrolling and autoplaying video with sound, I still have no idea what this is about.

<comment><USER8> With firefox 33.0.1 on Linux, the scrolling was very jerky. That, and the hijacked scrolling made me give up about halfway through.

Frankly, Wikipedia does a far better job.

</comment></comment><comment><USER9> If Kosovo is a country, than Catalonia has rights to be one too. That is the reason why that travesty is not recognized as a country from Spain.

</comment><comment><USER10> The situation is not that simple as "Catalonians want to become an independent state": they want to be independent with some conditions. For instance they claim they should not take any part of repaying Spain's debt, but some of part comes from them. Is like if a group of friends go out for dinner and someone say "I'm not paying".

They want to keep be part of the EU, which is not that simple, open borders, same currency, use Spain's army instead of building one, football clubs to play on La Liga (this a very big deal for most Spaniards).

As someone from south Spain, I'm totally up for them to become independent if that's what they feel like. However, they shouldn't expect Spain's help at all.

The site is obviously catalan, but the bigger picture is way more complex than that.

<comment><USER11> > they want to be independent with some conditions. For instance they claim > they should not take any part of repaying Spain's debt, but some of part > comes from them.

Source?

</comment></comment><comment><USER12> So what's to stop this from happening everywhere in Europe where more affluent regions want to become independent from less well off ones? I don't think that's the way forward, we should be more united not less. Each region can keep their language, culture and traditions.

<comment><USER4> Only the poor regions should be allowed to become independent?

</comment></comment><comment><USER13> Jesus, what's with the scrolling? I hope their politicians are better than their web designers.

<comment><USER14> Actually, their government is the one paying for that website with public money, more than 350k euros per year according to this [http://legislacion.derecho.com/resolucio- pre-0109-2013-17-en...](http://legislacion.derecho.com/resolucio- pre-0109-2013-17-enero-2013-departament-de-la-presidencia-4738229)

Now, that definitely give me more motion sickness than the scrolling...

</comment></comment><comment><USER15> For all of you that are not in Spain and want a quick understanding of the situation: it's OK if (some) catalans want to be independent. The fact is that the _constitution_ says that this matter belongs to _all_ Spanish. So if Catalonia wants to vote that, it has to be _all_ spaniards to vote in favor or against that. It's against the law that only a part of it decides, withdrawing that right from the rest of the country. It's really that simple.

<comment><USER11> > The fact is that the constitution says that this matter belongs to all > Spanish

No, Spanish constitution say that Spain is indissoluble.

> It's really that simple.

No, it is not that simple

</comment></comment><comment><USER16> What happens in Catalonia:

Catalonia is a region of Spain wealthier that the rest of Spain.

In the middle ages they would buy raw materials to the rest of Spain, like wool, manufacture fabrics with high added value and sell it in the Mediterranean.

When Castilla colonized America, the Catalunian industry were one of the main beneficiaries. As they had access to a big market and again they bought raw materials.

When American colonies got independent, Catalunya was the region with highest repatriated capital.

Catalunia was very Spanish patriotic beneficiaries at the time as the number of Volunteers for Cuba's and north of Africa's war testify.

Losing the colonies was a disaster for Spain in general and Catalunya in particular. Lots of social turmoils happened as the Catalunya burguesia accumulated most of the wealth from the industry.

Catalunya became famous for the number of anarchists and communist it generated.

In the 1930s the gobertment of Cataluyna declared independence, mainly supported by the burguesia that thought it was going to control the independent state and the wealth themselves.

But soon they realized the workers took the control, seizing the goods of the burgueses, and declaring a dictatorship of the proletariat.

The burgueses panicked and gave all the support to dictator Franco that won the civil war.

Franco controlled Spain for 40 years, banned the use of Catalan language but heavy industrialized Catalunya putting there the manufacturing plants of Seat car manufacturer and other industries, making it the wealthiest region of Spain by far.

When democracy came, Suarez created a voting system that benefited minorities (including nationalists) over the majority.

This means that any majority needs the minority to govern the State.

Any president of Spain but the last one, from the left and from the right has required the nationalist support in order to rule.

So the nationalist asked for more power, in particular the power over education, the power over half of the taxes collection. Central gobertment gave in.

When nationalist controlled the education, they forced everyone to study in Catalan(inmersión lingustica), and created their own History, the Aragon's kings became the Catalan's kings, Valencia and Balearic islands and even Naples became the catalan's states.

The nationalist party also controls private media there with over 70% of their income coming from local government ads and public libraries subscriptions.

After 30 years of this most of the people there believe that they are being stolen by the state.

They will refer to data like "over 50% of PIB of Spain is generated by Catalunya" so they believe they are much better off getting independent.

What they omit on their analysis is that if they get independent they will be also losing their main market, and that a significant amount of this PIB number comes from companies that operate all around Spain and pay taxes just in Catalunya, that will flee the country if it get the independence.

The "right to choose" is misleading when not a single word has been spoken about the conditions of independence that they could get. The nationalists leaders want a blank check and burn the bridges,so they could later fill it with whatever they want.

</comment><comment><USER17> Please stop using Hacker News for delivering your propaganda. This is all BS, there is neither right, nor matter to be decided.</comment>


SeqAlign: Hardware Acceleration of DNA Sequence Alignment - <AUTHOR> http://www.chrisfenton.com/seqalign/

<comment><USER2> Did anything ever become of that work? Based on the project link to [http://opencores.org/websvn,listing,seqalign](http://opencores.org/websvn,listing,seqalign) , I see that that the last modification time is 2009-08-17 18:21:06 GMT, so it's been 4 years.

BTW, there are more details at [http://chrisfenton.com/wp- content/uploads/2009/08/final_repo...](http://chrisfenton.com/wp- content/uploads/2009/08/final_report.pdf) , which has a date one day before the above "last modified" time.

<comment><USER3> As far as I know, people generally use more sophisticated algorithms that run on commodity hardware. I remember hearing about this many years ago, but never actually saw it in the wild.

<comment><USER4> Smith-Waterman is the "gold-standard," but for speedy heuristic DNA alignment these days, BWA and Bowtie are probably the two most common mappers, and they're both based on the ideas of the FM-index [1]. BLAST and BLAT were previously the two most commonly used, both hash-based aligners, and they're still used today for one-off database searches, as they are more accurate, particularly for long sequences.

[1] [http://en.wikipedia.org/wiki/FM-index](http://en.wikipedia.org/wiki/FM- index)

<comment><USER5> But see: [http://snap.cs.berkeley.edu](http://snap.cs.berkeley.edu). BWT-based aligners hark back to a time when it was not cheap to own enough RAM to store an entire (human) genome seed lookup table in memory. That is no longer the case (you need about 64gb). Also, hash aligners perform better as the read length increases.

<comment><USER4> Well, BLAT for example also stores the entire seed table in memory, it just has to use fewer, shorter, and more frequently-occurring seeds. BWT requires something like two random RAM accesses per base pair, which is incredibly slow. With a large enough seed table, hash-based can get down to just a few random accesses per 100 base pair read.

Has SNAP been published? I had heard about it but not seen it used in practice anywhere.

</comment></comment></comment></comment></comment><comment><USER6> It is much better to speed to aligment using heuristics (e.g. use hashing for find matching kmers and do dynamic programming only on small portion of data) than by using faster hardware. Look here: [http://bowtie- bio.sourceforge.net/index.shtml](http://bowtie- bio.sourceforge.net/index.shtml) or here: [http://mummer.sourceforge.net/](http://mummer.sourceforge.net/)

</comment><comment><USER7> I'm curious what people would think if they had this in their computers, laptops, game systems. So they could actively choose to help large scale computation for DNA sequencing or any other big scientific problem they could lend computation to.

<comment><USER8> Yeah! like some hidden script in popular websites doing some computation with WebCL

</comment></comment><comment><USER9> I wonder if it would somehow be possible to use this with the protein folding game Foldit. [http://fold.it/portal/](http://fold.it/portal/)

Some puzzles start off with a sequence alignment phase.

<comment><USER4> These particular algorithms are commonly used with proteins' amino acid sequences for general database searches. But since the database of protein sequences is far far smaller than typical DNA search problems, there are more sophisticated and computationally expensive algorithms such as Pair HMMs [1] or Profile HMMs [2] can be used, and for fine tuning of 3D model threading they would be a much better option, since the problem is so small.

[1] [http://ai.stanford.edu/~serafim/CS262_2008/notes/lecture8.pd...](http://ai.stanford.edu/~serafim/CS262_2008/notes/lecture8.pdf)

[2] [http://www.biology.wustl.edu/gcg/hmmanalysis.html](http://www.biology.wustl.edu/gcg/hmmanalysis.html)</comment></comment>


ULX3S: Hackable FPGA that runs Linux on RISC-V - <AUTHOR> https://ulx3s.github.io/ <comment><AUTHOR> Also newsworthy: Lattice drops recent EULA clause forbidding fpga bitstream reverse engineering [https://hackaday.com/2020/06/06/lattice-drops-eula- clause-fo...](https://hackaday.com/2020/06/06/lattice-drops-eula-clause- forbidding-fpga-bitstream-reverse-engineering/) therefore 2020 could be a milestone for open FPGA toolchains!

<comment><USER2> I initially misunderstood this headline to mean the opposite: I took "drops" to mean "introduces", which is the opposite of the intended meaning -- "withdraws". Not sure where I got this non-mainstream meaning of "to drop".

<comment><USER3> People do talk about "dropping" an album to indicate it's being released. Your confusion is somewhat understandable. English is hard. :(

<comment><USER4> similarly, dropping off supplies or deliveries -- maybe where they are dropped from a great height via parachute out of a plane. Or dropped off by a delivery truck.

"Lattice drops recent EULA clause" would be easier to interpret if the initial and final altitude of the clause was specified. If the initial altitude was unusually high, it might indicate that the clause was being introduced via parachute. If the initial altitude was comparable to the altitude of an object being held in a person's hands, and the final altitude ground level, this would suggest the clause being discarded or removed.

<comment><USER2> Haha, that made me laugh out loud. "Lattice drops recent EULA clause from 1.5 meter height".

</comment></comment></comment></comment></comment><comment><USER5> Is there any published rationale for the RISC-V instruction encoding?

A few months back I set out to write a software emulator of RISC-V for fun. I expected the instruction set encoding to lend itself well to a very simple implementation, eg. something you could decode in 5-10 lines of C plus some tables.

But the instruction encoding is much more irregular than I expected: [https://github.com/ucb-bar/riscv- sodor/blob/master/src/commo...](https://github.com/ucb-bar/riscv- sodor/blob/master/src/common/instructions.scala)

In particular:

        - The bit patterns allocated to the simplest instructions
          (eg. rv32i) seem random. Why not allocate starting from zero
          to allow dense jump tables?
        - I can't make any sense of the groupings. A bunch of instructions
          have 0b1100011 in the lowest bits, do these instructions have
          something in common?

I assume there is some rhyme and reason to all this? Where is this explained?

<comment><USER6> I spent some time defining an alternate encoding of the base instruction set. I dont think they did a good job, but it's also not easy to do better. I started from an assumption of variable length - 16 bit or 32 bit opcodes plus immediate data in 16 bit chunks. It's not easy. Remember all those strange bit positions are irrelevant in hardware. But they are a bitch for things like linkers.

<comment><USER7> It has to encode 32 GPR's and three-operand instructions so instruction encoding is a bit cramped, even in 32 bits. 16-bit encodings are reserved for "compressed" special-case forms of existing 32-bit instructions.

<comment><USER6> Right, so I made 16bit opcodes only have 4 bits for register indexes. 32bit ones would provide the 5th bit for each register. That means a compiler should prefer the first 16 registers in order to reduce code size, but they are all still available. It also meant a reduced size chip with half the registers would not need different instruction encodings.

Compressed was an afterthought on Risc-V. A well thought out afterthought, but you do things differently when you know in advance.

<comment><USER7> Compressed was very explicitly made optional so that implementers would have the choice of recycling that encoding space for something else. It was not just an "afterthought".

</comment></comment></comment></comment></comment><comment><USER8> The ULX3S is great! I built myself an early prototype a year ago, and have used it every so often for occasional hacks. It has since evolved to be a first-class citizen in a number of projects and frameworks (LiteX, including LiteDRAM), which makes it great to get started with.

Also worth noting, that you can use a fully open source flow (Yoys + nextpnr + prjtrellis) for this FPGA family. Here's a repository I made that shows a basic blinky for an ULX3S: [https://github.com/q3k/ulx3s-foss- blinky/](https://github.com/q3k/ulx3s-foss-blinky/)

<comment> TD-Linux Yeah I also DIY'd one and it makes an excellent dev kit - the right combo of peripherals in a small footprint. It also has a lot of IO's on normal 0.1" headers so it's a good starting point if you want to stack it on top of another prototype PCB. Your blinky was actually the first code I ran on it.

</comment></comment><comment><USER9> Where's the article? I see mostly a bunch of loosely related bullet points.

Edit: After a lot of back and forth, perhaps this is a good intro: [https://hackaday.com/2019/01/14/ulx3s-an-open-source- lattice...](https://hackaday.com/2019/01/14/ulx3s-an-open-source-lattice- ecp5-fpga-pcb/)

</comment><comment><USER10> Layman question: how many years before we get RISC-V desktops or Raspberry Pi like computers?

<comment><USER11> Desktops, perhaps never - 10 years? Alibaba seem to be funding some R&D in this direction, but I'm not too familiar (and I can't speak Chinese). It's certainly possible, but desktop processors aren't simple in any way. Regardless of absolute technical excellence, RISC-V only has to be better than ARM (in both specification and implementation, and cost, of course) which will be a moving target as RISC-V improves.

Single Board Computers - [https://www.sifive.com/boards/hifive- unleashed](https://www.sifive.com/boards/hifive-unleashed) this seems to fit the bill. However, they don't seem to be selling those yet - the development kit for that particular CPU seems to be an FPGA soft-core.

I am currently working on an open-hardware project that requires a fair amount of grunt (or FPGA); in an effort to keep is open I was looking into RISC-V processor's. You can actually buy RISC-V hardware today as a guy on the street (i.e. Digikey etc.) but the offerings I could find were generally fast microcontrollers rather than general purpose processors.

If RISC-V is to be adopted it's probably more of a question of engineering knowledge and training than solely hardware: One of the chips I found in my search above is an interesting Chinese system on module that has a RISC-V at 400MHz, Wi-Fi, _and_ a hardware NN coprocessor - it's a cool chip but even in Chinese the documentation is unusable and awful.

If a big western company like ST or Cypress etc. picks up RISC-V and starts making it easy and safe to actually use (for example, the section of the manual for the serial peripherals on most NXP microcontrollers is longer than all the documentation I could find for the aforementioned SoM).

<comment><USER12> > ... [https://www.sifive.com/boards/hifive- > unleashed](https://www.sifive.com/boards/hifive-unleashed) this seems to fit > the bill. However, they don't seem to be selling those yet ...

The HiFive Unleashed was released (and for sale) back in 2018. From memory, there was a limited run (priced at US$1k each), as it was targeted to specific types of developers looking to do further work improving the platform.

For example, Red Hat bought some and used them for improving the RISC-V support in Fedora. From memory, Richard Jones (@rwmj here on HN) was involved with it.

<comment><USER13> [https://www.crowdsupply.com/sifive/hifive- unleashed](https://www.crowdsupply.com/sifive/hifive-unleashed)

</comment></comment></comment></comment><comment><USER14> Remember there is a lecture by a guy who demo on a game emulation program. Wait for it since.

Just placed an order : [https://www.crowdsupply.com/radiona/ulx3s](https://www.crowdsupply.com/radiona/ulx3s)

</comment><comment><USER15> Can anyone comment on how this compares to the popular Terasic DE10-Nano used for the MiSTer project? The price point is around the same and I see they note running video game cores as a market for this device, but I have absolutely no clue how to reasonably compare FPGAs.

From my rudimentary understanding it looks like this doesn't have a hard CPU and has a smaller FPGA, so I'm guessing we have a fair bit of "open hardware tax" at play here too.

<comment><USER16> "Open hardware tax" is huge here, your impression is correct. Real 800MHz Dual-core ARM Cortex-A9 processor is on Terasic board while this has a soft core processor. In my experience soft core can run at ~200 MHz best case. Then comes slower RAM and this limits overall possible applications. Unless somebody wants RISC-V badly.

</comment></comment><comment><USER17> Cool! It also does Oberon, MicroPython and Basic.

<comment><AUTHOR> And DOS, NES, Amiga, Apple I, Apple II, Z80 ! I am new to FPGAs so it is a bit difficult to know what to expect from a given number of LUTs, but you can compare between models: the big version of ECP5 in ULX3S has 85k LUTs while the previous well open-source supported FPGA (iCE40) had only up to 7.7 k LUTs, so more than a 10x jump :)

</comment></comment><comment><USER18> Is it any better than Artix-7 XC7A100T or XC7A35T boards from Aliexpress(search QMTECH, they sell 100K board for ~$100)?

<comment><USER19> Probably not in terms of hardware. But the open source development chain is so much easier to get started with than Vivado.

</comment></comment><comment><USER20> very impressive project, its a good time to get into fpga projects

<comment><USER11> It's much better than before, but it's still surprisingly difficult to buy a cheap (good) FPGA board. For example, the cheapest ECP5 on _digikey_ (FPGA's go for a lot less than list if you're buying more than a few) is about $10 yet the cheapest proper development board is a lot more.

The FPGA manufacturers like the margins, fine, but I'm surprised people who make boards like this one but for other things don't just chuck an FPGA on them (for some definition of "just")

<comment><USER21> Qmtech on Aliexpress have the best price/performance when it comes to FPGA boards.

<comment><USER22> Prob not bad for some applications, but if you are trying to have cost of a overall system low in order to make it more available to more people… id rather go with the ice40LP's

</comment></comment></comment></comment><comment><USER23> How does it compare to the Arty A7 for $129?

<comment><USER21> The question is rather, How does it compare to the Qmtech Wukong board? And the answer is: you get way more bang for your buck with the Wukong board. No Symbiflow, though, if that's what you're after.

Link to board: [https://aliexpress.com/item/4000170042795.html](https://aliexpress.com/item/4000170042795.html)

<comment><USER24> I think prjxray + nextpnr has support for at least some of Artix7. Checkout [https://github.com/daveshah1/nextpnr- xilinx/](https://github.com/daveshah1/nextpnr-xilinx/)

</comment></comment></comment><comment><USER25> Theoretically every fpga is hackable

</comment><comment><USER26> The dollar sign comes before the number, not after it.

$150

<comment><USER27> Truly, a pedant's pedant.

</comment></comment><comment><USER28> 2x more resources compared to $30 [https://github.com/q3k/chubby75](https://github.com/q3k/chubby75) at 5x the price

<comment><USER29> What is your pick for the best FPGA for the money or if money is no object? I just don't know much about this area outside the MiSTer project.

[https://github.com/MiSTer-devel/Main_MiSTer/wiki](https://github.com/MiSTer- devel/Main_MiSTer/wiki)

[https://www.retrorgb.com/mister.html](https://www.retrorgb.com/mister.html)

<comment><USER30> Intel Stratix 10

<comment><USER29> Can you say more about why this one is the one? Is it better in quantitative ways or ease of use than competitors? Cheaper or more reliable? Etc

<comment><USER11> Stratix 10 is an absolutely enormous FPGA (10FLOPS) so I'm guessing wow-factor rather than ease of use.

<comment><USER29> Oh wow, I had no idea they were that advanced. How much do these go for secondhand?

<comment><USER31> There is no sensible secondhand market for things like this; it will be embedded in someone's board. And there aren't many about to start with.

Sometimes people are lucky enough to find decent FPGAs in scrap, but it's like panning for gold.

<comment><USER32> I've recently bought second-hand Xilinx FPGAs on Ebay for $250 each with list price of $3500. They come on boards that have an unidentified manufacturing fault. Salvaging and reusing the chips seems realistic using a budget vapor phase soldering setup (not attempted yet) but the challenge for me is designing or otherwise acquiring suitable PCBs to put them onto. I'm told that you can potentially find suitable PCBs on Aliexpress but I haven't looked into this in detail yet.

In other words, there doesn't seem to be much demand in the secondhand market, and you can potentially use that in your favor to take advantage of supply selling at steep discounts.</comment></comment></comment></comment></comment></comment></comment></comment>


Why is Chrome's English dictionary so bad? - <AUTHOR>

Chrome's English dictionary always seemed weak to me. A valid word that's not found is just a little pin prick of annoying, not a big deal. But for the last few days I recorded correctly spelled legitimate words it didn't have, in Chrome for Windows 25.0.1364.172 m. And came up with 17 words:
hypotheticals anonymizing dialogs compatibilism circularities homuncular squirrely nauseum vanishingly anthropomorphization unaffordable logarithmically relatable epistemological repurposes smidge relatedly
Which is not a huge number, but these are not obscure chemical names or bizarre words, these are pretty normal. I put the words into Word 2010, it flagged 5 of them, so quite a bit better but not perfect. Then I put then into Google Docs, it correctly knew all of them. What gives? Why is Chrome's dictionary so weak? This sounds like typical whining and complaining about a detail of someone's product that is otherwise very good, which it is, but I also really just want to know why it's so bad? We won't judge, just tell us, let us learn from it. It's ironic since Google brags that spelling correction is a competitive advantage of theirs. Plus we're not even talking about correction here, we're talking about a list of words. Are they trying to save memory? Save money? What is the deal? <comment><USER2> Use relatedly in a sentence, please .

<comment><USER3> From wiktionary:

1999, Christopher Lane, The Burdens of Intimacy, Chicago, ISBN 0226468607, page 263, note 23: Dellamora argues that Swinburne's "Anactoria" aims "to free desire" by making sexual difference and orientation "indeterminate" (77). Slightly earlier in Masculine Desire, he argues relatedly that Swinburne "enjoyed imagining such possibilities" as "male-male genital activity" (69).

2006, Ellis Sandoz, Republicanism, Religion, and the Soul of America, Missouri, ISBN 9780826217264, page 176, note 41: Voegelin remarks: "I got into these problems of mysticism as a teenager, not because of religious education in school (I went to a Protestant Sunday School), but because Hindus came to give lectures. But one must get it from somewhere." […] Elsewhere he remarked relatedly: "I can quite definitely see that I got the practice of meditation by reading Upanishads […] ."</comment></comment>


Golang Duff's devices - <AUTHOR> http://luciotato.svbtle.com/golangs-duffs-devices

<comment><USER2> This is probably a bad idea and I would bet (and probably win) that less aggressive unrolling would be better in pretty much all cases _except a micro- benchmark_.

This kind of trick worked well on CPUs in the 1980s (as jvoorhis points out in another comment). It works wonder for micro-benchmarks. It is a net loss for any CPU and workload where instruction cache miss rate can severely impact performance. That is to say, pretty much everything made after 1990s and doing more than just shuffling memory around.

The problems are: 1) this is a large fraction of I-Cache size, 2) unrolling doesn't actually save much (or sometimes anything) on out-of-order multi-issue cores.

First off: extremely aggressive unrolling results in increasing I-cache thrashing. This is usually not apparent in micro-benchmarks, because the entire working code set fits in the I-cache. It becomes apparent if the unrolling is stupid enough to be larger than I-cache (or usually just close enough to it), because then you're spending just as much (usually more) time re-fetching instructions from memory as you are moving data around. That's why picking the best result from a micro-benchmark is misleading. In real use cases, you find that functions like this one tend to cause a "global slow down", with no specific function accounting for it, because they're greatly reducing the effectiveness of the I-cache.

Also, unrolling doesn't really do much these days. You can do better than REP MOVSD and friends - go read Intel's documentation for their recommended sequences (which has a nasty habit of changing every damn CPU generation). Modern out-of-order, multi-issue cores can very easily saturate their load/store units, while also executing all those pesky loop counters and branches. In fact, that's the whole point of being out-of-order and multi- issue: keeping units busy.

So, please can everybody stop using Duff's device, unless: 1) you're targeting a CPU which has no I-cache (e.g tightly coupled ROM/RAMs), 2) you really do have a working set where this fits well enough to be better, 3) you're trying to cheat on benchmarks, or 4) you're trying to obfuscate your binaries against reverse engineering.

<comment><USER3> Rep movsd is only recommended for large clears/copies by Intel. Indeed the commit message states:

REP MOVSQ and REP STOSQ have a really high startup overhead. Use a Duff's device to do the repetition instead.

</comment></comment><comment><USER4> This is just aggressive loop unrolling. Duff's device is specifically the syntactic curiosity in C/C++ that allows implementing unrolls with a switch and inner while statement.

<comment><USER5> The authors of this code seem to be using "Duff's device" to mean the unroll, plus the mechanism of jumping into the unrolled code. I agree, both are not Duff-specific in assembly. And anyway, not as impressive without the case...do. It still amazes me that Duff's version works.

<comment><USER6> Duff's version will _always_ work for as long as compilers remain compatible with ANSI C. It's a clever trick that takes advantage of the precise definition of a switch in the C standard (as opposed to taking advantage of compiler-specific implementation details).

<comment><USER5> It _still_ amazes me it works, not it amazes me it _still_ works. I just mean that even knowing why and how it works it still looks like it is malformed.

</comment></comment></comment></comment><comment><USER7> Is loop unrolling truly helpful in either case? CPUs have changed a lot since the 1980s when Duff's was invented..

<comment><USER8> The commit message contains some numbers:

[https://github.com/golang/go/commit/6c7cbf086c34ebb88311ba12...](https://github.com/golang/go/commit/6c7cbf086c34ebb88311ba12d3a75adcbdce8ac8)

<comment><USER9> I like the hundreds of repeated lines. I wonder when they are going to rediscover macro assemblers.

<comment><USER10> The Go build system uses the Plan 9 assembler, which is explicitly simplistic to discourage the use of assembly except when there is a very compelling case for it.

<comment><USER11> Or because they couldn't be bothered, and the "discourage" part is just the excuse...

</comment></comment></comment></comment></comment><comment><USER12> This illustrates one of the issues with "high-level" languages: when you need to do something that the language does not allow, you have to resort to horrible hacks.

I thought the C version of Duff's device was bad, but this is atrocious. This is non-portable copy-pasta on steroids.

This is one of the reasons why people still use C and C++. When you need to tune something, you can write it using the same language and nicely encapsulate it.

<comment><USER13> Except that this is C code (well at least some dialect of...) with ASM embedded...</comment></comment>


Show HN: Janeway – A more mouse-driven, curses-based Node.js console - <AUTHOR> https://github.com/skerit/janeway <comment><USER2> Can I run mocha tests with it? I find I often want to debug mocha but don't want to deal with node inspector.

<comment><USER3> That would be awesome considering you need to run _mocha with --debug-brk and it never really works that well

</comment></comment><comment><USER4> Does it successfully terminate a Borg cluster?

/offtopic</comment>


WebGL game: Tankworld - <AUTHOR> http://www.playtankworld.com/

<comment><USER2> Played it for a few minutes and dominated a handful of tanks with the helicopter. I'm usually a huge fan of this style of game but I think they are more fun in 2D than this style of 3D.

I wish someone would make a MMO version of the Tank game on Wii Play. (<http://www.youtube.com/watch?v=uMqEoZivjnU>)

</comment><comment><USER3> Incorrect title. From the about page: "The engine does not use WebGL because most people don't have enabled it yet."

This is not a WebGL game.

<comment><USER4> It is.

 _## WebGL Test version... ##

The WebGL version of Tankworld is under construction. If your browser supports WebGL then you can already check out a preview level...[1]_

1\. [http://www.playtankworld.com/level/60_second_shooting_range?...](http://www.playtankworld.com/level/60_second_shooting_range?webgl=true)

<comment><USER5> Wireframy and not as smooth as the other (flash I suppose) version with latest Chromium on arch linux. Too bad.

</comment></comment></comment><comment><USER6> I thought it was Canvas2D and not WebGL... ?

</comment><comment><USER7> The test version is now replaced with a new version which runs a lot smoother...

One of the major problems with the test version was the rotation of the tiles which was done within the perspective matrix. The tiles were also rendered separately. In the new engine those problems are fixed along with the texturing of the ground.

</comment><comment><USER8> Cute but not terribly fun.

<comment><USER9> The strange horizon made my neck hurt.

</comment></comment><comment><USER10> The helicopter is imba, runs great. :)

</comment><comment><USER11> Terribly hard to aim.

</comment><comment><USER12> Smooth!

</comment><comment><USER13> Hmm, is Chrome's WebGL implementation just so slow or why feels the game so sluggish? I assumed WebGL was using 3d HW accel?

<comment><USER14> Yeah, Chrome is not fully hardware accelerated yet and I don't think it will be until at least v11. In a recent test by DownloadSquad it seems they are the ones behind the most in this, even behind Opera. I don't know why they missed this opportunity and didn't give it a higher priority. It's the same problem with hardware acceleration on Android all over again.

It's almost like Google and anything graphics related don't mix, even though improving full hardware acceleration performance is probably as important for the further development of the web as improving Javascript performance was. I think this will be where the new battle between browsers will be in 2011 and 2012 at least.

Here's the benchmark video:

<http://www.youtube.com/watch?v=uU-cpc8XpDo>

<comment><USER15> > I don't think it will be until at least v11

In 11.0.691.0 canary, GPU acceleration of Canvas is still an option in about:flags, just as it is in 9.0.597.107. GPU accelerated compositing is no longer optional, though, it appears. Of course, that's only the canary build, and I expect that the 11.x build that's actually released will be somewhat different, but still.</comment></comment></comment>


Show HN: Markdown command line interface definition - <AUTHOR> https://github.com/mkdoc/mkcli <comment><USER2> Great project!

I've been looking for something like this for quite a while. There's compleat [1], but it doesn't seem to allow you to "compile" completions down to bash or zsh - you have to keep compleat (and therefore the whole Haskell stack) on your system.

Of course, none of this would be a problem if there was a standard "\--complete <shell>" flag. I ended up doing something a bit like that on a recent project [2] to avoid editing my completion scripts every time I added a new subcommand or flag to a utility.

[1]: [https://github.com/mbrubeck/compleat](https://github.com/mbrubeck/compleat)

[2]: [https://github.com/woodruffw/kbsecret/blob/master/completion...](https://github.com/woodruffw/kbsecret/blob/master/completions/kbsecret.bash.m4)

<comment><AUTHOR> Thanks!

Only zsh support at the moment but would like to add bash support when I get some more time to spend on it. I find zsh completion far more powerful and easier to work with.

There is also a nodejs runtime library[1] for parsing arguments from the descriptor and some basic plugins. Later I would like to add runtime libraries for other languages :)

[1]: [https://github.com/mkdoc/mkcli-runtime](https://github.com/mkdoc/mkcli- runtime)

<comment><USER2> > I find zsh completion far more powerful and easier to work with.

I'm a bash user, but I can't blame you ;)

</comment></comment></comment><comment><USER3> Do the compiled JSON files have direct compatibility with any JS argument parsing libraries? I read through everything and it wasn't clear to me whether you are on your own once you get the JSON or if there is an automated way to make use of these.

It's an awesome project in either case, but it would be incredibly useful if this could somehow be a stepping stone towards a more language agnostic way of defining command-line interfaces. I do a fair bit of language hopping and it can be frustrating how much the quality of argument parsing frameworks varies between language ecosystems. It's even worse from a user perspective when a utility's interface was obviously determined by the limitations of its language or argument parsing library.

<comment><AUTHOR> No - not direct compatibility per se, because I don't think it's the responsibility of the argument parsing library to work with the definition. The nodejs runtime[1] uses a lightweight argparse[2] library which is implemented as a plugin. You can then enable additional plugins for argument validation or any other processing you require.

Effectively you end up with two objects, one describing the program and another describing the parsed arguments which should then be passed through a plugin pipeline. The existing runtime plugins[3] illustrate this.

> if there is an automated way to make use of these.

There is using the nodejs runtime, take a look at the source for the mkcli program[4] to get a feel for how it works.

> stepping stone towards a more language agnostic way of defining command-line > interfaces

I couldn't agree more, ideally we would implement runtimes in most of the mainstream languages using the pattern described above :)

Hope that helps & thanks for the feedback!

[1]: [https://github.com/mkdoc/mkcli-runtime](https://github.com/mkdoc/mkcli- runtime) [2]: [https://github.com/cli-kit/cli- argparse](https://github.com/cli-kit/cli-argparse) [3]: [https://github.com/mkdoc/mkcli- runtime/tree/master/plugin](https://github.com/mkdoc/mkcli- runtime/tree/master/plugin) [4]: [https://github.com/mkdoc/mkdoc/blob/master/cli/cli.js](https://github.com/mkdoc/mkdoc/blob/master/cli/cli.js)</comment></comment>