Lyrics

wow. Just opened lyrics for Paramore - Fences . Of course I knew that these words mean something more...

«i think that the song is about this famous person who is always gettin talked about. and when they say that its abvious tht youre dying it doesnt mean that they r really dying. they mean that they r dying inside from all the lies aand rumors. and then hayley says she will teach then how to build their fences so that they can block out all the rumors...» © jelopop

Completely agree with this comment.
Yeah, the song is awesome, go listen it now.

P.S. 1000 plays on last.fm, yay:
Picture_1

About iPad

Oh, the iPad... I want it... or not?
Apple-ipad
On the one hand, it is very awesome. Like a big iPod Touch, but with iWork and other cool apps. It's very good for entertainment. YouTube HD, awesome interface for photo gallery... well, awesome interface for everything. And it's a big GPS navigator.

On the other hand, it's not good for work. I like the interface of Keynote, the animations, moving the slides with multi-touch... but my work is not making presentations. And I never need to use those "office" software. I'm a programmer at all. And it's a bit expensive ($500). For example, zenPad costs $155.

So, I'll buy an iPad only if Emacs will be ported to it!!

Designing an iPad web application with jQTouch and Invisible CSS

If you know jQuery and iPhone, you must know jQTouch. It's a very awesome plugin for iPhone web apps. It supports animation, geolocation, swipes... well, everything. And these apps (made with jQT) aren't limited to iPhone — I can use them on my Windows Mobile phone with Opera 10 :)

So imagine that we need a to-do app. But first you must know the difference between iPhone and iPad applications.

iPhone ones can display only one screen — list of items or one of these items.

iPad ones can display both at the same time. Just because of the biiiiig screen! (we're focusing on landscape mode right now)

Let's design this app. Just one screen with no functionality — I said «design».

oooooooooooooooo

<!DOCTYPE html>
<html>
<head>
  <title>iPad To-do</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <link rel="stylesheet" href="http://krosswordr.ru/site_media/i/jqtouch/jqtouch.min.css" /> 
  <link rel="stylesheet" href="http://krosswordr.ru/site_media/i/themes/apple/theme.min.css" /> 
</head>
<body>
  <div id="main" class="current">
    <div class="toolbar"><h1>iPad To-do</h1></div>
    <ul class="rounded">
      <li class="arrow">Inbox</li>
      <li class="arrow">Today</li>
      <li class="arrow">Tomorrow</li>
      <li class="arrow">Scheduled</li>
      <li class="arrow">All tasks</li>
    </ul>
  </div>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://krosswordr.ru/site_media/i/jqtouch/jqtouch.min.js"></script>
<script type="text/javascript">
  $(window).load(function(){
  $.jQTouch();
  });
</script> 
</body>
</html>

Well, it was easy. If you want to make an app for iPhone, you should add another screen now. But we want it for the iPad, right? My latest creation, Invisible CSS Framework comes right there. We'll make two columns instead.

this code! fork it!

That's right. It's awesome! Now it's your job to add functionality and make a better design ;) And follow me on Twitter.

The Zen of JS

  • Don't be mad about reusable pluggable code, but don't repeat yourself.
  • Optimize your code, but keep it readable.
  • Use only one JS framework. (I recommend jQuery)
  • Embed this framework right from Google's CDN.
  • Think before using fancy JS navigation.
  • Minify all the scripts and compile them into one file automatically with tools like django-assets.
  • Put your <script> tags in the bottom of page's <body>.

Why I don't like CSS grids

Hey, man! CSS grid systems is fixed layouts. Elements' size in px - so 2002! I can't zoom in normally (and just read) - I need to scroll more. I can't make the window smaller (and just read) - I need to scroll more. Why?

So let me show an alternative. The... Invisible CSS framework!
Picture_2
I've been using resizeable layouts for a long time, so I decided to strip out the base. Don't Repeat Yourself, right?
<aside class="sideleft">
My cool sidebar.
</aside>
<section class="withls"> <!-- that means "with left sidebar" -->
Lorem ipsum dolor sit amet...
</section>
As you see, it's easy to use.
But don't think that you can't create something complex with it. Look:
Picture_1
Invisible contains a reset, font settings, some base margins, 50/50 and classic 2/3-column layouts.
It is modular and written in CleverCSS - the Pythonic CSS. Yeah, compiled with pake.
Download? Get it and use it - it's public domain! Also you can check out the source ( bzr branch lp:invisible ) and compile it by yourself - for example, with less modules. But you need clevercss and cssutils for that.