I illustrated something that I like to say a lot:
Give me the command line and I shall move the world.
Until next time!
I was just interviewed on TGDaily. Here's a copy of the interview:
Peter Krumins is a well-known open-source developer and co-founder and CEO of Browserling, a popular cross-browser testing service. Peter is most known from his popular blog cat-on-mat where he's been blogging about programming for a decade. We'll be chatting with Peter about how he became a programmer, how he created his blog and what it's like to run your own software company.
Q: Hello Peter and thanks for your time. Can you tell more of yourself to the readers?
Peter: Hey, thanks for inviting me here. You already gave a good introduction. Besides Browserling and catonmat, I'm also Hacker-in-Residence at Hackers/Founders, world's largest startup network. The term "hacker" here means a skillful computer user.
Q: How did you start programming?
Peter: I just really liked computers as a kid. I started exploring them and then heard that they can be programmed. I asked everyone I met to explain this to me and teach me. People were helpful and I quickly learned various programming languages.
Q: Which was your first programming language?
Peter: I started with Visual Basic, mIRC Scripting and C all at once. I also tried C++ but couldn't understand templates so I only learned it later.
Q: Which programming language do you enjoy the most?
Peter: I like many programming languages. They're all pretty much the same. They're all Turing machines. But if I have to choose one then it's Perl.
Q: What do you think new programmers should know when they start?
Peter: That programming is super hard and it will take many years to learn it.
Q: How to learn a new programming language?
Peter: You should just start with an empty text file and try to write some code in that language, and use a search engine to find examples. Don't buy books as you don't know which one to choose and most authors have no idea how to teach. Another great approach is to start with interactive online tutorials such as Code Academy or the similar sites.
Q: You're an author of a book yourself, aren't you?
Peter: Yes, I actually wrote several books about one-liners. Perl one-liners, Awk one-liners, Sed one-liners and now I'm working on Bash one-liners.
Q: What are one-liners?
Peter: One-liners are these tiny programs that fit in a single line of code and do one and only one thing really well. They're the best time savers. One-liners help you quickly accomplish big things. For example, doing quick data calculations, deleting particular lines in files, extracting patterns and converting data. All this can be done with one-liners and doesn't require you to write bigger programs.
Q: What's the difference between Perl, Awk, Sed and Bash one liners?
Peter: There is no big fundamental difference. These are just different languages. I like to know many languages so I wrote about them all, and will be writing about many more.
Q: How did you write one-liners books?
Peter: It started as a tutorial on my catonmat blog. I wanted to show people how awesome one-liners are. My tutorial turned into a series of posts. Then I self-published my posts as e-books. Then No Starch Press noticed my work and I published Perl One-liners with them.
Q: How was it to work with No Starch Press?
Peter: It was a long process. We did a lot of editing for about 6 months until it was finished.
Q: How did you start your blog?
Peter: I just wanted to become popular online and establish my name as a great developer. My idea was that if I write interesting articles and create interesting projects then people will get to know me and when I launch a startup I'll immediately have a lot of users and customers.
Q: Did that work?
Peter: It did! My blog quickly grew in popularity and when I started Browserling I already had a base of users and when I went to meetups people told me they read my blog. Success!
Q: How did you start Browserling?
Peter: I read a lot of Paul Graham's essays about starting a startup. Then I met a friend online in Perl programming channel on FreeNode and he had read Paul Graham's essays, too. Then we just started working on the idea that we had and just launched.
Q: What's exactly the idea behind Browserling?
Peter: Browserling is a cross-browser testing platform. It lets developers quickly test their website designs and code in all the web browsers. There are so many browsers (IE, Firefox, Chrome, etc), and each browser is a little bit different. To make great websites you've to test your site in all the browsers. Browserling maintains installations of all browsers and lets you test your code in 5 seconds.
Q: What is your biggest challenge faced so far?
Peter: In Browserling or in general? My biggest challenge in life was learning everything I know. That was very difficult and time consuming. At Browserling everything is easy as it's just programming that I really like.
Q: How do you choose your development environment?
Peter: I prefer a dual Windows/Linux setup. Windows runs GUI software, such as Photoshop, and I ssh into my Linux servers with Putty. I automate everything with Perl scripts and one-liners. I use Vim as my text editor. I don't need anything else. As I like to say, give me the command line and I shall move the world.
Q: On your blog you run a popular article series about your favorite books. Can you tell me more about that?
Peter: I just love reading computer and programming books. I constantly keep myself updated about the latest literature. Especially I like books that follow puzzle-hint-solution style, such as The Little Book of Semaphores by Allen Downey, or books that are a dialogue between the writer and the reader, such as The Little Schemer.
Q: What are you fond of doing when not coding?
Peter: I like to make comics for nerds.
Q: What's more important talent or hard work?
Peter: I don't know. A little bit of each, I suppose.
Q: What are your plans for any new projects?
At Browserling we're building a network of online tools websites. Each site in the network focuses on one and only one tool category. Each tool does one and only one thing. The first ten websites in the network are Online CSV Tools, which is all about working with Comma Separated Values files, Online TSV Tools, which is all about working with Tab Separated Values files, Online JSON Tools, which is all about working with JSON data, Online XML Tools, which is all about working with XML documents, Online YAML Tools, which is all about working with YAML configs, Online STRING Tools, which is all about working with strings, Online RANDOM Tools, which is all about doing random things, Online BINARY Tools, which is all about working with binary zeros and ones, Online PNG Tools, which is all about working with PNG images, Online HEX Tools, which is all about working with hexadecimal values.
Today we're releasing the eleventh site.
The eleventh site in our network is Online JPG Tools. Online JPG Tools is a collection of simple, free and easy to use utilities for working with JPEG pictures. There are no ads, popups or other garbage. Just JPEG utilities that work in your browser. Load a JPG and instantly get result.
Here's a list of all JPG tools:
- Convert JPEG to PNG
- Convert PNG to JPEG
- Convert JPEG to GIF
- Convert GIF to JPEG
- Convert JPEG to BMP
- Convert BMP to JPEG
- Convert JPEG to Base64
- Convert Base64 to JPEG
- Convert JPG to Data URI
- Convert Data URI to JPG
- Convert JPG to Grayscale
- Change Quality of a JPEG
- Generate a Random JPG
- Crop a JPG
- Resize a JPG
- Rotate a JPG
- Flip a JPG Vertically
- Flip a JPG Horizontally
- Add Text to a JPG Picture
- Add a Border Around a JPG
- Round JPG Corners
- Blur a JPG
- Sharpen a JPG
- Pixelate a JPG
Here are upcoming JPG tools:
- Compress a JPEG
- JPEG Editor
- Convert a Sequential JPG to a Progressive JPG
- Convert a Progressive JPEG to a Sequential JPEG
- Convert JPG to JPEG2000
- Convert JPG2000 to JPEG
- Convert JPG to WebP
- Convert WebP to JPEG
- Convert JPG to ICO
- Convert ICO to JPEG
- Convert JPG to TIFF
- Convert TIFF to JPEG
- Convert JPG to PIK
- Convert PIK to JPEG
- Convert JPG to PPM
- Convert PPM to JPEG
- Convert JPG to BGP
- Convert BGP to JPEG
- Convert JPG to FLIF
- Convert FLIF to JPEG
- Convert JPEGs to Animated GIF
- Convert JPEGs to Animated PNG
- Create a Glitch JPG
- Create ASCII Art from a JPEG
- Create ANSI Art from JPG
The next few sites are onlineASCIItools, onlineHASHtools, onlineGIFtools, onlineBMPtools, onlinePDFtools, onlineIMAGEtools, onlineBROWSERtools, onlineCRYPTOtools, onlineAUDIOtools, onlineCSStools, onlineJStools, and then 10 more.
See you next time!
Hooray! I just published my 100th comic. I was thinking long and hard about what this special 100th comic could be and decided to illustrate my blog's title - good coders code, great coders reuse.
See you next time!
A few months ago at Browserling we created a Patreon supporter account and started supporting two great open source developers. We promised that as the revenue grows, we'll be supporting more developers. This has happened! Revenue is up and we can support one more awesome developer!
I implore you do the same. Open-source developers need your support! There is a huge amount of mutual benefit that comes from creating direct relationships with these developers. They matter more than you realize. And if you don't know who they are, ask your engineering team, because they do.
As revenue keeps growing, we'll be supporting more developers this year and beyond. Keep hacking and see you next time!