Thursday, September 1, 2011

Hard work headache

Anyway, back to regular business. I haven't posted in a while, but a few days back I got the idea that I should start again since I like trying it anyway.

Blogger's new interface

Wow, what the hell?!

Ok I've been away for a while again, but blogger's interface seems to have gone crazy! I think I like it though...

It looks a bit like the screenshots I've seen of Google+.

Friday, July 22, 2011

Add a menu item to emacs

I convinced my girlfriend to start using emacs for her HTML/CSS/PHP needs a while ago. I thought it would be a nice learning experience both on how someone who doesn't particularly like to get to know the programs she works with and on how to change it to suit her needs.
Even though she's not using it as much as I'd like yet, she has been using it and things have come up.

For starters, she didn't like the default keybindings,
C-x C-f to save
C-w to cut, M-w to copy and C-y to paste
So the first thing I looked up was enabling cua-mode. This already helped her a lot.

Now, she likes to be able to view both her HTML and CSS file at the same time, so very easy, C-x 3 to split the windows side-by-side. As before, though, she doesn't like the key binding. So I looked into how menu items are added in emacs and here is an example of how it's done:
(define-key-after
  global-map
  [menu-bar file splith]
  '("Split Window Horizontally" . split-window-horizontally)
  'split-window)
I was able to write this, thanks to the help of this page. I've come across Xah Lee's website before and it has always been of great help as it has been this time.

This particular piece of code tells emacs to add a Split Window Horizontally menu item, which should execute the function split-window-horizontally, to the File menu, right after the split-window menu item.
I found out the names of these items by using C-h k and then selecting File->Split Window, which shows to which keys this item is bound, and in this case that was <menu-bar> <file> <split-window>, which was all I needed to figure it out.

Since I have (menu-bar-mode -1) in my .emacs, I'd never have tried this if it wasn't for my girlfriend needing it, so it is a great learning exprience.

Tuesday, June 21, 2011

IE6 JavaScript fragility

I've always considered myself lucky to have very little to do with IE6. This is partly because I'm not a web designer and partly because so far I've worked on projects that either have a great deal of control over which browser is used, or ones that didn't care about IE6.

Now though, I'm working for this company, and a lot of our employees work for other companies as well, and they often don't have any other choice than IE6. So now I need to start minding it.
So far I've only really had to deal with parts of the application that people at our office use, and they all use Chrome there, so I've had an easy ride. Now though I'm entrenched in a part that employees have to use as well and immediately things go wrong.

I was unaware that IE6's JavaScript parser is so picky that it doesn't allow left-over commas in arrays.
So this is ok:
$(".datepicker").datepicker({
  showOn:          "both",
  buttonImage:     "images/calendar.png",
  buttonImageOnly: true,
  changeMonth:     true,
  changeYear:      true,
  yearRange:       '1900:+20'
});
But this:
$(".datepicker").datepicker({
  showOn:          "both",
  buttonImage:     "images/calendar.png",
  buttonImageOnly: true,
  changeMonth:     true,
  changeYear:      true,
  yearRange:       '1900:+20',
});
Doesn't actually seem to generate an error in IE6, but it apparently prevents the function from executing, so I only know something's up, because in this case the date pickers didn't show up.

It's not really a big deal, but keeping comma's at the end is nicer when working with diffs since it keeps the line from changing, just to add a comma.

Anyway, I was very surprised by this, lesson (hopefully) learned. So... Note to self, don't use that trailing , in JavaScript.

Tuesday, June 14, 2011

Another test, this time with highlights!

Ok so I've just tried setting up Syntax-highlighter. If this works, it
was very easy, everything is explained very well on the website.
Ok so all we need to change from that, though, using the autoloader is
that it seems blogger needs the autoloader javascript to be encased in
<[CDATA[ ]]> tags.
now lets see if this works:
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeEmacs.css"
      rel="stylesheet" type="text/css" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js"
        type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js"
        type="text/javascript" />
<script type="text/javascript">
<![CDATA[
SyntaxHighlighter.autoloader(
'js   http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js',
'php  http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js',
'bash http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js',
'c    http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js',
'css  http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js',
'py   http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js',
'sql  http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js',
'xml  http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js',
);

SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
]]>
</script>
Edit: This isn't using syntax highlighter any more, I think I may have found a somewhat more preferable solution.

HTML test

Lets See what this brings. Trying to send an HTML mail through Mail2Blog.

Fonts fonts fonts

A little while ago, when I had installed Meego on my netbook, I became
interested in the way my fonts looked. I'd noticed they looked much
nicer on my netbook than they did on my PC running Archlinux. So I
started to investigate.

Thanks to the awesome archwiki I found out fairly easily that certain
settings in your ~/.fonts.conf file is all it takes. So I put some
settings in there and I was happy.

A few days ago, while browsing the web, I stumbled across a setting
that at first I thought was strange to use. Since what I'd understood
from the archwiki was that the higher the hintstyle, the prettier the
fonts, so I used hintfull, but this page said that hintslight was
nicer, so I tried it and, wow, it was.

Then came frustration, though, because emacs didn't want to play
along.

So I started lookin into it, I found out that target="pattern" should
be used in the <match> tag instead of target="font", unfortunately
this didn't help.

After a long time of looking around I finally found it, for it to work
in emacs I also needed to put these settings in my ~/.Xresources or
~/.Xdefaults, and then xrdb -merge <whichever file use chose>

Have a look here:
https://gist.github.com/1024512

There still seems to be a 1px difference, but I like the look of both
now, so I'm happy.

Or lets see what this does:

.Xdefaults
!xft settings
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight

.fonts.conf
<match target="pattern">
  <edit name="antialias" mode="assign">
    <bool>true</bool>
  </edit>

  <edit name="hinting" mode="assign">
    <bool>true</bool>
  </edit>

  <edit name="hintstyle" mode="assign">
    <const>hintslight</const>
  </edit>

  <edit name="rgba" mode="assign">
    <const>rgb</const>
  </edit>

  <edit name="autohint" mode="assign">
    <bool>true</bool>
  </edit>
</match>