Look on a map if you want to know why you can’t see the Pacific Ocean from Korea.
Sometimes there are real gems in subber commentaries. xD
Look on a map if you want to know why you can’t see the Pacific Ocean from Korea.
Sometimes there are real gems in subber commentaries. xD
If you follow Railscast 228 you get sortable table columns for your model. But what if you don’t want to expose the name of the actual database columns or more interesting if you want to sort across tables? Here is how I do it.
In your controller add order
or reorder
if you already have an order clause in one of the used scopes (default_scope
counts too).
class AttendeesController < ApplicationController def index @attendances = @conference.attendances.reorder(sort_query).page(params[:page]) end # ... end
As I’m using this mechanism in different controllers I added the common functionality to the application_controller.rb file.
class ApplicationController < ActionController::Base helper_method :navigation_params, :sort_column, :sort_direction protected # supports only attendances for now ALLOWED_SORT_COLUMNS = { "fee_payed" => "fee_payed", "fee_payed_on" => "fee_payed_on", "name" => "users.last_name, users.first_name", "payment_confirmation_sent_at" => "payment_confirmation_sent_at", "registered_at" => "registered_at", "registration_confirmation_sent_at" => "registration_confirmation_sent_at", "town" => "users.town" } # use this in views def sort_column ALLOWED_SORT_COLUMNS.keys.include?(params[:sort]) ? params[:sort] : "name" end def sort_direction %w[asc desc].include?(params[:direction]) ? params[:direction] : "asc" end def navigation_params { direction: params[:direction], page: params[:page], sort: params[:sort] } end def sort_query sort_query_column.split(',').map{ |column| column + ' ' + sort_direction }.join(', ') end # use this in controllers def sort_query_column ALLOWED_SORT_COLUMNS[sort_column] end end
This will use the ALLOWED_SORT_COLUMNS
hash to map between user visible and actual database sort columns. Adding sort_query
also allows us to sort by multiple columns at once. navigation_params
is a shortcut I use when generating URLs (e.g. in link_to
) and I want to preserve pagination, sorting, filters/searches, etc. across pages.
def link_to_sortable(column, title = nil) title ||= column.titleize sort_icon = column == sort_column ? content_tag(:i, nil, class: (sort_direction == "asc" ? "icon-chevron-down" : "icon-chevron-up")) : "" direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc" link_to (title+" "+sort_icon).html_safe, params.merge(sort: column, direction: direction, page: nil) end
Note that sort_icon
assumes you are using Bootstrap.
Now we can have sortable columns in our views:
<%= link_to_sortable "name" %> ...
If you are using Cyrus SASL with your Postfix you might feel the need to debug what SASL does in the background. But SASL does not log into /var/log/mail.*. 🙁
So after some research I fount a way …
/etc/init.d/saslauthd stop
Stop the SASL daemon and start it by hand:
saslauthd -d -a pam -r -c -m /var/spool/postfix/var/run/saslauthd
Consult the MECHANISMS
and OPTIONS
settings in /etc/defaults/saslauthd for which options to use in your case.
But the most important option is -d
. It will run the daemon in the foreground and make it more verbose.
Now it will show you everything it does. 😀
Don’t forget to start the actual daemon once you are done debugging:
/etc/init.d/saslauthd start
If you want an idea on how you are being tracked on the internet and who rats you out to whom you might be interested in Mozilla’s Collusion Demo.
The Windows 8 Consumer Preview (a.k.a. Beta) is out. The link to directly download ISOs is a little hidden though.
If you are interested in C++11 and what might come afterwards I advise you to have a look at the conference recordings from this years GoingNative conference. 🙂
I especially liked the day 2 keynote, the STL11 guts and the static if talk. 🙂
I talked about how Chrome Beta for Android makes itself feel so snappy.
Well Tony Gentilcore from Google has more details.
The National Security Agency (NSA) has recently declassified an amazing letter that John Nash sent to it in 1955. It seems that around the year 1950 Nash tried to interest some US security organs (the NSA itself was only formally formed only in 1952) in an encryption machine of his design, but they did not seem to be interested.
and
All in all, the letter anticipates computational complexity theory by a decade and modern cryptography by two decades. Not bad for someone whose “best known work is in game theory”.