Google's Secret China Project Sparks Fury Among Workers - <AUTHOR> https://www.bloomberg.com/news/articles/2018-08-02/pichai-the-pragmatic-plows-into-china-and-google-workers-fume <comment><USER2> Why is it unethical to launch a censored search product in China?

The alternative isn't to launch an uncensored search product. That's not possible. The alternative is simply to not be there.

How do the Chinese benefit from that?

It seems to me that the presence of any international company could only act as a wedge to gradually loosen censorship controls over time.

If Google is more restrictive than other search engines, this does not do any harm, since the other options still provide the less restricted results, meaning the exact same amount of information that is currently available to people in China will continue to be available, and will not be affected by Google's entry.

If Google is less restrictive, well then that's a win for the Chinese people.

This means that the entry of any search engine into China, restricted or not, is at worst neutral and at best good for the Chinese.

<comment><USER3> It is unethical because it normalises the worst kind of censorship, the one that is meant to keep illegitimate rulers in power. This is not like other types of censorship that can be criticised and overturned by democratic means, but Google will now conflate the two to justify its actions.

Google not being in China has been a very prominent sign that this is not normal, that the Chinese regime does not speak for the Chinese people and therefore their laws have no legitimacy at all.

Google not being in China has been an ever present pointer towards the fact that Chinese search enginges do not tell the truth.

It is also unethical because Google can now be blackmailed by the Chinese regime, which will affect Google's behaviour towards its users in the rest of the world. This isn't just an ethical concern but also a very pragmatic one.

<comment><USER2> Thanks, this is a good argument.

Being from the western world, it is very clear to me what Google's absence from China signifies.

Given that China censors its media, do you think the Chinese citizenry are aware at all about Google's position up to this point, or its symbolism?

It seems to me that the Chinese would not be influenced by Google's absence or presence, since the reasoning is the kind of thing that would already be censored.

<comment><USER3> I don't know to what extent the Chinese people are aware of it or what range of feelings it provokes.

But the fact that Google isn't there and that Google is almost everywhere else cannot be censored.

At the very least it is (or rather was) an unresolved issue, an open question and the regime doesn't like open questions about its legitimacy.

I think that's important, not just for China itself but also for the rest of the world.

<comment><USER2> Can't it be censored, though? Isn't that the point? And if it can't be, what are we arguing about?

Somebody told me once that they met a person from mainland China. They showed them a picture of the Tank Man and asked them about Tiananmen Square. The person was dumbfounded and did not know what they were talking about. They tried to say "this is important to you!," but clearly it wasn't, and censorship had worked. This person would have needed much more than a trip overseas to have any interest in it.

I'm not sure why the Google story would be any different. Its symbolic to us because not only are we able to access it, but we go out of our way to make a big deal about it and study it. The fact that this information is available to Chinese citizens when they temporarily leave their country is not enough for it to become important to them.

The symbolism is important to us as westerners. But given that it is meaningless to the Chinese, I question whether trying to preserve that symbolism for ourselves outweighs the benefits that come from working with the Chinese people and providing them with a good product inside of a system that we mutually agree is terrible.

<comment><USER3> _> Can't it be censored, though? Isn't that the point? And if it can't be, what are we arguing about?_

I don't know what you're getting at. Explicit criticism of the regime can be censored. Questions raised implicitly by the fact that foreign services are blocked cannot be censored. They remain a thorn in the side of undemocratic regimes.

 _> I question whether trying to preserve that symbolism for ourselves outweighs the benefits [...]_

I know you do, and I strongly disagree.

The benefits of yet another censored search engine, email program or photo app does not outweigh the damage that Google is doing to democracy all over the world by legitimising this particular sort of censorship.

Also, you keep going on about your doubts about the value of that symbolism for the Chinese people. But what about the value of that symbolism for the rest of us who want to live in democratic societies and see democracy strengthened and not weakened?

</comment></comment></comment></comment></comment></comment><comment><USER4> Google got an edge in hiring when they deployed their "don't be evil" mantra, but the long-term result is a workforce that's leaning heavily left and in many ways dictates what the company can or must do. And I doubt they can ever undo this - hiring is performed by the people already on the inside.

<comment><USER5> so... you're saying google is missing out on employees that are attracted to evil?

that is what you are saying isn't it?

<comment><USER6> I think he's saying that corporate ambitions are now dealing with googles legacy values.

I'd say this is a good thing

</comment></comment></comment><comment><USER7> Is this because of the leadership of Sundar Pichai? It seems as though he might have good plans on making more revenue, but it flies in the face of the expectations of his employees. Does this bode poorly for him as CEO if his employees are openly rebelling against these high-profile projects such as this and the drone AI project?

</comment><comment><USER8> So first it's the US military projects and now it's bending the knee to the eye of Sauron. Is Larry losing his touch here?

<comment><USER9> No, it is money speaking, "do no evil" was marketing for the coffee shop developers that hate Microsoft and needed an hero.

</comment></comment><comment><USER10> I am proud of those Google employees who've taken a stand against the unethical practices of their employer.

This world would be a much better place if more people did that rather than looking the other way and acting as mercenaries for the highest bidder.

<comment><USER11> I don't know if I would be proud.

It is very easy to be morally outraged for something that everyone in the West already agrees with. At this point it is almost a way to display a morale high ground.

I would rather see morale outrage on more subtle subject such as the digital addiction that Youtube etc creates, literally destroying lifes. [1]

[1] [https://www.wired.com/story/our-minds-have-been-hijacked- by-...](https://www.wired.com/story/our-minds-have-been-hijacked-by-our- phones-tristan-harris-wants-to-rescue-them/)

<comment><USER12> Oppression destroys more lives than an addictive freedom.

<comment><USER11> One clear government oppression versus a new "hidden" oppression.

In the long term I'm not so sure that your statement will stand.

<comment><USER12> How is a choice a "hidden" oppression? I can see an argument for algorithms suppressing certain world views being a problem...but as just a stand alone choice, that is not real oppression. If you think it is, you've probably never lived in an oppressive country. China is essentially stack ranking citizens for access to certain rights and you're concerned about people's viewing habits. We've gone generations of people claiming the same things about radio, TV, music, etc. In the end those were replaced or the next generation wasn't as attached...actual oppression is sticky.

<comment><USER13> Is it a choice if that things goes to great lengths to take advantage of you by manipulating known triggers in your human behavior? Some people don't have the will to choose, that's addiction.

</comment></comment></comment></comment></comment></comment><comment><USER14> Well, Microsoft Bing has been in China for a long time and nobody says anything about that....

It's inevitable. Consumers will continue to use google because they aren't aware of the alternatives, so it'll be a minority that uses other browsers in a silent protest.

I'm sure a Wesrern version of the great firewall will be built soon

</comment><comment><USER15> Not unexpected with all the restrictions on data collection being put in place in the West. Google needs the data for its ai. China is more open to data collection as long as it is shared with the government.

</comment><comment><USER16> What do we (we being the west) want to actually happen in China? Presumably we want a dramatic liberalization across political, economic, and civil liberties. So how might western multinationals help effect this?

One theory is that western multi-nats such as Google or Apple withdraw from China, isolating it and forcing the CCP to liberalize (or a revolution). But Apple and Google are small players in China so this would require a much larger coordinated effort.

A second theory is that western multi-nats can partially participate in the PRC economy, attempting to balance state demands against ethical responsibilities. Their products, while still censored, nevertheless increase the availability of the Internet, strong privacy tools, etc relative to Chinese domestic offerings. The result is a more informed Chinese citizenry which can in turn pressure the CCP to liberalize.

I suppose the risk of #2 is that it provides cover and legitimacy to the CCP, so it might increase their power. Nevertheless it seems to me that #2 has a better chance of working.

<comment><USER17> #2 has been in action for decades, and they haven't moved an inch. The only result has been a much stronger CCP and china.

</comment></comment><comment><USER18> Does anyone else think that Google should release major policy changes to the people that work there before the Press?

</comment><comment><USER19> As easy as it is to say that it's not google place to judge China government, what concerns me most is the precedent that this will create. I am pretty sure there will be a line of governments wanting to do the same and google will end up with censorship as a service product.

</comment><comment><USER20> This is one of the real reasons that tech workers need something like a union. If we want to take responsibility for our work, and hold the corporations we work for the those values, then we'll need the power of collective bargaining.

<comment><USER21> This is not the role of unions at all, actually -- they aren't a tool to allow a skilled professionals to undertake political action and make decisions for everyone else.

That's what political parties are for.

<comment><USER20> Unions aren't for exercising the political will of workers? What is it that the labor movement has achieved then? What did the strikes achieve? If not forcing those in control of the company to take seriously the demands of workers, then what else is a union for?

<comment><USER22> Safe working conditions and better wages?

<comment><USER20> And are those not political goals? Many of the victories of the unions was getting those things enshrined in law. Our labor laws were not simply voted in, people had to struggle for them.

</comment></comment></comment></comment></comment><comment><USER23> So much for Silicon Valley corporations and their "culture" and founding myths.

I guess people don't even remember that Google once you used to have an informal mantra of "Don't be evil."

<comment><USER11> The way I see it, it is mainly Koolaid and a narrative told to the young influenceable techies so they feel invested with a mission, and perform better.

</comment></comment><comment><USER24> Google employees having issues with Google being unethical... Really????

The ones objecting to this must have godlike powers of selective perception.

<comment><USER25> It's actually a feature called personalized perception to give more relevancy. I believe it can be disabled in the settings. /s</comment></comment>


Dan Martell – Raising Capital Like a Pro - <AUTHOR>

Dan Martell has raised millions for his startups from big named investors including Mark Cuban.
Watch the video here: http://youtu.be/7dew9hhWBB4
There is limited time availability on this.  The link expires in two weeks.  Dan is putting this out there only until 12-26-14 when he's removing the video. <comment><USER2> Great stuff!</comment>


Ask HN: How can we teach our CTO to understand his new role? - <AUTHOR> Hey everyone, I've been working with a guy who has been a solo developer for most of his life and owned his own company. After a merger, he is now the CTO of a company with an existing developer team.
The struggle we are facing now:
- He is not responsive at all, neither via chat, nor email, nor any other communication tool. So we often have to write him via chat "Please look at this PR, I left some comments" etc...
- He doesn't know how to delegate and often says "I'll do it" but then it takes weeks to finish
- He has thousands of unread emails in his inbox
- When he writes tickets, the details are often unclear and hard to follow for other developers
- He codes way too much for a CTO, in my opinion, and his code is a bit messy compared to the other developers
Since he is a really nice person, we all want to give him feedback that makes him understand his role better, and to become more efficient and avoid being a bottleneck.
Has anyone struggled with this in the past, and found a solution, or at least a way to see small, but steady improvements? I know that changing another person is one of the hardest things one can attempt to do, but at the same time I know that he is motivated to become a good CTO, but currently just doesn't know how yet. <comment><USER2> More important, what does his boss think about his job performance. You seem to be complaining that your CTO is not a developer. Which, in general, he should not be.

<comment><AUTHOR> I think he knows that he is not performing well. But he also says he does not want to give up coding, because then he would "lose something"

</comment></comment><comment><USER3> in my opinion, there's so much thing to do when you are a CTO, especially when your team are not yet mature enough. it is possibly the case for your team, however, please help him (or get someone to help him) by assigning task in order to make him realize that this is actually his job -more important than coding-</comment>


Ask HN: Why is blockchain not used for digital authorization? - <AUTHOR> Blockchain seems to be ideally suited for digital signing, what is the reason it is not getting adopted for identity management? <comment><USER2> EmerCoin is focusing on a similar space. I think you might be interested in [http://emercoin.com/EMCSSL](http://emercoin.com/EMCSSL)

I personally use [http://emercoin.com/EMCSSH](http://emercoin.com/EMCSSH) to manage team access to servers.

</comment><comment><USER3> Because it costs money, most people don't have BTC, and the tools are unfriendly.</comment>


Justin.tv suggestion:  one channel that gives the most interesting video among all other channels in (near) real-time - <AUTHOR>

<comment><USER2> We're hard at work behind the scenes here at JTV. You'll be seeing stuff like this, and much more, very soon.

<comment><AUTHOR> Looking forward to seeing the new features!

In case you are interested, other posts on justin.tv:

<http://news.ycombinator.com/item?id=11679>

<http://news.ycombinator.com/item?id=32799>

<http://news.ycombinator.com/item?id=32794>

<http://news.ycombinator.com/item?id=25667>

<http://news.ycombinator.com/item?id=23508>

<http://news.ycombinator.com/item?id=10964>

<http://news.ycombinator.com/item?id=10028>

<http://news.ycombinator.com/item?id=5085>

</comment></comment><comment><AUTHOR> An obvious way to do this would be to see what sort of viewer feedback you are getting on each of those other channels.

You could show this combined channel at all times along with the currently selected channel.</comment>


Deepfakes are becoming a hot new corporate training tool - <AUTHOR> https://www.wired.com/story/covid-drives-real-businesses-deepfake-technology/ <comment><USER2> Summary:

Two companies are profiled, Synthesia and Rosebud, that specialize in Machine Learning-supported video alteration.

They help their customers build videos where:

\- The speaker uses different languages than the source recording

\- Human avatars are generated from model captures, and these avatars will "read" scripts, without needing to put said human in front of the camera again.

\- Current use is for PSAs, marketing videos, and training materials.</comment>


Tonsky's thoughts on where the real-time web is headed - <AUTHOR> https://www.nonforum.com/?nfid=9173 <comment><USER2> Login required. Is there another way to see the content?</comment>


Release Notes for Safari Technology Preview 73 – WebKit - <AUTHOR> https://webkit.org/blog/8555/release-notes-for-safari-technology-preview-73/ <comment><USER2> I understand webView will be completely re-written for for 10.15 Does anyone know if the absence of webView.scrollView for macOS will be corrected?</comment>


Google is hot; Apple is not. Ladies and gentlemen, we've entered bizarro world - <AUTHOR> http://pandodaily.com/2013/06/05/google-is-hot-apple-is-not-ladies-and-gentlemen-weve-entered-bizarro-world/

<comment><USER3> Google now is in the position the MS was in the early to mid - 90s - when the company interests align well with what is good for the society.

Microsoft wanted to sell a lot of windows and office licences so it had to put PC in every home. That was also good for the consumers.

Google wants people to consume more bandwidth - so we have Kansas experiment, google want superior web browsing on par with native - we got Chrome - <USER2> showed people how fast a browser and fluid a site can be - and it gave serious ammunition in the war against apps. Same is with android.

Google want people to create and consume more information freely as long as your gateway is google.</comment>


You Probably Won't Remember Today - <AUTHOR> http://blog.bucketlistly.com/post/51228849821/you-probably-wont-remember-today <comment><USER2> I started a new job only six months ago and it feels like I have been there for more than a year already! Probably all the new experiences: 2 international trips and one domestic and lots and lots of learning</comment>


Beautiful Tools - <AUTHOR> http://www.mahdiyusuf.com/post/24784023641/beautiful-tools#tmux

<comment><USER2> why i stick with bash: `scp .bash_profile new_host:`

done. all my comfort and helpers and aliases are on the new host.

with zsh, i'd have to hope the host i'm logging into have zsh support to begin with. then i'd have to install extensions and what not... thanks. no. too much work.

if you ever only work on one box, go crazy.

this is also the reason my .vimrc file is huge and i keep improving it. copy along with your bashrc and you feel at home anywhere. I avoid even vim extensions that can't be added to vimrc as scripts.

<comment><USER3> I can copy my zsh config neary as simple as you to a new server. But i dont need to, because my ~ is under VCS and i just clone it to every server.

But OTH, i dont need zsh. I feel very comfortable within a bash. But, why not. ZSH is awesome.

<comment><USER4> Isn't zsh mostly a superset of bash unless you're just going nuts on both ends any how?

</comment></comment></comment><comment><USER5> Those videos seem completely pointless.

I use bash, and can customise my prompt to show my current working directory, and the current github branch - and it's trivial to do.

I use screen a _lot_ , and I can flick between different screen windows to do any task required just as easily and he can. It also, I believe supports split panes, but I haven't found the need to use them myself yet, as I use iTerm2 which is perfectly fine for that in itself.

</comment><comment><USER6> google cache: [http://webcache.googleusercontent.com/search?q=cache:YgVVztl...](http://webcache.googleusercontent.com/search?q=cache:YgVVztlHlgUJ:www.mahdiyusuf.com/post/24784023641/beautiful- tools+&cd=1&hl=en&ct=clnk&gl=us)

tl;dr

Use zsh, oh-my-zsh, and tmux.

</comment><comment><USER7> "Service is temporarily unavailable. Our engineers are working quickly to resolve the issue."

</comment><comment><USER8> Was published on The Tech Block a while ago: <http://thetechblock.com/beautiful-tools/></comment>


AT&T Adds New $0.61 Monthly Administrative Fee To Wireless Customers' Bills - <AUTHOR> http://consumerist.com/2013/05/24/surprise-att-adds-new-0-61-monthly-administrative-fee-to-wireless-customers-bills/

<comment><USER2> On Reddit, a comment explaining how you can purportedly cancel your account without incurring early termination fees: [http://www.reddit.com/r/technology/comments/1ewszk/att_just_...](http://www.reddit.com/r/technology/comments/1ewszk/att_just_added_a_061_monthly_fee_to_postpaid/ca4mgcb)</comment>


PE Fund for Litigation - <AUTHOR> http://www.iddmagazine.com/news/calunius-raising-pe-fund-for-litigation-201262-1.html

<comment><USER2> It must be an odd feeling for writers like Cory Doctorow to watch their fictional worlds become true right before their eyes.

<comment><USER3> Just curious, in what piece of writing did Doctorow predict this? I'd like to read it.

<comment><USER2> "Makers" <http://craphound.com/makers/>

I won't go into the details. It would stray far into spoiler territory.

Although, the idea actually appeared a few years ago in one of his earlier works that "Makers" is based largely on.

</comment></comment></comment><comment><USER4> the final sentence says (in part):

> According to The Lawyer, The Judge also served as a broker, [...]

which seems very odd to me. how can a judge have a financial involvement in the case? have i misunderstood? is "the judge" not an actual judge, but a company called "the judge" or similar (the capitalisation suggests something along those lines)?

<comment><USER5> "The Judge" is the name of a fairly large ATE litigation insurance company.

</comment></comment><comment><USER6> If it's not illegal yet I hope it is soon.

<comment><USER7> Is this a reasonable vehicle for entities that simply would not otherwise have the funds to engage in legitimate litigation against an well-funded adversary?

That said, there seems to be an inherent unfairness in a system where the opponent with the largest coffers wins, and your only reasonable option as a litigant is to find an equally capable financer to invest in your redress of grievances.

<comment><USER2> Ahh, you see, somewhere along the line it stopped being at all about the redress of grievances.</comment></comment></comment>


Conway's Webcam of Life - <AUTHOR> https://conway.nathanwillson.com/ <comment><USER2> I work with Nathan and he showed me this the other day. Nice to see it here. Make sure to to check out the code and write-up if you're interested.

</comment><comment><USER3> The default edge detection thresholds outline my beard perfectly.

<comment><AUTHOR> 🧔

</comment></comment><comment><USER4> This is awesome! I love small well-done projects like this.

<comment><AUTHOR> Thanks!</comment></comment>


The Single Biggest Mistake Programmers Make Every Day - <AUTHOR> https://medium.com/javascript-scene/the-single-biggest-mistake-programmers-make-every-day-62366b432308 <comment><USER2> Nice Read... Makes a lot of good points, Now if I could only get my Dev teams to do something resembling good content....</comment>


Market Maturity (1997) - <AUTHOR> http://www.uie.com/articles/market_maturity/

<comment><USER2> I think there is a stage 5 now:

An Open Source project becomes good enough and takes over the market. Because the price of the Open Source product is zero you cannot compete with proprietary software. Additionally your software introduces licensing overhead. You have to move your product significantly forward or move on to other markets. This happened e.g. to the application server market. And at some point in the future it will happen to the office suite as well.

<comment><USER3> Isn't that the end of stage 4? The price diminishes until it reaches 0.</comment></comment>


Air-filtering bus to launch across six regions in the UK - <AUTHOR> https://www.theguardian.com/global/2020/jan/24/air-filtering-bus-to-launch-across-six-regions-in-the-uk <comment><USER2> "the bus removed approximately 65g of pollutants from the air and cleaned 3.2 million cubic metres of the city's air."

This sounded surprisingly low to me, at 20µg/m³ removed, so I went looking for more info. It seems correct:

"Typical urban atmospheric loadings of PM range from tens to hundreds of µg m⁻³ for PM10. For a city such as London, a mean mass concentration for PM10 of the order of 30 µg m⁻³ might be observed; considering the area of Greater London (ca. 400 km² ) and assuming a 1 km boundary layer height, this equates to around 12 tonnes of material suspended above the city." \-- [https://www.rsc.org/images/environmental-brief- no-4-2014_tcm...](https://www.rsc.org/images/environmental-brief- no-4-2014_tcm18-237725.pdf)

Comparison of PM10 for highly polluted European cities here: [https://www.london.gov.uk/sites/default/files/comparison_of_...](https://www.london.gov.uk/sites/default/files/comparison_of_air_quality_in_world_cities_study_final.pdf)

"Go-Ahead's estimates show that the expanded fleet could remove as much as 1.25kg of PM10 from the air every year. If the air-filter was deployed on 2,500 buses across the UK, it could remove as much as 588kg of PM10 particles every year. In parallel, Bluestar has been fitting solar panels to buses, with a total of 19 vehicles to have them in place by the end of July. When five further buses are fitted with air filters, one of them will have a solar panel as well. This will enable a trial later this year to see whether solar energy can be used to make the air filter completely self-sufficient." \-- [https://www.bluestarbus.co.uk/air-filtering-bus-trial- succes...](https://www.bluestarbus.co.uk/air-filtering-bus-trial-success).

<comment><USER3> Which goes to show you're far better off filtering at source while pollutants are at very high concentrations. Far better than trying to remove it when it's down to a few tens of µg / m⁻³.

A damn sight more efficient, and no doubt far cheaper too.

Which rather shows up filtering buses as a lovely bit of greenwashing to avoid mentioning lack of adequate UK regulation. Regulation requiring all polluters filter PM10 and PM2.5 at source -- chimney or tailpipe -- wouldn't be as much of a story, but would actually achieve something worthwhile.

</comment></comment><comment><USER4> It's interesting to note that the 65g was removed from the air over 9000 miles, which averages to particulate matter being produced at a rate of about 0.0045g/km. However, the parent article suggests that the buses have engines that conform to the Euro 6 standard, which according to Wikipedia[0] allows for up to 0.01g/kWh of particulate emission for heavy duty diesel engines in trucks and buses (0.0045g/km for all other categories). Given that [1] suggests energy consumption levels of around 2-5 kWh/km depending on powertrain type, it looks like the bus produces upwards of 5-10x the amount of pollution it actually cleans up.

So overall it looks like it would be more appropriate to market these buses as having a lower contribution to particulate matter pollution rather than actually cleaning up the air. Here's hoping that these buses actually transport people...

[0] [https://en.wikipedia.org/wiki/European_emission_standards](https://en.wikipedia.org/wiki/European_emission_standards)

[1] [http://tf.llu.lv/conference/proceedings2015/Papers/060_Graur...](http://tf.llu.lv/conference/proceedings2015/Papers/060_Graurs.pdf)

</comment><comment><USER5> Did the tests determine if this effort actually improved ambient air quality, or just that the filters worked?

</comment><comment><USER6> Interesting. But they did not say if the bus actually removed more pollutants than it creates on its own. As cars (and busses) do have some serious wear and tear on wheels and breaks.

> According to tests, audited by manufacturer Pall, and being assessed by the > University of Southampton, the bus removed approximately 65g of pollutants > from the air and cleaned 3.2 million cubic metres of the city's air.

<comment><USER7> '...and being assessed by the University of Southampton'

It's ironic that Southampton is a city full of buses that often seem to be empty and creating chaos on roads never designed to accommodate them?

<comment><USER8> Hopefully Southampton can get it's shore power[0] sorted, the cruise ships idling are more a pollution problem than the busses.

[0] [https://www.bbc.co.uk/news/uk-england- hampshire-50562113](https://www.bbc.co.uk/news/uk-england-hampshire-50562113)

</comment></comment></comment><comment><USER9> Surely vacuuming the streets would remove more particles that would get airbourne.

This method uses a lot of fuel to filter outside air. Compared to a office that pumps the air through it anyway. Seems like expensive spin atm.</comment>


SolarCity: Tesla's Solar Boondoggle - <AUTHOR> https://www.fool.com/investing/2017/10/18/solarcity-teslas-solar-boondoggle.aspx <comment><USER2> I have a feeling Tesla could be this generation's DeLorean....</comment>


Stasi vs NSA: A comparison of data storage - <AUTHOR> http://apps.opendatacity.de/stasi-vs-nsa/english.html <comment><USER2> This is as useful as comparing the number of bullets the US Army has today with the number of rifles the 1985 Nationale Volksarmee (army of East Germany) had.

<comment><USER3> Why?

<comment><USER2> The article compares the hypothetical amount of data to be stored in a NSA data center to the records storage area of the Stasi.

That is, a guess at the amount of data one facility of a modern signals intelligence agency (belonging to a super-power) is being compared to the amount of record keeping space a cold war era security agency (belonging to a Soviet client-state) possessed. The two agencies have vastly different missions (state security versus signals intelligence), operated at vastly different scales, and in completely different eras. The two facilities being compared are not at all similar. A large computing facility (probably processing raw data) is being compared to a large library archive (largely storing files and documents generated by the agency).

No valid conclusions could possibly be drawn from this comparison. The closest we could come to a valid conclusion is; if we printed out 5 zettabytes of data we would have wasted a lot of paper.

Edit: What I'm trying to say is that this is an apple to oranges comparison made across space and time.

<comment><USER4> Different missions? Both have exactly the same mission - keep the current elite in power at any cost.

<comment><USER2> The National Security Agency is a cryptolgic agency tasked with gathering foreign signals intelligence and providing information assurance services to the United States Government (especially the military).

The Ministry for State Security was a secret police / intelligence service tasked with a broad range of powers focused in keeping the party strong as evidenced by their motto "Schild und Schwert der Partei" (Sword and shield of the Party). They were primarily responsible for internal surveillance of people that were deemed enemies of the party and the personal protection of party leaders.

It's pretty clear that a catch all secret police / security intelligence agency is different to a foreign signals intelligence agency.

<comment><USER4> Isn't it obvious that the official task of a totalitarian agency can be different from the actual job it's doing??

<comment><USER2> I am comparing the official missions of the Stasi and NSA which are significantly different.

If your argument is that the NSA is not acting in accordance to its mission, or that abuses are taking place, or that the NSA is acting like the Stasi that's something else entirely, completely separate to what I'm discussing.

I'm pointing out that these are different agencies with different roles and responsibilities, and trying to draw parallels between an NSA data center and a Stasi archive is not really useful.

<comment><USER4> >> that's something else entirely, completely separate to what I'm discussing.

Aha I see. The NSA and Stasi are collecting vast amounts of data on everybody living in their countries. Data that was and will be abused to ruin innocent lives. But you prefer to discuss in this topic something "entirely, completely separate".

<comment><USER2> This is a discussion on an article that compares an NSA data center to the Stasi archives. I chose to discuss how I find that comparison fallacious.

I am arguing that the NSA is not like the Stasi. They had different goals, different authorization, and different modus operandi. You're arguing that the NSA is bad (because they are like the Stasi). Whether the NSA is bad or not is orthogonal to my discussion.

To directly answer your reply:

1\. The Stasi doesn't collect vast amounts of anything any more.

2\. Has the NSA used data to ruin innocent lives? Have you any evidence that they will do so in the future?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> They are comparing information (stasi) with data (NSA).

Thats simply not a very constructive way to look at things.

<comment><USER6> Please explain how you differentiate between those two things.

<comment><USER2> There are a few differing definitions of data and information but in general it goes like this:

Data is a collection of facts.

Information is data after context or analysis is applied.

A database of phone records is data, a report on the people a target has called is information.

<comment><USER5> Exactly!

They are two very different types of surveillance and especially in this context they are un-comparable.

</comment></comment></comment></comment><comment><USER7> I think the "most interesting" piece of data the Stasi stored was personal items with the smell of a person that could be used with dogs.

<comment><USER8> ...you mean RFID passports with fingerprints?

<comment><USER9> I think @kriro is referring to this [http://youtu.be/XX8NxgAtHM8?t=5m10s](http://youtu.be/XX8NxgAtHM8?t=5m10s)

</comment></comment></comment><comment><USER10> Consider the participation rate of the Stasi vs the NSA. Conservative official records put them at about 3% of the population.

<comment><USER11> Consider it from the position of somebody in "upper management".

1\. Technology lets a NSA employee do orders of magnitude more work than a Stasi employee.

2\. Every employee may be a traitor or merely overly ambitious, but gains knowledge of how to evade detection while obtaining privileged information and taking advantage of it as a side-effect of working for you. As your organization grows you have to spend a lot of resources on internal policing.

3\. Fewer employees also means fewer potential whistle-blowers.

Even without budgetary constraints, the NSA is well motivated to employ a much smaller percentage of the population than the Stasi did, assuming they are equally invasive. The ideal they are probably striving for is a completely automated NSA that reports only to the glorious leader.

<comment><USER12> >only to the glorious leader

while glorious leader sounds good too, after watching "Dictator" allow me to correct you - it is "supreme leader". Btw, the supreme leader suggested that US could have been able to spy on its citizens if US were a dictatorship instead of democracy. :)</comment></comment></comment>


A Slack bot that upgrades Trello with daily standup results - <AUTHOR> http://standuply.com <comment><USER2> Tried it out and looks good. The only thing is that it's extremly slow on my computer (mac retina, 8gb, ff last)</comment>


Is Universal Basic Income a Free Lunch? - <AUTHOR> https://ferrucc.io/posts/ubi/ <comment><AUTHOR> Recently Andrew Yang's UBI proposal is got a lot of support, so I decided to try and collect some arguments both in favor and against his proposal.

I hope this starts more discussions around this topic!</comment>


Saltstack has now 3699 open issues - <AUTHOR> https://github.com/saltstack/salt/issues <comment><AUTHOR> ... and I always wonder how healthy an open source project or at least the teams' community spirit is when there are that many open issues.

<comment><USER2> The saltstack quality/release cycle may be the cause of some of the pileup.

I experienced a minor issue with saltstack recently and submitted a new issue. Turns out the saltstack devs had already addressed the issue, but the fix was staged for release weeks later. Between the time I reported my issue and the release of 2017.7.3 this week, my issue was marked as related to a half dozen reports of the behavior in different circumstances.

While regression testing is a good thing your infrastructure software is a Good Thing, the process of staging known bug fixes will tend to multiple the number of open issues as multiple users report their findings.</comment></comment>


The Underground History of American Education - <AUTHOR> http://www.johntaylorgatto.com/chapters/index.htm

<comment><AUTHOR> A little background about the author - John Taylor Gatto:

He was named New York City Teacher of the Year in 1989, 1990, and 1991, and New York State Teacher of the Year in 1991.

In 1991, he wrote a letter announcing his retirement, titled I Quit, I Think, to the op-ed pages of the Wall Street Journal, saying that he no longer wished to "hurt kids to make a living".

</comment><comment><USER2> I read this book a few years ago and thought it was great, I highly recommend it to everyone.</comment>


Show HN: KeraSH, a ML Framework in Shell - <AUTHOR> https://github.com/MightyGoldenOctopus/KeraSH/ <comment><USER2> Are you planning to do a more POSIX version, like in using dash instead of zsh ?

<comment><AUTHOR> We're open to pull requests.</comment></comment>


Why Scott Forstall Should Be Microsoft's Next CEO - <AUTHOR> http://ttimsmith.com/2013/08/why-scott-forstall-should-be-microsofts-next-ceo/ <comment><USER2> I don't really care who Microsoft's next CEO is. I know I probably ought to care, but they caused me so much grief and misery in the 90's that I switched to Linux and then a Mac.

What I'd like to see is some young 20-somethings up end the whole applecart (no pun intended). Forget Microsoft's Windows, forget Apple's OSX, even forget Google's Android or Linux.

We are still in the dark ages of computing, and it's going to take a renaissance in the way we think and work with computers than just some new rehash of the old things.

Whoever the next CEO of Microsoft will be, I have no faith whatsoever that it will lead to something fresh and new. Some imaginative child or teenager has a vision in his/her head of the future, and I want to see that.

<comment><AUTHOR> I love your perspective on this.</comment></comment>


Declassified US Spy Satellites Reveal Rare Look at Secret Cold War Space Program - <AUTHOR> http://www.space.com/12996-secret-spy-satellites-declassified-nro.html <comment><USER2> Some time ago, I was watching the discovery channel with my father. There was a show about the declassification of a top-secret satellite. My dad says "Oh, I guess I can talk with you about this now."

Turns out he had been working on top-secret satellites in Lockheed Martin in a secure place called the skunk-projects (he had to work in a full on sealed vault. Maybe it was called skunk-works. I don't quite remember the name).

Anyway, interesting and funny conversations followed.

<comment><USER3> Does this mean he can open source the schematics? I can pass it on to the open space projects.

<comment><USER4> Where do you think he'd get the schematics from? I can't imagine they would ever leave the secure vault - declassification doesn't mean releasing to the public domain.

<comment><USER5> Surely he has them on some thumb drive with other keepsakes in the attic or something.

<comment><USER6> > Surely he has them on some thumb drive with other keepsakes in the attic or > something.

Do you really think that that's how folks (who aren't ex-Clinton officials, that is, Sandy Berger) handle classified materials? Hint - they don't take them home as keepsakes. They'd go to jail for that, or less.

</comment></comment></comment></comment></comment><comment><USER7> Here's how they "downloaded" back then...

 _According to documents released by the NRO, each HEXAGON satellite mission lasted about 124 days, with the satellite launching four film return capsules that could send its photos back to Earth. An aircraft would catch the return capsule in mid-air by snagging its parachute following the canister's re- entry._

<comment><USER8> Writeup, with a picture: [http://archives.starbulletin.com/2005/08/19/news/story13.htm...](http://archives.starbulletin.com/2005/08/19/news/story13.html)

</comment></comment><comment><USER9> _The satellites had a resolution of about 2 to 3 feet (0.6 to nearly 1 meter)_

And that was in the 70s, imagine what stuff they've got up there right now!

<comment><USER10> I worked for a couple of nefarious organisations over the years.

I doubt there is nothing much greater in resolution. There are so many technical challenges such as diffusion due to moisture in the atmosphere that limit things practically. The resolution is basically shite from space. Certain non-visible light bandwidth applications are better as they don't suffer from the same effects however they have to then deal with cosmic radiation (which is terrible apparently) and corresponding gaps in the magnetosphere which screw up the equipment.

It's a bit hit and miss really and costs lots of money for no real good.

If they had anything significantly better, they'd have decommissioned all the Lockheed U2's by now.

<comment><USER11> The optical equipment I work with has improved so much since the 70s that I find it hard to believe spy sat technology has not.

I am not sure that the U2 is still used for surveillance. I think it is now used for research purposes. The much more modern Lockheed SR-71 Blackbird has been retired. Either the DoD is relying on sats or UAVs or the rumored next- gen spy plane is deployed [0]

Even if sats can take hi-res photos, there are still plenty of good reasons to use spy planes. Capturing visible light from space only works if the target area is not covered in cloud, spy sats are very hard to hide (it can be done in the short term but amateurs eventually find them) and they can be shot down (in a war with China, you bet the spy sat will be knocked out within hours of the first hostilities), spy planes can carry SIGINT gear as well.

That said, there are __plenty __of good reasons not to use spy planes and rely solely on sat intel. If you plane crashes it is a diplomatic and technological disaster. Unlike the stealth Blackhawk crash at Bin Laden's compound, spy planes don't carry a squad of seals equipped with C4 to destroy the valuable top secret technology.

[0] <http://en.wikipedia.org/wiki/Aurora_%28aircraft%29>

<comment><USER12> I think the limiting factor is the air, not the lens. That's why astronomers put telescopes in space (to avoid the air completely), or use a huge array of cameras and postprocess it.

I'd expect the big gains are in stitching together lots of signals, possibly over time, and extracting interesting features automatically. I'd think resolving stuff over time can only be done if you already know what you are looking for (to avoid massive dimensionality problems), or for static features. Still, that's an interesting subset.

<comment><USER13> Just like you can link a bunch of smaller telescopes on the ground to compensate for air distortion and get a significantly higher resolution, it should be possible to do the same with a bunch of satellites looking down.

<comment> a-priori But then you have to deal with parallax from nearby objects on the ground. That would limit its usefulness in hilly, mountainous or urban environments.

<comment><USER14> That's something computers are really, really good at.

The cameras don't have to be too widely separated. A little time and space helps a lot. The main problem is that this reduces your areal coverage as you're dedicating multiple sensors to a single sensing target.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Link to 1978 HEXAGON overview, declassified Sep 17: <http://www.nro.gov/foia/declass/GAMHEX/HEXAGON/52.PDF></comment>


Sparrow for iOS - <AUTHOR> http://itunes.apple.com/us/app/sparrow/id492573565?mt=8

<comment><USER2> Without push notifications this application is a bit useless, no? Since iOS won't allow it to run in the background to poll at regular intervals (or to simply sit there with an IMAP IDLE) it's really on the user to open the app and check email.

I'm sorry but this is 2012. We've had push email for over a decade (perhaps slightly less than that on mobile phones? not sure of the exact figure). In today's world, not being constantly connected is a big deal.

Looks nice though and I understand that, due to iOS limitations, it's a bit difficult to provide push notifications for certain types of services (as they outline, they really would have to store your credentials server-side to do it); I just don't see the rational here.

<comment><USER3> <http://sparrowmailapp.com/push.php></comment></comment>


Ask HN: How did you learn to code? - <AUTHOR>

Did you learn in middle school? High school? Later? How did you get started with computers and programming? <comment><USER2> I learned over the past 6 months. Basically just read up on w3 schools, php.net and other online sources. Started hacking away at already built apps to extend them and eventually was facile enough to build my own from scratch. I still suck but I can definitely put together enough to get a reasonable MVP out. Will it scale? Who knows.

The toughest part for me coming from a completely non quant/non-cs/non- programming background was learning how to think like a computer. Basically, how to break problems into smaller subsets and solve them. The second toughest part was learning the rules and conventions (i.e. what CAN and CANT you do with the language youre using in the frame of the problem you're solving and eventually what IS and ISNT completely foolish in terms of memory usage/speed).

Good luck if you're on that path! I started out as a "business founder with an idea" and realized how hard it was to get anywhere with that so I learned to build my own ideas out.

</comment><comment><USER3> I began learning how to program sometime in middle school. I had a TI-82 calculator, which was programmable via TI BASIC. It did not, however, have a data port, so all the programs had to be written on the calculator itself.

My friends all had TI-83 calculators, with data ports. They had all kinds of cool games that they shared back and forth.

I thought one of the games, SNAKEGAME, was really cool, so I figured out how to copy it to my calculator. I opened up the BASIC source code on my friend's TI-83, and manually copied the whole thing, character by character, into my TI-82.

Of course, along the way I made a few typos, and so when I first tried to run SNAKEGAME it blew up with a vague error. I went back through the program, line by line, looking for differences between my version and the original. When I finally got the game running, things were... odd. I hunted down the remaining typos, and in doing so I discovered a few things. I found out that I could just change a number in the source, and the snake would be longer. Or faster. Or he'd do crazy things.

This was basically my enlightenment. I started changing one thing after another to see what it would do, and eventually I became fairly familiar with TI BASIC. I looked at the source for other games, and eventually started making my own. At first, they were ridiculously simple, but eventually I made a couple that were slightly entertaining.

After that, in high school a friend lent me a book about C++, and I struggled through it. I wrote lots and lots of half-assed, totally crappy, unplayable games, and eventually started learning other languages and getting better.

</comment><comment><USER4> As seems to be common, I had my first exposure to programming through BASIC, looking at programs I got from my older sister's friends or copied out of old magazines. My 7-year-old mind didn't quite grok the difference between psuedo- code and real code, though (for which I blame the BASIC language). Then LEGO started selling the RCX; finding LEGO's graphical programming environment overly constricting, I learned NQC, which lead to real C and a little bit of FORTH to program robots. That path eventually exposed to the basics of neural networks and some other basic ML systems. Then I got frustrated with not being able to make my parents' Windows desktop do cool things like my robots could, so I discovered Webmonkey (rest in peace) and taught myself JavaScript and Perl over a couple of weekends, and started writing all kinds of silly DHTML games and scientific command line calculators and file compressors / encrypters. A couple of years after that, I got on my middle school robotics team, and continued writing C code for microprocessors. Then I tested out of introductory CS in high school, passed the AP test without taking the class, and went on to Computer Architecture, Intro to AI, and Computational Physics, and serving as an assistant student administrator in the high school CS lab.

And that's probably far enough past getting started to make a good ending point.

</comment><comment><USER5> i always loved RPGs so i tried rpg maker, than i fell in love with a small app to make RPGs for the Nokia 6630, than i started using vb to contribuite to an open source project to make MMORPGs, from that to now, when i wanted to do something i looked to online resources and i studied by myself.

1)want to do something

2)search online tutorial/examples/similar apps

3)TRY TRY TRY TRY TRY TRY TRY TRY

4)back to 1

<comment><USER6> almost same here. except I it was a trs80, not a mobile phone.

</comment></comment><comment><USER7> Being a web programmer, I actually started by using the WYSIWYG editor in the old Netscape Navigator (v2.0 I think). I simply created a simple HTML page, then viewed the source code to see what it was doing. This was my freshmen year in High School.

During my junior year our math teacher decided to start a Visual Basic programming class, which I quickly jumped into that class. Then progressed to reading lotsa books, online tutorials, etc.

100% of the knowledge I use today was all self taught, but those first bits of <HTML> is all it took to get me hooked.

I also did some basic BASIC programing on my TI-82, so I could put all the random math formulas into it so I just needed to enter X and Y and it would tell me what Z was. Being that we were allowed to use the calculators on the tests :)

Being biased towards the web side of things, I think HTML5/CSS3/Javascript is a great (instant gratification) way to start learning programming.

</comment><comment><USER8> I "started" in middle school when I discovered a little BASIC interpreter on my 68k Macintosh Performa called Chipmunk BASIC: <http://www.nicholson.com/rhn/basic/>

In 7th grade or so I started tinkering with Java on the same 68k mac. I believe I understood and realized the importance of OOP in 8th grade or so, which for me was the "aha" moment when I decided that this was what I wanted to do for the rest of my life.

I type this, now, as an intern at a software company, configuring Team Foundation Build for my little internal project that will go out to the devs on Tuesday. I love my job.

</comment><comment><USER9> Stupidity. I didn't RTFM. I wanted to copy a game from one disk to another. So I printed it out (it was in AppleSoft BASIC), then started typing it back into a new file on a new disk. Around page 5 zillion (often even having my parents read the code out loud while I typed it in), I realized that all I needed to do was LOAD the program, swap disks, and SAVE it. As it turns out, reading that much BASIC was enough to give me an understanding of it. Then came Apple ][ assembly language, COBOL, and my first game (a Choplifter clone, but with a fighter jet instead) around age 12. Since then, and like many others, I've self-taught whatever I needed to know.

</comment><comment><USER10> 4 steps:

      - I learned how to draw a line
      - I learned how to turn
      - I asked the teacher how to "do things over and over" (loop)
      - I taught myself to draw a circle

That was day camp, when I was 7, learning LOGO. After that, it was learning how to load things into high memory writing elaborate menu'd boot batch scripts. Then BASIC, middle school classes with Pascal, taught myself C & C++ from books, and then classes on C++ in college.

All self-taught after that - I don't think a single employer I've had has ever paid for a proper training class of any kind.

<comment><USER11> It always bugs me to hear coworkers complain that employers don't pay for training. We work in an industry that makes it almost hilariously easy to self-study, and most of the things I'd really like to have paid training for are either too new or too esoteric for that training to exist.

<comment><USER10> I think the complaints are valid - after all those employers are reaping the benefits of all that learning. That said - lack of paid-for training is never an excuse to stop learning.

<comment><USER11> True, to the extent that those employees share their outside experiences with their work. I prefer to look at off-the-job training as an investment in myself. It may not make my current job pay more, but it will make it easier for me to get a more appealing job next time I'm on the market.

</comment></comment></comment></comment><comment><USER12> I learned how to code when I was 12. I first learnt how to pick apart html code in the early days of the web, then grew interested in making code that would dynamically generate content. Tore through php2 and the rest is what I am.

No language after that truly felt different, besides the differences in syntax and quirks. I picked up the concept of OOP from C++ and thats the end of my story. I've never read a programming book in my life.

</comment><comment><USER13> I started in middle school with TI-BASIC apps on my TI-85 calculator to help me in math and physics classes. Then I moved on to VB .NET a few years later when I got to university. Pretty much I did it all with scratch-my-own-itch problems as they cropped up.

It progressed as such for me (mainly due to course progression at school): TI- BASIC >> VB .Net >> C >> PHP >> C# >> Python >> Ruby

</comment><comment><USER14> Back in the late 80's I won a free pass to a 1 semester programming course in Gw-basic, from there I thought it was super interesting and studied Computer Science at the University where I learned how to program in Pascal and some Java. After that I just bought books and learned by myself some PHP, CSS, AS3, etc.

</comment><comment><USER15> In middle school, with library books; first something about text adventures in basic on an XT clone (wish I could find the actual title, it was in the kids' section), moving on to Turbo Pascal on a 386sx/33, probably high-school time frame at that point.

</comment><comment><USER16> I wanted to build a text-based RPG in high school. Ended up falling in love with coding and been doing it ever since. Whenever I want to learn a new language I usually buy a book about it, get half way through, and then just do my own thing from there.

</comment><comment><USER17> First learned in middle school (never stopped learning). Trial and error. Never taken a coding class. Tried tutorials some times but I lose interest learning that way, I prefer to learn through a project.

</comment><comment><USER18> when i was about 8 years there was a german magazine called "ASM" (aktueller software markt) there were games and software reviews (and an awesome letter column) and ... lots and lots of basic code for simple c64 games. as i had no money for games (hey i was 8 years old) i started typing..... after i got the basic principles it was only a small step to my own programms. ( mostly games and drawing programms at that time)

i kinda miss dead tree magazines with actual working code ... maybe we should start a github magazine?

</comment><comment><USER19> On an Apple II+, I programmed a simple game in Apple Basic when I was maybe 10 or 12 years old.</comment>


Ending coronavirus lockdowns will be a dangerous process of trial and error - <AUTHOR> https://www.sciencemag.org/news/2020/04/ending-coronavirus-lockdowns-will-be-dangerous-process-trial-and-error <comment><USER2> I agree. Governor Bullock has Montana re-opening on the 24th. Why are we re- opening? It's the start of tourism season people! We already had plenty of out-of-staters flee to their vacation homes in the state and the infection rates in the cities that service them shows. Now we're bringing more people in?

[https://covid19.mt.gov/](https://covid19.mt.gov/)

</comment><comment><USER3> The US lockdown as of April 14 is idiotic for several reasons:

1) Lockdown was started to reduce need for ventilators. Since they don't work 66% - 90% (80% in NY) of the time, that's moot. (But Chinese papers have published that since January, so I guess we're slow learners.)

2) 98% of people who catch corona virus recover fine on their own. Of the remaining 2%, most are older, just like the flu every year.

3) The US is not S. Korea - we're not setup for testing or tracing, and won't be for months. We'll run out of food and most small businesses will be ruined for no good reason.

4) Corona virus has spread world-wide. There is no way to predict if it will come back next month or not, so let's get rolling on herd immunity.

My practical suggestions are, to use a medical metaphor, just rip the bandaid off:

1) Spend a week creating dedicated quarantine hospitals, just like Wuhan did in Dec./Jan.

2) Tell everybody to sew a mask.

3) End the lockdown after communnicating the above, and let the flu runs its course, just like every other year in human history.

I understand that it's human nature "to want to do something", but we have no cure for this.

<comment><USER4> _but we have no cure for this._

We also basically have no treatment, and that's why people are freaked out.

I'm personally encouraged by the speed at which people have risen to the occasion, adapted and begin developing new hypotheses. I think if we can figure out a more effective treatment modality, people will calm down dramatically.

<comment><USER5> > We also basically have no treatment

Not so:

[https://www.cancernetwork.com/news/clinical-trial- explores-a...](https://www.cancernetwork.com/news/clinical-trial-explores- azithromycin-hydroxychloroquine-combo-covid-19-treatment)

Edit: Besides, what if the cure already exists, and Big Pharma wants to make more money selling long-term treatment drugs and equipment?

<comment><USER4> Clinical trials are not the same thing as reasonably effective, proven treatment.

We are seeing an 80% death rate for people on ventilators. This means when the worst happens, most people die, even with heroic measures and the most advanced technology available.

When they have a more reliable means to treat people in serious distress, I think people will be more amenable to easing the lockdown. Until then, it's a big fat _fuck you_ to people in high risk categories.

I am hearing that doctors are comparing it to high altitude sickness and trying to come up with a more accurate mental model that may yield more effective treatment than ventilators. I hope that happens rapidly. A big breakthrough in that area, where we know what the hell to do for you when things get really bad, would make a very big difference in this situation.

Edit in reply to your edit:

I don't think that's at all what is going on.

I think I have some idea of what would help. It's mostly not more serious drugs.

As a former homemaker, no one much cares what I think. But just as one human to another in a stupid online discussion, I'm all for blaming big pharma for a lot of things, but not this time.</comment></comment></comment></comment>


D-Expressions: Lisp Power, Dylan Style (1999) [pdf] - <AUTHOR> http://people.csail.mit.edu/jrb/Projects/dexprs.pdf <comment><USER3> I know at first it looks confusing, but the lisp syntax is pretty much the best. I can teach it to someone in 1 minute:

(<function or macro name> arg1 arg2 ...)

That's it. This is 100% of the syntax.

If dealing with a function, the evaluation will always be arguments from left to right are evaluated first, and then the function is called with the result of evaluating the args. This is 95% of the cases.

If dealing with a macro, go read the documentation for it, because every macro is a DSL, and evaluation can happen in different ways. This is the 5% case.

All the complexity of learning a lisp comes from knowing more functions, what they do and how to use them, and learning each macro's DSL.

Can this syntax be improved on, I'm not so sure. Clojure added some special syntax for some more literals, such as [] for vectors, {} for map, etc. And I do think in one way they help, but in others they hurt.

Maybe adding something that distinguishes a macro from a function, but once you know the names of them, the name is enough to know.

Maybe make it so there is a more visible demarcation between the function/macro name and the arguments. Not sure how though.

All that to say, if you give the ayntax a good chance, like 2 to 3 months of 40h a week for your brain to more clearly see where the functions start and end, I'm sure you'll like it.

<comment><USER4> Lisp syntax is like no syntax at all, it's all just direct parse trees. It is unviable without more secondary formatting than syntactic forms since it is really difficult for the eyes to balance parantheses on their own.

That LISP-style (non) syntax is successful just goes to show how little syntax really matters (I.e. the null case works), I guess.

<comment><USER5> I get what you're saying, but that's a pretty extreme view. Parenthesis are obviously syntax, even if they look similar to the notation used to represent ASTs in other languages. They are minimal syntax, but they're still syntax (also, lisps have `"@' and sometimes {}[]).

Just because this is the internet, I'll also disagree with your second point. Lisp programmers use white space and macros to make programs more readable. Despite this, lisp's adoption trails many less powerful languages that offer more intuitive syntax. Since lisp's metaprogramming facilities allow it to effectively simulate pretty much every other style of programming, the only explanation that I can come up with for this situation is that intuitive syntax matters a lot (at least for language adoption).

<comment><USER4> Macros aren't so much syntax as they are semantics (inlined for performance, but we can still think of them as special procedure calls). Lisp has been relatively successful in its various forms, it should get some credit.

<comment><USER6> Macros serve lots of purposes. One is providing convenient syntax.

        (loop for i from 10 below 100 step 3
              when (evenp i)
              collect i)

Above is using the LOOP macro, which implements a lot of syntax for various ways to LOOP. The syntax description is actually quite long:

See the EBNF description of the LOOP macro in the standard:

[http://www.lispworks.com/documentation/HyperSpec/Body/m_loop...](http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm#loop)

There are other syntactic forms which use more parentheses. For example the DEFCLASS macro. The basic EBNF syntax for DEFCLASS is:

        defclass class-name ({superclass-name}*) ({slot-specifier}*) [[class-option]]

        slot-specifier::= slot-name | (slot-name [[slot-option]])

        slot-name::= symbol

        slot-option::= {:reader reader-function-name}* |
                       {:writer writer-function-name}* |
                       {:accessor reader-function-name}* |
                       {:allocation allocation-type} |
                       {:initarg initarg-name}* |
                       {:initform form} |
                       {:type type-specifier} |
                       {:documentation string}

        function-name::= {symbol | (setf symbol)}

        class-option::= (:default-initargs . initarg-list) |
                        (:documentation string) |
                        (:metaclass class-name)

The DEFCLASS macro implementation will check some of that automatically, but much of the syntax has to be check by the macro in the implementation code.

> we can still think of them as special procedure calls

That's not a good idea. It's misleading.

</comment></comment></comment></comment></comment><comment><USER7> Another Algol-style language with a macro system in this vein is Honu ([https://www.cs.utah.edu/~rafkind/papers/dissertation.pdf](https://www.cs.utah.edu/~rafkind/papers/dissertation.pdf)). It goes slightly further, allowing macros to do things like define new infix operators, and its layered approach (with an "enforest" step interleaved with parsing) is worth a look.

<comment><USER8> Holly smoke! The supervisor committee on that thesis is _heavy_. I'm so gonna study it.

</comment></comment><comment><USER9> Hello everyone.

Since there's been interest in the D-expressions paper, I wanted to add that Jonathan Bachrach (the first author on the paper) is actually my Ph.D. advisor, and we just released a new programming language a few months ago called Stanza based on similar ideas. Stanza is a spiritual successor to Dylan of sorts: it has an optional type system, coroutines, a multimethod-based object system, programmatic macros, and an s-expression-based natural syntax. You can check it out at www.lbstanza.org.

      - <USER2>

</comment><comment><USER10> Dylan did so much right. Well - the syntax was too verbose - but optional static types, pure OO, multiple dispatch.. that's an amazing set of features that would make me very productive.

</comment><comment><USER11> There is a solid person who frequented here who was the last guy working on OpenDylan and mentioned he largely abandoned that for a new passion for Rust. Besides him, was that the last person really shepherding it?

<comment><USER12> That is me. I haven't seen much development effort since I switched to Rust. But ... I would still mentor someone who wanted to work on it or do something with it.

<comment><USER11> I was never at that level but still was very interested by your selfless work on OpenDylan. I was going through a Lisp adoration phase (not that it ended, really; one of many cycles I have) and found Dylan as "Apples prescient Lisp without parens from the future" elevator pitch and was surprised its tooling was better on Windows than Mac, basically because of you driving a very smally community of volunteers.

Perhaps I need to take another look.

</comment></comment></comment><comment><USER13> I've been working on a Lisp for the last couple of years. There's one major downside to reader macros / syntax extension: Your editor probably won't understand it, and in extreme cases won't know how to indent or read it.

Note that Lisp macros do not suffer this problem because it still uses the standard `'(,"foo") syntax. (In fact it's somewhat remarkable that Lisp syntax can be described in shorthand so compactly.)

Reader macros are a different beast. Let's say you want to add support for [] as indexing. You can do this:

      > (let l '(a b c)
         l[1])
      "b"

And this:

      > (let l '(a (b) c)
          l[1][0])
      "b"

And since the reader is under our control, it's easy to use a dynamic expression as the index:

      > (let (l '(a (b) c)
              i 0)
          l[(+ i 1)][i])
      "b"

If you try this, you'll find most Lisp editors work okay-ish with it.

Now let's say you want to be able to do this:

      > (if x) {
          (print "hello")
        }

This is entirely possible since we control the reader. The rule is, if the following expression is a curly-body, it gets converted into `(do ,@body) and inserted as the last argument of the previous expression. So it becomes:

      > (if x (do (print "hello")))

However, this fails _hard_ inside of standard Lisp editors. You'll lose indentation right away. Nothing understands curly notation. For example if you turn on Clojure mode and try to auto-indent, here's what you get:

      > (if x) {
                (print "hello")
                }

The alternative curly style is just as broken:

      > (if x)
        {
         (print "hello")
         }

So if you expose this power to users, suddenly you have an editor problem: How can the editor know what to do with tokens, short of running the program?

Even in Emacs, which is Lisp-based, it's not really possible to execute other Lisp variants. (I actually got both Scheme and Arc to work inside of emacs, which was amusing. No external programs; literally scheme, but running in elisp.)

But even if it were possible, you wouldn't want to. An infinite loop would freeze your editor. Not to mention it should always be safe to open a file for editing, yet this breaks that safety guarantee.

I think the solution is something like:

      > (define-reader ("{" s curly-body)
          ...)

Within the define-reader block, `s` is the stream, and you can read tokens from it and return a result, or stuff the result into the previous token's last argument, or throw an error, etc. And since it ends with "curly-body", Lisp editors can be designed to detect this token and turn on "curly-body syntax" for any file that imports it.

It's worth it. Would you believe this is Lisp?

      > require("fs").existsSync("/tmp")
      true

It's equivalent to:

      > ((get (require "fs") "existsSync") "/tmp")

But ten billion times more readable. And Lisp!

I have no idea why Lisp doesn't let you call functions like

      foo(1 2 3)

instead of

      (foo 1 2 3)

It's an unambiguous transformation in every case. Nobody smashes an atom into a left-paren, ever. If there's an atom followed by a left-paren, or a right- paren left-paren combo, it means you want to call it as a function.

It leads to some amusing situations:

      (list 1 2 3)
      list(1 2 3)

But there's an easy solution: If it looks confusing, don't write it that way. Just like every other language feature.

Even though Lisp is such an old language, I feel like we've barely scratched the surface. Clojure was a promising demo of what's possible. It's time for the next step.

<comment> aaron-lebo The thing is, lispers don't want more syntax. They've rejected Dylan, sweet- expressions, and a million other experiments. There's a sizable contingent who complain about Clojure using [] instead of all ().

So really all you are talking about is making a nice syntax that enables macros, and that doesn't require lisp. See Elixir.

If lispers aren't going to adopt extra syntax, your only hope is to attract non-lispers, and then you've got the issue where your lispy language has to be better than existing languages at doing something, and that's hard.

Why go to so much trouble for something that's been rejected repeatedly? Macros don't require lisp syntax and that's the main advantage.

My own ghetto transpiler converts this:

        sum = reduce partial(+)
        [1, 2, 3] sum + 1 println

into this:

        (def sum (partial reduce +))
        (println (+ 1 (sum [1 2 3])))

[https://github.com/aaron-lebo/prose](https://github.com/aaron-lebo/prose)

It's fun to think about, but not sure the general concept has an audience.

edit:

Bob Nystrom's lark is one of the cooler non-lispy lisps out there:

[https://github.com/munificent/lark](https://github.com/munificent/lark)

<comment><USER14> Sometimes I wonder if making the top level parentheses optional would go some way towards making Lisp more palatable to other programmers. So

        (def sum (partial reduce +))
        (println (+ 1 (sum [1 2 3])))

becomes:

        def sum (partial reduce +)
        println (+ 1 (sum [1 2 3]))

<comment><USER5> See [https://srfi.schemers.org/srfi-110/srfi-110.html](https://srfi.schemers.org/srfi-110/srfi-110.html). No idea why it hasn't shown up in a popular language (or maybe it has and I'm just naive).

</comment></comment></comment></comment><comment><USER15> It's pretty trivial to add macros to any language. The only thing that separates a macro from a regular function is time. In a normal function, the parameters are evaluated before being sent to the function. In a macro, the function is called before the parameters are evaluated. What separates lisp from other languages when it comes to macros is that the language is very simple and provides lots of tools for operating on the same data structure that you write your code in.

Of course you can add macros to any language, that doesn't mean they'll be anything like Lisp macros, because you're still writing code that has many different ways of expressing function calls. Importing a file? Oh, don't call a function. Instead write this special syntax which will call that function for you. Declaring or setting a variable? Same shit. What if you wanted to do something really fancy like create a class, oh yeah, there's a special way of saying that too. So now when you go to automate this stuff, you've gotta teach your computer all the special different ways to write everything. Lisp isn't lisp because it has macros. Lisp isn't lisp because it's simple. Lisp isn't lisp because it has a lot of really smart ways of doing basic things that we take for granted (like explicit vs implicit scope on local variables). Lisp is lisp because it has them all.

You can add the same extensibility that lisp has, macros, reader macros, operate on symbols, closures, whatever. You can do some of the really smart things that lisp does like explicitly scoping your variables or multiple dispatch. You can even have a really simple language, with a really simple syntax. But it's not Lisp's individual features that make it what it is, it's how these features interact with one another to give you something that's truly hard to replicate.

Yes, of course you can replace a block of code with another, but how easily? For example, yesterday I was thinking about a variable that represents the result of evaluating the previous form. So instead of having to read a method chain backwards: (wax (buff (rinse (soap car)))) it could read forward: (soap car) (rinse ?) (buff ?) (wax ?) Now whether or not this is a good or bad idea is completely fucking irrelevent. The point is that it's an idea, and until an idea is tested, we have no idea how bad or good it is. In lisp, in 5 minutes, I can write a macro that wraps around a block of code and implements this idea so I can actually play around with it in the real world instead of just in my head. You literally just take a bunch of forms in, put a let statement around the whole block, and then put a call to set the variable around each individual form (If you're not familiar with lisp. a form is kind of like a line of code, it's usually a function call but it can be a value as well). In lisp I can have very abstract programming ideas and then immediately implement them, without having to fight through the language to do so (ie without having to write a parser).

It's cool when other languages take stuff from lisp, it makes it easier to write lisp like code when I have to use other languages, but I've read a lot of articles on "Lisp macros in X Language" and none of them seem to understand that you can't just implement macros, you have to make the structure that code is written "first class". You have to give the programmer the tools they need to operate on a piece of code as naturally as they would a string, a number, or an array.

<comment><USER6> > It's pretty trivial to add macros to any language.

Not true.

> The only thing that separates a macro from a regular function is time. In a > normal function, the parameters are evaluated before being sent to the > function. In a macro, the function is called before the parameters are > evaluated.

That's not really capturing it. A regular function expects to get passed evaluated results from valid code. The arguments are being evaluated. The function gets called and the parameters will be bound to these arguments.

A Lisp macro OTOH gets arbitrary stuff passed. A Lisp macro can enclose anything. This anything can look totally wild and does not need to be valid code. The macro gets this anything, it has to compute valid source code and can create any side effect it wants.

In a macro form, the macro function gets called with the code it encloses and an environment. It can then do anything it wants, but it has to return valid code. This code then will be evaluated - the generated code can be anything which is in that context a valid Lisp form: self-evaluating data, a variable, a special form using built-in Lisp syntax, a function form or another macro form.

> (If you're not familiar with lisp. a form is kind of like a line of code, > it's usually a function call but it can be a value as well)

A 'form' is an expression which is also a valid Lisp expression (can be evaluated, etc.).

> But it's not Lisp's individual features that make it what it is, it's how > these features interact with one another to give you something that's truly > hard to replicate.

Yep, that's a good insight.

</comment></comment><comment><USER16> The dream of the Lisp Machines is long dead.

JavaScript Machines are our new reality.

<comment><USER5> Worse is better, amiright? sigh...</comment></comment>


How EA Turned a Big Win into a Metropolis - <AUTHOR> http://blog.optimizely.com/2013/06/14/ea_simcity_optimizely_casestudy/

<comment><USER2> Zero hate against Optimizely for advertising their quality product, but it leaves a bad taste in my mouth to see EA putting lots of effort into advertising/sales when the core gameplay of Sim City was so broken.</comment>


Mosaics Revealed at Ancient Greek City of Zeugma in Turkey - <AUTHOR> http://eu.greekreporter.com/2014/11/11/mosaics-revealed-at-ancient-greek-city-of-zeugma-in-turkey/

<comment><USER2> This city is apparently now underwater, but is full of wonderful mosaics. This is an interesting documentary about the restoration of mosaics during 2000-2004:

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

<comment><USER3> Turkish government has huge success for destroying historical remainings. They just send all Zeugma remainings under water because they wanted to build a barrage right there!

<comment><USER4> > Turkish government has huge success for destroying historical remainings.

That would be weird since Turkey has huge interests in those "historical remainings": tourism is one of the biggest sources of income.

</comment></comment></comment><comment><USER5> Marvellous. This excerpt from the article really says what I initially thought when seeing the pictures: _What is really striking about this mosaic is the wonderful and vivid colors used as well as the beauty of the heroes' faces_

<comment><USER6> That was my first thought as well - in comparison, medieval art looks like child's scribbles.

<comment><USER7> Well, yes, but understand that most of the surviving medieval European pieces of art are icons and other religious works, which put a number of requirements on the artist that dictated a less-than-precise portrayal. It was not a general lack of talent or technical understanding. Politically more important figures had to be drawn larger than everyone else, with their heads placed higher, regardless of their more realistic height and position in the scene. Being often used as sort of religious picture books, the depth dimension is present, but often used to depict passage of time, not distance from the viewer. And for a period of time, it was considered sinful to try to "compete with God" by making things look more realistic.

And like modern software projects, the artists had to work with the employees they could find and train on their own. It does no good to design a perfectly rendered scene when the only employees you have on hand to do the grunt and fill work are recent college undergrads who have only touched PHP or Java.

<comment><USER8> > _it was considered sinful to try to "compete with God" by making things look > more realistic_ //

I'd love a citation that confirmed that? Sounds very like the "of course everyone thought the world was flat" unfounded claims that people make.

</comment></comment></comment></comment><comment><USER9> The (blogspam?) article slyly omits mentioning a date, but I think these are mosaics recovered more than 10 years ago, and currently on display at the Zeugma Mosaic Museum.

<comment><USER10> Clearly they've been around for awhile – the Zeugma Mosaic Museum opened in 2011 according to [http://en.wikipedia.org/wiki/Zeugma_Mosaic_Museum](http://en.wikipedia.org/wiki/Zeugma_Mosaic_Museum) – but it looks like there were some recent releases:

[http://www.archaeology.org/news/2682-141104-turkey-zeugma- ne...](http://www.archaeology.org/news/2682-141104-turkey-zeugma-new-mosaics)

and the pictures appear similar to the ones in this article covering social media complaints about the mayor & other dignitaries walking on the mosaics:

[http://www.todayszaman.com/national_mayor-of-gaziantep- walks...](http://www.todayszaman.com/national_mayor-of-gaziantep-walks-on- ancient-zeugma-mosaics-in-high-heels_363420.html)

This older 2012 article is worth a look if you want to know more of the history of the site:

[http://www.archaeology.org/issues/44-1211/features/252-featu...](http://www.archaeology.org/issues/44-1211/features/252-features- zeugma-after-the-flood)</comment></comment>


Show HN: FAQ.camp – a FAQ builder with functions to optimize your FAQ - <AUTHOR> https://faq.camp/ <comment><USER2> This is a great idea. We are already using Zendesk for our main product, but I could see me using that for side projects, as it's much less bloat!</comment>


IDEs and Text Editors for Writing C++ Code on a Large Scale - <AUTHOR> https://pspdfkit.com/blog/2020/ide-text-editors-cpp-large-scale/ <comment><USER2> It is nice that they do call out the performance issues with CLion. Because of that, and because of CLion's perpetual use of cpu during text editing, I switched over to VSCode on Linux. It does code completion and error indication very well. I miss the little things like proper #include < completion, but overall, it is performant and very useful.</comment>


Prezi for hackers – impress.js backed by MadEye - <AUTHOR> http://madeye.io/impress.js

<comment><AUTHOR> At MadEye, we want to make it easier to start coding on open source projects (no downloading, installing dependencies, etc). We chose impress.js, because it's an amazing framework, and is entirely static resources, but we plan to target other projects soon.

</comment><comment><USER2> So, I have no reactions to this. WTF is this...impress.js sounds like powerpoint or something?, and you broke my back button.

<comment><AUTHOR> Sorry about the back button..working on a fix for that now.

Impress.js is a html/css based presentation framework. More info here: [https://github.com/bartaz/impress.js](https://github.com/bartaz/impress.js)

</comment></comment><comment><USER3> ive used impress js before for presentations at work. Easy to use and it can do some fun things. using powerpoint or any type of office application on a mac is always a pain.

</comment><comment><USER4> Looks cool</comment>


Possible to track specific YouTube video that is not mine? - <AUTHOR>

<comment><AUTHOR> I'd like to find out where a specific video has been shared, but I did not post it to YouTube, thanks for your help!</comment>


ScriptCraft: Building cool things using Javascript in Minecraft - <AUTHOR> http://walterhiggins.net/blog/ScriptCraft

<comment><USER2> Considering how much of Minecraft can be about grinding for resources or MCMMO levels... imagine being able to script the player, or even being allowed "bot teammates" you can script! Since that part of it could run on _just_ the client (minus small interface stuff on the server for clients to request basic info and send player input), you could go all out with as much advanced AI as you can muster, without draining the server of any resources... while having a bunch of minions that gather resources, fight, explore and/or build (if you have the spare processing power/memory and the scripts.. so I guess it would be dominated by people who have many crazy fast machines and mad coding skills.. but I'd still love derping around in it, too. There's always robbing those bots manually haha..).

Apart from these bots acting on their own, players could send commands to bots via private message or towny/faction chat. Oh, and speaking of towny and factions, or any sort of teams reallly: what if this sort of "Minecraft Robot Wars" competition was set up so there'd be a few human players, with each having their bots who know their owners, but otherwise nobody knowing who is a player or a bot, and who is on what side... ?!

So you could e.g. either all join up in one town/faction and give your alliance away for more efficiency/power, or split up and try to play all sorts of diplomatic games via chat and actions, and try to deceive bots/people long and short term. Minecraft online is so much about trust, I never played another game that came close; and while that can be very frustrating and petty with humans, it seems _hilarious_ to try to code bots that act real or otherwise deceive ^^ Especially if everybody knows that it's the goal of the game.

Please, nobody make this happen, this would destroy my life. Even just thinking about the possibilities is addicting haha.

<comment><USER3> We wrote a library to do just that (sorry): <https://github.com/minefold/node- minecraft>

It needs a small fixes to work with the current version of Minecraft but it's pretty feature complete. We were using it internally for load testing (until we made our architecture support multiple games).

</comment></comment><comment><USER4> This is cool, but for the server it is already possible to use a number of scripting languages.

By using the Bukkit server mod, which provides a stable plugin API, it is relatively easy to add a wrapper around a scripting engine [0].

For example, a plugin providing Rhino support [2] and one providing python support [2].

I would recommend either porting your work to the Bukkit framework, or working with one of the existing plugins to include some of the cool stuff you have made.

I don't currently know what the most popular scripting plugin currently available is, but I'm sure you can find it with a bit more digging than I have done.

[0] [http://dev.bukkit.org/search/?scope=projects&search=scri...](http://dev.bukkit.org/search/?scope=projects&search=script)

[1] <http://dev.bukkit.org/server-mods/redstonetorch/>

[2] <http://dev.bukkit.org/server-mods/pydevtools/>

<comment><USER5> Thanks for the bukkit recommendation - it really is a great minecraft framework to code against. I've since added a ScriptCraft bukkit plug-in... [https://github.com/walterhiggins/ScriptCraft/blob/master/buk...](https://github.com/walterhiggins/ScriptCraft/blob/master/bukkit.md)

<comment><USER4> No worries :)

I used to be very active on the team there, but haven't contributed any code for a while now. I get the urge almost every week, so maybe I should jump back in for a bit.

It has its problems, but is miles ahead from where we started and really does enable plugin authors in a way straight modding never can.

</comment></comment></comment><comment><USER6> This is a _great_ gateway drug for getting kids into coding.

The JS language also allows a transition to html5/web stuff (cool web pages they and their friends can see with some simple-to-setup hosting) and perhaps ultimately server side (nodejs).

And a child walking that path would then be exposed to enough ideas/different environments that learning a different language would be a natural next step.

This is a pretty exciting idea. I wonder how easy it can be made. i.e. I wonder how much of the distracting tool-based detail can be swept to one side.

<comment><USER7> I'm currently introducing my 10 year old niece to programming using ComputerCraft, a single player mod that introduces several programmable objects in to the Minecraft world. Installing is a bit of an exercise, because it requires Forge, but it is otherwise worth it. I recommend using MCPatcher to load Forge, then just drop the ComputerCraft zip in to the /mods folder inside your Minecraft data folder.

<http://www.computercraft.info>

<comment><USER8> Using MagicLauncher[1] makes it much easier.

1: [http://www.minecraftforum.net/topic/939149-launcher-magic- la...](http://www.minecraftforum.net/topic/939149-launcher-magic- launcher-100-mods-options-news/)

<comment><USER7> Wow! Thanks so much for that link.

One of the downsides of the diversity in the Minecraft modding community is that it can be difficult to identify the "best" way to do something. New tools come and go, and compatibility wanes when new releases hit.

</comment></comment></comment></comment><comment><USER9> We experimented with this kind of scripting in Manic Digger: [http://manicdigger.sourceforge.net/forum/viewtopic.php?f=7&#...
It would be better if it had exposed all the commands from the server modding api: http://manicdigger.sourceforge.net/news/wp- content/uploads/2... . (note: old version)
I think JS would be useful for making Adventure game mode where blocks (script-boxes) contain javascript code that spawns NPCs, defines dialog trees, quests, items.
Another example: Spleef arena control room http://mdgallery.strangebutfunny.net/View?id=103

</comment><comment><USER10> Cool. As a matter of fact, about a week ago I tried to do something similar by trying to integrate Python with Minecraft. I actually did expose the full Bukkit API to Python (easy enough to do), so all its commands are available.

I didn't really like the "type your code in Minecraft chat"-approach many similar projects were/are taking (i.e. "/js myCodeHere()" in chat) and wanted a proper interpreter window. To integrate the Java-based Bukkit API with Python, I used Jython. The result is something similar as shown here: <http://www.minecraftwiki.net/wiki/Pi_Edition>

I've yet to put up a blog post or something, but I've thrown together a quick video of me playing with it (it's a bit slow so feel free to forward) here: <http://www.youtube.com/watch?v=rI3PfgCSI7Y>

I think something like this could really help in getting kids excited about programming. Back in the day, I started learning programming with LOGO <http://en.wikipedia.org/wiki/Logo_(programming_language)> , a quirky adaptation of LISP, but where you could immediately see your results drawn on screen. It's cool to see Minecraft as some sort of modern "canvas" for programming.

<comment><USER11> <http://dev.bukkit.org/server-mods/python-plugin-loader/>

I have been using a python-bukkit plugin layer for quite some time for a lot of small administrative plugin tasks on my private server. You should check out his project, it's on github.

</comment></comment><comment><USER12> I am a Minecraft server owner (<http://craftworksfactionrpg.net>) and I've used a scripting plugin extensively to add server-side functionality to my server. The plugin is called 'Skript', <http://dev.bukkit.org/server- mods/skript>, and has a fairly large exposure of Bukkit APIs.

With this, I've created an entirely custom RPG class plugin, and a complete dungeon editor.

Problem was, with the 1.4.6 update, Skript stopped working in some areas so I've been forced to go into Eclipse and write Java with the bukkit APIs directly. For someone with experience, jumping into Bukkit plugin development was a piece of cake, but I was able to build out very very very sophisticated plugins with Skript before the update broke it.

</comment><comment><USER13> This is, potentially, amazing.

Minecraft is aiming for some extensive modding re-write, which will make installing and using mods easier. I 'm not sure how much work the author will have to do to get scriptcraft running under the new system.

I'm also interested in how it compares to existing world building tools. Most of those are out-of-minecraft software. But things like world edit, etc.

<comment><USER5> I would love if the Minecraft guys provided Javascript scriptability without the need for a mod.

<comment><USER14> That would ruin the game for most players. It _has_ to be a server mod.

<comment><USER5> Agreed. It makes sense for admins to be able to build using javascript but would lead to accidental/deliberate griefing if all players on a server had it.

</comment></comment></comment></comment><comment><USER5> It looks like Bukkit might be a perfect fit for ScriptCraft. Bukkit seems to have wrappers around a lot proprietary minecraft code. The ability to use those wrappers in Javascript would mean that once ScriptCraft was installed, futher Bukkit plugins could be written entirely in Javascript (no need for java).

</comment><comment><USER15> Isn't this sort of what the Raspberry Pi version of minecraft does?

<comment><USER16> Sort of, yes. Except that version will support many languages instead of just JS. In the demo videos you see them using Python commands. The concept is almost exactly the same, though the guys at Mojang are building the interpreter into the game itself instead of it being a mod.

More info here: <http://www.minecraftwiki.net/wiki/Pi_Edition></comment></comment>


Ask HN: Need help with boy's names that are from technology - <AUTHOR> Hi,
I am writing to just collect some ideas around some boy's names that come from technology.
I have got some beautiful names for girls:
Ivy - An Angular rendering pipeline
Jasmine - A frontend testing framework
But I have not got any ideas for boys. I truely do not want to name my boy as "Javascript", "Angular" or "React".
So please leave a comment if you have a cool name for boys?
Thanks! <comment><USER2> Harvey!

[https://harvey-os.org/](https://harvey-os.org/)

Hugo.

[https://gohugo.io/](https://gohugo.io/)

Guns are technology, so Uzi?

Though if you find these examples a bit antiquated, you could always name your boy after whatever you named your first computer:

[http://wiki.c2.com/?NamesGivenToComputers](http://wiki.c2.com/?NamesGivenToComputers)

<comment><AUTHOR> Thank you very much. I like Harvey and will put it into our option list :)

<comment><USER2> Good luck to you and your child(ren)!

</comment></comment></comment><comment><USER3> none of these will exist as your boy gets older, you better think twice about this

<comment><AUTHOR> Good reminder, thanks!

</comment></comment><comment><USER4> Hal - [https://en.wikipedia.org/wiki/HAL_9000](https://en.wikipedia.org/wiki/HAL_9000)

Am - [https://en.wikipedia.org/wiki/I_Have_No_Mouth,_and_I_Must_Sc...](https://en.wikipedia.org/wiki/I_Have_No_Mouth,_and_I_Must_Scream)

Roy - [https://en.wikipedia.org/wiki/List_of_Blade_Runner_character...](https://en.wikipedia.org/wiki/List_of_Blade_Runner_characters#Roy_Batty)

Bishop - [https://en.wikipedia.org/wiki/Bishop_(Aliens)](https://en.wikipedia.org/wiki/Bishop_\(Aliens\))

For girls, SHODAN has a nice ring to it.

</comment><comment><USER5> Charles (Babbage)

Alan (Turing)

John (Von Neumann)

Tim (Berners-Lee)

Hugo (Weaving)

</comment><comment><USER6> Newton

Gatsby

?

</comment><comment><USER7> Chip.</comment>


Amazon.com to play tax collector for client merchants - <AUTHOR> http://www.internetretailer.com/2011/11/03/amazoncom-play-tax-collector-client-merchants <comment><USER2> Honestly, how could you not see this as inevitable. With states looking to recover tax revenue from online sales Amazon's choices were either pay up or GTFO. I think the tipping point was California. Once they reached an agreement there it was inevitable other states would come calling.

</comment><comment><USER3> Amazon sales tax collection tax? :(</comment>