HNHacker News
TopNewBestAskShowJobs

c3RlcGhlbnI_

131 karma · joined September 20, 2014

submissionscomments
c3RlcGhlbnI_··on Show HN: bash.rocks – A bash interpreter in the browser
What would make it really powerful/useful is toggle that switches the current source to an interactive mode that runs new lines as you press enter.
c3RlcGhlbnI_··on A Cyberpunk Manifesto – Revised
The original has a rhythm, it reads like a poem. Shouldn't the corrections have tried to maintain that?

This version is awkward to read and that draws attention to how silly some of its statements are. Like that you might just want to take a little walk sometimes is not a crucial component of the manifesto, it just helped that paragraph flow before.

c3RlcGhlbnI_··on Show HN: Sedy, a GitHub Bot Bringing Linux Sed to Code Reviews
How much of the power of sed does it bring?

I feel like other sed expressions might be even more useful in this format. For example:

    200i #TODO optimize this
will insert a comment before line 200 and:

    s/.*goto.*/cowsay \0/e
    T
    s%^%//%
    s%\n%\0//%g
will take every line that contains a goto and replace it with a commented out cowsay version of itself.
c3RlcGhlbnI_··on Typing Practice for Programmers
This is really bad for getting better at typing for code in the same way all other typing tutors are.

The problem is that programming overuses a bunch of character sequences that rarely come up in standard english and thus in most of your typing practice, e.g. special characters, and mid-word capitalization. If you want to improve your typing speed for programming faster than you would just writing code normally you have to focus on those sequences.

You would probably want to practice with something that looks more like obfuscated code than beautifully formatted segments. Ideally you could even generate such segments so as to work out your least performant two character sequences while not slowing you down too much by being too random looking. Though even just repeatedly typing "jf" then random characters using the right pinky will be more helpful than this or https://typing.io

c3RlcGhlbnI_··on Dear JavaScript
Yeah, I don't think a name change would have fixed this case. Here you were just wrong. You failed to predict the impact of such a visible change and as such did not implement the change in such a way to minimize impact or use an appropriate migration plan so as to not surprise users.

Sadly the users most likely to be inconvenienced by a change like that are also those with the least knowledge of the product(like if you don't know what babel actually does, you aren't going to understand why the cli stopped working or why you need this new config file to make it do something). That leaves them frustrated and angry but with a poor understanding of why and what adequate solutions would be. There is nothing you can do about that, asking the community to be nice isn't going to help because most of your users don't think they are even in a community.

The only things you can do are try to anticipate them a bit, and to try and count the criticisms but ignore their contents(and search yourself for the deeper cause). Luckily the first part is sort of easy for JS projects because most of the active tooling development in JS is on things that have been done many times before. In this case you could have just looked to gcc and wondered for a bit why they still ship with --std=gnu90 by default, despite how maddening that must be for all the developers working on new features that go underused as a result. You could have looked at all of the other software that is stuck dragging forward dumb configuration systems with complicated defaults and layers of precedence instead of just asking users to fill in a few config fields on first run.

So I do want to say that I am so sorry on behalf of your users, and I really appreciate the work that you do. However that was a real mistake with babel and a big part of improving the interaction between you and your users unfortunately falls on you.

c3RlcGhlbnI_··on GNU plotutils
An interesting tool. It does the right thing by default in ways that gnuplot doesn't. You shove data into it on stdin(or as a file) and it gives you a decent looking graph.

The bitmap font rendering is unacceptably bad though, and it seems awkward to do anything more than a basic 2d plot.

c3RlcGhlbnI_··on Ask HN: Are there any systematic and scientific ways to develop a habit?
Quickly trying to bootstrap my knowledge of the field I have a few things for you.

First of all as such the examples you have given aren't quite habits. A habit is generally defined in the research as a sort of automatic response to contextual cues. So running just "every day" can never be habitual, however running as a specific part of your morning routine can become habitual.

Secondly the cue is the essential part in making the habitual behaviour override your conscious intentions. It is however both necessary and sufficient, so you don't necessarily need to worry too much about rewards or accountability to make things stick. Just developing the association between cue and behaviour is enough.

And that is basically all we know for certain so far. At least as far as I can learn skimming the first related literature review that popped up (http://www.tandfonline.com/doi/full/10.1080/17437199.2013.87...) and some of the associated papers.

If you are not the kind of person who can through willpower alone get yourself to set up the cue and do the action it may benefit you to get help from someone who is better at that kind of thing until the habit is automatic.

c3RlcGhlbnI_··on Cards Against Humanity is digging a hole in the earth
The time added per donated donated dollar is decreasing towards a limit. The subreddit seems to think that it is designed to max out at 48 hours total.
c3RlcGhlbnI_··on My Subconscious Is a Better Developer Than I Am
This makes a lot of sense when you consider more just how small a role your "conscious" mind plays in your cognition. It is really more of a control center, and has direct access to a very limited amount of your computing power. You can't consciously monitor all of your sensory neurons, or make use of the math processing your mind can do to throw a ball, or manually coordinate your muscles.

You can see the effect of this very clearly while talking. You don't plan out each word ahead of time, you go to say something and the words come out. You can choose to take a step back and plan things in more detail, but this isn't your default mode of operation. Also even then in your head the words tend to seem to just come from somewhere in a stream, like a little stimulation of what you were doing talking out loud.

It is not generally helpful to think of this as a different person, it is you and you stand to gain a lot from learning to trust it. Like how you trust it to be able to recall minute details of API documentation despite not being able to reproduce them in full. You can't recall every code problem you have ever solved, but in a way your subconscious has, and it has been refining them into a process to produce those incredible insights.

c3RlcGhlbnI_··on TDD Doesn't Work
Is it entertaining or funny if you identify with the character who is talking down? I mean this particular example doesn't seem to contain any jokes from my reading.
c3RlcGhlbnI_··on TDD Doesn't Work
Oh man, it is really funny that he ends it with telling people to read the study.

To clarify the linked study is attempting to replicate https://dl.acm.org/citation.cfm?id=1070834, THE seminal study in Test Driven Development. Well to be more precise it was replicating an existing replication of that study which failed to replicate the original results. They were trying to modify the design so as to account for issues in the experimental design that may have led to the replicated study being inconclusive.

This is significant because if you were not aware of the failed replication, and believed that TDD was supported scientifically as more productive because of that original study, then you SHOULD be reconsidering its place in your development process. If that isn't the case your opinion is unchanged by these particular results(even in the article inspiring this one the author admits that their opinion was already based on a much more thorough analysis, see: http://neverworkintheory.org/2016/10/05/test-driven-developm...).

Now what I want to know is why people insist on writing articles in this awful conversation format. It wastes a lot of words to make a simple argument poorly.

c3RlcGhlbnI_··on Google – My Activity
I use this relatively often. Mostly because it provides history search across devices. So if I ever looked for something before and found just the right answer I can retrace my steps from only a vague recollection.

However the UI is a bit awkward for that usage. It seems to definitely be designed more for the average user who is using it exclusively for history deletion, like the activity log on facebook. The default grouping of entries makes deleting them in chunks easy but scanning through them hard. The UI also makes it easy to spot what site an entry is for at a glance but chooses not to show the url despite having plenty of space to.

c3RlcGhlbnI_··on Show HN: Bashcached – memcached built on bash and ncat
They won't look very good. I'm pretty sure the hash map data type that bash provides is of a fixed size, so performance will degrade pretty quickly as the number of cached items increases past that.
c3RlcGhlbnI_··on IRC v3
No, it isn't easy but that is what makes it the kind of thing that requires great spec work to accomplish. It would require proposing transitional steps and monitoring their adoption over a very long timeline.

However reading their site more carefully I suppose their stated goal technically is to only provide extensions to the protocol.

So the situation you describe already happens, user A has 512 bytes to send to the server, but the server has 512-prefix_length bytes to send to B. This is a flaw in the original protocol and the currently accepted solution is to truncate server-side(what to do is not stated explicitly, though it is implied that you probably shouldn't wrap messages). But fixing it is probably out of scope.

c3RlcGhlbnI_··on IRC v3
My favourite bit is how they skipped adding length negotiation and it is causing them problems already. See the brief discussion of size limit on http://ircv3.net/specs/core/message-tags-3.2.html

Adding tags forced them to increase message length because of how IRC messages are hilariously limited to 512 bytes in all directions. In the existing protocol you already have to guess how long your messages are allowed to be because the server tacks on a prefix to your message before relaying it, which can require it to truncate characters to fit the modified message into the length limit. Having some amount of tags tacked on as well would have made it impossible to guess how much room you had.

Now if they had started with fixing the actual protocol they wouldn't have had to deal with that. Honestly this feels more like a standard "let's add cool stuff" push than intelligent stewardship of the protocol. I guess that is kind of cool too though.

c3RlcGhlbnI_··on Purposes, Concepts, Misfits, and a Redesign of Git
The paper doesn't discuss much how their implementation does better on their listed issues. One particularly interesting issue git has is referred to at one point as "Incoherent Commit":

"The problem with commit is that it constitutes a violation of the coherence criterion: the same concept (commit) has more than one, unrelated, purpose: make a set of changes persistent (P1) and group logically related changes (P2).

"These two purposes are not only unrelated, but in tension with each other. On the one hand, you would like to save your changes as often as possible, so that if something bad happens you lose as little data as possible (thus encouraging early committing). On the other hand, a logically related group of changes usually involves multiple individual changes, which means that you might be working for quite some time before you have enough changes to group (thus encouraging late committing).

Now a fix for that would be useful. Git only provides you with the ability to create a graph, and you get to choose what you use it for. You have to choose though because there is only one graph. Gitless doesn't seem to fix this problem, you still have to choose what goes into your final commits. Though I don't know what you could do about it without changing git to support something like grouping commits into blocks that are modified as a unit.

c3RlcGhlbnI_··on The Keyword – New central source for news and stories about Google
I'm impressed that they actually seem to have aggregated most of their blogs into this(except for a few like the google cloud blog that someone else here noted). I'm not used to google transitioning fully to a new service at launch. Usually the new and old versions of services are left to coexist as the new version works on reaching feature parity.
c3RlcGhlbnI_··on The Effect of State Marijuana Legalizations
Why? Many of the flaws that jump out at me are not so significant that they would be worthy of concern on their own and I appreciated other people clarifying the group's affiliations(I probably wouldn't have been curious enough to go back and read a bit more otherwise).

Though honestly if this is a scientific study it is very strange that they omitted their methodology entirely(how did they select the data, how did they compare the statistics before and after, how did they account for confounding factors, etc). That is pretty fundamental to this kind of analysis and in its absence I would be hesitant to put much faith in even their weak conclusions.

The graphs themselves are definitely interesting though and I would not at all be surprised if they were on the right track.

c3RlcGhlbnI_··on Spaceplan
Cool, but does a clicker game really need to use 4 cores?
c3RlcGhlbnI_··on Ask HN: What kind of chatbot do you need?
Mostly just one for every app on my phone that is just wasting space. However here are the first few ideas that come to mind. Because it is a chatbot for most of these things you can offer an app for just the local business, it doesn't matter if I have to use different chatbot in a different city.

- Pay parking (payment, expiry notification)

- event tickets (purchase, rsvp, ticket image)

- catching pokemon (just catch whatever and message me a snazzy report full of pokemon names every once in a while)

- ordering food

- managing bills (let me know when phone/electrical/heat bill comes in, check usage so far, coordinate payment between all the people in the conversation)

c3RlcGhlbnI_··on Guff – A plot device
Apparently so can gnuplot, however the syntax is really awful.

    awk 'BEGIN{ for(x=-5;x<6.5;x+=0.1){printf("%s\t%f\n", x, sin(x))} }' \
      | gnuplot -p -e "set term dumb size 89,30 aspect 1;plot '<cat'"
Gnuplot really isn't made for that kind of usage, so guff does fill a valuable niche. Though you could also just write a wrapper around gnuplot with an interface that works better for command line usage(this probably already exists).
c3RlcGhlbnI_··on Wait, Google Sent Me
There is always the option of not messing with the request at all. Instead actually have it redirect through google. For example you could have the background script do:

  chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript({
      code: 'window.stop(); window.location = "http://www.google.com/badurl/' + encodeURIComponent(tab.url) + '";' 
    });
  });
and then you can have a content script run on "http://www.google.com/badurl/*" which just does:

  window.location = decodeURIComponent(window.location.pathname.split("/")[2]);
Now that is super brittle compared to your solution, but it does work(for the sites I tried, some may require you to actually fake a search query). It only requires the activeTab permission and content script permissions on one page.
c3RlcGhlbnI_··on The Thinkers Behind Musk’s Fear: Russell, Bostrom, and Omohundro
I know we have put a lot of thought into the potential behaviour of a single intelligent AI, but I always wonder what would be the consequences of creating several AI whose goals will conflict with each other as much as they do with humanity.

While one competing AI would eventually win out over the others, would it be possible to maintain such a stalemate for a long time?

Also unrelated to the above, do we know at what rate the man hours invested in chip development grows as compared to the processing power of the chips?

c3RlcGhlbnI_··on GoogleFeud
It seems that they have hit a daily API limit of some kind. If you enter a space you get the top option right for every question.
c3RlcGhlbnI_··on First pictures of Tonga's newly-formed volcanic island
It seems debatable whether a man made island is allowed to be a country. However you don't get your own territorial waters with an artificial island, which would make things very difficult.

Given that, there is no benefit to leaving exclusion zone. You can just set up in international waters much closer to shore.

c3RlcGhlbnI_··on First pictures of Tonga's newly-formed volcanic island
Wikipedia has one. There is a lot of it https://commons.wikimedia.org/wiki/File:International_waters... (it is the dark blue)
c3RlcGhlbnI_··on Ask HN: Why is it so hard to read comments?
To answer your question for this specific article: dump the url into the twitter search box(there is a lot of activity there and not a lot elsewhere).

Though in general people have selected to have such discussions off site because they want to talk with people within their chosen communities. To facilitate this it is not always in the best interest of the network to invite outsiders into the discussion.

Just look at Twitter for an example of what happens when you don't do anything to insulate communities from outsiders. If you post an article to have a conversation with people in your network, an influx of outside voices can just show up and make that extremely difficult or unpleasant.

c3RlcGhlbnI_··on Stellar: How Does Your Galaxy Grow?
Really cool idea, even if it is a bit hard to follow what is going on. Also I see that the game is not out and they don't seem to have published any updates anywhere in the past year.

They probably could have used the publicity a year ago.

c3RlcGhlbnI_··on Conkeror
Any screenshot of the browser conveys very clearly that "That looks like it would intelligently employ keybindings similar to Emacs!". See the screenshot on wikipedia https://en.wikipedia.org/wiki/File:Conkeror_web_browser.png

The lack of buttons and address bar tells you exactly what kind of browser it is and that you should expect it to share many features with things like uzbl and vimperator.

In addition a screenshot like http://www.linuxjournal.com/files/linuxjournal.com/linuxjour... shows you a lot about the navigation tools they have provided.

A browser is a visual tool and many of its distinguishing features are thus much more difficult to explain with words.

c3RlcGhlbnI_··on Hands-on with Vivaldi, the new Web browser for power users
Why did they keep the built in mail client of all things? Fighting opera to get it to use my mail and RSS clients was the worst part of my experience with the browser.

If you want to make a customizable browser, give us the option to not install such unnecessary addons. The browser already seems to use as much memory as chrome, it does not need to waste any more.

Page 1 of 2Next →