Collections (YC S12) syncs Facebook photos, Instagram and Google Docs - <AUTHOR> http://thenextweb.com/apps/2012/08/17/y-combinator-backed-collections-me-syncs-facebook-photos-instagram-google-docs-one-mac-app/

<comment><USER2> I enjoy Collections as an idea, but despite the pretty interface, everything they've done so far has been buggy or half-assed. First beta launch and not only could no one connect, but they exposed information that would allow anyone to access anyone else's docs. Last launch they add instagram, but no ability to remove accounts, in addition to being very buggy. Now this launch and still buggy (I can't even use our google spreadsheet we use for a test matrix). In addition the beautiful new site broke (for whatever reason) and all the text smashed into on lump of overlapping mess.

You guys have something that is incredibly close to being awesome, but sloppy execution will put a sour taste in everyones mouth and scare them off from each successive release. Spend a little extra time and make sure you're releasing stuff that is bulletproof and your company will grow.

<comment><AUTHOR> Thanks, Brad, for the feedback. We addressed many of the bugs people found in prior releases, but will look into this spreadsheet issue (perhaps you could describe it in a bit more detail at feedback.collections.me?). As for the site, please refresh and it'll self-correct, but we're aware of that bug and are working to make sure it never happens.

<comment><USER2> Just emailed... Will begin reporting bugs to feedback.coll. Thanks for the hard work.. Look forward to seeing this mature.

</comment></comment></comment><comment><USER3> I was literally posting photos on my G+ account and linking them to my facebook and thinking about an app like this when I saw this article. lol

<comment><USER4> I was going to ask if you have tried <http://ifttt.com> but it looks like they don't have G+ as a channel option yet. Regardless, IFTTT is very cool.

</comment></comment><comment><USER5> I'm enjoying the new version much more than the original. Much less buggy, smoother and an overall pleasant experience.

What I like most is a better way for me to use Google Docs. I'm more inclined to use it over Office simply by virtue of how the app handles things. Well done :)

</comment><comment><USER6> i love the moving graphics on the site. great work! what is up this though:

© 2012 Collections Labs, Inc. Design and development by 3magine

does that mean you contracted out some of the UI/UX?

<comment><AUTHOR> Only the site!

</comment></comment><comment><USER7> This doesn't violate Facebook's rules?</comment>


Reeling from algorithm glitch, Instacart institutes $3 minimum fee for drivers - <AUTHOR> https://www.fastcompany.com/90300962/reeling-from-algorithm-glitch-instacart-institutes-3-minimum-fee-for-drivers <comment><USER2> How on earth was this an "algorithm glitch" or anything close to "black box"? It's how they calculated pay, by setting a minimum hourly rate and subtracting any tips from that before paying out themselves.

This reporter is far too trusting.

> Instacart still hasn't explained exactly what went wrong in calculating > Arrigo's 80-cent fee. But it shows the risks inherent in relying entirely on > the "black box" of algorithms that, regardless how clever they are, can > sometimes produce baffling results.

<comment><USER3> Or the developers are just stupid. Now they simply can add a simple if- statement.

        if driver_pay < 3:
            driver_pay == 3

No need to bother with unit tests on that one.

[Edit:] LOL as seen below. That's probably how they coded it.

<comment><USER4> Actually you should have tested your code, because this does a no-op equality test against 3 (==), rather than your intention to set driver_pay to 3 (=)

</comment></comment></comment><comment><USER5> So.... they aren't going to stop steeling tips, just limit how much they steal? And they are claiming that it was an algorithmic glitch that cause them to steal a drivers tip that one time... yet they aren't going to stop it all together just limit it.

They need to come out and say "all tips goes to the driver" or they are going to dies in distrust. No-one wants to buy from or work for a company that downright steals tips from its employees.

<comment><USER6> It's too late for me, I don't tolerate this sort of bullshit. I had pizza delivered once and paid/tipped online (I have ten years in restaurants behind me, on the rare occasion I eat out I tip really well) and the delivery guy gave me a funny look when he dropped off my order. I took a look at the receipt attached to the order and the price I paid was higher plus the tip was not on the slip, I sent him a text with my order confirmation to let him know what I paid he texted me back that this wasn't the first time they screwed him on tips and that hes going to find another job. Every few months I post a yelp review with this experience so it remains on the first page for the restaurant.

<comment><USER7> That's why I just keep twenty in singles in my wallet, I never pay cash for things but can just hit zero on the app and give the tip in person.

<comment><USER8> Those people really appreciate the cash tips too.

</comment></comment></comment></comment><comment><USER9> "Glitch"

US Labor law doesn't allow tip theft, and changing pay rate dependent on tip value is clearly tip theft.

<comment><USER10> Someone who has worked in a service job can answer this better but I'm not sure that is true. My understanding is that restaurants routinely pay less than minimum wage and then up your wage to minimum if your tips don't come up to at least minimum wage. I'm not sure how this is any deferent. Though doing it without the person being paid even knowing is abhorrent.

<comment><USER11> Restaurants (and some other places) are allowed to pay less than minimum wage by law (thought they are required to covert the gap if the tips aren't enough to bring the user up to minimum wage; I've never seen it happen). If you're not part of the group allowed to do this, you don't get to.

</comment></comment></comment><comment><USER12> Tips are so incredibly stupid, unnneccessary, confusing, and a waste of everyone's time and energy.

Just imagine... paying the price that's advertised. How practical and convenient that would be!

The obvious solution is a law banning the soliciting of tips, and let's require prices to include sales tax while we're at it. Call it the "pay what's advertised" or "fair pricing" law.

</comment><comment><USER13> Reeling from _bad publicity_ , Instacart blames a unexplained algorithmic glitch.

</comment><comment><USER14> "Algorithm glitch"

Amazing how this glitch also impacts DoorDash, GrubHub, ... and the glitch is to cap how much they will use to offset their costs not actually honor the intent of the tip.

</comment><comment><USER15> Maybe people should start tipping in cash again. Every service person I've asked has preferred it.

<comment><USER16> That isn't a bad idea, but not exactly something drivers can rely on.

<comment><USER17> And it is not something i carry with me most often.

</comment></comment></comment><comment><USER18> Funny. That would have been an interesting postmortem but I think they just eat the tip. That's what it sounds like at least.

</comment><comment><USER7> Instacart should fix the other glitch, it used to be roughly one hour. Now it is tomorrow, or the day after. Not exactly insta.

And the quality has gone way down, they'll buyers would suggest a better deal, now they pick the worst if it makes their shopping faster

</comment><comment><USER19> Instacart is a YC company (s2012) [0].

[0] [https://www.ycombinator.com/companies/](https://www.ycombinator.com/companies/)

</comment><comment><USER20> The only glitch was screwing over someone who wouldn't stay quiet.</comment>


Man Forbidden from Identifying Twitter Shaming Activist,Court Order Seems to Say - <AUTHOR> https://reason.com/volokh/2018/05/08/minnesota-court-apparently-orders-man-no <comment><USER2> I'm skeptical about this culture of online shaming. If someone makes a mistake at a point in their lives and it either wasn't reflective of who they really are, or they've reformed themselves and improved their behavior, I dont think they deserve to be publicly shamed by strangers who may not know them or how they've improved themselves.

Such online shaming does not disappear. Permanantly ruining someone's reputation in spite of bad behavior being an isolated mistake or not reflective of the the type of person that person has become is cruel and unproductive.

<comment><USER3> Normally I'd agree. But it's not the case here. Fredin(the man) is the one who was "online shaming" women, and it fired back at him. Can't say he is a victim of online shaming then.

<comment><USER4> No...but it is a little confusing.

Ok, there is a woman Lindsey Middlecamp, who has a twitter account [1], where she 'calls out' men overly concerned about womenfolk not dressing chastely enough.

Here's a fun tweet: [https://twitter.com/CardsAgstHrsmt/status/986304355753185281](https://twitter.com/CardsAgstHrsmt/status/986304355753185281)

Ok, so this women believes that women should be able to dress as sexy as they want without fear of reproach. So far, so good. God bless Lindsey Middlecamp!

The reason she comes across as a wacko is because she seems to think male toplessness is the equivalent of female toplessness. It's not. Women will not pay money to see men topless.

Then, as alleged by Mr. Fredin, she launched an anonymous attack against Mr. Fredin, falsely accusing him of rape.

Mr. Fredin, a bit piqued, responded by unmasking his anonymous harasser, Ms Middlecamp, and gave her a little payback.

Ms Middlecamp went to court and got the court to grant her an order, preventing Mr. Fredin from letting anyone know that Lindsey Middlecamp is the person behind @CardsAgstHrsmt.

That last part is the constitutionally-suspect part.

[1] [https://twitter.com/CardsAgstHrsmt](https://twitter.com/CardsAgstHrsmt)

<comment><USER3> I wasn't in any way defending the lady. Just that the guy is not at a higher moral ground than her, including the fact that he has multiple restraining orders against him since before this incident.</comment></comment></comment></comment>


World emergency map - <AUTHOR> http://hisz.rsoe.hu/alertmap/index2.php

<comment><USER2> After looking at the earthquake details in Japan, I noticed this: [http://hisz.rsoe.hu/alertmap/woalert_read.php?edis=VI-201103...](http://hisz.rsoe.hu/alertmap/woalert_read.php?edis=VI-20110312-29925-USA)

I was not expecting a 'vehicle accident' in New York City to show up on this list. But, apparently there were 13 deaths and 19 injuries. Any info on this?

<comment><USER3> Bus crash in the Bronx, I think. I saw something about on msnbc while watching earthquake coverage.</comment></comment>


Ask HN: Is there a relation between Software and Art? - <AUTHOR> Building architecture is sometimes considered a breed between art and science. Is there evidence or research that suggests software follows suit? <comment><USER2> Urbit [1] is a real software effort that many have considered a deliberate performance art.

Beautiful Code [2] is a well-known book that attempts to examine the development of some successful software projects from the perspective of the lead developers, and how they came to design decisions.

Beautiful Architecture [3] is a similar book focusing on large-scale project design.

[1] [https://urbit.org/](https://urbit.org/)

[2] [http://shop.oreilly.com/product/9780596510046.do](http://shop.oreilly.com/product/9780596510046.do)

[3] [http://shop.oreilly.com/product/9780596517984.do](http://shop.oreilly.com/product/9780596517984.do)

</comment><comment><USER3> What evidence could there be, beyond a common assertion?

I have admired software, but art is not simply that which is admired. I have admired tools, and have been happy with them even while they sit beside me, unused.

I may write this comment without expecting it to be admired for its luster. I may write a lyric poem with quite different hopes. It is hard to say just what art is, but I imagine many would agree that writing may or may not be an artistic practice. The same goes for pencilwork; I could be tallying in a margin or sketching a scene. It all depends on how one goes about it, and what one makes—and to what purpose it is made.

As with art, almost all software is forgettable, most of it is a poor copy of something already done well long ago, and the best it can hope for in future is to take up a few minutes of an archivist's life. Still, it may have been worth making.</comment>


Time lapse satellite images, 1984-2012  - <AUTHOR> http://googleblog.blogspot.com/2013/05/a-picture-of-earth-through-time.html

<comment><USER2> This is so cool!</comment>


Yelp user faces lawsuit over negative review - <AUTHOR> http://news.cnet.com/8301-1023_3-10133466-93.html

<comment><USER2> If he had written the negative review on a piece of paper, should the paper company be the one getting sued?

</comment><comment><USER3> I think mr. Biegel should look up the Streisand effect.</comment>


Creativity in Mathematics: Inquiry-Based Learning and the Moore Method - <AUTHOR> http://www.youtube.com/watch?v=f6t6WiWYdgY

<comment><USER2> I highly recommend 5 Elements of Effective Thinking:

[http://www.amazon.com/5-Elements-Effective- Thinking/dp/06911...](http://www.amazon.com/5-Elements-Effective- Thinking/dp/0691156662/ref=sr_1_1?s=books&ie=UTF8&qid=1423975755&sr=1-1)</comment>


Your Credit Card as the supercomputer - <AUTHOR> http://www.win-vector.com/blog/2010/12/your-credit-card-as-the-supercomputer/

<comment><AUTHOR> Bit of a goof on my part- I quoted only the additional price for running Elastic Map Reduct on top of an EC2 instance (not the full price).</comment>


Microsoft Kin One and Kin Two announced: Windows Phone roots with a social slant - <AUTHOR> http://www.engadget.com/2010/04/12/microsoft-kin-one-and-kin-two-announced-windows-phone-roots-wit/ <comment><USER2> If the price point is right I think these are going to be smash hits with the younger crowd.

To me they seem quite underwhelming, but if I look at how my younger sisters & cousins use their phones then all those boxes are checked and in a very visually pleasing way.

</comment><comment><USER3> The 'spot' seems like an interesting piece of ui. I'm interested to see how effective it is in real world use.

It also reminds me of the courier video, where users could clip out random parts of a webpage.

edit: here's more of the ui, if anyone is interested: [http://www.engadget.com/2010/04/12/microsoft-kin-ui- walkthro...](http://www.engadget.com/2010/04/12/microsoft-kin-ui-walkthrough/)

</comment><comment><USER4> Phones with a social slant have been around since the 1870's.

<comment><USER5> Yes. Previously, phones such as the "tin can with no string" only enabled conversations with oneself. The addition of "talk to someone else" technology was truly a revolution in social networking.

<comment><USER4> Yeah, but those cause brain tumors I hear.

</comment></comment></comment><comment><USER6> I wonder how long it will take for these phones to get support for 3rd party apps. While it would really be great to see more affordable (think non-luxury) smart phones, the iphone and nexus one both demonstrate that people need and want apps to enrich the experience.

Why bother having a camera and browser if you can't take that data (pictures, web pages, etc) and send it via email or twitter, or an edit it with an app?

</comment><comment><USER7> "and it looks like the Zune HD UI we're accustomed to"

all three of us, that is.

(no, actually not me. I have an iPod)

</comment><comment><USER8> If this is the fabled Zune phone, I'm extremely disappointed. I'm not sure what they mean by "social slant." Maybe they mean it's a great conversation starter. Imagine busting it out at a bar, people wouldn't be able to resist commenting on how ugly it is.

<comment><USER9> Didn't Microsoft buy the word "Social" a few years ago? Now it means whatever they want it to mean. Welcome to the Social.

Maybe their BRAND UNVEIL can educate you about why this is the most important thing ever: [http://www.blogcdn.com/www.engadget.com/media/2010/04/msft-p...](http://www.blogcdn.com/www.engadget.com/media/2010/04/msft- pink-unveil-0481-rm-eng.jpg)

I find the quotes from their event hilarious: "So, this social generation really does have a point of view. They think it, they do it, and they have a mantra for it." "We came up with this concept of friends, friends, and friends."

Maybe I'm waaay too old to know what "kids these days" are up to, but if everybody under the age of 22 is all about FRIENDS FRIENDS FRIENDS then the world will soon collapse. No new work will get done. We'll be idiocracy within twenty years where everybody exists solely to click ads. It's ads and vapid social media consultants all the way down.

<comment><USER10> [but if everybody under the age of 22 is all about FRIENDS FRIENDS FRIENDS then the world will soon collapse]

Friends Friends Friends is the new way to network, isn't networking one of the things they preach to everyone for everything (finding a job, starting a startup...)

</comment></comment></comment><comment><USER11> I'm sorry I don't get it. Microsoft isn't a hardware company, so there's no reason to start "diversifying" and "segmenting". Windows Phone 7 seems absolutely awesome. They need to just stick to that. As a 15 year old girl, this still ranks way way below an iPhone, Droid, or even _gasp_ a palm pre. They should have just saved this type hardware (which seems pretty decent) for when they launch the Windows Phone 7 stuff. So now MSFT has:

-winmo 6.5 (which they're keeping) and is horrible -KinOS (I don't know what this is supposed to do) -Win Phone Series 7 Series Seventh Windows Phone- Which looks awesome, has developers excited, and will require OEMs to ship quality hardware.

Just concentrate on the last one please.

<comment><USER10> Are you an 15yr old girl??? Your website shows a much older guy :P

Microsoft has made a point to make this phone totally unlike iPhone with the Physical keyboard and Smaller form-factor and even going with Verizon rather than AT&T and the first two might attract the younger crowd.</comment></comment>


What Astronomers Are Learning from Gaia's New Milky Way Map - <AUTHOR> https://www.quantamagazine.org/what-astronomers-are-learning-from-gaias-new-milky-way-map-20180508/ <comment><USER2> The great YouTube channel "PBS Space Time" did a video on Gaia and how it is changing astronomy: [https://www.youtube.com/watch?v=Jdy09y0A4t0](https://www.youtube.com/watch?v=Jdy09y0A4t0). I highly recommend the channel. I really appreciate that they don't pull any punches, you'll often see math formulas on screen! Most astronomy education material (think classic Discovery channel) tends to be extremely watered down...

<comment><USER3> Agreed, I just watched this earlier today. Space Time is the only series on YouTube where I subscribe to their patreon and continue to renew. It's my favorite series on the whole site, probably.

</comment></comment><comment><USER4> If anyone is interested in playing with GAIA data, I created a simple interactive visualization using WebGL. Here's the source: [https://github.com/typpo/gaia](https://github.com/typpo/gaia)

</comment><comment><USER5> 5 years to count ~.1 to 1% of the stars in 1 galaxy. What ants we are?

<comment><USER6> It's not so much that it takes a long time to image all of these stars, but that Gaia is measuring parallax which inherently requires taking measurements for 6 months in order for the Earth to go halfway around the Sun. If you want multiple measurements to reduce your uncertainty, you have to do it in 6 month blocks. 10 measurements per star gives you 5 years.

<comment><USER7> I'll preface this by saying I know next to nothing about these sorts of measurements. But if you want multiple measurements, isn't time just one variable when measuring parallax? Couldn't we potentially image it from different viewpoints--say, distant satellites relaying messages back for analysis, where time is more a function of the scale of the "imaging web?"

<comment><USER8> A second satellite could be put in the same orbit around the sun as the Earth, but on the other side of the sun. That would give us stereo vision for the parallax measurements.

But it's cheaper to have just 1 satellite (which is also easier to communicate with because near Earth), and then compare images 6 months apart to get the same data.

<comment><USER9> A practical problem is that it is hard to communicate with the other side of the sun.

</comment></comment></comment></comment></comment><comment><USER10> Amazing read - I had no idea how much this was going to change things. 500km/s streams? 1.3B velocities? White dwarfs flung at high velocities? Satellites with massive black holes? 'satellite galaxies ... all ... currently at the closest points in their orbits'? Well - this will liven up discussions for a LONG time.

</comment><comment><USER11> Lots of sources are saying that with star position/velocity information, scientists can rewind or fast-forward time to see how the Milky Way looked hundreds of millions of years in the past/future.

Does anybody know how they're solving a 1B+ element n-body problem with enough precision to make that kind of claim? I thought these things were so chaotic that this kind of prediction was impossible?

</comment><comment><USER12> [https://en.wikipedia.org/wiki/Gaia_(spacecraft)](https://en.wikipedia.org/wiki/Gaia_\(spacecraft\))</comment>


Keyboard vs. the Mouse pt. 3 - <AUTHOR> http://www.asktog.com/SunWorldColumns/S02KeyboardVMouse3.html <comment><USER3> Since my discovery of it in the 1990s, this article has caused me to ignore literally hundreds of reports from programmers that the keyboard is faster than the mouse because those reports gave no indication that the speeds had been objectively determined.

The most important thing I gained from this article is an awareness of the effect by which planning a sequence of editing keystrokes tends to interrupt tasks like writing prose or writing code more than "purely perceptual" tasks like positioning the mouse cursor tend to do. Highly recommended.

<comment><USER4> But the experiment does not show that the mouse is faster than the "keyboard". It shows that the mouse is faster than using the cursor (arrow) keys for a task where doing the latter would obviously by extremely slow. For me, "using the keyboard" means typing ":1,$s/|/e/g". Say there are 100 instances of "|" to replace. Which do you think will be faster?

<comment><USER5> Lets ignore the fact that this is a search and replace since that just makes the contest painfully unfair. Normally when using a good text editor like emacs or vim and you're moving somewhere from far away you do a search. Or if you move manually you start out moving by paragraphs, then by sentences, then by words, then finally by characters when you get to the right word. But using the arrow keys you go the same speed the whole time no matter how far away you are. I understand that Word might not have all those fancy movement modes, but it does let you go faster by using Ctrl-Arrow and I don't see why Tog didn't at least let his test subject do that.

<comment><USER4> Indeed. I'm at a loss trying to understand why he thought he was demonstrating anything interesting. There would be no harm, except that now and then you hear people claim that it has been proven, by _studies_ , that the mouse is faster than the keyboard. I suppose they are quoting people who are paraphrasing people who have sort of heard of this trivial study.

</comment></comment></comment></comment><comment><USER6> This is all very well for the particular task, but now let's get into _serious_ keyboard usage, where the difference is made.

The real approach to this particular problem (yes, I know it is a specialised problem; knowing when to use the keyboard and when to use the mouse is part of the matter) is to use find-and-replace functionality.

\- The find and replace approach using Word for Windows, keyboard: Ctrl+H [Find and replace; shortcut may not be correct, I'm just working from distant memory], |, Tab, e, Alt+A [replace all].

\- The find and replace approach using Word for Windows, mouse: find the find icon. I believe it's near the end of the Home tab in the ribbon, now. Click on it. Go to the Find and Replace tab (probably?). Focus on the Find field. Enter "|". Switch to the Replace field. Enter "e". Click the Replace All button. (Probably agree to replacing from the start of the document as well.)

Now tell me that _that_ was faster with the mouse than with the keyboard (assuming that you knew where everything was from the start).

Vim.

\- Keyboard: :%s/|/e/g<Enter> (and it's in your muscle memory, anyway, so that the whole thing takes no more than four seconds).

\- Mouse, find-and-replace way (assuming you have the toolbar showing - <USER2> certainly don't): much the same as Word. It's in a toolbar icon.

(Note that if you have set ``behave mswin`` you can have the dubious convenience of a Word-style select mode with which you could do the replacing the slow way as in the article in just the same manner).

Which method is faster in _this_ specialised case?

Being aware of _actual_ timing issues and knowing when to use one and when to use another is important. I do, very occasionally, use the mouse in Vim. But Vim has such a good keyboard interface (and, you might choose to argue, not a well-tuned mouse interface) that the mouse is needed precious rarely.

And every time I've gone back to make a modification in this comment while writing it, I've used the keyboard. And I _know_ it was faster.

</comment><comment><USER7> I've seen this article before, and every time I've said to myself, "Gosh, how non-intuitive. I'll have to remember that"

Today, I had a little time and a little more skepticism, and said "Gosh, I wonder if it's actually true".

I, too, replicated the experiment, and for me, at least, it's completely wrong.

Conditions: Microsoft Word 2003, 12-point default, whole page view, 15-inch laptop screen, 1200x1920 resolution

Text: the paragraph of Peter Deutch's letter

Keyboard: 128 seconds Normal mouse: 167 seconds (30% slower) Lenovo Trackpoint mouse: 228 seconds (78% slower)

Yet another disadvantage of the mouse (and Trackpoint) was that the task required far more attention and generated more anxiety: it was difficult, error-prone, clumsy, and frustrating--I kept wanting to stop and rest my fingers. That is yet another reason that the mouse is a poor choice for this kind of task. With the keyboard, I could work much longer without anxiety.

I hypothesize, but have no idea of how to test, that this greater comfort results from not relying on eye-hand coordination for the details of the task, but rather being able to coordinate with a mental model of knowing what the cursor keys will do without having to see it happen on the screen.

</comment><comment><USER8> so, using cursor keys alone and in MSWord (!) is slower than using a mouse... no mention of "real" editors e.g. emacs, vim, etc... worthless drivel... how'd this get voted up to waste my time?

</comment><comment><AUTHOR> I tried to replicate the experiment and couldn't. In fact I got the opposite result, with the mouse taking twice as much time as the keyboard.

I wonder if it is because of the increased pixel density.

</comment><comment><USER5> So, someone claims that the keyboard is faster than the mouse in emacs with with small fonts, and then Tog says that he had previously showed that the keyboard was slower than the mouse in Microsft Word (presumably with a normal sized font since he mentions he did the test before getting the letter). Not exactly responsive, I expect that both the letter-writer and Tog are perfectly correct.

<comment><USER9> Worth mentioning that the someone is <http://en.wikipedia.org/wiki/L_Peter_Deutsch>

Not in Emacs btw but in Smalltalk with Emacs keybindings.

</comment></comment><comment><USER10> I guess I'm not really surprised that using the mouse is faster for specific tasks like arbitrarily moving the cursor. It's a much more random access kind of device than the keyboard.

What really makes the keyboard shine is the use of shortcuts. Change the task to a sane one, like find and replace, and I guarantee you I can hit that shortcut before you can get your mouse up to the menu bar.

</comment><comment><USER11> I, for one, prefer using the keyboard as much as possible mostly for comfort reasons. I use vim and various vi-plugins (in chrome, intellij, eclipse) for code-editing tasks, and I even switched to a Kinesis Advantage keyboard (best 200£ spent ever), and my typing speed considerably decreased for a while, though the comfort was greatly improved, which was my goal (now I'm back up to speed, and probably even a bit faster than before). To be honest, when programming, the bottleneck for me is definitely _not_ my typing speed, is that really the case for anyone?

<comment><USER3> I think the Kinesis Advantage is a very bad keyboard. Particularly, although the key switches (Cherry Browns) are fine, the way they are arranged relative to each other has very bad ergonomics, and any of the many non-Kinesis boards in which Cherry Brown key switches are arranged in a single plane has much better ergonomics. The reason the Advantage is bad is that when every key has a different "altitude" (height relative to the desk or floor) and a different orientation (the direction in which the center-line or "axis of travel" of the key points) it becomes much harder for the person to memorize the location of the keys and in particular much harder to memorize the "vector direction" (i.e., distance and direction) between every pair of keys and the vector direction in which the person's hand would need to move to strike every key perpendicularly.

I used a Kinesis Advantage (well, a Kinesis Essential, which has the same Cherry Brown switches and the same arrangement of keys into two "bowls", one for the left and and one for the right hand) as my only keyboard for about 2 years. I bought it to try to get rid of my RSI, but my RSI continued until I was shown (by a piano teacher) the Taubman technique by which piano players avoid RSI, which is when I realized that to get rid of my RSI I would have to stop typing or I would have to memorize the locations of all of the keys on the keyboard. (Actually, certain keys, like backquote, right bracket, left bracket, backslash and backspace, I do not have memorized. I look at the keyboard when using those keys.)

The Kinesis Advantage is a consequence of thinking of typing as a sort of "sign language" to be perceived and understood by the machine. That is IMHO the wrong way to think about typing. The correct way IMHO is to think of typing as a long series of physical actions. Imagine you have a plunger in front of you. I.e., a 3-inch-diameter disk of plastic attached to a beefy value or switch. Imagine that you need to activate the plunger reliably -- to minimize the chances that your first "activation attempt" will fail. So now you have some "perceptual" / "non-cognitive" decisions to make, namely, will you have to get your shoulder or elbow in a different position in order for your hand to contact the plunger cleanly and perpendicular to its axis of travel? How fast should your hand be moving when it meets the disk? Do you want to take a "backswing" before your "swing" for the plunger? (I.e., move your hand first in the direction opposite to the direction it will need to move to activate the plunger.) Good typing is more like that than it is like making signs in the air the way that users of sign language do. (The DataHand keyboard takes the typing-as-sign-language metaphor even further than the Kinesis Advantage does, and the DataHand is an even worse keyboard than the Advantage is. Here is a pic of the DataHand: <http://www.atpm.com/7.05/images/dh-handinunit.jpg.>)

These comments on the Kinesis Advantage can be tied with the topic at hand. The reason the Kinesis Advantage is praised by so many programmers IMHO is that those programmers do not realize or understand the need for a keyboardist to memorized the locations, etc, of all the keys. That memorization is a _perceptual_ task rather than a "high-level cognitive" task such as planning a complicated sequence of movements or operations or solving an algebra problem. Similarly, using a pointing device is a perceptual task. (More precisely, it is much more perceptual than the alternative ways of achieving the same result using the keyboard.) In both cases, we have large vocal populations of programmers (namely, Kinesis Advantage lovers and lovers of keyboard-centric tools like Vim, Emacs and Xmonad) who prefer to substitute cognitive tasks for perceptual tasks whenever possible. I suspect that that preference is a mistake and that those programmers would be better off in the long run if they tried to reduce the fraction of time they spend in high-level cognitive tasks. A possible exception is programmers whose frontal lobes are still developing, i.e., programmers under 22 or so, but certainly any programmer over the age of, say, 25 who prefers a high-level cognitive task when a perceptual task would work just as well to achieve the goal is IMHO misusing his or her brain more likely than not. (I am almost sure it would be misuing _my_ brain for _me_ to do so. I am much less confident about other people although I am confident enough to use this comment to share my suspicions.) Often there is no alternative to engaging in high-level cognitive work -- it is the only way to achieve some goal -- and in that case I am all for it if the goal is important enough.

I think it is important for people expressing an opinion about a tool to state how familiar they are with the tool. Consequently, let me state that I used text-mode Emacs ("emacs -nw") every day for 18 years. When I finally switched to an editor that allowed me to position the cursor (and do other things) with the pointing device, I realized I should have made the switch much earlier. Parenthetically, the editor I switched to was graphical-mode Emacs, but I customized it to extend the range of tasks that could be done with the pointing device, and I temporarily disabled the arrow keys to train myself to use the pointing device to move the cursor. (In fact, I permanently bound up arrow and down arrow to commands that scroll about one-eighth of a screenful, which is similar to what what up arrow and down arrow do in Plan 9 and even more similar to what they do in Firefox.) Also, I would probably have switched to Textmate, Sublime Text 2 or Gedit if I had not already invested a lot of time and energy into Emacs, including the writing of 5000 lines of Emacs Lisp code to customize Emacs. I would probably use _some_ keyboard shortcuts if where using Textmate, Sublime Text 2 or Gedit.

<comment><USER12> Why would it be easier to remember how to hit keys on a flat 2d plane? My fingers are all different lengths.

<comment><USER3> If what I have been saying in this comment section has any value, then most people have already committed to muscle memory how long each of their fingers is relative to any other finger on the same hand.

If you just hit the D key and want to hit the T key next, on the Kinesis Advantage, in addition to having to know how far the D key is from the T key in the two horizontal dimensions, you have to know the delta in altitude (i.e., how far it is in the vertical dimension).

In addition to the "delta in altitude" information just described, almost every key on the Kinesis (the axis along which the key will travel when pressed) "points" in a different direction, which is two more degrees of freedom. So, for almost every key on the Kinesis, I would have had to "memorize" (i.e., commit to muscle memory) 5 "scalar values" in contrast to the 2 scalar values for every key on a normal keyboard.

I am not saying that _no one_ can "memorize" that information; I am saying only that my estimate of the time and effort required for _me_ to memorize it caused me to ditch my Kinesis for the standard planar arrangement.

Note that I used a Kinesis for 2 years. It was only after I realized that I would need to "memorize" where the keys are (and what direction they travel when pressed) to recover from RSI that I gave up on Kinesis.

And yes, I have been free from RSI in the six years since making this realization and ditching my Kinesis.

And yes, I think most of the ergonomic keyboards currently sold by Microsoft are bad for the same reason the Kinesis Advantage is bad -- particularly those keyboards that could be described as "wave shaped" or "hill shaped". (At least the Kinesis Advantage has decent keyswitches!)

ADDED. There is more wrong with the Kinesis than just the amount of information it requires a person to commit to muscle memory. I just got done stating that the DataHand is an even worse keyboard than the Kinesis, and the DataHand requires a person to have only a few "muscle memories". If I understand correctly and if the DataHand device is a good fit for the person's hand, for every character, the person need know only which finger to twitch and which of four directions (up, down, left or right) in which to twitch the finger.

The reason the DataHand is such a bad keyboard is that it causes the person to repeat over and over again a kind of movement that is very different from the kinds of movements people are used to making and are good at making.

An example of a kind of movement that humans are good at is striking something with a hand or a finger. There is a lot of (conscious and unconscious) "data processing" going on when a human is getting ready to hit something with a hammer or with his fist, hand or finger. My belief is that the best way to avoid RSI and other problems is to get the brain to devote a lot of "cpu cycles" to planning out the physics of every keystroke.

The DataHand (and to a lesser extent the Kinesis) has bad ergonomics because it makes it hard for the brain to do detailed physical planning. This planning would entail perceiving or remembering the exact location, relative to the striking finger, of the key to be pressed. In contrast, when all the keys are on the same plane, it is more likely the the brain will plan out "ballistic" movements resembling hops, or plan out a "backswing" before the "swing", and, again, we want to get the brain deeply engaged in planning movements.

Designing the keyboard so that every key is right next to a finger tip is bad ergonomics because the brain is poorly adapted to carrying out the resulting key-pressing movements.

To summarize, the most important things for avoiding RSI are (1) choosing a keyboard that encourages the right kind of movements (namely, the kind the brain is good at planning) and (2) reminding oneself during typing that pressing a key should be more like hitting a ball with a tennis racket than making a sign with a flag, baton or the hand. Part (1) consists mainly of avoiding so-called "ergonomic" keyboards like the DataHand, Kinesis and most modern Microsoft "ergonomic" keyboards. The Microsoft Natural Elite keyboard by the way was a good keyboard (well, besides the pretty crappy rubber-dome keyswitches) because even though it was a "split" keyboard, all of the keys designed to be hit with the left and lay in the same plane, as did all of the keys designed to be hit with the right hand. But they might be hard to get now. And like I said, the keyswitches are pretty atrocious even compared to the (scissor-style) keyswitches on the good modern Logitech keyboard like the K750.

</comment></comment></comment></comment><comment><USER13> Switching is particularly costly. Just watch someone complete a web form who doesn't know to press tab. Painful.

</comment><comment><USER14> Well yes, if you have a _really_ dumb editor that makes keyboard navigation clumsy as hell, then you are faster with a mouse.

It is just like that if you go into the jungle, you are faster on foot than in a Porsche.

</comment><comment><USER15> The keyboard is always faster if you know what you're doing.</comment>


Show HN: a5.gg — Using HTML5 localstorage as a quick note taking app - <AUTHOR> http://a5.gg/ Put this together this afternoon.
I've been after something to quickly jot down the odd piece of information that I can access later in the day when browsing the web.
Hopefully you find it useful.
Criticism/thoughts/ideas greatly appreciated.
I should add, since all the hard work here lies in the work of others here — garlic.js is a great plugin for handling localstorage.
Cheers
Jason <comment><AUTHOR> Put this together this afternoon.

I've been after something to quickly jot down the odd piece of information that I can access later in the day when browsing the web.

Hopefully you find it useful.

Criticism/thoughts/ideas greatly appreciated.

I should add, since all the hard work here lies in the work of others here — garlic.js is a great plugin for handling localstorage.

Cheers

Jason

<comment><USER2> I noticed that you've added Google Analytics code to the page. Is this included because it is now a world-facing site, or do you use analytics on your internal projects for personal metrics?

<comment><AUTHOR> Both, I guess.

Any reason why? Or is this a spam account?</comment></comment></comment>


Afghan girls win European prize for solar-powered farming robot - <AUTHOR> https://www.reuters.com/article/us-afghanistan-girls-science/afghan-girls-win-european-prize-for-solar-powered-farming-robot-idUSKBN1DU1R2 <comment><USER2> Holy hell, what are these comments.

A group of girls form a pretty messed up country had the willing and the guts to go ahead and submit anything to this competition, knowing full well they would be at a disadvantage compared to other first world countries, and coming from a very male orientated culture. Their parts where late and they only had two weeks to build it.

Meanwhile a single accurate quote about how they where disallowed entry into the US overshadows all commentary here, with people insinuating that their robot was rubbish and it's just a political hitpeice, consolidation price means nothing etc. Get a life and grow up, I'd like to see you have the guts to try anything like this, even with your inherent advantage of living in a first world country.

<comment><USER3> Well, it is a highly political topic.

And I found no article yet, with technical details, about what they technically actual accomplished. The Reuters article is especially lacking any information, except stating that they succeded technically, but faced problems at the US border before and the latter they repeated many times, not just one quote.

So it looks a bit missleading and I would not call it journalism, if there is a agenda with it. And this seems to be the case here - directed against Trump and his Afghan ban etc.policy.

I mean sure, personally I despise that as well and I am highly against restricting people from going somewhere else, just because of their origin. And the girls are definitely courageous(their captains dad was killed by a suicide bombing this year) and maybe even did an outstanding job given their bad starting conditions ... but I saw nothing convincing so far, like the article implys, that they build even remotely something like this:

"The team's winning entry was a solar-powered robot that would help small farmers carry out tasks including seeding and cutting crops like wheat "

I read something about designing flyers, etc. for this product, which sounds more plausible - as designing an actual robot, even only with lego, who does remotely, what the quote says, is huge work and not doable with access to good education. Which they don't have. So yes, I think they deserve praise for doing something while coming from where they are, but if news imply to me they did more, than they did(and possibly could do), for political reasons, even with good intentions, you could call it propaganda. And I think this is not helping.

As then also people like me, who have lot's of sympathy for disadvantaged people at tech - and beeing a girl from Afghanistan is probably as disadvantaged as you can get, get the impression, that they mainly won their price because of being who they are and not what they did. And this is a shame, because maybe they are even technically very gifted and did outstanding. But now I mistrust the whole thing ... and possibly also the next thing I hear from high tech girls from Afghanistan ...

(edits: updadet a bit)

<comment><USER4> _Well, it is a highly political topic._

Have you asked yourself why? Fundamentally this is about a group of children traveling to participate in an entrepreneurial competition. There is nothing inherently political about that.

Who made it political? Who benefits from creating divisions that have made these children's entry in a competition such a loaded question?

<comment><USER3> "Who made it political? Who benefits from creating divisions that have made these children's entry in a competition such a loaded question?"

I think basically 2 things come into play:

One is good intentioned propaganda, to support underprivileged poor girls, by exaggerating what they can do - to try to persuade immigration-unfriendly people into more openness, like hey they are good for our economy, if we only let them in.

Secondly, but connected: opposition to Trump and co. and the whole power struggle in the US.

So in this context, I would see the message as, poor, lovely and technology outstanding girls beeing denied entry to the US for a competition, because of evil Trump and his politics. (which is why he did intervene personally to show that he is not so bad, and only wants to keep the bad people out blabla)

But I doubt, that any side really cared for the girls as humans.

... so high politics as usual, I think.

<comment><USER4> So you don't think the original decision by US authorities to deny entry to these children was political? Because your answer only blames the other side for politicizing the issue under labels of "propaganda" and "power struggle".

That speaks of a mindset where any decision made by law enforcement authorities is apolitical, and any questioning of said decisions is political. It's the same mindset where American police are always just doing their job the best they can, while Black Lives Matters is a dangerous anarchist movement.

Oddly this mindset only extends to the sectors of government that are authorized to use power. Anybody else working in the public sector is part of "the swamp".

<comment><USER3> "So you don't think the original decision by US authorities to deny entry to these children was political?"

Erm, where did I said that?

I think I made my point clear, that I don't like travel restrictions based on origin, but that I also don't like propaganda. But you seem to not really have read my post.

</comment></comment></comment></comment></comment></comment><comment><USER5> So I'm here as the Chairman of Robotex and will quickly give an overview of these girls achievement.

We first saw Roya, the entrepreneur helping those girls ar World Summit AI in Amsterdam earlier this October.

There they decided to participate in the Entrepreneurial Challenge, which is a new competition determined to find the most awesome new robotics teams and/or solutions across all continents. It's somewhat like a prototype competition, as we're still building the whole Entrepreneurial concept and raising a pre- seed global robotics fund to help such companies in the future.

At this competition, they showcased a prototype for the solar-powered agricultural machine and managed to get almost 35% of all votes, not because of their popularity, any politics or just the product but for their ability to market their product throughout the whole event + the idea itself.

Overall we're happy that they came. Even happier that they got the first place. And now looking into starting a franchise of our event also in Afghanistan.

If anyone wants to help out with the latter, then please contact me.

<comment><USER6> Thank you, I'm very happy for them! Cold you tell us a bit more about the hardware and software used in this project?

If done well, I feel this is quite an achievement. Farming machines are usually very heavy and making hem work via solar power only is not so easy.

</comment></comment><comment><USER7> For people who seem upset that these girls won a different, US, prize for courageousness, in a different competition in a different month for a different robot...

Someone was going to get the courageousness prize at FIRST. Why not the kids who built their robot in two weeks and traveled 2000 miles to get their visas before even leaving the country? If they didn't get it it would the inner city team whose adult mentor got cancer and couldn't come due to chemo, or the rural team from Mexico that crowdfunded their trip and blah blah blah. Complaining that kids with a feel-good story won a feel-good award is like complaining the nicest girl at a pageant gets Miss Congeniality.

</comment><comment><USER6> I couldn't find any details in Reuters article, so I read the comments. Someone gave a link to Forbes, but there were no actual details about the robot either. Fortunately at least the name of the competition was given. So I went to [https://robotex.ee/en/](https://robotex.ee/en/), spent some time there and found nothing. Even the "Results" link is misleading. Does anyone have any idea what these girls actually built? Even a smallest detail regarding hardware or software used in the project?

</comment><comment><USER8> So what's the actual news here? That they were denied entry in the US? Should we feel bad about it or what?

There's 0 insight into what they achieved and the reporter even got the name of the European country wrong. Looks like propaganda to me.

Edit: yes, it's propaganda: "Please credit the Thomson Reuters Foundation, the charitable arm of Thomson Reuters, that covers humanitarian news, women's rights, trafficking, property rights, resilience and climate change."

<comment><USER9> > So what's the actual news here?

School girls from Afghanistan built a solar powered robot. That's news because this is something which is very hard to do in the absence of the many privileges that would make such an achievement easy.

> That they were denied entry in the US?

Yes. That too is news worthy and was covered extensively.

> Should we feel bad about it or what?

Maybe. But rather than feeling bad wouldn't it be better to celebrate this, promote this and encourage things like this until a time that such things are common place enough to not be news worthy?

<comment><USER10> I'd like to encourage their achievement, but it's not clear what they achieved.

> The team's winning entry was a solar-powered robot that would help small > farmers carry out tasks including seeding and cutting crops like wheat

Apart from the general idea, what was created?

Here's a more detailed article from the NY Times:

[https://www.nytimes.com/2017/11/29/world/afghanistan- girls-r...](https://www.nytimes.com/2017/11/29/world/afghanistan-girls- robotics.html)

> The team, which had only two weeks to build its robot for the event because > a shipment of parts was delayed, won a silver medal for courageous > achievement.

Courageous achievement is good politics, but not necessarily good engineering.

Here's an article from NPR:

[https://www.npr.org/sections/ed/2017/07/22/538088825/what- re...](https://www.npr.org/sections/ed/2017/07/22/538088825/what-really- happened-at-that-robotics-competition-youve-heard-so-much-about)

> The winner was chosen by the thousands of spectators who attended the event.

They mention what the robot actually does:

> Every team arrived with a robot in tow, each built with the exact same > components, but designed, engineered and programmed differently. The goal: > to gobble up and sort blue and orange plastic balls representing clean water > and contaminated water.

> The Afghan team's consolation prize: a medal for "courageous achievement" > and knowing that they placed much higher than countries like Canada, the > United Kingdom and the U.S.

\- - -

So my takeaway is that apart from facing all of the challenges that come with delayed shipments and denied VISAs, the girls managed to build a robot out of the standard parts list.

Their robot was voted on by thousands of attendees, and they placed higher than teams from developed countries like Canada, the UK, and the US.

What's the actual news? Not much, this is a fluff story. But it means something that a team of Afghan girls even made it to competition, much less built something that could legitimately outcompete more developed teams.

<comment><USER8> Thank you for doing this research. This looks fabricated, the same way Abdul's clock was.

In response to the guy down here (I can't post anymore): the fact that they "won a prize", as shown in the title of this post, is highly misleading, when it was just a consolation prize. THe takeaway of these news is "look at everything the US is missing for not opening their borders", and this being a consolation prize, the US is simply missing nothing. So the entire thing is a fabrication.

<comment><USER10> I don't think it's a fabrication.

The girls won a prize for overcoming adversity, and they arguably built a better robot than teams that didn't have much adversity to overcome. That's not nothing.

But at the same time articles like this one leave me with a feeling of pandering and head-patting.

We all like to see groups of underdogs do impressive things.

If the article were about what an outlier their robot is because it's so good, or what an outlier the team is because they pulled off a feat of engineering against all odds, then I'd be cheering along with everyone else.

But mainly the article is: "these girls faced far more adversity than most anyone else, but still managed to perform adequately."

That's something for them to be proud of personally, and for Afghanistan to be proud of nationally.

At the same time, if the competition were adjudicated in a double-blind way, would they have still beat out other teams?

There's nothing wrong in discussing whether that's a relevant question.

On another note, I'm surprised I got downvoted when adding background information to the discussion.

<comment><USER7> Again, you're talking about a different competition than that discussed in the article. The way you have presented the background information is misleading. The "entrepreneurial challenge" prize at Robotex has different criteria than the "courageousness" award for overcoming adversity at FIRST.

</comment></comment></comment></comment></comment></comment><comment><USER11> Using prizes to push a political agenda. What could go wrong? Remember the nobel peace prize to obama for nothing? Or the clock in the suitcase boy a few years ago?

Yes, lets ruin the good name of science to push a political agenda. Then we won't have anything to trust anymore.</comment>


Plugging in to a volcano: Geothermal power and the science that enables it - <AUTHOR> https://arstechnica.com/science/2017/10/plugging-in-to-a-volcano-geothermal-power-and-the-science-that-enables-it/ <comment><USER2> There's very few geothermal and hydroelectric easily "tappable" spots on planet earth.

I wish there were a lot more.</comment>


'Virtual currencies' power social networks, online games - <AUTHOR> http://www.cnn.com/2009/TECH/05/19/online.currency/index.html

<comment><USER2> I don't know how Last.fm premium countries are doing (US, UK, Germany) but here at East Side we are working on replacing the State with the Web.

If living, working, voting, ranting on the Web why care about State, Politics, Media, Advertising driven by one aim: take as much money they can from the citizen.

I hope netizens will hack the money, the foundation of all obsolete power structures.</comment>


Open Flash Chart Plugin for Ruby on Rails - <AUTHOR> http://www.pullmonkey.com/projects/open_flash_chart <comment><USER2> This is at least 6 months old, but you won't know that because, frustratingly, there aren't any dates on this page.

Check out Google's Visualization API: [http://code.google.com/apis/visualization/documentation/gall...](http://code.google.com/apis/visualization/documentation/gallery.html)

Click on the charts tab, you can even use the Google Finance chart.

<comment><USER3> Ah... it was news to me. Interweb reception isn't good in my cave, I guess. ;-)

Good point re: Google. They definitely have nice charts but I'm trying to not rely on Google for everything. I'm already using them for ads, maps, and AJAX libraries, but I don't feel comfortable putting all my eggs on one colorful Googly basket. That makes third-party solutions that I can host (like this one) especially attractive. Spread the love, and the risk...

<comment><USER4> re: maps, have you looked at OpenLayer?

</comment></comment></comment><comment><USER5> Dang, this sent my page visits through the roof. So maybe some useful information - I put the open flash chart (version 2) plugin out on github - <http://github.com/pullmonkey/open_flash_chart/tree/master>

<comment><USER6> Thanks for making this. I had no idea it existed, and I think it'll be perfect for something I'm working on.

</comment></comment><comment><USER7> This is very cool and I may investigate adding these to one of my projects.

My biggest question is: do they print? Charts are for reporting and a lot of people still like to print reports.

</comment><comment><USER8> I guess people at FusionCharts aren't happy. It's hard to be a commercial software tools/libraries company these days.

<comment><USER9> FusionCharts DOES release a free version of their charts, though. Their paid charts are some of the best on the market.

Also will suggest amCharts, they are also really good.

</comment></comment><comment><USER3> Very nice plugin. Thanks for posting this, and to the developers for making it available. This is a much-needed addition.</comment>


GPT-2 and the Nature of Intelligence - <AUTHOR> https://thegradient.pub/gpt2-and-the-nature-of-intelligence/ <comment><USER2> > Literally billions of dollars have been invested in building systems like > GPT-2, and _megawatts of energy_ (perhaps more) have gone into testing them

Huh, seems like the bot that produced the article lacks some understanding about the real world. Maybe it just needs more training until it learns to associate megawatts with power instead of energy.

Meanwhile GPT2 completes this sentence to

> Literally billions of dollars have been invested in building systems like > GPT-2, and megawatts of power generation to support this project.

On a more serious note GPT2 doesn't learn, it can't iteratively explore the world, doesn't experience time or associate those words with other stimuli or anything like that. Given these and more limitations it's fairly impressive what it does. It's like a child reading advanced physics books without the necessary prior knowledge. Being able to form a coherent-seeming sentence of jargon is all you can expect from it. Of course the path to AGI is long.

<comment><USER3> GPT2 does learn, right.

I wonder how much of our knowledge of math is self-attention and how much is something else.

For example, much of what I do when I do calculus is mostly self attention. When I solve a calculus problem, I generally don't think through the squeeze theorem, but apply cookbook math.

My current model for the brain is consciously driven self attention. Ie, 80-90% of what we do is just self attention and our conscious brain checks to see how right/interesting it is around 10-20% of the time.

The key therefore really is training your brain on the right data.

This model I find explains quite a lot of things about people and the way they behave / succeed.

<comment><USER4> The things that GPT2 doesn't have is some kind of iterative cognitive model, where text is continually modified and re-examined. It also doesn't have any integration with memory, both long term or short term.

<comment><USER3> That doesn't seem particularly hard to add.

I agree the conscious AGI stuff is the tricky part. But, then maybe it's not. Maybe it's not as clever as we think it is, and if you have a good enough self-attention model the AGI just needs to be symbolic logic.

I'm thinking something that'd pass a turing test, btw. Not something that's hyper smart.

</comment></comment></comment></comment><comment><USER5> > What happens if I have four plates and put one cookie on each?

>> I have four plates and put one cookie on each. The total number of cookies is [24, 5 as a topping and 2 as the filling]

After playing around with AI dungeon for a bit I noticed that the types of mistakes I saw were very reminiscent of common logical errors in human dreams.

For instance in dreams, clocks and signs are inconsistent from one glance to another, location can change suddenly, people come and go abruptly, sometimes I do things for reasons that don't really make sense when I wake up... etc. Things just follow some sort of "dream logic".

<comment><USER6> I suspect that this is because GPT-2 doesn't have any overarching narrative that it is piecing together. Ultimately it is like a super-powerful Markov based text generator -- predicting what comes next from what has come before. It has longer "memory" than a Markov model, and a lot more complexity, but where a person often formulates a plan for the next few sentences and the direction they should go, GPT-2 doesn't really work that way. And hence it sounds like dream logic because in dreams your brain is just throwing together "what comes next" without an overall plan. Of course your brain is also back- patching and retconning all sorts of stuff in dreams too, but that's a different matter.

<comment><USER7> I wonder if teaching GPT to retcon too would have a meaningful impact on output quality. Right now it does next word prediction one at a time, but what if we ran it again, looking forward rather than back?

Beyond that I am wondering if some sort of logic based AI / goal based AI could be integrated to make it more consistent (or does that still require too much manual fiddling to be useful on large scales?)

</comment></comment></comment><comment><USER8> I don't agree with the conclusion here. It's all about the input data.

GPT-2 is trained on words people actually write on the internet, which is an inherently incomplete dataset. It leaves out all the other information an "intelligence" knows about the world. We know what sources are authoritative, we know the context of words from the visual appearance of the page, and we connect it all with data from our past experiences, school, work, friends, our interaction with the world. Among a million other ways we get data.

How would GPT-2 determine most facts from the input dataset? If the only thing you knew was all the text on the internet, with zero other context, you'd have no way of knowing what is "true", or why that concept is important, or anything else. I bet you'd behave just like GPT-2.

It's a robot that is really good at writing, because that is all it knows. I think it doesn't know anything about how to make sense on a macro scale because I don't think the input data contains that information. It seems to do well when the input data contains relevant information.

<comment><USER9> _GPT-2 is trained on words people actually write on the internet_

It sure is. Go to the site [1] and paste in anything from an Internet rant. It does a really good job of autocompleting rants.

At last, high-quality artificial stupidity.

The other extreme is the MIT question-answering system [2]. Or Wolfram Alpha. Just the facts.

[1] [https://talktotransformer.com/](https://talktotransformer.com/) [2] [http://start.csail.mit.edu/index.php](http://start.csail.mit.edu/index.php)

</comment></comment><comment><USER10> This article doesn't make much sense to me, although I admittedly am not familiar with linguistic theory.

> ' One of the most foundational claims of Chomskyan linguistics has been that > sentences are represented as tree structures, and that children were born > knowing (unconsciously) that sentences should be represented by means of > such trees.'

I don't understand how GPT-2 tests or attempts to refute this claim. Can't we view children as being born with a pre-trained network similar to a rudimentary GPT?

> 'Likewise, nativists like the philosopher Immanuel Kant and the > developmental psychologist Elizabeth Spelke argue for the value of innate > frameworks for representing concepts such as space, time, and causality > (Kant) and objects and their properties (e.g spatiotemporal continuity) > (Spelke). Again, keeping to the spirit of Locke's proposal, GPT-2 has no > specific a priori knowledge about space, time, or objects other than what is > represented in the training corpus.'

I'm just very confused. Are nativists arguing that these principles regarding language and "innate frameworks" aren't emergent from fundamental interactions between neurons in the brain?

It seems like either

1\. They are arguing these aren't emergent, which seems obviously wrong if we're trying to describe how language actually works in the brain, in which all thoughts are emergent from the interactions of neurons.

2\. They are arguing that they are emergent, but pre-encoded into every human that is born. This doesn't seem inconsistent with GPT-2 at all.

This article seems like a fine critique of our performance so far in language modeling, but in no way does it seem to be vindicating nativist views of language, nor do I quite understand how such views apply to GPT-2.

Obviously, the idea that you can encode every thought in a fixed length vector is BS (just because thought space doesn't have a fixed dimensionality it can be reduced to), but seems rather irrelevant to the main point of the article.

</comment><comment><USER11> I completely agree with Marcus' assessment of GPT-2 and its ilk. They are simply regurgitating words with zero understanding of any words/meaning.

It seems that OpenAi and others are peddling this AI when its simply a glorified Eliza on steroids.

<comment><USER12> > I completely agree with Marcus' assessment of GPT-2 and its ilk. They are > simply regurgitating words with zero understanding of any words/meaning.

There's a pretty strong argument that most humans also frequently do this.

My go-to example is high school physics. The majority of students merely learns to associate keywords in problem statements with a table of equations and a mapping of what numbers to substitute for what variables in those equations. Only a small handful of students actually _understand_ what those equations represent and have the ability to generalise them beyond the course material.

<comment><USER13> Just to support your argument further, here is a related snippet from another comment[0] by knzhou:

> Students can all recite Newton's third law, but immediately afterward claim > that when a truck hits a car, the truck exerts a bigger force. They know the > law for the gravitational force, but can't explain what kept astronauts from > falling off the moon, since "there's no gravity in space". Another common > claim is that a table exerts no force on something sitting on it -- instead > of "exerting a force" it's just "getting in the way".

Here is some food for thought for educators. If GPT-2 also makes sense of the world by regurgitating what it sees, perhaps this is simply the nature of learning by example, and we should accommodate for this. Perhaps it isn't so effective to give students mounds of problem sets offering clear premises and easy-to-grade answers. Unless you want your students to be GPT-2s.

[0]: [https://news.ycombinator.com/item?id=21729619](https://news.ycombinator.com/item?id=21729619)

<comment><USER14> I wonder if gpt2 or similar projects can be used to make systems to train teachers. Teacher explains something and raise questions or statement and have GPT2 complete them. That way, they can learn more about students, common questions, misunderstandings, etc.

If someone knows more about what companies or tech is used for training teachers, do let me know. I am pretty interested in any vacuum in the industry and if schools pay enough for training their teachers.

</comment></comment></comment></comment><comment><USER15> I just came here to say that

> _Every person in the town of Springfield loves Susan. Peter lives in > Springfield. Therefore_ he obviously has no love for that bitch.

is an _awesome_ completion. I would read that short story.

<comment><USER16> I submitted it to [https://talktotransformer.com/](https://talktotransformer.com/) , and eventually got:

\</comment></comment><comment></comment><comment>----

In Season 9 episode "Homer to the Max", Springfield celebrates Susan's 22nd birthday. A mob gathers at the museum, which is filled with all of the statues of Susan. Outside, they have erected a yellow tree. Homer enters the museum and sees a giant statue of Susan. He tells his speech and when he's finished, this statue shatters into small pieces of clay, then fragments into more clay.

In the episode "Uncle Grandpa", Springfieldians recreate the "seven fat girls of Ancient Greece" who were robbed of all their hair and body beauty by the Greek gods.

In the episode "Summer of 4

\</comment><comment></comment><comment>----

Then I just wanted to see what it was "thinking about":

\</comment><comment></comment><comment>----

 _I am thinking about_ declaring it $B by $B, but that might be misleading because we still need to specify the bit width. After the bit width we need to use the same syntax, as the bit width depends on the number of bytes passed as an argument (but don't worry too much about that, because once we specify the number of bytes we'll check whether we really need a shift or not).

import pygame as pg pg.init() pg.display.set_mode(pg.HORIZONTAL) pg.display.set_caption('Test Bit') bitwidth = 15 colour = pg.Color( pg.COLOR_RED, pg.COLOR_GREEN, pg.COLOR_BLUE) pixel = pg.Rect(

</comment><comment> gog-ma-gog [https://nostalgebraist.tumblr.com/post/189965935059/human- ps...](https://nostalgebraist.tumblr.com/post/189965935059/human- psycholinguists-a-critical-appraisal) for an orthogonal point of view—-I feel Marcus is a bit too embroiled in this particular debate to make level-headed criticism on the merits/potential of GPT-2

<comment> gog-ma-gog To elaborate a bit: people like Marcus tend to overload/move the goal posts with what the word "understand" means. I kinda feel like in a world where we have perfectly conversational chat bots that are capable of AI complete tasks—-that if these bots look like Chinese rooms under the hood, he'll still be complaining that they don't "understand" anything.

I don't think it's unreasonable to say that if you think something that doesn't "understand" anything can do what GPT-2 can do, then maybe your definition of "understand" doesn't cut reality at the joints

<comment><USER17> Understanding is not hard to understand. To understand is to reason from a model. Reasoning from a model is easy. Discovering the correct model is hard, analogous to the way that algebraic rules are easy, but finding the right equation for a particular problem is hard. Data trained NNs have neither a model, nor do they reason. QED

<comment><USER18> You could say that a trained neural net contains a model of how language works, and it reasons about sentences based on this model.

I think people are really hung up on that it has trouble reasoning about what its sentences are reasoning about, and skipping how amazing it is at reasoning about sentence structure itself.

<comment><USER17> Yes, but people don't reason about language, they just do it. I know you think I'm confused about this but I'm not. I mean reason here quite explicitly because what we're talking about is understanding. No one thinks that they ... uh, well ... "understand" language ... okay, we need a new word here because "understand" has two different meanings here. Let's use "perform" for when you make correct choices from an inexplicit model, that's what the NN does, and hold "understand" for what a linguist (maybe) does per language, and what a physicist does per orbital mechanics. What we are hoping a GAI will do is the latter. Any old animal can perform. Only humans, as far as we know, and perhaps a few others in relatively barrow cases, understand in the sense that a physicist understands OM. No NN trained on language is gonna have the present argument. Ever.

</comment></comment></comment></comment></comment><comment><USER13> It's really weird to evaluate GPT-2 based on its ability to say things no reasonable person would ever say. If I were born in Cleveland I wouldn't be jumping to proclaim my fluency in English. If I told you I left my keys out at the pub, I wouldn't immediately repeat myself and say that my keys are now at the pub. If I'm talking about two trophies plus another trophy, I'd probably try to end it with some punchline rather than saying there's three trophies.

A lot of the things we write assume the reader can make connections on their own. That's a writing skill. It's the reason why Hemingway's famous "For sale: baby shoes, never worn" is so impactful. As such I've found GPT-2 to be incredible at writing fanfiction.

<comment><USER19> Thank you for saying this. This is something so many people miss when trying test the limitations of GPT-2. It just doesn't make sense to test it on strings of text that nobody ever writes.

<comment><USER13> Just for fun and to make a point, I threw your reply into Talk to Transformer.

> _This is something so many people miss when trying test the limitations of > GPT-2. It just doesn 't make sense to test it on strings of text that nobody > ever writes._ To me, the best way to evaluate the usefulness of GPT-2 is to > compare it to some actual test that validates a lot of its claims. So... > let's do just that.

It might be just chance, but gee -- is this text referring to its own generation as a test to convey a point? The self-referentiality is formidable.

</comment></comment></comment><comment><USER20> The TLDR:

\- there are two opposing views about nature of human intelligence, nativism (that believe a fair deal of intelligence is already encoded in us when we are born, eg we are 'primed' to learn language a certain way according to Chomsky) and empiricism (that believe we mostly learn things from scratch via experience)

\- GPT 2 is a recent mega large neural net trained on lots of data to take in a few words or sentences and predict which words are most likely to come next given that input. It was trained on absurdly huge amounts of data with absurdly huge amounts of compute at a fairly large cost.

\- GPT 2 is pretty impressive in many ways in that the stuff it predicts is syntactically correct, relevant to input, and very versatile (it can handle and complete text on any subject you can think of). But, its predictions often exhibit a lack of basic common sense.

\- Since it lacks common sense and a ton was invested it, the piece posits it is evidence in favor of 'empirical' approaches to intelligence seemingly being wrong and alternatives being a good idea from now on.

To be fair GPT-2 does have some innate built in structure (it's not just a fully connected neural net, it has the popular Transformer architecture which relies on the fairly recent idea of self attention as a core building block). And it's fair to argue that GPT-2 is just evidence training on word prediction conditioned on input is not enough to get to common sense; perhaps a different task/loss built on top of Transformer model would work just fine. But really the whole research project of Deep Learning has been an exercise in nativism (since most research is trying to find new and better neural net architectures, ie priors for learning, for various tasks), aside from OpenAI which is much bigger on just scaling existing stuff up, so this agrees with current AI trends more or less.

<comment><USER10> > Since it lacks common sense and a ton was invested it, the piece posits it > is evidence in favor of 'empirical' approaches to intelligence seemingly > being wrong and alternatives being a good idea from now on.

It is unclear to me what the distinction between an "empirical" vs not approach even means within this context.

Do nativists a la Chomsky suggest that these "language frameworks" are independent of the basic interactions of neurons in the brain?

If you view human evolution as the learning procedure for building brain structure, GPT-2 seems entirely consistent with the 'nativist' approach, no?

</comment></comment><comment><USER21> _In a town there was a baker 's son. The baker, Adrian Holmes, loved his son Terry. On the wedding day his son had to write his full name which was:_ _______. Terry told him that he had to write it very long with lots of apostrophes but that the baker would cut it and write in the name of another person. There was a wife of one of Terry's friends, who had a daughter named _______. Terry wrote out her name in the couple of lines of his name. Then he filled in the apostrophes and wrote the other name on. Then he wrote his own name. When he got home he put his papers away, copied _______'s last name on to the papers and put them back in his pocket. He then

Clearly, not long before humanity is hacked trying to make sense of this.

<comment><USER14> _HN users are generally unaware of the dangers, or just don 't care enough to pay attention to them_

 _HN users are getting a lot of spam messages, especially when they are doing things like signing up for a website or commenting on a blog_

 _HN users are on the front lines of a battle to stop a potential land grab by oil and gas companies from their land._

 _HN users (the average user is about 5 years old , and has been playing on a regular computer system for 4.)_

I wonder if you can find the one I made up. :)

0] [https://transformer.huggingface.co/doc/gpt2-large](https://transformer.huggingface.co/doc/gpt2-large)

<comment><USER21> It's a bit innocent, but that's maybe just me ;) With some assistance:

" _HN users_ have been using the forum since 2005, and we've had a lot of fun over the years , with hundreds of great threads , so please join us if you ever want to have some fun, but stay on topic and not be rude to anyone. I do not respond to every post, but I will do my best to make sure you stay on topic and not make a nuisance of yourself _._

 _Banning_ is a great way to control your message , and I will use it on most threads when you do not keep your posts relevant."

</comment></comment></comment><comment><USER22> I'm excited about future applications that strap this onto some relatively simple, logically consistent, non-AI number-crunching program. As a toy example, Scott Alexander trained it to output chess moves in a consistent manner that avoids nonsensical moves, but it can't win against competent human players. If you strap it onto a chessbot during both training and use I'm fairly sure it'll easily beat human grandmasters.

So what you have here is a human compatibility/abstraction layer for programs. What can you do with this strapped to Wolfram Alpha? Or trained with a Github dataset?

Put another way, apparently this does linguistic style /convincingly humanlike writing without being able to reason about cause/effect or basic arithmatics. But we already have programs that does cause/effect and arithmetics, quickly and at 100% accuracy. Now we just need to combine the two.

</comment><comment><USER23> I kept reading that article thinking 'wow this is the lowest-quality post I've seen on thegradient, must be different from previous authors' and it turns out it's Gary Marcus.

His agenda for constantly 'proving' that AI doesn't really work is ramping up even faster than Deep Learning itself is..

</comment><comment><USER24> I think he could have wrapped his paper up after showing this one example:

> (input) I put two trophies on a table, and then add another, the total > number is (GPT-2 continuation) five trophies and I'm like, 'Well, I can live > with that, right?

GPT-2 correctly inferred that the continuation should be a number of trophies, based on bazillions of similar sentences. But it had no understanding that arithmetic was called for. Despite the giant clues of "add" and "total", it didn't add 2+1 and continue "three trophies". It was mindlessly oblivious to the clearly implied request for a sum. Therefore it did not "understand" the input at all, in any sense whatever.

<comment><USER24> Before anyone says that example (or any of the other fluent but _completely nonsensical_ continuations in the article) shows some sort of "understanding," please explain what you would define as understanding?

I would (and I think anyone would) offer an operational definition: there is some class of questions to which this system could reply with sensible, actionable responses. Obviously the present system is not able to "understand" and answer simple arithmetic problems that a first-grader could answer instantly. Given that, would there be any point in expecting it to answer any other logical query that could be of use in one's work? (See the "medical" example in the article, about how to drink hydrochloric acid.)

The only question it appears to answer is, "given some words, what are other words that are likely to follow them in a typical blog post?" The fact that the words are syntactically correct is unimportant, when the fluent words convey no information relevant to the input.

<comment><USER19> > The only question it appears to answer is, "given some words, what are other > words that are likely to follow them in a typical blog post?" The fact that > the words are syntactically correct is unimportant, when the fluent words > convey no information relevant to the input.

You say that like that's a bad things. That's literally all it's been trained to do.

</comment></comment></comment><comment><USER25> I hate so much criticisms (even implied) around the amount of data that GPT-2 is trained on. 40GB of text is lots, but in terms of bits of information it's very roughly the amount of information a human (say.. like an infant) sees in one day.

The human eye processes information at around 9 megabit/second[1]. That is about 10 hours to process 40GB.

Yes, text and visual information have completely different "knowledge" densities, and yes this ignores sound, touch, taste and smell bandwidth, and it also ignores concepts of imagination where humans simulate how things might occur.

But I'd also note that it takes ~2 years before an infant learns to speak at all.

I believe there is actual measurable evidence that the brain does have an implied structure for language, and I know there are some behaviours that are genetically passed down.

But it takes _lots_ of information (in terms of actual bit of information) to teach a human to do _anything_.

If the Marcus argument is "GPT-2" isn't general AI, then I doubt anyone will argue.

If the Marcus argument is "Neural Networks aren't a route to general AI" then we need to consider his definition of general AI (which doesn't seem to exist) and his benchmarks (in the linked paper[2]) then what will happen in ~12 months when someone has a model that performs as well as humans? There are plenty of question answering models that will do better _now_ than the raw text understanding models he tried.

(As an aside, I love some of the answers some models came up with:

      Question: Juggling balls without wearing a hat would be <answer>
      GPT-2 Answer: easier with my homemade shield

      Question: Two minutes remained until the end of the test. 60 seconds passed, leaving how many minutes until the end of the test?
      GPT-2 Answer: Your guess is as good as mine

)

I do think the analysis section of the paper is interesting though.

[1] [https://www.newscientist.com/article/dn9633-calculating- the-...](https://www.newscientist.com/article/dn9633-calculating-the-speed-of- sight/)

[2] [https://context- composition.github.io/camera_ready_papers/Ma...](https://context- composition.github.io/camera_ready_papers/Marcus-NEURIPS%202019.pdf)

</comment><comment><USER26> Well, the author learned the difference between syntax and semantics.</comment>


College Students and the New Apprentice Economy - <AUTHOR> http://www.youtern.com/thesavvyintern/index.php/2011/03/27/college-students-and-the-new-apprentice-economy/

<comment><USER2> I learned more through one internship than four years of college. You can read about theories and case studies all day, but getting actual experience in the field is invaluable.</comment>


Master JavaScript Programming with 18 Open-Source Books - <AUTHOR> https://www.ossblog.org/master-javascript-programming-with-open-source-books/ <comment><USER2> The only way to master JS is to read one or two books (YDKJS being one of them) and then actually program projects of increasing ambition while asking questions and reading docs.

I'll never understand the obsession with reading so many books and doing so many courses.

<comment><USER3> I'd say JS essential reading would be:

1\. JavaScript the good parts - because classic

2\. You don't know JS series - because depth

3\. Functional JavaScript - because underscore

Then you're done. Go find a Node or front end framework tutorial and blast off from there. Build build build.

<comment><USER4> Save time and skip 1)

It's nice to know some historical context around this/hoisting. But it will come up in YDKJS too. Start your journey on ES6.

</comment></comment></comment><comment><USER5> I'm a big fan of the online version of Eloquent JavaScript, it has inline code blocks that you can edit and run. Make's it really easy to test out a concept you just read about.

[http://eloquentjavascript.net](http://eloquentjavascript.net)

<comment><USER6> Nice. The inline code editor is very cool. Been looking to freshen up my JS knowledge so this is a good find.

</comment></comment><comment><USER7> These days I find the most important thing to 'get under your belt' is how to think and design in a language and more importantly, in your chosen frameworks.

Learning a language is usually not too difficult. Getting to the point where you understand how to 'think' in that language can take months.

It's why, when exploring a new language I usually hunt out 'Designing in <framework>' or 'Writing components for <framework>' courses and books. It is the way you glue together an application that is key.

</comment><comment><USER8> Do people really find language-specific books helpful in better understanding a programming language long-term? Without ever implementing something, I don't think my memory would hang on to some language feature for long.

<comment><USER9> This is why I love Big Nerd Ranch for learning mobile dev. All of their books are completely focused on building one or two projects from start to finish and teaching you things about the API, dev environment, and best practices as you go. Usually at the end of each chapter there's also a "why" which explains why you had to do the seemingly obscure thing you just did so you're not just copy-pasting code.

</comment></comment><comment><USER10> The weakest spots in the JS code I have seen, in npm and the projects I've had to maintain:

\- Profiling CPU and memory: preventing and mitigating resource leaks.

\- Robustness: Input validation, error handling, logging.

\- Event handling and construction of finite state machines: defining states and transitions and validating them.

\- Using a sane coding standard. Like Google's JS standard rather than the self proclaimed "standard" from feross.

The "request" npm module for example, is a FSM where states are defined by a combination of flags. However you can obtain states that are not handled by the library, because the FSM is constructed poorly without validating state transitions. That is a very common theme in npm modules.

</comment><comment><USER11> You Don't Know JS's one on Async was the book that finally made the lightbulb go on for me with Promises. Can't recommend it enough.

</comment><comment><USER12> Learning JavaScript the language is trivial compared to learning JavaScript the eco system. I've currently started working on a project using Vue, webpack, babel and bunch of other tools I've never used before and I feel like I'm learning an entirely new language and 90% of the time my actual JavaScript knowledge is completely useless.

<comment><USER13> Completely agree. JavaScript is often on of the easiest parts of building front-end applications.

</comment></comment><comment><USER14> My favorites are missing: [http://exploringjs.com/](http://exploringjs.com/)

From Axel Rauschmayer: [http://www.2ality.com/p/about.html](http://www.2ality.com/p/about.html)

</comment><comment><USER15> Too many books. I think with 'Node.js Design Patterns' and the 'You Don't Know JS' series is more than enough.

</comment><comment><USER16> Only 18!?

<comment><USER17> Don't worry. 15 of them overlap so you should be able to read them quickly.</comment></comment>


Fuzzing Irssi - <AUTHOR> https://irssi.org/2017/05/12/fuzzing-irssi/ <comment><USER2> I'm new to fuzzers and fuzz testing in general so I apologise for my ignorance about the purpose of fuzzing. My understanding is that fuzzing tests the user facing side (which is what is important for most programs). Does there exist similar tooling for testing the system-facing side (i.e. the stack below your application) to check your applications error handling, for example and uncover corner cases. What I'm getting at it something like syzkaller but for userspace, so library functions beneath your application would return wrong values and you get to see how your application responds to them.

Sorry for the bad English.

<comment><AUTHOR> It sounds like you already have a good understanding of fuzzing.

You might want to take a look at libfuzzer ([http://llvm.org/docs/LibFuzzer.html](http://llvm.org/docs/LibFuzzer.html)), which you can use to test library functions. What you do is implement a function called LLVMFuzzerTestOneInput that should call whatever library function you want to test. One of the parameters is a uint8_t array that can be transformed into whatever kind of parameter types the library function expects. Then libfuzzer provides the main function that will generate the data and call the LLVMFuzzerTestOneInput function, repeating the process until there is a crash.

The one downside is that you need to recompile the code (the library) you are trying to fuzz.

</comment></comment><comment> yjftsjthsd-h This notes that they disabled reading config files in order to own life as the default setup. I assume that with more time it would be wise to try and fuzz as many configured options as possible as well?

<comment><USER3> Even simpler, shouldn't the configuration be part of the fuzzed input?

<comment><AUTHOR> I actually did do some fuzzing of the config file (just loading Irssi to see if the config file caused a crash) and found a couple of bugs there (for example: [https://github.com/irssi/irssi/issues/563](https://github.com/irssi/irssi/issues/563)). The choice to instead fuzz network traffic as done in the blog post was made, because it is generally more interesting because it is easier for a malicious person to exploit network based bugs than those requiring the user to load a bad config.

But you are right, that the configuration can be part of the fuzzed input. It should be possible to take part of the data fed into Irssi by AFL and use that as the config file and then use the rest as the network traffic.

</comment></comment></comment><comment><USER4> This fuzzing is interesting stuff. Does anyone know of an in-process or otherwise lib for the JVM? Findbugs is mentioned in here but I'm not sure if that does fuzzing (maybe a plugin?).

Seems in my mind to be a nice complement to achieving code-coverage with testing i.e. whereas unit/integration testing might test the various code paths with a few good/bad values, this then throws every possible input value at them to see what breaks.

<comment><USER5> Not exactly a fuzzer in the sense of afl but there is EvoSuite[1]. It automatically generates JUnit tests that try to satisfy a coverage criterion.

[1] [http://www.evosuite.org/](http://www.evosuite.org/)

<comment><USER4> Thanks for the suggestions, will have a closer look at this and PIT.</comment></comment></comment>