Ten-Year-Old Makes His Own Aerogels - <AUTHOR> http://blog.wired.com/geekdad/2008/03/ten-year-old-ma.html

<comment><USER2> I thought the nickname for aerogel given in Michael Flynn's Firestar series was better... Solid Smoke.

(The article in the Times linked to by Wired keeps calling it Frozen Smoke, which just isn't as catchy to me... in case you you were wondering why I was bringing this up.)

</comment><comment><USER3> So, how can we commercialize this?

<comment><USER4> Find a production method that is cheap...

The properties of aerogel include:

\- The lowest density material known to man

\- The best thermal insulator known to man

\- Structurally extremely strong (but brittle)

If you can produce this stuff cheaply you would have to be an extremely poor entrepreneur not to make bundles of money.

<comment><USER5> I brought a (semi-novelty) product to market that used aerogels. We were slightly profitable, but the fact that aerogels are irritants derailed our plans for millions. [Our product lost essentially all of its appeal because you either had to handle it with gloves or encase it in another material for safety reasons. Fortunately, we weren't sued before we realized the error of our ways.]

I agree, however, that if you can figure out a way to produce it very cheaply, you can easily make millions. Just the insulation properties alone...it's really an amazing material. And its uses are almost limitless. I have a friend that is working on an aerogel application in the medical field (diabetes- related.)

<comment><USER4> The yachting business might be interesting.

You need insulation on your yacht, have very little space so normal methods won't work, and you can encapsulate it in between the hull and a layer of fibreglass, which is what most yachts are made of nowadays. And often price is a secondary issue in this market.

<comment><USER5> I like the way you think :-)

<comment><USER4> If it's something you want to pursue you're welcome to shoot me a mail, it's in my profile. I might be able to help out. I live on a boat, so I know a little about the business.

I actually drew up a yacht in 3D the way I would have built it, just as something to do on sundays. You can see it here if you have nothing better to do: <http://www.maximise.dk/yacht/>

</comment></comment></comment></comment></comment></comment><comment><USER6> The article referenced here by WIRED is 5 years old...

<comment><USER7> it is? the date on the one i read was march 27 2008.</comment></comment>


Topic models: Past, present, and future - <AUTHOR> http://radar.oreilly.com/2015/02/topic-models-past-present-and-future.html <comment><USER2> Very cool podcast - thanks for pointing it out!</comment>


"Perhaps one of the most important [recent] papers .. in evolutionary biology"  - <AUTHOR> http://sciencenow.sciencemag.org/cgi/content/full/2009/923/1

<comment><USER2> This is a good paper with an empirical example of a _molecule level_ ratchet effect, but the message here is way overstated. It is definitely NOT the case that evolution "can't go in reverse" as a categorical statement.

1) First and most importantly, if selection pressure was reversed in sexually reproducing species, it is (a) unlikely that the ancestral allele will ever _completely_ die out and (b) also unlikely that a sequence of recombinational events could not reconstruct the ancestral allele.

So reversed selection pressure would lead to an increase in frequency of the ancestral allele. Doesn't require the (much higher) level of difficulty of pushing six consecutive mutations to fixation in a single protein.

In bacteria or archaea it would be even easier -- just pick up the ancestral allele through horizontal gene transfer.

2) Second, even discounting sexual reproduction for now, given strong enough reversed selection pressure, either the species would go extinct or (more likely) some other protein would have been co-opted into pursuing the new function. That is, this road might be blocked but another one will almost certainly be open.

3) Third, this _particular_ example has an accumulation of several mutations that act as blockades in fitness space. But this is far from generally proven. You'd need to do some serious correlation of activity with multiple sequence/structure alignments across large families of proteins to show this ratchet effect.

4) Finally, the whole concept of QSAR (quantitative structure activity relationships) is based on the idea that activity-structure relationships _tend_ to be more continuous than not, in the sense that small changes _usually_ have small effects on activity [though in dealing with adding atoms to molecules, you're talking about irreducibly large step sizes in different dimensions]).

And continuous alterations in activity usually imply reversibility as a function of many small steps.

</comment><comment><USER3> Summary: The reversibility/irreversibility of evolution has been difficult to measure empirically. The researchers found a protein and its ancestral protein. They found key mutations that act like evolutionary ratchets. If the key mutations are left in place and the protein reversed to its ancestral form it became non-functioning (and would probably be a harmful mutation). Furthermore changes in the key mutation did not lead to any advantages in the ancestral protein. This means that there is a mechanism where a protein can mutate but is unlikely to mutate back, and this is a specific example of how evolution can be irreversible.

<comment><USER4> Exactly, it is a version of "use it or lose it". Think of cave-dwelling fish who no longer use their eyes. They lose the capacity for sight. And once lost, it isn't coming back.

To give more detail, they were looking at an important protein which appears in many species. Since they know the protein for many modern species, and they know when different species branched off, they can reconstruct the likely form of the protein at each branching. Given modern computer modeling, they can figure out what each version of the protein will do. They demonstrated that it used to respond to 2 hormones. 40 million years later it responded to only 1 of those. They identified the responsible mutation and found that random mutations that happened after the first would cause it to respond to nothing if you undid the mutation.

In short, a significant mutation opens the door for further mutations that make the first irreversible.

</comment></comment><comment><USER5> If not the most important certainly worth a read. Here is a link to the actual paper.

[http://www.uoregon.edu/~joet/PDF/bridgham-thornton- nature200...](http://www.uoregon.edu/~joet/PDF/bridgham-thornton- nature2009.pdf) [pdf]

</comment><comment><USER6> I am missing why this is important or unexpected.

Since most mutations are no-ops, and behavior is frequently expressed through combinations, I'd have expected what they found. For every useful mutation, there were usually other random mutations that prevent simply flipping back the useful one.

<comment><USER4> Science isn't about collecting reasonable sounding ideas. It is about collecting useful ways of understanding the world that have been stress-tested until we can have great confidence in them.

The paper is the first time anyone has been able to provide solid evidence about whether the evolutionary mechanism you outline really happens. It's the difference between a note in Fermat's margin saying that he has a proof but the margin is too small, and Andrew Wiles writing up a several hundred page proof. Now that it has been demonstrated how to show which mutations are irreversible, the door has been opened to using molecular genetics to provide absolutely definitive answers to questions about the evolutionary tree that we don't have good fossil evidence for.

Furthermore the ability to test specific questions about the functionality of putative reconstructions of particular prehistoric genes does a _lot_ to improve our confidence that we're reconstructing them correctly. We've now been able to compare versions of a gene from 440 million years ago and 400 million years ago and gotten specific enough answers back that suggest we've got both versions of the gene right. Monkeys and apes split perhaps 30 million years ago. How accurately can we figure out the genetics of that last common ancestor?</comment></comment>


Show HN: JavaScript server-sent events library - <AUTHOR> https://github.com/fanout/js-eventstream <comment><AUTHOR> Hi HN!

This library makes it super easy to push data to clients from a JS server app. Just a few lines of code to declare an endpoint for clients to connect to, and to send events to them.

Notably, the library works in serverless/function-as-a-service environments by delegating away the connection management to a special proxy layer. This means you can deploy the app to something like AWS Lambda or Vercel and it will still support SSE connections, with no code changes. This capability is optional but we think it could help make realtime app development easier as people move to serverless deployments.</comment>


Show HN: Bloggy - Add a Jekyll blog to your rails app in seconds - <AUTHOR> https://rubygems.org/gems/bloggy

<comment><AUTHOR> Hey all,

I wrote this gem as an easy way to add a Jekyll blog to any existing rails application. No additional server configuration required since nginx, Apache and most other simply serve static pages.

It's still a little rough around the edges and I'm working to clean that up but all in all it just works.

I put a pretty informative Readme on github that should pretty much walk you through step by step how to get up and running.

Feel free to contact me if you have any questions or feedback. Email is in my HN profile

</comment><comment><USER2> good idea, i could definitely use something like this. how would this work on something like heroku, where writes are restricted? would you generate it locally and commit the generated HTML in public/ to git?

<comment><AUTHOR> The gem was written for everything to be handled locally and then committed. If you run the rake tasks provided it will take care of putting everything in the right place for you. Just make sure you commit the changes and push them.

Glad you find it useful. I made it For my own selfish needs but thought it could be useful for many more people which is why I made it a gem and open sourced it</comment></comment>


The FBI has a new plan to spy on high school kids across the country - <AUTHOR> http://www.salon.com/2016/03/06/the_fbi_has_a_new_plan_to_spy_on_high_school_kids_across_the_country_partner/ <comment><USER2> Wait so 'criticising government policies' is now grounds to classify a high school student as an extremist? Is this seriously the America that exists today? This sounds more like something a paranoid regime somewhere overseas might come up with but not the U.S.

I can say for a fact that I had my fair share of opinions on some pretty ridiculous government policies during high school, at this rate I would have been singled out as a person of interest. What stupidity is this coming from a 'world leading' country.

<comment><USER3> As someone who lives in one of those places somewhere overseas, I am kind of amazed at how rapidly the US is approaching the same sort of regime I live under. Over here, if you criticize the government (currently a military junta) they send soldiers to your house who take you to an "education center" for a week or so of attitude adjustment. Many hundreds have been through it already, including prominent academics, students, and even a few former politicians. Maybe the US will use something a little more subtle than they use here, but seems to me it is not long in coming.

<comment><USER4> I know exactly what country based on that description.

Apparently before the "education center", you're brought in before military officials "just to talk" about your statements. They publicly phrase it as just wanting to understand your criticisms of the government, but they really just grill you to see who else you've been talking to, what websites you frequent, etc.

<comment><USER5> > but they really just grill you to see who else you've been talking to, what > websites you frequent, etc.

This is where the US is ahead of the game.

</comment></comment></comment></comment><comment><USER6> For quite a while, I've been trying to remind Americans that the NSA show is a distraction - NSA really is legally prohibited from performing surveillance of US Persons (hey, that mean corporations, too!)... the FBI, however... well that's what they're all about! With the FBI's recent strong anti-encryption views, this should come as no surprise, but what I AM honestly surprised about, probably due to that one shred of naivete and "hope" I have left, is that the Obama administration seems to be okay with all of this. As someone who was almost expelled for participating in a very vulgar and sophomoric underground high school newspaper (and in the end, assigned to the "punishment" of building robots at the local junior college after school), I can't help but wonder if today that same activity would have had all of my "selectors" (SSN, name, e-mails, phone numbers) assigned to a lifetime watchlist of potential terrorists, malcontents, and generally "un-American" types. I guarantee you, those lists already exist, they are growing, and they will last longer than the lives of those on them. When a teenager with a passion for the environment "grows up" and decides to protest less, and instead apply for a federal forest service job, that list will be the reason they are turned away. These lists PROMOTE separation, PROMOTE extreme thinking, and SUSTAIN anti-establishment views.

<comment><USER6> p.s. [http://gizmodo.com/the-2016-presidential-candidates-views- on...](http://gizmodo.com/the-2016-presidential-candidates-views-on-computer- surv-1760871747)

Looks like Mr. Sanders is the only one willing to stand up for the individual right to privacy.

</comment></comment><comment><USER7> It's hard to tell what's going on here. The article appears to conflate information from many different FBI publications.

I downloaded the first linked document;[1] skimming through it and searching it, it seems to lack the most inflamatory claims in the article. Mostly it seems an exaggerated threat (students at every school are at much greater risk of many other threats) and it has other flaws, but it's not so bad. I think the most common theme is to look for students advocating violence to acheive their goals and use their support network to help them.

EDIT: To give you a feel for at least part of the document:

* "The response should leverage the strengths of governments, community organizations, social service agencies, and other professionals to provide what is commonly referred to as an "Off-Ramp". ... The school formulates an intervention plan in conjunction with the community and non-law enforcement entities on the federal or state level. Ideally, an intervention cadre should contain professionals from the local community representing multiple disciplines such as mental health, social workers, law enforcement, school resource officers, faith-based organizations, and/or crisis intervention teams."

* "If a student continues on a trajectory to violence, the one remaining option is a law enforcement disruption"

\----

[1] Preventing Violent Extremism in Schools: [https://info.publicintelligence.net/FBI- PreventingExtremismS...](https://info.publicintelligence.net/FBI- PreventingExtremismSchools.pdf)

<comment><USER8> How about governments advocating violence to achieve their objectives? When can we send the FBI in after them? How about preventing militancy and extremism in government? When can we do something about that?

<comment><USER7> > How about governments advocating violence to achieve their objectives?

That's what governments are for. It is one of the fundemental definitions of a sovereign government, the monopoly on violence.[1] Violence is taboo but sometimes necessary. Only the legitimate authority of the people, acting under the law and through their democratically elected government can exercise it. (As I understand the theory.)

As we know, even those legitimate authorities are corrupt to varying degrees; we are cursed with no alternative to human institutions. However, I think it's still much better than individuals making those decisions.

> When can we send the FBI in after them? How about preventing militancy and > extremism in government? When can we do something about that?

That's the job of the voters. Don't forget to vote!

\----

[1] The other is the monopoly on justice. The definition works well: For example, in regions of Syria, Daesh uses violence with impunity and runs its own system of justice. You can't really say that the Syrian government has sovereignty over those areas.

</comment></comment></comment><comment><USER9> People fear terrorists because the government and news media tell them they should. There are lots of scary things in the world. Heart disease, cancer, car crashes to name a few. 610,000 people died from heart disease in America last year. How many people in America died in terrorist attacks? About 30. Yes, 30 people. Perhaps the US should take their survalence budget and use that money to fight heart disease and cancer.

<comment><USER10> I agree with you, but let's play devil's advocate here. How many attempted terrorist attacks were stopped? That 30 might've been 31 or 30,000,000. We'll never know for sure for two reasons:

1\. Anything that could remotely reveal a method of surveillance wouldn't be included in these numbers

2\. It's pretty hard to define an "attempted" attack - a lot of attempts might be thwarted in the planning, etc... What about something that wasn't intended to stop a group, but did? Or maybe an underground group that wasn't being monitored, how do we know the gov't stopped them?

<comment><USER11> We know how many terrorist plots succeeded in the US. The FBI issues press releases when they stop some plot at an earlier stage. So we should have a good idea of how many terrorists plots have been stopped per actual incident.

Bombings in the US are way down. Most terrorist incidents in the last 10 years are shootings. The last big bombing was the Boston Marathon, in 2013, and that was two brothers working alone, so intel wouldn't have helped. The last organized plot was in 2009, aimed at the NYC subway and some UK targets. That was allegedly foiled by intel into Al Qaeda communications.

Since 9/11, terrorism in the US [1] has been much less of a problem than routine mass shootings.[2]

[1] [https://en.wikipedia.org/wiki/Terrorism_in_the_United_States...](https://en.wikipedia.org/wiki/Terrorism_in_the_United_States#2010.E2.80.93present) [2] [http://www.shootingtracker.com](http://www.shootingtracker.com)

<comment><USER12> "We know how many terrorist plots succeeded in the US"

Do we? Are all terrorist plots obvious? Surely there are successful terrorist plots that have succeeded that we are unaware of.

I am saying, I doubt it's so black & white.

<comment><USER11> If nobody notices an act of terrorism, it's not terrorism.

<comment><USER12> Terrorism is not so simple. Thinking that all terrorism must be some extreme, singular act seems short-sighted. What is the terrorist's goal?

Terrorism _can_ be subtle and long-term.

Edit: What terrifies you? Did terrorists exclusively create this (threat of terror)? My point is, does a terrorist exclusively create terror... or do these terrorists have a broader goal beyond simple terrorism?

</comment></comment></comment></comment></comment></comment><comment><USER13> The FBI has failed so long to meaningfully preemptively stop a terrorist attack that it seems like they're are just throwing everything at the wall in desperate hopes something works. So their jobs can produce something more tangible than just providing some abstract deterrent effect. Not just a mysterious ever-watching machine scaring away would-be actors, but people who can actually go into the field and gets results.

I mean they already have about ~100k paid informants, they can't really find enough poorly educated targets to keep scaling up that program. Only so many young impressionable kids can be talked into doing terrorist attacks they were hardly capable of in the first place by undercover agents disguised as authority figures.

So, hey, what if we build snitch networks in high schools like East German youth programs?

<comment><USER11> The FBI isn't that big. They only have about 14,000 agents for the whole US. The NYPD has about 35,000 cops just for NYC.

<comment><USER14> paid informants != agents

</comment></comment></comment><comment><USER15> Obama used the "think of the children" canard when talking about privacy at SXSW the other day. Now, with this, it sounds like the government _really_ wants to think of the children. All the time.

<comment><USER16> Today's children's are tomorrow's voters. A state that cannot indoctrinate the young - cannot have unity and dumb nationalist people needed to sacrifice for the survival of the state.

               ---- From a very cynical person ----

</comment></comment><comment><USER17> _Under new guidelines, the FBI is instructing high schools across the country to report students who criticize government policies and "western corruption" as potential future terrorists_

This is as "classic" a move as the "think-of-the-children" strategy. It has been predicted by so many people (which of course have been labeled as "tinfoil hat" wearers and "conspiracy activists") that the fact that this has been allowed to become reality makes one simply speechless. (Pun not even intended.)

What does this remind you of?

Does this sound like a country you want to live in?

<comment><USER18> Reminds me of communist countries, especially East Germany, where neighbours were meant to spy on each other and report any suspicious activity to the (secret) police.

</comment></comment><comment><USER19> It seems like this could backfire. Tell a bunch of angsty teenage boys that there are these anarchists fighting the man and here's how they do it, and some of them will think that sounds like an awesome idea.

<comment><USER20> And feeling targeted and discriminated against increases anger, fear and hatred of society, which leads to the outcomes that these policies are trying to stop.

</comment></comment><comment> cat-dev-null Not to be flippant, but "Anarchist extremists believe that society should have no government, laws, or police, and they are loosely organized, with no central leadership" is a core belief of both libertarian Republicans like the publicly-visible two Koch brothers but also, to a lesser degree, some more educated, but unworldly, people whom happen to also believe that government "just gets in the way" until Flint, Michigan water crises and Hurricane Katrinas happen. Perhaps also criticizing ineffective and wasteful government, apart from deliver services or enforcing laws, may also be viewed as a potential tool to silence critics, whom have the significant power of social media. In Europe, a continual attempt to balance between anarchy and Big Mother is called democratic socialism, although the coloring of the word "socialism" implies Big Mother communism in many older Americans' minds... this is unfortunate when there are many more "Jungles" dispersed around the US than all of Europe and people living in their cars in the shadows (both situations are "bad"). I hope the US and more countries get a basic income soon.

Parents should also be upset at the thoughtpolice sort of world this kind of policy reinforces. It's bad enough the FBI monitors social media of security researchers and calls their employers should they be tagged or take photos with "watchlisted" people... this already happens, today, and it's not just some tinfoil wingnuttery. Considering how low the bar is for millions on various watchlists, how must it feel to become "radioactive" without a trial or even hard, unclassified evidence? Fear and gossip are powerful motivators, especially threatening people's careers and reputations.

I think this sort of thing sets a dangerous precedent when the re are already programs like [https://www.dhs.gov/see-something-say- something](https://www.dhs.gov/see-something-say-something)

</comment><comment><USER21> We continue to move from a law enforcement system of warrants/detective work into wholesale surveillance. We have lazily been doing that since 2001.

I think the authorities forgot how to solve crimes without full access to your data. They forgot about what started this country and they despise the bill of rights and especially Amendment #4. At some point having all this data is just noise and makes actual detection harder. Even if they have the data, without detective work by smart authorities, having all that data is useless.

Terror attacks are horrible and we should try to prevent them, but the legislative and executive attack on our freedoms is much worse than any terrorist could do.

</comment><comment><USER22> I've often felt upset about knowing that the US _people_ have many good traits, but the US Government is frankly scary and that I would love to visit the US people but would hate to interact with the US Government by doing so. To this end, I've always deferred the idea of visiting the US hoping that future governments would improve the situation before I do.

More recently however, I'm beginning to think that the risk may be ultimately worth it now despite the issues, because at this rate the US may become too scary to visit at all in my young adult life.

</comment><comment><USER23> That's it, I'm out.

As soon as I save up enough money I'm moving to Iceland while I still can.

<comment><USER24> I feel you. I left about 3 years ago for a mixture of personal reasons and increasing discomfort with the direction of the country.

Not only do most Americans seem oblivious to their loss of personal liberties, but they also are also apparently unconcerned with the widespread havoc wrought by US foreign policy. Now after 3 years of living in one such country that got deeply fucked over by the apathy and ignorance of US citizens, that last part is especially hard for me to tolerate.

I'm actually considering a visit back for the first time to see my ailing grandparents, and honestly I'm worried about re-entering because I frequently voice "radical" opinions online (though never violent). We'll see how it goes.

</comment></comment><comment><USER25> Critical thinking free-zone.

<comment><USER26> Well... [https://en.m.wikipedia.org/wiki/Free_speech_zone](https://en.m.wikipedia.org/wiki/Free_speech_zone)

Apparently Free Speech is permitted, though only as per a set of white listed regions in the U.S.

</comment></comment><comment><USER27> "Show me the man, and I'll show you the crime." \- Lavrentiy Beria, head of Joseph Stalin's secret police

</comment><comment><USER28> Not yet finished reading, but I was reminded of Little Brother by Cory Doctorow.

[http://craphound.com/littlebrother/download/](http://craphound.com/littlebrother/download/)

</comment><comment><USER29> Well, I've been to a few of those schools. There are terrorists in them to be sure, but they're too busy terrorizing their peers to criticize the government. You'd probably be put on the list for pointing that out.

</comment><comment><USER30> Wouldn't it be sufficient to monitor what people publish on social media? How many extremists have not posted violent threats on YouTube before going on their shooting spree?

</comment><comment><USER31> Damn, this article pushes my buttons. I really want to rant about it. Being a libertarian, this kind of thing drives me nuts.

But I see from the comment thread that ranting is already covered, so instead I will try to provide a little context by defending the FBI (a little bit)

Part of the job of any police force is not to act in a reactive manner. You should develop leads, work confidential informants, and keep files on folks you might expect to deal with in the future. This process fits into staffing, handling large crowds, planning for needed jail and prosecution resources, and so on.

Police forces just don't sit on the corner waiting to react. If they did, they'd use a helluva lot more force than they do now. This is a good thing for everyone -- up until a point.

Likewise, in extreme circumstances, citizens should expect to be roughly handled and/or have their rights taken away from them. If you're on a public conveyance that is in danger of exploding, you might be forceably removed. Under certain unique threats, you could be strip-searched. All sorts of bad things happen -- every now and then.

This is the way it should be. When things like this occur, somebody should be taking _political_ risk. Ticking nuclear bomb? Sure, waterboard the terrorist (please excuse arguments for torture not working for sake of argument). But that torture was a _one-time, political_ decision made by an elected person with executive authority. That person is taking a risk. Perhaps evidence shows there was no threat. In that case, they could be removed from office.

What we're doing here that's so batshit crazy is _systemitizing things that should be one-of occurrences_. There are provisions for one-time extraordinary events in our system of government. But with modernization, what the government wants to do is automate all of that. No free system of government can last long under these conditions. You're killing the baby to put the fire out in the house.

Each little department, however, only sees their little piece of the action. I saw a video yesterday where a conservative congressman is now coming around to believing Apple's case[1]. He was questioning the Attorney General. What about all these side effects of what the FBI wants, he asked. Are you considering what kind of impact this case can have on the entire system?

The answer was nope, not in my wheelhouse. FBI needs something, Apple has it. They're going to need it again, so we want a system where it's easy and/or automated.

This is the case all over, from traffic tickets to civil asset forfeiture to financial reporting standards. Ideas in the past would have sounded good, Congress would have passed a law -- and 12 guys would be stuck trying to implement it. Eventually they would have given up. But now, that's no longer the case. Whatever each little silo wants, it can pay to have automated. You can bet it'll happen.

Our system is made for _people_ to operate, not machines. Apologies for the over-the-top rhetoric, but the automation, systemization, and computerization of what used to be manual government processes is an evil far beyond anything mankind has ever seen. I don't even think most folks understand the problem, much less know what to do about it.

1\. [http://fortune.com/2016/03/10/apple-fbi-lindsay- graham/](http://fortune.com/2016/03/10/apple-fbi-lindsay-graham/)

</comment><comment><USER32> Salon is a known rag sheet. I'm surprised nobody has mentioned this.</comment>


Why Mark Zuckerberg's 'empty chair' policy is backfiring - <AUTHOR> https://www.politico.eu/article/facebook-privacy-mark-zuckerberg-facebook-britain-hearing-fake-news-damian-collins-misinformation-london/ <comment><USER2> I remember listening to a UK Parliamentary Committee that had invited the head of a popular grassroots anti-TTIP campaign to give evidence. There wasn't even a pretence of trying to be even-handed or gain a better understanding of popular objections to TTIP. Instead, all the MPs present took turns to berate him in an imperious manner. He was simply a prop for them to lecture at.

I suspect many of the forums Zuckerberg is invited to participate in are similarly vehicles for politicians to gain exposure by being seen as attacking a popular bogeymen. I can't really blame him for not wanting to spend his life traipsing around world capitals helping these politicians get TV coverage by acting as a rhetorical piñata.

<comment><USER3> These nations feel their sovereignty is threatened by Facebook. Him ignoring them isn't exactly helping, nor is the fact that he did submit to Congress which does the same pointless lecturing.

These nations are all losing face from being snubbed. They are going to take increasingly drastic measures to assert their authority - this is not something that will go away. You already saw this with the UK parliament seizing documents which is unprecedented in recent times.

<comment><USER4> > feel their sovereignty is threatened by Facebook

That's kind of like saying that coka-cola feels threatened if the CEO reports an illegal lemonade stand that's blocking his driveway.

The scales are not just different, they are absurdly different. UK is NOT afraid that they will lose sovereignty because of Facebook. Thats just ridicules.

<comment><USER5> Social media were the future of democracy up until Trump and Brexit happened, now they are the world's greatest threat to democracy.

<comment><USER6> A populist beat the incumbent and started taking America in a direction in which the majority of the voters represented by the electoral college approve of, is that not a success of American democracy? Or should are we deciding what's right and wrong based on a different yardstick now?

You can bet both parties are going to use similar tactics next election.

</comment></comment></comment></comment></comment><comment><USER7> There are a lot of reasons to dislike Facebook, and I myself have almost entirely stopped using it. However, most of these politicians are yelling at Facebook for only one reason: they want to bully it into implementing whatever censorship they desire.

You don't see politicians hauling the inventor of email onto TV and demanding that someone do a better job of censoring email. They know that email is a decentralized system, and for this reason it is respected as a neutral medium of communication (at least in countries who don't censor the entire internet).

Facebook having an easy to dislike figurehead and centralized company behind it makes it much easier to turn into a bogeyman. This can get citizens in liberal countries who would never agree to a great firewall to agree to some kind of censorship of Facebook.

Hopefully someone can make a decentralized social network/messaging platform catch on sooner rather than later, so that we can return to a world where blanket censorship is considered wrong, instead of something for politicians to aspire to.

<comment><USER8> Sites like Facebook, Twitter, and Reddit are starting to make editorial decisions of what counts as hate speech, what accounts and pages should be banned/removed, what affect do algo changes have on the content surfaced, what suggestions should show up in auto-suggest or the front page, etc.

I don't see the same choices being made in regards to Gmail spam filters for instance. I'd say we're at a time when this conversation is necessary. And I'm not one to trust the politicians with this decision, but it'd be nice if he showed up to some open forum on the topic.

<comment><USER9> They're doing that largely because governments have forced them to: [https://www.nytimes.com/2017/06/30/business/germany- facebook...](https://www.nytimes.com/2017/06/30/business/germany-facebook- google-twitter.html)

</comment></comment></comment><comment><USER10> By refusing to take an L, Zuck is just making legislators more interested in regulating speach and fucking up a good thing for all of us.</comment>


World's Largest Water Diversion Plan Won't Quench China's Thirst - <AUTHOR> https://www.bloomberg.com/news/articles/2017-12-10/world-s-largest-water-diversion-plan-won-t-slake-china-s-thirst <comment><USER2> > Still, in many cases there's little incentive for farmers to save water. > Agriculture uses 62 percent of China's water, but crops have a relatively > low marginal value. So the government bans the sale of agricultural water to > industry, which pays 10 times the price, to ensure food supply.

This discount on water is effectively a cash subsidy for agriculture that increases with the _amount of water wasted_ instead of useful goods sold.

Seems like every country everywhere has the same issue: they don't want to sell water at the price it is actually worth, so it gets wasted and people complain about water security issues. (Then if it's a city residential area, they introduce rules like "no watering your lawn" in the hope that it will reduce waste, instead of canceling the _90% off all-year-round water sale_.)

<comment><USER3> Did it ever occur to you that pricing _hundreds of millions_ of poor Chinese farmers out of their ability to grow food to eat, so that much richer exporting industries can have more water, while being a "market solution", might not be an acceptable - even a humane - solution?

<comment><USER4> Did it ever occur to you that a cash subsidy might be a lot more acceptable and humane answer that the current water subsidy?

You're framing this as a question of "should we give these peasants free water, OR just let them starve?" That's not what's being debated, and is disingenuous at best.

<comment><USER3> This is what I understood was being debated: industry requires a lot of water, and they can pay it 10 times what the peasants pay for it. But, currently, they aren't allowed to buy the water that is needed for farming, which is the same as giving a subsidy to peasants. Instead, we should let the market decide, ie, let industry buy the water and leave the peasants without it. What will the peasants do then? Why, they are free to move to the cities and become industry workers; perfect market solution.

Did I get it wrong?

<comment><USER4> > which is the same as giving a subsidy to peasants.

Correct. It is a large subsidy to the peasants.

> Instead, we should let the market decide, ie, let industry buy the water and > leave the peasants without it.

Yes, but with the money, which as earlier discussed is worth several times more than its value in subsistence agriculture. The person you were originally replying to was complaining that a 90% discount on the sale of water was essentially an extremely inefficient cash subsidy; the obvious solution is replacing it with an _efficient_ cash subsidy. That's hardly humane.

> What will the peasants do then? Why, they are free to move to the cities and > become industry workers

If that was a practical solution at the required scale, they'd have already done it. Hence why a subsidy is needed.

> Did I get it wrong?

It does look that way, yes.

</comment></comment></comment></comment></comment><comment><USER5> Water security is an issue everywhere. Here in Australia, we have the Murray river. It is a major lifeline to Adelaide. However upstream farmers have been identified as stealing water, and their parent states aren't doing anything about it. I'm sure there's many farming practices that could be improved to reduce water consumption, but with lax policing, it's not happening.

<comment><USER6> I'm in NSW and I can guarantee you that if the upstream farms were more efficient with their water they would use the same amount, but grow more...

It's a bit like the mining industry, government doesn't want to even risk damaging the top 2 industries this country has.

<comment><USER7> The problem in NSW is some farmers taking more water than they are legally allowed to, to the detriment of all other users of the river system, and then the law not being enforced. In the 4 Corners report that exposed the (mal)practice, there were reports of rivers flowing backwards due to the amount of water is being sucked out of them.

It's not a state vs. state thing, as even the local NSW communities are screaming about it. It's a small corrupt group vs. the nation, and it stinks.

</comment></comment></comment><comment><USER8> From what I've read in the past, it's not the crop is very water intensive, but rather the technique used to irrigate are water intensive. Take in comparison, "flood irrigation" vs techniques developed to irrigate in desert condition using "drip irrigation".

</comment><comment><USER9> Dozens of high-tech and massive public works solutions.

None address the root problem: population growth. Globally, not just in China.

Everyone will knee-jerk respond about their one-child policy. It doesn't change that population growth is the root problem and all the other solutions only enable more population.

The article doesn't even suggest the possibility of lowering the birth rate. It's long past time we put the topic back into civil discourse.

<comment><USER10> No, population growth is not the biggest problem for China, the median age of China is about 38 years old, their growth has already petered out. The population growth problem is right now mostly Africa and South Asia.

China already has less than replacement ration (2.1) child births, what do you want ? People to not have children?

<comment><USER9> The issue is not what I want.

The issue is that there is not enough water per person.

Efficiency gains and technology will help with the numerator somewhat, though probably swamped by increased material consumption.

We can talk about the denominator or not, but we probably can't do anything about it if we don't.

</comment></comment></comment><comment><USER11> Beautifull documentairy _Sud eau nord déplacer_ [0] on Nan Shui Bei Diao – North South Water Transfer [1]

[0] [https://www.idfa.nl/en/film/34d44e48-0092-4d5e-abdf-d501b524...](https://www.idfa.nl/en/film/34d44e48-0092-4d5e-abdf-d501b5247d6c/south- to-north-cine-concert) & [http://www.imdb.com/title/tt3755604/](http://www.imdb.com/title/tt3755604/)

[1] [https://en.wikipedia.org/wiki/South%E2%80%93North_Water_Tran...](https://en.wikipedia.org/wiki/South%E2%80%93North_Water_Transfer_Project)

<comment><USER12> My family is from near the Danjiangkou reservoir. My family's ancestral land were flooded in the 1960s to create the reservoir. [http://foreignpolicy.com/2016/04/26/ghosts-by-the-water- line...](http://foreignpolicy.com/2016/04/26/ghosts-by-the-water-line-china- north-south-water-transfer-project-beijing-consequences-chinafile/)

</comment></comment><comment><USER13> This is quite a feat. It's tunneled under rivers, passes through cities and travels nearly a thousand miles north.

I do wonder tough, about contamination given floods can easily breach the levies and in the cities runoff is pretty polluted. And wonder if any gets syphoned off --unless they have the very long fencing guarded 24x7.

</comment><comment><USER14> [https://www.amazon.com/Water-Knife-Paolo-Bacigalupi- ebook/dp...](https://www.amazon.com/Water-Knife-Paolo-Bacigalupi- ebook/dp/B00NRQOR26/ref=sr_1_1?ie=UTF8&qid=1512973178&sr=8-1&keywords=water+knife)

Eerily relevant.</comment>


Kink, Twist and Knot Free Cables - <AUTHOR> http://lifehacker.com/5905072/use-these-alternating-coil-methods-for-kink-twist-and-knot+free-cables

<comment><USER2> A lot of tradesmen use this method:

[http://www.youtube.com/watch?v=1FVxNZlNgDU&feature=relat...](http://www.youtube.com/watch?v=1FVxNZlNgDU&feature=related)

for thicker cables that will be stored or tossed around between uses. An industry sound guy taught that me that one, and it has been effective.</comment>


Free 47000+ books readable from web browser - <AUTHOR> http://buk.io/@10657/1/id00067

<comment><AUTHOR> What do you think about reading books from web browser? Isn't web browser the best content presenter? Thanks.</comment>


Steven Levy's Ultimate Apple Watch Review Guide (25 Reviews Combined) - <AUTHOR> https://medium.com/the-apple-watch-project/is-the-apple-watch-really-worth-your-time-the-ultimate-review-fad808a37c9b

<comment><USER2> _This time, I just said "Get me to the W Hotel in Times Square," hit start, and started walking. I didn't bother with my phone or the Apple Watch until I felt the taps indicating a turn, changed direction, and kept walking_

You can do the same thing with Google Maps on an Android phone (or probably an iPhone). Just turn the screen off and put it in your pocket.

</comment><comment><USER3> A little explanation here. We took some of the best writing on Medium and remixed passages to make a single coherent review--from 25 people. Is it as good as the pros? You folks can decide.</comment>


Crowdsourcing volunteers comb satellite photos for Malaysia Airlines jet - <AUTHOR> http://edition.cnn.com/2014/03/11/us/malaysia-airlines-plane-crowdsourcing-search/index.html

<comment><AUTHOR> Right now, the website of the company ([http://www.digitalglobeblog.com/](http://www.digitalglobeblog.com/)) redirects to 127.0.0.1</comment>


Gyrophone: Recognizing Speech From Gyroscope - <AUTHOR> http://crypto.stanford.edu/gyrophone/

<comment><USER2> [https://news.ycombinator.com/item?id=8178777](https://news.ycombinator.com/item?id=8178777) was posted yesterday, but this is substantive enough not to treat as a dupe.</comment>


Hiding hand principle - <AUTHOR> https://en.wikipedia.org/wiki/Hiding_hand_principle <comment><AUTHOR> Malcolm Gladwell discussed in the New Yorker:

[https://www.newyorker.com/magazine/2013/06/24/the-gift-of- do...](https://www.newyorker.com/magazine/2013/06/24/the-gift-of-doubt)</comment>


Tesla's 'Dangerously Ambitious' Gigafactory Could Save U.S. Battery Business - <AUTHOR> http://www.forbes.com/sites/joannmuller/2014/02/28/after-taxpayer-funded-flops-elon-musks-dangerously-ambitious-gigafactory-could-save-the-battery-business-in-america/ <comment><USER2> What kind of draw can you put on these batteries?

An 85kWh battery may be more useful in every garage than this article claims. The added expense is claimed to "keep consumers away", but really it means things like solar panels become more useful.

If you are able to charge your car via power you generate and it can supply enough power back to run your home, you can get some huge benefits. You can have power at night that you generated during the day. No need to suck power from the grid. During outages, you would likely still have a few days of power. And finally, if we actually take full advantage of this, our power infrastructure could directly use these cars to distribute and store energy and route around outages, increasing stability in a huge way.

All in all, this could usher in an era of crowd-sourced power generation. One of the primary reasons that hasn't been feasible was the ephemerality of power on the grid. You consume it just after it's produced. We have no good way to store it. But with hundreds of thousands of 85kWh capacity batteries plugged into the grid, we suddenly have a start.

I think paying an extra $20,000+ for a car if that's a potential outcome is worth every penny.

<comment><USER3> So how would this work? During the daytime, you have your car with you at work, away from your solar panels at home. When your car is at home, it is night, so it is not charging then. During a power outage, are you really going to drain your source of transportation to power your house? Especially if you don't know when the power is coming back on to refresh your car batteries? I know I wouldn't -- I'd just fire up a gas generator when the power goes out for an extended time, and use that to also recharge the electric car.

<comment><USER2> During the daytime, your solar panels are dumping power onto the live grid. The same grid your car at work is plugged into. And all your neighbors'. And every other car in the garage or parking lot.

During an outage, unless it's a weather-critical incident or a disaster, the convenience of not needing to go and power a generator (and thus mess with needing to refuel it, and depleting your supplies which will be more useful in a real disaster) would likely be better. If it makes sense to power up a generator, then do that. It would also be charging your car.

<comment><USER4> We have this situation already in Austria.

Solar panels dump power onto the grid and you get paid by industry electricity price. But at night solar panels don't produce and one has to pay "consumer" electricity price that is 7 times higher!

So a battery system that covers nights and that has a durability of at least 10 years and with a price tag that allow for a amortisation within 8 years would be the way to go.

</comment></comment></comment></comment><comment><USER5> The statement at the end of the article that "[e]ven if the company fails to sell 500,000 vehicles a year, some of the gigafactory's batteries could be used in the stationary storage market (which helps explain why he wants to build in the southwest, where solar and wind power farms can be incorporated.)" doesn't make sense to me as a reason even worth consideration, especially given in the same article is the statement that "it would exceed production of every other battery factory in the world – combined". The importance of location in the southwest US for the fledgling alternative energy market seems completely irrelevant if one is striving to become the worldwide majority supplier of a multi-billion dollar market. The access to the port of Galveston would certainly be valuable in shipping that product to the likely majority market offshore, but many other states with ports would likely be interested in a multi-thousand job plant.

<comment><USER6> The value of a finished battery pack is about $20 / lb. Truck transport across the US costs about $0.35 / lb. So indeed, proximity to installation locations makes less than 2% difference.

<comment><USER7> Reno is ~235 miles from the Fremont factory, or about 4 hours.

The gigaplant is going to be a critical part of Tesla's supply chain, and distance is critical. Better to have your main component within a short drive, and let cells/packs destined for others make the long slog via rail or ship.

</comment></comment></comment><comment><USER8> Interesting fact presented in the beginning of the article: all the government funded research/companies went belly up.

Food for thought: Is it because of the sheer difficulty of such ventures? Or is it because the money went to the wrong hands?

<comment><USER9> I'm a founder of an energy storage company, Lightsail Energy.

To say _all_ government funded energy storage companies went belly up is an exaggeration. Many still survive, although you will note a strange anti- correlation between government funding and survival. In my opinion a lot of money did go in the wrong hands. The main problem is that the government is totally confused as to its actual funding strategy -- you need significant, continuous supplies of capital to develop and commercialize hard technology -- every time it fluctuates you impose major stresses and delays.

In at least a few cases, the problem was that the government provided support, and thereafter withdrew it. This was most problematic for the DOE Government Loan Guarantee program -- after Solyndra (a major recipient) went belly up, the government called on their debt in a series of energy storage companies, particularly A123 and Beacon Power. That was the bankruptcy trigger.

On the other hand, it is not exactly like those companies were doing so well anyway. They were fragile, though they might have had a bright future.

<comment><USER7> > This was most problematic for the DOE Government Loan Guarantee program -- > after Solyndra (a major recipient) went belly up, the government called on > their debt in a series of energy storage companies, particularly A123 and > Beacon Power. That was the bankruptcy trigger.

Is it possible Tesla paid their DOE loan back early to prevent any volatility from that liability hanging out there?

<comment><USER9> Hard to speculate, but it probably gave them a lot of leverage.

</comment></comment></comment></comment><comment><USER10> This $5 billion battery factory is intended to enable production of half a million EV cars per year by 2020.

It's more amazing to me to think of the scale required in the mid 2020's when EV cars could be 10's of millions per year.

</comment><comment><USER11> "Dangerously Ambitious" really? Fuck their rhetoric.

<comment><USER12> Lol, yeah, it's more like Smartly Ambitious...

</comment></comment><comment><USER13> Really forbes? One line on the second page..</comment>


Ask HN: Advice for emigrating from Third World - <AUTHOR> Hello HN.  I am a software developer living in a Third World country.  I would like to migrate with my family to another country because the situation in our country has gotten worse over the past couple of months. I do not wish to raise our children in this environment and I don't see things improving in the foreseeable future.  I also want to provide more options for our kids.  Dual-citizenship and passports will open doors for them in the future.
We are considering Australia and Canada, because we have family and friends there.  I want to ask for advice from anyone who's made a similar move or anyone familiar with the situation in the above countries.
some questions - what are the dev job prospects like in the above places? - is hiring ageism widespread (I'm in my late 30s)? - are there any particular places you'd recommend or avoid? - are there other countries you think we should consider?
There's lots of information out there but I want to hear your perspective. <comment><USER2> I have a sense that Canada is more multicultural & welcoming than Australia, but it's only a sense.

Good luck!</comment>


Show HN: FreeTxtAPI: Free SMS Texting API - <AUTHOR> http://freetxtapi.com/ <comment><USER2> What's the rate limit? And does it have anything to do with the textbelt project?

<comment><AUTHOR> Rate limit is 200 per day. This project was inspired by textbelt. I decided to create my own free version when they started charging.

<comment><USER2> Awesome! Thank you for posting!</comment></comment></comment>


Using Scala to handle exponential growth at a startup - <AUTHOR> https://www.lucidchart.com/blog/2012/12/18/using-scala-exponential-growth-at-a-startup/

<comment><USER2> Its nice to see another shop switching to Scala. I have been advocating the same change where I work ( currently PHP and really feeling the pinch of what it can do ). Looks like I now have another data point to use as a success story for transitioning away.

<comment><USER3> You're not yet invested in the JVM, so have you considered some alternatives like Haskell or OCaml? I've found these to be simpler and more productive. The main worry would be about libraries, but that really depends on what you're doing. If it's web development, both Haskell and OCaml have top-notch frameworks that are very good for asynchronous code. OCaml also has a very good JavaScript compiler, so you can use it on the front-end. (Haskell can also be compiled to JS, but I've never used it that way.)

<comment><USER2> I have looked at Haskell, but the problem is getting the team migrated over. Its a lot easier to migrate a team to Scala then to Haskell. Also the library selection for the JVM is unparallelled.

</comment></comment></comment><comment> brown9-2 A bit off-topic but I'm curious what people familiar/experienced with other Java web app frameworks think of the Play framework?

<comment><USER4> The choices really come down to (imo anyway),

1\. JSP

2\. GWT/GAE/AppScale

3\. Play

JSP is just awful - taking PHP and trying to fit it into Java somehow. It's just terrible and needs to be phased out ASAP. (EDIT: Probably too harsh.. JSP works in the same way PHP works: it powers most of the web, and it does a grudgingly good job. The ease of plopping in some dynamic content into am html website made by a designer should not be discounted lightly for small websites. Probably best to just use PHP and not JSP in this use case though...)

GWT/GAE/AppScale mix is my preference. You can share code across server and client. Building RESTful services is a dream with Jersey on the server/thick client, and RestyGWT in the browser. The GWT compiler produces some very well performing javascript (only a bit slower than highly optimized libraries, but feels faster than nearly all webapp javascript). GWT also has incredibly good tooling support in automatic sprite sheet creation, compiled CSS styles, uibinder for declarative layouts, etc. The downsides are (1) java language, so no functional programming and (2) compile time can get nasty when you head in the millions-lines-of-code arena. GWT team is seemingly working on speeding up the dev cycle with SuperDevMode and that.

Play framework is most similar to the ruby on rails approach and works incredibly well for your standard webapp. The support for Comet and WebSockets are particularly nice and making very dynamic 'push' webapps is the real strongest point. The tooling can get pretty annoying at times with features/bugs, but it is steadily improving. The biggest downside to Play is that it is in a 'hipster phase' currently with the release of Play 2. This means both a huge surge in interest, but that same surge can be a curse when it drops out of 'hipster' mode in the future and loses devs. Numerous promising frameworks/languages have hit this problem and never really recover when the 'fashion' changes.

GWT, for example, has long since fallen out of fashion but continues to be heavily developed because of the huge and profitable existing user base inside Google (Adwords, etc), guaranteeing it active development for awhile to come.

<comment><USER5> There is also Lift, one of the early scala web frameworks, but after using it for over a year, I'd say stay away.

<comment><USER6> What drove you away from Lift?

<comment><USER5> answered below in <https://news.ycombinator.com/item?id=4939788>

</comment></comment></comment></comment></comment><comment><USER7> I don't really feel like they actually get into the specifics of how scala actually benefited them outside of what everyone already knows about scala from a really high level.

Bummer. I'm using scala at a small startup.

<comment><USER8> No. But their "Hey Jude" diagram is worth a watch! <https://www.lucidchart.com/pages/examples/flowchart_software>

</comment></comment><comment><USER9> Since Scala is also a JVM language, from scalability perspective can someone expand on what it offers that Java, or any other JVM language, doesn't.

I'm not asking about language semantics since I believe that to be a personal preference, rather scalability and performance.

<comment><USER10> As far as I know, Scala can't give you _better_ performance than Java, but I also can't see it being too far off.

I've never really seen the benefits of Scala. Everyone whines about Java syntax, but it's really not that bad. Verbose, sure, but it just doesn't seem like time spent typing is where my productivity goes. Maybe I'm just getting old, but I no longer care about language syntax as much as I used to. A preprocessor to give me Java 8 lambda syntax would probably solve all the issues I have with Java right now.

<comment><USER11> "A preprocessor to give me Java 8 lambda syntax would probably solve all the issues I have with Java right now."

That's one of the things that Scala gives you: the functional features are there _now_ and have been for almost ten years.

Still, I know where you're coming from. I was a die-hard Java guy until I gave Scala a shot. I'm not looking back, though I do think that Java's tooling is much more mature than Scala's.

<comment><USER12> Scala has much worse tooling (SBT is an oxymoron), and it's much harder to read than Java.

Conceding that it's more fun to write, I think 'harder to read' is more important. Scaling refers to team size and amount of functionality in addition to requests per second.

<comment><USER13> It's also the slowest compilation I've ever seen, even with really clever custom tooling.

<comment><USER14> Scala compilation is indeed slow (although I think C++ is worse). But I always have a "sbt ~compile" running, compiling every file as they change. So the compilation time is pretty much irrelevant to me. While using eclipse, I guess, you'd get the same speed too.

</comment></comment></comment></comment></comment></comment><comment><USER15> Would love to see a more detailed post on how Scala helps you specifically.

<comment><AUTHOR> Been getting that feedback from others. If we did a followup article what specifics would be most interesting to know?

<comment><USER15> \- How did Scala make it easier to design scalable abstractions - both for performance and for features?

\- What kind of tooling do you use? Which version of Scala?

\- Any tips around hiring and ramping up a team?

Thanks for the offer.

Edit: formatting

</comment></comment></comment><comment><USER16> I'm so confused. Some diagramming app no one has heard of has to scale to 'exponential' growth and figure out:

* [not] loading a lot of session data on every request

* storing data across shards

* parallel processing

* a services approach

Wow, I think something is over-architected.

Curious: does exponential growth mean 2 concurrent users to 4? If they have more than 100 concurrent users, I would be highly skeptical.

And, if they can't solve that problem with _any_ language, I would also be highly skeptical.

<comment><USER17> Lucidchart employee here. Though we don't publicly release total user stats, this recent post about 500,000 installs through the Chrome Web Store gives a hint:

[https://www.lucidchart.com/blog/2012/10/31/500000-chrome- web...](https://www.lucidchart.com/blog/2012/10/31/500000-chrome-web-store- installs-what-weve-learned/)

Even with 550,000 installs there, the Chrome Web Store is just one of a number of strong channels for Lucidchart and contributes a small minority of our user base.

<comment><USER16> So, how many requests / second is your load balancer receiving from outside?</comment></comment></comment>


Huawei heats up the battle for internet in Canada's north - <AUTHOR> https://www.bbc.com/news/world-us-canada-49415867 <comment><USER2> If Huawei really wanted to drum up Canadian support, they would make claims that their technology will drive down mobile data prices in Canada.

If there's a group that's Canadians universally dread, it's their telecoms. They should latch onto that.

5G is pointless tech in Canada: we have tons of excess capacity because telecoms can charge so much. Being able to go through my 4gb/month that I pay $40+/month for (long dead deal) in 7 minutes is not valuable to me.

But Huawei _really_ fears pissing off the telecom oligopoly.

We pay some of the highest rates in the world, even in highly populated areas.

<comment><USER3> > We pay some of the highest rates in the world, even in highly populated > areas.

It's a misconception that sparsely populated areas are more expensive to cover than highly-populated ones. That's actually the opposite, it's much easier to cover a highway than a dense city center.

<comment><USER2> Per square km, definitely. But I agree, there's also a sweet-spot in the middle for cost/subscriber.

All those pesky walls of concrete really get in the way of radiation.

Then there's the wide fresnel zones and low bandwidth of the higher-wavelength better-penetrating frequencies.

</comment></comment></comment><comment><USER4> Has anyone asked why in the Linux Kernel there has been an extraordinary amount of work on Huawei in a few key networking files? In fact in such file the changelog since 2016 mentions Huawei more than any other proper noun _combined_.

The person who is in charge of this module...runs two small sites. One is a foundation he created help with overpopulation. The other is a 9/11 was an inside American job website.

Here is the module. If you search the forum you will find 4,800 mentions of Huawei. The term Cisco brings up 7 mentions. Netgear only 60. Ridiculous purely in terms of vendor favoritism.

EDIT: link - [http://www.draisberghof.de/usb_modeswitch/](http://www.draisberghof.de/usb_modeswitch/)

<comment><USER5> How likely is it just that Huawei devices are the most common that use the usb modeswitch technique? I've gotten 3 different "free" 3g/4g wifi routers (all rebranded to the ISPs name) and they were all Huawei.

ZTE is also extremely popular but it's too short to search for. Other vendors like d-link, tp-link, alcatel, novatel, qualcomm etc all turn up around 300 results each.

</comment></comment><comment><USER6> Canada really needs to start developing the north properly, what with global warming and all.

<comment><USER7> Ontario transfers $1 billion a year to the Yukon for exactly the kind of Development you're talking about. It's growing and expanding just as the government wants it to.

<comment><USER8> You mean Ottawa? Because the province of Ontario is not contributing to the territory of Yukon.

<comment><USER9> Equalization payments:

"do not, technically, involve wealthy provinces making payments to poor provinces, although in practice this is what happens, via the federal treasury."

[https://en.m.wikipedia.org/wiki/Equalization_payments](https://en.m.wikipedia.org/wiki/Equalization_payments)

<comment><USER10> This is NOT in practice what happens. This way of framing it is popular by separatist segments in Alberta, but it's bullshit. Transfer payments come out of federal tax levies. No province is being targeted for levies. If one province has richer people and thus pay more in federal tax, then yes they will likely have a net loss in transfer payments. But this is no different than ANY federal service, whether it comes to military bases, natural resources, child care benefits, etc. It's simply how taxes work. If you're a poor person in Alberta you're paying less into equalization than a rich person in Quebec.

<comment><USER11> That's exactly what happens via the unequal distribution of federal income to the provinces.

We can argue that it's a good thing the program works the way it does and I'd argue, for the most part, that's true [0]. But all the programs you listed and the eq. program are _net_ transfers from rich (and less politically powerful [1]) to poorer provinces.

It's akin to when coastal Americans bemoan that fly over Americans get net transfer of wealth from them.

[0]having lived in many US states, I kinda like knowing that NL, or NB is taken care of when they're in the dumps

[1] Being a 905er myself, let's be honest here! Quebec, between separatism and as a battleground province, can throw a hissy fit and get whatever they want (and good for them! Hate the game, not the player.)

<comment><USER10> > But all the programs you listed and the eq. program are net transfers from > rich (and less politically powerful [1]) to poorer provinces.

Provinces don't pay tax. People do. They're net transfers from rich _people_ (regardless of where they live) to poorer provinces. It just so happens that Alberta has a high per-capita income these days (not always the case). That's not a bad problem to have.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Huawei has nothing to do with the OSI layer 1 challenges of getting access to communities currently dependent on geostationary satellite based access.

Lower cost to launch satellites will help.

Starlink, Kuiper and Oneweb will help greatly, assuming that all three get built and put into production use.

For many places the present economics of construction, and going at least 15-20 years into the future, there will be no terrestrial PTP microwave link to southern Canada nor will there be a cost effective way to link these communities by fiber. They'll remain dependent on _some form_ of satellite access for a WAN uplink to the rest of the world.

We do not need Huawei to build robust last mile wireless point to point and point-to-multipoint radio access networks in these communities. Lots of good non-LTE and LTE-based solutions exist for PtMP radio systems in bands from 600 MHz to 5.8 GHz.

Huawei marketing and sales trying to say that Canada "needs" Huawei to develop 4G/LTE and 5G services in arctic communities is just silly. There's tons of good equipment vendor alternatives with platforms that are just as fast for PtMP last mile systems.

</comment><comment><USER13> I am sorry but as Canadian, I don't see much point of development in Canada's North. That part of Country is simply unsustainable for human settlement and whatever is there currently is on back off massive amount of investment in infrastructure, logistic and construction. Even basics such as milk has to be imported from other parts of Canada 1000s of kilometers away.

Don't get me wrong - I applaud folks who have to live there but there simply is no point of encouraging people to stay living there or worse, to move there.

Coming back to the topic - Huawei aside, say Canadian Govt./some corporation decides to spend billion dollars to lay down required infrastructure to kick off high speed internet services in that part of Canada - do you even think they have the population to support their project financially? Sooner or later, tax payers will be on hook (that is how it works in Canada) to pay for some Yukon based teenager's right to surf youtube on high speed internet.

<comment><USER14> A significant portion of Canada's wealth comes from the north and afaik settlement is required it retain claim over this territory.

<comment><USER15> > A significant portion of Canada's wealth comes from the north

What do you mean by that? What natural resources are you referring to?

<comment><USER16> Oil

<comment><USER15> If you're thinking Tar Sands, that's Ft McMurray, which isn't terribly northern in comparison to the territories. I don't think that the oil in the territories hasn't really been capitalized upon because it's so remote.</comment></comment></comment></comment></comment>


The Functional Database [video] - <AUTHOR> http://www.infoq.com/presentations/datomic-functional-database <comment><USER2> Such a shame about InfoQ. Seems like they've got lots of interesting content, but the user experience is abysmal to the point where I now avoid the site. Would it be so bad to just let us flick through the slides?

<comment><USER3> When I'm in a rush for a tldr, I want to flick through a few slides and move on with browsing something else. But, there are a lot of times that I'm not in a rush. When I'm taking a walk or riding the bus, an MP3 of a presentation is a great way to have someone slowly explain an idea that I'm interested in -but not enough to actively concentrate on researching.

Relaxing at home on the couch is another time that I'm not in a rush. I've largely replaced evening TV time with watching presentations on various topics. InfoQ is perfect for that. I get to have an expert take an hour to carefully explain a topic that I'm only tangentially interested in while I semi-nap on my couch after dinner with a beer. This has become a low-effort means for me to gain a high-level understanding of a broad range of topics that I wouldn't otherwise have the time or willpower to sit down and actively study.

</comment></comment><comment><USER4> Everything Rich says and does is gold!

It surprises and disappoints me that he is not as well known nor revered as the agile craftsmanship peddlers.

<comment><USER5> I know very well who Rich is, but I don't know (and don't want to know) any of the "agile" proponents.

<comment><USER6> Early on in the movement, one of the big names who also had some fairly close corporate associations came to speak at a user group meeting hosted at my then BigCo location. I even passed news of the event around so that interested parties in our local shop could head down after hours and have a listen.

I felt rather bad afterwards for having done so. One of the more useless talks I've attended. Very superficially prescriptive (you should do X; Y has seen benefit Z), with no meat to the description (or prescription, as it were).

Agile may well have its place. But its intersection with BigCo life, as anecdotally exemplified in this fellow, seemed to be just more of the "same old same old". New words, same shit.

</comment></comment></comment><comment><USER7> Can someone provide a one paragraph definition of the functional database?

<comment><USER8> Is three ok? Using my limited experience playing with Datomic:

A functional DB replaces a "row" that only holds the _current state_ of the world with a list of timestamped "facts" that can represent either the present or any point in the past.

Instead of simply recording "Bob's favorite food is pizza," we record that "'Bob's favorite food is pizza' was added at Time X." If Bob decides his favorite food is now ice cream, we record that "'Bob's favorite food is ice cream' was added at Time Y." At any time, we can query Datomic to get the current state of the world--"Bob's favorite food is ice cream." But note that we can _also_ query Datomic to get any past state of the world. If our query is "what was Bob's favorite food 10 minutes before Time Y?" the response will be "pizza."

A regular database is like a sheet of paper that is continually erased and drawn over with a new world-state. Datomic, as a "functional database," is like a flipbook with an updated state on every page.

<comment><USER7> Okay, so it's a database with version control. I was actually looking for a feature like this a while back in normal databases.

<comment><USER9> In the database world, we call it temporal databases, because it introduces the concept of time as a first-class part of the conceptual/logical model.

Every production database I've ever seen goes through some version of the same evolutionary lifecycle:

1\. "We only need the current state". The database acts as a snapshot of the current world. Updates cause the loss of historical data. The database is like a state machine.

2\. "Oops, actually, we need point-in-time reports". The database is hacked with date_from and date_until fields (which introduce interesting anomalies and impose programming overhead on every query written).

2a. "This is a mess, let's clean it up". The database schema is refactored so that the central model is logs of transactions. Point-in-time snapshots are derived at query time. Note that this both replicates the underlying logic of database design (much as network protocol layers are fractal). Note also that it recreates the way basic accounting works, which was the inspiration for database transactions.

3\. "Oh crap, the regulations/laws/reporting standards changed". Now you need yet another layer to represent changes in the _domain_ , not just in the _data_. Your point-in-time reports become even hairier as you must now write different queries depending on the time period being accounted for; and sometimes you must write queries that span both periods and include logic to combine them.

The concept of a temporal database is to make points-in-time a universal, cross-cutting part of everything that happens to the database, either in the schema or the data. Rich has correctly identified the correspondence with functional immutability, where instead of modelling things as having mutable state, you model changes as a series of successor models, each of which is by itself immutable.

I think it's a good idea. The world would be very different if proper temporal logic had been baked into SQL in the first place.

<comment><USER10> I spent years making all kinds of databases, and I approve your message.

I recently noticed that CouchDB with its notion of map-reduce views can be used as a temporal database - make each change a "document", then make a map- reduce job to roll up the changes to the present state (or "as of" state", if you need it). Nice side effect is that you get free multi-master replication with automatic conflict resolution.

Do you have any other suggestions for a temporal database?

<comment><USER9> To my very great shame I am aware that there is an entire literature on the topic and I have barely even skimmed the surface of it.

Snodgrass, a leading researcher on temporal databases, wrote a book in 90s about it which is available for free from his website[1].

It's good because it was written before some temporal extensions were added in SQL:2003 (I think). The problem is that almost nobody has implemented those extensions (I believe some versions of DB2 have them), so you are left with doing things by hand. The Snodgrass book goes into amazing detail as to why you'd do such a thing and how to do it.

[1] [http://www.cs.arizona.edu/~rts/tdbbook.pdf](http://www.cs.arizona.edu/~rts/tdbbook.pdf)

</comment></comment></comment></comment></comment></comment><comment><USER11> Has anyone here used the PostgreSQL package for temporal database support? Would be interested in thoughts :)

[http://temporal.projects.pgfoundry.org/reference.html](http://temporal.projects.pgfoundry.org/reference.html)

</comment><comment><USER12> Video quality sucks hard. Is the source code from presentation available anywhere?

<comment><USER13> InfoQ is a pain in the ass, but if you open an account with their crappy site, as mentioned by others, you can download the presentation slides at the least. Not sure if the code mentioned will be clear, or even copy-pasteable. I know this is probably not what you are looking for, but that is probably the best you can do.

</comment></comment><comment><USER14> The code in the video is impossible to read. Are there higher-quality versions of this video anywhere?

</comment><comment><USER15> FAT -> GIT

SQL -> Datomic?</comment>


I can't recommend attending the Starter League - <AUTHOR> http://www.callmekung.com/2013/03/i-cant-recommend-attending-starter-league/

<comment><USER2> I think the problem here is the expectation that completing the course would automatically get you a job. So much more is required, and I think the Starter League is a fast track to obtain that knowledge, not an airplane ticket. It should be sold as one, but students also need to be realistic.</comment>


Why your mom might like Google+ - <AUTHOR> http://iknerd.com/why-your-mom-might-like-google <comment><USER3> This may have been mentioned elsewhere, but this is the first I've seen it phrased like this:

 _Circles lets your mom expand her universe - In Facebook, your mom tends to limit her universe to friends since... well... Facebook defined connections to others with the term. Google+ doesn't define your mom's relationships - <USER2> mom does._

The naming of the relationship is a really neat point. Even if you're not your mom and use Facebook to connect with colleagues or acquaintances or investors, they're still weighed down by the baggage of the word 'friend.' Whether or not Facebook has the ability to share with separate groups of people, they're all called the same thing. There's a mental tax here when you have to convert: friends from school, friends from the bar, friends from work, wait, no, _colleagues_ from work.

Similarly, Twitter has no labels of importance: you're following someone's tweets, but there's no implied relationship. Lists are one way to add semantic meaning, but you don't use them with the same regularity as your main timeline.

Features aside, Google+ strikes a neat balance here with just the ability to _label_ your relationships. No mental tax (unlike Facebook), plus meaningful information (unlike Twitter).

<comment><USER4> I think you are spot on, and while it seems ridiculous to even me, the "friend" association really bugs me on Facebook. I realize it is just a label on a website, but the implication of adding someone to my Facebook friends list seems to be that I have some relationship with them that I absolutely do not. Thus, coworkers aren't my friends on Facebook, but I have no problems adding them on Google+.

That, combined with the immediate emphasis on limiting who is shared with from the very start makes Google+ a lot less stressful to use. Sure, it is a minor thing, but still pretty important.

</comment></comment><comment><USER5> > "While geeks might take privacy risks, your mom doesn't and she gets pissed > off with every privacy update".

Is it me or is this exactly backwards? Geeks are the biggest privacy freaks around, but I don't think most moms on Facebook give it a second thought.

Geeks post hysterical blog posts about every privacy update, your mom doesn't even notice - the "new terms of service" dialog stays undismissed and unread at the top of her Facebook page for months.

<comment><USER6> It's not completely backwards: both ways are gross generalizations. For one thing, _my mom_ won't join Facebook because "the privacy toggles are confusing," whereas many of my geek friends won't enable 2-step authentication _or even https_ (on both Google and Facebook) because "meh, why bother."

But that's not what "your mom" is about. We use the "your mom" persona when we want to put ourselves in the shoes of someone who interacts with technology in a ridiculously different way than we do. Also, it's endearingly masculinist.

So. Your mom might be fooled into oversharing by accident. She also might be too scared to ever share anything, because she doesn't know how to control privacy settings. Both situations are bad for your mom, and Facebook has plenty of both (like I said, my actual mom being an instance of the second).

This way, your mom just taught us that the usability of Facebook in regards to privacy is downright horrible. I have no idea how your mom (or mine for that matter) will react to Google+, and quite frankly, I think this will be a very controversial issue until real moms start toying with it.

</comment></comment><comment><USER7> Can we cool it with the stupid sexism already? It's absurdly arrogant for Greg Knieriemen to think he knows anything about _my_ mom. I know several moms who are quite a bit more technically competent than "enterprise tech evangelists" are, including one who wrote an operating system for the SDS 940.

<comment><USER8> I don't consider that sexism at all. It's a common term and everybody know's the meaning of it. It's not implying that women are less technically competent than their male counterparts, it's simply a term that's now used to define simplicity.

It reminds me of the South Park episode that circled around the word "fag". While it originally was a derogatory term used towards homosexuals, thats generally no longer the way it's used. I know myself, and many many others that occasionally drop the "fag" word and don't mean it as a negative connotation towards a homosexual. The same can be said for "so simple your mom could use it". The sex of the subject has very _very_ little to do with the message being portrayed.

I personally think, if anything, people need to start being less sensitive to this type of stuff.

<comment><USER7> > I don't consider that sexism at all.

There is no attribute that mothers have in common other than being female.

> It reminds me of the South Park episode that circled around the word "fag".

It reminds me of when I moved to South Dakota, and I learned that negotiating for a lower price was called "jewing you down". Doesn't mean the people had anti-Semitic beliefs; they just used a vicious ethnic slur in their everyday speech because they were used to it.

> and don't mean it as a negative connotation towards a homosexual.

Son, I reckon before you start using them big five-dollar words you oughtta learn what they mean.

</comment></comment></comment><comment><USER9> It's all about quality and ease these days.

Facebook is SD and Google+ is HD.

It's a nicer experience viewing albums, and in general it's easier to find things.

Set your grandma up with a circle of her grandkids, so every-time a new picture of them is uploaded, she can see it.

I can see it working nicely. Remember, this is still a beta.

</comment><comment><USER10> Even if your parents did get on Google+ you'll put them on a different circle from your college friends. Problem solved.

That's the brilliance of GPlus

</comment><comment><USER11> My parents both like the idea of it greatly and complain about FarmVille all of the time. My dad got signed up and signed in and posted to me within 10 minutes of me inviting him.</comment>


Why We Don't Negotiate Salary and Neither Should You - <AUTHOR> http://magoosh.com/blog/why-we-dont-negotiate-salary/

<comment><USER2> I don't understand...does this mean that one should negotiate for a higher compensation instead of salary?

If not...why not negotiate for higher pay in a profit oriented industry? Yes you build value and make the world better, but it isn't charity.

</comment><comment><USER3> A person's ability and willingness to negotiate can tell you a lot about their personality.</comment>


Crypto Hedge Fund Manager Shares Investment Strategy - <AUTHOR> https://www.forbes.com/sites/kevinharris/2017/12/01/crypto-hedge-fund-manager-steindorff-shares-investment-strategy/#39a4cb1f4abe <comment><USER2> >Steindorff:

Digital assets are an entirely new and unique asset class that can't be evaluated using the same frameworks used to value traditional investments.

Yeah, this is bullshit.

What he is not admitting is that he has no idea how to value it nor does anyone else.( Exponential growth is not easy to model. Closest thing or people who are able to model it are quants who may use a jump diffusion process.

They currently use that to model/price options.

> jump diffusion model, introduced in 1976 by Robert Merton, is a model for > stock price behavior that incorporates small day-to-day "diffusive" > movements together with larger, randomly occurring "jumps". The inclusion of > jumps allows for more realistic "crash" scenarios and means that the > standard dynamic replication hedging approach of the standard Black-Scholes > model no longer works. This causes option prices to increase compared to the > Black-Scholes model and to depend on the risk aversion of investors. This > Demonstration explores how the price of European call and put options varies > with the jump diffusion model > parameters.[1]([http://demonstrations.wolfram.com/OptionPricesInMertonsJumpD...](http://demonstrations.wolfram.com/OptionPricesInMertonsJumpDiffusionModel/))

How do you honestly say that this is a new asset class?Currency has been around for centuries. The difference is their hasn't been a currency with daily moves averaging +-10%.

I do not know if that's stable enough to be a currency.</comment>


Is this the worst date format ever? - <AUTHOR> https://andrewducker.dreamwidth.org/3590711.html <comment><USER2> According to doc/csv.texinfo:

      It is stored in the format used by the ISO C asctime()
      function (for example, @samp{Sun Apr  7 01:29:26 1996}).

For more fun, doc/cvs.texinfo also says:

      One more note: In output, CVS should consistently
      use one date format, and that format should be one that
      it accepts in input as well.  The former isn't
      really true (see survey below), and I'm not
      sure that either of those formats is accepted in
      input.

       cvs log
        current 1996/01/02 13:45:31
        Internet 02 Jan 1996 13:45:31 UT
        ISO 1996-01-02 13:45:31
      cvs ann
        current 02-Jan-96
        Internet-like 02 Jan 96
        ISO 96-01-02
      cvs status
        current Tue Jun 11 02:54:53 1996
        Internet [Tue,] 11 Jun 1996 02:54:53
        ISO 1996-06-11 02:54:53
        note: date possibly should be omitted entirely for
        other reasons.
      cvs editors
        current Tue Jun 11 02:54:53 1996 GMT
      cvs history
        current 06/11 02:54 +0000
      any others?</comment>


Show HN: A minimal FFT code - <AUTHOR> http://lambdaway.free.fr/lambdaspeech/?view=zorg <comment><USER2> I wrote an implementation of FFT based on a few choices that people may find useful. It is at:

[https://github.com/gregfjohnson/fft](https://github.com/gregfjohnson/fft)

It is not the fastest or most full-featured, but it does have a few useful features. 1 - written in C, small, self-contained, trivial to download and build. 2 - uses mixed radix implementation, so data files with length other than powers of two work ok, depending on the largest prime factor of the length of the input. 3 - input and output formats either real scalar, rectangular, or polar complex values. 4 - convenient to use with other shell commands; works with pipes or files.

I am super-thankful for open source and all of the dedicated contributors out there, and want to give back however I can!

<comment><AUTHOR> Thank you :)

</comment></comment><comment><USER3> A lisp implementation is cute and can be a nice teaching aid but is slower than desirable for practical applications.

What I would really like to see is a reasonably short (small code size) but reasonably optimized (for an arbitrary machine that might run a browser) Web Assembly implementation of a power-of-2 FFT, possibly compiled down from another language, e.g. C or Rust. Throw in an implementation of Bluestein's non-power-of-2 FFT for bonus points.

The existing Javascript implementations I have seen are much slower than they could be if a serious expert took a crack at it, while the existing compiled- to-Javascript or -wasm implementations weren't originally designed with the web as a target, and tend to be bloated monsters.

<comment><USER4> have you seen this? I am not an expert in ffts so maybe it could be improved but it is impressively fast in my experience (also very readable) : [https://github.com/corbanbrook/dsp.js/blob/master/dsp.js](https://github.com/corbanbrook/dsp.js/blob/master/dsp.js)

</comment></comment><comment><USER5> I'm familiar with most functional languages. This post was in a language with slightly unusual syntax. Still, I found what this is written in to be surprisingly quite readable.

It turns out it is {lambda talk}, a simple functional language for the site. [0]

[0] [http://lambdaway.free.fr/lambdaspeech/?view=start](http://lambdaway.free.fr/lambdaspeech/?view=start)

<comment><USER6> The syntax kind of looks like Scheme to me.

<comment><AUTHOR> Yes, it's a translation of [https://www.physik.uzh.ch/~psaha/mus/fourlisp.php](https://www.physik.uzh.ch/~psaha/mus/fourlisp.php)

</comment></comment></comment><comment><USER7> FFT's were very difficult for me to understand (and still are). The graphic at the top is actually a very good way to show what a practical FFT does. I wish I had it back when I first started trying to understand them.

<comment><USER8> That's a good visualization. I also like this one[0], where the spinning rate of each radius is fixed, and the FFT's job is to find the size of each radius. Another great one is imagining the DFT matrix (which is unitary) as a change of basis.

[0]: [https://www.youtube.com/watch?v=k8FXF1KjzY0](https://www.youtube.com/watch?v=k8FXF1KjzY0)

<comment><USER9> I like this one by 3Blue1Brown: [https://youtu.be/spUNpyF58BY](https://youtu.be/spUNpyF58BY)

</comment></comment></comment><comment><USER10> Would be cool if it shows code in most common programming languages

<comment><USER11> The code is mostly equivalent to the recursive form found in the wikipedia article on the cooley-tukey algorithm. This is a good one to learn from, as its not only a simple formulation but it forms the basis of modern optimised FFTs such as FFTW (source[1], from the authors of FFTW).

As an aside, I also find the non-recursive, breadth-first, form easy to derive thru a process of code transformations of the depth-first form; explanations that start breadth-first are somewhat bewildering

[1] [https://cnx.org/contents/ulXtQbN7@15/Implementing-FFTs-in- Pr...](https://cnx.org/contents/ulXtQbN7@15/Implementing-FFTs-in-Practice)

<comment><AUTHOR> "The code is mostly equivalent to the recursive form found in the wikipedia article on the cooley-tukey algorithm" I don't think so. A JS translation of the code shown in wikipedia can be seen in [http://lambdaway.free.fr/lambdaspeech/?view=lispology](http://lambdaway.free.fr/lambdaspeech/?view=lispology).

<comment><USER11> You copy rather than use strided accesses. It's the same algorithm.

<comment><AUTHOR> " You copy rather than use strided accesses. " I don't understand "strided accesses". « Plagiarism is stealing, copying is create. » I just translated the code in the lambdatalk language and added missing examples, something that I consider mandatory.

<comment><USER11> Sorry, I'm not accusing you of anything. By strided accesses I mean when you access elements of an array sequentially using some step size. Think loops with `i += stride` instead of `i++`. In the wikipedia pseudocode this is done implicitly using the 's' parameter. Notice that, in the version you implemented, you split the input into even and odd parts explicitly; you can achieve the same end by accessing the input array in a certain order as you are performing the mathematical operations. This is what the wikipedia pseudocode does. If you've seen other versions of the FFT with a bit reversal step, this is also where that comes in.

Check this out (javascript):

      function permute1(x) {
          if (x.length == 1) return x;
          let even = [];
          let odd = [];
          for (let i = 0; i < x.length; i += 2) {
               even[i / 2] = x[i];
               odd[i / 2] = x[i + 1];
          }
          return [].concat(permute1(even), permute1(odd));
      }

      function permute2(x, offset, stride) {
          if (!offset) offset = 0;
          if (!stride) stride = 1;
          if (stride >= x.length) return [x[offset]];
          return [].concat(permute2(x, offset, stride * 2), permute2(x, offset + stride, stride * 2));
      }

      function permute3(x) {
          let result = [];
          for (let i = 0; i < x.length; i++) {
              let k = i;
              // pretend 32-bit ints
              k = ((k >> 1) & 0x55555555) | ((k & 0x55555555) << 1);
              k = ((k >> 2) & 0x33333333) | ((k & 0x33333333) << 2);
              k = ((k >> 4) & 0x0F0F0F0F) | ((k & 0x0F0F0F0F) << 4);
              k = ((k >> 8) & 0x00FF00FF) | ((k & 0x00FF00FF) << 8);
              k = ( k >> 16             ) | ( k               << 16);
              k = k >> (64 - Math.log2(x.length));
              if (k < 0) k += x.length; // fix up due to signed ints
              result[i] = x[k];
          }
          return result;
      }

For arrays with power of two sizes, these perform the same permutation (but fail differently for non power of two sizes). Note that, with permute1, we effectively iterate over the entire input log2(n) times, so this is an O(nlogn) algorithm!

edit: also, i think i may have misunderstood the relationship between your js version and your lambdatalk version. They seem to be the same to me?

<comment><AUTHOR> Thank you for your clever code. This morning I improved a little the JS code in [http://lambdaway.free.fr/lambdaspeech/index.php?view=lispolo...](http://lambdaway.free.fr/lambdaspeech/index.php?view=lispology) and I plan to learn, understand and insert your code in the fft() function.

Yes there is a relationship between the JS version and its translation into lambdatalk. My project is to replace the array based version by a list based version so that I can replace in this page [http://lambdaway.free.fr/lambdaspeech/?view=PLR](http://lambdaway.free.fr/lambdaspeech/?view=PLR) the inefficient unary numeration based implementation of numbers (using standard Church numbers or just lists) by a decimal position numeration. Standard multiplication of words seen as polynoms being O(n^2) I need to go further and implement fast multiplication. So my interest in FFT.

As you could see in [http://lambdaway.free.fr/lambdaspeech/meca/JS.js](http://lambdaway.free.fr/lambdaspeech/meca/JS.js), the lambdatalk's interpreter is a regular expression window running on the code (not an AST) and replacing in situ expressions by their values. A kind of Turing machine. I like the idea of overcoming limits of JS numbers using nothing but words and simple substitutions on words.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Can I declare varchar like this in an SQL Column? - <AUTHOR>

Hey,
I may be totally wrong here because i'm only a junior and not too sure but I was certain that the maximum varchar() that could be set was 255 varchar(255).
However, i'm working on a database at the moment which was developed by another team and they have varchar(9999).
Is that right? I have had a quick Google but can't find it.
Cheers for advice in advance folks :) <comment><USER3> No database has a limit of 255 characters. Varchar limits are; MySQL - 65,535. MS SQL Server 2005 - 8000 (or 2GB if you use varchar(max) ). Oracle 9i - <USER2>

These are not character limits. They're byte limits. If you're storing multibyte strings (eg unicode-16, emoji, etc) then each character will take up more than one 'space'.

But really, asking on HN? This is what StackOverflow is for.

<comment><USER4> The OP is not as wrong as you suggest. Prior to MySQL 5.0.3, varchar was limited to 255 bytes. Also, there is a maximum row length for all columns which is 65,535 bytes, so the practical maximum size for a varchar column is less, unless it's the only column in the table.

<comment><AUTHOR> Thanks for the reply - Very Useful

</comment></comment></comment><comment><USER5> You should post this question to stackoverflow.com

<comment><AUTHOR> I thought about that but SO is usually for more detailed questions etc. I have seen similar questions like this be put on hold and slated by the users. However, the above posters have answered my questions :)

<comment><USER5> That´s usually the case if you post poorly written questions, both in content and form, to SO. This is actually a good thing for you, as it forces you to think harder about the problem.

And don´t be afraid of SO users. They are there to help and some slating from time to time is good for your soul :)</comment></comment></comment>