Columbia becomes the first US university to divest from private prison companies - <AUTHOR> http://qz.com/434984/columbia-becomes-the-first-us-university-to-divest-from-private-prison-companies/ <comment><USER2> While this is great news, I challenge Columbia to do one better.

My own alma mater, Bard College, created a program called the Bard Prison Initiative. This program teaches college courses for college credit to incarcerated prisoners in the state of New York, ultimately awarding either Associates or Bachelors degrees from Bard College. Education for prisoners is important from both a moral and economic perspective, dramatically reducing recidivism as well as saving money (a $1 investment in prison education reduces incarceration costs by $3-$4 in the first three years of an inmate's release[1]).

This is a great first step but it is not enough to simply not support the prison industry. There are proven steps that can be taken here to reduce recidivism and help society. Despite this, the Bard Prison Initiative is chronically underfunded despite support by governor Cuomo due to politicians not wanting to appear soft on crime. Columbia is a much wealthier university than Bard College, so I challenge them to join Bard in their initiative.

[1] [http://www.justice.gov/opa/pr/justice-and-education- departme...](http://www.justice.gov/opa/pr/justice-and-education-departments- announce-new-research-showing-prison-education-reduces)

<comment><USER3> In a way, Columbia already does!

Columbia's School of General Studies is targeted at students without a high school diploma, students with "nontraditional" backgrounds, and students who have taken more than a year off after high school before going to school. I went to Columbia, and while I wasn't in GS, a lot of my friends were.

A large number of GS students are veterans[0]. Of the rest, a surprising number are people with, well, backgrounds that typically disqualify a person from an Ivy League education.

I can't share their stories because they're not mine to share, but I had classmates who were caught (and incarcerated for) drug trafficking and other serious-but-nonviolent crimes[1]. I know this because they told me, and they felt comfortable enough in their academic environment sharing this knowledge. To me, that really says something about not only the admissions process, but also the community and support that they receive as students.

As a non-GS student, I really appreciated this setup. My education would not have been the same had I not been sitting next to these students in our discussion sections for class, or serving on the boards of student organizations with them. And at the same time, they were able to benefit from the structure of a school that was explicitly tailored to students with nontraditional backgrounds.

Columbia could do a lot more to support GS students[3], as well as support incarcerated prisoners who are not students, but this is something they've been doing for decades without any fanfare at all.

Columbia also has a very long history of accepting veterans who were discharged for being gay, even long _before_ Don't Ask, Don't Tell (Stephen Donaldson was a Columbia student before joining the military[4]). IIRC, many of these discharges would have been dishonorable discharges, which in some states carries the same status as being a convicted felon.

[0] Partly because Columbia GS is so proactive about recruiting on military bases, and partly because their yellow ribbon matching is so generous.

[1] I mention nonviolent crimes because that's what (some of) my GS friends shared with me. I don't know of any who were convicted of violent crimes, and I don't know if this is simply selection bias or if there really weren't any.

[3] If anyone reading this has $100MM to spare, the General Studies school could benefit greatly from its own endowment to increase access to financial aid!

[4] [https://en.wikipedia.org/wiki/Stephen_Donaldson_%28activist%...](https://en.wikipedia.org/wiki/Stephen_Donaldson_%28activist%29)

<comment> a-dub Full time tuition at Columbia runs around $52k/yr. Their Yellow Ribbon matching works out to about $8k/yr. So they're raking in a nearly guaranteed $44k/yr from the Federal government for every vet they enroll.

GS isn't some benevolent social program, they see the grant dollars and they take them. They've been experts at this for a long, long time.

The cynical part is that they use completely different diplomas, transcript codes and CEEB codes for the GS program. This is non-standard, where most other universities fully integrate their veteran and re-entry students across the board. (including financial aid)

<comment><USER3> > So they're raking in a nearly guaranteed $44k/yr from the Federal government > for every vet they enroll.

Not exactly. The GI bill doesn't pay anywhere near $44k for New York State. The federal government is not picking up the tab.

I acknowledged the dearth of financial aid in my post, and that's something that they're desperately working on. GS is not as well endowed, which would be the solution to this. If you want to be cynical, fine, but the question of how much money GS has is different from how they're actually spending it.

This is the downside of being a separate school, yes, though with the aforementioned very notable exception of the endowment issue, GS students and faculty overwhelmingly favor this model.

In any case, the topic of this conversation was prisoners and convicts, not veterans. I merely mentioned them because they're a large part of GS and GS has a history of accepting disonorably discharged veterans, which is tantamount to convict status.

<comment> a-dub $20k GI bill + $8k yellow ribbon + $3k/mo living allowance ($24k for 8 months or $36k for 12 months).

So that's $52k/yr to $64k/yr before you start adding in stuff like Pell grants.

Do I support federal dollars funding college education for vets? Yes, absolutely. Do I think this is some great act of benevolence by Columbia? No. Is that view reinforced by the simple fact that they use different diplomas, transcripts and CEEB codes for veterans? Certainly. Do I buy that Columbia's screwy internal administrative structure is a valid reason for this? Definitely not.

</comment></comment></comment></comment></comment><comment><USER4> Interesting article, but the first graph is one of the most blatantly misleading charts I have seen in a long time. Showing two graphs overlapping on completely different scales is a really nasty trick.

<comment><USER5> Extremely. Also, it looks like they picked random years for the data points as well. They cross in 2010 like it has some significance.

<comment><USER4> Right, good point - when you choose arbitrary scales you can make them cross whenever you want.

</comment></comment></comment><comment><USER6> If the futile and counter productive prohibition of drugs comes to an end then all those prisons won't be needed.

<comment><AUTHOR> The Corrections Corporation of America noted this as a risk factor in their 2011 10-K filing.

 _" The demand for our facilities and services could be adversely affected by the relaxation of enforcement efforts, leniency in conviction or parole standards and sentencing practices or through the decriminalization of certain activities that are currently proscribed by criminal laws."_

Source: [http://yahoo.brand.edgar- online.com/displayfilinginfo.aspx?f...](http://yahoo.brand.edgar- online.com/displayfilinginfo.aspx?filingid=7753684&tabindex=2&type=html)

</comment></comment><comment><USER7> While I admire the motivation, everything I have seen has stated divestment doesn't have much of an economic impact. If these companies are profitable, they will still be profitable. In fact, the profits will end up being concentrated with less morally minded investors, which can make the problem even worse. A moral stockholder can help drive the company in a moral direction. However if the only stockholders left put profit above all other motivations, the company has less and less incentive to make morally sound decisions.

<comment><USER8> Source?

The 1980s pressure to divest from South Africa is sometimes credited with pressuring the South African government to dismantle apartheid ([https://en.wikipedia.org/wiki/Disinvestment_from_South_Afric...](https://en.wikipedia.org/wiki/Disinvestment_from_South_Africa)). University investment funds were in the vanguard, after student protests on campus.

But in that case, as would be true here, change came more from the awareness of the problem divestment brings as the economic effect. Private action can motivate public action.

Regardless, financing the activities of something you find immoral is immoral. Your logic--that if you don't do something, someone else will--is the rationalization for much wrongdoing.

<comment><USER7> >Source?

From [http://www.iop.harvard.edu/does-divestment- work](http://www.iop.harvard.edu/does-divestment-work)

>"The conventional wisdom is that divestment from South Africa was a success; public pressure lowered targeted companies' stock prices and forced them to comply with the divestment activists' demands. However, the true impact of divestment from South Africa is unclear. In a 1999 study, Ivo Welch and C. Paul Wazzan examined the impact of divestment from banks and corporations active in South Africa and found that these campaigns had almost no impact on public market valuations:"

And from the 1999 study they referenced:

>"Despite the prominence and publicity of the boycott and the multitude of divesting companies, the financial markets' valuations of targeted companies or even the South African financial markets themselves were not easily visibly affected. The sanctions may have been effective in raising the public moral standards or public awareness of South African repression, but it appears that financial markets managed to avoid the brunt of the sanctions."

</comment></comment></comment><comment><USER9> Nice work, Colombia. I hope that others follow suit.

And maybe the awareness around this issue will then lead to a discussion of the high human cost of the War on Drugs, the greatest burden borne by our citizens of color. And maybe that will cause us to revisit our criminal justice system and end the war on drugs.

Private prisons are a symptom, not a cause. For a better understanding of the forces leading to prison privitization and a myriad of other woes and injustices I _strongly_ recommend reading "The New Jim Crow" by Michelle Alexander.

<comment><USER10> Colombia != Columbia

</comment></comment><comment><USER11> Is there any reason to believe that _private_ prisons are significantly worse than publicly run prisons?

I agree that the U.S. is badly in need of major reforms in its criminal justice system, but is there any reason to believe that society is better off with exclusively publicly run prisons?

Private prisons may do some regrettable lobbying on behalf of longer prison sentences, but I'm pretty sure that the corrections officers unions (most of whose membership works in publicly run prisons) is a far stronger political force.

It seems as though the students' activist energy would have been better used fighting the policies of mass incarceration rather than the private companies who do the government's bidding in applying them.

<comment><USER12> Private companies have a greater motivation to maximize profits than public entities do. The problems stem from that.

That is more or less the ACLU's opinion, as well.

[https://www.aclu.org/blog/private-prisons-are-problem-not- so...](https://www.aclu.org/blog/private-prisons-are-problem-not-solution)

<comment><USER11> >> Private companies have a greater motivation to maximize profits than public entities do.

Corrections officers unions have strong motivations to keep prison populations high as well and unions tend to be stronger in the public sector than the private sector so its not obvious that private prisons increase the aggregate political pressure for high prison sentences.

[http://mic.com/articles/41531/union-of-the-snake-how- califor...](http://mic.com/articles/41531/union-of-the-snake-how-california-s- prison-guards-subvert-democracy)

>> The problems stem from that.

This seems like a serious inversion of cause and effect. Our problems with prisons pre-dated the growth in private prisons and private prisons remain a small fraction of the overall prison industry so its hard to see how private prisons could be the primary source of the problem.

<comment><USER13> >Corrections officers unions have strong motivations to keep prison populations high as well and unions tend to be stronger in the public sector than the private sector so its not obvious that private prisons increase the aggregate political pressure for high prison sentences.

It's not about prison sentences. It's about the poor conditions of private prisons and the rampant abuse there.

<comment><USER14> Haven't looked at this closely, but I would think corrections officers would care about keeping their jobs and increasing their pay, and perhaps reducing their work (by lowering the prisoner/officer ratio).

Those incentives seem benign compared to a private corporation, which would be incentivized to increase the prisoner population (build more prisons, more revenue), and increase the prisoner/officer ratio (more profits). These changes would have a negative impact on prisoners, officers, and society at large.

</comment></comment></comment></comment></comment><comment><USER15> The thing about this is that as long as there is a private prison industry, or really any privatization of fundamental government functions, that makes profits, there will be investors that will replace anyone who makes some moral investment decisions.

I laud their efforts and there really should be more of these ethical decisions in investment by public organizations, but reality is those choices are simply a symptom of moral people compensating for the moral depravity of our own government.

</comment><comment><USER16> Guess I was naive. Assumed few to no universities invested in prisons...

</comment><comment><USER17> That makes a Plus in my book for Columbia. And I thank the students who set this in motion with their protests.

</comment><comment><USER18> I don't understand why this matters? In every transaction, there is a buyer and a seller. Even if Columbia divests, someone else is buying in.

The bigger impact is if no one buys newly issued equity.

The biggest impact is stopping them from collecting revenue, i.e. stopping the government from having privately run, for-profit prisons.</comment>


Ask HN: Does Google have a place to report poor ad placements? - <AUTHOR> http://imgur.com/hhOYUJb
Does Google have a place where people can report unfortunate ad placements?
This example: I do some voluntary work around suicide prevention.  My local newspaper has had some bad reporting around suicide.  I was searching for one of these examples of bad reporting, using the search terms "rope" and "suicide". The ad detected rope.
It's unfortunate placement for that ad. <comment><USER2> I'm more concerned about a commercial site that bought "suicide" as a term.

</comment><comment><AUTHOR> Clickable link: [http://imgur.com/hhOYUJb](http://imgur.com/hhOYUJb)</comment>


My first app just got published to the app store Here's what I learned. - <AUTHOR> http://www.reddit.com/r/programming/comments/7ojw5/my_first_app_just_got_published_to_the_app_store/ <comment><USER2> Good perspective from a developer doing the entire process. Learning experience side, he'll probably have quite a challenge seeing significant success in the long run (IMO). He might not care about that though, it's very exciting to both make and publish iPhone apps. I'm over web apps, lol.

I just gave a brief presentation last night a CocoaCoder's group in Austin discussing my company, and our first go at the AppStore. I also outlined our strategy for 2009. Here's a PDF. It's not very long, mostly focuses on the business side of things, non-technical.

[http://dl.getdropbox.com/u/184250/CocoaCoders%20%2801-08-09%...](http://dl.getdropbox.com/u/184250/CocoaCoders%20%2801-08-09%29.pdf)

<comment><USER3> Very nice. Thanks for sharing. Are you taking on new members? It sounds like a great model to share the common costs, and share the profits.

<comment><USER2> Thanks, just updated the PDF with a few things I forgot that I thought were important. At the moment, I think we've got our hands full for the next 3-4 months as we recently announced full-service publishing.

The open-ended model works great for getting things going, but I'm not sure it's viable in the long run. The company needs it's own profits to grow and re-invest in itself. If things go really well, then we'll move to equity stakes in the company and take salary. Two of us still rely on consulting/dev work for primary income.

<comment><USER3> What's full service publishing?

<comment><USER2> we can do everything from start to finish (design, develop, publish, promote)

<comment><USER3> What do you do for promotion?

</comment></comment></comment></comment></comment></comment><comment><USER4> The "myriad of tax forms" can be very, very nasty if you're not american. Documentation is confusing and I can assure you that the forms are not so understandable, if you're not a native speaker. The docs on apple site say to apply for a 'TIN' but, as I learnt after some days, a TIN is almost impossible to get outside the US (it seems that you have to send your passport to the IRS by mail). After a while (and a very useful post on the Internet from an UK guy that managed to get it I discovered that the key is to apply for an EIN. You can apply by phone, they release it to you immediately by phone and, after a while, you will receive a letter from the IRS with the number for your record... With the EIN you can send your W8-BEN... but this is another, different, story. Objective-C is easy and the development tools are very good (for an embedded system), the real problem (again, at least if you're not from US) are the US tax forms...

<comment><USER5> I might be on the wrong track here, but one option for assistance with US tax forms for foreign nationals might be to apply for a US stock trading account through a local stockbroker.

I setup a US trading account several years ago here in Australia through CommSec (local bank broker). I had to fill out a W8-BEN and a few other forms but they provided a full guide on how to do it. Just a thought.

<comment><USER6> Not quite. From a preliminary reading, it seems to me that there might be special exemptions on dividends from stocks and other instruments for nonresident alien individuals that don't extend to other kinds of income.

On the other hand, does Apple really need a TIN at all? Some people report that Apple is happy to have you skip it on the W-8BEN you submit to them because the 70% on iphone apps is 'sales/commission' and not 'royalties', hence not taxable at all (for non-US developers). I have asked Apple for clarification and am waiting to hear.

</comment></comment></comment><comment><USER7> *Don't shell out for the $100 version that lets you push apps to your iPhone until you have AT LEAST the rough draft of your app completed and running on the simulator. There's nothing worse then spending $100 on something and then never using it because you've lost interest.

Disagree, without a developer provisioning certificate you can't test the app on a real phone. There are a few inconsistencies between the Simulator and the real device, you need to test early.

re: the red tape. This is only a problem if you charge for the app. Free apps are dead simple, and Apple has been super responsive in approving our app. Only took them 3 business days.

</comment><comment><USER8> So does anyone of you iPhone developers actually market your apps at all or do you just leave it to chance?

<comment><USER9> What are the possible ways of marketing an iPhone app?

</comment></comment><comment><USER10> I understand it's not easy to learn a new language and that the apple process can be tedious but it's definitely not that bad. I have publish a couple of apps for clients without any problems. Somehow people think because it's for a phone it's supposed to be simpler.

</comment><comment><USER11> For those of you that have published a paid app, how long did it take to get through the Apple application process and then the app approval process?

<comment><USER12> When I applied under a business name, it took about 3 weeks for Apple to finally contact me asking for business documents. In the interim, I applied as an individual and I was approved immediately.

I finally got first app approved and onto the app store this week. When I first submit, I was rejected exactly 7 days after submission. I fixed my error (wrong version in the Info.plist file) and resubmit the same day I received the rejection email. 5 days after the resubmission my app was approved for sale.

Once I got the email that the app was ready for sale, it appeared in the app store about 18 hours later.</comment></comment>


Objective-C isn't what you think it is - <AUTHOR> http://news.rapgenius.com/Rap-genius-engineering-team-objective-c-isnt-what-you-think-it-is-if-you-think-like-a-rubyist-annotated <comment><USER2> Personally I think it's an awful idea to use meta-programming without an exceptionally good reason in production code. Like excessive use of function pointers in C. Just because you can doesn't mean you should. Programming in this style causes more code complexity and will accelerate the rate at a which a codebase becomes a mess, not to mention it's really slow.

<comment><USER3> This has always been my view.

New developers (less than 10 years professional experience) seem to become fascinated by "cool" language features that let them do unintuitive things and then approach problem solving with a mindset of "What cool tricks can I do to solve this?"

Instead, the experienced developer will always approach a problem with "What is the simplest way to solve this problem?"

<comment><USER4> Sometimes the simplest way is to use a "cool" language feature.

For instance: say you have an app with 30 different ViewControllers, and you need them to respond to the same notification. Sure, you could go back and refactor every one to subclass from another class that inherits from UIViewController - but then you need to make that for UITableViewControllers and UICollectionViewControllers, and potentially any other new view controllers that come along if your codebase ends up lasting for years.

Or, you could make one class category that method swizzles the viewDidAppear method to add the notification handling in immediately. Every class that inherits from UIViewController will now respond to that notification.

<comment><USER5> [http://stackoverflow.com/questions/5272451/overriding- method...](http://stackoverflow.com/questions/5272451/overriding-methods- using-categories-in-objective-c)

<comment><USER4> [http://nshipster.com/method-swizzling/](http://nshipster.com/method- swizzling/)

<comment><USER6> Isn't that just monkey patching?

<comment><USER4> [http://en.wikipedia.org/wiki/Monkey_patch](http://en.wikipedia.org/wiki/Monkey_patch)

By that link's definition, then yeah, it's basically monkey patching.

<comment><USER7> I think a lot could be said here for maintainability. As others have mentioned, it really goes a long way to take the time and refactor the class to inherit the extra/common functionality if you are working on a team or working on a project that you know will live a very long time. Swizzling will certainly work, but at what cost to readability, debugging and reuse? That's normally the question I ask before swizzling or doing fancy, dynamic things.

Sometimes the quickest or even the most elegant solution isn't necessarily the "best" one. Best being a subjective term, I would say it depends on what you need from your code over time and with whom.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> With all the many languages I've used in my life, ObjC is actually my favorite to work with, especially with the modern runtime and features. I first used it in the 90's with NeXT WebObjects and was pleased to see it become popular again.

<comment><USER9> Sounds like you've not tried a functional language yet in your life :p

<comment><USER10> Be careful with this kind of thing. You're inadvertently making the FP community look bad. A more constructive and less pushy approach would have been to recommend an enjoyable FP language and explain why you think it suits the parent.

<comment><USER11> I think the tongue out smiley face means they were playfully joking.

</comment></comment></comment></comment><comment><USER12> They're similar enough that MacRuby [http://macruby.org/](http://macruby.org/) is actually built on top of the Objective-C runtime (I'm surprised that the article doesn't mention that).

<comment><USER13> Yes, ruby has a strong smalltalk foundation (messages & runtime). Thus it makes sense to compare the roots of both langs in the way they interact with messages & the runtime.

</comment></comment><comment><USER14> > Objective-C isn't what you think it is

A language without namespaces, that's used almost exclusively for iOS apps and nothing else. Nope, that's exactly what I think it is.

<comment><USER15> Yep. And the fact that Apple did _absolutely nothing_ to evolve the language into something better shows that they just don't give a fuck about tools and most importantly _about their developers!_ Maybe it's better than C++ or other alternative, maybe XCode is quite good, but this just show that _since the days of NeXT (the 80s!), they just don 't give a fuck!_

...hate to say it, but nowadays the only big company that seems to care about developers and actually gives them cool tools and languages is _Microsoft!_ C# with all its extensions, F# and the cool research they do in the languages area shows one thing: _they care about us!_

<comment><USER16> This really isn't true.

[http://en.wikipedia.org/wiki/Objective_c#Objective- C_2.0](http://en.wikipedia.org/wiki/Objective_c#Objective-C_2.0) [http://en.wikipedia.org/wiki/Objective_c#Automatic_Reference...](http://en.wikipedia.org/wiki/Objective_c#Automatic_Reference_Counting) [http://en.wikipedia.org/wiki/Objective_c#Blocks](http://en.wikipedia.org/wiki/Objective_c#Blocks)

Objective-C also suffers from C interop considerations that make it more difficult to extend and evolve the language than something like C# or Java.

(None of this is to denigrate the wonderful work MS has done when it comes to language innovation.)

</comment></comment></comment><comment><USER17> Please use this stuff sparingly though, especially things like resolveClassMethod: as it makes for some incredibly difficult to follow code that can segfault with some very strange error messages. Your future team members thank you.

<comment><USER18> Even without the segfaults, you would have to document stuff like that excessively to preserve long-term benefit. But who reads documentation?

</comment></comment><comment><USER19> i enjoyed this b/c i recently made the jump from ruby to obj-C and, though scary at first, i now feel incredibly comfortable working in obj-C and think i even prefer it. so, that's cool.

i do see at the bottom that this post is one of those "inbound marketing for job candidates" things. that's cool, too... but, i gotta say, as soon as i read the sign off, "If you want to work somewhere where..." i thought to myself, "not in a million f'ing years - that company is run by jerks!"...now, maybe the founders are actually good people but their public personae is just so off-putting that it totally undermines an otherwise well-done marketing blog post. i'm curious if that's just me or if they generally have trouble recruiting.

<comment><USER5> Isn't Rap Genius basically an online Talmud meant for anything?

<comment><USER20> Not yet.

</comment></comment></comment><comment><USER21> When I first started toying around with Objective-C and got past the syntactic differences with Ruby, I was struck by how similar Ruby and Objective-C are, and concluded that they were clearly inspired by a common source (Smalltalk) or by one another or both. Although this kind of thing is no doubt mentioned in the Wikipedia articles, it was interesting to observe the commonalities firsthand and in context.

</comment><comment><USER22> On "concise syntax" \- this works well when your vocabulary is large. But when you have to search for an English word that's sorta-like what you want to do, and then contort the definition to fit the algorithm, readability suffers. For example, JavaScript's Array.join() and SQL's JOIN are radically different concepts and the definitions are not interchangeable, only tangentially related in the respect that all the information being 'join'ed ends up in one [maybe larger] pile.

With respect to the article, concision looks like an artifact of standard practices by the languages users rather than any part of the language specification. One can be just as concise in ObjC (or C or Java), but the tradeoff is still readability.

</comment><comment><USER13> AFAIK Objective-C does indeed have dynamic features. It's also static & weak. So I already have a problem with the first line of the article:

> Ruby and Objective-C look like opposites: one is dynamic, the other's > static;

EDIT: Just read that the author basically denies those claims in the next paragraph.

<comment><USER23> Nice.

<comment><USER24> Like this comment, right? :)

<comment><USER23> Ha. Didn't expect you to read through my post history. I guess that makes me a hypocrite.

</comment></comment></comment></comment><comment><USER25> I've never really thought about it before but PHP has some very similar metaprogramming features.

For starters, the incredibly dangerous runkit extension (like importing Objective-C's runtime).

There's also the Reflection API, which provides introspection and is quite widely used.

PHP also has magic methods, such as __call(), which give the ability to handle calling a method that doesn't exist.

As others have mentioned about Objective-C, these are all nice tools to know about and understand, however using them is often a code smell and can lead to unmaintainable code.

PHP doesn't have anything like categories, which is a shame because they look really useful in cases (as long as you don't mind violating the SRP a little). PHP has traits, which are more similar to mixins in ruby than categories in Objective-C.

Oh, PHP also has eval().

</comment><comment><USER26> These features are extremely difficult to use when C types are involved. @encode() mitigates this to some extent, but there are some C types that you can't fully express using @encode(), and it can't properly handle all types (namely out-pointers).

</comment><comment><USER27> Yes. Using objc_msgSend and NSSelectorFromString, you can call functions, dynamically _by name_ in Objective C.

Yes, it's dangerous. Clever, and not quite as easy as your favorite dynamic scripting language, but Obj-C supports it.

My favorite personal use case so far is an Objective-C state machine, where state names are strings, and state callback functions can be added to the code & called without declaration. It's not really saving much technically, but it eases just a tiny bit of mental & manual friction to be able to modify the code without having to update header files.

<comment><USER28> You can even do it in POSIX C with dlsym.

<comment><USER29> Heh, true, though it requires that the function you want to call be in a dynamic library.

<comment><USER28> I thought so too, but the man pages suggest that may not be a requirement.

Under Mac OS X, it looks like dlsym(RTLD_DEFAULT, "symbol") will look for the symbol anywhere.

Under Linux it looks like dlopen(NULL, flags) will open a handle to the main program which can be passed to dyslm's first argument.

</comment></comment></comment></comment><comment><USER30> I like ObjC. It's true that what people generally use it for are the Cocoa features, but it could be a really good server language too (particularly with additions of blocks, GCD, and ARC). There are a lot of nice functional features that would make server development fun. It's pretty clear why Apple doesn't push it this way, but I think it could be a good server platform.

</comment><comment><USER31>
      Dynamic method resolution isn't the only superpower of *sick* mutable languages like Ruby and Objective-C

I think he means _slick_ , or the author has a funny sense of humor.

<comment><USER32> No, he means sick.

[http://www.urbandictionary.com/define.php?term=sick](http://www.urbandictionary.com/define.php?term=sick)

(First definition.)

<comment><USER31> Thanks, never heard it that way.

</comment></comment></comment><comment><USER33> Pity that he mixes languages with implementations, by stating Ruby doesn't have a compiler.

</comment><comment><USER34> I think objective-c is an horrible piece of shit, I dont think I am that far from what it is.

</comment><comment><USER35> rapgenius are a bunch of douches, and i cant take them seriously no matter what.

</comment><comment><USER36> I don't like ruby very much, but I prefer it to objective C. So I don't like objc at all.

</comment><comment><USER37> I thought it was a pice of shit.</comment>


Ask HN: Have electricity concepts been applied to information systems? - <AUTHOR> I'm looking for an analogy between information transmission and eletrical circuits concepts and measures:
- Current/Tension -- Amperes -- Frequency -- Frequency - Potency -- Watt -- Joule
Would be interested in any source, either some research papers or your thoughts in a comment.
I think it can be a good thought experiment but I'm especially intrigued what would be the analogous of Current frequency.
After having a significant outage in one of the systems I maintain and reading the UK power outage analysis[1] I wonder if we could learn from these systems and find better measures to detect systemic problems.
[1] https://mitchoneill.com/blog/uk-blackouts-interim-report/ <comment><USER2> [http://networksciencebook.com/chapter/8#cascading](http://networksciencebook.com/chapter/8#cascading)</comment>


GemCutter.org becomes RubyGems.org (at last) - <AUTHOR> http://update.gemcutter.org/2010/02/20/rubygems-org-move-complete.html

<comment><USER2> It's pretty impressive how quickly the Ruby community has turned this around.

<comment><USER3> What's the backstory? Is there more to it than a domain name change?

<comment><USER4> It was really the main goal of the project, to provide a drop in replacement for gem hosting from RubyForge...this is the culmination of that and working together with the RubyGems team to make instant gem deployment (gem push) available out of the box when you download RubyGems.

There was a lot of work involved with this over the past few months... We transferred ownerships of gems and logins over from RubyForge, setup redirects for the docs site now at <http://docs.rubygems.org>, and a lot of effort went into getting code from the gemcutter gem merged into RubyGems proper.</comment></comment></comment>


QAnon and the Return of Magic - <AUTHOR> https://youtu.be/Ca2DSsuE7jI <comment><AUTHOR> I probably crossed the HN rules line on posting political content. Fair enough if it gets flagged.

<comment><USER2> its not so much that its political per se, its that it doesn't move the discussion forward.

</comment></comment><comment><USER2> The problem with this video is the same problem with most other "debunking" attempts, they aren't really examining the other side's arguments charitably. Its true that would take a lot more time and effort but if you're not willing to put that time and effort into your work, you end up being part of the bifurcation of consensus reality. Qanon believers are going to immediately see how you approached the subject with a preconceived verdict, and people who don't agree with the qanon thesis are only going to watch this for confirmation of their own beliefs. The end result is that people on either side of the issue interpret the artifact as confirmation of the beliefs they already held.</comment>


Ask HN: Have you succeeded in creating a source of passive income? - <AUTHOR> Share your story on how you have succeeded in building a source of passive income. I will love to know some solutions and how to approached to do that?<p>By Passive income i mean, a source of income other than your regular job where the effort to money ratio is good. <comment><USER2> Yesterday, I had the same question. Asked it on Reddit.

I consider building my own website with Affiliate Links. I need to spend some time on development. And I chose a little bit tough niche.

As always it is buying property and index funds.

For extra money right now, I check freelance platforms and FB groups to get a gig. It's not passive but I'm glad to earn some cash. A few weeks ago I found a new website [https://periodix.net/](https://periodix.net/) . It shows me projects from all platforms where I searched on a gig. (Upwork, WeWorkRemotely, Remotive etc.)

</comment><comment><USER3> Some of the comments in this thread will answer your questions: [https://news.ycombinator.com/item?id=18479588](https://news.ycombinator.com/item?id=18479588)

</comment><comment><USER4> I created a service providing the trades I get into. Since the trades are easy to follow, and it works, it results in people subscribing.</comment>


The United States might be the next Argentina - <AUTHOR> https://www.washingtonpost.com/news/wonk/wp/2016/12/22/the-united-states-might-be-the-next-argentina/?utm_term=.15edaa808f69 <comment><USER2> The Washington Post sure likes to prognosticate despite a dubious track record. The world will never be fair so long as people are free to choose differently.

</comment><comment><USER3> "Right-wing governments had no interest in educating the workers or investing in anything other than the landowners' exports."

Gee, no bias there.</comment>


Wikileaks released 294,548 emails from Turkey's ruling political party - <AUTHOR> https://twitter.com/wikileaks/status/755500104543526912 <comment><USER2> mods: this story is marked as [dupe], but I don't seem to be able to find another version of it. Has someone abused that mechanism, for whatever reason? It might be good if one is required to provide a url in order to mark a story as duplicate.

</comment><comment><USER3> It seems to be down. I searched "rebel" and got an error.

<comment><USER4> Looks like it's up now.

</comment></comment><comment><USER5> This means that GRU has a pretty good net of spies in Turkey.

<comment><USER6> Could you explain why a wikileaks dump implies Russian spies?

<comment><USER7> I think the assertion is that there's a pattern with wikileaks releases of late, specifically that most targeted countries and institutions happen to be adversaries of Putin and/or Russia.</comment></comment></comment>


Show HN: JustBeamIt v2.0 - file transfer made easier - <AUTHOR> http://www.justbeamit.com/

<comment><USER2> JustBeamIt is great, but why are you posting this again now?

A Lifehacker article[1] about it was posted a year ago, and you even posted it on HN[2] a year ago.

1: <https://news.ycombinator.com/item?id=3116057>

2: <https://news.ycombinator.com/item?id=3109081>

<comment><AUTHOR> we just released an updated version and wanted to tell the world about it

<comment><USER2> Do you have a changelog or something? What's different?

<comment><AUTHOR> no, we don't have a changelog. with the new version comes a new redesign, much better browser support, a new back-end architecture that is not visible to the users but makes for improved experience, progress updates for both ends of the transfer, better notifications during the transfer, and the most important feature... multiple file transfer

</comment></comment></comment></comment><comment><USER3> Was this made at the LinkedIn hack day last year? I think I remember seeing this when I was there.

EDIT: Yes <http://twitter.com/JustBeamIt/status/124645928228495360>

<comment><AUTHOR> Yup! It was born at the first annual LinkedIn intern hackathon last summer :)

<comment><USER3> Sweet, glad to see you're still going through with it! I think other than that crazy WebGL game, you guys got the most props from James Gosling.

<comment><AUTHOR> thanks! it was incredible to hear James Gosling say good things!

</comment></comment></comment></comment><comment><USER4> Very cool idea - you might want to make it a bit clearer that the sender has to keep the window open (initially I assumed it simply wasn't loading because of technical issues).

<comment><USER5> Also a loading gif or something. The pages makes it look like nothing is happening. There is no progress indicator.

<comment><AUTHOR> there are progress updates, but only after the file begins transferring. also, we can't show you progress in IE, so we just show an animated spinning gif (only in IE)... what browser are you using, and at which step in the process do you feel that we're lacking progress updates?

<comment><USER5> I was using chrome and nothing was moving or updating so I just left (got a warning that something was happening though)

</comment></comment></comment></comment><comment><USER6> Didn't work for me - Dragged file (jpg) using Chrome (Version 22.0.1229.94 m) opened link in IE 9 (9.0.8112.16421). Went to 100% on chrome once link was opened then just stuck on "waiting for response from justbeamit.com" in IE. Seems like a cool idea.

<comment><AUTHOR> you might have to enable file downloads in your security settings in IE... have you tried using non-IE browsers? if it works for you with another browser, then the issue must be a security setting in IE (which is something I've had to manually enable when I was testing this out)

</comment></comment><comment><USER7> Awesome! Most of the file transfer sites I've used before required uploading the entire file before letting you download anything. The ability to stream is a big plus.

Is there a limit to file size?

<comment><AUTHOR> not at the moment, and not planning on putting a restriction on file size :)

<comment><USER8> Does the data transfer go through your website's servers, or is it direct from uploader to downloader? Is the transfer encrypted?

Thanks!

<comment><AUTHOR> the transfer goes through our server(s), kind of. all of the bytes do pass through our servers, but they are not stored at all. we are simply a gateway between the uploader and downloader. what you're describing is pure peer-to- peer. the transfer is not encrypted at the moment. we do support encrypted transfers, but we have not turned that on yet

</comment></comment></comment></comment><comment><USER9> This is a great concept. I imagined doing something just like this as an exercise to practice a new language, but I'm glad to see it's already been done.

</comment><comment><USER10> Love it.

You're plainly trying to keep it simple, but how about a speed indicator next to the progress percentage?

<comment><AUTHOR> that's an awesome idea and i hope we can figure it out one day :P our attempts so far have been unsuccessful. if you have any ideas as to how to do this, send them our way!

</comment></comment><comment><USER11> simple. sweet. easy to use. love it.

<comment><AUTHOR> :)</comment></comment>


Ask HN: Are ACM worth a membership? - <AUTHOR>

I see acm offer a lot of Computer Science articles located in one page. To access a download-link, I have to sign up for a membership, so the question is, are they worth the effort and money?<p>ref. http://www.acm.org/ <comment><USER2> I renew my membership each year mostly to support the Turing Award.

The journals (both online and print) are nice bonuses, but the satisfaction of supporting our field's Nobel Prize is well worth the nominal $99/year membership fee.

</comment><comment><USER3> It's $99 per year and $50 for students. I've been on the fence for a long time, on the one hand there are tons of interesting papers to read, on the other I try to be a member of as little things as possible.

Also, plenty of the content that is available on the ACM portal site is available elsewhere, usually pre-prints on the authors websites.

Personally I think all research that is somehow subsidized ought to be accessible to the general public without payment.

edit: make that 2x$99, once for the membership and once for access to their digital content.

<http://www.acm.org/membership/dues>

<comment><USER4> The academic granting system is kind of complex now. But this is not the issue with ACM's position as the 'publisher' with copyright ownership to 'academic researchers' paper.

I think there is need for AAAI, ACM, IEEE, SIAM, American Physics Society to open up their vast digital libraries to general public via internet, at the same time a business model for those organizations to be repository maintainers for the papers in the long run. (I think we need such organization to exists because all authors of academic papers eventually will leave academic due to death, retirement, working for industry that won't publish). So far I think no one has a good solution yet.

</comment></comment><comment><USER5> Beside the academic papers, access to the Skillsoft courses and Books 24x7 are well worth the price of the basic ACM membership. I've found the free ACM journal often has useful content as well.

</comment><comment><USER6> It's worth it to me because they present a respected and sane point of view concerning computing to the U.S. congress. CACM makes me aware of the larger context. The Safari subscription you get includes much, but not all, of O'Reilly's catalog, in addition to a lot of other titles related to computing and the business thereof.

</comment><comment><USER7> If you're near a large library that allows public access, they may have subscriptions that allow access to journal articles on their computers.

I'm an ACM member, but for any other papers I just walk into the university I live near with a USB key.

</comment><comment><USER8> No.

</comment><comment><USER9> If you need more than a few ACM papers, it probably is.

<comment><AUTHOR> aren't articles published under the domain of academia supposed to be free of charge?

<comment><USER9> It would certainly be nice for work supported by public funds, but that isn't the way it is now. I'm assuming the OP needs the information in the journals now or in the near future, so he has to operate under current conditions.

</comment></comment></comment><comment><USER10> Most definitely, yes</comment>


Google Australia Doodle: Celebrate Robert Moog's 78th Birthday - <AUTHOR> http://www.google.com.au/

<comment><USER3> The doodle is reminiscent of a Minimoog [1], but with several simplifications to make programming easier and more musical.

1\. <http://en.wikipedia.org/wiki/Moog_synthesizer>

Mixer section

The large knob at the left is overall level (which does not equate to silence at its minimum setting, probably for UI simplicity). The three knobs to the right govern the volume of 3 individual oscillators.

Oscillator section

The leftmost 3 knobs define the pitch octave range for each of the three oscillators. LO is a subsonic frequency mainly used for modulation purposes in real life. #2', 16', 8' etc. refer to the length, in feet, of the pipe on a pipe organ that will produce tones of that frequency. A 32 foot long pipe produces a very deep bass tone (about 16 Hz, probably sounds like noise on most speakers), a 16 foot pipe produces a tone exactly one octave higher, and so forth. There are no 64 foot pipes that I know of, hence the LO setting. It's not possible on this little synth, but normally you would use those super-low frequencies as modulation sources for other things. The two knobs in the center allow tuning of the oscillators across a 2-octave range. Really, this ought to be graduated in semitones. If you turn down the center oscillator and put the other two on identical settings, you should, in theory, get the same sound only twice as loud, but the doodle is a little bit buggy and sometimes pegs one oscillator an octave above or below the other. It's easiest to just reload periodically. On a real-life analog synth of that generation, the oscillators would drift out of tune and need to be calibrated periodically; also, the tuning would change as the machine warmed up over the first half-hour or so of operation, so early electronic keyboard players often had difficulty staying in tune with the band. It was this pitch instability that caused everyone to rush towards digital synthesis at the end of the 1970s, although nowadays you can get very stable analog oscillators.

The rightmost 3 knobs set the shape for each oscillator; triangle, saw, inverse saw, and pulse waves with 10%, 25% and 50% duty cycles respectively. I think there is something amiss with the display of the saw waves on oscillators 1 & 2\. Saw vs. inverse saw makes no difference on a single oscillator but where you have 2 or 3 choosing different directions for the wave can lead to interesting textures. The shape of the oscillator affects the harmonic content thereof. A triangle wave sounds very close to a sine wave - <USER2> piercing pure tone - while being computationally inexpensive. (Stable sine waves are surprisingly hard to generate on the fly unless you have a lot of DSP power, and even digital synthesizer manufacturers often cheat by using lookup tables for sine waves rather than generating them.) A saw waves contains all possible harmonics and is a good basis for brassy sounds like those of trumpets. Square waves (pulse waves with a 50% duty cycle) sound 'hollow' because they only have odd harmonics, and are a good basis for synthesizing woodwind sounds, where the absorbent nature of the material dulls the sound somewhat. Combining pulse waves of different duty cycle can lead to texturally interesting effects, although this is much more noticeable when the length of the duty cycle can be modulated, as opposed to merely switched.

Filter section

Something has gone terribly terribly wrong here, because this does not behave like any Moog synthesizer I have ever used. The top left knob controls the filter cutoff of a low pass filter, ie the frequency above which higher harmonics will be cut off. This is sort of like the effect you get if you sing a continuous AAAAAH tone with your mouth open and then gradually close your lips. Normally the knob tot he immediate right could control resonance, which boosts the signal around the cutoff frequency and produces an intense whistling/shrieking sound as it is turned up to maximum. High resonance and low cutoff settings act like a spotlight upon the timbral complexity of the oscillator output and are a staple of electronic music.

2\. <http://www.timstinchcombe.co.uk/synth/Moog_ladder_tf.pdf>

I am not sure what the rest of the knobs are supposed to do. They seem to allow oscillators 2 and 3 to be individually filtered, but unfortunately when I hold down a key and tweak the filter knobs the sound tends to break up. This is probably because the adjustment of filter and resonance controls in DSP require constant recalibration of filter coefficients, which is computationally expensive and not well implemented here. It is not normal to filter individual oscillators on an analog synthesizer. Normally one wants to apply a single filter to the mixed sound of the oscillators and modulate that with an envelope or low-frequency-oscillator. Visually, this looks (slightly) reminiscent of a Moog Ladder filter [2], but that's usually a 4-stage transistor ladder, not a front panel set of controls.

This is not how a synth of this style normally works, which is a real pity. It does not help that there are no tooltips; I've been making electronic music for 15 years and can't figure out exactly what's supposed to be going on here, so I feel bad for anyone who is trying to learn something from playing with this and getting frustrated. I tried looking at the javascript [3] but it's unreadable outside of an editor and I have neither the time nor the inclination to troubleshoot it.

3\. <http://www.google.com.au/logos/2012/moog.2.js>

Envelope section

This is the simplest part; the envelope defines the volume behavior when you press a key. The topmost knob is attack, or how fast the sound fades in; very fast for a plucked instrument like a bass guitar, slow for a string sound. The sound swells to maximum over the duration of the attack time, then falls back to the sustain level, adjusted by the middle knob. The last knob governs release, how fast the sound fades away after the envelope completes its cycle. If you set this very short the sound will die even if you hold a key down. Due to some oddities in the input processing event queue, as with the oscillators, the envelope's behavior is rather less than consistent.

As for the switch and the modulation wheel, I'm not clear on what is connected to what, for the reasons described above. I'm guessing there is an invisible low frequency oscillator for vibrato/tremolo purposes (modulation either the base frequency or the amplitude slightly to give a sound some extra texture), but the lack of tooltips and inconsistent behavior make them difficult to use in any predictable way.

If you are fascinated by this tool but frustrated, as I was, by the implementation problems, then you might like Morningstar (<http://bitterspring.net/ms/morningstar/>) - a basic html5 emulation of a popular Korg synthesizer/groovebox. Or Audiotool (<http://www.audiotool.com/app>) - a fully fledged html5 electronic music tool that sounds quite good considering it runs in the browser, but which may be overly complex for the novice.

<comment><USER4> The more I play with the filters the more I think the mystery knobs are controlling filter envelope or modulation

</comment></comment><comment><USER5> Why on Earth is this not on the main/US homepage.

Moog is a icon across the whole tech music industry, having him remembered on the com.au homepage as an Australian doesn't do him and his legacy justice.

Would we celebrate Einstein only on google.de?

[Addendum] Timezones, gotcha. Let's hope this great doodle makes it to the .com homepage :)

<comment><USER6> ...because his birthday is on May 23rd, and it's not May 23rd in the US yet? Google roll their doodles out across timezones (also, Robert Moog was American, not Australian...)

Here's a bet: in about 8 hours of so another story bubbles up HN about this, but on the US page instead.

</comment></comment><comment><USER4> An HTML5 softsynth. Words cannot describe the joy I'm getting out of learning this is possible. My world is forever changed.

And it sounds very moog-like too

<comment><USER6> Not just a softsynth: there's a very basic multi-tracker in there as well!

<comment><USER4> Wow I didn't even realize the recorder had 4 tracks. Amazing!!

</comment></comment></comment><comment><USER7> That's great. It actually has a really good sound - wonder how it's implemented.

Couple of niggles though - the 'doodle 'link you can make of your recording is a short url that doesn't jump back to the au site. Worse than that, the recording doesn't come out sounding anything like the sound I recorded in the first place.

Really cool though.

<comment><USER8> The synthesizer uses the Audio API on Chrome and Flash on all other browsers.

</comment></comment><comment><USER9> Those knobs are really hard to control with the mouse. Can anyone find a resource that explains what each control changes?

<comment><USER10> You can use the arrow keys to control the knobs, and letters/numbers/punctuation to control the keys.

</comment></comment><comment><USER11> I can actually pay to find out how this (and Google's other Doodles) are made.

</comment><comment><USER12> Is this only for Chrome? It doesn't seem to do anything in Firefox 12.

</comment><comment><USER13> must. have. more. patches! and a sampler. and two mice.

<comment><USER14> You can play both the keyboard and turn the knobs at the same time: press the number keys on your keyboard for the keyboard, use the mouse for the knobs.</comment></comment>


Profiling Python in Production - <AUTHOR> https://nylas.com/blog/performance <comment><AUTHOR> Here is a profiler developed by dropbox using the same technique described in the article:

\- [https://blogs.dropbox.com/tech/2012/07/plop-low-overhead- pro...](https://blogs.dropbox.com/tech/2012/07/plop-low-overhead-profiling- for-python/)

\- [https://github.com/bdarnell/plop](https://github.com/bdarnell/plop)

</comment><comment><USER2> Reducing CPU load also

* reduces power usage, wear and tear on hardware

* gives more capacity for traffic surges

* gives more headroom for new features

* enables running on a smaller instance

This isn't an argument against slow code, more of a suggestion to tune out unnecessary work.

<comment><USER3> Slow code is just paying for developer productivity in CPU time instead of labor time.

It's great in theory until the AWS bill arrives. Often times it's still fine, just depends where the bottom line is.

<comment><USER2> Agreed, I love slow interpreted languages like Python and writing _fast_ Python is a different kind of optimization that one would do C. In cases like the article, the biggest gains are in just not doing something, or doing it less often.

</comment></comment></comment><comment><USER4> Here is another Python profiler intended for live use: [https://github.com/what-studio/profiling](https://github.com/what- studio/profiling)

</comment><comment><USER5> This question might be bit naive but how is this approach any better or different from monitoring tools like NewRelic which does the profiling for you?

<comment><USER6> Author of the post here. That's a good question. I don't know if this approach is objectively better, but it has a few nice features.

* We generally favor free/open source solutions where practical.

* It is quite a bit cheaper in dollar terms.

* The actual code to make this work is very lightweight. By doing it yourself, you have total control, and can extend or tweak to get exactly the data you want. Being able to easily add bespoke instrumentation is really powerful. To give an example from one of our use cases (IMAP sync), let's say you wanted to cohort your data by mail provider. I.e., you suspect that the workload profile when syncing against server A is significantly different than syncing against server B, and you want to know for sure. It's pretty easy to take your codebase and your instrumentation, and add that by inspecting some thread-local context at runtime. Might be hard to do with an off-the-shelf commercial tool.

<comment><USER5> I completely agree about the bespoke instrumentation you have discussed here and this approach has started making a lot more sense to me now. I am gonna use it for one of our micro-services soon. Cheers for sharing this amazing post.

</comment></comment></comment><comment><USER7> >It's a large Python application (~30k LOC) which handles syncing via IMAP, SMTP, ActiveSync, and other protocols.

In what context is 30k LOC a large application ? 30k LOC is small enough that one programmer can write and easily have an overview of the entire codebase. Maybe it's a typo and it's 300k LOC

<comment><USER8> I'd also consider a poorly written and documented 30k LOC to be a "large" codebase, and it would probably take multiple people to wrestle with it.</comment></comment>


Tell HN: Linkedin group for single founders - <AUTHOR>

I am a single founder running a company from last 2 years. Over last 2 years I realized that there are lots of problems faced by single founders which perhaps only other single founders can understand. Most of the times all you need is some one who is (or has) run a business alone to talk to. It is like a single founders support group and networking club.<p>Here is the link to linkedin group : http://www.linkedin.com/groups?mostPopular=&gid=3696488 <comment><USER2> Maybe you create a website that will connect single founders with their co- founder. It's almost impossible to have a successful start-up on your own.

</comment><comment><USER3> How do I join the group?

<comment><AUTHOR> can you just send a request to join? if not drop me a line on my email. email id in profile.</comment></comment>


The Casimir Effect - Proof that universe will expand forever - <AUTHOR> http://antwrp.gsfc.nasa.gov/apod/ap061217.html <comment><USER2> Hmmm... not sure "provides evidence that the universe will expand forever" really becomes "proof that universe will expand forever."

Maybe on slashdot it would.

Still an interesting read. Those pictures are crazy addictive!

</comment><comment><USER3> _"... The attraction is known as the Casimir Effect, named for its discoverer, who, 50 years ago, was trying to understand why fluids like mayonnaise move so slowly ..."_

Mayonnaise and tomato sauce are my favourite types of _"Non Newtonian fluids"_ ~ <http://en.wikipedia.org/wiki/Non-Newtonian_fluid></comment>


Google does not index anything on meteor.com - <AUTHOR> https://www.google.com/search?btnG=1&pws=0&q=site%3Ameteor.com+javascript

<comment><USER2> It is in the faq: <http://meteor.com/faq/can-meteor-serve-static-html>

Can Meteor serve static HTML? Does Meteor work with JavaScript disabled on the client? Can Meteor sites be indexed by Google?

Meteor has been carefully designed to support this important use case, but it's not in the current Meteor builds. It will be part of our upcoming Routing release, which will make it easy to build Meteor sites that are aware of the current URL.

Briefly, the way server-side rendering works is that the Meteor app is started on the server and allowed to render the page. Then the session state is serialized (using the same migration technology behind Hot Code Push) and the app is frozen and pushed down to the browser, where it can optionally be restarted if the browser supports JavaScript. Since Meteor templating is based on HTML strings, not DOM manipulation, it's not necessary to run a DOM emulation package on the server.

</comment><comment><USER3> This seems bad:

<http://meteor.com/robots.txt>

</comment><comment><USER4> Because there's nothing there. Check the DOM. Blank. Furthermore, they're not explicitly asking to be indexed.

<comment><AUTHOR> Yes it is blank, that's what I am trying to point out. If some one decides to build a web app on meteor, it might be a pain to make it SEO friendly.

<comment><USER5> That's pretty obvious, but still interesting. That forces meteor users to confinate the framework for the sole application, nothing collateral.

</comment></comment></comment><comment><USER6> Site meteor.com is not indexed by Google because there is no text. Content is generated by javascript and it is not interpreted by Google robot. Website owners should use <noscript> tag.

</comment><comment><USER7> Awesome.</comment>


Apple reveals plans for self driving car - <AUTHOR> https://www.ft.com/content/5c643f94-b983-11e6-8b45-b8b81dd5d080 <comment><USER2> That's convenient. So Telsa with its head start should share the terabytes of proprietary data it's getting so that Apple, which is notoriously secretive and protective of it's own assets, isn't left behind.

<comment><USER3> Don't forget Google, who arguably predates even Tesla. They might not be selling cars, but they are certainly sitting on terabytes of great data from their 10(+?) years of tests.

But yeah, this is typical Apple: enter a market someone else spearheaded, getting the best of others' experience, to then claim they invented it all.

<comment><USER4> Actually, I recall reading a few months ago that Tesla has now accumulated so much driving data that Google's is a drop in the bucket in comparison... Tesla has their customers putting in road time, Google has a few employees. On phone, so no source.

<comment><USER5> Searching "Tesla road data" on Google turns up numerous sources. The most recent one that I'm seeing (dated November 13, 2016) claims that Tesla has 1.3 billion miles worth of autopilot data.

[https://electrek.co/2016/11/13/tesla-autopilot-billion- miles...](https://electrek.co/2016/11/13/tesla-autopilot-billion-miles-data- self-driving-program/)

</comment></comment></comment></comment><comment><USER6> Friendly tip for people who don't have a subscription: you can click the 'web' link which will take you to a Google search, then you can simply go through there.</comment>


Ask HN: Best Team Chat? - <AUTHOR>

Im looking for awesome team chat. I know campfire was the standard, has that changed? <comment><USER2> Our team simply uses IRC over freenode. Extremely simple, a multitude of great clients (<http://www.codeux.com/textual/>), and completely multi-platform. Most of all, it's free.

</comment><comment><USER3> We've found Skype group chat feature is the simplest to use, and also shallow on the curve since everyone already has an account.

The main issue is the lack of an API to do cool things like integrate with jenkins, and other nifty things that hipchat etc. does.

</comment><comment><USER4> <https://hall.com> also supports WebRTC based video chatting and private channels. GitHub hooks have been implemented but as of yet there isn't a proper web API available.

It definitely seems interesting though.

Edit: if something slick on top of vanilla IRC would be sufficient you could check out <https://grove.io> as well.

</comment><comment><USER5> HipChad is better than campfire in a number of ways. push and email notifications, mobile clients. Easier to have group rooms and to send group messages. lots of plugins.

Mobile clients are not great but are good enough.

</comment><comment><USER6> For our internal use, we use HipChat. We still use Skype occasionally, but it's primarily for external contractors. HipChat ticks all the boxes for us, so give it a try.

</comment><comment><USER7> KandanApp , the best opensource alternative for HipChat <https://github.com/kandanapp/kandan>

</comment><comment><USER8> We liked Hip Chat, but still needed to be on Skype for our clients... so we ditched Hip Chat to only use one service.

</comment><comment><USER9> <http://Hipchat.com> is the best, hands-down.</comment>


Next Generation Oculus Rift Pre-Sale Starts Now - <AUTHOR> https://www.oculus.com/en-us/ <comment><USER2> 600$? I thought it was rumored to be roundabout 350$? Still looking forward to it. Looks awesome :)</comment>


New e-book pricing scheme a surprising assault on the wallet - <AUTHOR> http://bottomline.msnbc.msn.com/_news/2011/12/15/9469981-new-e-book-pricing-scheme-a-surprising-assault-on-the-wallet

<comment><USER2> This is an article about an article in the WSJ. Is it linkjacking?

It repeats a claim about a quote from the original article while providing no source to back it up: _The whole agreement was actually launched at the behest of Apple's Steve Jobs, who had wanted to create an e-bookstore for the iPad but didn't want to compete with Amazon.com's cheap titles, according to the story._

Given the recent SNAFU over misquoting Google, I'm wary of jumping down Mr. Jobs' long-dead throat on the basis of a quote of a quote of a source without being able to read the original transcript.

One thing I'm interested in understanding, for instance, is the basis of Apple's "fear" of Amazon's prices. I remember from the music business that Amazon did undercut Apple's prices, but it wasn't because Apple was unable to make money at a lower price point. It was because the music labels forced Apple to maintain higher prices and then allowed Amazon to offer the same tracks at a lower price in order to generate competition that would give them the leverage they needed to negotiate _higher_ music prices from Apple in the future.

Which they got, and now they can offer a sliding scale of prices, with some tracks being $1.29, something that Jobs and Apple resisted.

So now I'm reading that Apple is trying to price fix all books at the same price, and I am mightily interested in knowing the full story. Perhaps the problem isn't that Apple is trying to maintain artificially high prices, but that it is trying to prevent publishers from shackling it and it alone with higher prices.

<comment><USER3> The claim in the article is false. Apple doesn't want high ebook pricing, because Apple is a hardware manufacturer. iTunes and all the content it sells, was created as a loss leader to generate demand for their hardware. Apple historically has fought very hard to keep content prices down.

At the time that iBooks was announced, there were many stories on this issue, and I read that the agreement Apple entered into with the book publishers was that they could set their prices however they wanted, they just couldn't charge _more_ on the iBookstore than they charged elsewhere.[1]

Apple gave them pricing flexibility, provided that they didn't do what you point out the record companies did.

The book publishers liked this, and wanted the same terms from Amazon. They figured they could just go with Apple if Amazon didn't comply. Amazon rolled over, and ever since their PR agency has been floating stories like this one to make out like Apple is behind the rise in ebook prices.

Apple isn't. Apple just wanted the iBookstore to be competitive and offer low prices.

[1] The reason Apple lets publishers set prices is the same reason Apple lets app developers set prices. The iBookstore is open to just about anyone, even very small publishers. Apple isn't in the business of pricing retail products like this, and figures if the producer of the product sets the pricing, then the market will be more efficient. The notable exception to this, of course, is the music industry, which was the first part of the iTunes store, and which Apple had to work to keep prices down. Also in the TV and movies section they work to keep prices down. Maybe they could have dictated pricing for books, but if they had, it would have been to keep prices down, not up, like they did for the other categories. The "price it whatever you want" model worked on the appstore to provide a vibrant community where great apps can be had for $0.99. Its not unreasonable to expect Apple expected something similar in the iBookstore.

<comment><USER4> I remember when this happened and I remember how pissed I was at Apple for the move they pulled. Amazon was essentially protecting the publishers from themselves (think music industry) and Jobs came in and threw the entire arrangement out the window.

Apple doesn't care about selling content, they care about selling hardware. Within that line of thinking, anything bad for Amazon's stranglehold on books is a good thing for Apple since it reduces the friction of switching from a kindle to an ipad. You could easily make the argument that Apple pulled this move thinking "Whats bad for Amazon is good for us" and totally screwed everyone else (publishers and customers) in the process. Apple's move was certainly unscrupulous and quite possibly illegal.

<comment><USER5> > _"Amazon was essentially protecting the publishers from themselves"_

Pre-iBookstore, Amazon was offering a 65-35 revenue split, with the fat end going to Amazon. There are certainly pros and cons to each approach, but Amazon wasn't protecting anything but their own interests and profitability.

<comment><USER4> I did not mean to portray Amazon as some benevolent 3rd party in the industry. Amazon was most certainly milking the publishers for what they were worth but they were doing their best to ensure that the content itself stayed reasonably priced and accessible to consumers in order to curb piracy.

I have zero problem with Apple forcing a renegotiation of terms between publishers and Amazon. I have serious qualms about Apple totally disrupting what was a very healthy trend towards reasonably priced ebooks.

Amazon was most certainly protecting publishers from themselves regardless of the split behind the scenes. When you compel people to pirate content there is nothing for anyone to split. Apple disregarded this entirely because at the end of the day they don't really care if people pirate, they just want to make sure the content is available on their hardware.

</comment></comment></comment></comment></comment><comment><USER6> First let me say that I'm a "content creator" (I've had a book published). I'm also a huge consumer of e-books (bought about 100 last year).

The instant that I start getting sticker shock when looking at the price of ebooks, I'll do what I've been doing for years. I'll pirate the material.

This battle was lost a long time ago, but these guys just keep trying to fight it. I thought it was proven by now, with the latest example being Louis CK, that people will pay for media if the price is right. Meanwhile, it will always be free for those who really want it. I'm not going to argue about the moral implications of piracy, but it is a _fact_ that it exists and isn't going anywhere.

When will these people learn that all their "Gotcha!" distribution and sales mechanisms are working against them?

<comment><USER7> The problem with the new paradigm is it destroys the old power structure. As the means of production are pushed to the actual artist, what does the label/publisher do?

<comment><USER6> Yep, that is the problem. And their hang-on-at-all-costs attitude is understandable in that context. But history reveals they'll be losers in the end. I just pray (to Mr. Hitchens, of course) that they don't destroy our internet on the way down.

</comment></comment></comment><comment><USER8> People always think that e-books should be cheap because they don't have the physical costs associated with paper books--but really, how high are the actual physical costs of paper books?

Doing some back of the envelope estimates I can't see how the marginal cost of a book could be over a couple dollars or so for the typical novel or mass market non-fiction book, including shipping it to the bookseller. Add in some more for the costs of storage of the physical book while it is waiting to be sold, and the costs of handling at the seller--and I still can't see it going over a few dollars.

Thus, I don't see why it would be surprising for publishers that sell a hardback for $20 to expect to sell an e-book for $15 or so.

Of course, it is possible that if they sold e-books for a lot less, it would so greatly expand the market that they would come out ahead overall. However, I don't think that is likely--I don't think most people's amount of reading is determined by the price of books.

<comment><USER9> Beyond manufacturing, eBooks also don't have the rights of a paper book. Can I buy and sell it on the used market? Can I loan it out? Can I return it?

Aren't those worth something too?

<comment><USER10> Those reasons led me to put my kindle in a drawer and forget about it. Buying a used book from amazon is cheaper and grants me full rights to the item.

Paying 2-2.5x the price for a restricted digital version with no gift or resale value is not worth it except in limited cases (e.g. Hitchhiker's Guide to the Galaxy purely based on its weight).

<comment><USER11> I don't see how that could be the only reason for ditching your kindle. Stripping the DRM is trivial, and for convenience of sharing, ebooks win hands down. If you want to share a book with friends it's much easier to send an email attachment than go to the post office.

<comment><USER10> >I don't see how that could be the only reason for ditching your kindle.

What other reasons do I need besides cost and true ownership? What an odd response. Do you think i have some ulterior motive for ditching a device I paid $260 for?

I literally handed a book to a friend last night. She doesn't own an ebook reader. Now she has the book and can hand it off to someone else.

My father doesn't own an ebook reader and I give him plenty of books. Although now that I think about it I should probably just give him my kindle so he can increase the font size (an actual use case!) and stop leaving reading glasses all over his house.

Your response is essentially "Just torrent the book" because stripping the DRM off an ebook and emailing it someone is just the same as that person going to the pirate bay for content.

</comment></comment></comment></comment></comment><comment><USER12> If you, as a U.S. consumer, feel that this reported agreement to set prices is unfair, you have the right to file a complaint. D.O.J. has instructions here: <http://www.justice.gov/atr/contact/newcase.html> As D.O.J notes, "Your e-mails, letters, and phone calls could be our first alert to a possible violation of antitrust laws and may provide the initial evidence needed to begin an investigation."

</comment><comment><USER13> I've always assumed that e-books are expensive because their buyers are known to be affluent. Once everyone uses an e- reader they'll find some new way to segment the market--e-hardcover vs. e-paperback, so to speak. Maybe you'll just pay more to get a book early.

<comment><USER14> > _I've always assumed that e-books are expensive because their buyers are > known to be affluent._

That's probably part of it, yeah. Maybe we'll see that eroding with the spread of smartphones.

The problem there is that generating multiple versions of the ebook throws away some of the economic appeal. The segmentation between hardcovers and paperbacks is natural in the format: once the hardcovers sell out, and nobody's willing to pay hardcover prices any more, you need to make a cheaper edition, so you make paperbacks, which require you to spend effort on laying out the book again. With ebooks, once you generate the initial edition, there's no inherent need to invest in the book ever again. Once it stops selling at $20, you just cut the price.

To yield segmentation like this, there'd have to be a strong economic incentive, or else a _cheap_ way of generating the multiple editions. Maybe if the high-end version had pictures, and the low-end version didn't; then you could build them both from the same source file.

</comment></comment><comment><USER15> Personally I think this is a stupid idea, boost the price of the books and and the piracy will explode, put books at 5$ and people will actually buy the books.

This is the kind of stuff where you need a price that does not "matter" on the wallet. Amazon and publishers are just too much greedy, the authors does not really make more money with that kind of pricing, it's still just the big guys that make(want) more money.

</comment><comment><USER16> "pricing agreement among publishers effectively prevents retailers from discounting e-books without a publisher's permission"

IANAL, but I deal with a lot of OEM and reseller agreements, and this exits the sniff test with the "Almost Certainly Illegal" bit set.

</comment><comment><USER17> What happens as more and more people, including already successful authors, self-publish? The pile of ebooks whose price can be artificially inflated will get smaller and smaller.

Publishers need to figure out how they can better provide value to authors and readers. Collaborating to keep prices up shows how screwed they are. They're kicking and screaming against a shift in culture and technology, where if they don't adapt they'll go extinct.

</comment><comment><USER18> This will simply lead to more piracy of content... there is no way to justify that an e-book should cost more than a physical one, under ANY circumstance... there are no printing, distribution or sales costs involved... I expect this will just lead to increased piracy of content. So sad.

<comment><USER19> How about if an ebook about Jimi Hendrix contained video and audio content too? Something that went beyond the print version?

<comment><USER20> That's not a book.

PS: Many programming books include a CD with same code etc, but again your not just buying a book at that point.

<comment><USER19> Why constrain the definition of an ebook to something analogous to ink and paper?

</comment></comment></comment></comment><comment><USER21> Walled gardens are ok for iPad, but Amazon tries it, and we're up in arms? Lets be morally consistent here. If Amazon 'owns the platform', they can charge anything they like. Arguments about the quality of the offering, security of the store etc are irrelevant to the core issue: does the seller of a device have the right to dictate terms about use of the device?

I'm not a fan of walled gardens. But if they are allowed to exist in our free market, than this ebook pricing change is not novel.

<comment><USER14> You're conflating two issues. Conspiracy to fix prices is generally illegal; robbing users of the right to use their own hardware is not.

And Amazon isn't dictating terms on ebooks. You can install .mobi books you didn't get from them. You can even sideload apps onto the Kindle Fire.

</comment></comment><comment><USER22> I wish publishers offered something like an Audible subscription for e-books. When you buy credits in bulk (24 credits for $240), books, even new ones not yet in paperback, are effectively around $10 each. Plus Audible has frequent sales that allow you to get 2 books for the price of one.

Amazon (owner of Audible) gets it. If anything, the Kindle Lending Library is a pretty effective fire under the publishers' asses - even without factoring piracy in, they're competing with free.

</comment><comment><USER23> I don't have a kindle yet, but I have seen e-book prices for a while on amazon. I was surprised recently to see e-books advertised at 24.95 and up in Harper's magazine.</comment>


Show HN: I learned Rails and Objective-C in a year to build this - <AUTHOR> What I built: Bonjournal, a travel journal app
- iOS app  (https://itunes.apple.com/us/app/bonjournal/id719266933)
- web app (https://bonjourn.al)
What and how I learned (in order of importance):
* Ruby on Rails *
- Michael Hartl's Ruby On Rails Tutorial
- Railscast
- Code School
- Ruby Toolbox
* Objective-C *
- Nerd Ranch iOS Programming
- NSScreencast
- Code School
- WWDC Videos (for performance improvements)
- CocoaPods Rank (https://gist.github.com/luvtechno/8842522)
And of course, a lot of Stack Overflow.
I didn't think it would be possible. I thought I was too old to learn. But I had a project in mind that I cared about, and I wanted to see it completed.
It's never been easier to learn -- go out there and create!
Special thanks to my wife, who is also my designer. Besides all the wireframes, marketing, and testing she has done, she also learned a little SASS and Objective C to make all those little pixel and font size adjustments. That was HUGE. <comment><USER2> I still affirm that Michael Hartl's "Ruby On Rails Tutorial" ([http://www.railstutorial.org/book](http://www.railstutorial.org/book)) is one of the most beautifully simplistic and effective tutorial books ever written. Combine his book with Ryan Bates's Railscasts ([http://railscasts.com/](http://railscasts.com/)) and you can pretty much build anything you can think of. I learned RoR we these resources as well and am just starting to take the plunge into iOS. I haven't looked into NSScreencasts much, but I did obtain a copy of The Big Nerd Ranch Guide to iOS Programming ([http://www.amazon.com/iOS-Programming-Ranch-Edition- Guides/d...](http://www.amazon.com/iOS-Programming-Ranch-Edition- Guides/dp/0321942051)).

Anyway, congrats on launching both an iOS and web application. Bonjournal looks awesome!

<comment><AUTHOR> Thanks!

Good luck with iOS. NSScreencast is not as useful as Railscast, but there are some pretty useful tips. For example, I thought this episode was really helpful starting off:

[http://nsscreencast.com/episodes/63-from- scratch](http://nsscreencast.com/episodes/63-from-scratch)

I've also been hearing great things about Treehouse, which I plan to use when I tackle Android:

[http://teamtreehouse.com/](http://teamtreehouse.com/)

</comment></comment><comment><USER3> Thanks all for the kind words of support! Another essential resource was Basecamp's (formerly 37Signals) book, Getting Real. It is a must-read for anyone building software, especially for first-timers like us.

[https://basecamp.com/books/Getting%20Real.pdf](https://basecamp.com/books/Getting%20Real.pdf)

</comment><comment><USER4> Congrats.. so how much fail to actually deliver. The app looks beautiful.

Question - in terms of the iOS web, what's the Ruby vs Objective-C breakdown?

Are you using the same Rails back-end from the web app with the iOS app. Would love to speak with you, shoot me an email - username @ gmail.com

<comment><AUTHOR> We're pretty happy with the end product. All of the features that we wanted are there.

Breakdown is probably 75% Ruby 25% Objective-C. Yes, same back end as the web app, which I think is key. The iOS app is essentially a glorified browser. So everything is pretty DRY and easy to maintain.

</comment></comment><comment><USER5> Congrats! :) I'm not sure how you're implementing responsiveness (it works fantastically btw) but if it's feasible it could be nice to de-emphasise the iOS app a bit on other mobile devices. I can see the site is basically the same as desktop but with the big iOS banner it felt a lot like a limited content mobile site.

That said the iOS app looks really nice - design reminds me a bit of airbnb which is definitely a good thing. Can I pay for an Android app some time? Congrats again!

<comment><USER3> Thanks, mcintyre1994! We're using Susy and Compass for responsive CSS. We have plans for an Android version, as soon as jpn learns Java. :)

Great feedback on our home page -- you're right about the iOS emphasis, and limited content feel. We're currently refreshing our home page, and will be sure to work these issues out. Thanks!!

</comment></comment><comment><USER6> You say that you took a year to learn RoR and Objective-C for this, but can I ask: were you starting from scratch as a programmer and was this a full-time project (or were you balancing your learning and development alongside having another job)?

Congrats on the launch! Both the app and the website look beautiful.

<comment><AUTHOR> Thanks!

I basically started from just Excel/VBA and a little bit of .NET.

Initially, I was doing this along with another project, but during the second half, it was full-time.

</comment></comment><comment><USER7> Clickable:

Bonjournal, a travel journal app \- iOS app ([https://itunes.apple.com/us/app/bonjournal/id719266933](https://itunes.apple.com/us/app/bonjournal/id719266933))

\- web app ([https://bonjourn.al](https://bonjourn.al))

<comment><AUTHOR> Cool. Thanks!

</comment></comment><comment><USER8> Wow, this is great, good job!

I am currently teaching myself while working full time in a non tech related career. May I ask how old you are? This is very encouraging. I'm currently Hartl's tutorial and CodeSchool, so hopefully I'm on the right track.

<comment><AUTHOR> I'm 35.

<comment><USER8> good to know, a bit of the insecurity I've had comes from seeing people who have been doing some of things since what seems like forever. Good to know there is still hope!

</comment></comment></comment><comment><USER9> Beautiful and simple way to log trips! It never occurred to me to do it, but your app made me want to! Honestly think you can charge a buck more, and I rarely buy apps. Well, unless you have competition.

<comment><AUTHOR> Thanks, nicholas73!

We're going to bump up the price to 2.99 after this promotional period. We want to give our currents users/followers a way to get the app at a discount.

</comment></comment><comment><USER10> Nice work. Great to see you go from not much to a nice polished app. And props for including your resources.

<comment><AUTHOR> Thanks, joshdance.

There are so many quality resources out there for a newbie developer!

</comment></comment><comment><USER11> Balling! I'm actually going to Canada today so I will give it a test drive.

<comment><AUTHOR> Great! Happy travels!

</comment></comment><comment><USER12> Quite an achievement. Best of luck to you and your wife.

<comment><AUTHOR> Thxs!

</comment></comment><comment><USER13> That is an amazing site, congratulations.

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER14> Beautiful!

<comment><AUTHOR> Thank you!</comment></comment>


Netflix is probably using emails from 500px's data breach for email marketing - <AUTHOR> I've been using email@example.com trick for quite some time.
Earlier this year, I started getting weird emails from Netflix. They're weird because I'm already an active Netflix subscriber, but the emails are for inviting me to join Netflix.
When I took a closer look, I noticed that the email was for firstname.lastname@example.com
Screenshot: https://i.imgur.com/wG0IhUK.png
I only ever use that email for registering with 500px. I'm also aware that 500px experienced a data breach on 2018.
So I'm highly suspicious that Netflix is using emails info from other websites' data breach for marketing purposes (knowingly or not).
This is very worrying, IMO. <comment><USER2> How do you know the email really comes from Netflix and isn't just a phishing attempt?</comment>


Google took down our app - <AUTHOR> Google took down our app and I am not sure what to do? The app was using an install_referrer broadcast intent which was deprecated on March 1st. The issue is related to using firebase analytics, as i see it this is a firebase issue. How did anyone solve this.. <comment><USER2> [https://support.google.com/googleplay/android- developer/answ...](https://support.google.com/googleplay/android- developer/answer/2477981?hl=en)</comment>


An opinionated list of skills you need for a DevOps job in 2018 - <AUTHOR> https://checklyhq.com/blog/2018/08/an-opinionated-list-of-skills-you-need-for-a-devops-job-in-2018/ <comment><USER2> Kudos for _Peopleware_.

But otherwise, meh. Can you use strace and wireshark effectively? If not, the rest isn't going to save you.

<comment><AUTHOR> point taken. I'd add tcpdump to the lot.</comment></comment>


Enabling Multiple Users in Ghost - <AUTHOR> http://blog.accordive.com/adding-multiple-users-to-ghost/

<comment><AUTHOR> For anyone looking to try out ghost, I highly recommend Digital Ocean. You can get an instance up and running in a couple minutes[1] and it only costs your $5/mo if you keep it up 100% of the time.

[1] [https://www.digitalocean.com/community/articles/how-to- use-t...](https://www.digitalocean.com/community/articles/how-to-use-the- digitalocean-ghost-application)</comment>


Is infinity times zero = zero? - <AUTHOR> https://brilliant.org/wiki/is-infinity-times-zero-zero/ <comment><USER2> I haven't touched analytical mathematics for a very long time, so my understanding is quite rough now. Though the solution seems obvious, I hope the proof gives more explanation.

1\. Is it OK to replace 0 with a function that approaches 0 at infinity? What rules are in place for substitution?

2\. Is lim f(x) * lim g(x) equal to lim f(x)*g(x) ?

<comment><USER3> 1\. No. In my opinion, zero can never equal non-zero.

Otherwise you could be 'only a little bit' pregnant.

</comment></comment><comment><USER4> This website presents a question that can be only answered by precisely defining "infinity", and then shows an "answer" that just assumes (without proof) a horde of stuff, including "lim (f * g) = (lim f) * (lim g)".

This is not a good way to learn math.

</comment><comment><USER3>
        infinity = 1+1+1+1 ..... +1+1

        infinity x 0 = (1x0)+(1x0)+(1x0) .... +(1x0)+1x0)

                     =  0   + 0   + 0    .... +  0  +  0

                     =  0

</comment><comment><USER3> _Proof: We know ...._

That is a non-proof. Test it by finishing the sentence differently, as in "Proof: We know ... that the world is flat."</comment>