Password Cracking Times

Over at Better Buys they have an interesting post on password cracking times. The post includes an interactive app that lets you estimate the cracking time for various passwords. They also include several examples that show how cracking time is very dependent on password length.

The application is fun to play with but you probably shouldn’t take the results too seriously. They have a list of common passwords that they check against but after that the cracking time is completely dependent on the character types and lengths. Thus, they say that “Password” would be cracked almost instantaneously but “P@assw0rD” would take 14 years. In fact, they would both be cracked almost instantaneously because modern password cracking programs will automatically try these types of common substitutions.

I tried the simple Diceware password “luis pure comet” and was told that it would take 402,695,494 millennia to crack it. That assumes that the cracker can try 13,144,654.63 keys per second. But if the cracker knew or suspected that the password was generated with Diceware, the cracking time would be less than \(2^{13*3}/13144654.63\) seconds to crack. That’s less than 12 hours.

The lesson here is that there’s a bit more than just character types and length involved. If you really want to be safe the answer remains what I’ve told you before: Get a password manager that generates long, random, multi-character type passwords and protect that with a long Diceware type password. Even given you’re using Diceware, a 6 word password would take about 729,094,589 years to crack at 13,144,654.63 keys per second.

Posted in General | Tagged | Leave a comment

Summary of Search and Replace Commands

Om Prakash Singh has a very nice post on the Emacs search and replace commands. We all know the commands for forward and reverse incremental search (【Ctrl+s】 and 【Ctrl+r】), query-replace (【Meta+%】), and query-replace-regexp (【Ctrl+Meta+%】) but each of these commands has a plethora of options that you can invoke and there are other, specialized search and replace commands that are less often used.

All of these commands and options offer very fine grained searching and replacement but they’re really hard—at least for me—to remember. Utilities like guide-key and which-key or perhaps a hydra can help a bit but a summary like Singh’s is useful and worth bookmarking for those occasions when you need it.

You should read through his post just to get an idea of what’s available. There’s a lot of functionality that you may not know about.

Posted in General | Tagged | Leave a comment

SBCL 1.3.5

The new version of Steel Bank Common Lisp (SBCL 1.3.5) has been released. According to the NEWS file, this month’s release fixes 3 bugs and introduces 4 enhancements.

As usual, it built and installed without any problems on my Mac. The two or three previous releases had a failed regression test but that’s also been fixed in this release. Now the regression tests run as expected. It also seemed to me that the compilation and tests ran a bit snappier with this release.

As I say every month, SBCL is an excellent Common Lisp implementation. It’s under constant development with monthly releases and it’s free as in freedom and beer. If you’d like to try out Lisp or you’re looking for a really great implementation, be sure to give SBCL a try.

Posted in Programming | Tagged , | Leave a comment

Multiple Org Capture Inputs

David Zuber over at Storax has a useful post on enabling multiple inputs in an Org capture template. Templates are extraordinarily useful. I have several that I use several times a day. They do have a problem, though: you can input data into only one spot in the template.

Zuber is using capture templates to implement a ticketing system for his workflow. He wants to be able to enter a project and incident number and have them replicated elsewhere in the template automatically. While that’s not supported directly, it’s fairly easy to implement using the custom lisp expressions that the templates do support.

I’ve used custom lisp expressions in the templates I use to manage my blog queue but I hadn’t thought of using them to get keyboard input. It’s a nice idea that makes the templates potentially more useful. If you’re using capture templates, you should definitely give it a read. If you aren’t using capture templates you should consider ways that they might simplify your workflow.

UPDATE: [2016-05-07 Sat 10:37] Be sure to see the comment by Michael Alan Dorman below. He describes an easier, native way of doing the same thing.

Posted in General | Tagged , | 2 Comments

Harry Schwartz on Org Mode

Harry Schwartz, who appears to have moved to Boston from New York, gave a talk at the Boston Emacs Meetup on Getting Started with Org-mode. It’s not really a tutorial but a demonstration of many of Org’s features and how you can use them.

Schwartz spends a lot of time on the publishing aspects, which in many ways is Org’s best feature. One of the things he mentioned in the talk that I didn’t know was that Org can export to the Twitter Bootstap framework. That makes it really easy to build a nice looking Web site from the comfort of Emacs and Org mode.

He also mentions Owncloud, a self-hosted file sync and share server. Schwartz describes it as a sort of private Dropbox. It allows you to sync and share files among your different devices. It’s probably most useful for, say, a team but like Schwartz you can use it to keep your own machines in sync if you don’t want to bother with something like Git.

The talk is about 56 minutes so schedule some time. Even if you’re familiar with Org, you may learn something useful from the talk.

Posted in General | Tagged , | Leave a comment

Building a Hugo Blog with Org Mode

Chris Bonnell has a post up on how he blogs using Org and the Hugo engine. It’s another static page solution like the Jekyll and Nikola ones that I’ve written about before.

This solution is a little trickier because Hugo doesn’t support Org markdown but Bonnell shows how to get around that. You’ll probably need to follow the two links he gives to understand his setup. If you’re trying to decide on a static blogging platform, give Bonnell’s post a read.

Posted in General | Tagged , | Leave a comment

Zero

That’s how many, out of 1,457, requests for electronic surveillance the FISA court rejected—in part or in whole—in 2015. But there’s nothing new here; that’s the same number they rejected in 2014.

So don’t worry about all that spying the government is doing on us; They are under the strict supervision of the courts.

Posted in General | Tagged | Leave a comment

What to do When Emacs Hangs or Crashes

Jisang Yoo has a very nice post on recovering from Emacs hangs or crashes. He considers three topics

  1. What do do when Emacs hangs
  2. How to enable debugging
  3. What to do when Emacs crashes

His advice on Emacs hanging seems mostly aimed at Windows users and doesn’t mention my preferred method of

pkill -SIGUSR2 Emacs

That will usually unstick Emacs enough that you can save your files and quit. Sometimes you can even keep going but I’ve found it’s generally better to save your files and restart Emacs. If you aren’t on a Mac, you will want to use

pkill -SIGUSR2 emacs

instead.

The problem with a crash is that you can lose unsaved work. What I’ve always done in that case is to use recover-file to get the file from disk and fold in the information in the autosave file. Yoo suggests using recover-session instead. This has the advantage of recovering all files from the session that crashed. That’s something I didn’t know but that I’ll use from now on.

Yoo’s post is fairly short and one well worth reading. Knowing the things he talks about doesn’t make crashes/hangs painless but it does take a lot of the sting out of them.

Posted in General | Tagged | Leave a comment

Tips on Writing a Major Mode

Wilfred Hughes wrote an Emacs major mode for Cask. Afterwards, he distilled what he learned into a post on writing major modes. The post is not a tutorial on how to write major modes; it’s a few tips that will make things easier.

This post is a nice followup to a previous Hughes’ post that did serve a tutorial role. I wrote about that post here. If you’re thinking of writing a major mode or think you might in the future, it’s worthwhile bookmarking both his posts.

Posted in General | Tagged | Leave a comment

Aphantasia

Blake Ross and I have something in common. We’ve both learned a fact that blew our minds. The thing is, it blew our respective minds for opposite reasons. Ross suffers from a condition called aphantasia: the inability to form mental images. He describes it as being blind in your mind.

The startling revelation is that Ross is 30 years old and has just learned that not everyone is like him. Likewise, I was shocked to discover that this condition, far from being the rare result of a physical trauma, is perhaps not common but far from uncommon. Studies show that perhaps 2% of the population suffer from aphantasia.

Ross’s post is a long description of what it’s like to be unable to visualize things in your mind. It’s more than being unable to imagine a beach scene. Ross can’t recall his father’s image or even “see” a triangle in his mind. Those of us who don’t suffer from aphantasia find it difficult to imagine what it’s like but Ross does a good job of describing it. To me, the astounding thing is that he was 30 before he discovered that most people are constantly forming mental images.

Read his post; you’ll find it fascinating. I especially enjoyed the reactions of his friends when he started asking them about it.

Posted in General | 1 Comment