LXR
Thursday, January 26th, 2012 | Author:

This week I want to pay tribute to an open source project called the LXR Cross Referencer. LXR is  a web tool that lets you browser the source code of a software project, navigating link by link based on included source files, functions or variables.

LXR can be downloaded from the project’s website [1] and applied to any software project.

The most popular instance of LXR is found on the project’s initial page [2] as an instance for the Linux Kernel. This site has a complete history of the Linux code since version 0.0.1 to latest stable version. Opening two windows of two different versions of a file, you can compare the code and see what’s been added or changed between the versions.

It’s very useful for finding where a function or a constant has been used, or to see in what header a function has been declared, defined and then used.

Note that all of the above can de done via command line tools like ctags or cscope alongside vim or emacs, with grep -r, diff and git. But the friendly part of lxr.linux.no is that everything is already on the site so you don’t need to download anything locally and you can use everything there as long as you have an Internet connection.

[1] http://lxr.sf.net/

[2] http://lxr.linux.no/

[CCIELab] IOS + Linux = Quagga
Thursday, January 05th, 2012 | Author:

[Originally posted on ccielab.ro]

Cisco IOS’s shell is a popular interface for devices in the networking world. But also in the network world, there are a lot of Linux/Open Source fans. The Quagga open source project tries to bring together IOS and Linux, by providing an IOS-like interface for configuring Linux’s interfaces, routing table and firewall, along side its own implementations of RIP, OSPF and BGP daemons.

The Quagga Software Routing Suite comes as a set of daemos. The main one is the zerbra daemon (Zebra is the old name of the project). This core daemon does the interaction with the Linux kernel and, also, with other daemons like ripd (RIP daemon), ospfd (OSPF daemon), bgpd (BGP daoemon). Quagga is modular, so you can implement new protocols if needed via a standard API.

To configure Quagga, you first need to start the daemons (at least the core one), in the /etc/quagga/daemons file. Each daemon has its own configuration file (ex. /etc/quagga/zebra.conf, /etc/quagga/ripd.conf etc.). Accessing the IOS-like shell is done via the vtysh command. Once in this shell, most commands available in Cisco’s IOS are available.

Router / # cd
Router ~ # vtysh

Hello, this is Quagga (version 0.99.18).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

Router# conf t
Router(config)# hostname  LinuxRouter
LinuxRouter(config)# exit
LinuxRouter# show ?
bgp             BGP information
clns            clns network information
daemons         Show list of running daemons
debugging       State of each debugging option

[...]

Keep in mind that some things are not 100% identical to a Cisco router (ex. the interface names). Here’s an example of how to configure an interface.

LinuxRouter# conf t
LinuxRouter(config)# interface  eth0
LinuxRouter(config-if)# ip address  141.85.42.1 ?
A.B.C.D/M  IP address (e.g. 10.0.0.1/8)
LinuxRouter(config-if)# ip address  141.85.42.1/24
LinuxRouter(config-if)# link-detect

Monitor output (show commands) are similar aside some Linux specific details (ex. Kernel routes are available in Linux, but not in IOS).

Router# sh ip route
Codes: K – kernel route, C – connected, S – static, R – RIP, O – OSPF,
I – ISIS, B – BGP, > – selected route, * – FIB route

K * 0.0.0.0/0 via 192.0.2.1, venet0 inactive
O 10.10.12.0/24 [110/10] is directly connected, eth0, 00:03:41
C>* 10.10.12.0/24 is directly connected, eth0
O 10.10.14.0/24 [110/10] is directly connected, eth1, 00:03:36
C>* 10.10.14.0/24 is directly connected, eth1
O>* 10.10.23.0/24 [110/20] via 10.10.12.2, eth0, 00:02:46
O>* 10.10.24.0/24 [110/20] via 10.10.12.2, eth0, 00:02:14
*via 10.10.14.4, eth1, 00:02:14
O>* 10.10.25.0/24 [110/20] via 10.10.12.2, eth0, 00:02:41
O>* 10.10.35.0/24 [110/30] via 10.10.12.2, eth0, 00:01:21
* via 10.10.14.4, eth1, 00:01:21
O>* 10.10.45.0/24 [110/20] via 10.10.14.4, eth1, 00:02:08
C>* 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.1/32 is directly connected, venet0
C>* 172.10.10.0/32 is directly connected, venet0
K>* 192.0.2.1/32 is directly connected, venet0

Configuring a routing protocol instance is also similar:

LinuxRouter# conf t
LinuxRouter(config)# router ospf
LinuxRouter(config-router)# network  192.168.123.0/0 area 0

As you can see, coming from an IOS background, this tool is very easy to use on your Linux box. It is far from perfect since it doesn’t have the years in production like IOS or iproute2, but it is cool to test out.

[TechBlog] Stack Allocation
Sunday, December 18th, 2011 | Author:

[Originally posted on techblog.rosedu.org]

Stack space is the part of each process’ virtual memory where function arguments and return addresses are stored, along with local variables declared within a function. Usually, the stack begins at the high address space of the virtual memory and grows down.

At every function call, a new stack frame is created on the stack. It contains the parameters sent to the function, the return address (the address of a code in the caller function) and the locally declared variables.

For each function call, the SP/ESP (Stack Pointer/Extended Stack Pointer) is set so the stack has a big enough size to accommodate local variables. For example, in theory, if you have a local char variable and an int variable, the SP should be set (moved) to 5 bytes.

In practice, the compiler will allocate stack space a little different than expected. It will allocate local variables space in increments of a fixed size, so sometimes having two int variables or three int variables will be the same.

As an example, gcc will allocate in increments of 16 bytes. Let’s make an experiment… we take a simple C program and turn into assembly code.

The C file looks something like this:

int main(void)
{
	int a=1, b=2;
	return 0;
}

The variables must be used after declaration or they will be ignored by the compiler.

The resulting assembly code (with an gcc -S) looks like this:

main:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$16, %esp
	movl	$1, -4(%ebp)
	movl	$2, -8(%ebp)
	movl	$0, %eax
	leave
	ret

Notice the subl instruction that clears 16 bytes in the stack space by decrementing the ESP. Those 16 bytes are enough for four 32bit integers. If you have 1,2,3 or 4 local variables declared (and used), you get those 16 bytes.

If we declare 5 integers, the allocated space will now be 32bytes. Same thing for 6, 7, or 8. If we have 9 to 12 integers the compiler will allocate 48 bytes. An so on…

What if we don’t only have integers? Let’s add some chars.

int main(void)
{
	int a=1, b=2;
	char c=3, d=4;
}

Result:

main:
	pushl	%ebp
	movl	%esp, %ebp
	subl	$16, %esp
	movl	$1, -8(%ebp)
	movl	$2, -12(%ebp)
	movb	$3, -1(%ebp)
	movb	$4, -2(%ebp)
	movl	$0, %eax
	leave
	ret

The function would need 10 bytes, but still gets 16. So the allocation is in increments of 16 bytes no matter what.

The question remains why? It has to do with the cache alignment. The compiler will try to structure the memory usage so that the executed code can be easily fetched from memory and cached. A correct alignment will cause minimum cache misses for memory access.

Credits to SofiaN for help with initial observations and tests.

[CCIELab] Output manipulation in Cisco IOS
Wednesday, December 14th, 2011 | Author:

[Originally posted on ccielab.ro]

Unlike Linux’s iptables, Cisco’s filtering via Access Control Lists sometimes has hidden behavior.

Let us test how ACL filtering works using the following topology. We assume that we have Layer 3 connectivity via static routes. We will apply ACLs on the outbound direction of F1/0 on R2 (we want it to be somewhere in the path from R1 to R3)

3r

With no ACLs applied anywhere, all traffic will flow.

R1#ping 3.3.3.3 source 1.1.1.1
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent

Let’s start with the basics and make a classic standard access list that denies R1′s loopback.

R2(config)#access-list 42 deny host 1.1.1.1
R2(config)#int f1/0
R2(config-if)#ip access-group 42 out

The loopback on R1 is blocked…

R1#ping 3.3.3.3 source 1.1.1.1
U.U.U
Success rate is 0 percent (0/5)

… but so is any other traffic that goes out of R2′s F1/0.

R1#ping 3.3.3.3 source F0/0
U.U.U
Success rate is 0 percent (0/5)

The first rule of Cisco’s ACLs is that there is an implicit deny (ip) all (all) rule at the end of every ACL. But this is not visible anywhere. You have to know it.

R2#sh access-lists
Standard IP access list 42
10 deny 1.1.1.1 (8 matches)
Extended IP access list BLOCK_HTTP

But if that ACL is empty? What if you apply an access list that does not contain any rules (was not declared)?

R2(config)#int f1/0
R2(config-if)#ip access-group 28 out
R2(config-if)#do sh access-lists
Standard IP access list 42
10 deny 1.1.1.1 (8 matches)
Extended IP access list BLOCK_HTTP

R1#ping 3.3.3.3 source 1.1.1.1

Type escape sequence to abort.
!!!!!
Success rate is 100 percent

Traffic passes. The inexistent ACL applied on an interface is ignored. But this is because you can’t have an empty classical (numbered) ACL. What if you do the same thing with a named ACL?

R2(config)#ip access-list standard EMPTY_ACL
R2(config-std-nacl)#exit
R2(config)#do sh ip access-list
Standard IP access list 42
10 deny 1.1.1.1 (8 matches)
Standard IP access list EMPTY_ACL
Extended IP access list BLOCK_HTTP
R2(config)#int f1/0
R2(config-if)#ip access-group EMPTY_ACL out

R1#ping 3.3.3.3 source 1.1.1.1

Type escape sequence to abort.
!!!!!
Success rate is 100 percent

Traffic is still not filtered. So, the rule is that a empty (inexistant or deleted) ACL is ignored by the interface filter.

One more ACL applied on R2 with a deny all rule (no traffic should pass out of F1/0).

R2(config)#ip access-list standard DENY_ALL_ACL
R2(config-std-nacl)#deny any
R2(config-std-nacl)#do sh ip access
Standard IP access list 42
10 deny 1.1.1.1 (8 matches)
Standard IP access list DENY_ALL_ACL
10 deny any (8 matches)
Standard IP access list EMPTY_ACL
10 deny any (8 matches)
Extended IP access list BLOCK_HTTP
R2(config-std-nacl)#int f1/0
R2(config-if)#ip access-group DENY_ALL_ACL out

Ping form R1 is filtered.

R1#ping 3.3.3.3 source 1.1.1.1
Packet sent with a source address of 1.1.1.1
U.U.U
Success rate is 0 percent (0/5)

Since no traffic should go out the interface, a ping from R2 to R3 should also fail, yet it doesn’t.

R2#ping 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/20/44 ms

As a final rule, traffic generated by a router is never filtered by an ACL applied any interface of that router.

ROSEdu Tech Blog
Saturday, November 26th, 2011 | Author:

This fall, ROSEdu[1] introduced a new project: TechBlog [2]. Since we managed to gather a lot of technical-oriented in our  community, each having things to say about different technologies, we built a place where to share such knowledge in the form of a blog.

Here is my first contribution.

Rescuing executable code from a process [3]. Comments on reddit [4].

A process is an instance of a binary executable file. This means that when you ‘run’ a binary, the code from the storage media is copied into the system’s memory, more precisely, into the process’ virtual memory space. From a single binary, several processes can be spawned.

The virtual memory of a process, made up of pages, is mapped to several things, like shared objects(libraries), shared memory, stack and heap space, read-only space and executable space. A good way to view what is mapped to what is with the pmap utility, or by just looking in the /proc directory hierarchy. The /proc/$PID/maps file (where $PID is the process ID of the targeted process) has the page mappings. Also in /proc/$PID, you can find other useful files, like the exe file that contains a symlink to the executable or the fd directory that contains symlinks to all the files opened as file descriptors in a process.

Except useful information, what can we get out of the procfs? Here is a situation that has been known to happen. You are in a console, with your bash shell, and you manage to delete some important files, like /bin/bash. Without that executable, you cannot run new shells and on a restart, your system will be inaccessible. What can you do?

The code of your bash is no longer on the hard drive, but it is in the virtual memory of the process you are currently running. You can find out what’s the PID of the current shell instance using $$ enviroment variable . Knowing that, you can cd to the /proc/$$ and access the content of the exe file there.

Although the exe file is shown as a link to the original file that is now deleted (thus the link should be broken), if you cat it, you will get its binary content. In fact, all the original binary file. Here is the step by step process:

/bin # md5sum bash
e116963c760727bf9067e1cb96bbf7d3  bash
/bin # rm bash
/bin # echo $$
5051
/bin # cd /proc/$$
/proc/5051 # ls -la exe
lrwxrwxrwx 1 root root 0 2011-11-15 23:47 exe -> /bin/bash (deleted)
/proc/5051 # cat maps
[snip]
00f9e000-00f9f000 rw-p 0001c000 08:01 263123     /lib/i386-linux-gnu/ld-2.13.so
08048000-0810c000 r-xp 00000000 08:01 284760     /bin/bash (deleted)
0810c000-0810d000 r--p 000c3000 08:01 284760     /bin/bash (deleted)
0810d000-08112000 rw-p 000c4000 08:01 284760     /bin/bash (deleted)
[snip]

/proc/5051 # cat exe>/bin/bash_rescued
/proc/5051 # cd -
/bin # md5sum bash_rescued
e116963c760727bf9067e1cb96bbf7d3  bash_rescued
/bin # chmod +x bash_rescured
/bin # mv bash_rescured bash

What other things can we rescue? How about a file that was opened by a process? For example, a video file, opened by a player:

alexj@hathor ~ $ md5sum movie.ogv
9f701e645fd55e1ae8d35b7671002881  movie.ogv
alexj@hathor ~ $ vlc movie.ogv &
[1] 6487
alexj@hathor ~ $ cd /proc/6487/fd
alexj@hathor /proc/6487/fd $ ls -la |grep movie
lr-x------ 1 alexj alexj 64 2011-11-16 00:11 23 -> /home/alexj/movie.ogv
alexj@hathor /proc/6487/fd $ rm /home/alexj/movie.ogv
alexj@hathor /proc/6487/fd $ ls -la |grep movie
lr-x------ 1 alexj alexj 64 2011-11-16 00:11 23 -> /home/alexj/movie.ogv (deleted)
alexj@hathor /proc/6487/fd $ cp 23 /home/alexj/movie_rescued.ogv
alexj@hathor /proc/6487/fd $ md5sum /home/alexj/movie_rescued.ogv
9f701e645fd55e1ae8d35b7671002881  /home/alexj/movie_rescued.ogv

These things are possible because the instances of the files are still kept and used by the kernel. The VFS (the Virtual File System) still has references to the inodes of the files. They won’t be released until the processes will be finished.

[1] http://www.rosedu.org

[2] http://techblog.rosedu.org

[3] http://techblog.rosedu.org/rescuing-executable-code-from-a-process.html

[Personal] Tales from the States: The end
Monday, September 26th, 2011 | Author:

Cele 3 luni în SUA au ajuns la sfârșit. A fost o experiență interesantă. Aș putea trage linie și face câteva constatări despre cei din State.

Primul lucru pe care l-aș afirma, este faptul că toate clișeele pe care le vezi în filme sunt adevarate. De la casele cu iarbă verde în față și fără gard sau cu un gard foarte mic, la barurile în still western (mai puțin ușile rabatabile), de la surfer-ii de pe plajele de la ocean la cluburile cu covor roșu, de la liniștea din suburbii, la algomerația din marile orașe.

Altă observație este că totul în America este mare: mașini mari, porții de mâncare mari, distanțe mari. Este ceva ce face o diferență foarte mare față de Europa. Cumva este simbolic faptul o milă este valoric mai mult decât un kilometru și cum totul este la distanță mare, viața unui american este diferită de cel a unui european. Mașina este ceva absolut necesar și nu este nimic neobișnuit ca locul de muncă să fie la 50 mile distanță de casa ta. Magazine mici, de cartier nu sunt foarte multe și mare parte din cumpărături le faci de la centrele comerciale din oraș. Cum toată lumea are mașină, benzina este mai ieftină, dar, de fapt, este doar o iluzie, pentru că prețul este mai mic, calitatea este mai proastă (cifra octanică este de 75-85, 90 fiind deja de putere înaltă); acest lucru duce la nevoia de un motor mai mare (2 litrii este un motor foarte mic) și la mașini mari. De asemenea, cutiea de viteze manuală este o raritate mare. Și dacă nu era deja evidentă importanța unei mașini, faptul că ei nu au buletin sau carte de identitate și singurul lor document oficial este carnetul de conduere, zice tot. Dar un efect pozitiv este faptul că autostrăzile lor sunt peste tot și în unele intersecții, din punct de vedere ingineresc și arhitectural, incredibile (cu poduri suspendate peste poduri sustendate).

Pentru un european (mai puțin dacă ești din UK), un prim stres cred că este întotdeauna folosirea unităților imperiale folosite. Mila, foot-ul, yard-ul cu valorile lor necunoscute, în general, nici de localnici. Gradele cu F în loc de C și formatul mai neintuitiv de lună/zi/an.

Dar mi se pare că este o mare diferență din punct de vedere turistic între Statele Unite și Europa. În Europa, ești obișnuit să vizitezi castele, biserici și monumente. În State, lucrurile sunt prea noi pentru așaceva. Dar Statele au ceva foarte frumos: natura. Faptul că distanțele între orașe sunt mari, înseamnă că este loc între ele de lucruri de văzut. Parcurile lor naturale sunt foarte frumoase. Dacă Grand Canyon nu este destul de incredibil, mai sunt Yosemite și Sequoia (pe care, din păcate, nu le-am văzut) sau alte sute păduri întregi de redwoods, copacii giganți. De-a lungul costei californiene, autostada California 1 îți oferă o priveliște foarte interesantă: pe o parte, în imediata apropiere, ai oceanul și plajele sale și pe cealaltă parte, la fel de aproape, ai munți și păurile de conifere. Big Sur este un loc foarte interesant pentru că zici că vrei să mergi la plajă, dar autostrada te tot urcă într-o zonă înaltă de munte, până te pierzi în pădurea deasă; dacă vrei să ajungi la plajă, trebuie să cobori pe un drum forestier care se deschide, dintr-o dată spre o plajă cu nisip, protejată într-un semicerc de stânci.

Valea Napa era o zonă recomandat de vizitat pentru vinurile sale. O mică Frața a Californiei de Nord, dealurile acestei regiuni sunt pline de vițe de vie care dau struguri din care se produc niște vinuri recunoscute ca fiind de o calitate foarte bună. Deși nu te-ai aștepta la o zonă prielnică pentru culturi de struguri având în considerare că la câteva zeci de mile este o zonă mai mult deșertică, Napa are norocul de a atrage umiditatea și precipitațiile oceanice din San Francisco Bay. Noi am fost la o vinărie numită Hess, care este cea mai veche din Napa, deschisă înainte de perioada Prohibiției.

Dar pe lângă părțile bune, există și anumite părți mai urâte. Probabil cel mai enervant lucru (pentru mine, cel puțin) a fost numărul ridicat de zâmbete false pe fața

oamenilor care încercau să îți vândă lucuri. Nu este un lucru rău să fii prietenos, dar americanii încercă să pară atât de prietenoși pentru a le cumpăra lucurile încât este deranjant. Este un grad de ipocrizie pentru că atunci când ajung acasă, nu vor ca nimeni să le invadeze spațiul lor (noi locuiam lângă un loc care avea la intrare o serie de semne mari cu “No trespassing”). Dar poate că nu era neapărat un lucru rău că lumea zicea “mulțumesc” (ok, “thank you”) pentru orice lucru. Mâncarea, era destul de diferită pentru un european și a zice eu, mai rea. Totul era forte dulce sau condimentat și, evident, mare.

Sunt, probabil, multe lucruri pe care le-am ratat în această serie de articole, pentru că au fost multe lucruri. Trei luni au fost destul de mult, dar tot nu suficient pentru a face tot ce era de făcut. De la San Franciso la Los Angeles, de la Oceanul Pacific până la munții Sierra Nevada și mai încolo, la deșerul Mojave, California a oferit multe atracții. It was fun while it lasted.

O propoziție dintr-un discurs plin de sfaturi de viață (discurs ce a fost transformat și într-o melodie) zicea “Live in Northern California once, but leave before it makes you soft”. Îmi pare bine că am reușit să am această experiență. Cuvinte anterioare erau “Live in New York City once, but leave before it makes you hard”. Ar fi frumos dacă aș avea și ocazia să conosc și costa de est.

Mi-am luat rămas bun de la Mountain View și San Francisco, de la US-101 și de la California și am părăsit continentul american îndreptându-mă spre Amsterdam, la aeroportul Schipol, unde m-am întors la prețurile europene și apoi acasă, în România.

Category: Personal |  Leave a Comment
[Personal] San Francisco
Thursday, September 15th, 2011 | Author:

San Fancisco este cel mai apropiat oraș mare de Mountain View, drept consecință, un loc pe care l-am vizitat des… foarte des…

Cel mai ușor mod în care poți ajunge în SF este mergând cu Caltrain-ul. Acest tren circulă pe un traseu între San Francisco și San Jose, având opriri în orașele importante din Silicon Valley. Din MTV până în SF, faci aproximativ o oră mergând cu Caltrain-ul, care circulă cam din oră în oră, de pe la 7 dimineața până pe la 12 noaptea. Primul vagon este rezervat pentru biciclete, și este recomandat să ai o biciletă cu care să mergi în oraș. De asemenea, este întotdeauna recomandat să te îmbraci gros când vii în SF pentru că vântul este ceva aproape permanent.

Este un oraș mare, bineînțeles cu un centru cu clădiri înalte și o suprafață foarte mare datorită zonei metropolitane din jur. Stația de Caltrain din San Fancisco te lasă într-o zonă destul de centrală din punct de vedere turistic. În apropiere este o stradă numită Embarcadero care merge pe conturul nord estic al orașului ce este mărginit de San Francisco Bay. Zona aceasta este, după cum îi zice și numele străzii, portul (vechi, dar încă funcțional) al orașului.

În partea estică a Embarcadero se află AT&T Park, care este stadionul echipei de baseball locale, The San Francisco Giants. Este o arenă mare și specială pentru ca este fix pe marginea apei. O lovitură (foarte) puternică din stadion ar arunca o minge în apă. Este o zonă foarte aglomerată când Giants au meci, deoarece americanii vin cu toată familia la acest spectacol. Un meci de baseball nu este doar un simplu meci, ci un eveniment întreg pentru spectatori, care sunt foarte apropiați de echipa lor.

Portul începe la Bay Bridge, cu Ferry Building, unde era punctul de control pentru bacurile din Bay. Clădirea iese în evidență prin turnul său cu ceas, care a supraviețuit cutremurilor din oraș. Acum este folosită ca o clădire de magazine. “Pier 39″ este un loc mai turistic, loc în care se află și acvariumul. Este în apropierea Fisherman’s Wharf, unde poti merge să vezi focile. Pontoanele sunt mari și mici și găzduiesc vase de la bărci de pescuit la nave de coazieră pe ocean. Magazine de suveniruri și multe restaurante cu specialități din pește. Un prânz sau o cină aici oferă o masă bună alăguri o priveliște foarte frumoasă. În zonă, multe firme oferă tuturi pe Bay, spre Alcatraz și Angel Island.

Insula Alcatraz este unul dintre principalele atracții alte orașului. Această stâncă (numită chiar “The Rock”) are o istorie destul de încărcată. A pornit ca o fortăreață militară, ale cărei tunuri apărau intrarea în San Francisco Bay, apoi a fost transformată în închisoare militară în timpul Războiului Civil American. În 1933, insula a devenit închisoare federală, lucru pentru care a rămas cunoscută în istorie. Datorită locației sale, Alcatraz era perfectă ca închisoare: dacă celulele și zidurile interne nu te blocau pe insulă, apa rece și plină de curenți puternici te țineau departe ce civilizație. Oficial, nici un om nu a evadat din Alcatraz, cu excepția cazului Frank Morris și frații Anglin, care se zvonește că au supraviețui încercarea lor periculoasă de evadare. La Alcatraz au fost trimiși unii dintre cei mai periculoși criminali ai Americii, printre care Robert “The Birdman” Stroud, psihopatul cu un IQ de 134 și Al Capone, gangsterul din timpul prohibiției. O sentință la Alcatraz era una oribilă… dacă faptul că ești închis alături de cei mai periculoși oameni sau condițiile de acolo nu erau destul, trebuia să trăiești cu faptul că aveai o priveliște asupra San Francisco-ului animat, aflat la doar câteva mile apropierem peste apă, dar, totuși, la o distanță imposibilă. Este un loc foarte ciudat să mergi ca turist, dar locul este amenajat acum în așa fel încât să îți dea o imagine foarte bună a ce însemna închisoarea Alcatraz. Închisoarea a fost închisă în 1963, când s-a decis că sistemul de penitenciare din America trebuie să treacă de la unul punitiv la unul corecțional. Ultima bucată de istorie a Alcatraz aparține Ocupației indiene a insulei din 1969-1971, când mai multe triburi de indieni americani au invadat insula în semn de protest pentru felul în care erau tratați de guventul Statelor Unite.

Dacă mergi cu mașina spre SF, faci cam tot oră, ~60 mile, mergând pe US 101, drumul ce traversează SUA de la nord la sud. US 101 este, în general, freeway, dar în unele situații, este doar un drum printr-un oraș (un fel de E85 în Europa). Mergând pe 101 în SF spre nord ajungi la simbolul orașului, podul Golden Gate. Dacă nu este acoperit de ceață (ceea ce se întâmplă extrem de des) poți să vezi un mostru de metal ce unește cele două maluri despărțite de San Francisco Bay. Imediat la nord de GG Bridge este un vista point, de unde poți vedea oașul, Alcatraz și Angel Island și oceanul vast. Imediat ce ieși la nord de Golden Gate, începe o regiune care pare mai mult de munte decât metropolitană. În apropiere se găsește parcul național Muir Woods, cu o colecție de redwoods, copaci înalți de zeci de metri și de sute de ani vechime.

În apropierea întrării la Golden Gate Bridge, se găsește Golden Gate Park, un parc ce acoperă un cartier înteg din oraș. SF nu este un oraș foarte gălăgios, dar parcul este un loc foarte bun de făcut plimbari de relaxare, jogging și picnicuri. În acest parc se află Academy of Science, un muzeu de ștințe ale naturii. Este un loc în care orice elev de gimnaziu ar trebui să îl vadă. Conține un planetarium, sub forma unei sfere ce se întinde pe 3 etaje. O alta sferă, este o pădure tropicală închisă, în care poți să urci într-o spirală în jurul copacilor înalți, simțindu-te ca într-o pădure adevărată, inclusiv cu caldura și umiditatea și păsări și insecte.

Un lucru ce definește San Francisco sunt dealurile din oraș și străzile foarte abrupte, multe dintre ele aproiindu-se de unghi de 45 de grade. Cea mai cunoscută stradă cu unghi amețitor este Lombart. Acestă stradă ar fi fost imposibil să fie urcată sau coborâtă drept, așa că este făcută șerpuită. Are un singur sens, putând doar să cobori pe ea, și interiorul curbelor este umplut e grădini cu flori. Strada este una dintre cele mai vechi și nu este asfaltată ci are pavele. Este un test foarte interesant pentru șoferii pasionați. Tot specific SF și datorat dealurilor sunt cable carts. Echivalentul tranvaelor (și trase acum 100 de ani de cai), nu pot circula cu propria putere pe șine datorită unghiului străzii, așa că sunt trase în sus cu ajutorul unor lanțuri ce se găsesc în pământ, asemănător cu un funicular.

Ca locuitor al orașului, stai în niște blocuri de doar câteva etaje, deoarece relieful nu permite clădiri prea înalte (mai puțin în centru, pe Market Streat, unde se găsesc mare parte din clădirile de birouri). Am avut ocazia să intru într-un apartament din SF și am fost surprins să văd cum arată înăintru. Totul este foarte înghesuit și spațiile lunt mici. Dar ce este foarte frumos, majoritatea blocurilor permit locatarilor accesul pe acoperiș. Aici, chiar dacă este foarte des un vânt puternic ce bate, oamenii au scaune și mese afară și un grătar pregătit. Priveliștea este una foarte frumoasă pentru că dacă ești pe o colină, poți vedea mare parte din oraș, podul Golden Gate și San Francisco Bay.

San Fancisco este un oraș frumos de vizitat și de locuit. Este mare, dar destul de liniștit. Ai în apropiere cam tot ce ai avea nevoie, de la magazine și firme mari, la parcuri, o plajă lângă ocean sau o pădure de munte. Dacă Los Angeles este inima Californiei de Sud, San Francisco este inima Californiei de Nord.

Category: Personal |  Leave a Comment
[Personal] Driving down the US Highways (III) – Death Valley
Thursday, September 08th, 2011 | Author:

Deși nu era în planul inițial, direcția pe ziua de luni nu a fost acasă, ci un obiectiv mai îndrăzneț, un loc numit Death Valley. După cum sugerează numele, locul este o zonă foarte neprietenoasă din punct de vedere a climei, putând ușor să îl numim si altfel: Iadul. Această vale are o caracteristică foarte interesantă: este sub nivelul mării, aici găsindu-se cel mai jos punct aflat pe pământ din America continentală. Acesta este și motivul pentru care zona este foarte caldă. Pentru a ajunge la el, am părăsit statul Nevada și am intrat iar în California.

La fel cum mare parte din Grand Canyon este un parc național, așa și o parte din Death Valley face parte din Death Valley National Park, cu o taxă de intrare de 20$ pentru mașină (taxă care merită, având în considerare că ai o stradă foarte bine asfaltată în mijlocul pustietății și indicații turistice). Dupa ce am intrat în parc, am început să coborâm în altitudine cu fiecare milă condusă. Vedeam cum GPS-ul și semnele de pe marginea drumului indicau că am coborât sub 0 metri altitudine. Căldura devenea infernală. Dacă scoteai mâna pe geamul mașinii, chiar dacă mergeai cu 100 mile pe oră, simțeai ca și cum bagi mâna în flăcările unui foc. În jur nu era nimic, doar șoseaua în fața ta și pietrișul din dreapta și stânga, fără pic de vegetație.

Prima oprire a fost la Zabriskie Point, un deal pe care vedeai partea muntoasă a zonei. În acei munți, acum 100 de ani existau mine ce extrăgeau resurse minerale din vale, cea mai exploatată fiind boraxul. Deși din cauza condițiilor în care trebuia să faci extracția și transportul, nu părea că merită efortul. Din acel punct am început să coborâm spre un loc numit The Devil’s Golf Course. Dacă este vreo imagine a cum arată Iadul, aceasta este. O suprafața foarte mare de pământ acoperită cu niște pietre foarte ascuțite, dar care, dacă te apropi de ele, descoperi că sunt, de fapt, bucăți mari de sare. Găuri în pământ încă există, pe unde apa cu sare a ajuns la suprafață. Datorită căldurii, apa s-a evaportat, rămânănd doar sarea la suprafață.

Destinația finală din parc a fost un loc numit Badwater. O suprafață cu o rază de câteva mile, complet plată, acoperită de un strat gros de sare. Dacă te uitai în jos și ignorai călura de afară, puteai să juri că este zăpadă. Puteai să și desenezi în “zăpadă”. Este de inimaginat cum ar putea exista viață în acest loc, dar într-un colț al Badwater există o mică baltă (pentru că nu o pot numi lac) în care găseai niște insecte. De la acest lac, dacă te uitai în spate, se vedea un munte și pe versantul său, la câteva zeci de metri în sus, vedeai un semn mare zicea “Sea Level”, noi fiind la 86 metri sub nivelul mării. This is as close to Hell as you’ll ever be.

În drum spre ieșirea din parc am mai oprit la un loc de unde am făcut o foarte scurtă plimbare, urcând printr-un canion spre un loc numit Natural Bridge, care era, intuitiv, un pod dintr-o stâncă între doi versanți. Am luat un drum numit Artist’s Road care urcat și coborât pe dealuri din Death Valley. Dacă pustiul de până acum nu ni s-a părut deșert destul, fix la ieșirea din parc am văzut dune de nisip. Am ieșit să punem mâna pe nisip, care era relativ rece la suprafață din cauza vântului, dar dacă săpai câțiva centimetri în pământ, ajungeai la nisip fierbinte, pentru că toată căldura din atmosferă era reținuta în pâmânt.

Am ieșit din parc, dar nu și din Death Valley. Am început să urcăm foarte mult, ajungând pe niște munți destul de înalți de unde vedeai toată valea. Ieșind din zona Death Valley, începeam să vedem peisaje mai apropiate de ce erau în California. Restul drumului de aici încolo însemna doar terminat cele câteva sute de mile rămase pe autostrăzi. Drumul a fost frumos. Driving down the Lost Highways of the US. Ne-am îndreptat spre munții Sierra Nevada, cei mai înalți de pe continentul american. Se întuneca și am prins apusul deasupra munților în vest dar, pentru că trebuia să trecem peste ei, apusul a ținut foarte mult pentru că l-am prins și în spatele lor. Am trecut pe lânga Lacul Isabelle, în apropierea Sequoia National Park, lac format datorita unui baraj pe un râu ce curge din Sierra Nevada.De la Bakersfield am continuat spre I-5, apoi pe US-101 spre Mountain View, unde am ajuns la miezul nopții.

Mașina pe care o închiriasem avea la bord aproximativ 1000 mile când am plecat. Am returnat-o cu aproape 3000 de mile și cu o întreagă aventură prin deșert drept trecutul ei și al nostru.

Category: Personal |  Leave a Comment
[Personal] Driving down the US Highways (II) – Las Vegas
Wednesday, September 07th, 2011 | Author:

Duminică dimineață ne-am trezit, am stâns cortul și am pornit iar la drum, cu destinația finală Las Vegas, dar cu opriri pe drum. Înainte să ieșim din Grand Canyon National Park am oprit la ruinile Tusayan, ruinile unui pueblo, o așezare a unor indigeni din zona accea, indienii Hopi. Doamna de la muzeul de lângă runine ne-a povestit despre indienii din sud vestul Statelor Unite, despre Hopi, Apache și Navaho. Ieșind din parc, am continuat să vedem imagini incredibile ale canionului care se extinde mult în estul parcului. Am continuat spre un alt parc ce era o rezervație de indieni (indienii Sinagua), Wupatki National Monument. Aici am văzut alte ruine de pueblo (termenul se referă și la cultura Pueblo), mai mari și mai întregi. Eram deja într-o zonă total deșertică, unde nu era vreo așezare pe o rază de zeci de mile. În afară de vegetația tipică de deșert, nu vedeai vreun copac care să ofere umbră. Pământul era foarte neprietenos și este greu de imaginat cum oamenii trăiau acolo, dar existau comunități de zeci și chiar sute de oameni în acea zonă. Am văzut un fel de cetate, comparabilă cu o cetate mică medievală, doar că în loc să fie gri, avea culoarea roșu aprins, intregrându-se cu deșertul. Mergând în continuare câteva zeci de mile prin acest parc ajungem la o zonă mai de munte. Intram în Sunset Crater Volcano National Monument. Muntele respectiv era un vulcan și erau zone unde vedeai urmele lavei de la erupție. Ieșind din parc pe partea cealaltă a muntelui era deja complet altă lume: verdeață și copaci. Surpriza mai mare a fost când a început să plouă cu stropi mari și deși, atunci când cu jumătate de oră înainte eram într-un desert unde singura apă era cea din sticlele nostre.

Ne-am continuat drumul prin Arizona până la un alt parc national, Walnut Canyon National Monument, aflat lângă un oraș numit Flagstaff. Tot o așeazare de indinei Sinagua, era foarte intersant pentru că într-o zonă montană, pe valea unui râu, unde triburile de indieni și-au construit case în versantul muntelui. Zidurile caselor lor au rezistat aproape 1000 de ani în acest munte și puteai să vezi cum își trăiau vitața. Casele erau la câteva sute de metri deasupra răului de care depindeau, pe niste pante aproape verticale. Un drum pentru turiști care te ducea în jurul văii unde erau așezările nu se compara cu ce trebuiau indineii să facă pentru a circula prin orașul lor. Casele erau foarte inginerește gândite, fiecare familie având o cameră unde își putea face un foc, protejat de ploaie pentru că aveau stânca deasupra lor și protejată de frig și căldura datorită zidurilor din piatră și lut.

Din Flagstaff am plecat pe I-40 spre Las Vegas. Autostrada mergea paralel (sau uneori coincidea) cu faimoasa Route 66. După ceva ore de mers, am ajuns la Hoover Dam, faimosul baraj de pe Râul Colorado. Am trecut podul ce lega Arizona și Nevada și am oprit pe partea din Nevada a barajului într-o căldură infernală (chiar dacă era 6 seara). Complexul construit din beton era încins de soarele de afară și era ca și cum intrai într-o sobă.

Boulder Dam, cum se numea atunci când președintele Hoover a ordonat construcția barajului în 1931, în timpul Marii Depresii, a fost deschis în 1936 de F.D. Roosavelt, care a schimbat numele în Hoover Dam. Construcția este imensă, înălțimea barajului fiind comparabilă cu adâncimea Grand Canyon. Pereții groși de beton trebuie să țină în spate puterea răului Colorado, al cărei apă este oprită în lacul de acumulare Lake Mead. Cele 4 turbine ale centralei hidroelecrice sunt împărțite între cele două state vecine, mijlocul barajului fiind și punctul de graniță între Arizona și Nevada. Lângă baraj, se află un monument dedidat Statelor Unite și inginerilor americani care au construit Hoover Dam, care atestă minunăția inginerească a proiectului.

Pe la 20:00 am ajuns în Las Vegas. Las Vegas a fost exact te așteptai: orașul cazinourilor, deși nu stilat cum este Monte Carlo. Căldura era incredibilă, chiar și seara/noapea. După ce ne-am cazat la motel, am vrut să mergem spre centru, trebuind să traversăm o autostradă… am mers pe jos PE autostradă alături de mașinile în viteză. Am mers pe strada principală, Las Vegas Strip, unde erau cam toate hotel-cazinourile faimoase: Luxor (care era o piramidă), MGM Grand, Mirage, Caesar’s Palace, The Bellagio. The New York Casino avea un montagne rouse în care puteai să te dai. Casinoruile erau… cazinouri. Cel mai frumos (și singurul) lucru văzut a fost Spectacolul Fântânilor de la Bellagio. La fiecare jumătate de oră ziua, sau la fiecare sfert de oră seara, era pornită o melodie în boxele din fața hotelului ce avea o fântână imensă și jeturi de apă erau aruncate în aer în ton cu acordurile melodiei. Apa ajungea la zeci de metri în aer și alături de efecte de lumini făceau un spectacol pe cinste.

Dar per total, Las Vegas a fost destul de neimpresionant (mult mai neimpresionant decât Los Angeles). Luni dimineața am plecat de la motel, după ce am pierdut 2$ la un joc de ruletă într-un singur tur (nu puteam să plec din Las Vegas fără să joc măcar un joc). Orașul ne-a dat afară cu cineva neașteptat pentru căldura de afară: cu ploaie.

Category: Personal |  Leave a Comment
[Personal] Driving down the US Highways (I) – The Grand Canyon
Wednesday, September 07th, 2011 | Author:

După ce am stat aproape 3 luni de zile în California, de weekend-ul prelungit de Labor Day (5 septembrie) am zis să facem un drum mai lung: Grand Canyon,Arizona și Las Vegas, Nevada. Nu am luat avionul, ci am ales o variantă mai interesantă: un drum de 15 ore (într-un sens) cu mașina pe drumurile din SUA. Planul era să plecăm de vineri seara, condus toată noaptea până în Las Vegas, apoi imediat spre Grand Canyon National Park, dormit într-un camping acolo, apoi să ne întoarcem spre Las Vegas să viztăm orașul. În practică, a decurs puțin mai diferit.

Am plecat pe la ora 18:00 din Mountain View pe preferata noastră autostradă, US 101, apoi spre Interstate I-5 în sud. Ieșind de pe I-5 a trebuit să mergem pe niște drumuri echivalente a drumuri naționale, care ne-au dus prin niște orășele mai mici, care, pe la ora 2 dimineața păreau începutul unui film horror. Am intrat pe I-15 și eram deja în drum spre Las Vegas. Deja eram de mult într-o zonă deșertică. Aproape că se făcea zi când am intrat în statul Nevada și primul oraș al statului era unul foarte luminat de neoane. Ne miram pentru că era prea mic să fie Las Vegas, și s-a dovedit că nu era… mai aveam câteva mile de mers spre est. În orizont vedeam o lumină puternică, dar nu ne dădeam seama dacă este Las Vegas sau soarele care răsare. Apropiindu-ne de oraș, am văzut un cartier care ziceai că luminile de la clădiri erau niște flori pe o pajiște. Încă eram pe autostradă și treceam pe lângă hoteluri și casinouri ce nu se mai terminau. Nu îți dădeai seama că este nopate pentru neoanele luminau tot.

După ce am oprit să luăm micul dejun sub forma unui hot dog și să realimentăm mașina, deja răsărea soarele și ne-am îndreptat spre destinația finală a zilei: Grand Canyon. Ne-am îndreptat spre Bolder City și Hoover Dam. Am trecut un pod de lângă baraj și am intrat în Arizona. Am mers în continuare pe niște autostrăzi prin mijlocul pustietății, exact cum ai fi văzut în filme. Căldura de la 9 dimineață confirma: suntem în Middle of Nowhere, Arizona. Pe la prânz am ajuns în Grand Canyon National Park. Drumul de 15 ore planificat s-a transformat în 18 ore. O taxă de 25$ îți permitea intrarea în rezervație pentru 7 zile.

Nu era chiar ce te așteptai… nu era doar un deșert care să se termine într-o prăpastie fără să găsești oameni sau case în zonă. Canionul, în regiunea aceea (South Rim al Grand Canyon), era înconjuratat de o regiune foarte mare de păduri. Centrul parcului era Grand Canyon Village, unde erau multe magazine, inclusiv un supermarket de mărimea Carrefour și o cantină-restaurant unde aveai WiFi (aveai WiFi, dar nu aveai GSM). Prima oprire a fost la Yavapai Geology Museum, unde ne-a întâmpinat un Ranger ce ne-a povestit despre fauna din parc. În muzeu unde am văzut o machetă a întregului canion. Dar mai important, a fost prima priveliște asupra Grand Canyon-ului. “WOW” probabil sunt singurele lucruri pe care poți să le zici. It is breathtaking. Doar dimnensiunea și adâncimea sunt incredibile, și dacă nu este destul, privelistele sunt unice.

Exista mai multe zone în care se pot face drumeții pe marginea Grand Canyon. Este și un drum care te duce în jos, până la râul Colorado, dar acel drum îți ia două zile, nu neapărat datorită distanței, ci datorită faptului că nu poți compensa într-o singură zi pentru cât transpiri pe drum încât să nu mori. Am ales să mergem pe un drum mai mic, dar care ne ducea în mai multe puncte de unde să vedem canionul. Nu aveam voie cu mașina, dar, iar ceva ce nu te-ai aștepta, parcul oferă o serie de autobuze ce vin cam din 10 în 10 minute și de duc între diversele puncte ale drumului. Punctele de oprire ofereau panorame uimitoare. Pur și simplu nu puteai să percepi distanța până la baza canionului. Și era de neimaginat cum a reușit râul Colorado și câteva milioane de ani (aia da răbdare) a reușit să modeleze relieful în acel fel. În unele dintre locuri puteai să vezi râul Colorado, abia distinctibil datorită culorii sale “murdare”. Era, probabil, cel mai mare vis al unui geolog, deoarece puteai să vezi un număr foarte mare de tipuri de rocă și evoluția lor pe straturi. Cel mai din vest punct al parcului a fost ultima oprire a drumeției (am trișat și am luat autobuzul ultimele stații) se numea Hermits Rest, unde era o așezare veche, dar care a fost reamenajată ca magazin de suveniruri. Stând în acel punct la marginea canionului ziceai că stai pe marginea lumii.

Ne-am întors la mașină și ne-am dus spre punctul cel mai din est al parcului, Desert Point, la un camping. După ce ne-am rezervat un loc în caming (a costat 12$) și ne-am instalat cortul, ne-am întors la Grand Canyon Village să luăm mâncare, bere și lemne de foc. Am făcut un foc de caming și am încheiat ziua de sâmbătă. Eram deja nedormit de vreo 36 ore. And the trip was just beginning.

Category: Personal |  Leave a Comment