Turning Off Native OS X Scrolling for Emacs

One of the minor annoyances of Emacs on the Mac is that it’s easy to inadvertently scroll an Emacs window even if Emacs doesn’t have focus. Usually this happens when I’m working in a browser or in Reeder and I use the trackpad to try to scroll the display but the cursor is sitting on an Emacs window. I tried turning off the scroll bar but the window would still scroll if the cursor was in it.

The other day I was looking through Magnar Sveen’s emacs.d and discovered the answer. All you need do is add

(mouse-wheel-mode -1)

to your .emacs or init.el file.

As I say, it’s a minor thing but if you too are bothered by it, now you know what to do.

Posted in General | Tagged | Leave a comment

Setting An Emacs Per-System Height

Every time I start Emacs I have to adjust the frame size. That’s because my two main systems are a 15 inch MacBook Pro and a 27 inch iMac. In both cases I want the width to be 80 cols so I just set that with set-frame-width in my init.el file. I always ended up setting the height though because the MacBook can handle only 53 rows while the iMac can do 87. I finally got tired of that and added a bit of code to check the system name and set the height appropriately. I’m not even sure this is the best way of handling the problem but it’s simple and works. Here’s the code for anyone else who has a similar problem

(defconst jcs-system-heights '(("aineko" . 87) ("manfred" . 53)))
(let* ((system (car (split-string (system-name) "\\.")))
       (height (assoc system jcs-system-heights)))
  (when height
      (set-frame-height (selected-frame) (cdr height))))

Once you have the system name, you can make any other system-specific adjustments you need. If this init.el is used for another system (such as one of my servers), height will be nil and no action will be taken. If you are using Linux, you can probably get the same effect by setting the X-defaults; I couldn’t find a way of doing this for OS X.

Posted in General | Tagged | 8 Comments

Xah Lee on Crypto

Xah Lee has a nice digest (heh!) of the various cryptography algorithms used on the Web. It’s not a detailed technical picture—there are plenty of those available—but, rather, a short explanation of each of the major algorithms and how they fit into the Web security infrastructure.

This post does not cover HTTPS, SSH, or SSL/TLS but Lee is promising to cover those in a subsequent article. If you’re confused by crypto jargon and are looking for an explanation of what the terms mean and what role they play, you may find this article useful.

Posted in General | Tagged | Leave a comment

Storing Passwords Securely 2

A few days ago, I wrote about the Stormpath Video on how to secure passwords. Now Stormpath has published a blog post that covers the same material. This is good stuff and if you’re working on a site that handles users’ passwords, you need to know this material.

Both the video and blog post give a very accessible introduction on how to handle passwords. If your idea is just to throw them into a database as plain text or to run them through MD-5 and then throw them into a database, you need to study this material. Otherwise, sooner or later, you will have your users’ information compromised. It’s really not that hard—you just need to know what to do. Stormpath is doing everyone a service by telling you the proper steps. Read them already.

Posted in General | Tagged | Leave a comment

Finding Command Suffixes

After my post on How To Really Quit, I scanned through the Emacs section of Brian Zwahr’s Dev and Such blog. He’s got a ton of good Emacs tips there (many from his previous Blog Emacs Journey, which he’s merged with Dev and Such). You really should head on over and take a look if you’re not already familiar Dev and Such.

I don’t want to reblog everything he’s already said but here’s a tip so useful I am going to reblog it to make sure it gets as wide an exposure as possible. I often have a hard time remembering all the, say, register commands. I know they all start with 【Ctrl+x r】 but I find it hard to remember the suffix of the various commands or sometimes even what commands are available. Zwahr’s tip is to type the prefix and then 【Ctrl+h】 to get a list of the commands.

Oddly, the example he gives is exactly the one I always have the most difficulty with: the register commands. Suppose I want to save the point to a register but I can’t remember the exact command. I just type 【Ctrl+x r】 and then 【Ctrl+h】 to get a list of all the commands that start with 【Ctrl+x r】. Since I learned that trick I’ve used it several times. Very very nice!

Posted in General | Tagged | 1 Comment

Emacs Net Utilities

I came across a post by mulander over at My Opera about his journey to Emacs. I found it interesting because it closely paralleled my experience: a long time Vim user moves to Emacs to get Slime. When I did that, I just jumped in and switched to Emacs cold turkey. Mulander, however, started using it “part-time” for specific tasks such as Slime and SQL-oracle mode. Over time he kept discovering new ways to make his work flow more efficient with Emacs. His post has a list of some of the applications that he replaced with Emacs. Be sure to take a look; it’s a worthwhile read.

One of the things I learned about from mulander’s post was the Emacs net utilities. This includes support for (the diagnostic output of) network utility programs such as ping, traceroute, netstat, nslookup, dig, arp, ifconfig and route. It also has native support for finger and whois as well as the ability to connect to a given HOST/PORT. I really love this. I often find myself wanting to ping some other host, check my network configuration with ifconfig, or run a whois. My normal way of doing this is to bring up a terminal and enter the appropriate command. Now I don’t even have to leave Emacs. If I want to check if I’m connected to the outside world, I just type 【Meta+xping and then some external site when prompted1.

The only Emacs documentation I could find for the network utilities is the net-utils.el file. I asked Google and found this nice post from Mickey. Again, I really like this functionality. It’s one more reason to never leave Emacs while I’m working. You can probably find everything you need from Mickey’s post so be sure to take a look at it.

Footnotes:

1 If your system keeps pinging until stopped you will want to set ping-program-options to send only a few pings. You can do that with the configuration facility or by adding

(setq ping-program-options '("-c" "4"))

to your .emacs or init.el file.

Posted in General | Tagged | 2 Comments

How To Really Quit

Brian Zwahr over at Dev and Such shares a very useful tip. Very often you’re in some buffer such as *HELP* and type 【q】 to quit the buffer. This, however, merely buries the buffer. Most often you want to get rid of it entirely. It turns out there’s a way to do that: instead of 【q】, type 【z】. That will delete the buffer entirely.

Sadly, this doesn’t work with Info, which is where I most often want to delete the buffer because they tend to be large. Even so, this is a very useful thing to know.

Posted in General | Tagged | Leave a comment

An Interview with François-René (Faré) Rideau

Vsevolod Dyomkin over at Lisp, the Universe and Everything has posted another in his series of interviews with Lisp luminaries. This time it’s with François-René (Faré) Rideau one of the key developers at ITA and an author of the Google Common Lisp Style Guide that I wrote about recently.

Rideau talks about life at ITA before the acquisition. What he has to say will be familiar to many of us. He also talks about his work on ASDF 2 and how he came to work on it. All in all, it’s an interesting interview and worth a read by all Lispers.

Posted in General | Tagged , | Leave a comment

Storing Passwords Securely

I’ve written several posts about securely storing passwords (this one for instance). Here’s a video from Stormpath featuring their CTO Les Hazlewood that covers the same material for those who prefer a visual presentation.

Hazlewood covers various levels of password storage security from storing passwords in plain text, to systems such as bcrypt, to encrypting the bcrypt output and distributing the results to several different servers. If you want to know how to store passwords correctly, this is an excellent video and well worth a half hour of your time.

Posted in General | Tagged | Leave a comment

Emacs Movies

How did I miss this? Noufal Ibrahim is producing a series of videos on using Emacs. The plan calls for four sections:

  1. Basics
  2. Applicaations
  3. Programming
  4. Elisp

So far, he finished Section 1 with a total of 10 videos. To give you an idea of what he’s covering, here’s a list of the videos in Section 1:

  1. Terminology
  2. Navigation
  3. Editing
  4. The Region
  5. Buffers
  6. Registers and Bookmarks
  7. Minor Modes
  8. Customisation: Part 1
  9. Customisation: Part 2
  10. Keyboard Macros

I’ve watched 1–6 and 10 so far and have been impressed. Ibrahim covered many of the Emacs tricks that I’ve posted about in this blog and a couple of things I didn’t know. The longest video I’ve watched was #4 and that was about 20 minutes. The others are shorter so it’s easy to do one or two a day when you need a short break. They’re well done so it’s worth the time. Ibrahim is also producing a book to go along with the videos but he gave up trying to keep them in sync so the book is lagging behind the videos.

I’ve enjoyed the videos and learned a couple of new things so you should go on over and take a look.

Posted in General | Tagged | 1 Comment