How to get meetings with people too busy to see you - <AUTHOR> http://steveblank.com/2013/08/12/how-to-get-meetings-with-people-too-busy-to-see-you/ <comment><USER3> For my inbox:

Turn-offs:

      - obviously sent to many others
      - obviously boilerplate
      - <USER2>
      - uses the word "coffee"
      - no apparent direction or desired outcome
      - previously insulted me on-line

Turn-ons:

      - already know them
      - already respect them
      - referred by someone I know or respect
      - mentions something I said or wrote
      - kind words without sounding contrived
      - mentions something I'm irresistably curious about
      and most importantly:
      - builds or expands upon something I said, wrote, or am passionate about

<comment><USER4> Listen asshole,

Can we meet for coffee next week?

I'd like to discuss our shared synergies around online advertising. I believe you could be a huge value-add to our preliminary discussions.

<comment><USER5> Upvoted for beating me to the punch, and I'm leaving a reply before someone unrelated to the intended recipient doesn't get the humour and takes offence to your strong wording.

</comment></comment></comment><comment><USER6> What's in it for me?

Answer that question for the person you are selling to, pitching to, requesting a meeting with, etc and your chances of success increase dramatically.

This isn't new wisdom, it's arguably one of the oldest tenets of sales. Humans, by nature, are selfish beings. The majority expect a return for any effort put in on their behalf.

<comment><USER7> This is where 'social engineering' comes in super duper handy. 'Interview' them for a 'publication' and pepper them with fluff as well as the questions you really want to ask.

<comment><USER8> Most people with a few year's experience have long been inoculated against that - usually after having given a couple of pseudo-interviews and later understanding they have been played like a banjo...

</comment></comment></comment><comment><USER9> _But who is offering to teach me something I don't know._

If I had to guess, I would also say that Blank does something like what I learned to do: look for people who are already proactively engaged in something. I wrote a similar essay called "How to get your professors' attention, along with coaching and mentoring" ([http://jseliger.wordpress.com/2010/10/02/how-to-get-your- pro...](http://jseliger.wordpress.com/2010/10/02/how-to-get-your- professors%E2%80%99-attention-or-how-to-get-the-coaching-and-mentorship-you- need/)) that described how I began to filter requests by looking at whether the people making the request had some skin in the game, or have done something to show investment and the ability to be helped.

Most people appear to learn how to do this through trial and error, but it's also useful to codify them.

</comment><comment><USER10> Not too bad advice but the key lies somewhere else:

0\. Stop chasing the one investor or selected perceived important people but rather get a sense who might be important

1\. First and most important: ACHIEVE something, create something unique, build strong traction, DO something where others raise their eyebrows, get people impressed, everyone!

2\. This is now what most people don't get: you do not network by just going to networking events or by mingling with other people, no: your achievements will be your networking vehicle -- you network by achieving stuff -- you don't have t ask for meetings anymore, people will approach you. Or you have just to talk about your achievements (to everyone) and the rest comes by itself. And when you want ask for a meeting, don't -- just tell your achievements and the other party will ask to grab a coffee together. So, create or work towards a situation where others approach you some day. Really, the key is to work on achievements and nothing else.

It's definitely not enough to tell the other party "in exchange [...] what we learned about" this and that, you have to achieve something, tell them where you succeeded! They don't want another boring conversation with a flimsy excuse. Imagine some developer who wants to work for your startup and approaches you and tells you about what he learned about some random technical topic -- this would lead to an awkward situation where you just want to escape the conversation with a needy guy. Instead imagine the same guy telling you that he build the first Sinatra-like framework for Openresty/Lua that blows Go and the JVM together and he would love to show it to you since you need some high performance web framework devs. Big difference.

Sidenote: everybody is important and will bring you one step further on your journey, not only VCs or angels. Most underrated target: other entrepreneurs, in particular those which are on the same level like you or a bit ahead because they are most willing to share thoughts or meet up and because they are your real peers (this is what I totally missed when I started).

</comment><comment><USER11> As odd as it may sound, we think this process should work much like online dating: what can you say to pique a stranger's interest and encourage them to meet with you?

We're borrowing from online dating to create a community of professionals open to receiving coffee meeting requests. No one is guaranteeing that they'll meet with other members who reach out to them, or that they'll even respond. But by joining, everyone implicitly communicates an openness to at least receiving meeting requests from people outside their network. This is already proving powerful:

www.treatin.gs

</comment><comment><USER12> There is a bit of irony here in that the advice article on how to get people's attention waits until 2/3 into the article to practice their own advice of _teaching us something we don't know._

I don't know Steve Blank; are all his articles like this?

<comment><USER13> I worked with Steve in the 90's. Can't comment on the rest of his articles but you have a good point.

Not whether it is relevant in this particular case or not (people will most likely read the entire piece because it's short and it's by Steve Blank) but as a general rule in any writing such as this you have to draw people in, make them curious, and make them want to read the entire piece you have written.

You can't rely that without the correct first paragraph or sentence that they won't bail on you before you get to your conclusion or are able to make your point. I guess a good headline might also take care of this. "How to get meetings" is just a so so headline. It's like "how to make more money from your clients". Sounds bland.

Personally as far as this statement which Steve made:

""I'd like to have coffee to bounce an idea off of you and in exchange I'll tell you all about what we learned about xx.""

I would have flipped and restated "I'd like to tell you what we learned about xx if I can have a small amount of your time to get your thoughts on yy".

In other words leading with the benefit at the start of the sentence. Saying "I'd like to have coffee" as the first part of the sentence might act like a trigger that makes the person not even read the rest of the sentence or the email. You have to grab people's attention when you have it.

<comment><USER12> Thanks for your response!

I agree with your point, and see why one would want a hook to draw people in.

To me, this begs the question as to whether we should focus on adding so much content to make a blog post when a twitter-length blurb followed by short anecdote or commentary would be sufficient.

</comment></comment></comment><comment><USER14> I thought Steve's post was insightful and well written. The article would be even better if the author made two small improvements to spelling and grammar:

1\. "1960's" should be written as "1960s." It's incorrect to use an apostrophe. 2\. Semicolons should separate complete, related sentences, not fragments such as "an hour from Stanford on the coast, but that hasn't helped."

I'm taking a moment to offer this feedback because I know that all good writers can benefit from constructive criticism. I look forward to reading more of the author's insightful posts.

<comment><USER15> I believe I have used the apostrophe when writing 1960s, etc. Good to know the rule, even though I'll need to get used to no apostrophe looking right. Does the same rule apply when abbreviating 1960s as 60s. In this case, would an apostrophe go before the 6, thus '60s?

<comment><USER16> Apostrophe has two uses as far as I know... one is for elision ('60s indicates that "19" has been elided or omitted) and possession (The 1910s' greatest author was Franz Kafka)

The "grocer's apostrophe" or "grocers' apostrophe" is what's incorrectly added to the plural form like what you're describing, the short answer is yes. '60s not 60's.

<comment><USER17> Single quotes have another use. Which is to mark off quotations inside of quotations.

Technically speaking you use single quotes there, but not apostrophes. However I mention it because the quotation mark that you used is a single quote.

<comment><USER16> Thanks. My keyboard only has one apostrophe/single quote key, as I suspect most do, but I have been learning to use the compose key and I appreciate little details like that.

</comment></comment></comment></comment></comment><comment><USER18> Summary:

 _" Silicon Valley has a "pay-it-forward" culture where we try to help each other without asking for anything in return."_

 _" So I've come up with is a method to sort out who I take meetings with."_

 _" I now prioritize meetings with a new filter: Who is offering me something in return."_

By the way, I agree with the advice provided, it's just the way the author gets to the point is a bit too winding for my simple mind :-)

<comment><USER19> Not being in SV, I am jealous of "pay-it-forward" culture of SV. Seattle doesn't seem to have same culture. Actually, even remotely by phone, I had better success with SV people giving me some time for discussion compared to Seattle people.

Personally, I take any meeting/concall request from entrepreneurs as long as I have relevant domain knowledge and I know I can add something positive to the conversation. I invariably learn more from such discussion specially when I rehash the discussion in my mind afterward.

</comment></comment><comment><USER20> I recently got introduced to a long time entrepreneur who sold his latest company recently by a friend. At the end of our coffee meeting when we were about to leave, he asked me if I know what is WIIFY to which I said no. He smiled at me and said that when you are running a business, its a most important thing that you have to think about(What's in it for you) and it actually applies to everything from getting users to sign up or getting some investors to speak to you.

On a side note, he also told me that people like him also get interested in knowing the failures you had in running your business and how you recovered from it.

I guess at the end, it's a matter of persistence and may be some luck that your pitch will arouse interest in someone's mind and they will say yes to meet you. Until then keep building your product and learn as you go.

Shamless plug : I am building a dating platform for working professionals :)

www.jointruffle.com

</comment><comment><USER21> You don't want to meet those people anyways, seek the path of least resistance, you'll come out further in life.

</comment><comment><USER22> 90% of networking requests come with purely selfish intent. I recall the ONE time that someone showed up to a meeting with a book that he heard would interest me. Of course I went out of my way to assist.

Give first then get...</comment>


Make Your Own Bookmarklets With jQuery - <AUTHOR> http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/ <comment><USER2> Completely off-topic, but using "tilt-shift" photography on a code snippet is a little unsettling to me. I'm not sure why.

<comment><USER3> _Very_ strange pictures for an article like this, definitely. But I'm not sure I'd call that tilt-shift. It looks like they just held the camera too close to the top.

Not that there's much difference, of course. But I almost universally see tilt-shift photographs having a top _and_ bottom blur; having only one doesn't imply shrinkage as strongly.

</comment></comment><comment><USER4> I use this JQuery Bookmarklet Creator all the time: <http://benalman.com/code/test/jquery-run-code-bookmarklet/>

</comment><comment><USER5> tl;dr:

1) You can use javascript: in the url bar! holy crap!

2) You can insert arbitrary scripts into the DOM, and trigger a function to run when they load!

3) Using jQuery, you can build UI stuff with this!

Any JavaScript developer worth half their salt knows this stuff. Wondering how it has so many upvotes. It's hardly novel or all that interesting...

<comment><USER6> It's well-presented and not everyone here is a salty javascript developer.

<comment><AUTHOR> Exactly, and bookmarklets can be useful for anyone... not just developers. I've helped a couple people create them for their sites before (like to post a new item, similar to HN) and I think if they had tried it with jQuery they would of been able to do it themselves.</comment></comment></comment>


Virtual Trebuchet: A Web Based Trebuchet Simulator - <AUTHOR> http://www.virtualtrebuchet.com/ <comment><USER2> Well, here goes my productive day.

I got there and the page was "blocked by my organization", then I realized that I was IT and opened it up.</comment>


Am I getting a good deal? - <AUTHOR>

I recently started working for a tech startup in SF. I'm a smart engineer who chose not to work for google and facebook. Also i went to an ivy-league school (though this shouldn't make a difference) and graduated last year. The startup has been around for about 2 months and has raised some decent money, + has a ton of frothy investor interest. There are 5 employees - 3 are founders making me employee #2. I've built about 40% of the existing alpha product. There are 2 other engineers.<p>I'm getting 75k and half a point of equity. There's a 4 year vesting scheme. Am I getting a good deal? <comment><USER2> That is not a good deal, but is a pretty typical deal. You aren't entitled to whinge about it quite yet. Wait until they hire their college bud as vp of product for $140k and 5 equity points. When that happens print out a calendar that ends on the date of your 1 year vesting cliff and tape it above your bed. Welcome to the glamorous world of startups.

</comment><comment><USER3> I disagree somewhat with the other posters about what you "deserve". You deserve about as much as you can negotiate. The more willing you are to lose the whole thing, the harder you can negotiate. That being said, if you go in to negotiate, don't go in with the fairness argument. Describe how you are excited about the company, appreciative of the offer and that you took the low equity because you were unproven, but now that you have proven yourself you would like more. Be prepared to sacrifice cash for equity or to walk.

The one thing I would say is this, if you don't ask you definitely wont get more. I don't think any of us can truly judge if it is a good deal because we dont have enough information.

</comment><comment><USER4> The salary is fine. You should be able to live comfortably on $75k, even in the bay area (assuming you have no kids/mortgage).

The equity isn't ridiculously low, but it's not high either. You should probably push for more if you can.

At the end of the day though the guy across the street with 5% of a crappy startup isn't getting a better deal than you if your company rocks.

</comment><comment><USER5> Well if you actually chose not to work at Google or Facebook, there were obviously other motivating factors than a decent salary. None of these other factors are listed here. So it's impossible to say.

Of course many people here will immediately judge everything by dollar amount alone, but by that logic no one should work for NASA, which has crappy pay.

</comment><comment><USER6> Let's assume equity amounts to nothing (you're not getting much).

75K * 4 years = 300K

If you work somewhere else (Goog, FB, ...) for 4 years, would you learn more, make more money, be more content?

4 years is a looong time, they really locked you in there.

</comment><comment><USER7> Also depends on whether your current role is challenging you enough and is in an area that you want to excel in. If you are young and just getting started sometimes the opportunity of mastering the field is itself very valuable.

</comment><comment><USER8> If one has to ask whether or not they got a good deal, is there really any possible chance that they got a good deal? Are you hoping the founders were simply charitable?

</comment><comment><USER9> No.

EDIT:

What will the company lose if you walk? That is what your equity should be based on. Given your brief bio, it would seem as though you can offer a lot to the company.

What contribution are you making to the product - aside from doing 40% of the work, are you contributing to design/product decisions, novel ways to implement the features? Is there any IP onto which your name would be should it be granted a patent?

What other options do you have with respect to other opportunities?

<comment><USER10> I agree, with phlux, if you're contributing to some of the IP. Then you deserve a lot more or at least partial ownership to the IP.</comment></comment>


Ask HN: Straight question – WTF happened to Apple's innovation? - <AUTHOR> It's just hit me, I don't feel that anything really exciting and innovative has come from Apple for a long time.<p>Is this what the computer industry's leading company has become? <comment><USER2> Android is taking up a much larger share of the smart phone market than before. They've seemingly abandoned their computer market. Mostly it seems to have started when Steve Jobs died.

They need better leadership. They could also free up their ecosystem. It would bring in more developers.</comment>


The Brain vs. Deep Learning Part I: Computational Complexity - <AUTHOR> https://timdettmers.wordpress.com/2015/07/27/brain-vs-deep-learning-singularity/ <comment><USER2> Some pretty critical reception here: [https://www.reddit.com/r/MachineLearning/comments/3eriyg/the...](https://www.reddit.com/r/MachineLearning/comments/3eriyg/the_brain_vs_deep_learning_part_i_computational/)

<comment> m-i-l Quote of the day for me so far: "According to Bitcoin Watch, the aggregate power of the bitcoin network is about 4.8 x 1021 FLOPs. Using your own estimates, this would be enough to simulate 4 or more brains."

I have been wondering recently if there is some way of combining cryptocurrencies with deep learning. I know the Bitcoin hash calculations are used to secure the transactions, but if there was some way of either re- purposing these calculations or adding some additional ones, then that could unleash a massive amount of computing power. Plus if you could mention both machine learning and the blockchain in the same sentence you'd be sure to get a lot of interest from VCs.

</comment></comment><comment><USER3> Consider that every single cell in the body is essentially a teeny tiny distributed system with on the order of 10 million moving parts only counting proteins (RNA is probably as important for storing and encoding the state of various cellular processes) with a bare minimum of 23k distinct types not counting splice variants. We have barely begun to understand the computations that occur within a single cell for tuning, learning, and transmission of information and metabolic load balancing.

I suspect that there is some additional computational overhead needed to run the requisite biological processes in neurons but ANNs are astoundingly far from even a single neuron let alone a network of neurons (perceptrons are sometimes compared to dendritic branches and even that is a stretch).

The real question to me is whether we actually need to replicate all the biology underneath to get some of the higher level abstractions that we recognize as intelligence. I also have to point out that it took nature on the order of 2 billion years to develop the set of rules that are used to run cells and coordinate multicellular systems and it may very well be the case the some of them are purely empirical. I know the AI guys gave up on rule based systems long ago, but even if you aren't going to fill them all in by hand you need a way to find the rules that work and the search space is monstrously large (keeping in mind that even a hyper intelligent being remains bound by the laws of physics, it would still have to do a whole bunch of experiments in order to develop a model that _might_ let it predict what rules it would need to operate more effective).

edit: The assumptions that go into the calculation of the computational complexity are gross simplifications. His average firing rates are also about an order of magnitude too high (though this apparently is Kurzweil's fault).

</comment><comment><USER4> As several people pointed out, the arguments made in this article are severely weakened by the fact that we do not know what fraction of this complexity is essential for brain function and what fraction is unnecessary complexity caused by evolutionary history and biological constraints.

In addition, we should also keep in mind that a digital AI can have many 'unfair advantages' compared to human brains. Besides lacking the obvious biological constraints, digital AIs are not necessarily limited to pure neural networks. AIs can be made up of hybrid systems in which neural networks have access to web-scale knowledge bases, extremely fast and prcecise databases for writing and reading arbitrary data and storing them indefinitly, APIs for running computations that would be difficult to implement in neural networks, and so on. The neural network part of the AI could evolve and learn with having zero-latency, high-bandwith access to several such resources and learn how to make optimal use of them.

</comment><comment><USER5> The article mentioned an example of a feral child, I looked it up, and it was probably the saddest story I've read in a while: [https://en.wikipedia.org/wiki/Genie_%28feral_child%29](https://en.wikipedia.org/wiki/Genie_%28feral_child%29)

</comment><comment><USER6> After coming across this, I wonder just how much of the brain is required to exhibit intelligence. It seems like some people can get away with a lot less that the 'normal' amount.

[http://www.rifters.com/crawl/?p=6116](http://www.rifters.com/crawl/?p=6116)

</comment><comment> m-i-l Claiming we're not going to be able to simulate the human brain this century is a little bold. That is 85 years away. Eight five years is a long time in technology. Compare for example where we are now with where we were 85 years ago. In 1930 electronic computers did not exist, there was no sharing of information and research via the internet, the global population was around one third of what it is today so there were fewer people to work on technology research, and so on.

And forecasts about what won't happen which turn out wrong (false negatives if you like) don't tend to be viewed in the same way as forecasts about what will happen which turn out wrong (false positives). Compare how we view "there is a world market for maybe five computers" and "640Kb ought to be enough for anybody" (we tend to laugh) with all the false predictions about flying cars and so on for example (we tend to be more rueful). I was just thinking this morning about Clifford Stoll's 1995 book Silicon Snake Oil about the over- hyping of the internet, and wondering why someone would commit to a negative position in such a way.

</comment><comment><USER7> People with a dualist view whose fundamental belief makes the human mind a supernatural force will give illogical arguments like this.

Basically he is saying "we can't get AGI via deep learning because brain simulation is really hard."

Deep learning, brain simulation, and AGI are all related, but different concepts.

Take something like deep learning and combine that know-how with agent-based developmental AGI approaches that have been in progress for some time. We don't need any more computing power than we have. We need a few more years of solid research and engineering and then you will see surprisingly general and human-like capabilities.

Take a look at the AGI-15 research.

</comment><comment><USER8> _Thank you_ for posting this, I was beginning to go insane with all the deep learning hysteria.

I would encourage everybody here to purchase a neuroscience textbook. Then, if you see an AI researcher, bash them over the head with it.

<comment><USER9> There is some reasonable scientific middle ground between being an unreflected Deep Learning fanatic at one end of the spectrum and being an AGI denier at the other end. In typical internet fashion, we're mostly exposed to extreme and exaggerated viewpoints that are not above distorting a few things in order to get their message across - and this article is no exception.

Just to grab one strategy used in these articles (again, on both ends of the opinion spectrum): comparing apples to oranges. In this case, it's the neuronal firing rate. The biological brain uses firing rate to encode values, but that's rarely used in silico outside biochemical research because we have a better way of encoding values in computers.

One side (in my opinion, reasonably) asserts that this is an implementation detail where it makes sense to model a functional equivalent instead of strictly emulating nature. This view has gained credence from the fact that ANNs do work in practice, and even more importantly, several different ANN algorithms seem to be fit for the job. A lot of people believe this bodes well for the "functional equivalence" paradigm, not only as it pertains to AI, but also as it relates to the likelihood of intelligent life elsewhere in the universe.

The other side asserts that implementation details such as the neuronal firing rate are absolutely crucial and cannot be deviated from without invalidating the whole endeavor. They believe (and I'm trying to represent this view as fairly as I can here) that these are essential architectural details which must be preserved in order to preserve overall function. And since it's not feasible to go this route in large-scale AI, the conclusion must be that AGI is impossible. A lot of influential people believe this, including Daniel Dennett if I recall correctly.

The article is very close to the latter opinion, but it goes one step further in riding the firing rate example by not even acknowledging the underlying assumption and jumping straight to attacking the feasibility of replicating the mechanism.

<comment><USER8> Well...

ANNs may turn out to have enduring usefulness, but more likely is that better (more accurate, more efficient) tools will be found. I see no evidence that ANNs are optimal for the problem space they tackle, and non-optimal techniques tend to be quickly forgotten once bettered. Such is progress.

The only reason anybody seems to think ANNs have some kind of assured longevity is because of the magical word "neural" in the name.

So I agree. It would be wrong to conclude that "AGI cannot exist" on the basis of differences between ANNs and the human nervous system. On the other hand, if and when AGI does happen, ANNs may not have a major role.

</comment></comment></comment><comment><USER10> Awesome post. I'm not sure I understand the estimates of computational power of various brain parts (does that even make sense?) but overall I think the author has the right idea on how far we are away from simulating the brain.

Not only does planet Earth train trillions of neural nets in parallel, but it's running a very elegant evolutionary algorithm for hyperparameter selection among all possible units.

Some interesting (and somewhat depressing) tidbits of neuroscience that further corroborate the futility of full brain simulation:

\- Collision avoidance in locusts is entirely implemented in a single neuron [1]. All the computation is performed by the complex nonlinear integration of action potentials across the dendritic tree. The geometry of the dendritic tree is really important. \- Neurons with mechanosensory receptors can actually fire in response the dilation of a blood vessel pressing up against it [2]. The vascular system innervates throughout the brain like a secondary connectome, and is implicated in information processing as well. Good luck simulating blood flow in 400 miles of elastic tubing.

\- Every voltage-gated channel or patch of cellular membrane basically acts as a leaky integrator, and digital systems are pretty bad at this kind of operation. Analog circuits/neuromorphics are useful for this (as well as the asynchronous dynamics) but good luck fabricating a chip that operates in 3D and integrates an arbitrary nonlinear equation.

\- Simulations often involve injecting random stimulus into the network, or showing it images through some approximation of the retinal ganglion cells + V1 cortex. However, the brain has evolved to operate in a closed sensorimotor loop, so the brain's activity ought to influence subsequent perception (and brain state). The inputs one feed in through the eyeballs and thalamus play a large role in the dynamical state. This is one of the main arguments for embodied cognition approaches.

Not all is hopeless, though: \- I think neuroscience / deep learning models complement each other well. The success of techniques like dropout-based regularization and ReLU in practical AI tasks have prompted neuroscientists to actively look for how biology solves rectification and un-learning.

\- If they can get their act together and fire their middle management, I could see Cisco making a huge contribution to deep learning by building faster switches. Nvidia has done a good job with pushing GPU Flops, and the bottleneck right now is on the network side.

\- DNNs and other data-driven generative models are really cool because they "replay" the human condition back to us. Images generated by DeepDream have surprising amounts of "ordered randomness" in comparison to fractal-based images. Perhaps instead of trying to build this generative process from inside-out (i.e. from neurons to minds), it might be interesting to see what happens if we train a DNN to mimic human behavior, and see what internal states self-organize as a result. The film "Ex Machina" mentions Jackson Pollock and the use of Search Engine Data to capture _how_ people think, which I thought was brilliant.

Citations: [1] [http://www.frontiersin.org/10.3389/conf.fphys.2013.25.00090/...](http://www.frontiersin.org/10.3389/conf.fphys.2013.25.00090/event_abstract)

[2] [http://www.ncbi.nlm.nih.gov/pubmed/17913979](http://www.ncbi.nlm.nih.gov/pubmed/17913979)

[3] [http://www.cl.cam.ac.uk/~jgd1000/metaphors.pdf](http://www.cl.cam.ac.uk/~jgd1000/metaphors.pdf)

[4] [http://hub.jhu.edu/2015/04/02/surprise-babies- learning](http://hub.jhu.edu/2015/04/02/surprise-babies-learning)

<comment><USER11> Jesus. This post exhibits classic hype.

<comment><USER10> I spent a nontrivial amount of time researching my comment. What do you find hyped?

<comment><USER5> We have no idea how far we are from simulating a brain. Because we have no idea how exactly computation is performed in a brain. Neither in a locust's brain, nor in a human brain.

On the other hand, we have already built systems (ANN based) which can do non- trivial things: play Atari games, tell a cat from a dog, convert speech to text, translate from one language to another, etc.

This points to the strong possibility that all that biological complexity in neurons is completely irrelevant to the principles of intelligence, just like the fact that a modern transistor needs 500 parameters and a ton of complicated equations to describe its physical operation is irrelevant to its main function - a simple ON/OFF switch. If we want to simulate a computer, using more complicated transistor models gains us nothing.</comment></comment></comment></comment>


RESTful API and a Web Site in the Same URL - <AUTHOR> http://www.yegor256.com/2014/09/09/restful-web-sites.html?2014-36 <comment><USER2> You could easily do the same by using the HTTP accept header.

      "Accept: application/json" returns the json API
      "Accept: text/html" returns the website</comment>


Implementation of the Viable System Model - <AUTHOR> http://home.rbcarleton.com/rbc/software/smalltalk/VSA/

<comment><AUTHOR> This is a shameless plug for my Smalltalk project, the Viable System Agent. It is a software implementation of the Viable System Model (VSM), a model for autonomous systems developed by Stafford Beer. It's most likely to be interesting for fans of Smalltalk and Operations Research, admittedly a small audience.</comment>


Brand-Name Drugs Increase Cost but Not Patient Satisfaction - <AUTHOR> https://www.propublica.org/article/brand-name-drugs-increase-cost-but-not-patient-satisfaction <comment><USER2> _" The fact that a drug is a brand drug or a generic drug, for us, is immaterial to the patient experience."_

This simply isn't true in all cases. For example, I take Lunesta for sleep. My insurance tried to force me to switch to its generic counterpart, eszopiclone, by raising the copay on the name brand from $10 to $230. I have never suffered from depression in my life, until I took this medication for just three days and wound up in a debilitating state of depression. I immediately stopped taking it, and the depression went away within a day. I now pay the $230 per month, a small price to pay for sleep without the disastrous side effects of the generic.</comment>


Apple to undercut popular law-enforcement tool for cracking iPhones - <AUTHOR> https://www.reuters.com/article/us-apple-iphone-cracking/apple-to-undercut-popular-law-enforcement-tool-for-cracking-iphones-idUSKBN1J92ZY <comment><USER2> As they should. That pesky 4th Amendment keeps making officers jobs a bit tougher for the freedom of us all from undue persecution. At some point, we have to accept that we cannot prevent bad things from happening in a society where people are free to choose to do bad things. Luckily, the vast majority of our species are good people.</comment>


Google takes the FTC to school  - <AUTHOR> http://www.buzzmachine.com/2010/07/20/google-takes-the-ftc-to-school/ <comment><USER2> _The large profit margins newspapers enjoyed in the past were built on an artificial scarcity: Limited choice for advertisers as well as readers.._

Ironically, that sounds rather like the state of online advertising today, where Google's large profit margins come from.

I wonder if/when we progress to discovering information that don't involve typing a string into a box for a list of results, we'll see Google's profit margins gradually begin to erode.

<comment><USER3> You're exactly right. The difference between the papers and Google is that Google is well aware of the situation and is using those stratospheric profit margins to enter dozens if not hundreds of other markets looking for revenue streams. They aren't trying to bribe their way into a government enforced status-quo.

</comment></comment><comment><USER4> Original link: [http://googlepublicpolicy.blogspot.com/2010/07/business- prob...](http://googlepublicpolicy.blogspot.com/2010/07/business-problems- need-business.html)

</comment><comment><USER5> _Google restates the FTC's dissection of newspaper revenue: 80% advertising, 17% newsstand, 3% subscriptions. "Pay walls," it says, "could be an effective way to raise the 3% revenue figure."_

Amdahl's Law, anybody? Its not just relevant for software optimization. Certain other hot topics could use a logical assessment like that (e.g. greenhouse gas emission).

<comment><USER6> I'd never never heard of Amdahl's Law before so I looked it up on Wikipedia.

Essentially, Amdahl's law is used to find the maximum expected improvement to an overall system when only part of the system is improved.

<http://en.wikipedia.org/wiki/Amdahls_law>

</comment></comment><comment><USER7> Google only is taking the FTC to school if they realize they're being taken to school. Good luck with that!

<comment><USER8> The problem isn't that the FTC needs to be educated. As part of the ruling class, facts are irrelevant. It's just one part of the ruling class (the FTC) giving aid and comfort to another part (the newspaper moguls). They form and mold the facts to fit whatever conclusion best increases their own influence and power.

</comment></comment><comment><USER9> Schmidt makes great arguments for why government should not meddle with newspapers. Unfortunately the same arguments could be made to say government should not meddle w/ ISP's who charge web services for premium pipes.

<comment><USER10> How so? The argument isn't that ISPs aren't allowed to offer their own services, simply that they're not allowed to degrade services for others. This is delineating the nature of ISPs as two things: content providers and utilities. The part that needs government regulation is the utility, not the content provider. Personally, I believe we would all be much better off if the government owned and was responsible for all the dark fiber and companies simply leased control to provide services. Hell, there's even a considerable argument to nationalizing all utilities which have a natural monopoly.

<comment><USER11> Those who wish to regulate or tax search engines and aggregators for the way they siphon revenues away from newspapers think that certain monopoly and informational-public-goods arguments are relevant. In the absence of intervention, they say, value is collected by undeserving Google/HuffPo/Drudge, not the deserving traditional newsgatherers. Only by intervening to curtail the distribution endpoints' new power over audience access, they say, will we get the quality and competitive news we need.

That's a mirror in many ways of the argument for net neutrality regulations. Neutrality advocates want to regulate one layer of providers -- the pipes -- for the way they intervene between content/service providers and audiences, siphoning revenue from the endpoints. the absence of intervention, they say, value is collected by the undeserving network tollkeepers, not the deserving novel internet services. Only by intervening to curtail the midpoints' chokehold, will we get the competitive and quality network services we need.

Does that help illustrate the contradiction?

<comment><USER12> The issue here isn't whether search engines or ISPs or other middlemen collect deserved or undeserved value; net-neutrality is not at all about capping the ISP's income!

Net-neutrality rules are meant to ensure that the ISP will keep a level playing field for all business passing through it. Google has kept the playing field perfectly level for all news shops, it's just that the field has become very bad for all of them.

<comment><USER11> If an ISP wants to offer differentiated services X, Y, and Z, because it thinks that will maximize its revenues, and then the FCC says that service mix is illegal due to the costs it imposes on others, then yes, that 'neutrality' enforcement is about curtailing the ISP's revenues, preventing them from capturing the value others create, boosting other businesses.

The FTC's trial balloons around taxing aggregators, enforcing new 'hot news' rights, or subsidizing news producers are also motivated by the desire to provide a 'level playing field' for newsgatherers and story-originators, where a near-monopoly like Google, or thinly-staffed all-cut-and-paste-no-research aggregators, can't capture all the value news media create.

Once you invite committees and congresspeople to set rules to reallocate the revenues from an activity, where do you stop? (Even if economist/philosopher- kings can tell the difference between the right places to intervene, and the wrong ones, can our political system?)

If the FCC can ban certain service packages in the public interest, why can't the FTC force republishers to buy distribution rights from traditional media in the public interest?

Google wants its pot-of-gold to be protected from meddling network operators by new rulemaking. Why can't the newspapers ask for their pot-of-gold to be protected from Google by new rulemaking?

<comment><USER13> That a loose analogy can be drawn between network neutrality and newspapers does not mean both cases have equal merits.

One of the merits of each case must be their practicality, and at least to me, net neutrality seems relatively straightforward compared to newspaper regulation. It is more-or-less the default state of the internet today, I believe, while newspaper regs appear harder to craft.

Regulators _could_ fail to discern the right vs. wrong places to intervene, as you say, but that's all the more reason we ought to point them out.

</comment></comment></comment></comment></comment></comment><comment><USER14> So this is an article about how newspapers need to learn how to deal with the web as a source of news. A few years back I read Walter Isaacon's biography of Benjamin Franklin and guess what - Franklin and plenty of other Americans back in the day ran tiny newspapers comparable in content to today's blogs. I'm going to end up doing a blog post about it at some point, but it kills me that journalism and freedom of the press today are considered to be the _New York Times_ when the founders were thinking more like the _Pennsylvania Gazette_.

<comment><USER8> Agreed. Welcome to the internet/technology committee of correspondence.</comment></comment>


Ask HN: Which is better: creating ERP System regular or ERP through Internet? - <AUTHOR>

Hi,
This is Obaid AlDosari and I'm planning to create some parts of ERP system such as Recruitment and Training System to enable customers to use the work-flow easily and to get accurate results. So, which one is better to put my application as a web application or put is as the traditional application and they have to purchase it though my sales employees? and should it cost lesser money if it's going to be on the internet?
Note: I know If I will sell my application globally it's easier for me to sell it.
Thanks, - Obaid AlDosari <comment><USER2> If I were you, I'd put all thoughts of "ERP Systems" out of your head. The complexity involved in dealing with ERPs is enormous-- as in, you'll need to manage a large staff of programmers to even get started.

So: the question then becomes, should you build your Recruitment and Training app as a web app or as installed software?

The first question: are there any advantages you see to the customers to one approach over the other? Surely, if you are about to build something, you know the market and have some target customers picked out-- what do they think? Would they be more likely to buy a web app or an installed app?

Second question: where is your technical experience? Have you (or your staff) got more experience in building web apps or installed apps? In the absence of a strong sentiment from your customers/prospects, I'd suggest you stick with the platform you already know best.

<comment><AUTHOR> Thank you Michael for your useful comment,

I know how it's hard to do ERP System, however, I will start just with one of the Recruitment or Training and I consider Recruitment to be the first then will follow it with others components.

I will develop them to be used as web app in both cases, if they are going to be as internet app or internal network in customer office, why will I start with Recruitment or Training? because I'm working in HR and I have enough experience in those fields and I know exactly what customers/companies need form both systems. Also, I add new features they are not found yet in any other smiler applications and it needs only 3 developers and 6 months of continuance work to build one of them (Recruitment or Training application).

In addition, I'm addicted to programming and I use any platform that makes it easy for me to create my application.

So, returning to my question which one is the better?

Thanks,

<comment><USER2> _So, returning to my question which one is the better?_

I can't give you the answer to that question, nor can anybody else, as it depends on a lot of factors. What I can do, and have been trying to do, is to help you identify what those factors are so you can answer it yourself.

You have HR experience; that's good. You say you know exactly what is needed for a Recruitment management tool. That's also good. Of course, before you start developing, you're going to want to validate your business idea. You need to do what's called "customer development", and make sure that the product you are designing meets the needs of others in the field, and not just your own needs (when you were working in HR).

You'll also want to look at the competition. What other Recruitment management tools are out there? What are people currently using? By looking at these, and talking to prospective customers, you should be able to get a good idea whether having this app on the web will add value, or only add risk (in terms of security).

Which brings me to my final point: being "addicted to programming" isn't going to help you. To create a piece of Enterprise software, you're going to have to know one platform inside and out. You're going to want to have already developed several smaller (non-Enterprise) apps on this platform. And, you're going to want to have a staff of developers that is already trained and comfortable on this platform.

The recent mess with Diaspora is a good example of what happens when people try to build complex, enterprise-quality software on platforms they don't already know intimately.</comment></comment></comment>


MeCam Is a $50 Camera-Equipped Autonomous Nano Quadrotor, Supposedly - <AUTHOR> http://spectrum.ieee.org/automaton/robotics/home-robots/mecam-is-a-50-cameraequipped-autonomous-nano-quadrotor-supposedly#.UQa1_xmBtgQ.hackernews <comment><USER2> As much as this sounds like a good idea this seems premature. Not enough information on any of AI's products keeps me in question...</comment>


Ask HN: What do you think of my idea to help create resumes and find jobs? - <AUTHOR>

I have an idea and would like to gauge how much interest there is in using it.  I'm interested in whether or not you'd use it and general feedback about the idea.
Here is the description:
Our service lets you manage everything typically associated with a resume including work experience, education and skills built up over your entire career and it's all only visible to you.  With no limit on the amount of information stored, you have the freedom to keep track of more career history than a typical 1-page resume would allow.  You can easily categorize your work experience with tags to quickly create custom resumes, apply any of the several attractive styles and export the file to PDF.  The application provides analytics and scoring to help you improve the quality of your resume.  If you are currently looking for a new job, we can help connect you with jobs for which you'd be a good fit based on all your career history and even periodically introduce you to recruiters.
I am trying to capture as much information as I can and have set up a really basic survey.  It takes about 5 minutes to complete.  I'd really appreciate any responses in the survey but appreciate comments here on HN as well.
https://docs.google.com/forms/d/1NUCa9tatrr2-wtsyCyIHr7ASnyNJ0opS-xF9Y5plqEA/viewform
Thanks. <comment><AUTHOR> A clickable link to the survey --> [https://docs.google.com/forms/d/1NUCa9tatrr2-wtsyCyIHr7ASnyN...](https://docs.google.com/forms/d/1NUCa9tatrr2-wtsyCyIHr7ASnyNJ0opS- xF9Y5plqEA/viewform)

<comment><USER2> I like it. But, I do have a few questions:

1) How would you know who to set me up with if my information is only visible to me?

2) How can I be sure you're not data mining my information for potential profit?

3) How do you earn money?

<comment><AUTHOR> Good questions. I think that this is a good place to mention that we would only make those introductions to recruiters if you are looking for a job (an option you'd select). If you never selected the option, this would just be a place for you to manage all your work experience and create resumes.

1) We would introduce you to the recruiter based on the type of people they are looking for and your work experience.

2) We do use your work information to find jobs for which you'd be a good fit (if you are looking for a job, that is). If you aren't, we wouldn't make the introductions to recruiters. We don't give anyone access to your information, just make the introduction.

3) Right now, I see a couple ways of earning money. First would be from referrals to recruiters similar to the way a headhunter works. Second might be from charging a small fee ($1.99 maybe) for add-ons... premium templates or analytic, for example. I'm exploring different options and trying to figure out what works best and what each group is willing to pay for.</comment></comment></comment>


Hostiness - <AUTHOR> http://blog.fogus.me/2012/10/09/hostiness/ <comment><USER2> Admittedly I'm nitpicking an explicit design decision of a fantastic achievement (Clojure), but when studying it, it bothered me that Java/JVM stuff actively surfaced rather than being entirely a concern of the implementers. I had/have never programmed Java and have no interest in it, but nonetheless had to start caring about what java.blah.Things and their API were; what JAR files, Classpaths, Classloaders were all about; etc. For me, this alien stuff nestled in and around Clojure-proper brought a scattered feeling to what otherwise felt very tight and coherent.

<comment><USER3> Like many programming languages, Clojure was designed to solve the problems that its implementer (Rich Hickey) was having. That is, Rich wanted a powerful, fast and complete Lisp implementation centered around concurrent processing to run on the JVM. That the JVM is front and center is a design feature. It's not a feature that will appeal to everyone, but it's a feature nonetheless.

</comment></comment><comment><USER4> There is a Smalltalk implementation in Factor

[http://factor-language.blogspot.in/2009/04/sup-dawg-we- heard...](http://factor-language.blogspot.in/2009/04/sup-dawg-we-heard-you- like-smalltalk-so.html)

Also from that page,

"If you want to experiment with language design but don't want to spend five years implementing a language like we did, you should consider using an existing system to host your language on, and Factor is one of several great choices in this regard." - Slava Pestov, Creator of Factor

</comment><comment><USER5> Also worth noting pypy: <http://pypy.org/></comment>


Ask YC: My school wants to shut down my app. How should I respond? - <AUTHOR>

Few hours ago, I received this letter from my public uni's CIO: http://www.scribd.com/doc/15099510/i-letter1
The site can be seen at http://www.classhunt.com
Full story:
I launched ClassHunt about a month ago. The campus newspaper covered and ~500 people are using it so far. Many are totally in love with it("ClassHunt is AWESOME!  I give you serious props for creating this site.  I've already told a couple of friends about it and one of them has had the same luck that I have.  You're going to prevent a lot of headaches with this system! :)").
The technology behind is in python. It queries the uni's server for every department on campus and parses the course data. At first, I was querying every minute, so ~130 requests/minute. Now I am querying every 15minutes.
Few days ago I received an email that my server IP had been blocked. The lady from IT dept was very nice and willing to work with me to find a resolution. For now, we agreed to increase the interval to 15 minutes. Still they could not unblock because they were still having issues with the load and people higher up won't approve.
Having been a student here for a few years, what happens is towards the end and beginning of each semester, our course registration system starts crawling. This is because too many folks are checking grades and signing up for classes. It lasts 3-4 days. This is what seems to have happened this week as our school year came to an end. It seems like they are blaming my app for their years of issue with system overload.
I am confident it was not my app causing the problems. Nothing is bigger proof than the Chancellor's staff writing to me that they are still having problems even after blocking me.
Still, I don't want to get in a verbal war with them and rather just find a solution that works.
How should I respond to this letter from the school's CIO/Chancellor for IT? <comment><USER2> Make a deal with them. It doesn't sound like they object to ClassHunt per se, rather they don't like the additional load that ClassHunt causes.

So, what do they want? 1\. Reduced load and a more stable class registration system

What do you want? 1\. For ClassHunt to be used across campus (and not get banned!)

What can you do to satisfy both these goals? One idea would be to pitch ClassHunt as a load-reducing service. By acting as a proxy to the class registration system you can smooth out the load. Have them _actively_ promote ClassHunt on the class registration page and explain to them how more people using ClassHunt will result is less load for them, not more.

It will also make the situation more flexible because they only have to deal with one person (you) rather than relying on the collective behavior of the whole of campus.

Anyhow, just a thought.

<comment><AUTHOR> Great ideas! We'll see how receptive they are. From the legalese letter I received today it doesn't seem to encouraging.

At the same time, the contacts I spoke with at the IT dept. few days ago could not stop praising the website.

<comment><USER2> Like icey said, you know the worst case scenario. They've played their hand.

But reading the letter, their only concrete objection is the fact that you're using "excessive resources." That's their pain point, so make them see that your service helps that problem, not makes it worse.

<comment><USER3> I don't know, I could imagine them being somewhat serious about the license/number of connections violation.

Speaking from direct experience, I wouldn't underestimate the amount of bureaucracy internally that would come down on this like a ton of bricks. Like others have mentioned, his best bet is to get someone to champion his cause internally. It doesn't even necessarily have to be someone in their ITS department - it could be a faculty member, or even someone in administration.

Hell, you might be able to get a job out of this.

<comment><USER2> Why discount the effort before you try? The worst that happens is they don't buy the pitch, and he's back where he is now.

</comment></comment></comment></comment></comment><comment><USER4> Are they at all open to compromise? Where I work we have a school for special needs kids and I had a problem with getting data from the individual school districts. So what I did was to write a short program myself that did what I needed and asked them if they'd agree to run it on their servers. There was some initial hesitation but after I bought them lunch and used the opportunity to walk them through the code line by line they were willing to install it.

I'd imagine a similar system could work for you. It's a public database so you could write something that ran on a client machine (so it doesn't compromise their security) and since it's internal it wouldn't eat into their bandwidth (which is the only realistic problem I could see your program causing, one query every 15 minutes is not going to take that much processor power). Have it send you short text messages when there's a change and you're set.

</comment><comment><USER5> I had this same exact app a few years ago. (dropmessenger.com) It only worked for the University of Utah, and they did eventually contact me about polling the server. But, they were pretty cool about it, and even asked if I was looking for work. :)

The reality is, they can't really make you take it down, but they can take steps to make your life miserable. Without any reliable API it will be difficult to scale such an app.

Good work though.

</comment><comment><USER6> _At first, I was querying every minute, so ~130 requests/minute._

Wow, that's not nice.

<comment><USER7> It's not the nicest thing in the world, but his university (UNC, as far as I can tell) has 30,000 students. 130 requests/min is the equivalent of having 0.4% of the students on at one time.

It obviously creates a visible imprint, but it shouldn't be a show-stopper for the school.

<comment><AUTHOR> Yeah and like I said, it didn't cause a problem for over 3 weeks. And I am still not convinced it was the culprit in the last few days.

From what I've experienced and from friends who went here five years ago, their system goes down/has issues every year during end of semester. This year they seem to have a scapegoat to blame it all on...except it doesn't help to admit that they are still having issues even after blocking me.

<comment><USER8> Devil's advocate: Without knowing the details, I would observe that the load generated by searches can be very different. Searching for all 100-level Physics classes may be an optimized code path (or DB query) that occurs in a fraction of a second, where as "Give me all classes in a department starting with P" might be slow, or "Give me all courses taught by Prof. Bill" might go down an unindexed code path. They might never have noticed if normal users only fired it only once per hour, but if you happen to be using more of those queries than a normal student because it's more convenient for you, then you might actually be hammering their system without meaning to.

Or, put another way, "queries per second" is a terrible metric for "how much load I'm subjecting their system to". :)

I can give you one bound you might want to instrument up to check their contention about load: How quickly they answer. If they answer in 1ms (minus ping time), then there's a sharp bound on how much of their resources you can be taking up. (I'm going to assume bandwidth isn't much of a concern here, based on the numbers.) If you see some queries taking longer, perhaps even into the seconds, then they may have a point. It could just be general load, or it could be your thing specifically.

</comment></comment></comment></comment><comment><USER9> My recommendation: apologize and drop the issue with IT in a vague and forgettable manner, use proxies (TOR, open proxies, a cheap VPS), set a normal browser or web-crawler user-agent -- and please, whatever you do, go _easy_ on their infrastructure. Realize that schools sometimes (though not always) have substandard, under-funded IT depts.

Your best bet is to stay under the radar and let your app build momentum with your users. Don't fight IT, and don't beg permission.

<comment><USER10> That's what I was going to suggest as well.

From your posts, it seems that the University's IT people like your app, and there's really no technical problem anymore. So randomize your IP number, and if anyone wants an explanation you can tell them that you have optimized your system so that instead of directly requesting all their data, your application now behaves exactly like a real student accessing their site in a conventional way.

</comment></comment><comment><USER11> Wow. Schools pay load-based licensing costs for registration systems? There's a niche just waiting to be demolished by some startup...

I think you have a useful idea here, and you should try to find a way to make it work. It sounds like your university's IT department thinks so too, but they have real limitations and good reason to ask you to cease operation because, unlike your service, theirs is _required_ to be available.

It sounds like without the cooperation of that IT department, your app (at least at UNC) is going to be a big nothingburger. Do whatever you can to make them your partners in implementing this service rather than your adversaries. This could mean collecting data that explains how your service improves their service; helping them measure and upgrade their current system so the load is a non issue; integrating your code at a lower level (direct to DB); beta testing a parallel registration system that will eventually save them lots of money on licensing.

You have a difficult task with any solution. University policy may prohibit certain things, such as allowing a student or a student's software to directly access the real course registration data; or the timeline to have your app approved to run inside the security perimeter may be too long for you to bother trying. You may also want to check your school's invention rights policy before pursuing any tighter integration with their systems.

If this hiccup is not a showstopper for you, just keep building your product. You can work on displacing whatever is causing the problems at this IT department, but if that is too far afield from your core (proposed) business, maybe just move on and try deploying the app against other universities' registration systems.

</comment><comment><USER12> I work in the IT department of a major university and this is crazy. I'm also one of their students. You got a really cool service that solves a major problems for any large institution. Towards that end, this decision was probably made by a manager, who doesn't know much. All of the real knowledge is with the analysts. I'm sure that having an open dialog with them would get this changed. I doubt they'd keep you out with a little discussion.

</comment><comment><USER13> Sell your product to them or set a deal up where you integrate into their system. It sounds as their is a demand for your service! Take advantage of it and either be the business man yourself or find someone you know who can sell!

</comment><comment><USER14> Sell them a license to run the software on their servers and query the database directly to reduce load.

</comment><comment><USER15> How often do courses change? Couldn't you just do this once or twice a semester?

</comment><comment><USER16> Maybe switch to appengine?

<comment><AUTHOR> Can you explain how that'll help? Thanks!

<comment><USER17> New IP address.

<comment><AUTHOR> LOL. Yeah that's the worst case option. But I'd rather not get in a cat-and- mouse game with 'em where I've to find a new IP every hr because they blocked the current one.

</comment></comment></comment></comment><comment><USER18> I attempted to automated my course registration process a few years ago. The registration software had a fixed limit of the number of pages you request before you get locked out.

When you are locked out, a vague message appears about "attempts exceeded." Not knowing what to do next, I went to the registration office. They quickly realized what had happened and threatened me with disciplinary action because automatically accessing the registration system violated their vague interpretation of the school conduct guidelines (I also received a free lecture about how 'spiders' are border line illegal).

After being further threatened with a "last day, last hour" registration timeslot until the sun burns out, I put on my best "I'm sorry" face and handed over a letter of apology and the 30 lines of code as they requested. They even had the courtesy to make snarky remarks about spending more time doing homework and less time trying to break their systems.

WWW::Mechanize -- so easy it's dangerous.

</comment><comment><USER19> How often does this info change? Is there any reason why you must poll it so frequently?

<comment><AUTHOR> Yes, what I am doing is monitoring EVERY class on campus for its availability, which changes by the minute.

I can get all the classes by department, there are ~130 depts so ~130 page requests.

<comment><USER20> Convince them to implement push then work in cooperation to publicize your service?

</comment></comment></comment><comment><USER21> I think you should take it down then ask for the course schedule via FOIA. They're a public school, no?

<comment><AUTHOR> I am already using the data under the premise of FOIA. Even if I request it explicitly, they will need to provide it electronically and will have the same supposed problems with traffic overload.

<comment><USER22> Except that they would only have to deal with 1 hit/min instead of 130, and possibly on a static file instead of a one generated on the fly.

<comment><USER8> Where did that 1hit/min come from? Does the FOIA have guidelines about that?

(I ask for information, not as criticism.)

<comment><AUTHOR> I think what he means is if they make a custom page, they can provide ALL classes data for ALL depts on one page...where as right now I am having to query 130 different pages to get class data from 130 departments.

<comment><USER23> In which case wouldn't the traffic overload issue be resolved? 1 request/min seems a far cry from ~130 requests/min, and quite a reasonable compromise.</comment></comment></comment></comment></comment></comment>


Most Painful Toy Hack Ever  - <AUTHOR> http://www.harcoslabs.com/mostpainful.html I'm guessing this is the type of stuff you can do with your first round of VC money. <comment><USER2> Reminds me of The Alliance by Gerald Lund. Pretty soon we'll all be implanted with these things to inhibit bad behavior like over-eating, unsightly public acts of nasal cleansing, or being stupid.

<comment><USER3> or, you know, thoughtcrime _BZZZZ_ ARGG

<comment><AUTHOR> Here's their youtube video of the ultimate employee control device.

[http://www.youtube.com/watch?v=kofSYRB- vh4&feature=playe...](http://www.youtube.com/watch?v=kofSYRB- vh4&feature=player_embedded)

</comment></comment></comment><comment><USER4> Reminds me of The Terminal Man, especially the line:

"I would assume that extended use would cause you to slowly condition yourself to keep your brainwaves at a low frequency, probably impeding concentration and cognition."

Of course, The Terminal Man had the opposite set-up: when he became agitated, his pleasure center was stimulated, and he calmed down again. This conditioned his brain to become agitated again, so it got another injection of pleasure, until he was constantly agitated/pleasured.

</comment><comment><AUTHOR> Did you check out the chain dart gun hack? One office gun to rule them all!

<http://harcoslabs.com/Chaingun.html>

<comment><USER3> I want to paint the newer sniper rifle. it's just so freaking awesome looking. [http://www.hasbro.com/nerf/en- US/shop/details.cfm?guid=95A54...](http://www.hasbro.com/nerf/en- US/shop/details.cfm?guid=95A5406A-19B9-F369-1056-599796F84BA9&product_id=26310&src=endeca)

bolt action and magazine fed? with the right mods and paint it could look like a sweet steampunk rifle.

<comment><AUTHOR> I didn't know they made that. Wow! That's amazing. Adding that to wish list right now.

</comment></comment></comment><comment><USER5> That looks fun, someone should design a whole line of shock-punishment products lol.

</comment><comment><USER6> The video is, eeerm, well worth your time. ;)

</comment><comment><USER7> ala Matt & Trey's clipper chip...

</comment><comment><USER8> Hilarious video. Well worth a watch.</comment>


Ask HN: What is your favorite mathematical proof? - <AUTHOR> <comment><USER2> Proving all the axioms of probability theory using game theory instead of measure theory.

A couple of years back I wrote up a short proof of the law of large numbers using game theory. [http://www.marksaroufim.com/2015/02/14/probability- without-m...](http://www.marksaroufim.com/2015/02/14/probability-without- measure.html)

All the ideas are inspired by this book by Shafer and Vovk [https://www.amazon.com/Game-Theoretic-Foundations- Probabilit...](https://www.amazon.com/Game-Theoretic-Foundations-Probability- Statistics/dp/0470903058/ref=pd_sbs_14_1/131-3331144-0774962?_encoding=UTF8&pd_rd_i=0470903058&pd_rd_r=e456f6ff-380f-476a-b76d-f7568027c793&pd_rd_w=D2GaI&pd_rd_wg=DJ4GT&pf_rd_p=52b7592c-2dc9-4ac6-84d4-4bda6360045e&pf_rd_r=TWKZ5ATFJKT785CHB6HR&psc=1&refRID=TWKZ5ATFJKT785CHB6HR)

</comment><comment><USER3> The proof of the Theorem on friends and strangers [0] from Ramsey Theory, which is a special case of Ramsey's theorem [1]. I like it because it is a fun proof to show people to demonstrate a few different proof techniques while remaining very simple. You can draw it out on a napkin and even people who don't usually feel that they are mathematically inclined can follow along.

Another favorite of mine is Cantor's diagonal argument for proving the existence of uncountable sets [2].

[0] [https://en.wikipedia.org/wiki/Theorem_on_friends_and_strange...](https://en.wikipedia.org/wiki/Theorem_on_friends_and_strangers#Sketch_of_a_proof)

[1] [https://en.wikipedia.org/wiki/Ramsey%27s_theorem#2-colour_ca...](https://en.wikipedia.org/wiki/Ramsey%27s_theorem#2-colour_case)

[2] [https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument](https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument)

</comment><comment><USER4> Throw a uniform random dart at the interior of the unit circle. What's its mean distance from the origin?

Instead of integrating, approximate the circle with a regular n-gon and use the centroids of the n isosceles triangles connecting the polygon's vertices to the origin.

</comment><comment><USER5> The proof that 1 is equal to 2. It has a fatal flaw, but it is fun to show people. In my experience, people who are active University students will figure it out. Others go OMG WTF!

</comment><comment><USER6> Oh, several:

* Banach-Tarski

* Existence of transcendentals;

* Two-colourable <=> no odd cycles;

* Graph 3-colouring is NP-Complete;

* Wilson's Theorem;

... so many more, depending on my mood.

</comment><comment><USER7> Showing that e^ix = cos x + i sin x</comment>


Turn.js - The page flip effect for HTML5 - <AUTHOR> http://www.turnjs.com turn.js is a plugin for jQuery that adds a beautiful transition similar to real pages in a book or magazine for HTML5. <comment><USER3> This is cool and I don't mean to disparage the work that went into it, but at the same time I hope nobody actually uses it because just plain old vertical scrolling web pages are way more practically usable.

<comment><USER4> I think so to, but usability research done by a partner company of ours showed, to their and our surprise, that "ordinary users" prefer this page turning effect.

<comment><USER5> I would question this result in almost every meaningful demographic. I've sat and watched people fail to discover non-standard navigation methods countless times in testing of products across 12-18 and 20-60 (students and teachers separately) every time one is provided as part of a supplier product. Unless there was some kind of conscious or subconscious prompting going on I would doubt that anyone would genuinely favor it.

You can easily, to the detriment of results, create an environment where people say they like something when really they like the impact the the thing had on them the first time ("oh, cool") when really they don't prefer it at all but the record only reflects their initial impression.

<comment><USER6> Demographics are more varied than that though - they also vary by Country. Take Denmark, the birthplace of several of the major players in flip catalogs - online flip based catalogs are so common that every internet going user knows what they are, and how to interact with them.

With such a common use of them, we can start looking at how to optimize the catalog format itself, rather than stick with the scrolling vs. catalog format discussion.

</comment></comment></comment></comment><comment><USER7> The reason why flash is (was) such a horrible horrible thing for the web is only partially because it was a shitty shitty plugin.

The real reason is things like this. Just because you CAN doesn't mean you SHOULD.

<comment><USER8> I couldn't agree more. All the CSS3/HTML5 craze really worries me. With all the new tools we have available, it's more important than ever to remember that with great power comes great responsibility (to care about our users).

</comment></comment><comment><USER9> Solid effect but not a fan of how it breaks the back button.

<comment><USER10> Yeah, I noticed I can't "back" out of the demo page altogether.

<comment><USER11> Huh, the back button worked perfectly for me in Chrome, OS X Lion.

<comment><USER12> Doesn't work in Chrome, OS X Snow Leopard

</comment></comment></comment></comment><comment><USER13> Nice effect, but the fact the page becomes blurry when I have my mouse over the "next page" button is annoying. I have to move the mouse away while reading and back when I want to turn the page. I'd prefer to just not move the mouse and roll a scroll wheel. (Actually, that's a lie - I'd rather not touch the mouse at all and just press j.)

<comment><USER14> Doesn't happen here; the page doesn't change when I move the mouse over the "next page" corner, other than the folding up of that corner. Everything remains crisp. What browser did you use?

<comment><USER15> The blurring happens in Firefox 10. It also makes the whole 'page' shift a couple pixels. It's really disruptive and ruins the whole effect.

<comment><USER14> Interesting. I run Firefox 10, and it doesn't happen here.

</comment></comment></comment></comment><comment><USER16> The font on the "page" gets blurry when the corner becomes clickable (at least on my machine, and it uses a ton of resources).

<comment><USER17> I think that is a bug in the hardware acceleration of Chrome. I've got the same problem on my website where I use CSS to do a crossfade on the background image. Everytime the images are crossfading all the text on the website gets blurry.

By the way, if someone knows the real problem and, even better, a solution for it, I'm very interested.

<comment><USER18> I saw the same issue in Firefox (Nightly).

</comment></comment></comment><comment><USER19> This really highlights the font rendering problems (blurriness) of current browsers when using HW accelerated CSS.

</comment><comment><USER20> Why do people put QR codes on websites (the credits pane)?

<comment><USER21> So you could easily test out the demo on your mobile device w/o having to retype the URL.

<comment><USER20> I'd fine typing 'turnjs.com' easier than finding the QR reader and scanning, personally...

<comment><USER21> And so you've realized the paradox-of-uselessness known as the 'QR code'.

</comment></comment></comment></comment><comment><USER22> Am I the only one who finds this highly annoying? It seems almost every news site is now starting to serve some advanced layout, especially when they detect an iPad, involving this kind of horizontal scrolling. Invariably it's longer to load, breaks half the time, and breaks the back button.

</comment><comment><USER23> Wow, that's the best impl I've ever seen of this effect. It looks and feels very realistic in chrome.

</comment><comment><USER24> Overall very nice, there is some weird page folding going on when you act weird but probably just some small quirks.

On a side note, please make your own arrow on the corner of that front page of the book. I think almost everybody knows where that's from...

<comment><USER25> Is it same with facebooks? I am only guessing here, because I don't have facebook account. Whatever the origin is, it looks nice.

<comment><USER24> I really cant tell if this is sarcasm. It's stolen from the amazon logo

<comment><USER25> Oh, that arrow. I misunderstood you.

</comment></comment></comment></comment><comment><USER6> As there are lots of comments lamenting the fact that anyone might actually use this, let me give my perspective. I currently work for, and have been since the start of this whole online 3D-pageflip catalog business started back in ~2006.

To start out - I hate the pageflip effect. In the beginning, clients would drop the jaw to the floor when they saw the effect. They'd go into a coma when they saw you could drag the corners. We didn't have to do any sales beyond that - the effect alone sold it and the catalogs spread like wildfire. Sorry.

As time progressed, the pageflip effect alone didn't really cut it, especially as competition appeared. Since then we, as others, have gone in different directions, usually in the form of offering different addon modules, integration, etc. As time went on, the effect got diluted as well - we no longer offer the user the ability to actually drag the corners - <USER2> testing proved that to be bad and cumbersome to use, instead you only get the option to flip the page by click big "Next/Previous" bars next to the catalogs. The effect is only seen while the pages flip automatically after an arrow click.

So why use the format at all? As many others say, normal scrolling is much more web friendly. However, there are billions of catalogs out there today, and millions more produced each and every day. Companies have hundreds of thousands of product manuals lying around, and they'd like to show them in a lightweight format that doesn't require you to download the 200mb PDF.

There are many retail chains that still send physical catalogs to your physical mail boxes each and every day. These catalogs are usually produced by print agencies on a weekly basis, and to also produce the same content in a webfriendly manner, that'd require tonnes of extra work. Instead, they can utilize what they're already producing and just put it online in an interesting format to read, for the common user.

To sum up - the flip effect was overused, but has now found a decent niche where it can be used. Lots of material warrant the format, even though it's not the optimal one.

I think turn.js looks very interesting. I have a boatload of catalogs running on Flash today, and I'd love to change that.

</comment><comment><USER26> This thing crawls to the next page on my iphone 4. Is this really a good alternative to flash if the only machines fast enough to handle this animation smoothly already have the horse-power to handle flash?

</comment><comment><USER27> I hate things like this. Take the iPad: to turn a page, I have to wave my hand over the screen, obscuring the text in process. For no reason beyond familiarity.

There is no other benefit. It's a step backwards.

<comment><USER28> You can just tap the right corner ;)

<comment><USER29> Funny thing about the right corner: if you hover over it and circle down the inside of the page, you'll see the left-inside corner pop up.

</comment></comment></comment><comment><USER30> It looks snazzy, but the example does a brilliant job of defeating the object. It works with flipping pages to see more content, but then you have overflowing content on one page that requires vertical scrolling* to see it all.

I've never come across a book that requires me to do something other than turn the page to read more.

*This is also broken (presumably in an attempt to prevent scrollbars appearing), and requires a click and drag to work normally.

<comment><USER31> You can also click the left hand side or right hand side (on mouse over, you'll see a button fade in) to turn the page.

</comment></comment><comment><USER32> Neat! It reminds of Google's book <http://www.20thingsilearned.com/> without hard covers and with only corner active. (I once had an idea of making a reusable lib based on their book's code at <http://code.google.com/p/20thingsilearned/>, but never finished.)

</comment><comment><USER33> I have used <https://github.com/joseph/monocle/> for my android app <https://market.android.com/details?id=in.microangels>

</comment><comment><USER25> Cool man, great implementation!

Several years ago I had to buy flash version of this for some 70pounds or so.

</comment><comment><USER34> This is so cool. It allows me to identify stupid web sites immediately, and never return to them. I could probably even create a browser plugin that warns me before I enter such sites that want to apply a broken paper paradigm to the web.

</comment><comment><USER35> Wow, this is really good (and the best example of page turning I've seen done in HTML+js) well done!

Wonder how stable and smooth it is with large HTML pages, do we know?

The back button stuff you could make work with the html5 history API, correct?

</comment><comment><USER36> Also check out Boardflip. A Flipboard style interaction implemented in JS (experimental).

<http://joecritchley.com/demos/boardflip/>

</comment><comment><USER37> I hope the Kindle Cloud Reader uses this. One of the things I like about iBooks is the turn animation that makes it feel so familiar.

</comment><comment><USER38> Lot of flickering and flashing under Safari

</comment><comment><USER39> Is that the Amazon Arrow? It'd be cool (By my standards) if it was similar, but it looks like a straight rip. :(

</comment><comment><USER40> Good stuff, Add some shading for a 3d effect, looks "2D"/flat.

Vertical would also be awesome (think notepad [of paper])...

</comment><comment><USER41> Nitpick: don't call an animation lightweight when it's half the size of the entire jQuery library.

<comment><USER42> The minified/gzipped jQuery on that page is 32.8k.

The gzipped turn.min.js it comes out to 6k.

It's like half of this comments page is filled with people TRYING to come up with something overly critical to say. What a negative site this place has become.

<comment><USER41> Jeez man, I explicitly prefaced my comment with "nitpick", as in "minor quibble" as in "not overly important." I can't help not many people get very excited by a page turn animation.

</comment></comment></comment><comment><USER43> Performance on IPad 1 is abysmal

<comment><USER44> Performance on iPad 1 is abysmal for most everything.

<comment><USER45> iPad 1 was useful most of the time, when you knew of the weak performance. But iPad1 with iOS 5 is a useless piece of metal and glass. It literally takes 2 second to unlock.

</comment></comment></comment><comment><USER28> Works really good on iPad 2!

</comment><comment><USER46> It doesn't seem to load on my iPad. Works in Chrome, however.

</comment><comment><USER47> Nha! no torn effect :-(

</comment><comment><USER48> it's glitchy and flickers. chrome latest on PC

<comment><USER49> It works fine for me. Could be a graphics card issue?

</comment></comment><comment><USER50> Emulating old paradigms with the new technology is one of the biggest fails of UI designers in general.

Why not got a step further, force your app users to walk to a virtual book store in a 3D world before they can start reading.

<comment><USER51> I've worked on an app that allows people to upload their photos to make actual photobooks. In this case it's nice to be able to show them what the book will look like. That app uses something in flash, but this HTML5 thing looks better.

<comment><USER52> Does the animation really add much? Would it just become annoying quickly?</comment></comment></comment>


Is the traditional inbox getting old? re:me addresses issue - <AUTHOR> http://www.youtube.com/watch?v=px8gDDPW1W8

<comment><USER2> How guys, what was the worst thing that happened to you when you neglected someone?

For me, I lost a few potential dates back in the day

</comment><comment><USER3> I think I missed some cool deals or event invites from friends.. :P</comment>


x86 Disassembly - <AUTHOR> http://en.wikibooks.org/wiki/X86_Disassembly <comment><USER2> It's funny to see this link come up on HN, because I wrote this book (or much of it) years ago as a college student. I was taking some courses on microprocessor architectures and assembly code, and was in the middle of reading Reversing by Eldad Eilam (which had just come out at the time). I had a mantra back then that the best way to learn a subject was to try and teach it, so I wrote this and several other wikibooks as sort of a study aide for my classes. This also explains why the material appears to cover barely a semester's worth of material and why my name ("Whiteknight") doesn't appear in the edit history after graduation in 2008.

Despite the relatively thin and incomplete coverage of the material, I've heard from several people over the years who appreciated the work as a nice introduction to the topic and even once received a job offer because of it (which didn't work out, for a variety of reasons). All things considered, if I had to change anything it would be the title to make it a little more focused. It's not really a book about disassembly so much as it is an introduction to what high-level language features look like when translated into non-optimized x86 assembly code. Find me a short, catchy title that accurately describes that, and you win some kind of prize.

I doubt I'll ever get back to this book either. I haven't worked with this material at all since school, and don't feel like I have up-to-date knowledge of the subject. Unless somebody else wants to jump in and fill it out, it will probably stay the way you see it now.

I'm glad to see that this book is still around and I'm glad that people are benefiting from it in some small way. I know it doesn't cover nearly what would be needed for a real book on the subject (I do still recommend Eilam's Reversing for book-o-philes) but I think it should be a decent stepping stone to pique interest and get people moving on towards more in-depth treatments.

</comment><comment><USER3> Write a disassembler at least once. It's much easier than you think it is (even with X86) --- it's essentially a file format parser --- and very illuminating.

<comment><USER4> It's also much easier to decode x86 instructions when you look at them in octal instead of the hexadecimal that most tables use, since both the main opcode map and ModRM/SIB are organised in a 2-3-3 layout:

[http://reocities.com/SiliconValley/heights/7052/opcode.txt](http://reocities.com/SiliconValley/heights/7052/opcode.txt)

The 8080/8085/Z80 instruction sets also look much better in octal:

[http://www.z80.info/decoding.htm](http://www.z80.info/decoding.htm)

<comment><USER5> This comment validates all the time I have "wasted" reading HN over the years.

It does not suprise me that something so simple would be so well overlooked (or, at least, "forgotten"). I wonder if I ever would have figured this out from my own readings and experiments. Doubtful.

Great tip!

<comment><USER4> I figured it out before/without exposure to that document, but I attribute it to the fact that I started teaching myself at a time when octal was more common amongst mini and micro-computers; most programmers these days barely know any number base other than decimal, and of those who do, binary and hexadecimal are likely far more familiar to them than octal. The official Intel/AMD manuals make no reference to octal either, using only binary and hex.

As an aside, ARM opcodes are (mostly) hex-structured with 4-bit fields, while MIPS, POWER, and SPARC are not amenable to any standard number base except binary (5- and 6-bit fields.)

</comment></comment></comment></comment><comment><USER6> This book is missing very actively developed reverse engineering framework radare2 [1], which is supporting not only x86/x86_64 but also arm, mips, ppc, avr, arc, 8051, TI tms320c55x family and even more!

[1] [http://rada.re/](http://rada.re/)

<comment><USER2> The title of the book is "X86 Disassembly". It was only ever intended to cover x86. x86_64, mips, ppc, etc are all expressly out of scope.

</comment></comment><comment><USER7> And here is a JS x86 disassembler: [https://github.com/indutny/disasm](https://github.com/indutny/disasm) . It is incomplete, but shows how the basics works.

</comment><comment><USER8> Why does `push eax` perform "much faster" than the following?

      sub esp, 4
      mov DWORD PTR SS:[esp], eax

A brief skim of Intel's "Software Developer's Manual" (particularly ch. 6 on stacks), didn't seem to find an answer.

While hitting the ALU just for `sub` might be an extra step, doesn't hitting RAM make that a drop in the bucket? (`sub` may account for less than 1%?) Or is there some caching going on, so RAM may be updated in the background?

(I'm not an assembly programmer; very ignorant of what's happening.)

<comment><USER4> It's a lot smaller (1 byte vs 6), which means less space spent in the cache and decoder, reducing cache misses and decode bandwidth. The x86 also has a dedicated "stack engine" since the Pentium M (but not suprisingly, absent in NetBurst), which contains an adder and copy of the stack pointer to handle push/pop operations. This is faster than using the general-purpose ALUs and memory read/write ports, and also frees those up for use by other non-stack instructions. On the other hand, it means reading/writing the stack pointer explicitly between implicit stack operations incurs a little extra latency to get the values between the stack engine and "real" ESP register synchronised.

Memory reads/writes do take a few more cycles to complete, but since this is a write, the CPU can continue on with other non-dependent instructions following it. All the above information assumes a CPU based on P6 and its successors (Core, Nehalem, Sandy Bridge, Ivy Bridge, Haswell, etc.); NetBurst and Atom are very different.

Linus also has some interesting things to say about using the dedicated stack instructions: [http://yarchive.net/comp/linux/pop_instruction_speed.html](http://yarchive.net/comp/linux/pop_instruction_speed.html)

Somewhat amusingly, GCC was well known to generate the explicit sub/mov instructions by default, while most other x86 C compilers I knew of, including MSVC and ICC, would always use push.

<comment><USER8> Thanks to you and awhitworth! Very interesting stuff, kept me reading. (And soon searching to understand some of the ideas. And thinking of Linus's puzzle about `call` being faster than a `push` before a jump. Seems to be one of those cases where higher-level abstractions can be optimized better than lower-level ones. I suppose because lower-level ones are too general-purpose, while higher-level ones are constrained.)</comment></comment></comment>


A Practical Explanation of AIOps for Engineers - <AUTHOR> https://www.scalyr.com/blog/what-is-aiops/ <comment><USER2> It's bullshit</comment>


The case against React snapshot testing - <AUTHOR> https://engineering.ezcater.com/the-case-against-react-snapshot-testing <comment><USER2> Snapshots feel brittle and because they assume that the first run is the correct run. I've run into issues before where I hadn't fully implemented a feature and the test then said the snapshot failed because it had evolved (in a good way). It doesn't really work well with the TDD philosophy either</comment>


Chrysler Destroys Its Historical Archives; GM to Follow? - <AUTHOR> http://www.thetruthaboutcars.com/editorial-chrysler-destroys-its-historical-archives-gm-to-follow/

<comment><USER2>
        With little notice and no planning, Cerberus literally
        abandoned the engineering library at the Chrysler
        Technical Center. The library was shuttered and the
        librarian laid off. And then the real crime: all the
        library's books and materials were offered to anyone
        who could carry them away.

not destroyed exactly, but just as bad

<comment><USER3> Surely a local university would have taken them in?

<comment><USER4> Hmm,

Some local university might have taken them, for all we know...</comment></comment></comment>