Reading, Writing, Arithmetic, and Lately, Coding - <AUTHOR> http://www.nytimes.com/2014/05/11/us/reading-writing-arithmetic-and-lately-coding.html <comment><USER2> As essential as computational literacy has become, I feel a bit uneasy here.

Take mathematics for instance. What students learn in school is important, yes, but it causes a hatred toward math in general. In a typical high school, 90% of kids dread Algebra, Geometry, and PreCalc. These classes are miserable to them, and consequentially, they associate mathematics with their aversion from imposed education. Because of this, the wonderful world of numbers is reduced to mere repetition.

For those who appreciate the beauty in mathematics, this must be depressing.

I'm afraid that CS may have a similar downfall if we mandate programming curricula. Maybe a more subtle approach is necessary.

<comment><USER3> There should be a nonacademic track in math education, starting around 8,9, or 10th grade.

It would focus on things like demystifying probability and balancing check books and other things that sort of fall under numeracy.

I realize lots of people will like to complain that those aren't topics for school, but the current program in the U.S. is anyway watering down the academic track. People that have not yet seen any beauty in math would get much more value from practical lessons designed to mostly be engaging than they get from suffering through abstract math that is mostly designed to be foundational.

<comment><USER4> My high school had such classes; is this not standard?

<comment><USER5> I can't tell if you're seriously asking. But yes, tons of schools (in the US) are sub par, especially once you're one hour removed from a major city. From what I hear from cousins in West Virginia, it's actively getting worse.

<comment><USER4> Whether schools are subpar is a separate question.

I am saying that if you were in my high school and weren't expecting to go to college, there were courses designed for you across all disciplines to teach you practical life skills. However, I do think the school still required students to struggle through at least some of the standard curriculum.

</comment></comment></comment></comment></comment><comment><USER6> We've said it before. We will say it again:

 _Programming is the new literacy for the 21st Century._

Charlemagne was the first and only illiterate Holy Roman Emperor. This current generation of business and political leaders are the only generation that can remain software illiterate.

No, We wont expect Fortune 500 leaders to do production coding but we don't expect the Managing Editor of a newspaper to write articles either - but they must be literate as well as everything else expected.

<comment><USER7> Agreed. People think of the application of software and automation to every facet of our lives as an industry (tech) when really it is a new industrial revolution. We're undergoing a major shift in how people will work in the future.

"I'm not good with computers" will be the 21st century equivalent of "I can't read good"

<comment><USER8> Or, "I'm not good with computers" will be the 21st equivalent of "I'm not good at math". Meaning LOADS of employed people will be saying it.

The real benefit of programming for non-programmers is being able to break large problems into small, solvable ones, and logically assemble those small solutions into various larger ones (even outside of the original problem; code reuse, as it were). This is a skill you can learn a myriad of ways, but computing is perhaps the first time we've had a mechanism by which you can directly practice it in a non-contrived, endlessly extensible manner.

</comment></comment></comment><comment><USER9> As a sidenote, France happend to have exactly this teaching programs in elementary schools in the 80s. We had a language called "LOGO" running on thomson mo5. Instructions where "move the tortoise 20 front", then "rotate tortoise 90°", etc, and we would do pretty graphics on the screen and be happy.

Or at least that's how i remember it. A friend of mine who's now an history researcher told me recently how that thing disgusted him from computers for 20 years.

<comment><USER10> > A friend of mine who's now an history researcher told me how that thing > digusted him from computers for 20 years.

Can you please elaborate? Was it the infantilism? Or something else? Does your friend pursue coding now?

Logo and other "beginner" languages are more about introductions to using computers to create, not about teaching programming.

<comment><USER11> Can be a couple of things

1\. It intimidated him. Happened to some friends of mine. 2\. He realized history is better than writing procedural code . Should have learnt haskell

<comment><USER12> You do realize that LOGO is a Lisp variant, right? It's not exactly procedural.

<comment><USER11> I had no idea, thanks. It never looked anything like a lisp though.

</comment></comment></comment></comment></comment><comment><USER13> Easy enough, but the bottlenecks remain:

(1) What real world problem to solve.

(2) For a challenging problem, how the heck to solve it.

(3) How to cut through by far consistently the worst writing anywhere in civilization -- documentation in computing.

E.g., I'm still mud wrestling trying to figure out why: (A) In program A, serialize an instance of a class. The result of the serialization is a byte array. (2) To check, in program A, deserialize the byte array and observe that do get the original instance back. (C) In program A, printout the byte array as hex. Transmit the byte array to program B. In program B, print out the byte array in hex and observe that it is just the same as it was in program A. (D) Deserialize the byte array in program B and observe that the operation ends with and exceptional condition. Why? Documentation clear as mud.

Just for my basic work, I have about two cubic feet of books, nearly all badly written, and 5000+ Web pages of documentation illustrating much of the worst mistakes in technical writing.

The bad documentation is by far the worst bottleneck.

The whole thing, the industry and the science, needs to take Technical Writing 101. First lesson: A word used with a meaning not in a standard dictionary is a 'term', and never but never ever, not even once, use a term without a prior clear definition with motivation and likely examples. And, for such definitions, sure, use hyperlinks.

(5) Organization and management of computing projects involving teams larger that, say, half a dozen people.

(6) Computer system construction, installation, configuration, backup and recovery, monitoring, management, and administration.

(7) Security.

</comment><comment><USER14> About 10 years ago, I took a Computer Science AB AP class my sophomore year in high school. It was all in Java.

Man, that was head-slammingly difficult for an intro course. The prereqs said only a knowledge of Algebra was required. But it took a lot of time to get used to. The only kids who did well were the ones who had already been programming for a couple years.

I didn't even know how to do command-line prompts in windows. I remembered a few things back when I had to use MSDOS to fire up games, but that was about it.

That all being said, I sincerely believe everyone should learn how to program. And I furthermore sincerely believe the public school system should stay as far away as possible from trying to impose a model for a one-size-fits-none way to do so.

</comment><comment><USER15> Agree with the premise but the article lost me at " that might someday lead to.... instant riches."

</comment><comment><USER16> Ultimately it all comes to cybernetics. Understanding how systems work, understanding how to change systems, and how to design new systems.

Not about programming itself.

We were designing systems for millennia before computers existed. All the basic algorithms we use in programming today were invented before computers.

Computers just happen to make systems a lot more reliable, performant and scalable (if designed right), since computers have evolved to complement us (i.e. we're bad at what computers are good at and vice versa).

I don't think programming is the new literacy, I think understanding the common principles that tie system behavior together has always been the highest form of skill for any human to possess.

As for turning a system design into code, if you know how to design the system on a higher level, you can always delegate the "boring" act of coding itself.

I'm a programmer, but I understand that the act of programming by itself, even though I find it enjoyable, isn't that interesting on its own. It's only interesting in terms of how the program I'm writing connects to a system where the real world and real people are involved. All programs, with no exception, either interface directly with people, or interface with other programs that do interface with people.

Currently we conflate programming with the act of designing systems (algorithms, design patterns etc.), but I expect sooner or later system design and programming will split into separate "trades". Would it be a resurgence of cybernetics, or a brand new branch of science, I don't know.

But it'll happen. And it'll be good, because many programmers use computers as their golden hammer of system design, and it's hardly the only component of a good system.

<comment><USER13> You have unusually good insight.

> Not about programming itself.

Basically correct. So, the grades 1-8 or so work in 'computer science' will be of questionable value.

E.g., my wife had no background in computing at all. I taught her programming at the level of if-then-else, do-while, allocate-free, call-return, try-catch, plus quite a lot in about a week. Then I gave her a lecture on 'rule-based', 'expert system', 'artificial intelligence' (AI) programming, and right away she wrote a nice, first program. I gave her a second lecture, and right away she wrote the best, early AI program I and my research group ever saw. No biggie. For 'computer science' in grades 1-8, looks like mostly a waste of time.

> All the basic algorithms we use in programming today were invented before > computers.

Not really. E.g., there are books with collections of algorithms by, say, Knuth, Sedgewick, and others, and more on, say, error correcting codes and how transactions work in relational database, that really are "basic" but were invented just for the world of computing and digital communications.

<comment><USER16> Error correction codes and transaction models have existed before computers have, of course the schemes people have settled with before computers were designed to fit within the limits of what people could work with back then, with no computers to do the quick math for them.

People have used a simple form of error detection checksum when copying books manually (like the Bible) thousands of years ago.

Retransmission requests based on error detection like the above have been use over various pre-electronic communication channels, like telegraphs, which is a form of error correction scheme.

Of course anything that requires a modern CPU to compute wouldn't be feasible, but the basics of it, the seed, was.

Transaction protocols can be observed before computers especially in military protocols where "distributed coordination" and consistency of command are crucial for carrying out a military mission. Their channels of communications were slow and unreliable.

I suppose I don't have to also point out same military protocols often required a log where every formal exchange is written down in order, for later review if needed. Here are your modern day database transaction logs.

I can also cite famous examples of encryption schemes going back to the Roman empire, before computers existed, but we all know those.

We assign names to various inventions and we tend to think no one before had any idea like that, but truth is good ideas keep getting "reinvented" over and over, and the only difference is the level of sophistication that computers afford us in combining such concepts and building upon them into more complex schemes.

By the way in ancient Egypt, every person would be registered and written down in a set of books, books would be split and sorted by a hash of their name for easy look up.

Yup. Ancient Egypt had a hash-based index for their database of people (and books are the hashmap buckets).

<comment><USER13> > Of course anything that requires a modern CPU to compute wouldn't be > feasible, but the basics of it, the seed, was.

I still believe that what Hamming did in coding theory and the Reed-Solomon codes, etc., are 'basic' and new since computers.

But, you are correct that transmission error detection and correction were old needs with old solutions. E.g., there was parity with teletypewriters and old paper tape for error detection and then retransmission for error correction. Yes, and the improvements Hamming, etc., made for computers were not feasible before computers, but I still believe that, while the problem was old and had old solutions, the work of Hamming, etc. was new and 'basic'.

Yes, heap sort doesn't really work as a sorting technique before computers, but trying to dream up heap sort is not easy -- just for the heck of it, once I set aside reading how heap sort worked and tried to dream up such a thing for about two weeks and couldn't do it. Heap sort's darned clever.

<comment><USER16> I don't mean to disregard the work of Hamming & co. as trivial.

Each one of us struggles to add something to the stream of human thought, and it's hard every time, and it's worth praise every time, but it's interesting to see it all as a part of a bigger picture, in that computers are just systems like any. They have certain properties emphasized, and certain other properties de-emphasized right now, but that's it.

I actually didn't go far enough in my error detection and correction examples, I only went few thousand years back. There's an even more ancient example, going back millions of years... the process of DNA replication itself:

[http://en.wikipedia.org/wiki/Proofreading_(Biology)](http://en.wikipedia.org/wiki/Proofreading_\(Biology\))

One shouldn't be surprised to discover that some cellular process might have stumbled onto heap sorting, either.

System design is bigger and older than any of us. To think otherwise is just a sign our culture is just too young yet to appreciate where we fit in the world. In some ways, it seems we still think we're at the center of the Universe.

We're not inventing algorithms, just rediscovering them. This doesn't make any of the achievements of our inventors any lesser, but it's good to keep in mind the big picture. It helps us, among other things, to look in more places for inspiration and knowledge, and in turn, create better systems.</comment></comment></comment></comment></comment>


Ask HN: What would you hack on an 12-hour flight? - <AUTHOR>

Imagine that you have 12 hours to fly overseas. Its during the day, so sleeping isn't much of an option...<p>What would you work on? Take in consideration that the battery of your laptop/tablet/smartphone won't last the whole trip! <comment><USER2> Having done such flights multiple times, here is my suggestion. You will be absolutely brain dead so take dumb monkey work. :-) Do your GTD weekly review. Clear your inbox. Etc.

Having told you that, however, there was a 15 hour flight (Emirates LAX - DXB) when I wrote a 40 page ebook. I couldn't sleep so I just banged it out.

Also, most sane airlines have power outlets. Sane = carriers that are non-U.S. It has been a long time since I have flown an American carrier. So don't worry about power.

</comment><comment><USER3> Work on something with a small but specific goal. Be it unit tests, programming problems or a simple CRUD app in a new language. You should feel accomplished at the end.

<comment><AUTHOR> What language would you choose? / Could you learn in such a time frame?

<comment><USER3> I would probably go with something esoteric or something I have been thinking for a while. For e.g. Erlang, Closure, Go, etc. Yes, it definitely possible to learn and implement the very basic end-to-end webapp in any of the above. You may also look at other frameworks which are presently in vogue like rails, cakephp, or angularjs.

</comment></comment></comment><comment><USER4> I have a C hobby project I worked on during a couple flights the other week, but if I flew again I'd probably bring this:

[http://www.amazon.com/Book-Abstract-Algebra-Edition- Mathemat...](http://www.amazon.com/Book-Abstract-Algebra-Edition- Mathematics/dp/0486474178)

. . . along with paper for working the exercises.

</comment><comment><USER5> If you code normally, I'd say take advantage of the change in context to focus your brain on something completely different. Like designing a conlang or reading the most reviewed Capote works or heck, just finding a couple of people you can talk to if the plane isn't crowded. An overseas flight will have interesting people with interesting stories.

</comment><comment><USER6> You can work on stuff that don't require any graphical interface, just a REPL, so you could limit the use of your battery:

\- project Euler

\- 4clojure

\- maths and stats stuff

\- artificial intelligence

\- chat bot

If you have an existing project, maybe you can find a part of it where you can work in complete isolation.

</comment><comment><USER7> If you are proficient in one mobile technology 12 hours should be enough to build a little app :P

My latest iOS app took me just 20 hours totally. (still waiting for Apple approval)

</comment><comment><USER8> I read "the tangled web" (web security) on my last long flight. Recommended; search for "hilarious" to find the most painful bits.

</comment><comment><USER9> sounds boring, but i would probably work on test coverage for existing projects, because i don't need internet for that, and i can stop whenever i run out of battery...

</comment><comment><USER10> With or without Internet?

<comment><AUTHOR> without!

<comment><USER11> You might actually have power though. Check out [http://www.seatguru.com/findseatmap/findseatmap.php](http://www.seatguru.com/findseatmap/findseatmap.php), you can punch in your flight number and departure date, and it'll tell you which plane you're supposed to be on and what amenities it has, like power outlets and where they are.</comment></comment></comment>


Download Twitter timelines - <AUTHOR>

I intend to download timelines of a twitter account. Can someone please guide me how can I do that? <comment><USER2> The twitter API limits you to pulling the most recent 3200 tweets... so if you roll your own keep this in mind.

Also there a number of Twitter archive services out there that let you download a copy of your timeline. Remember that they too are limited to the 3200 by the API.

I happen to own/run one such service (<http://tweetsaver.com>). We'll get your most recent 3200 tweets from your timeline, plus all your mentions, DMs and favorites. We allow you to export these as a CSV file.

However, if all you want to do is download the tweets, my service is probably not the best option.

</comment><comment><USER3> Two options immediately come to mind: an API call (never used Twitter's API, but API's generally tend to be fairly easy to work around, though you'd have to write up some sort of script) or pull the data off the timeline's RSS feed.</comment>


The first corned beef sandwich in space (1965) - <AUTHOR> http://gemini3.spacelog.org/page/00:01:49:03/ <comment><USER2> I love moments like this in any project really. Working on high stress projects with the most professional people, eventually someone is going to break and do something childish. Mostly putting cats into production code or some secret code to show as inside joke to your relatives to prove your existence and work

Personally I haven't seen anything to the levels of sneaking a sandwich into space, but I can't wait experience it, or execute it :)

<comment><USER3> Trying to imagine how something like this even happens... there's probably half a dozen people around him helping him get suited up and half-way through he says... "Hold up, guys. Let me get something from the fridge."

<comment><USER2> even the execution of pulling the sandwich out of your suit in the small capsule and starting to eat away at it with such a coy smile. The chicken leg jab too was too perfect, this is such a wholesome event

</comment></comment></comment><comment><USER4> This sandwich is memorialized in a resin display at the Gus Grissom Memorial Museum in Mitchell, Indiana.

[http://cdn.wonderfulengineering.com/wp- content/uploads/2017/...](http://cdn.wonderfulengineering.com/wp- content/uploads/2017/04/John-Young-Sandwich-Gemini-3-3-610x343.jpg)

</comment><comment><USER5> A little more info about the incident, including who bought the sandwich and from where, whether permission was given, and how NASA and congress felt about the matter:

[http://www.collectspace.com/news/news-032315a-gemini3-corned...](http://www.collectspace.com/news/news-032315a-gemini3-corned- beef-sandwich.html)

<comment><USER2> no mustard or pickle!? what a crummy sandwich

</comment></comment><comment><USER6> John W. Young on his rookie mission. Severe official disapproval, but of course he went on to a total of six launches, two of them moonbound, two of them truly pioneering, and only relatively recently retired from NASA.

Autobiography _Forever Young_ recommended.

<comment><USER7> It does show a sort of trailblazing attitude to take a corned beef sandwich into space, not knowing what it will do.

<comment><USER8> I dunno I'm pretty sure everyone involved was pretty confident it would be delicious.

</comment></comment></comment><comment><USER9> Direct link: [http://gemini3.spacelog.org/00:01:52:26/#log- line-6746](http://gemini3.spacelog.org/00:01:52:26/#log-line-6746)

</comment><comment><USER10> I thought someone had cornered the market for beef sandwiches in space.</comment>


Adding a billion numbers in Rust - <AUTHOR> http://pramode.in/2016/08/25/rust-add-billion-numbers/ <comment><USER2> It compares the time to Python, based on reduce(lambda...). The lambda x, y: x+y is slower than operator.add:

      % /usr/bin/time -p python -c 'reduce(lambda x,y: x+y, xrange(1000000000))'
      real       140.16
      user       140.10
      sys          0.05
      % /usr/bin/time -p python -c 'import operator; reduce(operator.add, xrange(1000000000))'
      real        67.04
      user        67.02
      sys          0.01

Python is not optimized for functional programming. The idiomatically relevant comparison would be:

      % /usr/bin/time python -c 'sum(xrange(1000000000))'
           11.99 real        11.98 user         0.01 sys
      % /usr/bin/time pypy -c 'sum(xrange(1000000000))'
            1.38 real         1.35 user         0.02 sys

That of course still doesn't beat pre-computation.

</comment><comment><USER3> But what is the code generated when the value of N is not known at compile time. i.e it is a user provided value (which is the more interesting case since it happens all the time) -- does the fold still get abstracted into a for-loop kind of thing in the generated code?</comment>


FAQ Sheet on Feature Interaction (2004) - <AUTHOR> http://www.pamelazave.com/faq.html <comment><USER2> Wonderful examples at the bottom of the article.</comment>


Work full-time or grad school before startup? - <AUTHOR>

	I just started grad school in Physics a month ago, but I have recently considered quitting since I have gained an interest in the entrepreneur/startup world.
I have read a few of Paul Graham's essays, and I think starting a startup would suit me well because I am willing to take the risks involved in it and work the long hours as opposed to working in a cubicle. The main problems at the moment are that I have poor programming skills (To give you an idea of my current skill level, the most recent concept I learned in C++ was Vectors a few months ago.) and that I have no friends that are interested in programming or in a startup. So finding a co-founder would be a problem. But I have been considering joining a club on campus with other grad students that are interested in forming a startup
I am thinking I may actually like the business aspect of running the startup as opposed to the hacking side, even though I'm rather introverted and wouldn't make a great salesman. I want to make the decisions and have the vision for the startup's future. When I was in high school/college, I was obsessed with this one hobby I had, and I really enjoyed the business aspect of it also. If it weren't a rather childish hobby, I would probably want to form a startup based on that.
But in the meantime, should I start getting better at hacking? Should I try working through O'Reilly's book? To learn the necessary programming and startup details, would I be better off staying the school at the moment (to try to network with others interested in a startup) or quitting asap to get a programming job at a non-startup with the intention to leave to form a startup?
Also, if I should just work at a startup first, before starting my own startup, what job can I possibly get? My programming skills aren't good enough for what they're looking for.
PG once said it should take 6-12 months to learn to hack well. Given my previous (but near minimal) experience with C++, would it still really only take 6 months?
PG also mentioned that those who try a startup, but fail, can easily get hired by another company. Do you guys think this is true? <comment><USER2> In my experience, the best way to know whether you would actually like work on your own start-up is to work for someone else's.

You don't mention where you are located. Are there any startups nearby where you could intern to gain some experience?

I can't comment on the hacking side of things as I am on the business side myself. But I do agree with PG's point that those who work on startups and fail increase their value to other startups... with each new experience you will learn more. The growth rate at most small startups is many times that of large corporations- that is the benefit of wearing many hats.

<comment><USER3> I am in Austin. I haven't really looked much into the startups here, but based on the few jobs ads I've seen, they are looking for programmers with alot more programming experiences and skills than I have. That's why I was wondering what position they could possibly want me for. Or, I could just work really hard on improving my programming skills. But am I better off doing that while working for a non-startup or in grad school?

<comment><USER2> Can you look into internships? I think if you are interested in working for a startup, you are going to be bored working for a large corporation and just studying on the side.

</comment></comment></comment><comment><USER4> Almost all essays PG writes offer heuristics. The trouble with heuristics is that they often lead to interesting journeys, not to mention head-fakes[1].

There is unfortunately no algorithm for start-ups.

[1] - <http://en.wikipedia.org/wiki/Head_fake></comment>


Scabby the giant inflatable protest rat may be banned from picket lines - <AUTHOR> https://www.chicagotribune.com/business/ct-biz-scabby-giant-rat-balloon-union-protest-ban-20190807-fbqnn7rorne75oc2w72wel3ise-story.html <comment><USER2> For us europeans: [https://outline.com/L97Nu4](https://outline.com/L97Nu4)

</comment><comment><USER3> The claim that it is menacing or intimidating and so isn't covered by the first amendment seems nonsensical to me. No rational person expects that the ballon to attack them.

<comment><USER4> The claim is that the people holding the rat will attack them, and having the rat is to advertise a threat.

<comment><USER3> By that logic then any picket line could be banned.

<comment><USER4> Ones that threaten violence against scabs should be.

</comment></comment></comment></comment><comment><USER5> Do we then get into a constitutional battle over what feature of a inflatable rat makes it unacceptably menacing? You can't have three of the following items, sharp claws, red eyes, bleeding cuts, ulcers.

</comment><comment><USER6> "Unfortunately, our website is currently unavailable in most European countries.".

Really!?

<comment><USER7> I like that they immediately follow that statement with something that is (especially given the time involved since they first started saying it) an obvious lie.

 _" We are engaged on the issue and committed to looking at options that support our full range of digital offerings to the EU market. We continue to identify technical compliance solutions that will provide all readers with our award-winning journalism."_

Oh, are you now? Got a bridge to sell me next?

Really makes me feel a sense of trust in a publication's journalistic integrity when they censor themselves abroad and lie about their intentions.

</comment></comment><comment><USER8> Banning this is extremism and proves the balloons work. I live in Chicago and see the rats. They get important conversations started for everyone about what's going on, wage suppression and class consciousness. If you're not fighting in class warfare, you're losing it, because as we see here the investment class doesn't stop. The labor movement made life better for all of us, so I always support these working class heroes. You know we're losing when we can't even have a balloon because business doesn't like it.

</comment><comment><USER9> That seems... like first amendment protected activity to me. Let's suppose scabby is outlawed by the NLRB. What's to stop me, a third party libertarian whackadoodle, from bringing my own rat to other peoples' strike?

Speaking of which, is this how Scabbers, in _Harry Potter_ , got its name?</comment>


Ask HN: Ever regreted to publish something under MIT license? - <AUTHOR> The license is pretty permissive, letting anyone able to build a business off it. I guess it can lead to bad surprises. <comment><USER2> > I guess it can lead to bad surprises.

Surprises? If you build something and explicitly let anyone use it, you shouldn't be surprised when someone does in fact use it.

<comment><USER3> If I post something on GitHub publicly I would love for someone to use it. That's kind of the whole point. Ego bump!

Only thing I could think of being salty about is if they re-package and sell it as their own and make a lot of money without attribution. Then again it's not like I was going to sell it anyways, so all the power to them I guess?</comment></comment>


Case study: Can retailers win back shoppers who browse then buy online? - <AUTHOR> https://hbr.org/2015/06/case-study-can-retailers-win-back-shoppers-who-browse-then-buy-online <comment><USER2> I do the opposite. I don't want to spend the time driving around looking at stuff, so I research online, and then find where it's sold locally. 'cause I want it the instant I pay for it, and returns are much easier and immediate at a store.

I do buy from Amazon, but Amazon is also one of the best research tools for local buying.

<comment><USER3> I'm shocked that people continue to "showroom" items. The local Best Buy has a terrible selection of items and the employees don't know any more about the products than I do. It doesn't make any sense to go to Best Buy for anything at all - there is almost literally zero value added by a big chain electronics store.

<comment><USER4> I can think of a few things that you just need to see or feel.

I was shopping for a monitor and all the reviews on Amazon are great but I can't see the difference on my current monitor or what it actually looks like despite all the specs listed.

I did buy it on Amazon but only after I saw the actual differences in store.

<comment><USER5> Yeah for something like a tv or monitor, you have to see it in person or you're rolling the dice. How's the glare? How does it look from other angles beside straight on? Hows this 4K res compare to the one next to it?

Even if Amazon could provide a Hololens sessions for me to look at the product (which maybe they should do at some future Amazon retail location) alongside all the specs and reviews, it's still not going to bridge the gap of seeing it in person.

<comment><USER6> Amazon could integrate that into Amazon Prime Now (1 hour delivery service). They could charge a small showroom fee and have a driver go out with a "floor model" they keep at the warehouse and an unopened box model for if you want to buy it on the spot.

<comment><USER2> Wow. The value of human time is incredibly low, if that can be made to work.

I have this thought every time I see a sign waiver.

</comment></comment></comment></comment></comment></comment><comment><USER7> Heh. They're dead right about the difficulty of cutting through a million options. I feel lame every time, but I find myself just going to thesweethome.com or thewirecutter.com, and then buying whatever they tell me to :-/ Either online or locally, whichever is more convenient and/or cheaper.

<comment><USER8> tl;dr - My best isn't necessarily your best. We're different people with (likely) different needs.

That seems pretty foreign to me. While I would definitely look at something like that (although I've never heard of either of those sites until now, thanks), it seems weird to me that people would assume what some website thinks is "best" is so accurate as to accept their recommendation without doing any research whatsoever and immediately going out to buy that.

Even when I was a kid and had a Consumer Reports subscription I never just bought whatever they said to buy I have always done my own research. It doesn't seem that difficult to me if you have at least a rough idea of what you're looking for in an item and can prioritize those things.

<comment><USER9> TL;DR: there are products that fulfill your, mine and everyone elses needs simultaneously quite well.

Products in a given category aren't usually trading off their features and price perfectly. There are some products that are significantly better than their competitors in all metrics at the same time; then most of the products in any given category are a mix of weird attempts at market segmentation and companies trying to simply scam you. Therefore it's not surprising one can often select a product that is objectively the best for vast majority of potential buyers.

</comment></comment></comment><comment><USER10> I'd buy more locally if there was more locally to buy. I know it's a small town, but the availability of seemingly common electronics is atrocious. I can't locate, let alone buy, a monitor with greater than 1920x1080 resolution within 100 miles. A keyboard with decent mechanical switches, any form of non- toy quadcopter, even a Raspberry Pi/Arduino/Beaglebone? Somewhere in Seattle or Phoenix, if I'm lucky.

I'd kill to have a Fry's in the state.

About the only form of electronics I'm set for in-town is headphones, and that's just because Headroom was built up from this city.

</comment><comment><USER11> Another thing to note is that the auto parts industry does a pretty good job leveraging tools like Amazon and eBay. Autozone, Advance, Summit etc. They have stores and websites but also use those platforms to sell stuff and the price is generally consistent with their websites and stores or reflects the cost of using the platform (e.g. buying stuff from Summit is usually slightly cheaper for the stuff they list on eBay and I assume this is a reflection of shipping discounts.

Obviously, a franchise can't really take advantage of additional platforms the way a chain can.

</comment><comment><USER12> Where online really wins for me is that I don't have go shopping along with hundreds or even thousand of other people after work or in the weekends.

I get extremely cranky when I need to stand in line or try to make my way passed other "less efficient" shoppers.

Also the stupid attempts at up-selling in electronic stores doesn't help.

Clothing I do prefer to shop in real stores though, but that's mostly because sizes aren't uniform and generally confusing.

</comment><comment><USER13> Here's one thing brick-and-mortar stores could try learning from online retailers: stop bugging your customers.

If I need help looking for a TV, I'll ask. I promise, I'm not shy. But if I want to just LOOK at some TV's and see what's available, please stop hovering over my shoulder and asking me if I have any questions. I don't, really. I can read the specs. If you want me to spend $400 or more on something, you're gonna have to grant me some time to chew over the options and go home and do my research before coming back. Let me do that, and I might come back and buy from you. Pester me, stalk me, or refuse to let me leave without making veiled threats that "This TV may not be here when you come back," and I'll shop online.

For its part, Micro Center guys have usually been extremely helpful when I needed it and have always left me alone once I said "Just browsing." They've also periodically looked up the part on Newegg to see if they could price- match it.

<comment><USER14> ...and yet some people report feeling ignored by shop staff.

Is there any research into the ideal balance between asking people if they need help and not bugging them?

<comment><USER15> Is there room for an app here, where you can declare your need for help, and the store can respond (by queuing it or whatever)?

<comment><USER16> An app? The solution has existed for decades without being more complex than a lightbulb.. hit a button that turns on a light in the area so staff can come help you.

The specific case I'm thinking of was buying a graphing calculator that was locked in a case. Hit the button and someone will come by to get you one. Same concept on airplanes too, though.

<comment><USER15> Except, no queuing, no estimate of when they'll get to you, no idea if anyone will ever show up at all.

Complaints about bad service are epidemic. I'm thinking there's room for disruption here.

</comment></comment></comment></comment></comment><comment><USER17> For what its worth I basically use a two axis model for my likelihood to buy online vs. retail one axis is time frame (do i need that bathing suit right now or can i wait two weeks) this is really product agnostic - basically I'll pay a (potential) time/money premium to get something now.

the second axis is commodity vs. customization/fit on one end of the spectrum are standardized things (AA batteries, a DVD, part #12345) that i'll pretty much always buy online, the middle of that spectrum is stuff that you'd like to see in person you but would be willing to buy online (i.e. showroom): a watch (see it on your wrist first) furniture (how big is that couch). At the other end of the spectrum are things with a value added service that retailer does that i will buy in the store, something like ski boots or hockey skates where i want to try on a few, the salesman are more knowledgeable, and there is a customization/fitting process (custom footbeds or heat treatment)

<comment><USER18> The time axis is being eroded by the speed of delivery. If I order something from Amazon on a weekday, I almost always have it the next morning. For me, there is a very small window between "want it _now_ " and "want it by tomorrow morning". For me currently, that window is basically just restaurants and groceries, which could be eliminated with better planning.

The in-store value add is a real thing, and what I think a lot of stores are going for, but for most things, the best they can do are knowledgeable salespeople, whose knowledge will never be as useful as research on the internet. I can only think of one other example where I really want a good salesperson besides ski boots: "important" clothing, like a nice suit, that benefits from professional tailoring.

</comment></comment><comment><USER19> If I were opening a book store today, I'd do two things:

1\. I'd put Amazon affiliate links everywhere. If you want to buy it from Amazon while browsing my store, go for it. I'll just get a cut of the sale via my affiliate link.

2\. If you buy a Kindle version via Amazon, I'll discount you on the hard copy that you buy from my store. That way you'll have both versions, if desired.

I have absolutely no idea if this would be effective, but I think one thing booksellers are going to have to do to stay competitive is adopt something like this, where you're not shutting the customer down. I'm one of those people who browses the store and then buys on Amazon, but that's mainly because I have a Kindle with hundreds of books, and I only buy hard copies of my favorites. If a store enabled that -- and profited from -- then that would be awesome. I'd love to give a small kickback to my local store for showing me what's available, even if I bought it from Amazon in the end.

</comment><comment><USER20> Off-topic: I couldn't find anything online about Benjy's, aside from the HBR article. Anyone know what's going on?

<comment><USER21> Its either a made up company for the case study, or pseudonym for best buy. The case study teaching notes refer to best buy instead of "benjy's".

</comment></comment><comment><USER22> The article is an advertising piece for Wayfair, and doesn't even try to hide it.

The truth is that retailers, especially large retailers have a lot of tools to fight back against e-tailers:

\- Demanding manufacturers to set and enforce Minimal Advertised Price.

\- Exclusive products. If Macy's ask for a new product to be theirs only, they usually get their wish granted.

\- Geo lockout. Smaller retailers are granted geo-local monopoly.

\- Custom SKUs to thwart price lookups and price matches. Samsung makes the same TV in BestBuy SKU, Sears SKU, Costco SKU, generic SKU, and likely others.

\- Own ecomerce portals, like Macy's or Nordstrom.

\- Local returns and repairs.

And that's not all of it. At our startup we're making many of these tools available to smaller retailers and manufacturers, if you want to join, my email is in profile. In particular we're hot on post-visit engagement workflow, the stuff of the 21st century.

Retail is far from dead. If it were, they wouldn't need the advertising piece in HBR.

<comment><USER23> Besides the local repairs, all of these seem to attempt to stop people from being able to purchase the items you can see in store cheaper online, which makes the assumption that if the shopper can't find the item cheaper online they will purchase it in store.

It seems unlikely that a shopper savvy enough to have an item recognition app is going to not know what the online price is for a similar item, even if it's not identical.

Consumers obviously assign some value to being able to see the actual item, but it's not clear that the value is as high as you need to sustain a retail operation vs a generous returns policy.

</comment></comment><comment><USER24> After Amazon threatened to close my paid Prime account because I was returning too many things (totally false) I'm now going back to the brick and mortar stores too. As more and more people get alienated by policies that aren't even written down, applied transparently and randomly by stupid algorithms, I think more people will deal with the inconvenience of shopping in person or at the very least look for online retailers that don't tell their paying customers who have been spending $10-30k a year regularly for many years to go fuck themselves.

I think there's a lot of chances for retails stores as people realize that the promise of online technologies is incredibly hindered by their actualization and the artificial limits imposed by such unscrupulous vendors as Amazon.

</comment><comment><USER25> Sometimes I wonder why nobody opens a showroom that doesn't sell products, but only shows stuff. (At a fee of course.)

But it might cost too much to finance all the products you wish/have to show. Manufactures can help and donate demo gear :)

<comment><USER9> It's called a trade show, and pretty much every type of product has some. I agree that there could be a room between them and shops, i.e. small-scale displays, but at this point why not just let one buy the stuff?

<comment><USER18> Trade shows are temporary. The advantage of a permanent showroom is that people know they can always go look at things right now.

> why not just let one buy the stuff?

Because then the store needs inventory, and all the overhead that entails. It is much cheaper to keep a single copy of everything.

But the perhaps bigger issue is one of incentives. I hate that when I'm at Best Buy looking at things, I know I'm being an annoying "showroomer", rather than a customer doing the correct and desired thing. Removing on-site sales from the equation aligns the incentives. Now the showroom will want to do whatever they can to make it _easier_ for me to buy online, so that they get credit (and presumably commission) for the sale. Instead of trickery to confuse object recognition apps, maybe they'll make a really good augmented reality app that makes it stupidly easy to one-click order the exact thing they're looking at.

<comment><USER9> Thanks, you wrote some good points I haven't considered. You've actually convinced me and now I wish for a permanent showroom too. I wonder, maybe electronics stores will slowly evolve towards that? Order on-line and pick up at store is already a thing, and the second part of the equation would be just a streamlined mobile buying experience.

</comment></comment></comment></comment><comment><USER26> I can't believe that kind of people do exist.

</comment><comment><USER27> We have a game store where you can go to play the board games and buy the ones you like. It's crowded but I don't know if people actually purchases things.

<comment><USER28> Looks can also be deceiving, because of "Friday Night Magic" at least for one evening a week what is believed to be an independent FLGS is actually a junk food convenience store at least WRT revenue by product. Or so I've been told by someone who should know. There are other theme nights, its just "Friday Night Magic" is the most popular.

Its not a very profitable or well run convenience store compared to a real convenience store, but it does well enough. As do most FLGS that run friday night magic. I'm sure there are some that can't sell junk food due to zoning or ordinances, that must be annoying.

The problem is scaling it outside a couple hours Friday night. Another day of the week, six guys playing pathfinder on a card table makes the store look busy compared to a usually completely empty antique store, but what kind of revenue is rolling in per hour? You can pay the electric bill by selling monster energy drinks out of the cooler, but retail establishments have other bills to pay, and the antique store only needs one sale per week to pay their bills...

<comment><USER15> Just for contrast, our local card store has 8 tables available for whatever. They also have Magic tournaments, MechWarrior tables, a variety of things. They make their money selling - you guessed it, card games. The other half of the store is aisles of boxed games, old and new.

The tables get busy every evening of the week, after folks get out of school/off work. The age range is teens through 30-somethings.

</comment></comment></comment><comment><USER29> Instant gratification and no shipping cost on larger items is the only way local stores can deal with Amazon.

Somehow Best Buy is still in business so they must be doing that.

</comment><comment><USER28> Its interesting that none of the case study results faced reality; you're obsolete, pivot or close. Lots of long winded meandering that boils down to fiddling while rome burns. You've got legacy revenue for awhile, real estate, and employees, take advantage of it and pivot. "I know, we'll try to undercut the entire internet" LOL "We'll just work harder than everyone else" LOL "We'll sell only the most expensive products to the richest customers because they like to waste time" LOL "We'll define excellent service as being obnoxious and in your face as possible" LOL The first consultant is featherbedding "We need more consultants to get more data".

For example, Barnes and Noble has abandoned selling books and has pivoted semi successfully into "convenience store for birthday gifts" complete with wrapping. They still have a section of the store for books, but its not really a book store anymore. They have a better chocolate section than my local discount grocery store! In the specific example, moving in on B+N turf isn't going to work as a strategy unless you think you can out B+N, B+N itself.

AFAIK no one has ever tried food and consumer electronics shopping, so eat "real" food while showrooming sample TVs and then order one shipped to your door. This is not entirely insane. A liquor license and pleasant wait staff might discourage showrooming... "Hey everyone gets a round on the house, Joey bought a new TV" woo hoo ...

Something to think about is there is more retail CRE square footage today than ever in the history of the country and its all more or less becoming useless as currently designed and zoned. You may end up pivoting totally out of old fashioned retail, perhaps a fitness club, or barber shop, or restaurant. You want to be the first retail market to become an exercise club not try to be the last. Locally food and other retail stores that have closed have successfully opened as credit union branches, exercise club, restaurants, and car dealerships, more examples probably exist. To make a large scale national strategy, it might be useful to gather this small scale success data. Apparently you cannot pay the rent selling turnips in that specific retail frontage, but you can pay the rent selling time on a bench press machine, interesting...

Alternately you can ride right down into a crater, like that crazy general in Dr Strangelove, if it no longer works just keep on doing what doesn't work but harder than everyone else, what could possibly go wrong? In all honesty if you have no future it does show bravery of a sort to keep doing what you're doing until the bankruptcy, but admit what you're doing, at least, you're just riding a dead business model until impact with the ground, milking the last cash cow till it becomes pink slime.

<comment><USER30> Yeah, I can't help but scream at every one of their lame proposals: This is what drives people to buy online in the first place!

What's never mentioned is simply having their every day price match the online prices. But this is so glaringly obvious I assume it's simply financially impractical. I've really got to wonder what kind of margins they have to bridge?

Lobbying their state to drop sales tax and being 5-10% higher than online, but being _open_ about it and marketing based on immediate service _might_ work. Then again if it's a 30% chasm the situation seems quite hopeless.

As an aside, I wonder if they could get manufacturers to supply floor models gratis, or even paying a little for exhibition. After all, a brick and mortar store is essentially a giant billboard. Much better than some "minimum advertised price" anti-competitive bullshit.

</comment></comment><comment><USER31> Sigh. I will buy online for most things. Things I don't: groceries, clothes. (Why: Our meat guy takes orders and we pay and pick up. Avg bill~$55. Grocery doesn't have automated picking -krogers-. Would use it if we could.)

Now, why do I buy online? There's many reasons.

1\. I'm price sensitive. I don't make that much, so my money must count. Doing X means not doing Y, even for small values of X. Online is just cheaper.

2\. Your place doesn't have what I want. I've went into electronics stores, looking for X. Except what I see is some version less and something much higher. Or they play with model names, where kwin-123xyz-tgt is at Target and kwin123xyz-wmt is at Walmart, and have no differences, other than a model ID that's dependent on store, to prevent price matching.

3\. Salespeople are idiots. I've had them try to "inform" me of all sorts of inane "Its really true that..." and other lies or mistruths. I don't need your research, salesperson. Nor do I think you deserve your commission for your BS.

4\. Salespeople are pushy (and worse; hard sell). Nothing turns me off from shopping than that behavior. I hate it, and will walk out as soon as they start engaging in it. One case I went back to them after making the sale and told them that their hard sell is why they did __not __make the sale.

5\. Lines suck. As in, really suck. I have the non-choice of waiting in a too long line for some disinterested clerk to ring stuff up. Compare this to Amazon and other web stores where I can click buttons and "BUY....DONE!". Yeah, there's shipping. But I can get on with my day. Lines suck time I'll never get back.

6\. Other shoppers. We're approaching the 'Black Days', where you will be neck-to-neck with other crazed deal-going shoppers. Some are in various states of unbathedness whilst many others are completely rude. The net eliminates this, completely... unless you go to forums like Reddit and intentionally find areas like /r/SRS

7\. Going to another store = loads to time. I'm looking around 5 mins to park and walk, 10 mins to find, and 5 mins to pay, and 2 mins to leave. Total 22 mins. On the net, I can search a dozen stores at the same time. And nobody complains if I search another company while on the first's web site.

8\. I don't get real-time reviews on items in store. I have to rely on the box (marketing), the ads (more marketing), and general feel if there's a sample. Online, I can see the reviews of pretty much anything, can analyze trends in good and bad, and can make a generally informed decision.

9\. Pricing issues. I regularly get problems with incorrect prices on things. Usually it's taken care of, but turns out to be a big "Stop registers, send someone to look, and report back". Retarded and inefficient.

10\. Coupons/cards. I have an account on some eCommerce site. Or I use Paypal directly and not make an account. It just works. Versus the brick and mortar stores, where they play games with "discounts, but not this way, and not here, but only on that with that". And you need those damned shopper cards. It's one thing to have a single card, but every store wants you to have one.

That enough reasons why?

<comment><USER8> I agree with all of this. For your sales people getting paid on commission they will, of course, flat out lie and try to up sell you things or combine those together to say they're out of something they have and try to sell you something more expensive because you look like you need it (I'm looking at you Fry's).</comment></comment>


The Republican Waterloo - <AUTHOR> https://www.theatlantic.com/politics/archive/2017/03/the-republican-waterloo/520833/?utm_source=twb&single_page=true <comment><USER2> Media liberals would like to believe the Republican party is imploding. (These are the same people who spent a year ridiculing the possibility of a Trump presidency, because they were so certain they would destroy him in an election.) Unfortunately, it appears reality has other ideas, given that Republicans control nearly everything above the municipal level.

I'm not saying I like it, I'm just saying that's how it is.

<comment><USER3> David Frum isn't a liberal.</comment></comment>


An Engineer with Too Much Free Time: Street-Legal Jet Powered VW Beetle - <AUTHOR> http://www.ourlighterside.com/stuff/engineer/

<comment><USER2> I hate to be the guy to say it, but this isn't an engineering novelty, it's duct tape. I was expecting to see a jet engine or turbofan used for driving the drive shaft rotation. Instead, this is just as novel as putting a jet engine on a dog sled. And it's not "street legal"...it'll fail inspection as soon as the inspection comes up, whether it "was built to look as if VW delivered the car this way" or not.</comment>


Painless Windows Workstation Setup with Boxstarter - <AUTHOR> http://trycatchfail.com/blog/post/Painless-Workstation-Setup-with-Boxstarter.aspx <comment><USER2> This seems like a slightly more technical version of [https://ninite.com/](https://ninite.com/) ... Most users just want to grab their usual suspects of 5-15 apps on a fresh machine and GO!

I want to use Boxstarter to build a VM template but I've never really used any of the items it mentions. I realize it isn't trying to complete with ninite, but I sure would like a "click x buttons then hit download" version of this Boxstarter/Chocolatey stuff.

</comment><comment><USER3> I have a feeling we're going to see some really interesting things very similar to this coming out of Redmond in the near future. With Microsoft's announcement of One-Get (an official Windows package manager that essentially wraps Choclatey), I think Powershell might finally be getting some much needed attention.

<comment><USER4> \--Could you (or someone) explain what benefit microsoft would see in this type of pm over the app store that comes with windows 8?

This looks like the type of side project that gets killed once it gains too much momentum and a low level exec gets wind of its possible trajectory.

Because really, if you're looking at the current strategy, it's moving away from this type of dev stuff and more towards easy-to-use-and-fun-GUI stuff. At last year's build I remember them showing a way to put private corporate apps in their store that would only be available with a special key or something. So while I'd love this, it seems doubtful that they'd ever really give something like this too much air.--

EDIT::

I stand corrected, apparently even though they're using google groups and google code for hosting, OneGet was actually demoed at Build2014 and they're working with Chocolatey to get it working. I'm blown away at the amo0unt of commitment and effort already expended, it might be a new Microsoft after all!

<comment><USER5> There is no way of delivering classic Windows apps (non-Metro, that is) through app store. That might be fine for consumer users in a couple of years if there's a decent offering of great Metro apps, but I doubt Visual Studio is ever going to go Metro.

I don't think they need to invest billions in such thing, even acknowledging chocolatey and not making life worse for it is a good and useful thing for them to do.

</comment></comment></comment><comment><USER6> Those tools are great and all, but my setup usually involves more than just installing applications.

I have a huge pile of registry files which change a lot of windows behaviour. I have configuration files which need to be copied to the right places. I want certain shortcuts in certain places with certain icons. No tool is able to do those things nor are the ones who can do one of these very good or complete.

On paper it doesn't sound so complicated. Install these 12 applications, copy these dotfiles to $HOME, these to $SETUPLOCATION. Setup shortcuts and disable the Caps Lock Key, the Firewall and the Library function.

In reality I have a ton of tools stacking ontop of each other littering everything with package identification files. Tools which only download over the net because they act like package managers but probably fail because the network hasn't been setup (which they probably can't do on their own anyway). And if the application you want is not available you spent more time creating packages than the whole process would have saved you even if you ran it a hundred times. Tools which describe the whole process in lovely xml files. Modifications are chosen from a list and never have what you want and the scripting support for additional features looks more complicated than the lovely registry file that contains ""Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,01,00,3a,00,00,00,5b,e0,\ 00,00,5c,e0,00,00,00,00" which probably doesn't make sense to anyone.

</comment><comment><USER7> You have to put a lot of trust in this Chocolatey thing ... do we know who is behind this ?

The potential for a big security breach, especially in a Windows environment, is making me less enthusiast than I should be.

<comment><USER8> I've just started using Chocolatey and it's been a mixed experience. Overall, a speedy way to install software (no clicking, just type) but sometimes the packages are broken, so don't install, or don't include (for example) whatever is needed to be uninstalled.

I'm not sure if there's any auditing on packages, which look to be submitted by individuals or small teams to their "gallery." I have a few misgivings about that in the same way as some of the unofficial repositories on CentOS or Ubuntu (which I also use).

I'd like to recommend this in a production environment (I'm a config specialist at the moment ;) but I know what my manager would say. Useful at home though.

<comment><USER9> Actually I have used it in the past in a production environments to setup laptops for my former colleagues. Not only it installed stuff everybody needed anyway, it also did setup the printer (non-trivial for not so technical folks) and created some basic short cuts on the Desktop.

But I would assume that it behaves differently and fresh Windows installations and private installations that usually tend to be messier...

</comment></comment></comment><comment><USER10> How does Chocolatey cope with install options? The author's example script names a lot of programs to install but no further options for them.

If I install a bunch of programs with Chocolatey, will I end up with ten yahoo toolbars and a trial version of every antivirus product, because the bundled crapware for each app is installed by default?

<comment><USER11> You shouldn't be installing what is essentially scamware anyways.

<comment><USER12> Even JDK comes with some. I find the situation pretty hopeless.

</comment></comment></comment><comment><USER13> Hmm... so visual studio professional setup is that easy?

Don't you need a license key per windows instance or something?

I'm not dissing VS, I have 2012 and 2010 on my windows partition, just wondering if it's really that easy.

<comment><USER14> VS asks for a key the first time you run it.

<comment><USER15> Since 2013 it doesn't even do that. It connects to your MSDN-account to check if you have the required licenses.

At least mine does..

<comment><USER2> Same. It punches through to an account with licensing on it. Specific VS licensing, too, as our MSDN account doesn't offer anything other than the installer unless we opt to buy seats.

</comment></comment></comment></comment><comment><USER16> I am quite sure that you don't need steam for a workstation unless you really mean a home gaming/work computer setup.</comment>


Tesla – confirmed non-working items since Oct - <AUTHOR> https://forums.tesla.com/forum/forums/enhanced-ap-hw2-qa-lastest-firmware-1793-photos-notes-3102018 <comment><AUTHOR> Current confirmed non-working list on AP 2.0 ( all models since oct'16)

1\. Auto high beam dimming of the headlights

2\. Blind spot detection

3\. Auto emergency braking

4\. Lane departure warning

5\. Auto lane change

6\. Summon

7\. Auto transition to another freeway

8\. Auto freeway exit

9\. Auto wipers

10.headlight movement with steering</comment>


Ask HN: What app or type of app am I looking for specifically? - <AUTHOR> I am having a hard time articulating what I am looking for, but it's some combination of the following:
-Reminders every X minutes to take a break, stretch, look away from the monitor, etc.
-A way to log a thought - either during the break or during the period being timed
-A way to input what I did during the break, i.e., log events (took a walk, grabbed a soda, etc.)
-A way to get the data in something like CSV so I can slice and dice it
Can anyone recommend an app or app category to facilitate doing what I'm trying to do?
Will it require multiple apps, is this just not a thing?
At a high level it's a daily journal, at a lower level it's a pomodoro technique app with journaling capability? <comment><USER2> Well if you're looking specifically for pomodoro journaling, [https://pomotodo.com/intl/en/#apps](https://pomotodo.com/intl/en/#apps). There's an app for that.</comment>


How to plan application server capacity for an API endpoint - <AUTHOR> http://www.makuchaku.in/blog/how-to-plan-application-server-capacity-for-an-api-endpoint <comment><AUTHOR> Would love to hear your thoughts. Feel free to punch holes in my theory. Lets make the article better! Thanks!</comment>


I Wake You Up for the Presidential Debate – Scott Adams' Blog - <AUTHOR> http://blog.dilbert.com/post/152024526021/i-wake-you-up-for-the-presidential-debate <comment><AUTHOR> I want to explain why I have added this link.

Scott Adams is increasingly disappearing up his own behind and is showing some worrying signs of instability.

That's not why I have posted his article

Scott is seemingly supporting Trump - and is trying to explain away the horrible things Trump is saying as Clinton-propaganda. That's not why I am posting

Adams says he sees Trump as the only/best chance for change in a country that desperately needs it.

That's why. Not his obvious attempts to rationalise away the horror that is his candidate

I am slowly coming round to understand why we voted for Brexit. It's complicated but we can book it down to

\- for thirty years Britain has had obvious changes and improvements to make. And basically done none of them (am listening to "Yes Prime Minister")

\- Even "radical" politicians with huge mandates like Blair or Obama have become bogged down in politics as usual

\- Global inequalities donreach even into our western society

And yet we are not fixing things. Yes change is needed - and for some reason we cannot get there - so we hire or threaten to hire people who will burn the lot down and hope for a better fresh start

I bring warnings from the land of Brexit.

</comment><comment><USER2> Apart from all the other BS in the the posting the most worrying aspect is that he assumes that if you don't support Trump then you must be under the thrall of the Clinton's. He is essentially saying all non-trump supporters are suffering from a mass hallucination. So now disagreeing with someone politically means you are mentaly unstable?</comment>


Notion Ink's Adam tablet - possible release in time for Christmas - <AUTHOR> http://notionink.wordpress.com/2010/11/04/more-on-the-images-you-saw/

<comment><USER2> I'm still confused how this tablet gets so much hype, and I think of the Joojoo every time I see this promoted somewhere. Yes, it has a cool display, but it's very sparsely marketed, too many promised features are still in the alpha stage (browser tabs not past the wireframe phase?), and they're even cutting initial corners by having the community design their logo (a la Gap).

It doesn't help when entire corporate website consists of: "Every once in a while a revolutionary product comes along that changes everything!"

I'm all for innovation and it would be interesting for something to dethrone the iPad (which I use and enjoy daily), but something doesn't feel right with Notion Ink.

<comment><USER3> It has a PixelQi display. Realistically it isn't the Adam being hyped, it's the display. Most people don't cares about Notion Ink per se. they're excited about concept of actually getting their hands on a PixelQi tablet and Notion Ink seems to be the first company to actually deliver.

Is the software going to be buggy and incomplete? Probably. Is it going to be a serious threat to the iPad? Not a chance. But as long as the hardware does what it claims to do, that's good enough for me.</comment></comment>


You don't need to be good at math to learn programming - <AUTHOR> https://medium.com/@andyware/do-you-need-to-be-good-at-math-to-learn-programming-c0b69caad853 <comment> non-entity While I've beleived this for years, I've begun to doubt it and myself. I interact with many very intelligent developers in all sorts of online spots. People working kn very complex systems and projects, and most of them seem to have at least a solid handle of some mathematics fields.</comment>


The Mystery Behind the Biggest Bitcoin Transaction - <AUTHOR> http://motherboard.vice.com/read/the-mystery-behind-the-biggest-bitcoin-transaction-ever-made?trk_source=homepage-lede

<comment><USER2> There are a few things I don't quite understand here.

First, why bother cleaning up the spam? IIUC it has always been the case that miners are allowed to choose which transactions they do and don't include in a block. The idea is that as the block solving reward diminishes, there will be a market for transaction fees. If you set the fee high enough, many people trying to make a block will add it to their list. If the fee is not high enough, then nobody will add it to the list and it will take a _long_ time (possibly forever) to clear. Ignoring tiny transactions that have very small transaction fees seems like a completely reasonable thing to do to me... Is there a downside to this?

This leads me to another question. If a transaction never gets processed, can the original person get their money back? I suppose they can double spend and the transaction that gets processed first wins, but that seems like a risky proposition. It's been a while since I looked at the protocol, but I can't recall anything about cancelling transactions (and I don't know how that would work...). So if nobody decided to add your transaction to a block, do you effectively lose that money? That seems like an unacceptable situation, so I have to imagine that there is some work around that I haven't imagined yet...

Finally, if there is some way to cancel a transaction, then I suppose this can lead to a DOS attack by sending out lots of transactions and then cancelling them right away. While nobody needs to add a transaction to a block, I can't understand a way for the protocol to work unless the transactions are propogated to every miner so that they can at least choose what to add to their blocks. Is there anything in the protocol to limit the effect of someone simply flooding the network with worthless transactions? (Given the current problem, I'm guessing no...)

<comment><USER3> >First, why bother cleaning up the spam?

"to decrease UTXO bloat" from [https://www.reddit.com/r/Bitcoin/comments/3cgft7/largest_tra...](https://www.reddit.com/r/Bitcoin/comments/3cgft7/largest_transaction_ever_mined_999657_kb_consumes/csv9sgk)

(In short, all these transactions were in memory on full nodes, taking up valuable RAM space)

>If a transaction never gets processed, can the original person get their money back? I suppose they can double spend and the transaction that gets processed first wins, but that seems like a risky proposition. It's been a while since I looked at the protocol, but I can't recall anything about cancelling transactions (and I don't know how that would work...). So if nobody decided to add your transaction to a block, do you effectively lose that money? That seems like an unacceptable situation, so I have to imagine that there is some work around that I haven't imagined yet...

You can send another transaction with a higher fee, and it's up to miners themselves whether they'll mine the new one. By default, Bitcoin Core currently has a "first-seen" policy; a miner will ignore any transaction that spends outputs already in the mempool. There are also some miners running the "replace-by-fee" patch [0], which does exactly what it sounds like; however, there's opposition to this being merged to Core [1]. There's also talk of a "child pays for parent", also exactly what it sounds like.

>Finally, if there is some way to cancel a transaction, then I suppose this can lead to a DOS attack by sending out lots of transactions and then cancelling them right away. While nobody needs to add a transaction to a block, I can't understand a way for the protocol to work unless the transactions are propogated to every miner so that they can at least choose what to add to their blocks. Is there anything in the protocol to limit the effect of someone simply flooding the network with worthless transactions? (Given the current problem, I'm guessing no...)

There's no way directly to cancel one, no "cancel" message in the protocol, so your first point doesn't matter.

See also [2] and [3] for stuff on DOS protection.

[0] [https://www.reddit.com/r/Bitcoin/comments/235zv5/why_you_sho...](https://www.reddit.com/r/Bitcoin/comments/235zv5/why_you_should_mine_with_replacebyfee_a/) [1] [https://medium.com/@octskyward/replace-by- fee-43edd9a1dd6d](https://medium.com/@octskyward/replace-by-fee-43edd9a1dd6d) [2] [https://en.bitcoin.it/wiki/Weaknesses#Denial_of_Service_.28D...](https://en.bitcoin.it/wiki/Weaknesses#Denial_of_Service_.28DoS.29_attacks) [3] [https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposu...](https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures)

</comment></comment><comment><USER4> Yes, article is a little confused. For actual information about the transaction, see [https://news.ycombinator.com/item?id=9861508](https://news.ycombinator.com/item?id=9861508)

<comment><USER5> I read both articles and though I don't understand the mechanics involved I'm left with a big question: Could a a well-financed actor (state or otherwise) simply crash bitcoin with spam?

<comment><USER6> Exactly. One of the chief benefits of BitCoin is that you can act in an anonymous manner if you perform your transactions in a careful way. This means it is inherently open to being collapsed by a powerful actor that has the resources and will to attack. Certainly a state but I suspect a relatively small group could do the same.

Being found out as the source of an attack is the biggest deterrent. Without the deterrent the temptation for a vested interest must be a magnitude higher.

<comment><USER7> >Being found out as the source of an attack is the biggest deterrent.

It doesn't seem like much of a deterrent. Suppose we knew for a fact that the attacker was John Smith in Chicago. How would that deter them?

<comment><USER8> Because it's a crime that you can go to prison for. And all of the damaged parties could sue you.

<comment><USER9> It's not a crime to create many small transactions...

<comment><USER8> It is if you do it with the intent to defraud people or to make a service inaccessible. Same thing with a denial of service attack. It's not illegal to visit a webpage, but it is illegal to visit a webpage millions of times per second to bring the server down.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is kind of a silly article. There's a huge amount of dust spam in the blockchain. This particular tx looks to me like somebody paying a tiny bit to clean up some of the easy-to-clean txs. It's not some gigantic mystery.

The linked core dev chat even says something along the lines of "appreciated, but not the most important thing to do right this second".

That single transaction cleared out lots and lots of spam, but there's lots more to go, apparently: a comment on the dev logs notes that there's more than 200k more dust spam txs in those addresses.

As a side note, Blockchain.info isn't super easy to deal with for txs this large; I wouldn't trust all the data on the page to be accurate.

</comment><comment><USER11> > Maybe it's even Satoshi Nakamoto _herself._

Well done.</comment>


Cloudflare Warp - <AUTHOR> https://blog.cloudflare.com/get-started-with-warp/ <comment><USER2> This looks like a ngrok competitor. Am I missing something or is this essentially the same kind of service?

<comment><USER3> my read as well. waiting for others to weigh in to see what I am missing.</comment></comment>


Ask HN: Anyone using RethinkDB for log analysis? - <AUTHOR> http://www.rethinkdb.com/screencast/?oneyearlater

<comment><USER2> This looks like it should maybe be an ask HN post.</comment>


Accessibility Through Semantic HTML - <AUTHOR> https://24ways.org/2017/accessibility-through-semantic-html/ <comment><USER2> We have people in the "reality-based community"[0] like Ms. Kalbag posing the fairly rational question of, "Why not go semantic and let the browsers figure the rest out?"

Then the "empire" _acts_ , and makes an overcomplicated mess of dancing text, XSS, 3rd-party cookies, popovers, and _dickbars_ [1].

Then as the rest of us are studying that reality--judiciously, as we will-- Google/Apple/Mozilla will act again, creating other new realities, which we can study too, and that's how things will sort out.

[0] [http://www.nytimes.com/2004/10/17/magazine/faith- certainty-a...](http://www.nytimes.com/2004/10/17/magazine/faith-certainty- and-the-presidency-of-george-w-bush.html) [1] [https://daringfireball.net/2017/06/medium_dickbars](https://daringfireball.net/2017/06/medium_dickbars)

<comment><USER3> I don't see how "the empire" has anything to do with the viability or non- viability of semantic HTML.

Would you mind clarifying? If you're making a point I don't understand it.

<comment><USER2> The people working on the major browsers aren't fools. If they were optimizing to get _meaning_ across, they'd have done one hell of a better job than half- readable, non-accessible mess we have now that requires _megabytes_ of divs and classes to markup, and a _supercomputer_ to render.

Point being that the "empire" does not give a hoot about _meaning_. Their priorities lie elsewhere.

edit: Example. One day Steve Jobs just felt like flash didn't belong on his platform. At the time, flash was _everywhere_. Where is it now? I'm not shedding a tear for it--just using it as example of what a top-down enterprise the web _actually is_ compared to what some people would like to think.

<comment><USER3> Do you mean Google? Whoever makes the CSS spec? Who or what exactly are you railing against, other than "shitty web design"?

Shitty web design is shitty web design. Google and Mozilla themselves didn't make the Smithsonian Magazine site a bloated monstrosity, nor can I think of a reasonable way for a browser to prevent sites from sucking without ruining the "non-geek" user experience on better-behaved dynamic sites and web apps.

Anything not supported by HTML or CSS directly will inevitably be implemented in Javascript. We've already been there.

<comment><USER2> I'm "railing" against the platform itself. I've had a web browser and a broadband connection since the late '90s.

Unwanted _popups_ still happen. Cross-site-scripting attacks are _still_ a thing. Canvas fingerprinting is _still_ a thing, albeit a newer one. Sites I visit can _still_ track me across other properties unless I jump through a number of hoops. Content creators are _still_ largely not being compensated for their work. Half the sites I visit are practically unreadable _for me_ , and my eyesight is pretty damn good.

The big companies like Google or Apple could have stopped a few of these races to the bottom in their tracks--just like Jobs did to Flash--but they haven't, for, umm, reasons...

[https://web.archive.org/web/20170706120427/https://www.tedun...](https://web.archive.org/web/20170706120427/https://www.tedunangst.com/flak/post/a-prettier- web-not-a-thicker-one)

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

</comment></comment></comment></comment></comment><comment><USER4> From a brief reading (apologies if I missed something):

Author cherry picks one of the few elements where the "semantic" issue actually results in different browser behaviour.

They then go on to extrapolate this to a broader point that isn't sustainable based on that example. For instance - div vs section has no effect on functionality to the best of my knowledge.

I suspect there are more examples of cases where semantic HTML is pointless cargo-culting than there are of when it makes a real difference to any existant user agent.

<comment><USER3> Well, the point about screen readers is far from cargo cult design.

<comment><USER5> Someone should write a screen reader which actually worked and didn't rely on people doing the right thing.

Screenshot the webpage -> Neural Network to segment the page and decide what is the navigation -> text extraction from image, with corrections from (rendered) HTML source.

All the parts are there and work better than existing screen readers.

<comment><USER3> OK, go ahead and build one why don't you? Yes, neural networks for sequence tagging are getting better, but if the problem were so trivial it would have been solved by now.

But that's beside the point. Your comment is like saying "They have powered exosuits now, so why do we still need to put ramps on buildings for people in wheelchairs?"

I can only hope that your level of apathy and contempt is not shared by more web designers.

<comment><USER6> Life will get a lot better for the handicapped when engineers care enough to offer them real mobility. Currently they're supposed to be happy to make do with devices developed in the 1930s. I suspect the first engineer to care enough will be someone like Herbert Everest.

<comment><USER5> Yes this is my point too.

That reaction is pretty disappointing really. It's the "crutches are fine, why should they want artificial limbs" that is really kind of insulting.

<comment><USER3> On the contrary, I'm just trying to acknowledge that artificial limbs are not here and available for the masses just yet.

<comment><USER5> _I can only hope that your level of apathy and contempt is not shared by more web designers._

Words like "apathy and contempt" do not seem to be "just trying to acknowledge that artificial limbs". Instead they are directly saying that people who hope for artificial limbs are apathetic and have contempt for the problem.

In-fact the complete opposite is true.

<comment><USER3> People who hope for artificial limbs _and sneer at attempts to make things more accessible in the meantime_ , yes.

When the tech is both widespread and affordable, you can start designing for the tech.

Don't even understand what bothers you so much about making pages more screen- reader-accessible in the first place. Great, I'm glad that you have experience in this area and can attest to the fact that screen readers don't always work even when HTML is semantic. But why are you actively resisting semantic HTML?

It sounds to me like you're saying, "It doesn't work well, so we shouldn't usw it at all." What would you prefer, div soup?

It doesn't even need to be the case that semantic HTML is a killer solution for screen reader users. Just needs to be better than nothing once you net costs and benefits.

So I'm genuinely curious: when is it better to not use semantic markup? Or when does the cost of using it become prohibitive?

<comment><USER5> Who sneered at attempts to make things accessible?

 _So I 'm genuinely curious: when is it better to not use semantic markup?_

It never is - but nevertheless it happens all the time. Perhaps you hadn't noticed it was exactly what this article was about?</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Chat Systems - <AUTHOR> https://xkcd.com/1810/ <comment><USER2> This was a solved problem 15 years ago with multi-protocol clients like LICQ, Gaim/Pidgin and Trillian. Maybe it's harder these days to keep up with the engineers at Facebook, Google and Microsoft but surely simple texting can't be that hard.

I note that the Slashdot submission [1] of this link suggests we need a new, universal protocol, to which the only answer is another XKCD comic [2].

[1] [https://yro.slashdot.org/story/17/03/13/2054207/ask- slashdot...](https://yro.slashdot.org/story/17/03/13/2054207/ask-slashdot-how- would-you-solve-the-instant-messaging-problem)

[2] [https://xkcd.com/927/](https://xkcd.com/927/)</comment>


AT&T mobile users are unable to access Tutanota - <AUTHOR> https://tutanota.com/blog/posts/att-blocks-tutanota/ <comment><USER2> This guy is making a huge jump from "it's not working" to "AT&T is actively blocking us - NET NEUTRALITY NOW!" without any evidence to back him up.

The available evidence (only being blocked in Chicago) would actually point to a technical issue as opposed to an intentional block.

<comment><USER3> also, it indicates that their infrastructure probably lacks redundancy. they don't sound like someone i would want to pay to handle my mail.

</comment></comment><comment><USER4> While I support net neutrality, part of me thinks this is just Hanlon's Razor[1]

[1] [https://en.wikipedia.org/wiki/Hanlon%27s_razor](https://en.wikipedia.org/wiki/Hanlon%27s_razor)

</comment><comment><USER5> At the very least they got a sign up. I just tested on my AT&T phone on Montana and had no issue creating an account and accessing the mailbox.

What's special about Chicago?

<comment><USER6> The fact that it's only in Chicago makes me think it's an AT&T error e.g. with BGP or internal routing rather than something intentional.

We have our four core ZeroTier root servers on different providers at different data centers for this reason. Entire data centers or cloud regions becoming unreachable from a certain ISP in a certain area for a period of time is not all that uncommon.

In case you don't know: the core of the Internet is basically a ball of chewing gum, duct tape, glue, twine, and carrier pigeons maintained by grumbling BGP admins.

<comment> jagged-chisel I ... no, I don't think it's quite as elastic as chewing gum.

</comment></comment></comment><comment><USER7> I'm not sure how this is a net neutrality issue.

Sounds more like a routing misconfiguration that AT&T can't pin down.

</comment><comment><USER8> I'm not clear that this is actually a Net Neutrality issue rather than a routing issue. Perhaps there is a way to solve this with DNS, routing connections to a different place. Maybe this is a failure of the infrastructure that supports the service. Use DNS to help ATT get connections to the right place.

</comment><comment><USER9> Tutanota is a giant spam source. I'm not surprised they are being blocked. This isn't about net neutrality at all.

</comment><comment><USER10> Att mobile uses ipv6, and ive been having trouble getting to bbs.boingboing.net recently.

Traceroutes to it and www.tutanota.com seem to die in similar or the same place.

2001:1890:ff:ffff:12:122:2:225

Which both last end there currently. Last two not octets were different. Few minutes ago.

I don't know enough about ipv6 to diagnose further, or how to force my phone to ipv4 on lte.

<comment><USER11> We at Discourse (hosting of bbs.boingboing.net) spent quite some time tracking this and also found the same, SSL fails on AT&T IPv6.

We are tracking it here [https://meta.discourse.org/t/cannot-reach-one-forum- on-at-t-...](https://meta.discourse.org/t/cannot-reach-one-forum-on-at-t- mobile/141184?u=falco)

<comment><USER10> Yes I saw, I'm one of the boingboing users mentioned. I don't have a discourse account yet, but if there's any info I can provide to help resolve this, I am happy to do so. Intend on signing up soon to monitor on meta.

</comment></comment></comment><comment><USER11> AT&T mobile is also blocking SSL connection to our hosting service at Discourse.

[https://meta.discourse.org/t/cannot-reach-one-forum-on- at-t-...](https://meta.discourse.org/t/cannot-reach-one-forum-on-at-t- mobile/141184?u=falco)

</comment><comment><USER12> Silly Germans, AT&T is always busted.

BTW, if these tutanota guys were smart, they'd be pitching their services to AT&T instead of dragging them through the mud.

Last I checked, AT&T had subcontracted Yahoo as their mail handler. Nowhere to go but up from that mess...

</comment><comment> kube-system Is there any indication this was intentional?

<comment><USER13> Nope. Author made a big leap from "it doesn't work for some folks" to "omg we're being actively blocked by an ISP! get out your pitchforks everyone!"

<comment><USER14> Smart, though. No way this makes the front page of HN without blaming Net Neutrality violation.

<comment><USER13> No, it's not smart. It's clickbait, and "hacker" "news" eats it up, every time.

</comment></comment></comment></comment><comment><USER15> Time for ISP's to be under Title II (not that it would matter in this case).

</comment><comment><USER16> rarbg.to also doesn't work with AT&T.</comment>


NoFlo – Flow-Based Programming for JavaScript - <AUTHOR> https://noflojs.org/ <comment><USER2> I spent a bit of money a few years back with this project and life became chaotic - since then I haven't really thought about or hear about noflow, FlowHub, constraint based CSS, or TheGrid. I see it's still under active development. Anybody using NoFlo in prod?

<comment><USER3> Funnily enough that exact same thing happened to me. I funded their Kickstarter (or was it Indiegogo?) and then never checked it out properly...

<comment><USER2> I think I'm still owed an NFC trinket

</comment></comment></comment><comment><USER4> A Nix/Rust project with started out with similar aims: [https://github.com/fractalide/fractalide](https://github.com/fractalide/fractalide)</comment>


Ask HN: How to display a large number of images speedily? - <AUTHOR> I'm trying to load about 700 to 1000 images on a page. I'm a newbie when it comes to front-end dev. Here's what I've done so far:
* Optimized the images (~250 kb/image) * created thumbnail versions (& load full versions in a modal) * added lazy loading
It's deployed on netlify, but it's still not quite snappy. If possible, I'd like to avoid pagination.
What else can be done to load images faster? <comment><USER2> Are you lazy-loading your (thumbnail) images? this js library seems to be highly recommended by its author: [https://github.com/ApoorvSaxena/lozad.js](https://github.com/ApoorvSaxena/lozad.js) but I don't have any experience with it.

If users typically view the full images sequentially, then a lightbox that preloads the next image(s) may help with perceived performance.

<comment><AUTHOR> thanks, I'll check out that library. I'm using blazy ([https://github.com/dinbror/blazy](https://github.com/dinbror/blazy)) right now.

</comment></comment><comment><USER3> The first problem you have is that this is a lot of data. You are talking 250 MB or so worth of images. If you use JPEG, you can get images very small at the cost of image quality. There are also tools like PNG Gauntlet that will reduce PNG sizes; one thing that tool will not do is convert an RGB image to a limited palette and then store it as indexed. Sometimes that works wonders. Both Google and Microsoft have image formats that compress better than PNG, but they don't support each other's formats.

In your case I would consider some kind of "infinite scroll" gimmick like Twitter. Maybe you load the first 5 images and as the user scrolls down you load more.

<comment><AUTHOR> yeah, that's what the lazy load plugin is doing right now.

does that mean pngs are preferable to jpegs?

</comment></comment><comment><USER4> Lazyloading is good, I've written a pretty speedy lazyloader myself that also works for CSS background images, but serving up lo-fi thumbnails when many images are displayed at once is something I tend to do regardless.

Lazyloading often works by checking if an image element is in the viewport — if so, the _src_ attribute is added dynamically and the image is loaded as soon as this is complete.

However, if the user scrolls quickly or has a large screen, lots of images may be loaded simultaneously — and if those images are all fairly large, this may cause some performance problems.

You could try using _requestAnimationFrame_ to load images one-by-one, but at the fastest possible rate, i.e. to stagger the loading of images. You could do this by listening for the 'load' event on each image in order to trigger the loading of the _next_ image.

Assuming you store the image URL in a data attribute like 'data-src', a simple, vanilla implementation of what I just described might look like this:

        /*
          In production, we would throttle or debounce this scroll handler,
          but for brevity we'll just attach it directly:
        */
        window.addEventListener('scroll', function () {

          var all_imgs = document.querySelectorAll('img[data-src]');

          // [].slice.call to convert qSA's NodeList to an Array
          var visible_imgs = [].slice.call(all_imgs).filter(function (img, index, arr) {
            /*
              your logic for determining if the image is in the viewport would go here
            */
          });

          return loadImages(visible_imgs);
        }, false);

        /*
          This function will work by being passed an array of images
          that were in the viewport at the time of the scroll event
          triggering, and will call itself recursively until all
          of those images are loaded.
        */
        function loadImages (imgs) {

          if (imgs.length < 1) {
            return;
          }

          return requestAnimationFrame(function () {

            imgs[0].src = imgs[0].getAttribute('data-src');

            // remove the data attribute so that the image isn't loaded over and over again
            imgs[0].removeAttribute('data-src');

            imgs[0].addEventListener('load', function () {
              return loadImages(imgs.slice(1));
            }, false);

            imgs[0].addEventListener('error', function () {
              return loadImages(imgs.slice(1));
            }, false);
          });
        }

NB: I have not really tested this approach or the code above, I'm shooting from the hip here because I'm in transit right now — but if it does work, it might help improve _perceived_ performance. Or it might make everything look even slower in which case I'm an idiot.

</comment><comment><USER5> All those http requests cost so maybe combine the thumbnails into a few sprites consisting of 64x64 graphics?

<comment><AUTHOR> would you combine, then split it in the browser? is there an example?

interesting, I've never heard of this approach.

<comment><USER5> You have one huge image and then use css to "extract" the graphics as needed, please see [https://css-tricks.com/css-sprites/](https://css-tricks.com/css- sprites/)

<comment><AUTHOR> ah got it, thanks</comment></comment></comment></comment>


Ask HN: What is the best free affiliate tracking system? - <AUTHOR>

Hello, i would like to set up affiliate partnership for my project and I am looking for some good free solution to handle all my affiliates, see statistics, etc. <comment><USER2> There is no such thing as free affiliate tracking. Maybe you'll find some shoddy free software, but that's only one piece of the puzzle. To run the program yourself, you need to factor in the time it will take you to:

\- Recruit and sign up affiliates

\- Collect W9s and other tax forms from each new affiliate and organize/file those documents safely and securely

\- Monitor the affiliate sales daily for signs of fraud and abuse from people trying to do things like earn a commission for sales that didn't occur, cookie stuff people with hidden images in forums and adware to steal legitimate affiliates' commissions, etc.

\- Keep the books on all affiliate commissions due

\- Cut and mail the checks to affiliates all around the world

\- Handle customer support for the affiliate program -- how to use your affiliate software, how to set up the tracking links, what your cookie policies are, payment policies, delayed and lost payment checks, terminating people that violate your terms and handling their complaints afterwards

\- File the 1099-MISC forms with the affiliates and the IRS at the end of the year

In the end, letting an affiliate network take care of all that might be worth the small fee they charge. I can highly recommend Shareasale for one, which charges 20% of the commission (not 20% of the sale) you pay to affiliates as their commission. For example, if you are paying a 10% commission on sales, and someone buys a $50 item, the affiliate earns $5, and you pay Shareasale $1. In return for that $1, they take care of _everything_ in the list above.

<comment><AUTHOR> Hello, I have a good experience with Post Affiliate Pro. But your link to Shareasale is helpfull. thank you.

</comment></comment><comment><USER3> I've heard good comments on iDevAffiliate.com</comment>


How to Improve Walmart Advertising Campaigns - <AUTHOR> https://jungletopp.com/walmart-advertising/ <comment><AUTHOR> By utilizing the "Set Total Budget" option on the Walmart Advertising Platform, it automatically uses the budget without having to monitor it. What do you need to know to get started?</comment>


Spying on a Ruby process's memory allocations with eBPF - <AUTHOR> https://jvns.ca/blog/2018/01/31/spying-on-a-ruby-process-s-memory-allocations/ <comment><USER2> One of the nice things I've found about running ruby code on jruby is having all the great profiling tools.

Eg VisualVM

I think it was just a case of passing a JRUBY_OPT option and opening a port on my container.

</comment><comment><USER3> As someone who's really interested in eBPF (tiny in-kernel vm..tell me more) but has never looked deeper than a few LWN articles, what are the advantages of an eBPF approach to this problem? You could achieve the same thing with ptrace, right? I've heard performance is good. Is the main advantage that eBPF already has _interesting_ hooks for you to build off of whereas you'd basically have to write a ruby debugger (or do something invasive) to achieve the same result traditionally?

 _edit:_ ptrace not pattach

<comment><USER4> Do you mean ptrace? One of the advantages of eBPF is that it runs in the kernel so you don't need to context switch to another user space process. A number of syscalls are significantly cheaper than a user space context switch. The rr debugger[0], which needs to process all syscalls, uses an eBPF based filter to select certain simple syscalls for in-process handling and avoid context switching through ptrace.

[0] [http://rr-project.org/](http://rr-project.org/)

</comment></comment><comment><USER5> Very well written and simpler explanation of eBPF. @brendangregg you should add a link to this from your Linux performance blog along with all the other great stuff.

I am still unclear about the copying maps to call Ruby class name function. Might have to give that a reread.

</comment><comment><USER6> Is this a security risk? It looks like a Spectre (as in: Reading other process memory) build in by design.

<comment><USER7> eBPF has a _verifier_ to ensure that (Apart from other things) programs don't access memory they aren't supposed to.

<comment><USER8> Worth noting though that one of the Spectre PoCs actually used eBPF in order to access kernel memory! Though of course, of the CPU were working correctly, this wouldn't be a big deal.</comment></comment></comment>