Solr on EC2 Ubuntu

Here is a quick quide to configure Solr on Ubuntu on Amazon EC2. Notice this guide is for Ubuntu 13.04 (Raring Ringtail).

solr_logo_rgb_0

Once you are on SSH on the linux box start by updating packages.

You may want to first update and upgrade system:

Update and upgrade system

apt-get update 
apt-get upgrade

Install Java

sudo apt-get install openjdk-7-jdk

Install Tomcat & Solr

There is an unique package to install, it will take care of installing both Tomcat & Solr, plus the integration of Solr in Tomcat.

sudo apt-get install solr-tomcat

Open port 8080 in AWS

In https://console.aws.amazon.com/ec2/ open Security Groups in Network and Security , select Inbound -tab and Add rule 8080 port to the list and save changes.

Start the server

sudo service tomcat6 start
  • Open your web browser : http://domain:8080/ Tomcat should say : It works !
  • Solr should be accessible at : http://domain:8080/solr
  • If you installed the management package, take a look at : http://domain:8080/manager/html and http://domain:8080/host-manager/html
  • The config & index will be stored at : /usr/share/solr/ 

More infos on the general installation at :http://wiki.apache.org/solr/SolrTomcat 

Subway IRC on Amazon EC2 Ubuntu

subwayI am big fan of IRC but I have not been using it for a while basically because I cannot use “screen” on any of my servers. Some time ago I saw IRCCloud.com and I subscribed to beta testing but I never got any invite but it opened my intrest for browser based IRC. That would be exactly what I need especially when I am jumping from PC to PC and often I am on Windows where terminal is a hassle. Finally I found something that covers my needs. It’s called Subway and you can find it from Github

Subway is built with node.jsnode-irc and MongoDB on the backend, and Backbone.js and jQuery on the frontend.

Installing on Amazon EC2 Ubuntu 12.10 (Quantal Quetzal)

Once you have Ubuntu running open terminal on your server ssh -i YourCertificate.pem ubuntu@YourPublicIP

Upgrade the ubuntu image and install all dependecies for running Node, notice that Ubuntu default repos includes old useless version of Node and therefore you need extra repo. More info here. You will also need Git to clone Subway from Github .

sudo apt-get upgrade
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
sudo apt-get install mongodb
sudo apt-get install git

 

Now you should have all you need. Next step is to clone and install Subway. For that just follow standard installation guide https://github.com/thedjpetersen/subway#installation

Once installed run “node subway” and head your browser to your http://PublicIP:3000. Remember to open port 3000 in AWS.

 

Sitecore and Responsive Design

Someone asked me about Sitecore Devices and Responsive Design, so  I decided to write short post about my experience on it.

Sitecore has a concept of Devices where different piece of content can be shown in different UI.

Sitecore backend screenshot of an item (a page) and designs attached to the page.

It is very powerful of Sitecore and one of the core features that gave me huge impression back in a day when I started to work on the Sitecore CMS.

Devices are easy to explains and therefore they are usually as a first concept for customer to serve website in Mobile and Browser layout but reality at least on my case is different. In in the end,  I have not done many sites where I used dedicated and separate Mobile design as it usually comes as a feature request and by over the project project scope changes and stuff tends to come in and other less important features goes out. And yes… Mobile layout is something “let’s do it later after going live with main site…”  So, I end up to build the site to desktop browser only.

I am only using devices for RSS feed, Print layout and couple of times JSON for some AJAX love (talking about that,  take a detailed look in our own site how we load page when you click around in navigation, no page reload… cool eh? This is done in hashbang concept where I load only content and change url as it looks like I navigate site but I am not loading whole page ever.). In last year we have done all our sites in Responsive Design which means there is even less need for using separate device for mobile since HTML5/CSS3 does all the work for us. :) Also, I don’t really like separate print layouts either since we can simply do the same in CSS nowadays.
We made recently toolkit for trying to find Responsive Design for Sitecore. it is of course generic so it works for any site but it was a first toolkit for us to test sites with different window size to give an idea how page looks like on different resolution.

 

Next Generation Analytics

I was reading Wired, Beyond the Beyond blog post about Gartner’s Top Ten Strategic Technologies for 2011  and same topic in Gartner’s site for 2012. The list is quite obvious like Bruce Sterling puts it in his post. Topics like Cloud Computing, Mobile Apps,Social Commication/Collaboration, Video,  AI… But there was one topic that looks really interesting: Next Generation Analytics.

Next Generation Analytics. Increasing compute capabilities of computers including mobile devices along with improving connectivity are enabling a shift in how businesses support operational decisions. It is becoming possible to run simulations or models to predict the future outcome, rather than to simply provide backward looking data about past interactions, and to do these predictions in real-time to support each individual business action. While this may require significant changes to existing operational and business intelligence infrastructure, the potential exists to unlock significant improvements in business results and other success rates.

It would be interesting to see a software in real-life that can predict business infrastructure, basically predict anything that mattered… I think we are quite far from computers able to predict future. But perhaps by next generation analytics is just Business Analytics like Sitecore DMS? How does companies like IBM who is in deep on Business Analytics are going to implement something that pretectects something valuable. Is this something simple like behavior what should a webshop offer to a user or could we pretect something bigger like following quarter sales numbers based on customer patterns. I am looking forward to see how this can be built

Anyway, whole idea with predictive analytics is quite fascinating.

My Experience in TechEd Europe 2001 and 2012

I participated again to Microsoft TechEd after 11 years. Last time I was at TechEd it was in Barcelona back in 2001 where Microsoft presented .NET platform, SharePoint, XML/WebServices strategy and a lot of technologies that routed my path as web technologist working on Enterprise web solutions in Microsoft world. “This is the XML era,” like Gates boldly proclaimed back in the day.

I remember being very impressed about XML, C# and XSLT back in 2001.  There were also things that I did not like. Such as SharePoint which I thought it was useless and against “Web” and therefore wrong (I still think that way about SharePoint). I also did not like ASP.NET WebForms, I loved it concept of controls and code behind but it felt very limited when looking as frontend developer. That thing was generating HTML for me!  But I understand why it was designed that way. Back in the day as there was many Windows developers ready to build web sites. But for me and other web developers moving to .NET it felt really a limitation. Though, pretty much everything else on 2001 conference was fantastic! But no more old memories, let me tell you about TechEd 2012.

So what had changed in 11 years. For one is that there was a lot less “coding” and much more architecture and platform sessions. I think they have moved development more to MiX and other events which unfortunally is not in Europe.

Overall, TechEd was nice experience but I wont go there next year. I might go there again in some time in future but as a web developer TechEd was too much about infrastructure, cloud and servers (which is important too) and too little about the coding. But when there will be new Windows Server 2015 or Azure 2.0 I probably subscribe in again.

Azure

Azure was everywhere, it is the biggest effort that Microsoft is doing since .NET 1.0 to get developers in their platform on cloud and I think it might work out for them. New Azure is very nice, even company I am working at have everything already in cloud I still could see I might as well try out Azure on some point. The user interface of Azure is nice a simple, much more appealing than EC2 and others that I have been playing with. But I think Azure needs to come down in price quite a lot before I will move there. However, if you are just starting to move cloud Azure might be more appealing than Amazon. I believe Azure, Amazon and Google will have interesting battle on this field. I am really looking forward coming years on cloud computing. In Cloud winners are developers and losers are hosting companies.

SignalR

I joined to couple of sessions of SignalR and it is fantastic. I really love it. It is something I will definitely going to use in somewhere in the future.

Visual Studio 2012 CSS and JavaScript Engine

The new Visual Studio incorporates the JavaScript engine used in IE 10. This parser significantly improves the accuracy of JavaScript parsing resulting in improved design time JavaScript feedback. It supports Go To Definition, Function overloads, Bracket matching, Outlining, Smart indenting, XML documentation comments. Now writing JavaScript in VS is almost as writing C# :)

CSS engine on the editor is great as well. It supports now vendor specifc attributes and small snippets like color picker. If you are working with VS this video is worth  of checking out: http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV302

Also, now VS has updates to definitions so every now and then you get automated updates for new vendor CSS attributes etc.

Windows 8

Even working closely in Microsoft world, I am going to stick with MacBook Air but I hear and hope Windows 9 will be great. :)

Other notes

Microsoft guys seems to like GIT, I did not see single demo with any other source control, not even TFS. Cool!

 

 

 

 

 

My first PC, Spectravideo SV-328

I stumbled to Roger’s Spectravideo page while back and it brought back good memories.

Back in 1984 I got a Christmas present that I had been asking from my mom for a long time. Finally my mom had been bought me a computer! I was exited when I open the package I knew what it was, there was no doubt… I finally had my own C64 no more I had to feel outsider on their C64 talks. Little I knew that my mother had asked from local electronics store a computer that can actually help me doing homework and on learning stuff. You know, all that nerd stuff you do with computer but not gaming.  So, finally when I got the present open I saw that she had bought me something else.

SV-328

I was pissed… I expected Commodore 64

So, there I was with my new computer and Christmas holidays ahead so no friends to ask where to get games and how to get started. Luckily in the box there was couple of games that I could play over the Christmas holidays. The computer game with big manual and introduction to BASIC both were written in English. As a 9 years old Finnish boy, I had just started English lessons in the school but my level wasn’t even close to understand what those books were saying. But from trial and error I finally figured out how to load a game from cassette drive and how to run basic commands.

 

SV-328 right after boot

The SV-328 was the business-targeted model of the Spectravideo range, it wasn’t really for gaming. It had full keyboard with numeric keypad, and no built-in joystick. SV-328’s Zilog Z80A @ 3.6 MHz processor combined with 80 kB RAM (64 kB available for software, remaining 16 kB video memory) was somewhat good hardware, better than C64 on that time.

My machine came with 2 joysticks and casette drive. I had half a dozen games to start with. I really miss that machine now. It’s probably like everything else from eighties (better leave it for that decade) but I would love to see and try it again anyway.

SV-328
Released 1983 (Summer CES, Chicago)
Processor Zilog Z80A @ 3.6 MHz
Memory 64 KB (+16 KB video memory)
Operating system Microsoft Extended BASIC
Country USA
Year 1983
Ram 80 KB
VRam 16 KB
Rom 32 KB
Graphic 256 x 192
Colors 16
Sound 3 channels, 8 octaves
Ports centronics, rs232c, rgb, tape, joystick (2), cartridge

For more Spectravideo info, take a look Roger’s Spectravideo page  and of course WikiPedia Page of SV-323.

If you have SV-323 in the attic, please contact me I am interested buying it just for the sake of good memories.

VMWare Fusion Keys Reference

I just recently bought new work laptop and setup Windows 7 on it. One thing that takes time to get used to is differences in keyboard shortcuts. I have put here some of the basic commands mainly for my own reference so I wont forget.

Reference

PC
Macintosh / Fusion
Ctrl+Alt+Del
To send Ctrl+Alt+Del to a virtual machine:
  • From the Fusion menu, click Virtual Machine > Send > Crtl+Alt+Delete.
  • If you are using an external PC keyboard, press Ctrl-Alt-Delete.
  • On a full-sized Macintosh keyboard, press Control-Option-|X>. The |X> (Forward Delete) key is below the help key.
  • On a Macintosh laptop keyboard, press Fn-Ctrl-Option-Delete.
Delete
The Delete key on an Apple keyboard is actually the backspace key to all other operating systems. To send the PC Delete key to a virtual machine:
  • From the Fusion menu, go to Virtual Machine > Send Key > (Forward Delete)
  • On a MacBook or MacBook Pro keyboard, press Fn-Delete.
  • On a full-sized keyboard, press |X>. The |X> (Forward Delete) key is below the Help key.
Insert
To send the Insert key to a virtual machine:
  • On a full-sized Mac keyboard, press the Help key.
  • On older MacBook or MacBook Pro keyboards, press Fn-M. Newer MacBook models do not support Fn-M, and mapping the Insert key (to any convenient key combination chosen by the user) can be achieved in Fusion’s menu bar under VMware Fusion > Preferences > Keyboard & Mouse > Key Mapping.
Print Screen
To send the Print Screen key to a virtual machine, press F13 on a full-sized Mac keyboard.
Alt-Gr
To send the Alt-Gr key to virtual machine:
  • Press the right Option key on a full-sized Mac keyboard.
  • On European MacBook and MacBook Pro keyboards, press the Enter key next to the right Command key.
Notes:
  • This is overridden when Num Lock is used for numeric keypad support.
  • To disable this Alt-Gr mapping, open the file:

    ~/Library/Preferences/VMware Fusion/preferences in a text editor and the line: pref.mapISONumpadEnterToAltGrEnabled = “FALSE”

Selecting multiple list items
  • Press and hold Ctrl-Option, then click the multiple items.
  • Disable the mouse shortcut for the secondary button (see beginning of Resolution, above), and use Ctrl+click as you would in a regular Windows environment.
Num Lock
To send the Num Lock key to a virtual machine (allowing the use of the numeric keypad), press Clear on a full-sized Mac keyboard.
Function keys
  • Press fn + the desired function key.
  • To make the Mac function keys act like regular function keys, and trigger the special functions with fn + the function key instead, go to Apple menu > System Preferences > Keyboard (or Keyboard & Mouse > Keyboard), and select Use all F1, F2, etc. keys as standard function keys.

For all keyboard shortcuts, not necessarily those pertaining to Fusion, see Apple’s Knowledge base article Mac OS X keyboard shortcuts.

Starting to blog again

I have not been writing anything for ages on my site mostly because I have been quite busy with these two on the picture below.

However, now I have decided to reserve some time and start to write some posts again, mostly about technical and business challenges that I face daily in my work while developing solutions in Sitecore and Umbraco. Also, I want to write about application development in general using jQuery and other interesting front-end technologies that I bump into. So, if you are interested about these topics come and check out this blog once in a while and drop a comment.