Post Category →IT

Developers are weird creatures. We always want to optimize everything and make sure that we lose as little time as possible while doing our job. Our thought usually goes faster than a computer, so we get irritated when we need to wait or spend clicks and keystrokes to do simple things like browsing the web, or opening applications. This is the reason text editors like Vim are extremely popular. They are a mess by modern UX standards, and using them feels like going back in time, but because they save so much time and make automation possible, people still love them.

Today, I stumbled upon another automation tool, which tries to trim more seconds from a developer’s precious time – it’s called Pagehop. Pagehop lets you navigate the web without opening your web browser. It lets you type commands and take action on the results in a simple text box. Any user of Alfred or Vim will feel right at home. I’ve been a user of Alfred for a long time now, and I’ve grown to love it. It’s the start of everything I do on my Mac, weather that would be opening an application or searching Google. But although Alfred has multiple extensions – it only goes so far. Most of the stuff it can do is limited to offline applications. Searching Google seems to be all that falls into its scope when doing things online.

Pagehop is Alfred for the web. Not only can you open web pages with it, but it also lets you navigate multiple links, or search the content of each result. Let’s see how that works.

Once installed, Pagehop can be invoked by pressing Ctrl-Option-Space on your Mac. A textbox appears. You can do a simple Google search by typing “g <your search term>”. Let’s try it by searching for the React javascript framework.

The results of the search are shown immediately below the text box. Pressing Enter would take you to the selected result, but you can also go through them, or type further to filter more. Let’s say that we actually want the React documentation rather than the homepage. We can extend our search by typing “:l docs”.

The “:l” tells Pagehop that we want to go through all Links in the result, and search for the string “docs”. Pressing Enter takes us directly to the documentation page. This is where Pagehop feels much more advanced than Alfred. While in Alfred you can tab through the different results, Pagehop lets you use issue custom commands. Apart from selecting links, it also lets you do fuzzy search, regex search or search through the URLs rather than text. It’s like having a terminal for the web. You can call commands, and pass them options and arguments.

Of course googling isn’t the only thing Pagehop can do. It has a number of built-in recipes. A recipe is just a different source of information that Pagehop can pull data from. There are built-in recipes for Google, Bing, DuckDuckGo, Wikipedia, MDN, HackerNews, StackOverflow, and others. You can list all recipes by typing “allr”. Pagehop lets you search documentation or read developer news just by typing, instead of opening your browser. Of course once you are done with your search, Pagehop opens the result in your default browser so you can read at peace.

I already mentioned Vim, and developer’s love for it has caused the creation of tools like Vimium – a browser plugin which lets you navigate Chrome using the Vim shortcuts. Pagehop lets you do something similar without even opening your browser. It provides the simplicity of Alfred combined with the power of Vim to navigate anything with a keyboard.

But the best news of all is that Pagehop lets you extend it with third-party recipes and tools. If recipes are the sources of information, tools are the commands that you can pass to each recipe. If you know JavaScript, and you have an idea for a new recipe that may fit your personal development workflow, you can go through the developer documentation to learn how new recipes are created.

I’ve only been playing with Pagehop for an evening, but it feels wonderful and I suspect that any automation geek will feel at home. Go play around with it.

It happened. I finally gave in to the temptation and bought a mac. I had been planning to get one for a while in order to start learning iOS development and experiment, but postponed it for at least a year. The primary reason being the price tag. When Apple launched the latest MacBook Air 2013 models with Intel Haswell processors I finally got one.

I’ve been using this for a little more than a month now, and I have to say it’s a great machine. As a first-time mac user I cannot be happier with it. Not everything has gone perfect, but the problems I’ve had have all been resolved and I am now using it as my primary machine.

Hardware

What I like the most is that it has an exceptional build quality. No other PC that I’ve used has been manufactured so well. The unibody aluminum design definitely wins over everything that is made of plastic out there. It is also very thin and light and I can use it on top of my lap for long periods of time without getting tired. Although it is not the fastest machine out there, I still haven’t noticed any lag or inability to perform. In all honesty, I haven’t done much work which requires heavy use of the hardware, but I have also tried things which are a little more complex than browsing pages. I have used GarageBand with software effects and I have also used LogicPro for audio processing. Most of the time the cooling fan doesn’t even start and you cannot hear anything while the machine is working. I have had the fan turn on only twice, when doing intensive work with the hard disk. The rest of the time, the machine was almost impossible to hear.

Although one of the major advantages of the Air is the long battery life, I haven’t been able to squeeze 12 hours out of it. It could probably go for 12 hours if you only click around on the web, but watching videos and doing development drains it much faster. It is still way better than other PCs, because the average in my case is 3-4 hours of heavy work. I haven’t seen a machine match this.

Software

I have tried MacOS before but had not used it day-to-day. It is a lot friendlier than Windows, although I am a power user and some of the things are too hidden for me. I have started using LaunchPad and the Dock heavily and feel happy with them. Every piece of software that I’ve installed looks great and is a pleasure to use. On Windows you can find a lot of things which are ugly and not thought out well. This is not the case here.

One major advantage over every other laptop that I’ve ever used is the trackpad. This is so good that when you try it once, you get annoyed when you cannot use the same features on another machine. Two-finger scroll, two-finger click for a context menu, moving between applications with horizontal swipe – these things are just awesome. Apple hit a home run with this.

The Problems

There are a couple of things which I had trouble with.

The WiFi Issue

The first one was the infamous WiFi issue with these models. Immidiately after I got home from the store I setup the mac and tried to get a feel of it. When I connected to my home router, I could browse online for about 10 minutes after which the connection stopped without any indication. The icon stays there and everything on the machine looks like it is connected, but you cannot open any web page. I called the Apple representative that I bought it from and they ran tests on the machine, concluding that there was nothing wrong with it. In the end, it turned out to be the encryption type on my router. I changed it from “WPA – Personal” to “WPA2 – Personal” and everything started working normally. It seems that with the upgraded wireless chip, Apple has some problems connecting to old networks with old encryption protocols. For most people, this would virtually be a non-issue since they probably have a newer router. Mine is a Linksys WRT54GL from 2005.

Multiple monitor support

The other problematic issue is multiple monitors. When I’m home, I use the mac with an external monitor through the Thunderbolt port (with an adapter). Apple have decided to make MacOS be smart about monitors, so whenever you connect a second one, it automatically recognizes it and sets it up with your last used settings. You can either mirror the built-in display or extend it, like you’d expect. However, whenever I put the laptop to sleep, the windows I have open are moved around after wakeup. If I have a window on the second monitor before sleep, the window is moved to the first one after wake. The window keeps the same dimensions it had on the external monitor, and in my case it looks ugly because the second monitor is with larger resolution. So not only is the window moved, but it doesn’t fit on the default screen. I still haven’t figured out how to fix this – it is probably a bug in MacOS. I hope that they will resolve it in a future update.

As a whole I am very happy with the machine and I haven’t touched my PC since I bought it. It serves me well as a primary laptop and I can recommend it to anyone who is planning to buy a laptop in this class. The price is not that higher than the rest of the competition but you get a lot more for it.