Monday, November 1, 2010

YouTube 500 Internal Server Error

Was just browsing the youtube and got following Error:

Glad to see people at google haven't lost their sense of humor.

500 Internal Server Error

500 Internal Server Error

Sorry, something went wrong.

A team of highly trained monkeys has been dispatched to deal with this situation.

If you see them, show them this information:
-7d_MvRHp3AtblqYaSvB_6A3OsGV1IT0Cv2b7hE1_Bz23siAq3eqPadFWkia
_sL173jZw26RtTYDOhfNiZOkgMMS0mwDYGlFsBTMEj7K_Hg5heJ1Poaj0g6O
3pE3BYDZd8RyngZQodIAbGvNIIWU4r3r13YY8iwUJlq24TpJJOmzAjzIg-2p
wshMAhuw0udwD4v7KbvtuocryoOlTt7qWA2SMqYQP3zeFjGDHbPACNzBntBv
SDGJZl7A0bjRMubvmVBhIeMKiQCIGaGG7fXdJK5vV4Dclll03qaXerYF1qc1
GiZF8aJv6kNKU30oEFW8DhuQzHwTpqLnS_DcGDdq-qI80IYG_Olg5Qe7szAo
LBQ3opRLEHINOVd9qhuspXF-80sNmZASMg76gAfnmSdl_Bp4lZxbACeW6pNa
Kk9gZcWiuJ64xsdkpYy5504WS_dZRfCD8fgoLMtEI1pf75eQU_6qrLWOUBY7
7zfpO1_g_5GMn1Z7XOM2xbSYjYT-h_p7KyGjD_k6grTyGZJvB77xFwK43sHa
miqwEmwTZ4EMvpcNJRmo9yxl3dRC-PqayXRNQxXYzRerbG9YU5RxsyfRArlB
5jri6CDqprSsZ_ZmdeGvX6KQKYzBTEJ3ZlvBXOyrNJgAKY9gWmTdKmzgTQRG
29i6J_kvS0xRugQx_5oiPMj0OQjiBqF9jXG6fuipr8AzF9ITiJbFBMD6A-84
6dwVX9D-ohd1DvGdAvfKj_t5V2JVBzM6S27OQiQf2uXeI992H_0Uf6PYuLuG
MV3CFlWByvgPykdwjEjJQkHQd_wx9OAnd-0Oz5OOyS7hpVnVBaUvAnJW7Hrm
FaePDcm6U830Is9xLaEnJ9fjIn2AcHWoT698MzKlbQMtm6dlWwmmkRt-SCSD
_vqoPnPUT9HzvdhaZ1XWm8pOBTYKjFXMAwAbPgq5J0C9V4PaIiTxCsQodguf
P60NBZYJJ_0W7o7o06nVScm4ux9s_6ar6DEvC_ExTLPOWxpqtVx-jlFZcuEX
eKrfsTgJDO57tK6t6UaDjzoOz5D7x_Sx6icvEdjGiV7VE8xak2wF57mbHYrA
84BwQ3M-XelArE8kUkO61g8wV08_jCPgxWbzgKTzgYYYPBa_PqFoWyycaEda
e53rEaAOOGnkcOM36lMFIWTdIYMp7JfFayvNfOpusSeIFqclKkBM5dDN7_JV
NusHsv8fm_EcrOJxNmIibZDF-Remoc0NMGv_wit5hHnpfEBMg4qOsK_mQwLq
W1Qa7RZ65tRDMBPeF8kPq7ODYze73ztDSlZjcLrpaihY9SYt21OxgaO8gnFQ
FkpuiAuNEJmtEzOM7dZStd860bagBHMCb1cmo0fz5fXiNzjemhrjARAbO4iq
lubNc3LrixudT4IlkBMn1ary9peoFIiNtvaVNGLK3LcZlpwWqDzWQkFRK5gi
MtR2kVp7H2-v2UsvMD7xqi_0R1vfZ5118V--flY11pwbLimTDpktfaxJRTKr
xnqQtrSv2NZq3He3tg1ueWD0D4WXHFKtwDmkB4knKQe1EtEJkff-NCdEYrdb
TeEhLoA7xB5h6eGyp1Gy9nopOYergoufdySsxD1NETnqaNplffDQp8o1nY9a
J3LDMjpZmR-rns_Ptg6Amoqe5TbmS8I73SqFFZ4ZLyWKgjUIVxI7Ydt4Nr7V
maue7r5Hk9RYoxJPyeOyNULrPXm50sDyGOPgV35-qe1QTL9BIabFvaGhyXQ7
MA8J-3yEwu5eaDYVzukyguCtgSoOppRW0Xi3-rY4Vc03MdjO2kGXdzB7WZG3
DFci1faqpMxQdai6G1dxVDqn0RZRoxggvsZwhY0iqSbSHugRP_JfQ2XZi8o0
XDLJGL0BitaP0LRT2JIjdyzL9EBs7CmQU5K6AJFx8yRNUCRbv6neOD8pbzNC
An0ekSrCJ6G7fu2KUbsxI0n5KfutkYOkBkTiPXsvh8pMynbWPNitkf8VORit
EPiVSxpJMw15OxihkZi1c_v3UxZwDEyqYsvPFQJ2TEpbQtrEkKwAZ0UofCfk
52954rWGwvGgiYEVwLzwp844igPx5JYSWWwEpyNWq_sHc_Hmdpe_8s1oZo1s
58ahTgwGBksUJIRRIN5UnmQv5iuybpK11-T_IINN8YvKZMykdu4QQOPZrsFH
P8Wnp9sxcsavGvwxvtehk8aMP67s4-YKNToCBxz_Rb5lplioCTSskH6y8qox
qH2-eBI0szmUhNyjCdtceoNtg6urA-cD9fmMZVwrscv4RllpV90dcKFjAHXu
CD11GzxqBYnUl2D4VPs8YGuIeETWbF63oLpaU_l83zloFguw7bZqK0VCpINm
JzWCFRinxk74CxyVr1Zz0sl0afuPqlEzgRrSwwpN3Al4ELI-rTtBglQ2HHG7
IiOOC09P4i9i8pHHVJ1LhsAg51RYgXQa7L-Cj8ZNJaXbpKGwoJXuuBRpuWDf
Wp8HM42L1re_GgRpJePPfrWojCLCeLiJedvRcYDUfxvXtsfciyEII6zTqU1Q
UtckLix0_trK9VjAPu059t_fdM6Ar0E6-orao8e0m5wARt59t-463czLZ--U
4ZUlcc0Q2NLB7d1py3ojhhUIaeKZOG8EplG_PsmjvABtQL_Bg24SofdR5-jm
5EltIoMCebCE6Idl1kDvVNZwqWpswRIgBXjuPdbTQUlov83dpxfAdpBa4J8y
lg3jRcMtR2bGclvJRXp2vEDSFVYqU11ev5YK-6n_rPnQa-7kolAhEVcNMVYV
CbwDaZrTtJzT0joBFXzaIk0zqBpp8uxvDZiHrLiwD0EDZ-XHBpCRBnUULtLR
lKhHxb4N_xW5OewwqViKXXszCg2D2O1N1vZnSMV7Y7RWYCcWTtoliSF3bFmD
jrlO7M-EETsvP8L6XGZ9Ir_3w-NnS7Gzrd1khnxtJfIuxMW529DlnJ2jVJ1P
u_kdSgcVN2sSbk-I_jD1I8NcML1XKToT5kGCrVM3ndbVPHQNmzs7pzzImStg
9ATfwUO81-9k4WhMGNJbzwcqEWvMa6TOUrq685o7Vb3FacdANr80l_uIMpsC
YRjM0ICECidmuY5QUvlqS6vviTxpIeXpz4WPet2pFnBFr1JtaG_fyB5RhPQB
blxpEtP0iUvf-qmYZC4aML4Mm8AbhrmNOQlNy-zdy4qCqQlIDlZYbFG7fybn
m6P3gh-1rUPDrSN0oqunH8OAK8xr5V7N7ws5M3eBZU48eqX4EPnvNA_--c34
UlQKwbHI7Uo3OhacaO1GtuSSckPU7ZfyzkIHWKmhUOgb4gWKWwPSBHppGXjj
KHGvFyhRmp7XLv7aOTUOeOAZBxhe_BPccVaV6SNzxHBxh8mlfMfjhQrtBcJJ
AOXIBxqRCgmMnBrZw7sOjMxralOP-tZRmsDkcOs9h19jAThkRXVmLsdAH8kC
6Fp4t-I2LcDeW9CCmFzmWnF7s5E-EL0yzMIBvHa_V65g1df9gZRoFDOtJOLP
BtR4CTxBfDYfT4nbVMqjP4IzlHd_s5Ej3ninSuS8F53JxZfcggbuyM5mg5UX
XXD9Ex-vWmci-SEQpfAsJ-jrxlAv5jMUUYNHYdKGp9MhS-_l2aO3UO8na2EP
Twtx0HIH0Ez0JKkbgWP__n1acxio5-ojQed0HFvGpOavehlNuWW0HMoLQaKl
VZgWeejDAyWE8508VFpWghqrghRcSa2pUCAOihdO6PIBXWdaRdJKyzZubl_M
h8ZJZK7waU6bgWSKYE2tLE85_GaBXVTOdEMPajjA7iabPlrIfCFp3i0_crhv
a3iPcPXFXg8OGBMA0Z2v7R6Cg6-TkjH3BVs_lm8ekqMIJhkfH1goxPJLajIY
y5Hm_lS21fx_eVDGZ2_TUmfKcHFjwlCp10SQTre62qcAkkKs6Qz8Oq38MLxR
gP9C2AphEPcQGmKu4ibFHMqBgHjdNXVZsWVzHXxxCahD7hUIY6rHYBV-gf_T
JRKLVXlMMR8odsfK6RqMyVBzBmHbW2ybTPYFpsYSTIUeJay8k1JnxvXEKr7k
GjFcz2QcFA3XTJ2uXNig68K4VpeaACobwHJSxkw0jFnHW6wVQNqeuNqMTsjB
7GCPpOHHw1czr4avJjMHXGOm7oklGjWtRnyM-njGtZUOKs68E41VAreQvrjP
Yks3-8FHQ3Eyj7us9puQt65oMClPtmsR5bPdkZ2kBZXlY0G5aPOx2br2MPuY
5EezL_J_PVRKY5SXbwRNJFadQKUoHMJRbm0iOz0lRTAQy2SvSDYQiOVpRLRx
LrmWHkETKBWrzviFL4RD3a6ApyQ6bHYuIZUICHQsjk2d4U9sU7pFTZEmpNSF
ONX2GgUA7UU6b1DrkA-rVH_w36KrQMwgxLShFTr6Xer6H4lV0SiM7vzl3sV1
yb6bDZ1kkCLd_num-VsjeA6l7TbR9w4YR4bxXEipzIyi2HUXQX0MpHIcwejb
SqqKpbbkMCZDKvQ7cSpUkMPRvzPTSRM8iccEqdd9DZXoZ8G87OpiQp-M5aEd
6zpj5yYw-Z57dGFEN6Pd_St7gixMjFkvTK0vB0lao_kP_M9elrRO3Zp4N0IM
dO1GWeu2740zBRBeOM0V2EFbZbUJ70NzJ1XLO95jtb76m6i-OB9OP8u_nJg2
hfZ7_Dq8F_45TNCIP3GeWBdnMhoQrSeJXZP5wyyVg47qhKES5DQuiuLuGdvK
Jh6fJSc2NME_8nIFRMlabbnBTOPWqzSxEiDNOL6OUB0HqPxQkY83IMfv_8XA
fHYWUO6ctPuGIHP4dumnZKfXp4XDjborej1zxcv2iUbmq98dNYQl3Nj6leCS
iDhIjdnoED3M-jTsXTLIwGIA9CWElsX-Q3B9o-Ojh1N9LzTEQ1gEzvTGLXk6
vWDATZVjwVL5DJEQIeppVhcWwzkYHM2BjLore11AijVQAwlrbSj1dPGHIMKm
vh0kr57dXgBAZunshcxE4CAAqZScfOCGmu5-gPXQX_LS4AGeVpMOAXOeJbGK
9ZWJLJSIQH9bkzeuV5GSkd_DlEj7GXmgMNZRKdqLYkdGHWhRhqQHtX9oSeCO
H2XAF7gV1lPQA7COfxs3OgXFoq6hvYO4rqkG7Aac8YyTE5XTzSxCier4owWg
xSeZDvzaS-BEl0ZtSIiCMJNQLxCHGkpnyAbv5Z6DpqM0-TeMe64Qa9pUCP8H
vAuP4zRznekBXCtYinxz8wEoKz1cC06TY0VVdCb-euzfRfZFQQ-l9h9dIGkH
nbg_eDRC4bijzdEEAgfQqReV5xSndxBwJ0T_IQgTvAy_-EjtVlQdlb4epg_q
ADW1nioqGBT2aGWRvNG0M9jTBkVFt_0MGlglapdLfRzIKjtatIcm7VOEnhwc
-2BSBJtrIpokgqexj9h28SzQa4uGef2yYRSF8iYXX-kVjPblfThPt6t5-WzL
iI8LN5WLYoFZTotRlEYlmR6jHnXDLXf3dNDNETv0mdVPlHnN0WccCwN_hI_2
jxeVNTS_pciH4VVhACCbNx9Bmd38fJlK9oKiig6W5O0HLb0OLf5WBTjlK0xO
yx2Ih53ircIhkolSSTxXEnk72cpwfIutUaeuUERncUGMtdDE

Sunday, October 19, 2008

Fear Factor presentation from Tim Bray

Tim Bray gave a great talk/presentation at FOWA in London titled Fear Factor. In speach he outlined some general tips and strategies for web developers to survive this economic crisis.

He also created series of blog posts starting with "On tough times" that go more in depth to each of his major survival points:

Make sure you read comments on individual posts.

In presentation and later in blog post he mentioned his belif that current cloud computing offers lead to vendor lock-in. There are some very insightful comment on his original post (Get In the Cloud) and the follow up Lockin-Free Cloud? (my comment on the topic)

But my biggest take form his talk was when he talked about old javaEE an php code bases. There will be good opportunities for people to work with them, since people will be less likely to risk something new (read anything from ruby or python) and will rather patch the old code.

I am just developing application in Django, but after I finish with it I think I'll put some of my time in learning new PHP [1] just in case. [2]

Also like he said this is good time to add to your skills. On my immediate howto is jQuery (and js in general), and finally learn ruby on rails. (If you get to create new project from scratch you are not limited to old languages and tools )

[1]: last time I worked with php it was still at 4.*
[2]: I have never worked with javaEE, only plain java in University and some desktop apps. I don't know if its worth learning it form schrach at this time though.

Saturday, October 11, 2008

Code highlighting on blogger

Ok lets see if new highlighter works.


#! /bin/env python

def python_funct():
a = a + b
print "Hello Highlighted code"

class Foo(Bar):
pass


So how to do it?
Simply use googles own client side code highlighting library .


Its easy. Just include this two lines at top of your blogger template:

<link href="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js"> </script>



And change body tag in your template to include onload="prettyPrint()":
>
...
<body onload='prettyPrint()'>
...


And thats it. Now all you have to do when you want highlighted piece of code in your blog is to use.


<pre class="prettyprint">
... # Your code goes here
</pre>
EDIT: Urls to prettyfy.js and prettyfy.css were wrong. They are fixed now.

Creating new python project

How to set up development environment for new python project.

Some of the tools I use:

  • virtualenv - creates self contained python enviroment (you can even ignore systems site-packages). Its usefull for installing new python libraries or eggs that you may not want to install systemwide.
  • paster - (from pastescript)it helps you with crating project skeleton (including setup.py and eggs config). If this is wsgi project you can also use it for deploying.
  • nose - my preferred python testing framework. One of its biggest benefits is that it works with existing unittest tests and doctests.
So tipicly for crating new project cli session would look like:


$ cd py.virt/
py.virt$ virtualenv --no-site-packages Foo
(...)
py.virt$ cd Foo && source bin/activate
(Foo)$
(Foo)$ easy_install nose
Searching for nose
Reading http://pypi.python.org/simple/nose/
(...)
(Foo)$ easy_install pastescript
Searching for pastescript
Reading http://pypi.python.org/simple/pastescript/
(...)
(Foo)$
(Foo)$ paster create Foo
Selected and implied templates:
PasteScript#basic_package A basic setuptools-enabled package

Variables:
egg: Foo
package: foo
project: Foo
(...)
(Foo)$
(Foo)$ cd Foo
(Foo)$ python setup.py develop # creates registers with python so that ' import Foo works'
running develop
running egg_info
writing Foo.egg-info/PKG-INFO
(...)


Now our package should be created and registered with python. Lets see:

(Foo)$ python
Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo
>>> dir(foo)
['__builtins__', '__doc__', '__file__', '__name__', '__path__']
>>>


Now we can start coding.

Sunday, February 3, 2008

Test post - Posting source code

This is a test post


Inside Block quote
def main:
print "blah"



Inside code block
def main:
print "blah"



Inside Block and code quote
def main:
print "blah"


Inside pre block
def main:
print "blah"

Seems the best way (easiest) to post source code into blog
is using <pre> tags with following css:

pre {  
font-family: "Courier New", Courier, mono;
font-size: 12px;
color: #000000;
background-color: #FFFFCC;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
padding-left: 8px;
border: #000000;
border-style: dashed;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
width:auto;
}