Here is yet another online photo editor – Canva. It’s free, simple and straight-forward. No need to learn Photoshop-like controls – all the essentials are clearly marked. You can crop and rotate images, adjust brightness, contrast and saturation, or simply apply a number of preset filters. Download your image when done.
smallpdf – PDF conversion tools online (convert between PDF and JPEG images, Microsoft Office documents, compress, unlock and even send printed PDF via regular mail)
I’ve mentioned a few times already that I became a big fan of P2 theme for WordPress. I currently maintain multiple installations of it, just because it is so easy to setup and start using. I have it as company Intranet or as a project collaboration tool. It’s like a blog, a wiki, and a chat room combined together. And since I’ve installed it so many times, I thought I should publish what exactly I am doing, in case someone else will want to try it.
I came across an excellent tutorial on how to do screencasts in Linux. The original article is in Russian, so I just grabbed the important bits and translated them below.
- Install screencast recording application. recordmydekstop is available via yum install recordmydesktop and comes with a simple and straight-forward interface for both KDE and Gnome.
- Record a screencast.
- If you want to edit the screencast (cut out mistakes, add music, etc), install a video editor. These came recommended: Pitivi, Kino, Kdenlive.
- Edit your screencast.
- Convert to AVI if needed (recommended before uploading to video hosting services, such as YouTube, as they don’t always work well with Ogg). ffmpeg -i screencast.ogv screencast.avi should do it. ffmpeg is also available in most distributions. You can play more with parameters, or prepare the video during the editing stage.
- Upload the video and share.
This is the kind of a guide that I need once in a while, but which I can’t seem to find when I need it. Hopefully now that I have it blogged, it’ll come handy.
Here is something that I thought of today, played with, and found quite useful – integration of Google Translate with Google Chrome via the search engine configuration. Of course, I know that there are addons for Google Chrome to integrate Google Translate. Of course, I know that Google Chrome comes with certain integration out of the box. But what I need is something else. Once in a while, when I write an email or a blog post or something like that I’d forget a word in English that I know in Russian, or the other way around. I usually open a new tab, go to Google Translate, and type the word in faster than I think of a better way to solve the problem. It’s a completely automated process for me. My fingers know how to do it. Plus it’s all so fast because I do it from the keyboard with shortcuts, so even if I’d have some addon installed with a button in the toolbar, I’d need to reach for the mouse, which would slow me down.
So, here is what I did. I went to Options->Basics->Default Search->Manage. Of course, I didn’t want to change my default search engine from Google to anything. Instead I wanted to add a new search engine. See the above screenshot. I named the search engine “Google Translate (English->Russian)” to avoid ambiguity when I add more search engines for translations between other languages. I assigned the keyword “en,ru”, which is what I’ll have to type in the address bar for this search engine to kick in. And I configured the search URL. Nothing fancy.
Now, whenever I type “en,ru” in the browser address bar, Google Chrome switches from generic completion to a search engine, where I just have to type the word that I want translated and hit Enter. Again, see the screenshot above for how the address bar looks.
In exactly the same way I can add more search engines to translate between different languages. It’s even possible to use “auto” as the source language for Google Translate to figure out in which language the original word or phrase is. And, of course, you don’t have to limit yourself to Google Translate search engines only. I have search engines defined for PHP functions lookup, Wikipedia and IMDb searches, and more. The trick is to find the search URL by performing the actual search on the site that you want to add, and then replace the search query with “%s”. That’s all. Enjoy!
This Slashdot discussion got me started. The discussion is about URL shortening services and their impact on the Web. Needless to say, most people who care about the Web, hate all kinds of third-party URL manipulations with a passion. The reasons are numerous, and here are two that annoy me the most:
- Obscurity. You have no idea where you are going anymore. It can be the newest scam website, an image, a huge video, or anything else for that matter. When you see full URL, even if you don’t always can understand the full path, at least the domain name is a hint.
- Latency. Most (all?) URL shortening services work via a redirect. So whenever you click on the URL to visit a page, instead of going to the page directly you are going to the web service which expands that URL first, and then redirects you further. This takes time and gives you nothing in return.
A lot of Slashdot people feel similar. Yet it still makes for an interesting discussion. Here are the bits that I picked up:
- HugeUrl.com – web service that does the opposite of what URL shortening services do. It takes any URL and makes it huge. Just for the fun of it.
- ShadyUrl.com – web service that obscures given URLs, making them look very suspicious. Also, for the fun of it.
- There are a number of browser plugins that automate the expansion of short URLs, either on-demand or as you go. Here is one for Firefox. Here is one for Google Chrome.
- Last year’s Coding Horror blog post discussing the problems of URL shortening services.
Also after a brief discussion and fooling around with my colleagues, I learned about Abcd-Whatever, which is a web service that lives on an extremely long domain name and offers free email addresses. Such email addresses are hard for people to type correctly, impossible for some SPAM bots to grab, and excellent for testing web forms.
Over the years that I’ve been blogging, quite a few people asked me if I know of any easy way to maintain a private blog. They seemed to not care about the rest of the world and just wanted a private diary, but without paper and without too much technical hassle. Of course, there are many applications, like WordPress, that could be installed on a personal computer and used in private mode. But that still seemed too much work for a diary. So I never really had a good answer, except use any text editor and save files in some date-based directory structure.
Recently I came across a very elegant solution to the problem though. OhLife is a simple and straightforward blogging service. It has two very distinct features that together set it apart from most other blogging services. It enforces private blogs – only you see your entries. No public stuff, no friends, no nothing. And they help you build a habit out of blogging by sending you an email every night with a question “How did your day go?“. This seems so natural and so simple that I can’t think of anybody who won’t be able to do it.
Google Analytics has proven itself over and over again as an extremely valuable tool for pretty much everyone interested in website statistics. But as awesome as it is, Google Analytics has a number of limitations. These don’t come handy when you need to analyze non-public websites, such as intranets or web-based services behind closed firewalls. Sure, there are plenty of alternatives to Google Analytics that you could go with. But what if you wanted to stick to Google Analytics? I thought you couldn’t (that is without tricks and ugly workarounds). Apparently, I was wrong. You could.
Urchin is a packaged Google Analytics application that you can run on your own servers, under your full control. There are a few features in Urchin that are not in Google Analytics (mostly due to Google Analytics not having access to your server logs). Here are the interesting ones:
- Process historical logs
- Status & error codes reports
- Individual visitor history drilldown
These are things that you don’t probably care too much, if you only have a couple of personal blogs to manage. But if you are a company with a few busy websites and large chunks of your revenues spent on the online advertising, you’d want each and every bit of information, including the above.
One other reason that probably only the enterprises will be interested in Urchin is the price. While Google Analytics comes to everyone for free, you’ll have to pay USD $9,995 (yes, almost ten thousand!) for the Urchin license.
And even though the price is quite prohibitive and will leave most people still using Google Analytics, I think it’s nice to have this option.
Here is a tool that might help you with your MVC framework, like CakePHP, Symfony, and others – ORM Designer. In essence, it is a graphical user interface for drawing a visual representation of your project (such as an Entity Relationship Diagram (ERD)) and than converting it into the code. You can specify which framework and which ORM you want to use and it will generate the appropriate bits and pieces. What’s even more interesting is that it has import functionality, which means that you can start using it with an existing project. Here is the video that shows and explains more.
Of course, I got excited about it, downloaded and installed. Two things that disappointed me were:
- It’s a native Windows application, which runs on Linux through the wine emulator. While it works fine, I’d much prefer a native application that I could integrate with the rest of my development environment.
- CakePHP import is not supported at this time.
Other than that though, it looks very promising. I’ve seen quite a few applications that help with database design, and ORM Designer stands well in that row. You can create entities, define fields, specify indexes, and associate entities with each other using relationships. Many-to-many relationships are supported, as are entity inheritance. While inheritance does make it for a bit more complicated structure of the project (with app/models/base/ folder for CakePHP), it’s very nice to have such support for bigger, more complex projects.
The project is commercial, with a 14 days evaluation version available for download. If you like it enough to buy, the price is very reasonable – 99 EUR per license.
Try and see if you like it, and provide some feedback to the guys who are developing it. ORM Designer has all the chances of becoming an extremely useful tool and since it is still in its early development, your feedback would be of the most value.
I came across a very useful post with the listing of many shell keyboard shortcuts. The article covers a mix of bash, csh, zsh, and Cisco shell keyboard shortcuts. The article is in Russian, but I think it will be helpful for more people, so I took the liberty to translate it. Continue reading for the translation.