How To Shrink Log on MS SQL 2008 Dec 30, 2010

SQL Server 2008 does not support the "backup log with truncate_only" option any longer. So if you want to shrink a database transaction log on an SQL 2008 server, use this script:

USE MyDB

ALTER DATABASE MyDB SET Recovery simple
GO

checkpoint
GO

DECLARE @LogFileLogicalName sysname
SELECT @LogFileLogicalName=Name FROM sys.database_files WHERE TYPE=1

DBCC Shrinkfile(@LogFileLogicalName,1)
GO

ALTER DATABASE MyDB SET Recovery FULL



There are surprisingly few articles on this on the Internet, so enjoy. And remember to do a full database backup right after shrinking the log file! Cause you won't be able to restore "to a point in time" once the log is truncated.

9 Tips to Improve Your English Dec 28, 2010

English is my second language. And even though I started learning it when I was 7, became pretty fluent and have no trouble understanding what people say (well, except for some Scottish lads) I do have some... you know... "slow" moments... trying to... em... you know... figure the right words.

You can't imagine running an online business without knowing English perfectly these days. So I'm gonna share some tips on how to improve your English from "pretty fluent" to perfect. I know a lot of startup founders from India, Germany, Russia, Spain, Italy, Japan who might find this useful... Especially Japanese, Indian, Russian speakers - these languages are not directly related to English, unlike, say, Dutch or German.

  1. Before we begin... remember that these rules are something to be followed continuously. Not only you have to improve the language, but to maintain it over time as well. Otherwise your language skills will degrade very fast. So, let's get started.

  2. No translations for movies & TV shows. Put a big red "stop" sign. Find a local cinema that shows undubbed movies and start watching. It will be tough at the beginning, but you'll get used to it. English content only, no excuses.

    Also, preferably, no subtitles. Otherwise you'll end up reading, instead of watching the picture and hearing the dialogs. Same goes for TV-shows: House MD, Lost, Mad Men, 24, whatever - no translation. Buy DVDs instead of watching the aired version, buy a downloadable version online...

    Once again - English content only, no excuses, never. Ever. I know you're dying to see that new episode of Harry Potter but wait until it comes to that "English" cinema.

    -"You owe me big time"
    -"What? I owe you a big amount of time?"

    Another reason why movies and TV shows (especially TV shows) are awesome is because they give you the idea of how people actually talk - idioms, jargon... Things that make absolutely no sense for the "academic grammar", but are widely used by the native speakers.

  3. Non translated books. Just like with the movies - read the originals. Both professional reading AND fiction. And when you take a trip to an English-speaking country, a great way to "reload" your brain into English is to read a fiction book on the plane.

  4. Don't use localized software. Buy an English version of Windows. By the way, how are you going to support your customers otherwise? By telling them to open "Start - Bedienfeld - Zufügung/Entfernung von. Programme"?

  5. Don't use localized devices. Switch your iPhone to English right away. Switch your TV, your iPad, your e-reader.

  6. Switch some of your work to English. When I take notes, write down ideas, keep a todo-list or sketch a new UI - I do it in English.

  7. Play music. Musical skills are great for all sides of your life and learning languages is among them. When you sing or play a musical instrument you train your "ear for music". Which is absolutely awesome when you learn a foreign language. When you have that "musical hearing" developed, not only you can speak, you can even emulate accents (that's what me & my wife love doing on our trips: try to sound like Irish, or Australians, or southern states of the US - thats fun).

  8. Practice. Nuff said. Force yourself into conversations with strangers.

  9. Move to an English-speaking country if you can. At least for a month or two. Nothing has helped me better than realizing than I simply can't use any other language. First day is terrifying, second day is OK, by the end of the week you start thinking in English, after two months it takes some time to remember how to say "hello" in your own language...

Tracking Downloads with Google Analytics

"How do I track non-HTML content (ZIP-files, images etc.) with Google Analytics?"

This question has been asked (and answered) a million times but I haven't found an answer for the new, asynchronous version of the Google Analytics code. So I had to figure this out myself:

<a href="setup.zip" onclick="_gaq.push(['_trackPageview', this.href]);">download</a>

Once again: if you're using the asynchronous version of the Google Analytics code that starts with "var _gaq = _gaq || [];", then use the code above. You're welcome :)

Our Two Cents on SOPA Dec 24, 2010

Jitbit Software has just transferred all of it's domains away from GoDaddy because of their SOPA bill support.

That's the least I can do. I'm outside the US, so I don't have a congressman to contact. If you are - sending a letter to your congressman is the only way to prevent the bill from being approved.

If you’re not sure what the "Stop Online Piracy Act" is - visit this link and read SOPA For Dummies

Now, there's a question that haunts me these days. Lots of non-tech friends, ex-colleagues, even some fellow hackers keep asking me:
"If you're selling downloadable software online, you're supposed to support SOPA, right?"

I Just Fired a Sales Guy [Mistakes I made #2] Dec 22, 2010

This is the second post in the "Mistakes I made" series, where I share the "donts" of my startup experience.
I'm a software developer. I knew nothing about sales when I started. I knew a lot about frameworks, object-oriented-stuff, databases, even about web-design. But nothing about sales. So I hired a guy - a very distant acquaintance from the university - to do some part-time consulting for me. Hoping to offer him a fulltime job one day and, who knows, may be even a share.

He studied finance, marketing and all that "business stuff" developers have no clue about. And he seemed like a nice guy. So I thought - I needed someone like him...

Well, to put a long story short - this was a mistake. You don't need that kind of guy.

Why?


Basically, his work haven't brought any sales for years. Sales & marketing basics lectured at most colleges these days just don't fit Internet companies & startups. Especially the small ones. I should have done this long time ago. But you know, firing someone is tough, especially if he's a friend of yours, even a distant one...

Finally, the last straw that broke my back was when he proposed to charge our web-apps customers on a "per user" basis like most of our competitors do.

As you might know, one of the key benefits of our helpdesk software and small-business CRM software is that it's not priced "per user". This is what makes us different from the competition. This is what its like today and this is how it stays forever. And it's not just the sales point, it just seems fair. Let's admit it, development costs are the same - no matter how many users work within the app. This might make some sense when providing a SaaS-solution, but even if our servers run out of space - we may start charging for storage space, not for the number of users. That's what makes us different and that's what I stand for.

The guy proposed to eliminate that - you know, "price differentiation", "maximizing marginal revenue"... Yeah, I get the point. But "same price for any number of users" is our key feature, its what we stand for and what makes us stand out from the crowd.

By the way, what are we supposed to tell our existing customers? "Sorry guys, change of plans"? So I made the decision.

It's different now


Basically, you don't need a guy to call your customers and invite them to dinner or a golf club. You don't need sales meetings and presentations with canapés - leave that to "Mad Men" and the 60's. You don't need fancy printouts and brochures. You don't need fair booths. Even the "big guys" are starting to realize that, just look at JetBlue & South-Western airlines. The sales function is getting different.

Outside money is evil Dec 15, 2010

The "TechCrunch Moscow" conference I've recently attended, has made me sad. Not just because of lack of useful startup content. But because most of the Russian startups I met there were dreaming of outside money.

All they were talking about was "VCs", "financing", "Angel investors", "fundraising", "exit strategy", "IPO"... And answering my question "what is your big dream" almost 99% said "to be acquired by Google/Microsoft/Saleforce" etc. etc.

Come on, people. Your goal should not be "sell to Google". Stop focusing on that, focus on making a great product instead. Stop thinking of VC-crap because being focused on investors makes you satisfy investors' needs instead of satisfying your customers' needs. Stop thinking of an "exit strategy" and start thinking of building a profitable software business instead. Like Balsamiq Studios does. Like FogCreek Software does. Like 37Signals does. Like Jitbit Software, if I may...

Outside money is bad because you get used to it. It's bad because you get spoiled by it. Outside money makes your product worse - because if you get your paycheck no matter how crappy your product is - the product WILL get crappy eventually. Trust me on that. I've been there.

And it's also bad because you start focusing on gear instead of focusing on the product.

I've been there!


Like I said, I've been there. I've spent several years in a company, that had external financing. Which lead to focusing on gear and "fashion", instead of focusing on a product. If we needed some video-shooting - we spent money on some cool cameras and mics. If we needed a logo - we hired a PR agency. If we needed UI-design - we hired a fulltime top-notch designer, instead of turning to crowdsourcing. If we needed a database - we focused on buying cool hardware and researched the latest cloud technologies... Customers were "plan z".

Outside financing has spoiled the project and that was one of the reasons I decided to quit the company. In spite of the fact that I left a lot of my friends and nice people there.

So, startups! Cut the crap. Bootstrap. Stop dreaming outside money. And give it away if you already have it. Make a living from your product, this way you have no choice but to make it awesome.


Blog Archive