Change default font in LibreOffice 4.x Spreadsheets

LibreOffice (henceforth referred to as LO, in this post) is a decent piece of software. I think what makes it better is the price: free.

But, LO is also a VERY FRUSTRATING piece of software. Or at least I find LO very frustrating. I mean, things that a user should be able to do quickly and easily have to be done in a round about way.

I love to do most of my work in plain, pure, simple text files. But, then, there are times when you have to create “documents” and presentations. My usual method of operation for a long time was:

  • I would write my documents in text form (i.e., as an ASCII text file in gedit or even “cat > fileName”) and then add HTML tags to the document “manually” (yeah! go ahead call me crazy)
  • I would write the outline for my presentations in text form (again, as an ASCII text file) and then use the some presentation creator (e.g., like the one in Google Drive) to create the final presentation

Till about 3 months ago, the only reason I would invoke a spreadsheet (typically Excel, which was the only reason I would need a Windows and an Office licence) would be to create a pretty-chart to insert into a document or a presentation. Other than that I was blissfully ignorant of all the cool things Excel and other spreadsheets could do although frankly the real reason was that I didn’t care that those spreadsheet apps could do so much.

If I had to do some “significant” (not really) calculations on a given piece of data, then, till about 3 months ago, I would do my calculations by starting either bc/dc or the python interpreter. For longer calculations, I would write simple python code. (My knowledge of Python is restricted to writing elementary programming constructs, but, my calculations were also pretty simple till 3 months ago, so that knowledge sufficed.)

So, that was that … till about 3 months ago.

Then, about 3 months ago, I “discovered” the power of spreadsheets. (Now you know I have been living under a rock for a LONG time, right?) And I instantly fell in love with them. My current understanding is that spreadsheets are great not only for creating pretty-charts from cooked-up data, but, they are also good for routine calculations.  With a spreadsheet you don’t have to worry about “how am I going to read that data into my program”. Why? Because you work with the data … directly. Your program is specified as a bunch of formulas that you insert into various cells where you want some calculations done. And most of these spreadsheets, but, especially Excel, come with an extensive library of functions you can use to manipulate your data. Pretty cool, isn’t it?

Now, all that sounds great and works well, but, there’s one big problem in Linux-land. No, the problem isn’t that there’s no good spreadsheet software. In fact, if you search online you would find a lot of open source spreadsheet software for Linux. The problem is that none of that spreadsheet software is as “nice” as Excel.

LibreOffice Calc comes pretty close to be being “nice” but it is like using Excel 1980 rather than using Excel 2013. Why do I say that? Because even a simple function like “set default font for ALL my spreadsheets … now and in the future” is absent. And the developers seem to have no intention to provide that function for whatever philosophical reasons. Mind you, we are talking about LibreOffice 4.x here, not LibreOffice 0.04.

(On a side note, the biggest problem with open source software is that there are TOO MANY philosophers who “initiate” the code and then never contribute a line to that code but continue to rule as the “Benevolent Dictators“. And in the world we live in, where we love to make Gods out of humans, we accept these “abusive” benevolent dictators as Gods for no apparent reasons.)

So, anyway, I googled around and did not find any workable solution for my little problem of “set default font for ALL my spreadsheets … now and in the future” in LibreOffice 4.x Calc. There were things like: create a default template (how?) or choose File->Template (not there in LO 4.x), etc. So, I figured I would try my own trick. And luckily it worked, so here it is for my future reference. If it helps you, all the better.

So, what’s the procedure to “set default font for ALL my spreadsheets … now and in the future” in LibreOffice 4.x Calc? Here’s what I did:

First, I created a new, empty spreadsheet file. Then, I chose “Format->Styles & Formatting …”. Then I right clicked the “Default” list-member and chose “modify”.

 

Modify The Default

In LibreOffice 4.x Calc, choose “Format->Styles & Formatting” and then, choose to “Modify” the “Default”

In the Font tab, I chose to set my font to “Ubuntu, size 16”. Yeah! I like B-I-G fonts.

Choose Your Font ... wisely.

Change the default font. I like B-I-G fonts, so I chose “ubuntu font, size 16” as shown here.

With that done, I chose to save this file as a “template”. I called it “libreOfficeCalcTemple”, although LO added an ots extension to it. This file was saved in “~/.config/libreoffice/4/user/template/” directory which has been set as the default path where LibreOffice 4.x would save its template files.

Now, under ordinary circumstances, I expected that a new invocation of LibreOffice Calc would automatically pick up this spreadsheet template from the default path. But, NOPE! It didn’t even recognize that spreadsheet template’s existence. What gives? I don’t know! And frankly, I don’t care.

So, then, I started LibreOffice (the general program, not the calc/spreadsheet part of it). This brought up this screen:

Start LibreOffice general program

Start LibreOffice, the general program, without any specific functionality (spreadsheet, wordprocessing, etc) and choose “Templates …”

From there, I clicked the “SpreadSheets” tab, and chose to import my “saved” template. Once my template showed up, I chose “Set default” to make that my default template.

Set your template as default

Set your chosen template as the default template for all your spreadsheets henceforth.

Once all that was done, the next invocation of LibreOffice 4.0 Calc came up with “my” font specification.

The point here is that for something as trivial as “set default font for ALL my spreadsheets … now and in the future” I had to jump through infinite hoops (create template file, save it, pull it up again, set it as default, etc) which I feel is unnecessary trouble. So, my humble request to the LibreOffice devs: please set your “high” philosophies aside and create a piece of software that is easy and fun to use. We don’t want a Microsoft Office replacement. We just want a functional, fun and easy to use “office” software. Because if we really wanted to do something the hard way we would all just move to Emacs (JK. BTW, that’s coming from a guy who has used Emacs EVERYDAY for 5+ years … but just used … never really written any Emacs extensions).

Anyway, so if that tip helps you, all the better. If not, ignore my rant.

Trouble in TP-Link land!

Some time back I wrote a post about how my D-Link DSL router’s Wifi broke down leaving me with no way to access critically important sites like Facebook, Twitter, Pinterest and Google+. So, I had to hunt down an old TP-Link MR3020 router and create a hideous looking wireless network that had more wires than I would have loved to have around. Thanks to all the goofing around I did back then (and recorded meticulously in that blog post), I have been able to browse the Interwebs and consume all the knowledge that is out there (e.g. mother kitteh’s love their little kitteh’s, doggeh’s love to chase their own tails, etc).

A few days back a strange and interesting phenomenon happened. I live in a small apartment that is probably not more than 30 ft in length and not more than 20 ft in width. This house would have been a great loft, if the builder hadn’t decided to provide “privacy” to the bedroom. So, there’s one big wall that separates the bedroom from the rest of the house.

The Wifi signal from the TP-Link MR-3020 router reaches most parts of the house, but, there’s a section of cupboards in the bedroom where it does not reach. I would not have detected that dead-zone had it not been for a tiny little Samsung N150 netbook that I am converting (at snail’s pace) into a simple home server. To keep things manageable, I put the Samsung N150 netbook, an external monitor and a Canon scanner+printer into one of the cupboards. But, with that setup in the cupboard, I was not able to access the Interwebs from the Samsung. And even worse, I was not able to access the Samsung N150 netbook and its connected printer/scanner from the other computers in my house. A quick check revealed what I was scared of: the Sammy had no Wifi connectivity!

Pulling the Sammy 2 feet out of the cupboard and into the open enabled it to connect to my home Wifi network. Hmm! What’s a human to do in such a situation? There’s only one thing: get more networking equipment. So, I quickly logged onto a local online retailer and ordered the cheapest Wifi box I could find, which incidentally happened to be a TP-Link WR702-N wireless device. This box is a tiny Wifi device that can be configured in various ways … if you can get to it!

So, the box arrived today (mid May 2014) afternoon, but, this being the peak summer season in India, I decided to ignore it till evening. Then, in the evening, I pulled the TP-Link WR702-N out of the box and decided to configure it in “repeater mode” with the hope of extending my current Wifi network’s range deep into the cupboards.

As with all TP-Link products, the router came packed in a neat little box. The device itself is very small in size, if you care about that aspect of it. The most shocking part of the whole package was a seemingly well written “Quick User Guide” (QUG) that was inside the package. Now … I like to live dangerously, so I don’t RTFM (read the fine manuals) that accompany the devices I buy. But, considering all the trouble I had earlier in configuring the TP-Link MR3020 router, I figured it would help to RTFM this time through. At first impression,  was I impressed with the beautifully done, poster size “Quick User Guide” that came with my new TP-Link WR702-N Wifi device? Yes I was!

According to the QUG all I had to do was connect to the “default/preconfigured” Wifi network on the TP-Link WR702-N Wifi device, configure it using a simple menu and I would be in networking heaven. Then reality hit me

Here is my suggestion if you get yourself the TP-Link WR702-N Wifi device: shred the freakin’ QUG and throw away the pieces so that you never mess your mind. God save the world! That TP-Link WR702-N Quick User Guide is not only utterly useless, it is completely wrong. Why do I say that: because you CANNOT connect to the “default, preconfigured” Wifi network on the TP-Link WR702-N. Since there’s no obvious way to get into the box, there’s no obvious way to configure the box! But, I figured out a way! Here’s what I did:

The TP-Link WR702-N has two ports: a tiny USB port and an Ethernet port. Cables for both the ports are provided with the box. So, connect the cables to the TP-Link WR702-N  appropriately. Then, connect the other ends of those cables to your computer. Now starts the fun part. Your computer/laptop/netbook/whatever is going to spin round and round to get an IP address from the TP-Link WR702-N, but, the TP-Link WR702-N is NOT going to give any IP address to your computer. Why? I don’t know! I really don’t! So, what should you do? Irrespective of whether you are on Windows, or Linux or Mac OS X, you gotta do these steps:

  • disable DHCP on your computer’s Ethernet port
  • configure a static IP address on your computer’s Ethernet port – anything in the 192.168.0/24 range would do, but, 192.168.0.254 is the TP-Link WR702-N device’s default address, so, I chose 192.168.0.200/24

In my specific case, my laptop runs Xubuntu 13.10, so I had to do all those things (disable DHCP and configure an IP address manuall) from the Network Manager configuration utility. VERY IMPORTANT: do NOT, and I repeat, DO NOT, try to configure the IP address for your computer’s Ethernet port from the shell. I tried being a smart whatever, but quickly realized that Network Manager continuously ran DHCP client on my Ethernet port. So, even if I configured the IP address manually (sudo ifconfig eth0 192.168.0.200/24 up), NM would undo that configuration within the next few moments and then go into a loop requesting IP address from the TP-Link WR702-N.

So, your best bet is to edit your network connections and add a new Ethernet interface that would have a manually configured IP address, in stead of a dynamically acquired IP address.

Network Connections shows two Ethernet interfaces: Eth0-1 and Eth0.

Setup two interfaces on your Linux box. Eth0-1 has a manually configured IP address that lets it connect to the TP-Link WR702-N device. Eth0 is the default Ethernet interface that fetches its IP address dynamically using DHCP.

Here is how my Eth0-1 is setup:

Eth0-1 configuration

Setup Eth0-1 with a manual IP address, 192.168.200.200/24 in this case. (NOTE that i had changed the IP address of the TP-Link WR702-N router to be 192.168.200.254 earlier.)

Once you have done that, login to the TP-Link WR702-N Wifi device and start setting it up. To do that you need to start your browser and point it to 192.168.0.254 (or 192.168.200.254 in my case). Assuming you haven’t done any changes yet, the login and password are both set to admin by default. Now, you would be tempted to get into the “Quick Setup” option provided by TP-Link WR702-N configuration utility/web page. But, don’t do that. In stead go through the process manually.

In my case, I wanted to configure the TP-Link WR702-N box as a Wifi Repeater. So, I had to setup the following:

In “Working Mode” I chose the “Repeater” mode as shown here and saved it.

Setting the TP-Link WR702-N in Wifi Repeater Mode

Setting the TP-Link WR702-N in Wifi Repeater Mode

In “Wireless Settings” I configured the Wifi network that I wanted to “repeat”. For this example, assume that the network name is “abracadabra” and the security password for the network is “bogusPassword”. Also, assume that the MAC address of the TP-Link MR3020 is “”64:70:02:55:55:55” which in TP-Link case translates as “64-70-02-55-55-55”. (Seriously! Who in his right mind uses dashes in stead of the universally accepted colons to write a MAC address? TP-Link does!) Don’t forget to save all that info once you have configured your TP-Link WR702-N device. So, here’s how the whole configuration looks in my case:

The wireless settings on my TP-Link WR702-N box setup as a Wifi Repeater

The wireless settings on my TP-Link WR702-N box setup as a Wifi Repeater.

In “DHCP Settings” I chose to disable DHCP because my TP-Link MR3020 issues appropriate, preconfigured, IP addresses to my notebooks, tablets, and phones.

Disable DHCP on the TP-Link WR702-N

Disable DHCP on the TP-Link WR702-N

Once all that was done, I chose to reboot!

Just reboot, already!

Just reboot, already!

Then, when the  TP-Link WR702-N came back up, it was ready to play its role in my network: that of a Wifi repeater.

Bottom line: never RTFM … especially TP-Link manuals and their online help. (JK)

PortableApps on Xubuntu

This is not going to be news to anyone, but, I just got PortableApps running on Wine on Xubuntu 13.10.

Backstory: A few weeks back I got myself a tiny netbook that runs Windows 8.1 on some really low end AMD CPU/GPU combo. This netbook is so underpowered that it cannot even render those “curves” around window corners. There are no special effects and there are no graphical gizmos on this machine.

That being the case, I figured now or later some Linux distro was gonna find its way onto this netbook. So, I didn’t want to install all the usual apps on this notebook: firefox, chrome, libreoffice, etc. And the easiest option seemed to be to try out PortableApps. So, I pulled out an old hard drive, plugged it into an external case, formatted it and installed PortableApps onto it. Within moments a few usual suspects (firefox, chrome, libreoffice, Notepad++, etc) found their way onto the drive. A few moments later the PortableApps icon appeared on the task bar and in the system tray of the Windows 8.1 running on the netbook. I started a few apps and made sure things were working. So far so good.

Now! A few days back, for reasons that don’t concern us here, I installed Wine on my Xubuntu laptop. And today, during some idle time (an empty mind is a devil’s workshop) a thought suddenly occured to me: would PortableApps run on Wine on Xubuntu? There was only one way to find out: I plugged in the PortableApps hdd into my Xubuntu laptop, and chose to run the PortableApps “Start.exe” with Wine. I got some warning saying the autorun.inf or some such file was modified … blah, blah, blah! I decided to ignore that warning. (I know that’s not good. But, I catted the Autorun.inf file and it seems alright to me. We will only know when I plug this back into Windows 8.1.) A small window popped up that had the PortableApps icon in it. Clicking that icon brought up the PortableApps menu! Choosing to start some apps brings them up nicely. I am happy!

PortableApps Menu seen while running PortableApps running on Wine on Xubuntu.

PortableApps running on Wine on Xubuntu. 😀

The obvious question is: why? Why in the world would you want to do this? I mean most apps that you could install through PortableApps are freely available in all Linux distros. So, why? Why go crazy? The answer, my friend is … well! Hmm! There is no answer. I just wanted to try it out. And it works. But, now I am thinking my external drive could very well end up becoming the place where I plunk all my notes, docs, presentations and spreadsheets.

So, if you want to run PortableApps on your Linux distro, you very well can. Go ahead and try it out, you will love it.

Delete old/unwanted wireless networks from Windows 8.1

I found this procedure somewhere on the interwebs and thought i would make a note for my future reference. So, if it helps you then all the better.

Alright! Windows 8.1 is a major goof up. Nobody is going to dispute that. A lot of things that are expected from a sane simple desktop OS are missing. One of the things that is missing is the ability to remove old wireless networks. I mean this being Windows, you would expect to go to a wireless network name, right click and choose to delete. But, no siree! Windows 8.1 ain’t not giving you no easy way to delete your networks. 🙂 But, fret not! For the Windows command line is there to help you.

So, you start off by firing up your terminal or Command Shell (cmd) in Windows. Then you type this command to list all wireless networks that are configured on your Windows system:

C:\ > netsh wlan show profiles

So, just to repeat, that command is going to show you a list all wireless networks that are configured on your Windows 8.1 system.

Now, to delete specific networks, you run this command:

C:\ > netsh wlan delete profile name="SSID of network you want to delete"

That old network is now gone! And you are done with the task at hand. 🙂

HTH