Here's a quick review. The bulk of it focus around Move 28, but there's some other ideas as well.
(;GM[1]FF[4]CA[UTF-8]AP[CGoban:3]ST[2]
RU[Japanese]SZ[19]HA[3]KM[0.50]
PW[Mnemonic]PB[Zcartac]WR[12k]BR[17k]AB[pd][dp][pp]RE[B+Resign]
;W[de]
;B[qg]
;W[cn]
;B[fq]
;W[bp]
;B[cq]
;W[dl]
;B[iq]C[Very passive and unnecessary.]
(;W[nd]C[I don't really like this move, as it doesn't really threaten the corner at all.]
(;B[nc]C[This will only make white and black stronger, but black doesn't really need to get stronger. The variations might be better moves.]
;W[mc]
(;B[nb]
;W[md]
(;B[qm]C[Black seems to like these large-knight extensions, but there might be better moves here.]
;W[pq]
;B[oq]
;W[qq]
;B[qp]
;W[or]
;B[nq]
;W[nr]
;B[mq]
;W[rp]
;B[ro]
;W[rq]
;B[mr]C[Slow and uninteresting. There are bigger moves, like the top-left corner.]
;W[pj]
(;B[qj]C[To attack to a weak stone, don't attach to it! It only makes it stronger. This is a pretty fundamental principle which is not obvious to many weaker players, so if you (and black) get nothing else from this review, please read these two pages:
http://senseis.xmp.net/?DontAttachWhenAttackinghttp://senseis.xmp.net/?HowToAttackIt may be tough this knowledge at first, so let me point out a very simply way you could attack this stone (which is almost certainly not an ideal way to play, it's just a quick idea).]
;W[qi]
;B[pi]
;W[oj]
;B[ri]
;W[ph]
;B[qh]
;W[oi]
(;B[ec]C[See variations. End of comments.]
;W[dc]
;B[hc]
;W[jc]
;B[jb]
;W[ed]
;B[fc]
;W[gb]
;B[db]
;W[cc]
;B[lb]
;W[gc]
;B[fd]
;W[hd]
;B[ee]
;W[dd]
;B[ef]
;W[df]
;B[gd]
;W[ic]
;B[he]
;W[id]
;B[of]
;W[qd]
;B[qc]
;W[pe]
;B[oe]
;W[eg]
;B[ff]
;W[gf]
;B[ge]
;W[fg]
;B[hf]
;W[fe]
;B[gg]
;W[gh]
;B[hg]
;W[fo]
;B[in]
;W[hp]
(;B[ip]
;W[gq]
;B[gr]
;W[bq]
;B[br]
;W[cp]
;B[dr]
(;W[om]
;B[gp]
;W[go]
;B[hq]
;W[oo]
;B[ol]
(;W[op]
;B[qn]
;W[pn]
;B[nm]
;W[nl]
;B[pm]
;W[on]
;B[mm]
;W[qo]
;B[nk]
;W[hh]
;B[jf]
;W[ml]
;B[ll]
;W[mk]
;B[nj]
;W[kg]
;B[kf]
;W[mj]
;B[ni]
;W[nh]
;B[mi]
;W[li]
;B[mh]
;W[mg]
;B[ng]
;W[oh]
;B[mf]
;W[lg]
;B[lf]
;W[kj]
;B[ok]
;W[pk]
;B[pl]
;W[qk]
;B[rk]
;W[ql]
;B[rl]
;W[qi]
;B[rj]
;W[rn]
;B[rm]
;W[so]
;B[mo]
;W[kl]
;B[km]
;W[jl]
;B[il]
;W[jm]
;B[jn]
;W[im]
;B[hm]
;W[hn]
;B[ho]
;W[gn]
;B[jk]
;W[kk]
;B[ih]
;W[ii]
;B[jh]
;W[ki]
;B[cj]
;W[ch]
;B[bl]
;W[mb]
;B[ma]
;W[od]
;B[pc]
;W[kc]
;B[kb]
;W[ke]
;B[ld]
;W[lc]
;B[le]
;W[je]
;B[kd])
(;W[nl]
;B[pl]
(;W[nk]
;B[nm]
;W[mm]
;B[nn]
;W[on]
;B[no])
(;W[nm]
;B[nk]
;W[ok]
;B[mk]))
(;W[pl]
(;B[pm]
;W[nl]
;B[ok])
(;B[pk])
(;B[nl]
;W[pm]
(;B[pk]
;W[qk]
(;B[ok]
;W[ql])
(;B[ql]
;W[ok]))
(;B[qk]
;W[pk]
;B[ll]))))
(;W[fr]
;B[er]
;W[hr]
;B[fs]
;W[hq]
(;B[ir]
;W[hs])
(;B[oo]
;W[ks])))
(;B[hq]
;W[io]))
(;B[cc]C[Better approach.])
(;B[dc]C[Better approach.]))
(;B[nj]C[Cap. Take away white's running room.]
;W[ph]LB[qh:A]C[Shoulder hit. For black to tenuki and let white play 'a' would be unacceptable.]
;B[pg]C[Push up.]
;W[oh]
;B[nf]C[Seperate white's two groups.]
;W[mh]C[Jump to get out.]
;B[lf]LB[kd:B][kh:A]C[Keep the groups split. Black aims at 'a' and 'b'.]
;W[kh]C[Jump to safety.]
;B[kd]C[Eat up these stones.]))
(;B[qn])
(;B[dc]C[Big.]))
(;B[oc]C[This is better shape and leaves less aji in the corner.]))
(;B[pc])
(;B[lc]C[Pincer. Fight white.]))
(;W[nc])
(;W[dc])
(;W[qn]))