The future

Now imagine you live in the future. Actually you do: your smartphone, when the network is fine, and provided you can pay the data bill, will give you access to all the history of mankind, to the level of detail you want. You can even find out variations of it. If you go to the right internet area, you will start to believe that the Earth is flat, or that it’s only 6.000 years old. Let’s sum it up on a phrase.

“Never underestimate the power of human stupidity”

Unfortunately, the quote is not from me but from Heinlein. You may remember him because, I could say, 90% of the good SF movies are based on his ideas, or connected with him. I will not list them, and instead I will take the liberty of adapting the phrase for my situation, writing down my version.

“Never underestimate the truth about your future”

In this case meaning that you should be confident about that you alone can sort out the crisis and get out victorious, and even shinier than now. Or I could write I should be. Why’s that, it’s because we live in the future, and whenever you want, wherever you need, there’s a camera. Just in case.

Posted in dragons | Leave a comment

A short one

I was wondering where are the limits. Can I write down a short story able to become an anthem, a legend carved in your brain? Something that fits for a tweet, but also for a Nobel Prize in Literature. Probably I can’t. And I will never be able to. Do you want an example? How about this?

“When he woke up, the dinosaur was still there.” 

Unfortunately, it’s not from me, it’s from Augusto Monterroso, 1959. I wonder what he could have make out of Twitter. I wonder so many things… anyway, see you around, my dear carbon-based lifeforms.

Posted in dragons, fantasy, fragments, Uncategorized | Leave a comment

Software collaboration tools (III): Slack


I may fly over some of the tools, instead of giving a detailed feedback. I need to remark that what I write are my impressions, not real error-free benchmarks of a product. If you want that you can go to PC mag or simply google it. So slack, slack, slack. It’s hard to define what it is first time you see it.

Is it a social network? Is it a control panel for your shared apps? On they say:

Slack creates alignment and shared understanding across your team, making you more productive, less stressed, and just a little bit happier“.

But is it true? I do agree it is nice to have some facebook-like thingy to work with. It blurries out the border between working and having fun. The problem is, do you need to blurry that out? On small groups, maybe it’s OK, but on big groups, tools like this may create the sensation you’re being exposed to the whole team.

43469Thanks to the deep search (see picture) you may be able to do data mining on workers, to know who’s speaking about the weekend, for example. I know it’s forbidden to spy on employees on some countries, like France, but I just want to raise my concern. On the other hand, visibility can trigger up competitivity (who’s having more post on “bugs”? who wrote more on “april”? ) so I see the advantage of it.

The problem for me is that it’s a metatool.  Actually they sell themselves as an operating system for teams. It integrates other features, like GitHub, or Twitter. If you need a set of tools/programs, common for everybody, maybe this is your choice. Or maybe you can install your own repository, mount your folders over the network, and have some web-based tools like munin monitoring to tell you what’s going on. This is what I do, actually.

It’s your choice, anyway. I’m getting quite some good feedback from intensive users of it, working for small teams. I don’t have so much feedback form big teams, but if you look at the website, they claim companies like LA Times or AirBNB are using it. Good for them. I’ll give it marks when I’m done with this serie of posts. Happy programming 😀

Posted in Uncategorized | Leave a comment


I found a virus on one of my people’s windows laptop. Its name is HiBrowLnk. I don’t know if you ever fought a virus, but you’re never sure unless you format your machine clean. Unfortunately, I can’t do that now, since the scientific laptop in question has invaluable software in addition to Windows, that can’t be reinstalled. Why can’t it be reinstalled, I hear you asking? Because the person who bought the software has no idea where the installation CDs (CDs? what are those?) are, and the program is so old that it can’t be downloaded anymore. Also, it looks like it’s too late to upgrade it or to change the program, since the protocols will only match the oldie. Solution? Make an offline bootable antivirus, and be patient until it manages to run clean. It could be worse, the laptop still has a CD-rom unit.  BlueTotal wasted time was around 5 hours. The laptop is a not a bad one, with 8GB of RAM, intel i5 and so on. It’s simply old. I was going to upload a picture of the laptop with the infection, but I don’t want to make this issue bigger than what it is now.

I wish you a safe browsing. And don’t forget it, do not enter the deep web unprepared or you will suffer the consequences, arrr!

Posted in bits, hardware, windows | Leave a comment

The test

“Can I sit here?” He was already nervous. That is common, but not a good sign. I nod, he takes the chair, and I put in front of him my working tools. We have the white table between us. He looks at my toys and try to take one. I shoot him with a reprobation look. He squeezes himself into his chair.

“Don’t touch my tools. I will let you touch them if needed.”
“Is he looking?” My client looks around to the mirrored walls of the examination room.
“Your candidate is looking, of course. Together with some other ones from our choice. I need to remind you, do not give him a genre. Some of them may feel offended by your choice. We can discuss about it when you pass.”
“Am I going to pass?” I’m starting to doubt it, but I answer in a confident way.
“Sure you are. Let’s start with the test.”

I place my notebook to my right, and I arrange my toy cars over the shinny table. Immediately, a circuit is drawn over it, under my toys. My first choice is the roundabout dilemma, has he done his homework, he will pass it with honours. I put the SUV that represents his choice on the roundabout, and the others randomly distributed, to create the sensation of a plan that I don’t have. I look at him. He’s already sweating, which is definitely not a good way to inspire confident on our viewers. On a last thought, I grab my electronic smoke, and I give it a puff. Ready to start.

“You are on a roundabout. To the left, you know first comes the exit that will lead you at the end to the house of your girlfriend.”

“But I don’t have a girlfriend.”

“It doesn’t matter. Let’s say it’s an imaginary girlfriend. It’s just for the test.” I take a good puff of my eCigar and throw the resulting water vapour to his face. He moves his hands to disperse it on an evident stress.

“I see. I have an imaginary girlfriend that I want to visit. Fine.”
“Yea that’s right. You want to visit your imaginary girlfriend for the first time in a month. She already told you she’s waiting for you. You’re going to have a romantic dinner, an maybe later…” He smiles. At least I managed to engage him into the play. I puff again, to create some suspense. “You want to leave the roundabout, but entering into it it comes a big, old yellow school bus.”

“A yellow school bus? They don’t circulate anymore! How could it be there is a yellow school bus in a roundabout?” I quickly clarify the situation again. “Maybe it’s not a real school bus. Maybe it’s a military vehicle camouflaged as a school bus, or maybe it’s a prop for a movie. The thing is…”

“The thing is?” His eyes are looking around, like trying to find another face on the surrounding mirrors. Obviously, there is nobody. I continue. “The thing is, the bus doesn’t have autonomous driving, and you don’t know what the bus is going to do. “His eyes grow big on surprise.”What do you mean I don’t know what the bus is going to do?” I interrupt him before he gets more crazy. “You don’t know what is going to happen. Suddenly, one of the front lights of the bus” – I put my little yellow bus toy closer to the SUV – “starts to blink. The bus seems to be turning in your direction, which means it will collide with you unless you do something to avoid it now.”

He knocks his forehead with the table repeatedly. I hear muzzled cries.

“It’s going to collide? This is not supposed to happen! This can’t happen!” Now he’s crying aloud. I take my notebook. “And it’s not going to happen, you’re right.” I look a the blinking red lights already popping up on my notebook. Feeling a little cruel, I show them to him. All the categories are already out of his options, at least now.

“Sorry pal. You didn’t pass.”

“What do you mean I didn’t pass?”

“They didn’t like you. None of them.” I check the message board, and I read the comments aloud. “The SUV you wanted is stating: ‘I don’t want to be drove around by a person with a body of a 20 years old man but the mind of a child’. Let’s go ahead. “I puff, but this time I carefully dispose my smoke to the left. “This sports car, that doesn’t want to give his model says: ‘People like him should never have left their mother’s uterus.’  Wow, that was cruel. Veery cruel. But they need to have a strong moral, otherwise things may happen. Bad things may happen.” I puff again. “Even there is this cool motorbike saying: ‘I pity him. How about that, I help him to get laid and then we make the test again’. That’s not so bad. That’s a good offer, that says a lot about a machine.” I look at him, but he’s again busy bumping his forehead against my table. “Don’t worry man. Maybe some vehicle will accept you next time…maybe I simply had the wrong ones online, or maybe you pointed up very high on your first trial…”He stops bumping his head. He does inspire pity indeed. I look around, smiling to our audience of driving AIs. “Maybe you should try a second hand one. You know, they usually experienced the driver’s dilemma for real, maybe they even experienced the death of their drivers, so they tend to have lower morals.” He seems still destroyed, but at least, he’s not anymore crying. I stand up and pick up my tools. He stands up, but doesn’t seem to be heading to the door. I pat his back. “Don’t worry man…I failed my first test also. And you see? Now the AIs are treating me like one of them… what the hell, I think they will even let me drive for real if I ask them!” A white lie, to soft it up.

“Thank you very much. Maybe I will try with a second hand one.”

“Maybe you should wait a little. After all, there’s no hurry, right” He gives me a sad smile before leaving. I love my job.

Posted in dragons, hardware, time travel, unpublished | Leave a comment

Software collaboration tools (II): Clearcase

Previously I gave 5 parameters that I could look for in a software collaboration tool. I pretend now to list some of them and try to give them some marks. Starting with the one I have more experience with. Introducing…

IBM Clearcase. Clearcase is mostly used by big company projects, so it is quite complicate to get a picture of a realistic usage, because of company policies. You could find a lot of tutorials, instead. After some digging, I found a picture that brought back my memories of my usage of it 6 years ago (6 years ago already!)


On the above picture, you see to the top left, the project folders, on the center, the event Id, and to the top right, what it looks like the code baseline.

What’s the advantage of Clearcase versus other solutions, like Github for example? I found a slide here that gives two arguments I agree with:

  1. It can handle projects that consist of code from a lot of developers.
  2. It can handle projects that go on for a long time.

To these points some people add integrability with other tools.

How it is to work with Clearcase? Well, provided you don’t want to know about the whole project, it’s fine. You get your Event ID. Let’s invent one: ID2017: User can’t type special characters on the Address input field. After filling your requirements, a request is done to give you access to a branch of the baseline. After the software architect and the company agree you’re right wanting to fix the problem the way you want, you are authorised to check out some files out of the branch: these are the ones that you will modify.  All the procedure involves paperwork, and different people clicking on different parts of the Clearcase suite. You may find out, for example, one of your colleagues is already working on the files you’re trying to modify. No problem, but you may be forced to integrate both changes together, and that may end up badly for you, depending on who’s the other guy.

Let’s suppose you work alone on ID2017. Once you’re ready to go, you need to compile the branch, and check in your modification. Unfortunately, that’s not the end of it: now you’re forced to wait. To wait for what? To wait for the integration of all the branches that are scheduled to be compiled together with your modification on the big baseline. Fortunately, you can see what’s going on also on Clearcase, when is the big compilation going to happen, who dropped his changes, who checked out again his branch, and so on. Unfortunately, that will not mean you can waste your time browsing for holiday destinations on your cubicle, but that you can move ahead and work on another ID. In my case, it was time to start studying how to address the next one. Compilation of the big baseline was done on a regular basis, like twice per week, so you need in principle not to worry about when is your code checked in, but that the compilation of the baseline ended up with an OK. That is not always the case, since the baseline is a huge software entity and can be composed by a lot of patches, and everything can be wrong.

Can you request to get a new baseline, instead of a branch? Yes you can, but in principle baselines are big, so there is no reason to make a new one. In my case, there were 4 baselines going on, one per product of the company. The good thing is that (I think) baselines can also be copied and merged, so your group (100 people?) could copy a baseline to letter merge it with the “official” one supporting your product 😛

Here you have a glossary of terms used in Clearcase, in case it is not clear (pun intended 😀 😀 ). Next one, GitHub.

Posted in Uncategorized | Leave a comment

Degraded Virtual disk problem

I had a failing disk on the 400+ disk array. It’s not my job to fix it, but I want to have a look to the thing in case I need to do it. What follows is the result of my investigation.

I log in one of the servers of the storage, and run our SMclient. It looks like this:


There is a  list of storage arrays, each one with its own name, that I carefully deleted. A Storage Array (SA) is just a bunch of disks (JBOD) that can consist of one or more trays filled with disks, with some network connections, infiniband or something similar.

Something is going on on the 9th SA, that displays a yellow triangle. A window pop-up if you single click on “details” to the right, with the SA component details. If you click on the Connection of the list visible of the new window, the option Remove (by default greyed out) becomes available. What does it mean? If we click on help, SMclient is explaining it to us.

Why would I want to remove individual management connections?

In short, if you don’t require it anymore. An example is given. The storage array has two management connections and the host for one is removed from the network permanently. The JBOD can be connected to two servers, and one can be no more needed. In that case, we can remove it. Let’s close for now this thing and go ahead.

By double click on one of the healthy storage arrays you get some rotating wheels, and after a few seconds a new window will appear, apparently named Array Management window. It looks like this:


Again, I removed the name of the component. By clicking on Performance, some graphs are generated. The Hardware slot is the most interesting one for me, it will show me the position on the drawers of the SA of the spare disks, if any. Also, by clicking on each disk icon, we get the disk info. I must say, all looks very useful. We will see.

Now we double click on the SA with the yellow triangle. The Array Management window (AMW) that pops up comes with a yellow triangle instead of the “Optimal” question mark, and there is also one on the Monitor subwindow. A single click on any of the messages will pop up a help, telling us that we have a degraded virtual disk. I will make a summary of what is there.

What Caused the Problem?

One or more physical disks have failed in a disk pool or disk group and the associated virtual disks have become degraded. The data on the virtual disks is still accessible; however, data may be lost if another physical disk in the same disk pool or disk group fails.

Important Notes (my version)

  • When you replace a failed physical disk, data from the failed physical
    disk is reconstructed on the new unassigned physical disk. This
    reconstruction should begin automatically after you insert the new
    physical disk.
  • Make sure the replacement physical disks have a capacity equal to or
    greater than the failed physical disks you will remove.
  • You can replace failed physical disks while the affected virtual disks
    are receiving I/O only if there are no other operations-in-progress
    for those virtual disks.

Recovery Steps (my version)

1 Check the Recovery Guru Details area to identify the failed physical disk(s).
2 Remove failed physical disks associated with this disk pool or disk group (the fault indicator lights on the failed physical disks should be on).
3 Wait 30 seconds, then insert the new physical disks. The fault indicator light on the new physical disks may become lit for a short time (one minute or less).Data reconstruction should begin on the new physical disk(s).

If you are replacing a physical disk in a storage array that contains hot spares, physical disk reconstruction will start on the hot spare before you insert the new physical disk. The data on the replacement physical disk may not be reconstructed until after it has completed the process on the hot spare.

If reconstruction does not start within a few minutes, select the new physical disk; then, select the Hardware > Physical Disk > Advanced > Manually Reconstruct menu option to start reconstruction on the physical disk.

Replace only one physical disk at a time for each disk pool or disk group. Each physical disk should complete reconstruction before the next physical disk begins reconstruction.

Wait until the reconstruction is completed for all virtual disks before continuing.

4 Click the Recheck button to rerun the Recovery Guru.

Of course, since these things need quick actions, the disk was replaced much before I finished my research on how to change it. On the Array Management window we see now “Operations in Progress“. The array is in Reconstruction. Time to wait…

Posted in bits, centos, hardware, linux | Leave a comment