131 karma · joined September 20, 2014
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.
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.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
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.
The bitmap font rendering is unacceptably bad though, and it seems awkward to do anything more than a basic 2d plot.
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.
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.
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.
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.
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.
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.
"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.
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.
- 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)
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). 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.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?
Given that, there is no benefit to leaving exclusion zone. You can just set up in international waters much closer to shore.
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.
They probably could have used the publicity a year ago.
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.
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.