Where Is the Binary?

There is one of many questions regarding how Linux works:

Where is the binary files stored in Linux?

There is a command we are all familiar to use, such as these.

$ sudo yum install <package name>
$ sudo apt-get install <package name>

When using sudo, is the application installed on currently active user only, or is it usable by other users as well? After looking around, the binary is found under /usr/share instead of /home.

I know this is stupid but as someone who rarely use Linux unless it is absolutely emergency, I couldn’t help it. It is revealed to me that if I want to configure my own environment, I have to create my own application folder structure. i.e. Application under /home/<username>/ and then later download every package I need and put them all on PATH. After that, I need to figure out how to make my PATH automatically set every time I start my computer. Seems a lot of work.


Command Line Interface

The funny thing about command line interface, or CLI, is that most people I know tend to stay away of this and prefer using graphical user interface, or GUI, to do their job. There’s no one to blame actually since today’s GUI is so pretty and intuitive. That, however, makes me wonder of several points.

Working on laptop means limited computing and storage capacity. After years of funny experience of expanding memory and storage, I may have come to a conclusion that GUI takes space much more than CLI. The processing power required to operate GUI is also more than those of texts.

When you’re using Git, for example, using GUI such as Tortoise Git is a good idea. It allows to to basic stuff easily, such as commit, remove, pull, push, merge branch, even solving file conflicts. But then, I realize that I have to install Tortoise after installing Git. That makes up space.

The other example I have come across is of remote access. I usually use Putty. It makes thing simpler, of course. You can choose your desired server address on your already-saved list, your public key to get access, and so on. Using CLI could mean that you have to remember all those things and where you put them in filesystem.

So, in this era of storage abundance, do you still need to compress your GUI? Some might say yes but I prefer to say no. GUI makes things easier even though you still need to make some clicks and see loading screen instead of typing as fast as you can and see if you make a typo or two. CLI is still necessary, however. You still see that when accessing Linux servers. I haven’t found anyone who use Remote Desktop Connection in such servers. If that’s available, I would gladly give it a try.


SLI : Between Needs and Desires

One question asked when buying a new card: why would you want to buy that one instead of another?

Let us just see. The main concern of SLI is either heavy workload or heaving gaming, which also implies heavy workload, which for those who play casually, won’t need something that fancy.

Another main concern is that of electricity bill. Multiple cards require more powerful PSU and 400 Watt won’t cut it. If using 1000 Watt could multiply your productivity and thus enable you to pay your bill, then go for it. If not, then why bother?

But of course it’s your money and you can anything about it. Why bother listening to what I’ve said?

Upgrade Path

Not so sure about choosing different talent path? If you are a gamer, you might have encounter this thing. The same thing goes to electronics, especially PC. There are at least two major platform to choose based on processor. Once you have chosen your desired platform according to your budget, necessity, and software compatibility, the you can browse around components from various manufactures.

After a moment you’ll realize that there are a lot. You start yourself with reviews, comparison, and budget. Tech advances so fast these days. One day you see an announcement of new processor, you’ll get another the next day. Your mind get confused of so many options. One day you decide to resort to one last bastion, which is Requirement.

Not everyone needs fancy machine but everyone needs a machine fit to their needs. From that point of view, you can decided which machine you want to build. After that, you remember the character you have made earlier in a particular game needs to be leveled up and you need to decide its proper talent. Things back to square one again, you say to yourself.


Project Update

Sometimes it fixes many problem, sometimes it fixes some and creates some, and if you are not lucky, it creates a whole new set of problem. Compatibility issue is the most likely problem to happen. That’s why people like to delay update and after too long you realize that your components are already far behind and doing update will probably generate only problem instead. Then you decide to run it anyway. If that’s the case, then please pray.

And since this is not your original work, you don’t know what components are there and what are their function. Now you’re looking at terminal and wonder if you really need all of those.

Ubuntu on Windows

It seemed weird at first but it works now. Please kindly refer to this article or this article. In short, you’ll need to enable Windows Subsystem for Linux feature, go to Store, pick your desired distribution from available choices, then install. After several minutes of downloading the application, you can run your Linux on Windows like normal application. It’s on terminal, though.

Ubuntu on Win10

It seems to cover basic terminal operation such as directory management, file archiving, archive extracting, and downloading something using wget. It also allows you to install things. I haven’t tried on something with GUI such as web browser or games, for that matter. At least I can try python for now. Go ahead and type your usual command.

$ apt-get install python

Ubuntu on Win10 2


Interdepartmental Secrecy

This would be mostly about rant. That’s it. My work with a particular client has been running since last year in developing a system to store and make simple analysis regarding all of their work, in short. Their substantial work, however, has ties with several bodies in the same level as theirs. These ties imply data connection between them and protocols with which data can be interchanged. From this point, they argue which data can be shared either publicly or internally.

The definition of secrecy, of confidentiality belongs to data-master, as I usually call it. The master has every right to declare which are confidential and which are not. In the latter case, the data might be in public domain for public review. The data-masters have their superior, their supervisor which has also every right to command them to release everything they have. At some point they, the data-masters simply agreed but later one person stood up and challenge the forum about possible consequences.

Personally attending the forum, I had to contribute one or two arguments, which were later considered as rude and sharp by my colleagues. Seeing that attendees seemed to be confused about which would be hidden in our system and which would be open for public, it was only fair to make a point or two for their misconceptions, in short sentence of course.

I beg your pardon for pointing this out again and again. From your requirement, you might let your data be visible on public domain. This aspect has been very clear for us from the beginning that public shall not see data on this level of detail. They are only to see, if necessary, the final data containing final result. The on-going data shall not be for them to see. For personal inquiry regarding their case and how far their case have been handled, they have been given credential unique to themselves to access such information. Therefore, I thought there is no need to expose our storeroom to all crowds.

A colleague of mine reprimanded¬† me for being rude again but at this point, I couldn’t be anymore careless. It’s their data, their integrity, their system. While being maintained by me (and my friends, we formed a formidable team here), I, as representation of my team, cannot let our work be only a toy instead of serious collaboration.

The conclusion was that we would develop a prototype which would have intentional data breach. Such prototype would allow public domain to see data, which were deemed confidential at first but later requested to be public. This prototype, however, would not be deployed on formal server but on one PC which belongs to a colleague, from which all access would only be permitted from localhost.

Following meeting should be held afterwards with regard of this experimental and intentional breach. Different stakeholders, I assume, will either fight against themselves head on while figuring out why these data should be hidden and why not by request of higher authorities, or they would willingly submit to these authorities.