Russian Man Changes Small Print in Credit Card Agreement, Then Sues - <AUTHOR> http://www.minyanville.com/business-news/editors-pick/articles/A-Russian-Bank-Is-Sued-for/8/7/2013/id/51205 <comment><USER5> Technically, the man did nothing wrong. His bank agreed to the altered terms.

I've seen some credit card and bank card forms that include language which make the agreement void if its terms are altered in any way, but if it doesn't have that, there's nothing really stopping you from doing the same.

That said, legal teams for credit card companies and banks are notorious for finding ways to beat you with technicalities and/or drag their feet through the court system so your own bills rack up. They can claim bad faith, and/or fraud (which is a hot button) and add to the mix a DA willing to create a name for him/herself by putting away a scumbag white-collar "criminal" (I.E. Joe, the Photoshop user) and you've got a lot of risk behind it.

<comment><USER6> I'm going to comment as if the same thing hypothetically happened in the US, because I have no idea what Russian contract law is like.

Regarding criminal fraud: That might be tough to prove. See, for example, this part of Virginia's fraud law:

[http://leg1.state.va.us/cgi- bin/legp504.exe?000+cod+18.2-178](http://leg1.state.va.us/cgi- bin/legp504.exe?000+cod+18.2-178)

Note that merely obtaining a _signature_ under false pretenses is a crime. Of course, the definition of "false pretenses" is the sticking point. Technically, the customer did not make any false representations. It seems he merely expected the bank not to notice his "proposed" contractual changes. That would not seem to satisfy the elements of the crime, though I wouldn't bet my own freedom on that.

Regarding bad faith: It would be interesting to see if the court would find a breach of the implied covenant of good faith and fair dealing. It's iffy. Generally, such a breach would arise from either party's conduct _outside_ the signing of the contract itself. I.e. you do something underhanded to thwart the other party's enjoyment of his contractual rights, without breaching any specific term in the contract.

Could a breach of the implied covenant arise from the negotiation process itself? In my cursory search, I didn't come across any cases like that, but they could exist. In this case, there does seem to be some willful deception on the customer's part. One could argue, based on the circumstances, that he expected the bank not to notice his alterations. Perhaps this would be considered bad faith.

One could also argue that the contract is void as there was no meeting of the minds. This can be a difficult case to make when there is a written contract. Nonetheless, in unusual circumstances, which this appears to be, a written contract can be voided for this reason. Here, one could argue that the two parties thought they were signing contracts containing radically different text, and thus there was no meeting of the minds.

Note that you can't just claim this any time you want to get out of a written contract. The default assumption is that your signature indicates you read and understood the contract. You have to show some unusual circumstance--such as one party's surreptitious alteration prior to signing--if you want to claim there was no meeting of the minds. And even then, a win is far from guaranteed.

<comment><USER7> Under normal circumstances, there is no negotiation when a bank sends you a credit card application. They expect you to just fill it out and send it back unaltered. Since this is the expected way to handle credit card application contracts, I expect the bank could easily argue that there was no meeting of the minds, as they could not have been expected to re-read the entire contract looking for alterations, and in fact it's reasonable to argue that the man who altered the contract did so knowing the bank would never notice.

<comment><USER8> > _they could not have been expected to re-read the entire contract looking > for alterations_ //

I don't think a bank will want to go down the line of arguing the contract shouldn't be binding because they shouldn't have to read the small print - that sounds like an overall loss for the bank in general.

<comment><USER9> The argument is not that you shouldn't read the small print - the bank lawyers know what the small print means - the argument is that they can't look for tiny changes in known small print if they're reasonably expecting it to be identical to what they sent.

That's like I would initiate a contract with you and after we read it together and you agree it's what you want to sign I covertly slip a page into the pack that completely changes the terms and trick you into signing it without you actually knowing it's there. You can reasonably claim you intended to sign the original one, not the one I secretly modified - and I expect the court be more sympathetic to you than to my claims "you should have watched my hands all the time!" Of course, it'd require you proving that I did this, but if you can, your case sounds pretty strong to me.

<comment><USER10> Slipping in an extra paper is not the same at all; you are adding terms to the contract that the signer could not possibly have seen. By changing the small print you are being sneaky, but they had a chance to fully examine what they were agreeing to and were lax in that.

</comment></comment></comment></comment></comment></comment><comment><USER11> Deep down I really want this man to win his case, if only just to show the flaw in fine prints that have screwed over many legally-challenged (for lack of a better term) people. You can argue that it's one's responsibility to look out for, read, and understand fine prints in any contract one signs, but then why are they in fine print in the first place? So as to not detract one's attention from the borderline dishonest big prints like INTEREST FREE LOAN* or something like that? So that you can make money off that few unfortunate souls who overlooked the fine prints?

<comment><USER12> He won the first one, which left him only having to pay off the amount he owed (no cancellation fees). I hope he doesn't win the second one, as I'd expect ridiculous fees to be unenforceable on _either_ side.

If a massive credit card agreement had a cancellation fee of $10, I'd expect to have to pay it. If the fee was $200,000 then I'd expect a court to say "Don't take the piss".

Just like we keep arguing that ridiculous terms in EULAs shouldn't be enforceable _even if someone clicked ok_ , the bank shouldn't be held to this.

The contract _was_ deemed valid though, which I think is awesome.

<comment><USER13> You mean, like the people in the US weren't responsible for having signed a terrible home-loan agreement and then loose everything?

I know this is Russia, not the US, and law does not apply to the same extent, but I still hope the man wins.

<comment><USER14> How did you draw the conclusion that the "law doesn't apply to the same extent" as the USA?

<comment><USER15> Russia just does not have a reputation where the rule of law is the primary factor in the way governments and the courts operate.

cf. also the following:

* [http://www.cato.org/events/rule-law-russia](http://www.cato.org/events/rule-law-russia) * [http://www.reuters.com/article/2011/05/20/russia-medvedev-id...](http://www.reuters.com/article/2011/05/20/russia-medvedev-idUSLDE74J0SM20110520) * [http://www.freedomhouse.org/article/state-human-rights-and-r...](http://www.freedomhouse.org/article/state-human-rights-and-rule-law-russia-us-policy-options) * [http://online.wsj.com/article/SB1000142405274870377570457616...](http://online.wsj.com/article/SB10001424052748703775704576161891700626876.html) (Google URL and use Referer: information to view)

I'm sure others could come up with more sources too.

</comment></comment></comment></comment></comment><comment><USER16> There is something to be understood about modern Russian culture - <USER4> successful cheater and uncaught thief considered a virtue, praised in a folklore with an iconic characters as Ostap Bender or, on a lower level, untouchable criminals, so-called Thiefs-Above-Law.

The unprecedented level of corruption in Russia is in a large extent due to this cultural beliefs. Being a successful bureaucrat or corrupted official is a dream of millions, be it a student of Academy of Government Service, or just a novice applied for a job of a traffic cop.

Most of so-called businesses are based on a fraud, designed and set up with the fraud in mind, as an exit strategy, based on exploitation of minorities, cheating of naive and uneducated and banal brute force.

Of course, such thing happen all over the US or other countries, the difference is the percentage. In Russia cheating and fraud are dominant strategies due to lack of any real economy or production.

The dream of easy money makes us the world largest porn producer, malware manufacturer (nothing very clever, just primitive deception) and a world's leader in drugs usage. We are deliberately copying, adapting and sometimes creatively enhancing all the possible ponzi schemes, corporate frauds found in US, without trying to mimic anything decent.

So, nothing to see here, yet another punk inspired by the cult books about Ostap Bender.

btw, these cards of Tinkoff Credit Systems was a nice cheating in itself - <USER3> a small print there was whopping 35% interest rate, huge fees for cancellation and inability to pay back ahead of schedule.)) So, they worth each other.

<comment><USER17> > There is something to be understood about modern Russian culture - <USER4> > successful cheater and uncaught thief considered a virtue, praised in a > folklore with an iconic characters as Ostap Bender or, on a lower level, > untouchable criminals, so-called Thiefs-Above-Law.

This appears many in unequal or unjust countries in the world (for example North Africa), and it is easy to understand: When the powers that be are not seen as just, it's easy to motivate cheating against their rules.

</comment></comment><comment><USER18> I did something similar with the non-compete and non-disclosure agreements my employer wanted me to sign when our company was purchased. It was a four page document and I simply altered the terms to suit what I thought was fair (I had no intention of stealing their IP, but I also didn't want them owning everything I created).

The HR representative signed both copies, gave me one and filed the other. The funniest part is that when I left a few years later, they couldn't find the one I'd signed and asked me to sign another during the exit interview ... I declined ;)

<comment><USER19> If they didn't initial these handmade changes (but rather just missed them) - i think they wouldn't be enforcable. They "lost their copy" likely for this purpose - so that they could argue that you "added changes" after the contract was signed.

<comment><USER20> Is there a legal basis for this? I do this all the time, if I'm given a stock form to sign and I don't like it I just change it--it's much easier than trying to get it changed by them. Most employees don't care and don't know how to handle something like this so they just process it normally.

<comment><USER19> Without other side consciously agreeing to your changes via initials - this is alike to graffiti on the wall. Fun for artist - little nuisance (not much more) for building owner.

<comment><USER8> But then you haven't agreed to the original contract and the contract would be entirely void, no?

It seems strange that an otherwise legal contract signed by both parties would be void based on the agreed content when signed.

<comment><USER20> That's what I think as well. It's either null and void or my changes apply-- I'm good either way.

</comment></comment></comment></comment></comment></comment><comment><USER21> If you as a customer are held accountable for fine print that you never read, why isn't the reverse? This should be a no-brainer if you ask me. Hypocrites

<comment><USER22> The bank is going to argue that he forged documents. They'll probably win not because he is in the wrong but because of the (quite proper) turmoil that would result. It's a rare judge that'll uphold the rule of law when it might be inconvenient for big institutions.

<comment><USER12> If the same thing that happened in reverse, what would you expect to happen?

Lets say that you were given some terms and conditions to read, the and the bank swapped them out for others just before you signed. The new terms contain a condition that you must pay them several hundred thousand dollars instead of 10.

Which way would you expect the court to rule? Which way do you think it should?

<comment><USER23> At common law, the heart of a contract is consensus 'ad idem' \- agreement to the same thing. I can only enforce a contract against you if a reasonable person in my position, at the time of contracting, would have believed that you had accepted the contract (including the same terms that I want to enforce).

Usually, having a written contract that both parties sign means that condition's easily met. But pretty clearly, swapping some small print out just before you sign might undermine that, depending on the situation. See e.g. Hartog v Colin & Shields [1939] 3 All ER 56.

(Obviously, this is irrelevant to the person in the article, as Russia is not a common-law country. And I don't know if it's relevant to American HN readers either: my possibly flawed understanding (as a Brit) is that most consumer contracts in the US are not governed by common law, but by the UCC, of which I know nothing).

<comment><USER24> How can you prove belief? Test by fire?

<comment><USER23> That's the beauty of using objective (rather than subjective) intent as the test. You don't need to prove belief. Subjective belief is irrelevant. What you need is objective facts, and a court that pretends it's a reasonable person in the position of e.g. the offeree, knowing everything they knew, and decides what _it_ would have understood by the offer.

The point is: you interpret words as they'd be understood by a reasonable person in the position of whoever the words were spoken to, _not_ as they were understood by the person who spoke them.

E.g. consider the Hartog case. Key sentence: "...the plaintiff could not reasonably have supposed that that offer contained the offerers' real intention." ("Could not reasonably have supposed" is legal shorthand for "A reasonable person in their position would not have supposed"). If they had genuinely thought that the offeror meant it, it wouldn't have mattered.

No test by fire needed.

(NB this is English common law. I've been told in the past ([https://news.ycombinator.com/item?id=5402595](https://news.ycombinator.com/item?id=5402595)) that the UCC in the US is a whole lot more subjective than English law, so this is likely wrong in the US).

<comment><USER24> Do you have in UK these scammers that invite bunch of old people to some sort of meeting where they give them cake, some crappy gift and convince them that some other crappy thing, like a wool blanket is worth few thousands dollars and they sign agreements with them so they can pay for the said blanket in installments?

The rule you described is really nice but is it used in practice to fight such scammy business practices?

<comment><USER25> Your example is ridiculously contrived.

I would imagine the rule is not used extensively in practice because it exists as a preventive measure should such a thing ever come up.

<comment><USER26> That is not an contrived example but pretty accurate description of actual scam scheme that got popular again in recent years.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> How frequently is the little guy is screwed when they don't read the big institution's fine print before they sign?

Finally, a big institution is screwed when they don't read the little guy's fine print before they sign!

<comment><USER28> Ignorance is not bliss. You can't claim not to have knowledge of something and not suffer the consequences...

<comment><USER29> The idea that everyone fully reads every EULA is completely unfeasible.

This means that ignorance isn't bliss, so much as a natural state in order to function. To me, that implies something is wrong.

<comment><USER30> If people read some EULAs they'd notice how concise and easy to read they are these days.

</comment></comment></comment></comment><comment><USER31> This is why many professionally drafted contracts will have somewhere in the integration clause[1] language that says that the agreement can only be modified in writing, and only by a person with a specific title at the company.

[1] [http://www.legalmatch.com/law-library/article/contract- integ...](http://www.legalmatch.com/law-library/article/contract-integration- clause.html)

<comment><USER32> I'm not sure that such a clause would work here. The example legal clause in your link:

"This Contract contains the entire agreement of the parties with respect to the subject matter of the Contract. The contract supersedes any prior agreements, understandings, or negotiations, whether written or oral. This Contract can only be amended through a written document formally executed by all parties."

While that clause could apply _once the agreement is signed_ to any future changes, before that, isn't it just negotiation between the parties? (Whether it can be considered "good faith" or not is another matter, of course.)

<comment><USER33> I'm no lawyer but doesn't this line provide the required protection:

> This Contract can only be amended through a written document formally > executed by all parties.

To me, that suggests the contract can only be amended if all parties provided a written document approving the amendments.

In this case, only one party provided the required documentation.

<comment><USER34> IANAL - but it seems to me that in the link's scenario, you're not amending that contract. You're ignoring or rejecting the initial proposed contract (including this amendment clause) and instead proposing another (different) contract. Since you never agreed to that original amendment clause in the original contract, how would it have any force in the first place? Naturally, if you were to attempt to modify the contract _after_ both parties signed, you would need such a written document executed by all parties.

</comment></comment></comment></comment><comment><USER35> This is why I often include a "redlining representation" in contracts I draft or review/edit. [1] Of course, that only works if you check to be sure the redlining representation is still in the copy of the contract you're actually being asked to sign.

[1] Clause: [http://www.oncontracts.com/general- provisions/#sec-35](http://www.oncontracts.com/general-provisions/#sec-35). Explanation: [http://www.oncontracts.com/surreptitious-contract- changes/](http://www.oncontracts.com/surreptitious-contract-changes/) and [http://www.oncontracts.com/surreptitious-contract-changes- ii...](http://www.oncontracts.com/surreptitious-contract-changes-ii/)

</comment><comment><USER36> I LoL'd so much at this... I love it! That his bank failed to read the fine print, as so many of us do, yet signed the agreement anyway, is a hilarious case of _poetic justice._

This reminds me of the story here awhile back regarding someone signing credit card receipts with increasingly absurd signatures, including a drawn picture in lieu of his legal signature.

[http://consumerist.com/2009/02/03/dont-draw-genitalia-as- you...](http://consumerist.com/2009/02/03/dont-draw-genitalia-as-your- signature-when-paying-via-credit-card/)

</comment><comment><USER37> I did something similar (USA here).

I asked for an automatic debit for a student loan, and got a form to fill out. Among other terms it specified that the lender could change the amount taken from my account, unilaterally!!!

So I crossed out this part, specified literally the current amount in dollars and cents, and said that any change would require separate written consent from me.

And sent it back with a signature. As others pointed out above, if they failed to notice the change, it is their own fault and their own problem, just as they would argue that it was my fault and my problem if I signed without reading all their self-serving, tiny-font, lawyer-crafted language.

And they started debiting the account - which has no legal justification other than that piece of paper, therefore they have agreed to the terms. It has not come to a court case, but if they ever withdraw more than the specified amount I'll sue.

Would I win? Maybe not, but if not it wouldn't be because of any flaw in my approach. Rather it would be because of the defacto two-tier legal system, where corporations have rights in proportion to their wealth and individuals can't afford to enforce any theoretical rights they supposedly have. I wish I could find the well-written rant on this topic (historical separate court systems for aristocrats and peasants) - Falkvinge maybe.

</comment><comment><USER38> It would a fraudelant contract in the US. When you alter the text of contract in the US you must clearly highligh the alteration in the riginal text or as an admendment.

<comment><USER39> And the contract change is not considered valid unless it was overtly accepted by an employee with appropriate authority. A random low wage employee processing these kinds of forms would be presumed to not have that authority with the business.

<comment><USER24> So you are saying that bank actually doesn't agree to anything when it signs a contract with you if it doesn't delegate for that properly esteemed clerk?

<comment><USER40> No, it's OK as long as money's flowing the right way.

</comment></comment></comment></comment><comment><USER41> Regardless of David vs Goliath sentiment, realistically one can't allow such a thing in a modern society.

e.g. I sent 3 documents out today requesting signatures from directors - signatures which by local laws bind the company they represent +- irrevocably. If you allow the scenario presented then clause #138 could easily have read "pay Mr Havoc a million a day".

<comment><USER42> It's pretty much up to you to check what you're signing. Inconvenience isn't a get out of jail free card! Apply some technology to it or at the very least, get some of those acetate sheets for use with the old school overhead projectors, print your official contract onto that and use it as a poor man's diff!

</comment></comment><comment><USER43> I've been wondering about this for years. I hate sales people telling me they can't negotiate as the contracts are standard... of course they can.

</comment><comment><USER44> Somehow I just can't see this working out well for him, but if it does, it says something about the rule of law in Russia.

<comment><USER45> I would be surprised if it did not work out well in the USA, to be perfectly honest. There is nothing illegal in the extra terms he added to the contract, and the bank is not in any position to claim that it failed to read the contract. More likely, however, is that the news of this case has led every bank on the planet to institute a "check all paperwork" policy to prevent this from happening.

<comment><USER46> because what the world needs, is a slower banking process.

<comment><USER47> Perhaps it will give an incentive for banks to write shorter contracts. Also, it could probably be automated with OCR software.

<comment><USER48> I would rather say: no paper contracts and use digital cryptographic signatures everywhere.

</comment></comment></comment></comment></comment><comment><USER49> I should feel embarrassed that somebody alters contracts on his behalf, but this time I really feel happy for this guy. He exploited a Bank by playing out his own rules on them.

Just today I was thinking about Google and other big companies founded by Russians and then I see this little man hacking himself into success. I feel deep respect for persons who start from nothing, but with big success! Despite the prejudices people may have with Russian, some of them are really damn smart and this man proves it..

Thats quite an achievement, hats off to you sir.

</comment><comment><USER50> I've no idea about Russia, but this WOULD NOT WORK in the Anglo-Saxon legal system.

Legally, the signed contract is simply the physical manifestation of something deeper: the _consensus ad idem_ or _both sides agreeing to the same thing_. Tricking a busy clerk into signing an altered document does not constitute acceptance of the contract.

The court generally chooses not to reward such dishonesty, and therefore allows the honest party to choose which version of the contract should hold.

</comment><comment><USER51> Brilliant, I'm so itching to try this in US.

<comment><USER52> How would that work? I don't remember ever getting back a copy of a credit card agreement after I sent one back. I'm not even sure I've sent something back. Isn't that all on line now?

<comment><USER53> Just add the following: "Granting the account is considered acceptance of the terms."

<comment><USER24> I don't think it would have as much strength as having actually signed document in hand.

</comment></comment></comment></comment><comment><USER54> This is a good reminder, especially to contractors and freelancers, that when you receive a contract, it's just the beginning of a negotiation, not a sign- and-send situation.

</comment><comment><USER55> This man's got spunk! Get him to Silicon Valley with some venture capital and he'll make waves.

</comment><comment><AUTHOR> Further developments in the story: [http://www.minyanville.com/business- news/editors-pick/articl...](http://www.minyanville.com/business-news/editors- pick/articles/Russian-Bank-credit-card-fine-print/8/8/2013/id/51217)

</comment><comment><AUTHOR> Updated the story with the pic of the guy: [http://www.minyanville.com/business-news/editors- pick/articl...](http://www.minyanville.com/business-news/editors- pick/articles/A-Russian-Bank-Is-Sued-for/8/7/2013/id/51205)

</comment><comment><USER56> Haha now that's funny. The man did nothing wrong that's how negotiations are done between lawyers all the time. He presented new terms, the bank agreed so now they have to honor the contract they agreed to.

</comment><comment><USER57> I only know a small amount about the current Russian regime but I would assume that this man isn't just anyone but someone with connections to the state and the mafya.

</comment><comment><USER58> This story shows exactly what is wrong with EULAs.

</comment><comment><USER59> The court did hold the agreement valid when the bank sued him, so the bank will have to pay up as per the terms of the contract.

</comment><comment><USER60> In my eyes, that man won and outplayed the system.

</comment><comment><USER61> > In Soviet Russia ...

Eh?

<comment><USER62> [http://en.wikipedia.org/wiki/Yakov_Smirnoff#Russian_reversal](http://en.wikipedia.org/wiki/Yakov_Smirnoff#Russian_reversal)

</comment></comment><comment><USER63> Firstly, he is a legend. Having the guts to pull off a move like that is admirable and unique.

I think it's a shame that regardless of if he wins or loses, many people believe that "fine print" is a tool that only big institutions like banks or insurance companies are allowed to use in their favor.

</comment><comment><USER64> The girl in the picture looks like a leaner Kate Upton.</comment>


Ask HN: Managing an e-commerce business outside the U.S? - <AUTHOR>

Working remotely, I've been traveling around the world and recently considered to start an e-commerce website( found an U.S unexplored niche).
I was wondering if it'd be possible to manage suppliers and logistics with an outsourced service, as I don't currently reside in the U.S.
Are there any services or companies that could make this feasible? <comment><USER2> Quite possible. You're presumably very early in your research if you haven't heard of dropshipping yet, but that should probably be your first choice option. (You capture orders and then fulfillment happens through the manufacturer. You pay the manufacturer less than the retail price you charged and pocket the difference. Your hands never touch product.)

After you've got the business humming, you may choose to actually have inventory, likely at an outsourced fulfillment center. This should probably not be your first choice, as inventory risk is a real thing and fulfillment is expensive/complicated.</comment>


Renttherunway.com - Netflix for dresses - <AUTHOR> http://www.nytimes.com/2009/11/09/technology/09runway.html?ref=business

<comment><USER2> I don't get how they get around the fit issue.

Whenever I've been dragged dress shopping, I've never seen a girl try less than a dozen dresses before finding one that she thinks accentuates the right things, hangs right, etc.

I would never rent a suit online - I'd rather get a bad suit that was tailored/fit well than the best suit with a poor fit.

<comment><USER3> In the world or high end fashion, couture, etc, it's almost a constant for women to be a size 0 or 2. Designers don't make 10 different sizes. They'll only make 1 or 2 which is enough to fit the type of women who tend to wear their clothes.

</comment></comment><comment><USER4> Something like this seems like it could learn something from fast food--keep the cost of dresses low to attract a broad audience and upsell on all the accessories. I know several of my friends who pick up those supermarket magazines to get their latest celebrity fashion (news?) and gossip whatever, and if there was an ad right next to those pictures "Rent this outfit right now on RTR"...that would be killer.

<comment><USER5> I think the price point is correct, because the goal is luxury within reach.

If you are going to agonize over what dress you are going to wear to a special event, under $50 is too little for the whole "experience".

</comment></comment><comment><USER6> Seems like a great idea, especially since a lot of higher-end dresses that are worn for special occasions are typically only worn a couple times.

Their average rental period is ~4 days for approximately 10% of retail price, and they send 2 sizes to you (which somewhat resolves the fit issue).

Small technical gripe: The images on their website are ~300kb and take way too long to load. They don't seem to have a technical person on the founding team, but I'm sure they will work such issues out as they get more popular.

</comment><comment><USER7> Student person- I need this. That is all. You need to look good for certain things in life. I would be renting like mad because after a while, you know your size range....

</comment><comment><USER8> This is HN

Once you own a pair of jeans, a black T shirt and either Tevas or hiking boots (depending on which coast) you are pretty much set.

<comment><USER9> I, for one, am tired of the stereotype that geeks can't be expected to maintain a wardrobe of nice clothes, understand what goes with one's bodyshape, skin-tone and how to mix fits, patterns and colors etc.

</comment></comment><comment><USER10> WearTodayGoneTomorrow.com has been doing this for almost a year! WTGT loans nationally at 5 – 10% retail values, has had amazing reviews from Teen Vogue, People, InStyle, The Today Show and many more. Items arrive in 2 – 3 days, and they carry over 125 of the top designers including 3.1 Phillip Lim, Herve Leger, Matthew Williamson and more. They're amazing!

</comment><comment><USER11> I showed this to my wife. She tried to sign up, and is now on a "membership waiting list". Not good.

<comment><USER12> This kind of company has to shell out a lot of money as they scale up, which means they may not be able to meet initial demand. It's a good problem to have.

</comment></comment><comment><USER13> I actually saw the site on my wife's screen a couple days ago. A lot of her friends were commenting about it in facebook.

While it's a cool concept, I can't see it being more than a novelty long-term. Dresses like that aren't worn every day.

<comment><USER14> Dresses like that aren't worn every day by average women, but on average, women wear dresses like that every day. If that made no sense, what I'm saying is that given enough women, dresses like that _are_ worn every day by _one_ of them. Since you can't rent a dress more than once a day anyway, an overall every day seems like enough. It doesn't matter if everyone wears dresses like that all the time, only if at all times, _someone_ is wearing a dress like that.

</comment></comment><comment><USER15> I've heard the Rent the Runway team is looking for a full time drupal developer in NYC. contact me if interested - phil at kartme.com

<comment><USER15> not sure why my post got downvoted. the opening is for real. founders of Rent the Runway are good friends.

apologies if this isn't the place for job postings.</comment></comment>


Why Google+ Will Take Half of the Social Networking Market from Facebook - <AUTHOR> http://launch.is/blog/why-google-will-take-half-of-the-social-networking-market-fr.html

<comment><USER2> > * While my BUZZ prediction was way off (thanks to Google freezing > development!)*

This floored me right here. He's laying the blame of his failed Buzz prediction at Google's feet? The reason Google stopped developing Buzz is because it was stillborn. Either man up and take credit for it or else don't mention it, don't stick a waffle in parentheses and expect people to take your next prediction seriously.

I remember the prediction at the time because it was so irrationally exuberant:

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

Google+ is obviously a lot better than Buzz, but I don't understand the justification for coming with these hyperbolic predictions. There's a big difference between impressing the bubble-within-a-bubble early adopters interacting with Jason's punditry and crossing the chasm in the way that Facebook has done.

Jason didn't give a timeframe for this 50/50 split, but I'll repeat my statement from 508 days ago with reasonable terms:

Mark my words, 3 years from now Google will not have taken 50% of Facebook's market share.

<comment><USER3> Perhaps Facebook won't have just 350 mil users 3 years from now, but that doesn't mean Google+ won't have 350 million users 3 years from now.

Usually the disrupted companies don't notice that company disrupting them is stealing their users because they are still _growing_ by adding more _mainstream_ users, while in the same time the disruptor is stealing their _early adopters_.

This is what happened to RIM and why they refused to believe they are in danger until this year, and it's what's happening to Firefox.

By now most of the early adopters of Firefox have moved over to Chrome, but the numbers didn't show that because as Firefox had years of age and its brand was more known, it continued to gain more _mainstream_ users, and overall even having a net growth. But eventually the disrupted company reaches a peak when they stop gaining new mainstream users because the early adopters that have left start having a major influence on the mainstream, and they start bringing them over to the disruptive service or product. It happens again and again.

<comment><USER4> _By now most of the early adopters of Firefox have moved over to Chrome_

I'm experiencing the opposite. Google's handling of what used to be a good browser has provoked me to the point that I do not feel comfortable using Chrome. I've moved back to Firefox because it's a browser which I can control, not a browser which controls me.

Chrome's primitive and failed extension-model (still) also makes Firefox look better when compared head to head.

Chrome used to be a browser for techies, but is now merely a good mom & dad browser. Because Google explicitly drove development in that direction. It will probably gain market-share as consequence of that (and because Google is advertising it fucking _everywhere_ ). However, power-users will probably leave Chrome now that Google has used them to promote it and no longer sees any need to appeal to them.

In fact, Google seems outright hostile against any power-user needs at every single point, bar the web-development module. Everywhere else Google is dumbing things down at the expense of technical detail. As a power-user I find this extremely unsexy.

<comment><USER5> Could you give some examples of what Google has changed to make Chrome a worse browser?

<comment><USER4> There has been several, but I've been back on the FF-wagon for a while now and it's hard to remember them all. Examples of things which did seriously annoy me:

URL protocol-obfuscating. Besides being an aesthetic nitpick (lack of consistency) it allows creating confusing and irregular behaviour with copy & paste. There was a massive backlash of power-users wanting this toggleable to no avail. Google's response was basically "we make defaults, not options".

Google's anti-Flash Jihad with added causalities. I never had _any issues what so ever with Flash in Chrome_. Not once did Flash crash my browser. Never. But immediately when Google decided Flash was a stability risk and intervened to isolate the browser from Flash, instantly the result was that having Flash installed or active would _always crash Chrome no matter what_. Basically Google forced me to uninstall or disable Flash entirely if I wanted to use Chrome. Just because they said so. They made the decision and didn't make their anti-Flash jihad an option for me to enable or disable. You would think Chrome suddenly crashing on its own for no reason would be considered a high- profile bug, but this was not fixed at all in any subsequent updates.

After 3 updates without any fix Google had lost me entirely. I'm not even using Google Chrome for development purposes or verification at this point. The product is so overly Google-driven and Google-decided that it's not of any interest to me what so ever as a end-user who wants more than defaults, be they set by MS or Google.

<comment><USER6> FWIW, dropping http landed in Firefox trunk a few weeks ago, so you can expect it to show up fairly soon. Though, it'll probably be toggleable in Firefox :-)

</comment></comment></comment></comment></comment></comment><comment><USER7> Facebook's additional growth due to Zynga was a epilogue after it's initial takeover of the space. Facebook had three big things:

\- It went live one campus at a time. Each campus went from 0% to ~100% adoption in a viral explosion as the buzz spread around. They had enough features (photo tagging) to keep college students coming back.

\- The News Feed had the 1-2 punch of being both a huge technical challenge (causing competitors to lag) as well as a game-changer for the stickiness of the site and the entire premise of why people go to social networking sites. It was like nuclear fuel for the two human traits that lead to using Facebook: voyeurism and narcissism.

\- Facebook from the very beginning valued technical talent. When the News Feed was released it was clear they were going to be the winners of this contest since they were probably the only ones capable at the time of building it and knew enough to build it in the first place.

<comment><USER8> I'm confused, what's the technical challenge of the News Feed? Scaling? Efficiently determining the most relevant news per user?

<comment><USER9> Efficiently determining the news feed per user is a pretty big technical challenge when you get to 500m users (which probably means a million or so news feed requests per second, possibly more).

If you think about it, there are broadly two ways you can handle me posting an update which appears in my friends' news feeds:

1\. Post an item which is has my user ID as the owner, and each time one of my friends reads their news feeds you join together all the news items based on a 'friend' relationship (presumably a many-to-many link), order them by timestamp and do all the filtering necessary where they've clicked "don't show this kind of update from this user".

2\. Store a news feed per user and update all my friends' news feeds when I post something new, remembering to keep everything in sync should I delete the post, be removed as a friend etc.

<comment><USER10> I believe the news feed was originally generated every 20 to 40 minutes for each user, regardless of whether they were on the site. This way, caching was extremely effective and the architechture could withstand downtime on the feed generators. I remember a few days where the news feed didn't update at all.

</comment></comment></comment></comment><comment><USER11> The analysis seems lacking to me, and a little scattered.

I really like google+: I prefer it to twitter and linkedin, and will use it as a replacement for them. In my opinion, it's not really a facebook killer, though; as pointed out here in the comments and elsewhere around the internet:

1) Bootstrapping a very large social graph is hard. Facebook knows this and is urgently trying to keep Google's mitts off their own graph.

2) The UI design decisions make a world of difference in usage. Facebook just isn't going to be used like Google+; it does not truly conceive of, or wish to be, a multi-persona system. Zuckerberg doesn't believe in such a thing, and neither do his top executives. They frequently push the idea of an integrated work/personal life in speeches and interviews.

Facebook's design and usability (and privacy settings) exemplify this approach; they will appeal to plenty of people, perhaps even most.

It takes more brain cells and more effort to keep social interactions segmented.

The tool appeals to smart online people who wish to maintain multiple personas on-line; personal and work. Bloggers, and 'personalities' will find it most compelling, and anecdotally, that's who I'm seeing most in my stream (and finding it far easier to interact with them thn on their blogs/on twitter, incidentally).

It will find a great niche doing that; hopefully it will be a giant niche! I don't think it will replace facebook, or be anywhere near the 50% mark in users or engagement. It's too brainy a product, made by (great) engineers and designers, while facebook is still a party.

Generally the fraternity houses throw better parties, engineers make better cars. This is roughly the same in my opinion.

<comment><USER11> Incidentally, claiming Buzz didn't make it because Google pulled the plug is absolutely missing the point; Buzz was brutally confusing, had incoherent privacy and sharing mechanics, and had no separate interface, it mostly coexisted with gmail (if I recall correctly).

It was terrible; really. That's why it got pulled, and that's why it didn't get any traction.

</comment></comment><comment><USER12> Why is there so much discussion about what _might_ be the success or failure of Google+? it's all noise.

In 12 months (even less), there will be enough data to argue definitively, so what is the reason for having an opinion now. I'm not bashing you for your opinion, the whole argument is immature. Lets wait a little before psychoanalyze everything about this.

<comment><USER13> We're not all 100% rational robots. We work in this field. It's fun to discuss possibilities; wonder about the future.

And, to be honest, the hive mind is _generally_ right about these things. Remember Color and how everyone was so sure it was going to fail spectacularly? And remember how it did? Or how skeptical everyone was about Diaspora? Or OpenID? Or how early most people realized that Facebook was going to destroy MySpace? It's not just noise. Well, Buzz may have been noise... and so may be Google+... but it's fun to talk about it.

<comment><USER14> _but it's fun to talk about it._

The problem is that such speculation often gets disguised as serious journalism and pundit analyses when, at this point, is just gossip and opportunistic click bait.

<comment><USER12> > opportunistic click bait.

Bingo!

</comment></comment></comment></comment><comment><USER15> The killer advantage that he didn't mention is that Google search is used by a billion people worldwide, and is probably the start page for at least half of them. You still have to go out of you way to visit Facebook, by explicitly selecting it from your bookmarks, but seeing your Google+ notifications will be automatic and unavoidable.

Sure, some people will turn the feature off entirely or simply not have any friends to bootstrap themselves into the network, but hundreds of millions of people will be in a position where their interaction with Google+ will be automatic, and if you're already interacting with friends there, why bother going to Facebook?

Quite simply, a lot of people will be on both for a while, and use Google+ more and Facebook less over time.

</comment><comment><USER16> If they don't start actually sending invites soon, a lot of the initial buzz will die and the people without invites will just stay where they are. If the person in a group who generally gets others on a service cannot get in, then it will be a problem. I don't think the gmail curve will work the same for a social network.

<comment><USER17> Apparently they opened it up already for all people to join, at least here in Spain.

<comment><USER16> I signed up for a notification fairly early but haven't received anything (USA). I also go to the plus.google.com page and it still has the we will notify you message.

</comment></comment></comment><comment><USER18> too early to predict, Facebook now has real money to compete.

this is googles third attempt at getting traction in social networking market dominated by Facebook. open social, google wave and now +1.

Yeah this UI is slightly better, but this is a temporary craze period, they need to keep moving ahead launch usable addictive features, they need to make it a habit a addiction for its user.

also need to build a usable mobile app for all the platforms,having a android only app or integration in android core would cause a large drop-off

<comment> X-Istence Google+ has already completely overtaken anything Facebook has offered me so far. Their mobile client for iPad is MUCH better than Facebook's. It remembers position in the stream when you click the back button rather than refreshing the page, it is faster and lighter weight.

I've only used Google+ the past couple of days but I already am sharing more content on it than on Facebook, I can share specific content with specific groups. My family doesn't care about git, but my co-workers probably do. My boss probably doesn't care for me talking about what beer I am going to knock back a six-pack of on the 4th, but my friends sure wouldn't mind discussing that.

Google's Circles has already made that much simpler. As for addicting features, faster page loads (Facebook uses a lot of JS and it can cause the page to crawl), instant updates (I was on the phone with my friend, and I heard him click his mouse and the post was already displayed on my screen), and the picture quality since it uses Picasa Web as the backend is much better than what is available on Facebook, and best of all Google seems to know how to run a CDN since I don't have to wait minutes for an image to show up.

As already mentioned the mobile interface is miles ahead of what is available from its competitors, and having used the Android app I can say it is absolutely fantastic. As I am personally an iPhone/iPad user I am looking forward to seeing what the app will look like once Apple approves it.

</comment></comment><comment><USER19> "Facebook won based on amazing technological innovations in the form of the app platform."

I don't think this is true. I know that people I was friends with on myspace who migrated to facebook did so because myspace got to be too much of an online pick up spot/crowded with sparkly graphics

</comment><comment><USER20> This seems to assume that Facebook is just going to be sitting on their hands and watching from the sidelines...

Google+ seems very nice, but from an average user's perspective, does it offer enough benefit to warrant moving away from where the vast majority of your social graph lives? I'd say probably not. It'd be like choosing between a party with decent music where you know 20 people and a party with pretty good music where you know 2 people. Most will choose to stay at the first party.

<comment><USER21> For me and many others, Facebook has blown it. I want to be the steward of my own data. I want greater, easier, more granular control over with whom I associate or communicate online. Unless G+ has an epic fumble, they've got my eyeballs.

Even if G+ goes belly-up tomorrow, I'm still done with Facebook. If G+ doesn't grab a huge marketshare, it's shown the NEXT Zuckerberg how to build a social network without forcing "privacy is no longer a social norm" down users' throats. Facebook's days are numbered, IMO. Google has successfully exploited Facebook's weaknesses in such a way that I think everyone is kind of facepalming and saying, "Of COURSE! Why didn't I think of that?"

<comment><USER22> You are hardly alone. A year ago in a consumer satisfaction survey, Facebook ranked below the airlines. There is no reason to believe they are better liked today.

I have to believe that a company that is that disliked by its customer base is vulnerable.

</comment></comment></comment><comment><USER23>
      Google has a social network and a [mobile] operating system.
      Who's going to have the best mobile social user experience?

While this is an attractive bet, as Google you would have to hope that neither your OS or network got too popular or you could quickly end up in anti-trust territory. Android being open-source changes things slightly but it doesn't solve your competitors' problem (deep integration access to your own stock devices).

      Zynga's IPO filing shows $597.5M in revenue and $90.6M in earnings
      in 2010. If Facebook had around $2B in revenue and $250 million in
      earnings in 2010, and 99% of Zynga's revenue comes from Facebook,
      the math says Zynga could be nearly a third of of FB's top and
      bottom line.

That's some funny accounting.

      $1 invested in Google (at a $167B market cap) will make it to $2
      before $1 invested in Facebook (at $80B market cap) makes it to $2.

That's not so funny.

<comment><USER24> >While this is an attractive bet, as Google you would have to hope that neither your OS or network got too popular or you could quickly end up in anti-trust territory.

Sadly, this is probably true. Such integration may prove too useful to consumers and too game-changing for Google's competitors. I wouldn't put it past them to use the federal government to makeup for their lack of innovation.

<comment><USER25> I have seen this claim a few times, but noone ever gives any real reasons as to why.

A monopoly born through a superior product is not the same as a monopoly born through anti-competitive practises. Noone is forcing or coercing anyone to use Google+. Facebook and twitter are only a click away, and both are massively more popular.

Could we say the same if Facebook launched an email service? Or if Twitter launched some sort of search engine?

<comment><USER23> We're not talking about a mere monopoly, we're talking about exclusive API integrations in, hypothetically, an OS with majority market share. That's not something that has historically been tolerated well by courts.

<comment><USER25> They haven't done a whole lot about MS (which is basically the definition of this behaviour) though, even looking at Europe.

</comment></comment></comment></comment></comment><comment><USER26> Social network markets don't get split 50/50.

They get split 100/0, or 90/10 maybe.

</comment><comment><USER27> that website's background makes me think my monitor is really dirty. really annoying.

</comment><comment><USER28> I don't know if Google will win or lose, but I don't think it's possible to split that market because of the herd mentality. People follow their peers and they will all either stay at Facebook or move to Google+.

</comment><comment> mike-cardwell Most of my friends wont move from Facebook to Google+ because Google+ doesn't have support for Events. When it gets support for Events, then maybe some of them will start to consider it.

</comment><comment><USER29> if they do, it won't be for quite a while. these things take time.

<comment><USER30> FB 2003 -> 2011: 500M</comment></comment>


Apple Leaks Video of MacOS 10.14 Showing Xcode 10 with Dark Mode, News App, Etc. - <AUTHOR> https://www.macrumors.com/2018/06/02/macos-10-14-xcode-10-video-leaked/ <comment><USER2> Discussed yesterday:

[https://news.ycombinator.com/item?id=17214337](https://news.ycombinator.com/item?id=17214337) (70 points, 32 comments)

</comment><comment><USER3> Looks like the dream of a leak-free keynote eludes Apple once again. Though, as leaks go this one is relatively tame-unless Apple doesn't much else to show off, which is a definite possibility given this past year's developments.

<comment><USER4> Mark Gurman at Bloomberg also 'leaked' or 'predicted' or 'misspoke' — depending on how deep you are in the Apple blogosphere — that there's ARKit 2.0 (with shared virtual objects between iDevices) and a new Digital Health features (ensconced in the Settings app) similar to the initiative Google announced last month

</comment></comment><comment><USER5> There are so many other problems with Xcode that this dark mode is completely irrelevant to me. AppCode from JetBrains is lightyears ahead and has been for a long time.

</comment><comment><USER6> Apple is abiding by the Dark Mode Rule:

"Developers who have nothing of value to add to their software shall release a new version with a dark mode."

<comment><USER7> That's pretty snarky. The natural path is towards dark themes with OLED displays. It wouldn't be exclusive to Apple.

</comment></comment><comment><USER4> Lots of grey in that dark mode; barely any black. I assume OLED displays aren't coming to the Mac anytime soon?

<comment><AUTHOR> Personally, I prefer very dark grey, but it would be nice have a 'none more black' option anyway :)</comment></comment>


Would you accept gold or silver coins rather than greenbacks? - <AUTHOR> http://www.connectmidmichigan.com/news/story.aspx?id=481793

<comment><USER2> They're opening themselves up to counterfeiting. The U.S. currency has the largest R&D budget in the world to make sure all its notes in circulation are the real deal. They wont have anything even remotely close to it.

</comment><comment><USER3> I'll take whatever i can get that actually spends in useful places (like the internet). Let me know when amazon takes gold (or seashells for that matter).

</comment><comment><USER4> I'll take it, sure. I love this. But I get the feeling someone from USG is going to be visiting them soon and giving them a hard time.</comment>


How DMCA is being used to censor #OhMyFish in GitHub - <AUTHOR> https://twitter.com/derekstavis/status/704388930876149761 <comment><USER2> [https://news.ycombinator.com/item?id=10271304](https://news.ycombinator.com/item?id=10271304)

TL;DR: OhMyFish stole some code on MIT license _stripping_ author attribution, and got kicked hard.

</comment><comment><USER3> TL;DR?

I don't get it. So someone is so eager to get credit, that wants to takeover whole project?

<comment><AUTHOR> basically, seems like he wants to shut down it's project competition...

</comment></comment><comment><AUTHOR> Seems like the link was taken down, sorry everyone..

<comment><USER4> oh irony</comment></comment>


How Do Routers Work, Really? - <AUTHOR> https://kamila.is//teaching/how-routers-work/ <comment><USER2> I learned how routers _really_ work from Ericsson's seminal video on the matter, The Good Warriors of the Net: [https://www.youtube.com/watch?v=x9XWxD6cJuY](https://www.youtube.com/watch?v=x9XWxD6cJuY)

Though I always thought the "router switch" was much more fun.

<comment><USER3> Haha thanks for sharing. Interesting how much emphasis there is on "the ping of death" compared to literally any other exploit. Does anyone know if this was really such a big problem when this video came out?

<comment><USER4> What I remember is that the ping of death was extremely surprising in terms of the number of OSes affected, the ease of exploiting it, and the super- noticeable consequence of instantly crashing the target machine. And it came out at a time when there wasn't as much vulnerability research and very few extensively cross-platform vulnerabilities.

Also, with the ping of death, the only way to use it was to very noticeably crash systems -- not to secretly build a botnet or something, as might have been done with RCE vulnerabilities.

</comment></comment></comment><comment><USER5> > If that is the case, my condolences.

As a software engineer working on IOS-XR, that gave me a chuckle :p

In the case of enterprise- and SP-grade routers, the data-plane - i.e., where the actual forwarding and lookups take place - runs entirely on a dedicated network processor (NP), mainly for performance reasons. Information on the NP is populated by the router's operating system in response to user configuration, network topology changes, or protocol state updates. On the other hand, the control plane runs mainly on the CPU(s). This is required so that the protocols running on the router OS (e.g., BGP) can receive and send out updates based on their state machines.

<comment><USER6> > As a software engineer working on IOS-XR, that gave me a chuckle :p

Good good :D

Thanks for the clear data plane / control plane explanation, that's a good way to summarise the distinction. May I link to it from the article?

<comment><USER5> Thanks! Sure, go ahead!

</comment></comment></comment><comment><USER7> > _Note that the next hop's IP address is in the router's memory only: it does > not appear in the packet at any time._

This clears some points that always puzzled me:

If the gateway is identified by an IP address, but the destination host is also an IP address, which address exactly is put into the packet? And how can a packet be routed if the gateway's IP is itself part of the subnet that's supposed to be routed to it. (E.g. 192.168.0.0/24 with default gateway 192.168.0.1)

So the answer is, if I send the packet to host 18.104.22.168 but the routing table has 220.127.116.11 as the next hop, the packet will have 188.8.131.52 as the destination in the IP part but the _MAC of 18.104.22.168_ as destination of the Ethernet part (or equivalent). It doesn't matter which subnet the next hop's IP is in, as the routing table isn't consulted for it anyway - it's only used in ARP)

This leaves the question, why the indirection and why the mucking around with ARP and IPs that are never used as the destination to anything?

Couldn't you simply put the next hop's MAC address (instead of IP address) into the routing table and be able to route packets just as well, with a lot less complexity?

<comment><USER8> To give a simplified but largely accurate summation: IP and Ethernet were each designed in different time periods and largely without knowledge of the other. Ethernet was historically used in such a fashion that multiple hosts (more than 2) occupied the same collision domain, that is, they were physically connected to the same cable, or through hubs that repeated frames to all interfaces without routing. This means that Ethernet required an addressing scheme so that hosts on the same media knew which frames were for them (higher-level protocols at the time did not necessarily handle this).

Ethernet's addressing scheme was not designed to accommodate large hierarchical networks and so is unsuitable for the IP use case, but more importantly, IP was designed completely separately from Ethernet, and was not used primarily with Ethernet until later, so IP could not "assume" that the layer below it handled addressing (typically there was either no layer below [point-to-point] or only a very simple one).

The result is that Ethernet and IP duplicate functionality to some extent. It is theoretically possible, although not common, to build a network which uses only layer 3 routing without any reliance on Ethernet addressing. A significant reason this is rare, arguably _the_ most significant reason, is that IP is now carried over Ethernet a significant majority of the time and L2 Ethernet devices (like switches) require the use of Ethernet addressing for the network to function. You usually see "pure IP" in virtual networking environments where the IP is encapsulated in, well, more IP, but even then Ethernet frames are sometimes used because, well, just like network hardware, operating system network stacks generally expect them (examine, e.g., the linux bridge implementation). It is completely possible to build network stacks and network appliances which do not require the use of Ethernet but it is expensive and there's not much of a motivation to do so, and you'd run into issues with any kind of equipment not so designed.

Addressing is not the only duplicate functionality between Ethernet and IP, and it's one of the less significant ones since Ethernet addressing does provide utility even if not strictly required. Ethernet frames are checksummed, and IP headers are also checksummed, even though the Ethernet checksum is already over them. The IP header checksum exists because IP was historically carried over lower layers that did not provide integrity checking. This is basically pure wasted space in typical networks, so IPv6 drops the header checksum to remove the overhead.

In general, though, network protocols tend to make more sense when you have some awareness of the history of their development, as when you try to view the modern internet as an elegant, monolithic design as some authors attempt, a lot of things won't make sense because they simply are that way for historic reasons. Ethernet and IP were each designed in the '70s, but separately, and their use has accumulated significant cruft since then, including some radical changes in the ways that they were used (for example the transition of Ethernet from shared media to point-to-point, which occurred de facto earlier but became largely formalized with the introduction of GbE which prohibits more than two hosts in a collision domain, and of course ironically the introduction of multiple hosts in a collision domain as an even larger issue with wireless protocols, which requires additional handling below, or actually in lieu of, the ethernet layer, 802.11 being a replacement for ethernet that happens to behave similarly in many ways for compatibility).

Finally, the OSI model is something that tends to add complexity and confusion to these discussions, which is why I doggedly discourage its use in teaching. The OSI Model describes the OSI protocols, which were contemporaries competitors to the TCP/IP protocols. Arguably, one of the reasons that the OSI protocols fell out of use (in favor of IP) is exactly because they assumed seven layers, and each was fairly complex. Some OSI protocols are still in use, for example IS-IS (OSI layer 2) in the telecom industry and some backbone IP transit, but in niches and generally being replaced with IP. IP is intentionally simpler, and can be fully described using four layers, what's usually referred to as the TCP/IP model.

The OSI layers do not map 1:1 to the TCP/IP layers, even if you simply ignore the ones that map more poorly as instructors often do. Even worse, many instructors and textbook authors feel such a strong compulsion to map modern networks to the obsolete OSI model that they cram application-layer protocols into OSI layers 5 and 6 in order to have examples of them. I have seen cases as extreme as an instructor claiming that HTTP cookies represent the session layer. This kind of thing is nonsense and hinders understanding rather than contributing to it. If the OSI model is taught (not a bad idea at all as students should realize that TCP/IP is merely the popular way, and certainly not the only way), it should be taught specifically by contrasting it to the different TCP/IP model. Unfortunately few instructors and website authors today seem to even be aware that the OSI protocol stack existed separately from IP.

And, if you are wondering, yes, Ethernet can be used in a switched network completely independently from IP (although not really in a routed network unless you are generous about how you define routing). This was more common decades ago, the only equipment I have ever personally encountered that used bare Ethernet was a very outdated CNC setup.

<comment><USER9> Along with the above fantastic comment, I found [https://apenwarr.ca/log/20170810](https://apenwarr.ca/log/20170810) an interesting (if inflammatory/divisive) essay on the subject and its history.

<comment><USER8> Yes, that essay is outstanding! I largely left out mention of IPv6 because it's a whole different can of worms, but as that article presents, it aims to make the situation radically simpler but in practice, well, doesn't. Cue the XKCD about making a new standard.

A bit ago I touched on various competitors to IP on my blog-thing ([https://computer.rip/](https://computer.rip/)) but I need to find time to give the topic a more thorough treatment. As with a lot of fields, you can probably learn more about what really matters in networking by studying the protocols that didn't make it than by studying the ones that did. It's hard for most people that entered the computing field in the last couple of decades to imagine IP and TCP/UDP not being the clearly correct design, but in the '80s to early '90s the expansion of microcomputers was accompanied by a flourishing of network protocols for use with them. There are multiple reasons that TCP/IP over Ethernet eventually became dominant but in the end it's mostly happenstance, it's pretty easy to imagine XNS becoming the norm if ARPANET had gone a little differently. Imagine the problems we'd be talking about today in that parallel universe, XNSv6 adoption is such a mess.

I'm honestly a bit sad to see the "all-IP" trend working its way through the telecom industry. It's reducing use of protocols like MPLS that I think are very cool. But now software-defined networking brings a whole new world of strange network technologies that we'll find ill-advised in fifty years.

</comment></comment></comment></comment><comment><USER6> Hi, I'm the author. Uh hi w00t how why what's it doing here?! :D

I promise to make it better and actually finish it now! Check back in a day or two I guess? Also I should post the code I promised. Hello from the ADHD squirrel!

<comment><USER6> Also thanks a ton for your suggestions, I really appreciate them!

</comment></comment><comment><USER10> I would suggest expanding your terminology section. I know almost nothing about routers and I'm lost in the first sentence of the High Level Overview section.

      "A switch (or an L2 switch :-) ) is an L2-only thing."

I don't know what L2 means. I suspect a definition of the various levels would expand the audience for this post.

<comment><USER11> I think you need to know your audience and cater to them, trying to explain everything just ends in a book. L2 is especially googleable.

<comment><USER12> To be fair, L2 could be Layer 2 or Level 2 (cache) and it might be a crapshoot what you get. You might get confused trying to answer your own questions.

Discoverability lives in the space between overexplaining and underexplaining.

<comment><USER13> In a networking discussion, L2 always means Layer 2. If the subject of caching came up the author would say "I'm talking about L2 cache here."

It's like TTL. It means one thing in a networking context but something totally different in a digital logic context.

But granted, somebody with no networking background wouldn't necessarily know that.

</comment></comment></comment></comment><comment><USER14> Maybe a mention of other, non-ethernet, links. Serial PPP? Frame Relay? I realize these are mostly historical curiosities these days, but it might help to enforce the differences between L2 and L3.

When I first started working with routers, over 25 years ago, it was all ethernet LAN to serial WAN, usually point-to-point T1 or frame relay. On site had a _dual_ T1, load balanced on both ports of a Cisco 2501. Fun times.

</comment><comment><USER15> I learned a lot about networking when setting up servers in racks. Had to deal with issues arising from terrible UI's on a lot of the routers out there, so I just kept digging deeper and deeper into how it all works. Also, if more are looking into how packets are actually routed, look into BGP, and how CDN's work. Great stuff.

<comment><USER16> I would start with how internal routing works before starting on WAN routing.

Id look at the cisco press and CCNA training materials

</comment></comment><comment><USER17> I believe this piece does a good job with forwarding, but would be improved by a discussion of termination.

Routing is only triggered when the packet is L2 terminated: the destination MAC of the packet is one of the router's own MACs.

If the packet's destination MAC does not belong to the router, it doesn't matter what is in its IP header, it will be switched in the LAN it came in on.

This design also generalizes nicely to the case when the destination IP of a routed packet is one of the router's IPs.

<comment><USER6> Good point. Incorporating that would require more brain that I have right now (bad timezone :D), but you're right, I completely left that out. May I update the article with a link to this comment?

<comment><USER17> sure!

</comment></comment></comment><comment><USER18> I teach computer networking class with lab using Linux Switch Appliance (LISA) and Quagga router (based on Zebra) on embedded computer running x86 CPU with multi-port Ethernet. The embedded router need to be dual-boot for its specific function because LISA is based on custom Linux kernel but Quagga is just using normal/vanilla kernel.

I am looking for a "layer 3 switch" than has switching and routing functionalities without rebooting. If anyone know any software based open source solution for this it will be very helpful. Preferably with Cisco IOS like user command interface but it is optional but not mandatory.

Based on the article, it is explaining router internal based on P4. Perhaps I should try to use P4 for the above mentioned requirements?

<comment><USER19> VyOS supports bridging and routing although the config is more like a Linux host and unlike a real Cisco/Arista switch.

<comment><USER20> The Vyatta/VyOS/EdgeOS CLI took heavy inspiration from Juniper's JunOS, so saying the config is unlike a "real" switch is factually incorrect.

It's still a little odd, but as somebody quite comfortable with JunOS (I run Juniper switches in my homelab) it's pretty easy to pick up any of the Vyatta forks and hit the ground running.

</comment></comment></comment><comment><USER21> >"It needs to be routed: the router, based on L3 information, decides where it needs to go ,in L3 speak – it will decide which host to send it to, but not how. This corresponds to the routing table (or FIB)."

This is not correct. The FIB(forwarding information base) is concerned with layer 2. The RIB(routing information base) determines the next hop. The RIB is what is used to populate entries in the FIB with the correct outgoing interface. These two terms are basic router terms. It was kind of surprising to see this statement in a post titled "How Do Routers Work, Really?"

<comment><USER6> You're right, I noticed it about an hour ago -- no idea what was going on in my head then :-/ Fixed already. Thank you!

</comment></comment><comment><USER22> Click is a very good software router to read and learn: [https://github.com/kohler/click](https://github.com/kohler/click)

It can be more than a router though.

</comment><comment><USER23> this is great if for no other reason that in section 1 it explains the difference between a switch and a router (which took me a decade? to really understand). I really wish someone could have laid it out clearly for me.

</comment><comment><USER24> I just have to say this "magnets how do they work"? ;) Anyone get the reference?</comment>


Show HN: Faqtor – Promise-based build automation for Node.js - algebraic-brain https://github.com/faqtor/faqtor/blob/master/README.md <comment><AUTHOR> Thanks for sharing - as a TypeScript/NodeJS shop, it's very appealing to code infra tasks in the same language as our main domain logic. We currently use Listr ([https://github.com/SamVerschueren/listr](https://github.com/SamVerschueren/listr)) for build-automation. Faqtor looks to be loosely related, and any alternative in this space are most welcome.

<comment> algebraic-brain thank you e1g! And welcome to try Faqtor.

(today I tried to build C++ project with it and it was fun!)</comment></comment>


Voyager 2 Spacecraft will cross "termination shock" in Late 2007 or Early 2008 - <AUTHOR> http://www.newsroom.ucr.edu/cgi-bin/display.cgi?id=1720 <comment><USER2> What's significant about whether particles there are travelling above or below the speed of sound? Surely there are not enough of them to produce the sort of compression waves that cause problems for supersonic jets.

<comment><USER3> For what it's worth, I read about this on a couple of other sites.

From what I understand, particles build up along the compression front, causing a sort of magnetic storm for things passing through it. The effect is magnetic and not compression-based as it is in jets. One anonymous poster on /. claimed to be from JPL and said they were worried about having some of the electronics in the spacecraft fry as it passed the boundary. For some reason that made me think of old Star Trek episodes -- "Where No Man Has Gone Before"

I also learned that, far from what we've been told, there IS sound in space. It travels around 100km/sec in the near vaccum, but nobody has come up with a way to measure pressure waves at that extreme low inensity. Sounds like a cool thing -- wouldn't it be neat to listen to the universe?

<comment><USER4> It's all about the density. Even what we consider nebulae are small fractions of an atmosphere. Sound as we think of it just doesn't apply.

But for SciFi shows that don't respect the audience enough to have no sound in space, I choose to believe they just placed simulated microphones near the explosions. The particulate matter and smoke could temporarily host the sound in space.

Also, sound travels slower in lower density areas, not faster. Where did you get this 100km/s number? I think it is a neutron star where the matter is so dense, sound waves move so fast as to cause relativistic effects. But of course all our models for sound would fail in a Singularity. Just add sound to the long list of things we have no idea how to model in Black Holes.

<comment><USER3> I'm in way over my head, but I'll keep going. Hey this is the internet -- lack of knowledge never stopped folks from talking about stuff before! You're probably much better-informed.

This sound question is very much like the "if a tree falls in the wilderness and nobody is there to hear, does it make a noise?" By sound I mean pressure waves, which exist I guess everywhere (from what I am hearing) except for a complete and total vaccum. But at the level of just a 1-1000 particles per cubic meter, there's not enough matter there to make something like the human eardrum work. So yes, it's sound, but no, we could never hear it. Does that make sense?

Here's one of the comments I sourced for my post. Like I said, I am a complete novice in this area.

[http://science.slashdot.org/comments.pl?sid=373279&cid=2...](http://science.slashdot.org/comments.pl?sid=373279&cid=21507799)

<comment><USER4> That comment was over my head I think.</comment></comment></comment></comment></comment>


Congratulations, Appjets - <AUTHOR> http://ycombinator.posterous.com/congratulations-appjets

<comment><USER2> _"The reason they decided to go with Google was that they were literally overwhelmed by Wave: after meeting the Wave guys, they were so impressed that they (a) wanted to work on Wave themselves, and (b) didn't want to compete with it. "_

This sounds pretty cool to me.

<comment><USER3> To me it looks like they're burning down a simple product people love -- to go work on a bloated product people are at best ambivalent about.

Sure, they could end up bringing their spark to Wave and making it into something that all the Etherpad users will love even more, but what do you think the odds of that are? Why kill Etherpad before that happens?

<comment><AUTHOR> To me it sounds like you're so eager to complain that you're jumping to conclusions in order to complain about them. Why don't you just wait and see what happens?

<comment><USER3> You know me so well :)

I really do hope they're successful in taming Wave's UI complexity and making it actually useful for writing documents collaboratively. Right now Wave is geared towards adding commentary (which it does well), but that isn't very useful if you don't already have a mostly-complete document to mark up. Even with just one editor Wave can be really obnoxious if you try to write something more than a paragraph in one blurb -- it could really use an Etherpad mode!

As someone who's bet on Appjet before, what odds would you give of them pulling that off at Google? By tearing down Etherpad, they've clearly gone all in, but there's a substantial team on multiple continents working on Wave, and they're already set in some rather weird ways that the Appjet guys would have to reform significantly.

Do you understand how their users would be at least apprehensive about this? I should have bought a private copy when I had the chance...

I do have faith that they'll make a splash on the Wave team, but I doubt that they'll be able to fix Wave so that it's a good Etherpad replacement in the next three months.

<comment><USER4> Personally the best case I can see for wave is that some of the features get absorbed into GMail. I can't see it succeeding on its own.

(I just tried it out for the first time). Horrible bloated slow UI, hideous scrollbars, and pretty underwhelming.

It didn't seem to solve any problems I had.

So thinking about real useful features people want, how about they add a 'collaborate on email' mode in gmail, where you can write etherpad style email drafts with other people and when you're all happy, click send. I'd rather they work on things people want like that.

</comment></comment></comment></comment></comment><comment><USER5> Way to represent the S07 there Aaron and David. Grats!

</comment><comment><USER6> I know it's only a fairly irrelevant detail in the post, but this resonated strongly with me:

 _PHP. But that, unfortunately, they just couldn't stand working on. The PHP days were probably the lowest point, judging by how bedraggled they seemed._

<comment><USER7> I am curious, wasn't AppJet JVM based (using Rhino for Javascript)? Why couldn't they offer support for Ruby via JRuby? Would have been a language that's _both_ much more pleasant to work than PHP and has great traction with web developer community. Was there a switch away from JVM/Rhino to a C/V8 based solution?

<comment><USER6> I hope you don't expect me to have that information, although it's reasonable to assume that if their first attempt was purely javascript based, that they had a certain intellectual investment into the language. I'm not sure what would have been gained by switching to Ruby. PHP is problematic in many ways, not only language but also runtime and lack of asynchronous I/O.

<comment><USER7> Didn't expect you to have that information, was just more general posturing. I complete agree with you on PHP.

Ruby would have been useful in that it runs _very well_ on the JVM (their product runs Javascript in a JVM container), but is pretty popular amongst web developers (you could also argue, with the _right_ kind of web developers; PHP developers prefer to just use shared hosting in any case).

</comment></comment></comment></comment><comment><USER8> This is totally ridiculous: build something to throw it away and get job at Google ? Blah. This does not have anything in common neither with business nor with entrepreneurship.

<comment><USER7> I think a good chunk of people here aren't looking to build a conventional business. Most are looking to (firstly) hack on something they find interesting and if the constellations are aligned right, make enough in an exit to be able to freely choose where/when they work (given "liquidity preferences", the latter would also imply "generate a non-trivial return for their investors", which ends up being used to back other ventures).

I'd imagine this gives them:

a) far more leverage to choose their projects at Google (if you're entering Google in a conventional way, you aren't even told what projects/team you will be working until your start date: you could interview hoping to work on search, but end up working on internal/IT applications)

b) enough money, so that after their stock vests at Google they'd wouldn't _have to_ work.

You are right, however, that is very different from traditional entrepreneurship or business.

</comment></comment><comment><USER9> So could this acquisition be characterized as more of an HR one than a technological one?

<comment><USER10> well it seems like their technology is extremely valuable as well, since from what i've been reading on HN, they blow the socks off all would-be competitors

<comment><USER3> _blew_ , past-tense. They killed their public product today, the funeral's in three months.

<comment><USER11> damnit, upvoted by mistake. apologies.

</comment></comment></comment></comment><comment><USER12> Sounds like the absolutely "ideal" YC story. Stick with it. Iterate. Beat 'em with technology.

</comment><comment><USER13> Congratulations to them!

It's exciting that they were so impressed with Wave. It's easy to overlook the potential of Wave in its current incarnation, but this, to me, suggests there is some seriously awesome stuff coming to the Wave platform.

These guys created Etherpad, and _they_ are excited by Wave... ergo, so am I!

<comment><USER4> Given enough money, I would be excited by drying paint.

I'd take it all with a pinch of salt personally.</comment></comment>


Cannot delete mawlare - <AUTHOR>

Want to smash my computer. I couldn't watch videos today and was prompted to update some sort of extension. I then click on download Adobe. Immediately, things turned ugly and I see several pop-ups by something named unisale on the website. The tricky part is that I have it removed from Control Panel, but ads are still coming up. Ad blocker won't work. What can I do? <comment><USER2> Nasty malware, it's tricky to deal with but I don't think it's necessary to reinstall OS.Try restore the computer back to a normal point where everything was functioning perfectly.

Another solution is manual removal. Delete its main component, remove its main folder in Program files and get rid of suspicious extensions in browser. These normally help you fix ads issue.

source:[http://blog.doohelp.com/guide-to-get-rid-of-ads-by- unisales-...](http://blog.doohelp.com/guide-to-get-rid-of-ads-by-unisales- stop-pop-ups/)

</comment><comment><USER3> Format and reinstall OS, at least.</comment>


Ask HN: How can I run an effective code review? - <AUTHOR>

I'm currently working on implementing a substantial feature to an existing website.  This work covers development across all layers of the stack and several programming/scripting languages (JS, HTML, CSS, SQL, .NET).  Are there any best practices - or suggestions - for running an effective code review with a team?  What are some of the more effective methods for reviewing code?
I'm planning on doing my own research into what makes for a productive code review (my initial research has turned up 'Peer Reviews in Software: A Practical Guide'), but also wanted to ask the community.
(For clarification:
- this is not an 'architectural review, per-se; rather, a more narrow scope into code after the architecture has been defined, vetted and approved - this is also in addition to the user of profilers and automated code checking tools).
Thank you in advance to those who take time to respond! <comment><USER2> There are a bunch of methods I've used over my software career. The one I found most effective was:

1)Create a review package with the code and a brief discussion of what it does. (if its an update then we'd provide code diffs).

2) Have reviewers (at least 3) submit a list of bugs to the person holding the review.

3)The reviewer could accept the comment or flag it to discuss.

4) Then everyone got together (meeting) and discussed the ones that where flagged to discuss. Generally this made the reviews themselves not last too long (going through every line of code thats fine is boring) and some interesting discussion could be had and a conclusion reached.

5)The moderator would write a ticket in the bug tracker for the items and then when the updates are made the moderator would verify the changes were made a close out the ticket.

</comment><comment><USER3> How and why: Read "Software Inspection" by Tom Gilb

Learn by doing: Read "A Discipline for Software Engineering" by Watts S. Humphrey. Skip to the exercises at the back, as 95% of the value is in the exercises, the main book is not that good (wants a re-write).

Often, people make the mistake of only doing a code review. While this helps, much better is possible. A review will typically remove 60-80% of the bugs, but to hit 99%, you need to compound your reviews. Capers Jones shows it is easy to hit 99% bug removal if you combine several quality control reviews, such as requirements, design and code reviews.

Quality control is not one innovation, it is a combination of several innovations. Several innovations that improve quality and there are many such innovations, more than 20.</comment>


MasterCard Wants Programmers to Use Its Payment Technology - <AUTHOR> http://bits.blogs.nytimes.com/2010/05/25/mastercard-wants-programmers-to-use-its-payment-technology/

<comment><USER2> Too bad their developer site will most likely spend more time convincing me about their "solutions" than showing me what it means in code.

If MasterCard wants me to commit to their platform, give me a Rails plugin (and SDK/plugins for other popular platforms/languages) and show me sample code. Show me how simple it is. I think this is generally applicable to a lot of APIs offered by established companies.

In terms of payment APIs active_merchant is the gold standard: <http://www.activemerchant.org/>. It took me about 20 seconds to be fully convinced that it was what I wanted to use.

<comment><USER3> Just like PayPal's site(s). 3 ways to tell me the steps in the processes, each with different names, but barely a decoder ring for the API.

</comment></comment><comment><USER4> Why does this NYTimes article not link to the source...? [http://www.mastercard.com/us/company/en/newsroom/mc_launchin...](http://www.mastercard.com/us/company/en/newsroom/mc_launching_new_open_api_developer_portal.html)

A site showing the benefits are missing currently. You have to email to get the API - that seems very strange to me. Why not wait until you have something to show?</comment>


Ask HN: What is the best way to future-proof a website build? - <AUTHOR> It seems to me like most websites will get completely rebuilt on average every 5 years or so and if they haven't been rewritten, they have become a ball of mud of outdated CSS and tightly coupled CMS. Most websites don't get replaced piece by piece, they get driven into the ground and aren't replaced until they are painfully out of date.
Imagine that you have been asked to start developing a website that will definitely still be in operation in 20 years. A non-trivial site that can evolve gracefully over time to incorporate new technologies and new features, is not prohibitively expensive to maintain, and the future maintainers don't wish you a painful death.
Is it possible to do that right now or is it foolish to even try to predict the future? Are there any strategies or techniques that would help with this task? Static HTML generation? Microservices?
Is web development still too immature an area to expect this sort of long term stability? Will it always be cheaper to just do the big rewrite every few years than to do slow and steady maintenance? <comment><USER2> Web design has changed dramatically over the past 10 years. Now no coding knowlegde is required to set a powerful website to enhance the online presence of any business. I personally set my own website using Wix and spent no money at all. Btw, here is the article on web design and how to do it for free - [http://www.beautifullife.info/web-design/15-best-free- websit...](http://www.beautifullife.info/web-design/15-best-free-website- builders/)

</comment><comment><USER3> Use something like Wordpress, Drupal etc.

In 20 years those companies will probably still be maintaining their software. Many developers will probably still have expertise in their software. If the companies building their software stop existing a ton of developers still retain the knowledge to support an individual instance of their software. Should they implode entirely clear alternates else will probably emerge due to the number of affected sites.</comment>


Google founders wanted to hire Steve Jobs as company's first CEO - <AUTHOR> http://www.appleinsider.com/articles/10/10/29/google_founders_wanted_to_hire_steve_jobs_as_companys_first_ceo.html

<comment><USER2> Cool story. That might not have worked out at all considering that would be a hell of a lot of alpha males in one company. Schmidt did not mind sharing power in the beginning, I don't think Jobs would have accepted that.

</comment><comment><USER3> TIL _recuse_ is a word <http://www.merriam-webster.com/dictionary/recuse></comment>


Perfect versus Better - <AUTHOR> http://www.dragosroua.com/perfect-versus-better/ <comment><USER2> The spirit and message of this post remind me of one of the best books I've read: The Practicing Mind. ([http://www.amazon.com/Practicing-Mind-Bringing- Discipline-Fo...](http://www.amazon.com/Practicing-Mind-Bringing-Discipline- Focus/dp/0977657205/ref=cm_cr_pr_product_top))

I fight myself over striving for perfection constantly. When I get closer to the "practicing" mindset I'm happier and more productive. It takes discipline and constant reminding, but it's worth the struggle.

</comment><comment><USER3> Nice post.

I'm always fighting with my strive for perfection myself.

And, sometimes, I'm so tired of struggling with this part of my personality that I end up doing even worse than how I would've done if I would have taken that particular task more lightly.</comment>


Escape from Systemd - <AUTHOR> http://gabordemooij.com/escape_from_systemd

<comment><AUTHOR> If someone knows some other non-systemd distros please let me know. (btw this is not intended as a flamewar, I don't want to discuss WHY I don't like systemd, please just accept that for some reason I don't want to USE it). This article is about a different phase: how to make sure one never has to use systemd.</comment>


Google Fusion Tables - <AUTHOR> http://tables.googlelabs.com/

<comment><USER2> Heres the official Google blog post that explains everything a bit more [http://googleresearch.blogspot.com/2009/06/google-fusion- tab...](http://googleresearch.blogspot.com/2009/06/google-fusion-tables.html)

</comment><comment><USER3> Wonder if this came out of their acquisition of Gapminder's Trendalyzer software. The one also featured in the Ted videos with Hans Rosling [1]. They seem to at least have integrated it under "Visualize > Motion", but it isn't working for me right now.

[1] <http://www.ted.com/speakers/hans_rosling.html>

</comment><comment><USER4> Google has a difficult task ahead of them as Avi Bryant & co have been working on DabbleDB, which seems quite similar to this, for a couple years now. www.dabbledb.com

<comment><USER5> There's also Swivel (swivel.com), Verifiable (verifiable.com) and as mentioned earlier IBM's Many Eyes. You've always got the glowering presence of the Business Intelligence giants (SAP/Business Objects in particular) too...

And our startup (timetric.com) too, I guess, though looking at this our emphasis is very different to theirs: we do time series exclusively, which means we have a completely different set of strengths and weaknesses.

Interestinly enough, though maybe not suprisingly, some of the early adopters have been newspapers. IBM are working with the New York Times; we're UK based and have been working with the Guardian...

</comment></comment><comment><USER6> IBM has manyeyes <http://manyeyes.alphaworks.ibm.com/manyeyes/>

</comment><comment><USER7> wow.. this is really cool.. so unlike wolfram alpha, which is painstakingly gathering data from different sources themselves, google might be using this to let users give them the data (assuming they choose to make it public)

</comment><comment><USER8> Google's going the way text indexing -> data visualizing/mining?

</comment><comment><USER9> seems pretty rough even for a "labs" offering.</comment>


Replacing `import` with `accio`: A Dive into Bootstrapping and Python's Grammar - <AUTHOR> http://mathamy.com/import-accio-bootstrapping-python-grammar.html Summary of Blog Post (I'm not the author):<p>At Hacker School, I've been building an alternate universe Python by overwriting builtin functions and statements with Harry Potter spells. This is a thing you can do at Hacker School! <comment><USER2> This kind of stuff is why I read Hacker News. Completely pointless but indisputably awesome technical hacks that teach you something about how stuff works anyway.

<comment><USER3> Awesome, but accio is a bit Potterish. How about 'have' or something shorter.

<comment><USER4> You know its deliberately potter-ish, right? Did you miss the wingardium leviosa reference at the beginning of the post?

<comment><USER3> And avra kadabra to you also.

</comment></comment></comment></comment><comment><USER5> I was expecting the magic to be changing

        import math
        x = math.ceil(y)

into

        x = accio ceil(y)

and having it Just Magically Work (tm).

But it's a nice write up of recompiling Python with a changed grammar.

<comment><USER6> I don't know how you could possibly have expected that.

<comment><USER7> Hence the "magically" :-)

</comment></comment></comment><comment><USER8> I'm not a python programmer. But shouldn't this be possible at runtime by modifying the AST to change it back to import in the AST? That way you could have a module you can just include to run this without a custom interpreter.

Edit: Looks like this is doable by messing with the tokenizer: [http://stackoverflow.com/questions/214881/can-you-add-new- st...](http://stackoverflow.com/questions/214881/can-you-add-new-statements- to-pythons-syntax)

You could create a loader.py where you tokenize the script yourself, and replace accio with a custom import that again loadds imports by tokenizing them yourself first. And then after you've modified the tokens you should be able to build a valid AST and run it :)

I'm pretty sure you can just throw a SyntaxError there yourself too if you encounter a real "import".

Nice hack nevertheless.

<comment><USER9> Oh yes, you can. But once you're doing that, why stop at a single statement? Why not macros [https://github.com/lihaoyi/macropy](https://github.com/lihaoyi/macropy)

<comment><USER10> Don't forget [http://www.pocoo.org/projects/karnickel/#karnickel](http://www.pocoo.org/projects/karnickel/#karnickel) the magnificent

</comment></comment></comment><comment><USER11> its probably easier to add custom syntax to python by using custom encodings. The dropbox pyxl library does this. Details: [https://github.com/dropbox/pyxl#implementation- details](https://github.com/dropbox/pyxl#implementation-details)

</comment><comment><USER12> When I search for "Harry Potter Programming Language" I keep getting references to an article where JK Rowling's writing process is used as an analogy for the creation of Python.

<comment><USER13> Is there an interesting story behind that search? You got me wondering.

</comment></comment><comment><USER14> this is such a great assignment for a principles of programming languages class. there is no better way to learn something than to break it up, change it and make it do your wish. i'm going to be teaching my next batch of muggles this.

</comment><comment><USER15> Reminds me in some ways of LUA: [https://github.com/mniip/LUA](https://github.com/mniip/LUA)

</comment><comment><USER16> Awesome hack!

Did you consider import hooks to accomplish this? Of course that wouldn't make your bootstrap language any different; that'd still be vanilla python. In the imported file you can do whatever you want, for example the inimitable paultag implemented hy, a python lisp, using those.

</comment><comment><USER17> Wow. Such an awesome article. I really enjoyed reading it.

</comment><comment><USER18> Really neat post, but a missed opportunity in naming it: "Basilisk" would have been quite a nice fit with both worlds ;)

<comment><USER19> Did you see she named it Nagini? Arguably even better

</comment></comment><comment><USER20> If you just want to accio act as import, you can always do this:

        accio = __import__

Anyway, interesting article!

<comment><USER5> Read the article, that was discussed and dismissed. It doesn't make accio 'act as import' because import is a keyword not a function call.

<comment><USER20> import is a statement. __import__ is a function hence will work.

        In [1]: accio = __import__

        In [2]: accio("os")
        Out[2]: <module 'os' from '/usr/lib/python2.7/os.pyc'>

<comment><USER21> From the article...

        >>> accio = __builtins__.__import__
        >>> accio sys
          File "<stdin>", line 1
            accio sys
                    ^
        SyntaxError: invalid syntax

        # :(

The author wanted accio to replace import not __import__.</comment></comment></comment></comment>