HN user

hexagonc

375 karma
Posts20
Comments200
View on HN
www.androidheadlines.com 9y ago

Numbers Show That Uber's Self Driving Cars Are the Worst

hexagonc
1pts0
www.australiangeographic.com.au 9y ago

Australia's Beer-Loving Jewel Beetle

hexagonc
1pts0
arstechnica.com 9y ago

How being replaced by a machine turned this graphic artist into an activist

hexagonc
1pts0
news.ycombinator.com 9y ago

Ask HN: Most influential books you read growing up

hexagonc
26pts25
www.bbc.com 9y ago

Men may have evolved better 'making up' skills

hexagonc
2pts1
www.youtube.com 9y ago

Y Combinator Needs to Teach Better Business Communication Skills

hexagonc
2pts1
www.naceweb.org 10y ago

Average Starting Salary for Class of 2015 Climbs 5.2 Percent

hexagonc
1pts0
arstechnica.com 10y ago

Prominent Climate Scientist Critiques Obama's Paris Plan

hexagonc
2pts0
vimeo.com 10y ago

Nuclear bomb with real audio and audio reconstruction

hexagonc
1pts0
www.bbc.com 10y ago

The Coldwar Nuke That Fired Satellites

hexagonc
1pts0
arstechnica.com 11y ago

George R R Martin Developing Sci-Fi Series for HBO

hexagonc
1pts0
www.bbc.co.uk 12y ago

Digital frog rots before your eyes

hexagonc
2pts0
www.bbc.co.uk 12y ago

Small animals perceive time slower than larger animals

hexagonc
2pts1
www.bbc.co.uk 12y ago

Birmingham opens £189m library

hexagonc
1pts0
news.uic.edu 13y ago

AI System With IQ Comparable to 4 Year Old

hexagonc
2pts1
www.natureworldnews.com 13y ago

Microbes will be only life on earth after 2.8 billion years

hexagonc
4pts0
arstechnica.com 13y ago

What does your cat do when you're not around?

hexagonc
1pts0
news.nationalpost.com 13y ago

Do It Yourself Brain Stimulation has Scientists Worried

hexagonc
104pts115
www.bbc.co.uk 13y ago

Intelligence linked to ability to ignore distractions

hexagonc
1pts1
www.youtube.com 13y ago

Object Oriented Programming from Co-Creator of Smalltalk

hexagonc
4pts0

Although some of my analogies were a stretch, I think it might be valuable to regard these types of manipulation as hacking. If nothing else, to make us aware of our own susceptibilty to con artists, fake news and government influence. The reason these techniques are effective are very similar to the reasons hacking methods of computers are effective; they take advantage of systems that evolved or were built for one purpose in order to use them for another, often to the detriment of the victim.

For example, the existence of optical illusions and stage magic are a necessary consequence of particular limitations of our visual system and attention. One could predict the existence of new, never before seen optical illusions purely from knowledge of the way the brain processes visual stimuli. For more information on this, see the works of Roger Shepard[1][2] who did a lot of research into the psychology of perception and mental representations.

This has ramifications for not just human psychology but artificial intelligence. If we want to build a computer system or robot that can process visual information quickly like humans and animals do, then we may very well have to program them with the same simplifying assumptions that humans and animals use to make rapid visual processing tractable[3][4]. A consequence of this may be that these computer systems will be subject to the same optical illusions as humans as a necessary consequence of limited attention and computational resources. Furthermore, the misperceptions that make stage magic possible may be possible to induce in any system that can only pay attention to a subset of the visual stimuli given and that must make assumptions about the intentions of the subject being viewed. These assumptions and inferences are usually accurate under ordinary circumstances when the subject is not trying to deceive the observer, but a clever subject could engineer circumstances where the observer has no choice but to be either deceived or accept that their perceptions have no logical explanation -- hence the woman appears to be sawed in half even though we know this is unlikely; there is no visual information to disprove that she was (the lack of blood is evidence that she wasn't sawed in half but this is only evidence from our past experience with people being cut by blades).

We are susceptible to influence by fake news and celebrity product endorsement due to our evolved preference for information coming from "authority figures" and sources that agree with our existing views[5]. Now, normally one may hesitate to call exploiting these systems "hacking" because the exploiter often doesn't know that that is what they are doing just as someone may stumble upon a new computer exploit without knowing exactly why it works.

Again, I would argue that it may be to our advantage to think of the targeted exploitation of these innate tendencies as a type of "hacking" if only to make it more likely that we can avoid being influenced to beliefs and behaviors that may not be in our long term best interest.

[1] http://im-possible.info/english/art/classic/shepard.html

[2] http://rumelhartprize.org/?page_id=110

[3] http://ilab.usc.edu/publications/doc/Miau_etal01spie.pdf

[4] http://www.sciencedirect.com/science/article/pii/S0004370202...

[5] https://en.wikipedia.org/wiki/Authority_bias - see also https://en.wikipedia.org/wiki/List_of_cognitive_biases

I would argue that humans are quite easy to hack although perhaps not in the way you were thinking. Our perceptions are quite easily and reliably hacked even when we know it is happening, as demonstrated by the success of stage magic and optical illusions[1]. At one point, there was a great deal of fear that companies and adversaries could influence large groups of people with subliminal messages[2]. Although the efficacy of these techniques are somewhat in doubt, on a more mundane level, most people are used to attempts by advertisers and marketers to subvert our desires and preferences to buy certain products. A great deal of research and money has been spent on essentially hacking our desires and exploiting our brain's response to intermittent reward and social cues. This has brought us product placement in movies, celebrity endorsements and video games that produce changes in the brain not much different from those found in drug addicts. Scientists have engineered fast food to exploit our evolutionary desire for sugars and fats -- something that was good at one point but now serves only to make us and fast food executives' wallets fat. I would consider all of these a type of human hacking simply due to the reliability of their effect, if not on an individual level, certainly on groups of people.

[1] https://en.wikipedia.org/wiki/Optical_illusion [2] - https://en.wikipedia.org/wiki/Subliminal_stimuli

It's just so sad. I like gadgets as much as anyone and consider myself a technology enthusiast, but there's got to be a way to engage kids on smartphones other than games. One of my on-again-off-again side projects has been to create an Android app that allows kids to create their own simple programs and games for their smartphones without needing a computer.

Getting Started with Electronics -- wow! I think I read that one as a kid, as well. I grew up in the eighties so Radio Shack was still (I think) a good place to buy electronic components and equipment. I remember the electronics kits and educational books that they had. A lot of the Radio Shack electronics books were printed on graph paper and looked like they were taken directly from an engineer's lab notes, informal font style and all. As a kid, I remember being bemused by this style since I had not seen it used anywhere else.

I'll start by posting my own list of influential technical books:

The Paradoxicon [1] by Nicholas Falletta. As described in question above.

Computers and the Imagination by Clifford A. Pickover [2] - This book is filled with mathematical and computer related curiousities! I learned about fractals, and chaos, computer generated art and poetry and a whole bunch of, at time, interesting mathematical trivia. This is probably the first book that got me seriously interested in computer programming. This was basically an activity book for mathematics and computers.

Methods of Logic by W.V. Quine[3] - This stimulated my interest in symbolic logic and symbolic computation. I didn't read the whole book but I read enough to write a program on my HP-48 GX graphicing calculator to simplify symbolic propositional logic statements.

Artificial Life: A Report from the Frontier Where Computers Meet Biology by Steven Levy [4] - This was my first exposure to celluar automata in the form of John Conway's Game of Life. This books also inspired me to write a Game of Life program on my HP-48 GX.

God and the New Physics by Paul Davies [5] - I learned about the big bang theory and singularities and how the universe could exist without being created from this book. This may be the single most influential book I've ever read. It spurted my interest in physics and cosmology and was probably single-handedly responsible for my loss of religion.

Flim-Flam! by James Randi [6] - This is the book that made me a skeptic. Before reading this book around 6th grade, I was a hardcore believer in the occult. In fact, I had already read the Uri Geller book by Puharich [7] and happened to find this book in the same occult section of the library.

The Mind by John Rowan Wilson [8] - My 5th grade teacher happened to have this book in her classroom and let me borrow it. I had a hard time giving it back and decades (well, maybe one decade) later I somehow managed to track it down and buy it again. The book is from the 1960s, but there are some really good illustrations in it and I learned about Grey Walter and his robot tortoises from this book.

Creative Sciencing: Ideas and Activities for Teachers and Children by Alfred Devito [9] - This book is just awesome! My mom was a teacher when I was growing up and I remember finding this on the bookshelf that we had at home. There are lots of very fun science projects in this book. I won't claim to have done very many of them, but my favorite was the "rubber-band mobile" [10]. Although I love technology and gadgets and computers, it still saddens me that the desire for physical experimentation has waned in kids these days.

There were definitely other technical books that I loved but these are the ones that I think were the most influential as far as my career choices and outlook on life. They are not necessarily the best in their class and most are outdated now.

[1] - www.goodreads.com/book/show/2521223.The_Paradoxicon

[2] https://www.amazon.com/Computers-imagination-Visual-adventur...

[3] https://www.amazon.com/Methods-Logic-Willard-Orman-Quine/dp/...

[4] http://www.goodreads.com/book/show/737831.Artificial_Life

[5] http://www.goodreads.com/book/show/263006.God_and_the_New_Ph...

[6] http://www.goodreads.com/book/show/662277.Flim_Flam_

[7] - find it yourself, I'm not providing links to this trash!

[8] http://www.goodreads.com/book/show/1135687.The_Mind

[9] https://www.amazon.com/Creative-Sciencing-Activities-Teacher...

[10] - take a spool of thread and push a rubber band through the hole in its center, allowing the ends of the rubber band to protrude from both ends of the spool. On one end, slide a short matchstick through the rubber band loop, thus preventing the rubber from being pulled all the way through the spool. Create a washer out of hard bar soap or candle wax and carve a grove along its flat disk side. On the other end of the spool, thread the remainig rubber band loop through the soap washer and hold it in place with another match stick, allowing the match stick to settle into the grove that was cut in the soap washer. You now have a spool of thread with a rubber band threaded through the middle and held in place by a matchstick on one end and a soap washer and another match stick on the other. The matchstick on the soap washer acts as a key for winding up the rubber band, which itself acts like a spring. After winding the key up for 10 or 20 turns, place it on a table or any other flat surface. As the tension unwinds the rubber band, it also rotates the spool, causing the entire contraption to move.

Java Without If 9 years ago

I think the semantics of "map" are quite a bit more specific than "for". For one thing, "map" functions have a return value which is usually the same length as its argument, which is usually a sequential data-structure. On the other hand, "for"-like functions or statements cannot or do not return values. True, if you ignore the return value from "map", it usually works the same as a "for" loop but the opposite is not true. The return value from 'map' is all the difference in the world and allows chaining of transformations amongst other things.

Read Complex Worlds from Simpler Nervous Systems[1] if you want more information on how very complex behavior can emerge from jumping spiders and bees. After reading that book, it seemed to me that AI researchers should focus much more time on duplicating the feats of these simpler animals (in similarly computationally limited contexts) rather than focusing on duplicating extremely high level human faculties like reasoning and even playing Go. I mean, imagine a robot with the intelligence of a parrot or the smartest birds in the corvidae family[2]. I think people would probably be afraid of autonomous robots of this level of intelligence.

[1] https://mitpress.mit.edu/books/complex-worlds-simpler-nervou...

[2] https://en.wikipedia.org/wiki/New_Caledonian_crow

I would also suggest anyone that is interested in BEAM robotics to take a look at Braitenberg Vehicles[1]. These are simple reflex-based robots that can exhibit complex behaviors due to their interaction with their environment. Originally, they were thought experiments by the psychologist Valentino Braitenberg who showed in his book, Vehicles[2], how one might ascribe complex emotional and mental states to a simple automaton if one only observed its external behavior. For a fascinating earlier example of analog robotics, (and the first example of true autonomous robotics to my knowledge) one has the work of Grey Walter and his "tortoise" robots[3].

[1] https://en.wikipedia.org/wiki/Braitenberg_vehicle

[2] https://books.google.com/books?id=7KkUAT_q_sQC (there appears to be excerpts available for free as pdfs)

[3] https://en.wikipedia.org/wiki/William_Grey_Walter

Basically, you just wrote nearly (exactly?) what I wanted to write. I'm good at algorithm problems. I LIKE algorithm problems, but having someone watching me on a whiteboard in a high pressure situation diminishes my abilities. At a minimum, it is a distraction. If it is an easy or familiar problem then it usually doesn't matter and we can discuss the solution and I might even want to talk about it. But if it is a tricky problem -- and a lot of tech companies intentionally give problems that are tricky or vague or superficially easy -- then I need to use my natural process for systematically and rigorously tackling tricky problems. I'll still probably finish it in a half hour and we can still talk about the solution and discuss improvements but let me work on it alone first.

One thing I've found from technical interviews is that, due to the pressure to speak and communicate and "show my thoughts", I'm more susceptible to falling prey to trick and vague questions that I would otherwise treat more carefully. This is consistent with scientific results on the way people respond the pressure situations[1]. They tend to fall back on what is familiar instead of trying approaches that may be better. Working alone, there is no fear of judgement if I need to try an unusual strategy[2] that may not work or if I need to backtrack. Let me dabble and doodle on my own sheet of paper and iterate rapidly over whatever comes to mind freely.

Furthermore, turning problem solving into a theatrical event unavoidably increases the cognitive load on an interviewee simply due to the fact that you have to make more decisions. You have the technical decisions like data structures and algorithms which are normal and expected, but on top of that, there are all these non-engineering decisions that you have to make because they want you to talk about how you're solving the problem in real time. Should you mention some fancy algorithm or approach that you are considering? You must choose your words carefully since anything you say can be used against you.

I'm not claiming that everyone works better alone or even that I don't like working with others. I just think that the interviewee should have the option of working on the problem alone for up to 30 minutes. As suggested by parent, we can discuss the solution or non-solution after I've become familiar and comfortable with the problem. One of the worst feelings is when I fail to solve a problem during an interview, only to have the solution come easily when I'm able to tackle the problem in a pressure-free environment. Expecting some kind of portal into someone's mind while they solve an unfamiliar and maybe tricky problem strikes me as overindulgent and voyeuristic. It is a flaw in the current technical interview process and the only way to mitigate its effects is to just get more comfortable interviewing.

[1] https://www.psychologytoday.com/blog/choke/201106/flocking-t...

[2] - For tough problems, tend to use my own idiosyncratic variant of Z-Notation. I have a very high success rate solving algorithm puzzles when I use it but it is easy to forgot to use it under pressure of an interview.

I think this is consistent with your earlier point that more people should visit some of the less well known national parks and scenic sites. It spreads the tourists and visitors over a much larger area. This should reduce crowding in the major attractions and destinations, which should make them more enjoyable to those who do visit. The smaller national parks will see more traffic but perhaps this will create more awareness and build support for preservation and/or cleanup. The communities around these locations may also benefit from the increased business.

I wasn't sure from the article how specific they were about sitting. Are all types of sitting equally harmful? Does the chair matter? Does posture matter? According to the article, the primary conclusion of the health experts is that you should sit less and "move" more, where "move" means anything that "increases your metabolism 1.5 times that of being absolutely still". What about fidgeting while sitting? When working on a problem, especially when excited, I tend to bounce my legs while sitting. I wonder how much that increases my metabolism.

I read somewhere that standing alone burns about 20 calories per hour. That doesn't seem like much but according to the article, this slow burn is necessary and somehow promotes heart health in a way that is not matched by sitting for an hour and then burning far more calories later.

I think it is easy to come up with examples of people doing purely altruistic things. One simple example would be an atheist that sacrifices himself for his country. He knows there is no reward at the end of the tunnel and may not even particularly want to do it but maybe feels it is his duty for the "greater good". Purely altruistic behavior can be justified by anyone who is fully committed to, say, utilitarianism and I'm sure there are other moral philosophies that can justify it without any consideration for personal reward.

I think you have to distinguish the case between someone doing a kind deed and feeling good versus someone doing a kind deed because they expect to feel good. Feeling good because you did something good is involuntary and for most people unavoidable. It can be a side-effect of the deed, rather than the cause.

I have no problem speaking of bad developers because I myself was one. Now, I am probably above average and in some organizations maybe even a "10x" developer. But I shudder thinking of some of the code samples that I've sent to prospective employers in my earlier days (~12 years ago) -- code that I thought was good and clever. Probably most junior developers are bad and I suspect a lot more code gets written by junior developers than we'd like to think. The senior developers get to work on the interesting problems and they leave the necessary but boring coding work to the junior developers.

I think you can easily be a 10x developer, since 10x is relative. Especially in a world awash in bad developers. Just being familiar with the right algorithms and software approaches vis-a-vis your co-workers will do that. I've seen "enterprise" code that was doing tons of string key-value pair lookups using arrays. Just converting those to hashtables could very well speed up the app by 10+ times if the key-value lookups were the bottleneck. I can imagine a poorly performing database program being sped up by 10 times just by having the right person refactor the code to use caching to avoid database reconnections. This is what I think of when I think of a 10x developer; they may not be literally 10x better but their code can be 10x faster or use 1/10th the memory or be 1/10 the size of competing developers.

I tried to hack together my own personal stack overflow or Q&A system using a directory of text files and Sublime Text (any other text editor that has regular expression searching also work). Basically, each fact or note that I wanted to be able to retrieve would be stored as semi-structured text that is easy to search using regular expressions. For example, when I was first learning web development, I saved a note like this in my note file:

  {
    [how do you create a simple image button in html and css]
    -> style:
       .simple-button {
            background-image: url(...),
            background-repeat: no-repeat,
            background-position: center,
            background-size: 100% 100%,
            width: 100px,
            height: 100px,
            display: inline-flex
       }

       <div class = 'simple-button'></div>
  }
I had a directory called "knowledgebase" which had numerous files with similarly structured notes. In order to find the note above using keywords, I would just do a search of the knowledgebase directory in Sublime Text using the regular expression:
  ^\{\s*\[.+button.+css.*\]
At first I was pretty excited about the method because it actually saved me a few times when I needed to find some boilerplate Linux bash scripts and vim keyboard shortcuts. Unfortunately, the small bit of initial success left me wanting to add more features to the extent that I was never satisfied with the notation for structuring questions and answers. First I used the system for simple notes and Q&A. Then the notation had to support hierarchical notes, like a tree. Eventually, decided I was going to write a program to parse these Q&A files and expose them as a mobile application that I could search via voice. This seemed like a pretty good idea until I decided that what I really needed was to not only be able to search notes by voice but also create them. The whole project kept growing until eventually I dropped the whole note taking thing and turned my attention to the general problem of NLP for question answering.

If I had simply been satisfied with the original, simple process and stuck to it these last couple of years, I'd have a pretty comprehensive and useful knowledgebase by now. I realize that I'm too lazy to keep such a system up to date but hopefully I can adopt something similar as a commenting convention in my source files to make code fragments searchable.

Maybe I'm thinking about this incorrectly but Google's use of the Java APIs seem to me to be the quintessential case of fair-use for interoperability. It's not like Android is shipped with a JDK and is constantly exercising the Java API internally on Android; they are only used so that I can write a Java algorithm on my desktop and use the source code to generate Dalvik bytecode that does something roughly similar to what the Java bytecode would do. The Java APIs are just a means to an end. The surface area of the copyright infringement is limited to the desktop Android build tools which convert Java sourcecode and some bytecode into Dalvik, i.e., interoperability. Now, that is only one-way interoperability so maybe that is enough to sway the matter away from fair-use.

I think there's a lot of things I'd rather be doing on a commute than drive or do work. For on thing, with a self-driving car, I could do things that many people are already doing while driving, albeit unsafely. Things like eating breakfast, talking on the phone, and fiddling with the radio. Hell, if the commute was long, I might use the time to catch up on sleep.

I would agree with you if the author had complained about depth-first search as opposed to breadth-first search. Any decent developer should be able to understand and reason through depth-first search but I wouldn't expect breadth-first search to show up doing front-end web development. In my own side-projects, which involve much more complicated algorithms than anything I've implemented in my day job, breadth-first search has only really come up in one context that wasn't explicitly AI related, and that was a grammar parser. In every other case that I needed to search something, it was depth-first search that I was using. If you're given the whole tree at the beginning, I think most developers would probably start with depth-first search, even if they didn't know the name of the algorithm they were using.

More religious countries may have lower incidents of suicide but they don't seem to be enjoying the life they do have as much as the less religious countries. None of the top 10 countries according to the World Happiness Report[1] are religious. On the other hand, of the top 10 religious countries, according to your link, the highest ranked for happiness is Thailand at 34. This shouldn't be terribly surprising since it is a deadly sin to commit suicide in most of the Abrahamic religions and the more devout you are the more likely you are to adhere to this particular tenet.

[1] http://worldhappiness.report/ed/2015/

I think most people, with a little education, are reasonable when it comes to ads. I know I was. Most of my computers didn't block ads or scripts. You can try to be nice but the ad makers have escalated things to the point that you have to respond. It's like content creators these days are so upset about ad-blocking that they feel they have to lash out with ads at the people that don't block. I went to some random Linux Q&A forum and had to force-quit my browser because the ads brought the browser to a standstill; all tabs were frozen. I consider ads that crash or force me to close my browser as an act of violence. Nobody in their right mind wants to subject themselves to that, regardless of their opinion of ad-blocking.

Also, big companies won't necessarily be your ally in this case either. Instead of being sued, large companies may be able to come to an agreement with the plaintiff where they pay some fee to continue doing what they are doing. The size of this fee or the risk of a lawsuit may be enough to discourage small startups from entering a market while just being another cost of business for the established large players. This could hurt competition in the long run as well as allowing the status quo, which perhaps should be challenged, to persist.

The only way to learn it is by doing it. Doing it carefully, and in full detail, not falling into the trap of "and I understand it from there".

This. So much this. A lot of people think there is some big difference between mastery from a physical versus intellectual level. No one who is serious about learning to play a musical instrument will only play a song up to a point and then stop, saying "... no need to go further, I already know how to play the rest." I think the way the brain consolidates high level learning into long term memory is essentially the same as for "muscle memory". This is like when you learn to drive. At first, you have to think consciously about every little detail but with practice, your unconscious mind takes those over and your conscious mind is left to operate on higher and higher level concepts. Mathematics is hard and the sooner you can offload the details to your unconscious mind the better. And the only way to do that is by practice.

I consider myself to be a smart but sometimes intellectually lazy person and had to struggle to develop the habit of working problems out rigorously and completely when learning new material. The belief that you can learn material by just reading is seductive because it feels like you're saving time and getting to the interesting topics faster. But in all likelihood, this belief is false and will be proven as false the moment your understanding is put to the test, either in a real test, or when subsequent material requires a solid understanding of older material. Sure, you may indeed be understanding it at the moment you're reading and in the flow of the material. But what makes your knowledge solid and reliable even under adverse circumstances (e.g., when you're distracted or learning a difficult new subject that builds on that knowledge) is practice and repetition. This applies not just to mathematics but to learning a new framework or programming language.

I think it could have dual purposes. There was an earlier segment of the video where the robot was able to find and pick up a box and stack it on a shelf without the presence of the QR codes. There are a lot of clever uses you could put to QR codes as object and environment tagging. It would be effective at encoding what to do and perhaps what can be done with the box. I used a similar strategy to define behavior scripts for the Aldebaran NAO. I printed out some barcodes and taped them to the walls so that if the NAO was exploring an area and saw certain barcodes on the walls, it would do different things based on the codes that were present. This way, I could do simple behavior scripting without having to change the robot's programming.

While I appreciate the effort to make things easier, as someone who is trying to move from C++98 to C++11, I'm not sure the new features make the language easier to use so long as you still have to learn the old ways of doing things. Speaking for myself, at least, this just causes interference between competing habits. What would be better for me and maybe others, would be if some of the unsafe or deprecated features in C++ were disallowed or if there were a compiler option to disallow them. I know this would break C89 compatibility but so what if you know you only care about the newer and more efficient features of C++?