Tag-arkiv: Mac

Mac programmer jeg bruger på arbejdet

Macbay.dk er der ofte gode fif og tricks til forskellige apps medlemmerne af sitet bruger. Det fik mig til at tænke på at skrive hvad der er blevet til denne blogpost om de apps og metoder jeg bruger på min Mac i forhold til mit arbejde.

Min baggrund er at jeg arbejder med webudvikling (backend og frontend) i CMS’et Plone som er bygget oven på Zope og Plone. Plone er et CMS der ikke er så voldsomt kendt i Danmark, men det er med i toppen af poppen i udlandet. Organisationer som NASA, FBI og CIA er blandt de større der bruger systemet – ud fra at det er et af de mest sikre systemer med ganske få sikkerhedshuller gennem tiden (http://quintagroup.com/cms/plone/security).

Denne blogpost indeholder ikke en gennemgang af hvordan jeg bruger programmerne i detaljer, det er blot en liste over de programmer jeg bruger samt en kort beskrivelse. På et senere tidspunkt vil jeg gå mere i dybden med hvordan jeg bruger programmerne.

 

Grundlaget

En stor del af tiden foregår i Terminal hvor jeg styrer udviklingsserver (lokalt) og hvorfra jeg SSH’er til staging og production server (Ubuntu LTS servere).

 

Applikations listen

Sublime Text 2 (http://www.sublimetext.com/)

Source code skabes for det meste i Sublime Text 2, som har erstattet Textmate for mig (da det lå klart at det program mere eller mindre er dødt også selv om det nu er OSS).

Sublime Text har jeg valgt da det er cross platform og er en editor der har stort momentum i udvikler kredse.

Der findes OSS editore som VIM, Emacs osv. men selv om jeg har prøvet, så har jeg bare ikke kunnet vænne mig til deres workflow, hvorimod Sublime Text 2 har virket rigtigt fra start af.

Sourcetree app (http://www.sourcetreeapp.com/)

Jeg bruger Git til at holde styr på min sourcecode. Git er et distribueret versionsstyringsværktøj, som ikke er afhængigt af et centralt lager hvor udviklere indsender revisioner til. Subversion er det modsatte, nemlig et centraliseret lager. Begge dele har sine fordele og ulemper. Da jeg skulle vælge hvilket system jeg ville bruge, brugte jeg lidt tid på Google og der kunne jeg se at tendensen helt klart er at udviklere bevæger sig væk fra centraliserede versionsstyringssystemer over til de distribuerede.

Sourcetree app integrerer fint til online tjenester som Github (https://github.com/) og Bitbucket (https://bitbucket.org/). Jeg har valgt at bruge Bitbucket, da det giver gratis private repositories, hvor disse koster pænt meget ved Github.

Coda 2 (http://panic.com/coda/)

Jeg bruger Coda 2 udelukkende til SCSS (http://sass-lang.com/) og LESS (http://lesscss.org/) filer grundet dets ganske udemærket autocomplete og selectors til disse. Jeg bruger det ikke som kode editor da editoren ikke når Sublime Text 2 til sokkeholderne.

Pixelmator (http://www.pixelmator.com/)

Jeg er ikke grafiker, og har heller ikke de store grafiske evner så et billigt program som Pixelmator er mindst lige så godt for mig som Photoshop ville være det. Jeg ville dog ønske at det havde lidt flere af de samme muligheder som Fireworks har, men til prisen er det OK til mig.

Codekit (http://incident57.com/codekit/)

Webværktøj der indeholder de precompressors der bliver beskrevet herunder. Programmet er ikke nødvendigt, da man kan køre alle disse preprocessors direkte via Terminal, men det gør det meget mere simpelt kun at have et program kørende i stedet for at skulle holde styr på en lang række Terminal vinduer (og man behøver ikke at installere de forskellige precompressors da de er embedded i Codekit).

 

Sprog/frameworks jeg anvender

Python

Plone og Zope er bygget oven på Python (og en lille smule C), og udvides via Python. Python er et rigtig dejligt sprog, som efter PHP virker som et dejligt pust af frisk luft. Man skal dog lige vænne sig til at indentions er alfa og omega for ens scripts, men det er rart at slippe for at skulle bruge $ og ; hele tiden.

SCSS, LESS, Compass og Jade

Hvis man arbejder med CSS filer og ikke anvender en css preprocessor, så snyder man virkelig sig selv for at gøre CSS arbejdet nemmere og ikke mindst mere overskueligt.

Skal jeg starte på et nyt projekt med CSS er det SCSS (http://sass-lang.com/) jeg anvender sammen med Compass (http://compass-style.org/). Disse to giver mig en masse CSS muligheder med at skrive CSS der virker på tværs af flere generationer af browsere (og ja det er sgu altid lorte IE der er problemet). LESS bruger jeg mest når jeg skal tilpasse Twitters Bootstrap framework til et nyt site. LESS (http://lesscss.org) og SCSS minder meget om hinanden, men SCSS er lige en tand kraftigere og giver lidt flere muligheder.

SCSS og LESS koden er meget kortere end den CSS kode der bliver genereret, og det giver den fordel at det er meget lettere at overskue, og da det kan håndtere kode til forskellige browser versioner, så spare det også en for meget tid med at rode med css hacks.

Jade (http://jade-lang.com/) er en HTML template engine, som er en forkortet variant af HTML. Fordelen er igen at Jade koden er nem at læse og have et overblik over, og det er meget hurtigt at lave ens HTML om selv i komplicerede opbygninger, hvor man nemt kan miste overblikket.

Twitter Bootstrap (http://twitter.github.com/bootstrap/)

Før jeg opdagede Twitters Bootstrap framework brugte jeg ofte alt for lang tid på at opbygge den basale HTML kode på forskellige sites (og ikke mindst på at lave en opbygning der virker i flere varianter af Internet Explorer – jeg er stadig nødt til at supportere version 8 da det er den version der kører på vores terminal miljø.).

Grund opbygningen af Bootstrap gør at det kun er nogle få visuelle ting der ikke er mulige i f.eks. IE8, men selve strukturen skrider ikke og ødelægger ikke sitet

 

Diverse andre programmer

Alfred.app (http://www.alfredapp.com/)

Dette program er i gratis versionen ikke ret meget mere end en app launcher, og er ikke meget mere bevendt end Mac OS eget Spotlight, køber man dets PowerPack så sker der ting og sager, og så går det hen og bliver et meget kraftfuldt værktøj til at manipulere filer med eller til at udføre almindelige opgave.

Moom (http://manytricks.com/moom/)

Program til at kontrollere størrelse og placering af åbne vinduer uden at skulle bruge mus/trackpad. Jeg holder af at bruge tastaturgenveje hvor det er muligt, og med programmer som Alfred og Moom så er der rigtig mange ting jeg kan klare blot via tastaturet, hvor jeg ellers tidligere skulle igennem flere handlinger med trackpad for at opnå det samme

Hazel (http://www.noodlesoft.com/hazel.php)

Program der kører i baggrunden, og udfører forskellige handlinger på forskellige foldere. Jeg bruger dette mest til oprydning og standardbehandling af filer jeg modtager fra andre via Dropbox.

Dropbox (https://www.dropbox.com/)

Uundværlig cloud service – jeg tør næsten ikke tænke på hvor besværlig min hverdag ville være hvis ikke det havde været for Dropbox. Jeg bruger det fra alt til lokale repositories når jeg udvikler, til dokumenter, til deling mellem kolleger og familie, til lagring af programindstillinger. Der findes andre tjenester der kan det samme, men jeg har ikke prøvet nogen endnu som har været lige så pålidelig som Dropbox

Evernote (http://evernote.com/intl/da/)

Jeg bruger evernote primært som mødenotat værktøj, men også som drejebog for de sites jeg arbejder på. Ofte er det eksisterende hjemmesider jeg udvikler til, og der er tit problemstillinger i forhold til det nyudviklede, som jeg skal tage højde for når udviklingen er fuldført, og jeg skal til at implementere til live data (der aftales en frysning af indhold, og der opbygges et parallelt site med det nye konverterede indhold som så bliver til det nye live site). Der bruger jeg Evernote til at beskrive de steps jeg skal huske at gå igennem, eller de problemstillinger jeg ikke kan scripte mig ud af.

OmniFocus (http://www.omnigroup.com/products/omnifocus/)

Task management program. Jeg bruger Omnifocus på Mac, iPhone og iPad. Det giver et super overblik over de opgaver jeg sidder med og det er dejligt nemt at nedbryde de forskellige opgaver til små bidder som er overskuelige at gå i krig med. Tidligere brugte jeg en blanding af mails og papir noter, og på et eller andet tidspunkt bliver det så uoverskueligt at man er nødt til at skifte metode, og jeg fandt OmniFocus og GTD (http://en.wikipedia.org/wiki/Getting_Things_Done) som er den metodik det læner sig op ad.

 

Dette var en kort gennemgang af de programmer jeg anvender i min dagligdag på arbejdet med min Mac. Hvis du har spørgsmål om programmerne eller hvordan/hvorfor jeg bruger dem, så er du velkommen til at skrive en kommentar herunder.

Sådan løste jeg mine Time Machine problemer med Mac OS Lion

Opgraderingen af Mac OS til Lion har givet nogle udfordringer i forhold til at få taget backup af Mac’s over netværket. Problemet skyldes at Apple har lavet om på deres AFP og Windows fildelings protokoller, så de ikke er kompatible med en lang række 3. parts produkter, som NAS enheder.

Umiddelbart ville den løsning Apple gerne vil have at flertallet benytter sig af, være at købe en Time Capsule, som er en Airport Extreme router med indbygget harddisk. Problemet med den løsning er blot at det er en relativ dyr løsning, for en enhed der ikke kan ret meget.

Løsningen jeg valgte var, at opgradere en af vores computere til at køre Mac OS Lion Server, og koble en 2TB USB disk på iMac’en. Inde i Mac OS Lion Server applikationen, har man mulighed for at slå Time Machine server til, og så kan Mac’s på det lokale net se serveren som en Time Machine server.

Det kræver jo selvfølgelig at serveren er tændt for at der kan blive taget backup, men med Lion er det et mindre problem, da Lion klienterne nu kan tage offline TM backup. Det virker sådan at hvis computeren ikke kan få fat i serveren, så bliver der lavet en lokal backup, som bliver overført til serveren så snart at der igen er forbindelse til serveren. Selvfølgelig er der en lille risiko for at man kan miste data mens serveren er utilgængelig, men det er rart at der nu bliver taget lokal revisions backup selv om man ikke lige er i nærheden af backupserveren.

I app storen er der en der har anmeldt Lion Server som værende negativ. Jeg har dog ikke oplevet at der er sket noget performance tab ved at jeg har installeret Lion server. Jeg syntes dog godt at Apple kunne have inkluderet det direkte i Lion, hvis jeg endelig skal komme med et kritik punkt.

Mac OS Lion (10.7)

Så kom Mac OS Lion, og som mange andre Mac nørder har jeg installeret det.
Men som det altid er med nye versioner af operativ systemer, så er en opgradering/clean install ikke uden sine problemer.

Som altid med opgraderinger, så er det vigtigste man skal gøre inden opgraderingen, at man husker at få taget backup af ens data. Jeg er lidt panisk med backup, og har den holdning at når jeg forlader min computer, så skal mine data gerne være sikret i sådan en grad, at selv hvis huset brændte ned så ville det ikke ramme mine vigtigste data (som for mig er billeder – alt det andet kan genskabes). Så mine backupdata ligger spredt på lokalnet samt Amazon S3.

Med dette på plads begav jeg mig ud i at hente Lion, som kun kan købes via Apples App Store, som er en del af Snowleopard. Opgraderingen koster 179,- dk, og fylder lige under de 4 GB.
Har man mere end én Mac, så kan man slippe for at skulle hente de 4 GB ned mere end én gang. Når programmet er hentet ned og er klar til at man klikker på “Næste” (eller fortsæt, kan ikke helt huske hvad der præcist stod), så stopper man installationen, og går ind i Finder -> Programmer og tager en kopi af Lion Installer. Den kan man så gemme på en ekstern disk eller netværksdrev. Man kan også ved lidt snilde brænde in boot DVD, så man kan lave en ren install af Lion.

Jeg valgte at lave en ren installation, og var derfor nødt til at brænde en boot DVD (man kan bruge denne korte vejledning). Det tager lidt tid at boote dvd’en så man kan godt drikke lidt kaffe… Når boot dvd’en har loaded, så skal man ind i disk værktøj og slette partitionen med den gamle Snowleopard. Herefter kan man installere Lion.

Lidt problemer med gamle vaner og rutiner

Den første irritation med Lion var at Apple har valgt at ændre scroll retningen, så den minder om scroll retningen på en iPhone, Android telefon eller iPad, og hvor det giver mening på en touch baseret enhed, så virker det ikke rigtigt på en computer, så som mange andre er det noget af det første jeg har slået fra.

Spaces (virtuelle skriveborde) har ændret sig til ikke længere at være en grid baseret løsning, nu er det én lang horisontal liste af vinduer. Irritationen her er mindre, og er sikkert en jeg vil glemme relativt hurtigt, og jeg ville undre mig meget hvis ikke der var nogen kom med nogle tilføjelsesprogrammer der kan give os det gamle spaces tilbage.

Time Machine, her vil ejere af NAS enheder få sig lidt af en overraskelse. Apple har valgt en nyere version af deres AFP, som er nødvendig for at have Apple Shares, og der er ingen NAS enheder der er klar med understøttelse at Time Machine endnu. Der er dog flere der ret hurtigt har lavet opdateringer, så man kan tilgå NAS enhederne som netværksdrev, men altså pt. uden Time Machine understøttelse.

SMB shares fra Lion, her har Apple også valgt at droppe bagudkompatibilitet for nogle eksterne enheder. Jeg deler billeder mv. fra min Mac over vores netværk, så vores TV kan se dem. TV’et understøtter windows shares, men vil ikke kendes ved Lions variant. Som løsning har jeg valgt at installere Freenas i Vmware Fusion, og lader den fungere som netværks server for filer fra Mac’en der skal deles. Freenas har den dejlige egenskab at det ikke kræver ret meget i ressourser, og stort set ikke tager mere hukommelse end et almindeligt program ville på computeren.

Ud over disse udfordringer med Lion, så vil jeg generelt mene at det virker positivt. Man kan dog sagtens vente et stykke tid med at opdatere, og specielt hvis man har brug for gamle Rosetta baserede programmer, da disse ikke vil virke sammen med Lion.

PDFScanner til Mac

Jeg har længe ville gå over til at have et papirløst hjemmekontor, men har manglet noget fornuftigt software til rimelige penge, der kan håndtere indscanning og tekstgenkendelse, og jeg tror at jeg langt om længe har fundet det.

Programmet hedder PDFScanner, og er et Mac program, som kun er til at købe via Apples App Store. Det giver lidt begrænsninger i og med at man ikke lige har mulighed for at teste det, men jeg fandt hurtigt ud af at det helt klart var de dkk 89,- værd jeg gav for det.

Programmet kunne hurtigt finde vores netværksprinter, og indscanningerne går forholdsvis hurtigt, og uden at man skulle sidde og markere enten hele siden eller ændre de elementer andre scanner programmer har med at forudvælge for en. Hele dokumentet bliver indscannet, men man kan croppe det inden man gemmer det.

Som en lille bonus kan man trække sine gamle indscanninger ind (billeder eller PDF), og så lade programmet lave tekstgenkendelse på det, hvorefter man gemmer det som PDF dokumenter.

Hvorfor tekstgenkendelse? Fordi at det integrerer sig fint med Mac OS X og dets interne søgemaskine. Pludselig er det ikke kun filnavnet på ens indscanninger der bliver indekseret, men også indholdet. Programmet understøtter en lang række sprog, herunder også dansk.

Min næste udfordring bliver så at finde et godt dokument håndteringssystem, der er istand til at arbejde med dokumenter over netværket…

Backup

Det er efterhånden et stykke tid siden jeg har skrevet noget om hvordan jeg foretager backup af vores computere.

Jeg holder meget af teorien om 3-2-1 backuppen. De vigtige data skal gerne ligge i 3 kopier, på 2 forskellige typer medier og 1 skal gerne være offsite (ude af huset).

Den sidste er for mig en af de vigtigste da vi tidligere har været så uheldige at komme hjem til et hus der var endevendt af indbrudstyve. Til alt held valgte de ikke at tage vores stationære computer eller den eksterne harddisk hvorpå vores backup var på.

Siden den dag har jeg valgt at tage backup noget mere seriøst, og mine data (specielt digitale billeder af familien) er under grundige backup rutiner.

Hovsa backuppen – Timemachine

Læs resten

Hvordan tømmer man DNS Cache i Mac OS X

Jeg roder tit med DNS opsætning af domæner, og ofte er man nødt til at tømme dns cache på computeren for at få fat i de nye IP adresser.

På Mac skal man ud i Terminal og skrive

sudo killall -HUP mDNSResponder

 

Desværre har det i lang tid vist sig at være umuligt for min hukommelse at fæstne den “one liner”. Så jeg har lavet et automator script som er noget nemmere at huske.

Dette workflow gemmer man så som et program – når det så køres bliver den lokale DNS Cache tømt.

 

Growl notifikationen er ikke nødvendig, men det er alligevel rart at få en besked når programmer er kørt færdig

Så blev jeg også en Switcher

Jeg har længe brugt Windows (senest Windows 7, som klart er Microsofts bedste OS til dato og det er meget tæt på Mac OS) som min primære platform hjemme, men har også via arbejdet haft muligheden for at arbejde med en Mac (jeg har tidligere haft en Powerbook, som en indbrudstyv dog mente at han hellere ville have).

Og jeg er nået frem til at jeg bare har det bedst når jeg arbejder med en Mac, tingene virker bare til at være lidt lettere at gå til. På min Windows maskine der føler jeg at jeg er mere mekaniker end bruger. En Windows maskine kan køre virkelig godt og uden de store problemer, men det kræver at man gider at sætte sig ind i de tungere vedligeholdelses rutiner der følger med det system.

På en Mac er det ikke så meget operativ systemet, der forsøger at fastholde ens fokus der er det mere den opgave man sidder med.

Så min PC er så småt ved at blive pakket sammen, og ryger så op til mine forældre, som har for vane at arve mine PC’er – lad det være sagt min far glæder sig til at modtage en Quad Core PC med 8 GB ram, hurtigt grafikkort og Windows 7 🙂

Jamen der findes da ikke mange programmer til Mac?

Hvis man ikke er diehard gamer, så er ovenstående en skrøne. Jeg har kunnet finde Mac varianter af alle de programmer jeg brugte på Windows, og mange af den er bedre end dem jeg brugte på Windows.

Derudover har jeg ikke spillet andet end World Of Warcraft siden det kom ud i Europa, og Blizzard har altid lavet Mac versioner af deres spil, så der har der ikke været noget problem (faktisk syntes jeg at det performer bedre under Mac end Windows men det er nok noget med OpenGL vs DirectX….).

OK hvilke programmer bruger du så?

En kort liste over nogle af de programmer jeg bruger hver dag.

  • AdiumX Uden sammenligning det bedste chat program der findes.
  • Textmate Dejligt tekst værktøj erstatter uden problemer ultraedit på windows
  • Toast brænder program er brænder alt.
  • 1password password manager, hvor master programmet desværre kun findes til Mac, men man kan godt læse passwordfilerne på en Windows PC.
  • Dropbox online storage hvor data bliver synkroniseret mellem de PC’er man bruger (Mac, Linux eller Windows) – fungere genialt sammen med 1password.
  • Iwork 09 simpel office pakke, som kan de bassale ting.
  • The Hit List Genialt opgave styrings program til at holde styr på arbejdsopgaver.
  • plus en masse andre programmer – jeg laver måske en liste over nyttige mac programmer senere.

Jamen kommer du ikke til at savne Windows?

Næppe, men jeg forlader da heller ikke Windows helt. På mit arbejde bruger jeg Windows 7 dagen lang, og jeg afvikler Plone (Zope/Python baseret CMS) på Windows 2008 servere. Og skulle lysten komme over mig, jamen, så kan man da altid køre Windows på en partition på Windows eller blot virtualiseret i Fuzion, Parallels eller Virtualbox.

Valget ved at gå over til Mac som primært OS er ikke ensbetydende med at man opgiver alt andet. Jeg vil stadig rode med Linux servere, Windows Desktops og servere, men når jeg er hjemme og selv bestemmer, ja så er det altså Mac fremover.

Iphone 3.0

Der er flere af de nye features der er med i den nye Iphone software update, som jeg ikke havde savnet voldsomt i 2.2.1, men som nu virker meget logiske og nødvendige.

MMS

Jeg har ikke været den store bruger af MMS tidligere, men det kan da være at når nu også min Iphone kan det…

Copy’n’paste

Igen heller ikke noget jeg har savnet vildt meget, men nu hvor det jo er en “smartphone” så kan man jo flytte flere opgaver over på den og så er det jo nødvendigt at kunne flytte ting fra en app til en anden.

Landscape mode

Endelig kan man i de fleste programmer nu aktivere landscape mode, så man mere kan bruge bredden på siden i stedet for kun højden.

Der er kommet mange flere ting, men disse var lige dem jeg ville fremhæve.

Venter på Iphone 3.0

Så kom dagen endelig hvor Iphone endelig får copy’n’paste 🙂 Men Apple er lidt sløve med at give den fri til download

Ja og MMS, men jeg fandt da ud af i perioden uden MMS at der faktisk ikke er mange i min omgangskreds der sender MMS til mig (eller også spiser Sonofons MMS->mail dem bare).

(UPDATE)

Så kom den og damn det er nice med den opdatering