Holger: Windows har enbart sin marknadsdominans att tacka för sin popularitet. Operativsystemet är knappast ledande på något sätt. Dess framgångar kan helt enkelt förklaras av att Microsoft lyckats slå blunder i ögonen på en massa stackare. Alternativt att MS är extremt bra på att sälja, och mindre bra på att göra bra mjukvara.
Om fler var beredda att byta OS skulle folk bli mycket mer effektiva med sina datorer. Att köra Windows är rent plågsamt efter att man vant sig vid de möjligheter *nix ger, oavsett om man kör Ubuntu eller OS X. Jag kan inte leva utan SSH, eller Apache, eller MySQL, eller bash, grep, underbara pipes i shellet och regexar. Sådana här saker kräver dedikerada program på Windows. På Linux är shellet en utvecklingsmiljö i sig. Du kan enkelt skriva de program du behöver, t ex för scripting eller strängmanipulation.
Jag är ingen expert på bash och mina script kan nog förbättras mycket men detta snickrade jag ihop på några minuter i OSX (kollar om VPN-anslutningen är aktiv):
Kod: Markera allt
#!/bin/sh
ppprunning=`ifconfig | grep ppp | wc -l`
currentipisppp=`curl -s www.whatismyip.com/automation/xxx.asp | grep '^xxx\.yyy' | wc -l`
if [[ $ppprunning -gt 0 && currentipisppp -gt 0 ]] ; then
echo "VPN is active."
else
echo "VPN IS NOT RUNNING"
fi
Med AppleScript kan jag se till att återansluta VPN-anslutningen om den gått ned. Detta script kan man spara som ett program (en app) som startas när jag loggar in och ligger och kör i bakgrunden (kollar var 10:e sekund):
Kod: Markera allt
on idle
tell application "System Events"
tell current location of network preferences
set myConnection to the service "VPN"
if current configuration of myConnection is not connected then
connect myConnection
end if
end tell
return 10
end tell
end idle
För att inte nämna att man kan aktivera servrar för SMB, FTP och AFP direkt i systeminställningarna. Vill man ansluta med SSH när man är ute och reser aktiverar man Remote Management och där ingår också en VNC-server för remote desktop. Peka om lite portar i routern och du kan fjärrstyra din dator och komma åt dina filer. Allt detta utan att installera någon extra mjukvara!
Med
MacFusion kan du hantera filsystemet i din dator hemma, som du anslutit till med FTP, som om det var ett helt vanligt filsystem på din lokala maskin! Du kan t o m spela upp musik och video som om du gjorde det från din lokala disk!
Vill du installera lynx eller ett annat paket? Installera MacPorts och gör sedan:
$ sudo port install lynx
Klart!
Sedan sitter man och utvecklar och undrar vilken klass som implementerar metoden
get_more_pizza:
$ grep -R "public function get_more_pizza" *
kat/class.pizza.php
Eller varför inte alla
get_more_-metoder?
$grep -R 'get_more_\w*(' *
kat/class.pizza.php:public function get_more_pizza() {
kat/class.beer.php:public function get_more_beer() {
kat/class.candy.php:public function get_more_candy() {
Radnummer?
$grep -Rn 'get_more_\w*(' *
kat/class.pizza.php:23:public function get_more_pizza() {
kat/class.beer.php:345:public function get_more_beer() {
kat/class.candy.php:785:public function get_more_candy() {
(Jag vet att detta är ett dåligt exempel, snacka om brist på polymorfism

)
Mer om grep regex:
http://www.robelle.com/smugbook/regexpr.html
Om du verkligen gav Ubuntu en chans skulle du nog fästa dig vid det och sedan svära över all tid du lagt ned på att lösa saker på ett tidsödande och omständligt sätt i Windows. Du har helt klart behov av en bättre utvecklingsmiljö än Windows. Ubuntu 9.10 erbjuder en väldigt trevlig skrivbordsmiljö. Det är snabbt, stabilt och du behöver inte befatta dig med terminalen, även om jag rekommenderar det. Det finns saker som går oändligt mycket snabbare att göra där än vad som går grafiskt i fönsterhanteraren. Exemplen ovan är bara ett axplock.