A blog about my experience in the IT world.

ORA-00210 ORA-00202 - Missing controlfiles (and redologs)

November 8, 2017

Scenario: Database is shutdown in NOARCHIVELOG with no backups ever made and controlfiles are lost.

When starting the database the following message is shown:
ORA-00205: error in identifying control file, check alert log for more info

On alert log:
ALTER DATABASE   MOUNT
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/oracle/fast_recovery_area/ORCL/control02.ctl'
ORA-27037: unable to obtain file status

Shutdown the database:
SQL> shutdown immediate;

The CONTROLFILE recreation script will need to be created manually, or based on a previous execution of:
SQL> alter database backup controlfile to trace;
Or browse the FS and locate all datafiles and redologs

Example of a CREATE CONTROLFILE script:
I'll use this as create_control.sql below
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 4672
LOGFILE
  GROUP 1 '/oracle/oradata/ORCL/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/oracle/oradata/ORCL/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/oracle/oradata/ORCL/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/oracle/oradata/ORCL/system01.dbf',
  '/oracle/oradata/ORCL/sysaux01.dbf',
  '/oracle/oradata/ORCL/undotbs01.dbf',
  '/oracle/oradata/ORCL/users01.dbf',
  '/oracle/oradata/ORCL/test01.dbf'
CHARACTER SET AL32UTF8
;

Start the database in NOMOUNT a execute the script:

SQL> startup nomount;
SQL> @create_control.sql
Control file created.

Database is left in mount mode and can now be opened:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/ORCL/system01.dbf'
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
Information will probably be shown that some file need recover, and RECOVER DATABASE command should help fixing the issue.

After this steps database is OPENED and everything should be OK!

BUT what if REDOLOGS were also lost (alas most times they are on the same mount points of CONTROLFILES) or someone tried to open with resetlogs!? 

Changed first line of create_control.sql to:
CREATE CONTROLFILE REUSE SET DATABASE "ORCL" RESETLOGS  NOARCHIVELOG

In this scenario, you probably won't be able to complete media recovered due to missing redologs and inexistent archives:

SQL> startup
ORA-00205: error in identifying control file, check alert log for more info
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount;
SQL> @create_control.sql
Control file created.
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oracle/oradata/ORCL/system01.dbf'
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
SQL> recover database using backup controlfile; -- noarchivelog database no luck
ORA-00279: change 76885912 generated at 11/08/2017 12:50:24 needed for thread 1
ORA-00289: suggestion : /oracle/oradata/arch1/1_1034_950889305.dbf
ORA-00280: change 76885912 for thread 1 is in sequence #1034
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log
'/oracle/oradata/arch1/1_1034_950889305.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

There is a step that can be taken as a last resort.
The hidden parameter _allow_resetlogs_corruption , the name is pretty self explanatory
SQL> alter system set "_allow_resetlogs_corruption" = true scope = spfile; -- last resort
System altered.
SQL> shutdown;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
SQL> alter database open resetlogs;
Database altered.

On the alert log:
Wed Nov 08 12:59:22 2017
alter database open resetlogs
RESETLOGS is being done without consistancy checks. This may result
in a corrupted database. The database should be recreated.
RESETLOGS after incomplete recovery UNTIL CHANGE 76885912

This has a 50/50 percent change of working. In some test cases database opening ended up aborting after 01555 errors with no more change of recovery.

Verify consistency after it opens successfully reveals no problems:

RMAN> validate database;
...
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
1    OK     0              11751        89602           76886011
  File Name: /oracle/oradata/ORCL/system01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              29366
  Index      0              7094
  Other      0              41389
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
2    OK     0              16330        232961          76886020
  File Name: /oracle/oradata/ORCL/sysaux01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              113974
  Index      0              94231
  Other      0              8425
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
3    OK     0              1            64000           76886013
  File Name: /oracle/oradata/ORCL/undotbs01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              0
  Index      0              0
  Other      0              63999
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4    OK     0              0            1284            76081965
  File Name: /oracle/oradata/ORCL/users01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              528
  Index      0              414
  Other      0              338
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
5    OK     0              588          638976          76662763
  File Name: /oracle/oradata/ORCL/test01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              577853
  Index      0              57493
  Other      0              3042
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
including current control file for validation
including current SPFILE in backup set
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Control File and SPFILE
===============================
File Type    Status Blocks Failing Blocks Examined
------------ ------ -------------- ---------------
SPFILE       OK     0              2
Control File OK     0              966
Finished validate at 2017-11-08 13:07:42

And do not forget to re-add the tempfiles:


SQL> select * from dba_temp_files;
no rows selected

SQL> alter tablespace temp add tempfile size 1g;
Tablespace altered.

SQL> select file_name, tablespace_name from dba_temp_files;
FILE_NAME                                                    TABLESPACE_NAME
------------------------------------------------------------ ------------------------------
/oracle/oradata/ORCL/datafile/o1_mf_temp_f05xdr2y_.tmp       TEMP

Connection Reset using ORACLE JDBC

June 14, 2017

Applies to:
     Oracle 11.2.0.4
          on Linux  Platform

Symptoms:

example 1:
Caused by: java.sql.SQLRecoverableException: Erreur d'E/S: Connection reset

example 2:
ORACLE CONNECTION PROBLEM (Attempt number 1 of 3) MESSAGE:Cannot create PoolableConnectionFactory (Erreur d'E/S: Connection reset)]

example 3:
return jpype.java.sql.DriverManager.getConnection(*driver_args)
jpype._jexception.SQLRecoverableExceptionPyRaisable: java.sql.SQLRecoverableException: Erreur d'E/S: Connection reset
 
Cause:

java.security.SecureRandom (#5 ) is a standard API provided by sun. Among various methods offered by this class void nextBytes(byte[]) is one. This method is used for generating random bytes. Oracle 11g JDBC drivers use this API to generate random number during login. Users using Linux have been encountering SQLException("Io exception: Connection reset").
The problem is two fold
  1. The JVM tries to list all the files in the /tmp (or alternate tmp directory set by -Djava.io.tmpdir) when SecureRandom.nextBytes(byte[]) is invoked. If the number of files is large the method takes a long time to respond and hence cause the server to timeout
  2. The method void nextBytes(byte[]) uses /dev/random on Linux and on some machines which lack the random number generating hardware the operation slows down to the extent of bringing the whole login process to a halt. Ultimately the the user encounters SQLException("Io exception: Connection reset")
Users upgrading to 11g can encounter this issue if the underlying OS is Linux which is running on a faulty hardware.
The cause of this has not yet been determined exactly. It could either be a problem in your hardware or the fact that for some reason the software cannot read from dev/random    
Solution:

Change the setup for your application, so you add the next parameter to the java command:

-Djava.security.egd=file:/dev/./urandom

Or edit $JAVA_HOME/jre/lib/security/java.security and add the line : securerandom.source=file:/dev/./urandom

Why not securerandom.source=file/dev/urandom (#4)
Note the "/./" characters in the value. They are needed to work around known Oracle JRE bug #6202721.
See also JDK Enhancement Proposal 123. It is known that implementation of SecureRandom was improved in Java 8 onwards.

Sources:

Change TFA default OSWATCHER parameters

May 26, 2017

By default, after TFA installation OSWATCHER runs with:

> ps -edf | grep -i osw
...  /bin/sh ./OSWatcher.sh 30 48 ...

Meaning that a snapshot is made every 30 minutes and kept for 48 hours.

Since this 48 hours seem to be insufficient for a problem detection/analysis so I wanted to double it, but nowhere on tfactl was I able to find any way to change it.

Looking into the file $TFA_BASE/$hostname/tfa_home/ext/oswbb/oswbb.pm

Where $TFA_BASE is the path you specified when install TFA:

Enter a location for installing TFA (/tfa will be appended if not supplied) [/root/tfa]

I found that a file called .osw.prop is being read to get the values for the variables:

my $tool = "oswbb";
my $tfa_base = tfactlshare_get_tfa_base($tfa_home);
..
my $tool_base = catfile($tfa_base, "suptools", "$hostname", $tool, $current_user);
my $osw_prop = catfile($tool_base, ".osw.prop");
..
    if ( -f $osw_prop )
    {
      open(ORF, $osw_prop);
      while()
      {
        if ( ! $interval && /interval=(\d+)/ )
        {
          $interval = $1;
        }
         elsif ( ! $hours && /hours=(\d+)/ )
        {
          $hours = $1;
        }
         elsif ( ! $zip && /zip=(.*)/ )

The location of the file is not clear since it is given by the function tfactlshare_get_tfa_base, so:

find . -name ".osw.prop"

And the file is found in:

> $TFA_BASE/repository/suptools/$hostname/oswbb/$current_user/.osw.prop

Note: after know this the file is easily found by checking the archive location of the running process:

[root@hostname root]# ps -edf | grep -i osw
root     31662     1  0 20:57 pts/0    00:00:00 /bin/sh ./OSWatcher.sh 30 48 NONE /oracle/products/tfa/repository/suptools/hostname/oswbb/root/archive


The .osw.prop resides in the parent directory.

Having located the file is just a matter of editing it:

> cat $TFA_BASE/repository/suptools/$hostname/oswbb//$current_user/.osw.prop
interval=30
hours=48
zip=NONE
runuser=oracle

> vi $TFA_BASE/repository/suptools/$hostname/oswbb//$current_user/.osw.prop

> cat $TFA_BASE/repository/suptools/$hostname/oswbb//$current_user/.osw.prop
interval=30
hours=96
zip=NONE
runuser=oracle

> tfactl stop oswbb
> tfactl start oswddb

And now the values are modified.

> ps -edf | grep -i osw
... /bin/sh ./OSWatcher.sh 30 96 ...

I think there should be a easier way to do this: Making this change in a cluster environment we'll need to run it in all nodes of the cluster.




"Pipeculiar" WHILE behavior in ShellScript

December 13, 2013

While doing some scripting in shell I noticed an odd behavior, i was losing the value of my variable, digging around, i found that although the value was correct inside the while cycle, as soon as it finished the value was lost.
An example of such behavior is the following statement:

user@localhost:[/tmp]$ FICH=file.txt
user@localhost:[/tmp]$ echo "this is dog" > $FICH
user@localhost:[/tmp]$ cat $FICH | while read line; do var="$line";  echo "Inside: $var"; done
Inside: this is dog
user@localhost:[/tmp]$ echo "Outside: $var"
Outside:

Why this happened wasn't at all clear, but after some searching was done this piece of information shed light on the subject:
command | while read var1 var2 ...; do
   # process each line, using variables as parsed into $var1, $var2, etc
   # (note that this is a subshell: var1, var2 etc will not be available
   # after the while loop terminates)
   done
Using the pipe to send stdin to the while cycle, was creating a subshell where variable were assign the correct value, but as the while finished so did the subshell causing the values to be lost.
A quick modification to the to method of sending stdin to while, redirection instead of pipes, fixed the issue:
user@localhost:[/tmp]$ while read line; do var="$line";  echo "Inside: $var"; done < $FICH
Inside: this is dog
user@localhost:[/tmp]$ echo "Outside: $var"
Outside: this is dog
user@localhost:[/tmp]$

The reason can be found here:
A pipe is there to hook the stdout of one program to the stdin or another one. Two processes, possibly two shells.
When you do redirection (> and <), all you are doing is remapping stdin (or stdout) to a file. reading/writing a file can be done without another process or shell.

[C#] How to calculate multiple DateTime average

September 23, 2011

After googling around I couldn't find any good solution for the problem.

Found a few suggestions of converting a DateTime value into ticks that could work. But given a large enough  number of DateTimes there isn't a data type big enough to hold the cumulative value needed to calculate the average, since there are 10.000k ticks in a second.

So, took a little shortcut and used an identical approach with seconds instead:


public DateTime averageDateTime(List collection)
{
double totalSec = 0;
for (int i = 0; i < collection.Count(); i++)
{
TimeSpan ts = collection[i].Subtract(DateTime.MinValue);
totalSec += ts.TotalSeconds;
}
double averageSec = totalSec / collection.Count();
DateTime averageDateTime = DateTime.MinValue.AddSeconds(averageSec);
return averageDateTime;
}

Solved!

Get Your Site Up and Running!

March 4, 2008






For most of you this is pretty much basic information, but there are those you are just entering the world of online business and could need a push in the right direction.

Want to have an online Website? There are just a few things you have to do before going online.


  • Your Site

If you are building a website you must have a purpose! Weather it be boost your sales, expose a product or a service, share information of any kind, etc...
So this is the first step, having a purpose.

Also, you should think what you want from having an online website. Specially if it's a commercial website. Set your goals for short and long term.

You already know what your website will be about, now you should define the information it will have. Short simple texts about your business/activity and a few photos are a great starting point.


By now you have the purpose and the stuff you want to have online! Time to start the real deal.

The following topics are not in the correct order (there's no correct order...). If you are an absolute beginner i'll recommend getting in touch with the person/company that will be responsible for the creation of the website first.

  • Domain Name

A domain name is pretty much a word that identifies a computer (or for our purpose a website) on the internet. e.g. blogspot.com
Choosing the domain is a critical step because it will be how your site will be known online!
In a perfect world your domain should be the name of your company, but by any reason, that word can be unavailable (some registered it before you) and you'll have to choose another...

You can use Domain Tools to check if a domain is available, or if not, who has it.

After choosing a domain, you have to register it, and for that you need a Domain Name Registrars, someone who will register the domain in your name. Check this list of the ICANN accredited registrars.

  • Hosting

At the same time who seek the perfect domain, you can also search for web hosting. Online space where you can store your website. There are plenty of hosting services to choose around.
But the type of hosting you need depend of what kind of site you want.

  • Web designer

If you can't build your own site, you'll need some who do it for you. You need a web designer!
It can be a person or a company, it will help you out through the whole process of creating your website.


Personal Note:
I provide all the above services, so if there you have any question ask right away!

Anonymity on Internet

February 24, 2008






As the role of internet in our day-to-day life increases, both at the professional and individual level, there's a factor that is gaining "new" importance, anonymity.

An user must be able to both be completely anonymous, for regular mainly browsing, and on the other hand, be able to complete prove that "he is who he says he is", especially in order to use some services and secure communication.


Off course, there are those who can argue that if the identify of the user is always know, the internet environment would be much safer; Avoiding countless cases of psychological violence, virtual bullies, etc...
Actions that most users wouldn't do if they weren't behind a mask (nickname) that can be changed at will.

But with the creation of such an environment wouldn't we be destroying internet's essence, the last "free world" where anyone can be whatever they want?

We know as a fact that behind this layer of anonymity there are several illegal acts both against people and entities; Society rules still didn't penetrate many online bastions.
But also, what's considered illegal in one region isn't in other. And internet is the tool that provides a world-wide standard in terms of liberty and freedom of speech. Giving many people the possibilities online that they are denied in there own countries.


Bottom line, internet should be boundary free; Being society responsible for equipping users with a moral and ethical code to be used both in the online world and on "real life". Ultimately, internet users are the ones who have to decide what internet will be!

Before Calling IT Support

February 3, 2008






IT Support is a necessary evil. It exist because computers expanded beyond the universe of people that actually know how to work with them.

Whether you work in an office, bought a DSL Modem or purchase the latest version of a software, you'll probably have access to some kind of tech support by phone or email.

In this kind of service there are three figure involved, the user, who asks for help/information, the technician, who provides the solution, and the most important, information that travel back and forth between the user and the technician.

In order to a successful conclusion of the process the user must be given a solution for is problem or an answer to is question. The efficiency (time and quality of response) depends both on the user and on the technician. In this post i'll focus on the user and the proper way of explaining the reason for calling IT Support.


Before Calling:

Ask yourself what's wrong, you don't need to be a computer specialist to check a few things on your computer. So, check what you know, this often solves the problem or can provide good information for what the problem might be.

Reboot, it's amazing how many problem this action can actually solve.

Have the information ready, if you have to call for help you will have to provide some information. So get the generic information of your computer (os type and version, some hardware specs) and be very specific when coming to problem/bug reporting, be sure to note the error message and, if you can, the actions you did before the error appear.


On call:


Tell what you know, shortly describe what the matter, and the information you gathered on the situation. Once again, be specific!

Follow instructions, when you're told to do something, think first, you're the one interacting with the computer, if it doesn't make sense ask for the reason to do it, if the instruction isn't clear ask the technician to be more specific. Try to understand the solution in order to be able to solve future similar situations.

Know who you talk with, if you have to call again you know someone that already knows most of the situation.Also, there are bad professionals everywhere, so if you're told to do something that damages the system even more it's the technician responsibility.



And finally, be polite; Everyone is working here, so leading the situation in a calm manner is easiest way of getting your problem solved .

Tools of the Job: Eyes

December 21, 2007






As anyone who uses computer all day long has, or probably will have, some kind of problem with his/hers eyesight. Being in a profession that demands constant reading and writing, this problem is not to be ignored.
So, acknowledging that degradation of vision is something that comes with age, what can we do to prevent blindness (total or partial) in the later years of our life.

There are some good practices that can be followed in order to diminish (or even suppress) the degradation of eyesight overtime.

Note to attention: Eyesight problems are often genetic (as said here!), and about this there's nothing you can do. Medicine is probably the best way to deal with them...

Back to the good practices:

Feed your Eyes

Don't forget to include Vitamin A in your diet. This vitamin is found specially in carrots and fish (you also find it in a lot of other foods, but in lower quantities). Deficit of Vitamin A, means impaired vision and night blindness!

Get them Wet

A dry eye, means there's no (or not enough) tears. This can lead to red eyes (irritation), blurred vision, severe discomfort or even infection. People with contact lens suffer a lot with this. Fortunately there are drops you can use to help with this situation. If the situation is chronic medical examination is necessary.

Sleep Well

As any organ of human body eyes need to rest. So sleep! Preferably with your eyes shut...


This were some general advises, but there are some more specific to who has to deal with computers all day long.


Keep the distance

Getting a balance between the distance from the monitor and the size of the fonts in the screen can be a hard trick to pull. You shouldn't have to do any effort to read letters on the screen, adjust both your distance and the monitor's brightness (you're not looking to the sun!) to facilitate reading.

Light it Up

Don't go dark! Always have good illumination when using a computer, natural light is preferable. During night use a desk lamp (that's what I do) or some kind of back light. Avoid light reflection on the monitor, any glare or seeing the light source.

Approach Angle

Try to have the monitor in the same level of your eyes, if that by all means impossible choose a lower angle. This way you avoid not only a stiff neck but also looking in a more natural angle.

Get Up and Away

Don't over use your computer. Many of us spend most time of the day staring at some monitor/tv, so get every and all excuses to get away from it. Go fish...

Don't Stare

When we hit the "zone" it's easy to stare at the monitor minute after minute with don't even blink, so look away, close your eyes, do what ever you want... just don't stare to the monitor all day long!

Get Protection

Monitor filter's are old fashion, new monitors already bring built-in technology that allows a wide number of configuration (brightness, contrast, etc...), so use them...
Secondly get your eye exam once a year to check if everything is OK!



This is nothing you shouldn't know by know, but its a good reminder ;)

Web 2.0, What Is It?

December 5, 2007

The term Web 2.0 isn't new, it has been around for a few years. But if you still don't know what is it, you have by now felt its effects.

Well, Web 2.0 is mainly a concept. A concept about how information should be organized on the internet. It's the understanding that each site is not an isolated object but a part of the all. And, of course, the role an user has in the interaction with the websites.

Information on the internet is not plain text, but series of data that can be read both by humans and computers. In order to help computers decide what is relevant for human information start to be categorized (or tagged). This tag is attributed by other humans helping this way to find a specific topic in a future search. Information isn't still either, it needs to be updated and share. But old systems made it hard, so new languages were created that enabled an easier sharing.

With Web 2.0 also appeared new types of websites. The explosion of blogs (like this one) with millions of people sharing their points of view (like me); Social bookmarking, with people sharing stuff they liked online; And wikis, that truly are universal encyclopedias. And many many more...
This posted a change in the way people perceived websites, they stop being only information givers but also being able to perform a service (whether it be finding bookshops in your town or publish your latest video clip).

Web 2.0 also brought new design concepts;Glossy buttons, round corners and image reflection (Apple inspired), enabled by languages like CSS and programs like Photoshop, websites gained a softer clear look, very different from old websites that were square (table based) and filled with high contrast colors.

This is a little picture of what Web 2.0 is about, and how it affect how everyone sees and uses the internet.

For further information:
Wikipédia - Web 2.0
What's Web 2.0 - O'Reilly
YouTube - Web 2.0 ... The Machine is Us/ing Us _ Nice clip about information organization.
Or just search Web 2.0 in Google...

Get Moving!

November 20, 2007






As the information flows faster the ability of keeping up with the flow is becoming more and more important, critical in some cases! In order to keep up with the fast pace of information we need to be able to access any given piece of data from anywhere, anytime. This information can be public and thus be accessible to everyone, or personal and require user authentication.

By definition I assume public information is out there and you don't need to anything particularly to obtain it! Private information on the other hand...


In this post I'll talk about how can someone use technology in order to be able to perform any of their usual routine anywhere in almost any peace of equipment available . For this i make one assumption, it's supposed to have an internet connection always available!


Trough out this post I'll make some suggestions that are based only on personal experience, I also don't know all features of the available services so feel free comment if you think other service is better (and why).

  • Email

Email is supposed to be easy accessible.

You can access your email through a program installed on your computer (like Outlook Express, Evolution, Thunderbird or Kmail, etc...), via browser (Firefox, IE, Opera, etc...) or you can do it both ways, an hybrid solution;

Mobility wise, having the email stored in an online mail server is probably the best solution. This way you can access it from any point with internet.

There are a lot of web-based mail server's,I personally use Gmail because all that space available (almost 5Gb!), the clean interface and a lot of features I need (like pop access to other email accounts). The possibility of using your own domain with Google Apps. And the gmail app for s60 mobile phones that allows you a comfortable access mail from your phone.


  • Address Book
The list of your contact's information should be always with you; You can choose between an actual address book (made of paper) or a digital one; Usually the address book is also provided by the same service that provides email, but there are others that can be used separately.

I use Gmail address book, that is far from being perfect (it's better since the update of Gmail, but anyway...), it's a bit stiff and doesn't have that much option that'll allow the creation of a true contact card; It also lack integration with the other Google services (like gCal on the contact's date of anniversary); I also keep my phone address book sync with the Gmail contact list; This requires an intricate process that converts Gmail address book to Outlook's and then syncing with the mobile phone.

  • Agenda
Your daily planing and to do list. You should be able to check and modify (add/delete) this information easily. There are many option that provide this kind of features but there are two I personally recommend; gCal for agenda, it has a lot of cool features, the best is probably SMS notification, and this service is free (at least for Portugal). This mean that not only you are able to access the all information from anywhere, but you will also be notified before your appointments.

I use Remember the Milk as a to do list. This is a recent change; Just a while ago i used a regular sheet of paper and carried it around with me! But with Remember the Milk's integration with iGoogle it become the better solution, because not only I'd get my tasks displayed upfront when I open my browser but also have a robust tool to manage my tasks (and not risk losing the paper of my long-term tasks).
Unfortunately Remember the Milk still lacks SMS notification support for Portugal!

  • Browser Definitions
(Mostly for Firefox users) This means Bookmarks, Stored Passwords and Extensions; Google Browser Sync, an Add-on for Mozilla Firefox takes pretty good care of Bookmarks and Stored Passwords syncing (as well as Cookies and Browsing History). Syncing extensions is a little bit harder, but it can be done with FolderShare (only on Windows).

  • Files
FolderShare propose is folder syncing across the internet so this part is pretty much covered; But, if you need your files in computers with Linux, you can always upload them, using a service like the one provided by DivShare that offers unlimited online space for you to upload whatever you want.

  • Documents
Another great tool from Google is GoogleDocs that is primarily an online editor (for text, spreadsheets and sideshow presentation) but also provide the storage for those documents; Alternatively you can always use DivShare (or other like it) to upload your files.

  • Remote Desktop
There are plenty solutions but there are two worth mention. VNC (like in tightvnc) that allows to control your computer (although you have to install the software both on the server and client computer); And just for Windows users LogMeIn, that only requires software being installed in the client computer and the access is done through the browser, perfect!


Final Considerations
One of the most problematic issue in mobility is when there's the need to use computers with different Operating Systems; Although Linux as many advantages the services available for Windows make it a better choice when coming to have your information accessible;

Another service only available for Windows is PortableApps, that allows having multiple programs and the custom settings stored in an USB drive. Thus having you personal settings wherever you go.

So, as a Linux user I'd like to see some improvement in this area, specially in services like LogMeIn and Portable Apps.

Enjoy, and GET MOVING!

Online Language - Acronyms

October 29, 2007







Online written language is different from the common written language; And, online language, even changes if you are writing an email, instant messaging or just posting to a forum or blog.

All languages has theirs particularities, whether they be acronyms or slang words. Understanding this special words will contribute to an easier understanding of the subject you are reading about!

In this post I'll talk about acronyms and what they mean.

Acronym - Meaning

AKA - Also Known As
ASAP - As Soon As Possible
ASL - Age/Sex/Location (normally a question)
BRB - Be Right Back
BS - Back Stab (on gaming), Bull Sh*t
BTW - By The Way
ETA - Estimated Time of Arrival
FAQ - Frequently Asked Question
FYI - For Your Information
FUBAR - F*ed Up Beyond All Recognition
GG - Good Game
GL - Good Luck
LMAO - Laughing My A* Off (equivalent to LOL)
LOL - Laughing Out Loud
M8 - Mate
MOTD - Message of the Day
NP - No Problem
NSFW - Not Safe for Work (be very careful with email carrying this word on subject)
OMG - Oh, My God!
OS - Operating System
PLS or PLZ - Please
SRY or SOZ - Sorry
THX - Thanks
TY - Thank You
U - You
Ur - Your
W8 - Wait
WTF - What The F*
WYSIWYG - What You See Is What You Get (applied to programs)

This is not a complete list (not even close), but it's a list of the ones I came across through out the years browsing online! There are many I use daily and others i see now and then on some website...

Feel free to comment and/or add others you think are important!


Sources:
Netlingo - www.netlingo.com
Wikipédia - http://en.wikipedia.org/wiki/List_of_Internet_slang

Private Password Policy

October 1, 2007






Many are aware of the dangers of Internet, the more data we have available online the more exposed we are to online crime, and this information is, in most cases, just protected by a thin layer.
Login and Password!

Because login is often public, the password is the user ultimate defense.

But despite being aware of all the dangers many users doesn't give much a thought when picking their password. Unlike username that have to be unique, very few site enforce some kind of password policy. This way is up to the user be self-disciplined and find a secure way of protection.

There are some guidelines we can follow when creating a password:

From CERN IT Department we have a few guidelines on How to choose good passwords
A good password is:
* private: it is used and known by one person only
* secret: it does not appear in clear text in any file or program or on a piece of paper pinned to the terminal
* easily remembered: so there is no need to write it down
* at least 8 characters
* a mixture of at least 3 of the following: upper case letters, lower case letters, digits and punctuation
* not guessable by any program in a reasonable time, for instance less than one week.


If you choose a password under these parameters you will end-up with a fairly secure password.

But like any security expert will tell you, having a password for every account is suicide. But i also recognize that having a password for each account, the best-case scenario, is almost impossible. You'll end up forgetting some of the passwords...

So we face a problem... Having one password is insecure, but having many is too! Let's find something in between!

My way of dealing with this situation is having a short number of different password that i use according to the site I'm registering.

It can be depicted as levels of security. The higher the level, the complex is the password.

I use four levels, or four different passwords.

The first level password (the easier), i use for public foruns, have-to-register-to-see websites and other websites of unknown ownership! This password is very simple, and doesn't obey even one of the guidelines...

But attention, although this is meant to be a simple password, it hasn't to be a stupid password. Never, but never, use login (or any combination of that word) for password and, if you can, try to avoid the top most common passwords. You can find a list of the top 10 here.

Second level, for social-network websites, instant messaging, secondary mail accounts, every site that evolves some kind of personal information, but nothing sensitive. This password will have to be much more complex than the first. And fulfill every guideline, at least.

Third level, primary email and every site that has sensitive private information (like financial...). This has to be a very strong password, you have examples of strong passwords in this Wikipedia article.

Fourth level, not so much because of the complexity of the password, but by the times it is changed... Meaning it isn't just a password but a group of them! This passwords are used for logging at systems that require a periodical change of password. I recommend this password be as complex as second level one, and the group make sense when putted together in a phrase.

The more users are aware of how to create a secure password, the harder it will be to compromise account someone's account.

Absolute safety is a myth but nothing wrong comes from trying!

10 Reasons to go Open Source

September 24, 2007






Wikipedia
defines Open Source as
a set of principles and practices that promote access to the design and production of goods and knowledge. The term is most commonly applied to the source code of software that is available to the general public with relaxed or non-existent intellectual property restrictions. This allows users to create software content through incremental individual effort or through collaboration.
Open Source concept as we know it, is the effort of a wide group of people, one of those, Richard Stallman, responsable for the creation of GPL, the licence that brought some fairness to Open Source Software.

Despite all the work done around FOSS (Free/Open Source Software) many aren't fully aware of the benefit of using Open Source.

But there are plenty!

  1. Free
    • It cost's absolutely nothing! On the other hand commercial software can cost hundreds or thousands of dollars. See thing this way, because it's free, cost-effeciency coundn't ever be negative!
  2. Changeable
    • One can, with no problem at all modify the code in order to acomplish one's needs. This is maybe the feature that describes better open-source, you can have free software and still can't access the code source (freeware) but, if the code is public you have an open-source software. And the fact that anyone can modify the code and publish the modifications makes open-source software evolve pretty quickly.
  3. Easy
    • Opposing to "more difficult to learn than commercial software". Software coded by individual users doesn't make it difficult to understand and work with. That's a myth! Like commercial software the learning curve both depends on the people who work the interface and the user background experience.
  4. Portable
    • Most (NOT ALL) open-source sofware is written in languages that are compatible with multiple OS, like Java, Python, C and web-base applications. This mean that you are able to run the application in most computers, unlike propriety software that often just run on Windows or Mac.
  5. Online Communities
    • Online communities grow around open-source software. This communities usually consist in developers, the ones responsible for the coding, and the users, that can ask questions, post suggestions, report bugs, etc... It's so simple getting the answers to solve a problem that Online Communities are the primary source of helpful information.
  6. Tech support
    • You still have it!
      But it's often paid :( This has to do with the commercial model around open-source software, companies profit in providing tech support. For those who have such a complicated issue that the online community can't provide an answer, or simply don't want to waste time in troubleshooting, payed tech support is definitively the answer.
  7. Keeps Improving
    • Because everyone has access to the source code, corrections are introduced quickly. Open Source Software is constantly being updated, with new functionalities added besides bug and error fixing.
  8. Simple
    • When you acquire an open-source software who don't need to register the product nor there is the need of getting an individual license for each computer. The all process is very simple and clear; Install and use it!
  9. Reliable
    • Due to high maintenance open-source software can be more reliable than proprietary one. This isn't true in every cases, but if you consider stability and duration (as in the time a software is able to preform the original task) open-source software beats propriety by far.
  10. Summing up: It's Better
    • Open-source software can do all the things propriety does, and even do it better! And if it isn't enough, it's free...

Open Source can (and probability will) be the future, the more people use open-source software the closer we'll be of achieving this goal.

So, what are you waiting for?


42th Zone v2.0

September 22, 2007

After a few months and only 3 posts, I resolved to start from scratch again!

The blog was given a new design; Used a blogger template from 99 Computer and with a little help from Photoshop changed a few items;

The top banner was also made with Photoshop and I followed two tutorials two create the brick wall and the rusty effect in the plate (I didn't save the links!).

Other addition is the tag cloud, the source code is from phydeaux3 blog and i just change it a little bit.

From now on, I plan to post two new topics a month and talk about different subjects, all related with Information Technology.

I also urge all the visitors to comment the stories :)

Happy Readings!

1st Post

February 18, 2007

This is the first post of 42th Zone, and i suppose that an introduction to the subjects i'll write here would be in order.

As a little background on me; I'm a computer engineering student, working as webdesigner for a couple of years (a webpage with portfolio will be posted soon), also doing some work in the management programs development.

In this blog i'll write my perspectives about the IT world in general. I'll certainly write some stuff i am not fully credit to write about, so don't take any of the words here posted for absolute truth.

And by the way, i am Portuguese, so a few mistakes would be expected!