recentpopularlog in

kme : history   296

« earlier   later »
I've talked and written recently about why "just pick[ing] up Lua or Python" was... | Hacker News | https://news.ycombinator.com/
JS, in contrast, after stagnation, has emerged with new, often rapidly interoperating, de-facto (getters, setters, array extras, JSON) and now de-jure (ES5) standards, the latter a detailed spec that far surpasses C and Scheme, say, in level of detail (for interop -- C and Scheme favor optimizing compiler writers and underspecify on purpose, e.g. order of evaluation).
javascript  lua  python  tcl  theweb  history 
november 2017 by kme
bash - Multi-line, double quoted string triggers history expansion on subsequent single-quoted commands it gets piped to - Stack Overflow | https://stackoverflow.com/
Makes more sense now why things like `echo "Hi there!"` don't work, but `echo "Hi there! "` do.
It is not a bug.

After asking this in the bash-bugs mailing list, I got the following answer:
History expansion is explicitly line-oriented.

It doesn't know about shell state, especially shell quoting state, that spans lines.

It does know about vaguely shell-like quoting that's common across a large set of Unix utilities -- since the history and readline libraries are used outside the shell -- and that a double quote introduces a quoted string in which single quotes are not significant and don't inhibit history expansion.
Upvote for documenting this, but that's insane behavior. – tripleee Jun 20 '16 at 8:42
bash  quoting  historyexpansion  history  weirdness  annoyance  gotcha  solution  fuckina 
november 2017 by kme
Diodon Team in Launchpad
AppIndicator support works in elementaryOS Loki. Seems to have a privacy setting to ignore input from applications like clipboard managers (seems to use Zeitgeist's settings; see https://esite.ch/2014/08/why-does-diodon-not-save-anything-to-the-clipboard-history/)

See also: https://esite.ch/tag/diodon/
vala  clipboardmanager  clipboard  history  linux  solution  utility  software 
september 2017 by kme
At a Family Workshop Near Paris, the ‘Drowned Mona Lisa’ Lives On - The New York Times
Mr. Laerdal wanted a female doll, assuming that men would not want to perform mouth-to-mouth resuscitation on a male dummy. He saw a death mask of L’Inconnue at a relative’s home, was struck by her beauty and decided to make her his model. She was called “Resusci Anne” (“CPR Annie” in the United States) and became a physical symbol of salvation. Since then, millions of people have learned CPR on her, making her the world’s most beloved life-size doll.

As the company’s website explained: “Inspired by the ‘young woman of the Seine,’ CPR Annie has become the symbol of life for millions of people around the world who have received training in modern techniques of resuscitation and for those whose lives have been saved from unnecessary death.”
art  history 
july 2017 by kme
FaceFacts — May 7, 2011
Facebook is a living computer nightmare. Just as viruses took the advantages of sharing information on floppies and modems and revealed a devastating undercarriage to the whole process, making every computer transaction suspect… and just as spyware/malware took advantage of beautiful advances in computer strength and horsepower to turn your beloved machine of expression into a gatling gun of misery and assholery… Facebook now stands as taking over a decade and a half of the dream of the World Wide Web and turning it into a miserable IT cube farm of pseudo human interaction, a bastardized form of e-mail, of mailing lists, of photo albums, of friendship. While I can’t really imply that it was going to be any other way, I can not sit by and act like this whole turn of events hasn’t resulted in an epidemic of ruin that will have consequences far-reaching from anything related to archiving.


So asking me about the archiving-ness or containering or long-term prospect of Facebook for anything, the answer is: none. None. Not a whit or a jot or a tiddle. It is like an ever-burning fire of our memories, gleefully growing as we toss endless amounts of information and self and knowledge into it, only to have it added to columns of advertiser-related facts we do not see and do not control and do not understand.
facebook  internet  history  thewaythingswere  privacy 
june 2017 by kme
Unix System - YouTube
A look at the many new versions of Unix and its challenge to DOS and OS/2.

Guests: Rick Davis, Frame Technology; Karen Lusardi, Sun Microsystem; Janet Dobbs, Hewlett Packard; Bill Jacobs, Apple; Karen Christian, Wiesel Lab; Doug Michels, SCOMichael Karels, UC Berkeley

Products/Demos: Sun 386i Unix Workstation; Sun; Write; Sun; Paint; Sun; Draw; Sun File Manager; Open Look; OSF/Motif; HP 9000 360 Unix Workstation; X Windows with A/UXSCO Xenix
unix  video  thewaythingswere  history 
june 2017 by kme
UNIX: Making Computers Easier To Use -- AT&T Archives film from 1982, Bell Laboratories - YouTube
Kernighan (KERN-i-gan) making a spellchecker out of pipes: https://youtu.be/XvDZLjaCJuw?t=315
...on Unix productivity, composition, and "One Thing Well": https://youtu.be/XvDZLjaCJuw?t=607

...and Ritchie / Kernighan talking about formatless files, pipes: https://youtu.be/XvDZLjaCJuw?t=778

Kernighan on pipelining/pipes, followed by Lorinda Cherry demoing them: https://youtu.be/XvDZLjaCJuw?t=800
unix  bellabs  computing  pipes  history  video 
june 2017 by kme
a/esr-sharing
When you were in college, did you ever meet bright kids who graduated
top of their class in high-school and then floundered freshman year
in college because they had never learned how to study? It's a common
trap. A friend of mine calls it "the curse of the gifted" -- a tendency
to lean on your native ability too much, because you've always been
rewarded for doing that and self-discipline would take actual work.
linux  kernel  history  development  curseofthegifted 
april 2017 by kme
Shooting Parrots – Random Thoughts in a Random World
The system for reporting spelling mistakes is pretty cool.
news  blog  inspiration  history 
april 2017 by kme
xenoterracide: Making re.pl usable
Update 2017-10-25: Finally found out how to keep Ctrl+C from terminating the REPL--add the "Interrupt" plugin.

You will probably need to install Sys::SigAction, because that doesn't seem to be pulled in as a dependency of Devel::REPL.

On a Mac, you will need to install Term::ReadLine::Perl.

<code class="language-perl">
# put this in $HOME/.re.pl/repl.rc
use 5.012;
use warnings;

load_plugin qw(
Colors
Completion
CompletionDriver::INC
CompletionDriver::LexEnv
CompletionDriver::Keywords
CompletionDriver::Methods
DumpHistory
History
LexEnv
ReadLineHistory
Interrupt
);</code>
perl  repl  config  configfile  movein  syntaxhighlighting  history  completion  solution  fuckina  essential 
december 2016 by kme
The Case Against Honeybees | Atlas Obscura
Looked at head-on, these problems are not so much a result of the honeybees' decline as a symptom of their ascendance. Without a stackable, shippable, one-size-fits-all pollinator, we would need to work around native bugs' needs. We would have had to leave them some diverse, livable habitat, in and among the identical rows of crops. The honeybee has lent us "the unfortunate capacity—in the short term—to do without little fringes of nature," says Hirsh. "Without the honeybee industrial complex, you would have to keep those bits around." We used the bees to build a flawed system, and now that they're collapsing, it is, too. We don't have to save the honeybee—we have to save our land from honeybee dependence.
bees  agriculture  farming  history  monoculture 
september 2016 by kme
Why the President Needs a Council of Historical Advisers - The Atlantic
We suggest that the charter for the future Council of Historical Advisers begin with Thucydides’s observation that “the events of future history … will be of the same nature—or nearly so—as the history of the past, so long as men are men.” Although applied historians will never be clairvoyants with unclouded crystal balls, we agree with Winston Churchill: “The longer you can look back, the farther you can look forward.”
history  politics  policy  wisdom 
august 2016 by kme
13. Interactive Input Editing and History Substitution — Python 2.7.12 documentation
You should probably also add 'Tab: complete' to your ~/.inputrc.
# Add auto-completion and a stored history file of commands to your Python
# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
# bound to the Esc key by default (you can change it - see readline docs).
#
# Store the file in ~/.pystartup, and set an environment variable to point
# to it: "export PYTHONSTARTUP=~/.pystartup" in bash.

import atexit
import os
import readline
import rlcompleter

historyPath = os.path.expanduser("~/.pyhistory")

def save_history(historyPath=historyPath):
import readline
readline.write_history_file(historyPath)

if os.path.exists(historyPath):
readline.read_history_file(historyPath)

atexit.register(save_history)
del os, atexit, readline, rlcompleter, save_history, historyPath
python  interactivemode  readline  history  configfile  repl  fuckina  solution 
july 2016 by kme
version control - Change the author of a commit in Git - Stack Overflow
Github has a public script for that help.github.com/articles/changing-author-info and it works great! – rodowi Jun 25 '12 at 0:57

You could do

git rebase -i -p <some HEAD before all of your bad commits>

Then mark all of your bad commits as "edit" in the rebase file. If you also want to change your first commit, you have to manually add it as first line in the rebase file (follow the format of the other lines). Then, when git asks you to amend each commit, do

git commit --amend --author "New Author Name <email@address.com>"

edit or just close the editor that opens, and then do

git rebase --continue

to continue the rebase.

You could skip opening the editor altogether here by appending --no-edit so that the command will be:

git commit --amend --author "New Author Name <email@address.com>" --no-edit && \
git rebase --continue

Single Commit

As some of the commenters have noted, if you just want to change the most recent commit, the rebase command is not necessary. Just do

git commit --amend --author "New Author Name <email@address.com>"

This will change the author to the name specified, but the committer will be set to your configured user in git config user.name and git config user.email. If you want to set the committer to something you specify, this will set both the author and the committer:

git -c user.name="New Author Name" -c user.email=email@address.com commit --amend --reset-author

Note on Merge Commits

There was a slight flaw in my original response. If there are any merge commits between the current HEAD and your <some HEAD before all your bad commits>, then git rebase will flatten them (and by the way, if you use GitHub pull requests, there are going to be a ton of merge commits in your history). This can very often lead to very different history (as duplicate changes may be "rebased out"), and in the worst case, it can lead to git rebase asking you to resolve difficult merge conflicts (which were likely already resolved in the merge commits). The solution is to use the -p flag to git rebase, which will preserve the merge structure of your history. The manpage for git rebase warns that using -p and -i can lead to issues, but in the BUGS section it says "Editing commits and rewording their commit messages should work fine."

I've added -p to the above command. For the case where you're just changing the most recent commit, this is not an issue.
git  devel  rewriting  history  commitlog  scm  versioncontrol  oops  solution 
july 2016 by kme
Donald Trump's Struggles Are Howard Zinn's Fault, According to Rush Limbaugh - The Atlantic
Confronted with the most flagrantly unqualified presidential candidate in living memory, a boorish, undisciplined, transparently polarizing nominee, a man reviled by principled movement conservatives whose explicit reasoning Limbaugh well knows, the talk-radio host tells his audience that a left-wing activist historian is responsible for Trump’s low poll numbers, because he poisoned the minds of America’s youth.
politics  america  history  education 
june 2016 by kme
Does evolution explain the social antipathy to refugees? | Aeon Essays
Thus, present-day humans must grapple with legacy systems. These are cognitive routines that were highly adaptive and useful in another time, but that have since become outmoded, clunky and sometimes detrimental – yet they cannot be dumped or overwritten because they underlie basic functions of the human machine. One of these legacy systems relates to forming coalitions with other humans.

Various experiments demonstrate that people feel an almost irresistible urge to form and react to groups – to both consciously and subconsciously identify self and a select cohort of others as part of an ‘in-group’, with the rest belonging to ‘out-groups’. Just what is required for a group to form can be trifling, and the mechanism is evident in our youngest selves.

Few Westerners who travel long distances choose to do so by foot or boat – and certainly not by traipsing through muddy fields, or boarding overcrowded wooden fishing vessels and cheap rubber dinghies. Exacerbating that are the images of brown-, black- and olive-skinned people who are distressed, confused, exhausted, bedraggled and sometimes angry. These markers build on differences already inferred through language, religion, ethnicity, culture and ideology.

Few groups engender so many markers of difference as refugees. As Neuberg points out: ‘All those cues come together and activate the threat-management systems, and altogether make immigrants and refugees a perfect storm for prejudice.’

This happens rarely, primarily because humans routinely hold multiple competing or inconsistent positions on a single subject, and simultaneously believe in the absolute good and absolute truth of those inconsistent positions. Robert Kurzban, an evolutionary psychologist at the University of Pennsylvania and the author of Why Everyone (Else) is a Hypocrite: Evolution and the Modular Mind (2011), explains that: ‘It’s a mistake to pay attention only to what comes out of the mouth when we’re trying to understand what’s in the mind, because there are many, many parts of the mind that can’t talk.’

In the context of evolution, this makes sense. In Palaeolithic times, altruism toward an in-group member had a cost but promised a return, whereas altruism toward an out-group member had only costs. ‘Remember that we lived for nearly all our evolutionary history in relatively small groups with people we had longstanding, reciprocal cooperative exchange relationships with,’ Neuberg says. ‘To the extent that you feel empathy for a member of your group who is in pain or in difficulty in some kind of way, it increases the likelihood that you will help them and, over time, that increases the likelihood that they will remain productive members of the group. It increases the likelihood that you will have someone to go to later when you’re in need.’
evolutionarypsychology  evolution  history  prejudice  refugees  psychology 
june 2016 by kme
Using Bash's History Effectively - https://web.archive.org/
special knowledge

If you know you haven't executed any commands with the same starting letter sequence since then, you can just use the built-in Bash history expansion command ! followed by the first few letters of the command.

The unique string doesn't have to be at the start of the command. You can use the more flexible built-in Bash history expansion command !? followed by a unique string appearing anywhere in the command.

Both of these commands will immediately recall and execute the most recent matching command. Thus, it is usually not a good idea to use these methods with destructive commands like rm!

some knowledge

If you aren't positively sure of what would happen if you were to use the ! or !? method, or if you need to search for something more unique in the command than the first few letters can provide, then you could use the history search feature.

Before you begin typing your command, type ctrl-r. This will put you into history search mode (actually, reverse incremental history search mode).

Now when you begin typing, the most recent command matching what you've typed so far will appear on the line with a cursor at the start of the match. (Try playing around with this feature; there are a few interesting behaviors in there.)

When you've found what you're looking for, you have a couple of options. Just pressing Enter will immediately recall and execute the command. ctrl-j or Escape will retrieve the command, but allow you to continue editing. If you can't find what you're looking for or if you just change your mind, hit ctrl-g or ctrl-c to cancel.

vague memory

If you really are uncertain of the history or if you know you could be searching back through many similar commands for one of particular interest, then you can use this more brute-force method.

Type the following command to get a list of all related commands with their history numbers:

history | grep -i "<search string>"

Once you've found the command you want, you can execute it specifically by its number using the following built-in history expansion command:

!<history number>
bash  history  howto  configfile  customization  reference 
november 2015 by kme
Linux command line tips: history and HISTIGNORE in Bash - TechRepublic - http://www.techrepublic.com/
Note that a literal tab may be required in the HISTIGNORE character set; or just use 'HISTCONTROL=ignorespace' as suggested in the comments.
Some people use this variable to keep their history file nice and tidy, by removing the commands that they're unlikely to bother recalling, such as ls, fg or exit. Another good tip comes from this page which includes the tip that if you add "[ \t]*" to your HISTIGNORE variable you can make any command be ignored by starting it with a space. Good if you need a little extra privacy for some commands.

I know this post is too old, but since it shows up in google search on "histignore", I have to add, that there's more-- em, 'built-in' way of ignoring commands that start with " ". So, instead of adding "[ \t]*" to HISTIGNORE, you can use HISTCONTROL=ignorespace. But actually I don't know if it makes any difference. Just makes your .bashrc more readable.
bash  security  dotfiles  history  solution 
november 2015 by kme
dvorka/hstr · GitHub
Bash and zsh shell history suggest box - easily view, navigate, search and manage your command history.
bash  shell  cli  history  utility  software 
september 2015 by kme
The Case for Git Rebase
If the two developers had done git pull --rebase every time, they would have resolved conflicts locally so that the later rebase to master would not have any old conflicts to resolve. In this case the conflicts were gnarly enough that rebasing was not practical. Once that happens then rebasing becomes impossible for any branch containing this sequence.
git-rebase  rebase  history  devel  scm  bestpractices  opinion 
june 2015 by kme
« earlier      later »
per page:    204080120160

Copy this bookmark:





to read