Skip to content
Al 33 jaar doordacht, gedetailleerd verslag van alles over Apple
en het TidBITS Content Network voor Apple professionals

Vorige aflevering | TidBITS Nederlands | Volgende aflevering




1672: De verborgen krachten van Google Sheets, Launchpad gebruikcijfers, SOS-noodoproep via satelliet bij de branden op Maui, gebruik jij proxy-pictogrammen?

Het is makkelijk om spreadsheets als vanzelfsprekend te beschouwen maar zoals Adam Engst schrijft, kunnen moderne spreadsheets veel meer dan alleen berekeningen uitvoeren. Ter illustratie legt hij uit hoe hij een budgetteringshulpmiddel in Google Sheets heeft gebouwd dat gegevens uit zware boekhoudrapporten haalt om ze leesbaarder en begrijpelijker te maken. Apple’s noodoproep via satellietfunctie van iPhone 14 is in het nieuws nadat het een cruciale rol heeft gespeeld bij het redden van levens tijdens de branden op Maui. In onze “Gebruik jij dit?”-peiling van deze week rapporteert Adam over het gebruik van Launchpad door ervaren Mac-gebruikers voordat hij vraagt hoe vaak je proxy-pictogrammen gebruikt. We kijken ook kort naar storingen met draagbare SSD's van SanDisk en CNET dat artikelen verwijdert om SEO-redenen. Opvallende nieuwe Mac-programma's deze week zijn Mactracker 7.12.7 en Cyberduck 8.6.3.

Artikelen
 

De Nederlandse editie van TidBITS is een letterlijke vertaling van de oorspronkelijke Engelse versie. Daarom is het mogelijk dat een deel van de inhoud niet geldt in bepaalde landen buiten de VS.


Dit nummer werd uit het Engels vertaald door:
• Paul Bánsági
• Henk Verhaar
• Thierry Kumps
• Joek Roex
• Nico Seine
• Jos van den Berg
• Dirk Paul Flach
• Johan Olie

Verder werkten mee:
• Coördinatie: Renate Wesselingh
• Montage: Elmar Düren
• Eindredactie: Renate Wesselingh, Sander Lam & Elmar Düren

Hoe je ons kunt bereiken kun je lezen op <de contactpagina>


Adam Engst 3 reacties (Engelstalig)

SOS-noodoproep via satelliet redt levens tijdens de natuurbranden op Maui

[vertaling: HV]


Op de dienst die ooit Twitter heette schreef Michael J. Miraflor:

De neef van de vriendin van mijn broer, en haar familie, vonden zich in hun auto ingesloten door vuur toen de natuurbranden op Maui ineens uitbrak.

Er was geen GSM-verbinding meer mogelijk, en Apples SOS-noodoproep was de enige manier waarop ze in contact konden komen met reddingsdiensten. Dat was letterlijk hun redding.

Ik moet er niet aan denken wat voor een hel deze 34 minuten moeten zijn geweest. SOS-noodoproep is bijna magie (zie “SOS-noodmelding en 'Zoek mijn' via satelliet getest,” 21 november 2022) maar hoewel de iPhone je stap voor stap door het proces voert, is het nog wat anders om dat voor elkaar te krijgen terwijl je opgesloten zit in een busje, met overal om je heen het vuur. Goed voor een hartverzakking. Twee opmerkingen:

  • De personen die voor de gebruiker van de iPhone zijn aangemerkt als contact in geval van nood moeten zowel geschrokken als opgelucht zijn geweest na het ontvangen van deze chat - ik neem aan toen een en ander al voorbij was.
  • Zeker voor jongere personen zal de respons van de noodtelefonist, in hoofdletters, wellicht ook verontrustend zijn geweest.

Maar evengoed alle lof voor Apple, voor het ontwikkelen van SOS-noodoproep via satelliet, voor de iPhone 14-gebruiker die onder grote druk het hoofd koel hield, voor de noodtelefonisten en voor de brandweer die de feitelijke redding uitvoerde.

Ik hoop dat dit soort verhalen Apple er van overtuigt om de functie SOS-noodoproep via satelliet op de een of andere manier een 'achteraf-betalen' dienst maken na de gratis introductie-periode van 2 jaar. Ik denk namelijk niet men zich er van tevoren op abonneert, er vanuit gaande dat ze in een natuurbrand terechtkomen in een historische kustplaats op Hawaii.

SOS-noodoproep via satellietconversatie tijdens de natuurbranden op Maui


Adam Engst 4 reacties (Engelstalig)

Gebruik jij dit? Launchpad is geen competitie voor ervaren Mac-gebruikers

[vertaling: PAB, TK]


In ons introductie-artikel “Introductie van "Gebruik jij dit?”-peilingen ” (28 juli 2023) vroegen we hoe vaak je Launchpad gebruikt, een op rasters gebaseerde app-starter die de startschermervaring van iOS (die op zijn beurt beïnvloed kan zijn door Apple's At Ease uit het begin van de jaren negentig) naar de Mac brengt. Apple levert de Launchpad-app mee met macOS, plaatst hem op de tweede positie in het standaard Dock en maakt het gemakkelijk om hem aan te roepen met een sneltoets op het toetsenbord of een trackpad-beweging.

Launchpad is niet nieuw op de Mac, aangezien het al werd geïntroduceerd in OS X 10.7 Lion in 2011. De bedoeling van Apple was waarschijnlijk om een vertrouwde gebruikerservaring te bieden voor gebruikers die van de iPhone of iPad naar de Mac komen. De resultaten van onze peiling suggereren dat de meeste TidBITS-lezers - vooral ervaren Mac-gebruikers - Launchpad grotendeels negeren: 70% van de ruim 800 respondenten in onze peiling zegt Launchpad nooit te gebruiken. Maar aangezien Apple regelmatig suggereert dat ongeveer de helft van de Mac-aankopen wordt gedaan door mensen die nieuw zijn op het platform, zijn de lezers van TidBITS waarschijnlijk niet representatief.

Gebruik jij het? Resultaten Launchpad-peiling

Van de overige 30% zei slechts 7% dat ze het dagelijks gebruikten, en de overige 23% viel in de categorie vaak of af en toe. Ik was opzettelijk vaag bij het labelen van deze frequenties maar mijn algemene gedachte was:

  • Dagelijks Als je een functie elke dag gebruikt, is het iets dat in je werkgewoonten is ingebouwd. Dat kan betekenen dat je het honderden keren per dag gebruikt, of slechts enkele keren, hoe dan ook, het is een vast iets in je technische leven.
  • Vaak: Ik wilde mensen niet vragen om hun gebruik specifieker te categoriseren, omdat weinig mensen waarschijnlijk weten of ze iets als Launchpad een, twee of drie keer per week gebruiken. "Vaak" komt tegemoet aan het gevoel van "Ik gebruik Launchpad niet elke dag maar het is niet ongebruikelijk voor mij om het te openen."
  • Soms: Deze optie was er voor wie Launchpad af en toe gebruikt op een manier die niet voor de hand ligt - sommigen gebruiken het op deze manier voor het verwijderen van programma's uit de Mac App Store (hieronder beschreven).

Als je Launchpad eens wilt proberen, of als de standaard toetscombinatie of trackpad-beweging je in de weg zit, kun je deze in macOS 13 Ventura instellen via Systeeminstellingen > Toetsenbord > Toetscombinaties > Launchpad & Dock en Systeeminstellingen > Trackpad > Meer gebaren. (De geneste locaties in Systeemvoorkeuren in macOS 12 Monterey en eerder zijn vergelijkbaar.)

Launchpad-instellingen en Dock-pictogram

Het gebruik is eenvoudig zodra Launchpad actief is. Klik op een pictogram om de bijbehorende app te starten. Typ een paar tekens - je hoeft niet eerst in het zoekveld te klikken - om de getoonde pictogrammen te filteren. Sleep een pictogram om het te herschikken. Sleep een pictogram naar een ander om een map te maken die beide bevat en sleep vervolgens andere pictogrammen erin of eruit. Klik op een map om deze te openen. Druk op de optietoets of klik en houd een pictogram vast om de wiebelmodus te openen en verschillende pictogrammen te herschikken of een Mac App Store-programma te verwijderen door op het X-embleem te klikken. Klik zo nodig op de achtergrond om de wiebelmodus te verlaten.

Launchpad-scherm

Omdat de bestaansreden van Launchpad het lanceren van apps is, noemden de meesten die uitlegden waarom ze het niet gebruikten een andere methode om snel apps te lanceren, waaronder:

Een van de problemen met Launchpad, net als het beginscherm van iOS, is dat het standaard slechts 35 items toont, in 5 rijen bij 7 kolommen. Als je meer dan 35 apps in je map Programma's hebt staan, voegt Launchpad extra schermen toe. Apple heeft misschien voor deze rastergrootte gekozen om ervoor te zorgen dat de pictogrammen en namen zelfs op kleinere MacBook-schermen leesbaar zijn maar het zou mooi zijn om te denken dat de programmeurs de rastergrootte hebben gebaseerd op onderzoek naar de cognitieve belasting van het verwerken van een raster met items.

Hoe dan ook, de meningen lopen uiteen over de vraag of Launchpad meer of minder nuttig zou zijn, afhankelijk van het aantal apps in je map Programma's (die allemaal verschijnen). Er zijn twee manieren om het aantal schermen te verminderen, omdat Launchpad de Appbibliotheek-functie van iOS en iPadOS niet heeft (zie “De Appbibliotheek van iOS 14: De FAQ”, 9 september 2020):

  • Mappen aanmaken: Zoals hiervoor vermeld, kun je mappen aanmaken met verschillende apps maar de organisatie ervan kan saai zijn, net als in iOS en iPadOS. Als je er toch moeite voor doet, kijk dan eens naar het script van Laine Lee om een back-up te maken van je configuratie.
  • Raster aanpassen: Voer de onderstaande commando's in Terminal in om bijvoorbeeld de rastergrootte te wijzigen in 10 bij 7. Om terug te keren naar de standaardgrootte, herhaal het commando zonder -int # op het eind om de standaardgrootte weer in te stellen. Met dank aan David C. voor de tip!
    defaults write com.apple.dock springboard-columns -int 10
    defaults write com.apple.dock springboard-rows -int 7
    killall Dock

Ik zou graag willen weten welk percentage van de gebruikers die van de iPhone naar de Mac komen, Launchpad als de standaard manier zien om programma's te starten maar ik zie geen manier om dat aantal te bepalen.


Adam Engst 8 reacties (Engelstalig)

Ontdek de verborgen krachten van Google Sheets

[vertaling: JR, NS, JWB, DPF, HV, JO]


Ik ben nooit een grote fan van spreadsheets geweest. Als schrijver heb ik mijn leven tussen tekstverwerkers en opmaakprogramma’s doorgebracht. Natuurlijk weet ik wel hoe je spreadsheets moet gebruiken en ben ik ook een groot voorstander van het maken van een eenvoudige spreadsheet voor berekeningen die mogelijk aangepast of bijgewerkt moeten worden. Tot voor kort kwam het voor dat ik maandenlang geen spreadsheet opende. Mijn negeren is gedeeltelijk te wijten aan de mensen in mijn naaste omgeving die spreadsheets als opmaakprogramma’s gebruiken omdat ze niet de middelen of handigheid bezitten om hetzelfde bestand met desktoppublishingsoftware te produceren. Dit is verleidelijk, want je kunt tekst waar dan ook op de “pagina” plaatsen door de juiste cellen te vullen. Het zal een enkele keer goed gaan, maar als je Excel gebruikt als schroevendraaier om een spijker in de opmaakmuur te slaan, zal het uiteindelijk fout aflopen.

Ik ben in de afgelopen twee jaar echter van gedachten veranderd. Wat bleek: ik had gewoon het juiste project nodig om mijn verborgen spreadsheetkennis te kunnen spuien. Ik hoop dat het hoogst individuele verhaal van mijn groei van iemand die zelden verder ging dan SOM en GEMIDDELDE naar iemand die de wonderen van zoeken in meerdere spreadsheets tegelijk heeft ontdekt, je ideeën zal geven over hoe je beter gebruik kunt maken van het opmerkelijke gereedschap dat de moderne spreadsheet geworden is.

Nu we het toch over gereedschap hebben: hoewel ik denk dat het mogelijk is om mijn inspanning ook in Numbers van Apple of Microsoft Excel te leveren, heb ik ervoor gekozen om in Google Spreadsheets te werken. Niet omdat het noodzakerlijkerwijs de meest krachtige spreadsheet-app is (ik heb geen idee hoe ze zich tot elkaar verhouden), maar door de geweldige eigenschap dat mijn spreadsheets altijd zonder veel gedoe voor meerdere personen toegankelijk zijn. Om dezelfde reden schrijf ik tegenwoordig doorgaans in Google Documenten. Ik vind het ook handig dat ik mijn onlinebestanden op mijn andere apparaten kan openen.

Ontwerpen van een begrotingstool

In 2020 werd ik voorzitter van de Finger Lakes Runners Club (FLRC) en was ik meteen door de pandemie gedwongen om alle wedstrijden na februari te annuleren, waardoor de financiële administratie behoorlijk overhoop kwam te liggen. Onze toenmalige penningmeester moest, gebaseerd op nattevingerwerk, eind 2020 een begroting voor 2021 opmaken en gedurende het jaar bijwerken, omdat sommige wedstrijden wel weer doorgingen en andere niet. De penningmeester trok zich dat jaar terug en ik overtuigde mijn vriend Charlie om de rol op zich te nemen. Onze eerste taak was om een begroting voor 2022 op te stellen. De aanpak van de vorige penningmeester bleek na inspectie een eenvoudige spreadsheet waarmee niet meer gedaan werd dan het toevoegen van handmatig ingevoerde getallen. Ik heb een hekel aan het overtypen van getallen (daar zijn computers voor!), dus ging ik op zoek naar betere benaderingen.

Mijn eerste vraag ging over het doel van de begroting. FLRC organiseert ieder jaar ongeveer 20 wedstrijden, we verwachten dat de meeste iets van winst zullen opleveren of in ieder geval kostendekkend zullen zijn en dat twee grote wedstrijden het merendeel van de clubinkomsten voor activiteiten, goede doelen en spaargelden genereren. Ik kwam erachter dat we ons niet druk hoefden te maken over hoeveel de wedstrijdleiders precies uitgaven, zolang ze maar binnen de marges van een redelijk resultaat voor de club als geheel bleven. In het verleden waren er wel eens problemen ontstaan omdat een ondoordacht plan van een wedstrijdleider tot aanzienlijke verliezen geleid had. Ik wilde dat onze begroting voor vangrails zou zorgen waar wedstrijdleiders tussen konden blijven als ze een ongebruikelijke uitgave overwogen.

In eerste instantie dacht ik dat QuickBooks Online, door de club gebruikt voor de boekhouding, begrotingsontwerpen op zou kunnen stellen. Dat is inderdaad mogelijk, maar ik ben er om twee redenen niet aan begonnen. Ten eerste biedt de interface geen duidelijke historische informatie om onze begrotingsraming voor het volgende jaar te onderbouwen. Vervolgens zouden we de begroting wel op een aantal manieren kunnen exporteren, maar dat zouden we moeten blijven herhalen zodat wedstrijdleiders na konden gaan hoe hun wedstrijden ervoor stonden iedere keer dat we inkomsten en uitgaven invoerden. Zodoende richtte ik me op Google Spreadsheets: ik wilde dat iedere wedstrijdleider de begroting voor hun wedstrijd en de bijbehorende actuele cijfers kon zien door slechts één koppeling aan te klikken.

Het belangrijkste rapport om de huidige cijfers van een wedstrijd duidelijk te maken is het activiteitenverslag in QuickBooks Online. Iedere wedstrijd is een klasse die na exporteren in een kolom omgezet wordt en elke rij is een grootboekrekening (inschrijvingen, prijzen, timing, etc.) uit ons rekeningschema. De gegevens worden in mooie tabellen gepresenteerd, maar ze zijn in geen enkel formaat makkelijk te lezen omdat je, als gevolg van het aantal wedstrijden en rekeningen, horizontaal en verticaal moet scrollen. Verder wilde ik iedere wedstrijd apart laten zien, want het heeft geen zin aan wedstrijdleiders te vragen om hun wedstrijdgegevens uit een enorme pdf of spreadsheet te distilleren.

Voorbeeld van een activiteitenverslag

Toen kreeg ik mijn volgende openbaring. Ik ben dan wel geen spreadsheetkenner of programmeur, maar ik begrijp abstractie. Bij het programmeren gebruik je variabelen om het hard coderen van gegevens te vermijden -mijnVariabele verandert op basis van wat je erin stopt. In spreadsheets gebruik je celverwijzingen om de inhoud van cel C32 of kolom M te bewerken. Sterker nog, een spreadsheet kan meerdere interne bladen hebben en je kunt naar reeksen cellen in het ene blad verwijzen vanuit een ander blad.

Plotseling kon ik de architectuur visualiseren van de spreadsheet die ik moest bouwen. Ik zou een activiteitenoverzicht hebben in één blad, rechtstreeks geïmporteerd uit QuickBooks Online, en dan zou ik een apart blad hebben voor elke race die zijn gegevens uit het activiteitenoverzicht zou halen. Nog beter, ik zou een activiteitenoverzicht importeren voor elk jaar tot 2016, zodat elke race ook kolommen met historische gegevens voor die jaren zou kunnen weergeven. Die historische gegevens zouden als informatiebron dienen voor het lopende budgetteringsproces, zodat Charlie en ik naar voorgaande jaren konden kijken (en naar een algemeen gemiddelde) terwijl we de inkomsten en uitgaven van het volgende jaar probeerden te voorspellen.

Voorbeeld van een budget-spreadsheet

De magische formule bouwen

Het lastige deel was het implementeren van mijn visie. Ik wist dat het mogelijk was om gegevens op te zoeken in het ene blad en ze weer te geven in een ander blad, maar ik wist niet hoe. Ik kwam al snel met een hard gecodeerd proof-of-concept, wat goed was, want het kostte me veel meer tijd om uit te vinden hoe ik het kon abstraheren. Uiteindelijk, met veel zoeken op het web en het bestuderen van voorbeelden, plus uitstapjes naar Help > Lijst met Google Spreadsheets-functies om te zien waar Google Spreadsheets toe in staat is, kwam ik uit op deze formule.

=ISFOUT(HORIZ.ZOEKEN($A$ 2,INDIRECT("'"&E$ 4&" Overall'!$A$ 5:$X$ 250"), Utility!$A5, FALSE))

Het zal wat tijd kosten om het uit te leggen, maar hier gebeurt de magie:

  • ISFOUT: Door de hele formule in een ISFOUT-functie te verpakken, wordt een lege cel weergegeven in plaats van een fout zoals #N/A wanneer de rest van de formule mislukt, meestal omdat er geen gegevens zijn voor één van de lang vervlogen jaren.
  • HORIZ.ZOEKEN: De HORIZ.ZOEKEN-functie doet het grootste deel van het werk, door in een celbereik naar een zoeksleutel te zoeken en de waarde van de cel in de kolom waar hij de sleutel tegenkomt te geven. Het goed configureren daarvan kostte de meeste tijd.
  • $A$2: De eerste taak was het specificeren van de zoeksleutel voor HORIZ.ZOEKEN. Omdat mijn doel was de informatie voor een bepaalde race op te zoeken, had ik in eerste instantie de racenaam hard gecodeerd op deze plek, zodat HORIZ.ZOEKEN deze kon vinden in de jaarlijkse overzichten van activiteiten. Dat werkte, maar zou me hebben gedwongen om de formule op elk wedstrijdblad aan te passen. Te doen, maar veel gedoe en kwetsbaar. In plaats daarvan heb ik een soort variabele gemaakt door de racenaam in cel A2 te zetten en de absolute referentie $A$2 te gebruiken om het op te zoeken. ($-tekens zorgen ervoor dat de opgegeven kolom en rij niet veranderen wanneer de formule naar andere cellen wordt gekopieerd.) Wanneer ik een nieuw blad voor een race wilde maken, hoefde ik alleen maar de nieuwe racenaam in die cel te zetten om de formule in staat te stellen de juiste gegevens op te zoeken.
  • INDIRECT: Het volgende dat HORIZ.ZOEKEN nodig had was het bereik waarin gezocht moest worden. Ik kon een exact bereik invoeren als 2023 Overall!A5:X250 om de benodigde gegevens van het huidige jaar op te zoeken, maar dat abstracter maken (lees, omzetten naar een in te voeren jaar) was lastig. (Ik moest met A5 beginnen en niet met A1 omdat de eerste vier rijen samengevoegde regels zijn vanuit een export uit QuickBooks Online, en daarom leverde beginnen met A1  een fout op.) De functie INDIRECT bleek te zijn wat ik nodig had, omdat die een referentie naar een cel opleverde die in tekst gegeven kon worden. Het opbouwen van dit tekstdeel kostte me echter de nodige tijd omdat dit heel precies moest zijn.
  • "'"&E$ 4&" Overall'!$A$ 5:$X$ 250": Elke kolom uit het verleden moest gegevens ophalen uit het werkblad van het bijbehorende jaar, maar ik wilde de jaren niet in de code zelf intikken. Mijn oplossing was om '"&E$ 4&" Overall' te gebruiken om het jaar op te halen uit cel E4 en het te combineren met het woord Overall om naar het juiste werkblad te verwijzen. Omdat E relatief was (dus niet voorafgegaan werd door $) werd met het kopiëren van de formule naar andere kolommen het jaar steeds uit rij 4 opgehaald (de rij was absoluut, want die werd wel voorafgegaan door $). Het specificeren van het absolute bereik !$A$ 5:$X$ 250 was eenvoudig. Het moeilijkste deel was uitvogelen wat de juiste combinatie van enkele en dubbele aanhalingstekens was en op welke plaats de & (voor het samenvoegen van tekstdelen) moest komen te staan. Dat kostte me waarschijnlijk een uur aan uitproberen; ik begrijp nu waarom het werkt, maar dat begrip ontstond pas toen het echt werkte. Ik steel schaamteloos van voorbeelden, en in één van die voorbeelden moet ik de juiste benadering gezien hebben.
  • Utility!$A5: Wat staat er in dit 'Utility'-werkblad? Het bevat een enkele kolom met getallen, waarbij 1 in A1 staat, 2 in A2, enzovoort, tot en met 250 in A250. Dit is nodig omdat HORIZ.ZOEKEN ergens een index nodig heeft, het rijnummer van de waarde die teruggegeven moet worden, en ik heb geen andere manier kunnen bedenken om het getal op te laten lopen zonder naar de inhoud van een cel te refereren. Verwarrend blijft dat de index moet beginnen met rij 5 omdat het zoekbereik A5:X250 is. De index voor rij 5 moet dus 1 zijn, 6 moet 2 zijn, enzovoort. Dit was echt wel een uitdaging voor mijn hoofd, en om eerlijk te zijn heb ik dit echt met trial en error gedaan totdat het klopte. De $ voor de A zorgt er voor dat het zoeken in die kolom blijft. De afwezigheid van een dollarteken voor 5 maakt het relatief, zodat het getal kan oplopen zoals nodig.
  • FALSE: Als laatste specificeert de FALSE-optie voor HORIZ.ZOEKEN dat de rij waarin gezocht wordt niet gesorteerd is. Ik ben er niet helemaal zeker van wat dat precies betekent, maar omdat mijn gegevens niet gesorteerd zijn, heb ik het gewoon zo gedaan.

De schoonheid van deze formule zit hem in het feit dat alle gegevens die ik nodig heb in één keer opgehaald worden. Ik maak eerst een werkblad aan met de naam van de wedstrijd in A2 en kolommen voor 2016 tot en met 2023. Vervolgens plaats ik de formule in de eerste cel onder 2023 en kopiëer ik hem naar rechts om de eerste rij voor ieder jaar te vullen, en als laatste kopiëeer ik hem naar beneden om de rest van de rijen te vullen.

(Voor die mensen die niet veel doen met spreadsheets: er is altijd een truc voor het kopiëren van een formule - zowel in Google Sheets als Excel versleep je het blokje in de rechterbenedenhoek van een cel, en in Numbers versleep je een geel rondje aan de gewenste kant van de cel. Dan wordt de formule naar de gewenste cellen gekopiëerd, waarbij de verwijzingen naar rijen en kolommen worden opgehoogd als je die relatief hebt gemaakt. Als je de verwijzingen niet wil ophogen, moet je de rij- en kolomverwijzing dus door een dollarteken vooraf laten gaan, of de tekst van de formule kopiëren en plakken in plaats van de cel die de formule bevat.)

De gegevens filteren en formatteren

Als je goed gekeken hebt naar de schermafbeelding met de activiteiten eerder in dit artikel, is het je wellicht opgevallen dat veel posten (accounts) voorafgegaan worden door (deleted) of zelfs (deleting)(deleted). Dit zijn restverschijnselen van een dingetje met QuickBooks Online waar ik een snelle oplossing voor nodig had. Ik zal uitleggen waarom.

Onze postenlijst blijft nooit lang constant, en er zijn veel mensen van de vereniging geweest die posten hebben verwijderd en toegevoegd. Een aantal daarvan zijn ongebruikt sinds 2016, het eerste jaar dat ik opneem in de budgettool. Maar als je terugkijkt naar mijn magische formule, dan zie je dat die werkt door celverwijzingen te gebruiken. De post 'Food' moet derhalve altijd in rij 87 staan in het 'Overall'-werkblad van elk jaar. Een standaard QuickBooks Online-vermelding van activiteiten laat alleen rijen met actieve posten zien, maar als ik zo'n rapport aanmaak, kan ik niet voorspellen in welke rij 'Food' zal eindigen in welk jaar.

Gelukkig is er een optie in QuickBooks Online om alle accounts in rapporten te tonen, en als ik die functie gebruik zet het activiteitenrapport elke categorie altijd op dezelfde regel. Dat werkt omdat QuickBooks Online nooit een account verwijdert, ze worden alleen als zodanig gemarkeerd en vervolgens verborgen.

Al die onnodige regels die mijn ruwe gegevens vervuilen zorgen echter wel voor andere problemen. De meeste wedstrijden die we organiseren hebben in slechts 10-20 accounts activiteiten, maar de activiteitenrapporten hebben maar liefst 204 regels. Dat is een fors presentatieprobleem.

Waarom zijn er dan zoveel accounts? Eerder dit jaar realiseerden we ons dat we meer dan 800 dollar per jaar konden besparen door te switchen van een normaal QuickBooks Online-account naar een account via TechSoup, dat technologie met korting levert aan non-profitorganisaties. Ik had weleens van TechSoup gehoord omdat Jeff Porten er jaren geleden eens voor TidBITS over schreef (zie “TechSoup: grote kortingen op technologie voor je non-profitorganisatie”, 18 oktober 2018), maar ik wist niet dat ze een QuickBooks Online-abonnement van 75 dollar per jaar in de aanbieding hadden. Om ons QuickBooks Online-abonnement om te zetten naar een TechSoup-account moesten we wel een nieuw 'bedrijf' opzetten, onze gegevens overzetten en vervolgens het vorige abonnement opzeggen. Dat was ingewikkeld en belastend, en we hadden de hulp van de Intuit-ondersteuning nodig om de beloofde teruggaves te krijgen, maar uiteindelijk is het gelukt.

Probleem was wel dat als je een nieuw QuickBooks Online-bedrijf aanmaakt je een standaardlijst van accounts krijgt, zelfs als je meteen gegevens uit een back-up importeert. Al die standaard-accounts werden vervolgens gemarkeerd als verwijderd, waardoor je blijft zitten met een hele stapel verwijderde accounts in je activiteitenrapporten. Mijn bedoeling was om al die accounts permanent kwijt te raken, omdat ze toch altijd inactief waren, maar de enige optie die ik kon vinden was om ze samen te voegen. In theorie had ik ze allemaal kunnen samenvoegen tot één enkel account dat als verwijderd aangemerkt zou zijn, maar in de praktijk bleek dat een onhandig en foutgevoelig proces dat meestal niet werkte. Ik besloot er dus maar mee te stoppen en genoegen te nemen met lelijke activiteitenrapporten.

In een vorige versie van de Budget Tool bewerkte ik elke race handmatig, waarbij ik alle regels zonder relevante gegevens verborg, maar dit was een langdradig proces en leverde verwarring op als een race activiteit opleverde in een niet eerder gebruikt account dat ik had verborgen. Toen ik de Budget Tool opnieuw configureerde om al die extra verborgen regels van de standaard-accounts van QuickBooks Online te verwerken verzon ik een betere aanpak.

Google Sheets heeft een filter-functie waarmee je rijen kan tonen of verbergen. Ik creëerde een kolom Totaal waarin alle getallen van elk jaar van 2016 tot en met 2023 worden opgeteld. De feitelijke uitkomst is niet belangrijk, maar ik kon nu wel op die kolom filteren (kies Data > Create Filter) zodanig dat alleen rijen met een Totaal dat niet nul is getoond worden. Et voilà! Alle onnodige rijen verborgen.

Filter-interface in Google Sheets

Er is nog wel één schoonheidsfoutje. Al mijn rekenbladen hebben kopregels voor Inkomsten en Uitgaven. De kop Inkomsten bevindt zich boven alle gegevens en is derhalve veilig voor het filter, maar omdat Uitgaven midden in het blad staat en geen gegevens bevat verbergt het filter hem. Om hem toch te tonen plaatste ik een '1' in een van zijn kolommen om hem zichtbaar te houden. Maar wellicht is er een betere oplossing.

Verder kun je zien dat naast de blauwe kopregels Inkomsten en Uitgaven ik grijze rijen Totaal inkomsten en Totaal uitgaven heb, en een zwarte rij Netto inkomsten. Om het rekenblad leesbaarder te maken wil ik die anders geformatteerd hebben. Oorspronkelijk deed ik dat met de hand, voor elk rekenblad, wat een hoop werk is, maar niet zo ingewikkeld als het wellicht lijkt, door Google Sheets' commando Edit > Paste Special > Format Only. Daarmee kon ik elke cel met de juiste formattering kopiëren, om daarna hele rijen te selecteren en commando-optie-V te kiezen om alleen de formattering in die rij te plakken.

Toch vond ik, zoekende naar een algemenere methode, een betere manier. Google Sheets heeft een voorwaardelijke formatteringsfunctie, waarmee je een reeks cellen kunt formatteren op basis van een formule. Die functie gebruik ik al jaren om negatieve getallen rood te maken, maar ik realiseerde me dat ik ook regels kan maken om mijn speciale rijen te formatteren. Eén tip: als je Format > Conditional Formatting kiest zie je alleen de regels die gelden voor de geselecteerde cellen. Dus als je dat commando kiest en er niets verschijnt, selecteer dan een cel waarvan je weet dat die in de betreffende reeks zit.

Interface voor voorwaardelijk formatteren in Google Sheets

De truc om dit voor elkaar te krijgen zat hem in de formule: =REGEXMATCH($A2:$A210,"Netto inkomsten"). REGEXMATCH een regular expression (grep)-functie die tekst zoekt binnen een reeks. Net als met zoveel andere aspecten van dit project kostte het wat experimenteerwerk om het aan de praat te krijgen. Ik weet niet precies waarom voor sommige regels vreemde reeksen nodig bleken. De getoonde kon ik zonder problemen wijzigen naar het simpelere A4:N211.

Nadat ik dit had gedaan maakte ik een aantal extra kolommen, die Charlie en ik konden gebruiken voor onze budget-berekeningen: de oranje kolommen in de schermafbeelding. Ze zijn gebaseerd op simpele berekeningen die de inkomsten en uitgaven optellen en vervolgens de netto opbrengst berekenen. De kolom met opmerkingen helpt ons herinneren hoe we aan de schatting voor een bepaald getal kwamen. Af en toe maak ik ook een kladkolom om te zien wat verschillende schattingen voor consequenties hebben voor een race, gewoon een extra oranje kolom met dezelfde berekeningen als het feitelijke budget.

Ik heb geprobeerd om verborgen rijen en opmaak te abstraheren, omdat in alle wedstrijden samen gebruikt gemaakt wordt van 22 verschillende excel-sheets (Standaard en Totaal). Als ik besluit om ergens iets te veranderen, dan moet ik datzelfde 22 keer doorvoeren, wat een enorm gedoe is. Tijdens mijn laatste grote revisie heb ik verborgen rijen en de opmaak ook geabstraheerd, en daarbij moest ik ook elk werkblad opnieuw aanmaken. Dat was op dat moment nog tamelijk gemakkelijk: ik dupliceerde er één, veranderde de weergave-naam en de naam van de race in A2 en ververste het filter. Maar als ik dat eenmaal gedaan heb moet ik nog steeds alle veranderingen 22 keer doorvoeren. Zo zal ik voor ieder werkblad voor volgend jaar een kolom met de naam 2024 moeten toevoegen. In de ideale wereld zouden abstractie-kenmerken eenvoudig toegepast worden op ieder ingesloten werkblad in een Excel-document. Misschien is het wel mogelijk, maar heb ik alleen nog niet ontdekt hoe!

Dagelijks gebruik

Ik wil afsluiten met een paar opmerkingen over de manier waarop wij onze Budget Tool in de praktijk gebruiken.

Eerst voert onze boekhouder alles voor de komende maand in QuickBooks Online in, en dan draaien we een activiteitenrapport uit met daarin alle rijen. Deze exporteren we naar Excel. Het is wel mogelijk dit onmiddellijk in Google Sheets in te voeren, en daarmee de inhoud van een bepaald werkblad te overschrijven, maar ik vind het zelf handiger om de export uit QuickBooks eerst in Excel te openen. Vervolgens kopieer ik de gegevens, en schakel over naar Google Sheets. Daar plak ik het in het werkblad dat bij het betreffende jaar hoort.

(Bestaat er een online-integratiemogelijkheid om gegevens automatisch van QuickBooks Online naar Google Sheets te converteren? De oplossing die er het dichtst bij komt vond ik in Skyvia, maar uitgever Intuit biedt niet de nodige API-toegang tot rapporten.)

Nu de nieuwe gegevens in Google Sheets staan, vindt onmiddellijk een update van werkelijk alle gegevens plaats. Nu kunnen we de werkbladen doorlopen en bekijken hoe het met elke wedstrijd is gesteld. Als bepaalde aantallen enorm verschillen van onze inschattingen, dan proberen we er achter te komen hoe dat komt. (Meestal gaat het om een verkeerd gebruikte categorie).

Het enige probleem dat we zijn tegengekomen is dat een race gegevens kan opleveren in een account dat nog niet in gebruik is. Dan moet ik het filter verversen door alles te selecteren en dan de 0 opnieuw te deselecteren. En dit is tot nu toe maar één keer voorgekomen.

Ik wil nog een trucje van Google Sheets met jullie delen, en dat heeft te maken met hoe we gegevens delen met onze wedstrijdleiders. Als je de blauwe Deel-knop helemaal rechtsboven in Google Sheets aanklikt, verwijst de koppeling naar het eerste werkblad, in ons geval Total. Op zich geen slecht begin, maar een directe koppeling naar een race-werkblad zou nog beter zijn. Om dat voor elkaar te krijgen control-klik ik op cel A1 voor een bepaald werkblad. Vervolgens kies ik "View More Cell Actions > Get Link To This Cell" onderaan. Nu wordt een passende koppeling naar het klembord gekopieerd, die je daarna kunt delen.

Je vraagt je misschien af of ik bang ben dat iemand per ongeluk (of met opzet) delen van mijn zorgvuldig samengestelde werkbladen en formules zal veranderen of zelfs verwijderen. In mijn ervaring hebben de meeste mensen zoveel ontzag voor de documenten waar mensen samen aan werken, dat ze helemaal nergens aankomen, maar er zijn drie manieren om gedeelde Excel-bestanden te beschermen:

  • Toegang beperken: ik heb besloten de botte methode te gebruiken, en geef iedereen behalve mijzelf en Charlie niet hoger dan de rang van Commenter. Als mensen dingen willen aanpassen, dan is dat mogelijk, maar ik kan ieder verzoek daartoe accepteren of afwijzen. Die situatie heeft zich nog niet voorgedaan.
  • Werkbladen en bereik beschermen: voor veel meer en preciezere controle kan je de opties onder "Data > Protect Sheets and Ranges" gebruiken. Hier kan je exact bepalen wie wat kan doen, en met welke specifieke onderdelen van een document. Dergelijk micro-management heb ik tot nu toe niet nodig gehad.
  • Eerdere versies: Google Sheets houdt alle veranderingen bij in een complete versiegeschiedenis. Je kunt eenvoudig terugkeren naar een eerdere versie van een document als dat nodig is. Zelfs als iemand een paar onwenselijke aanpassingen deed, dan kan je ze eenvoudigweg terugdraaien. Het enige probleem is dat je ze misschien pas laat opmerkt en dat er daarna al weer veel correcte aanpassingen bovenop gekomen zijn.

Ik besef dat al het bovenstaande erg specifiek van toepassing is op mijn eigen project. Toch hoop ik dat je dit meeneemt: moderne spreadsheets kunnen veel meer dan alleen maar wat berekeningen uitvoeren. Misschien heb je ook wat ideeën opgedaan hoe je onze oplossingen kunt gebruiken in je eigen werk. Een rekenblad werkt niet zo heel anders dan een uitgebreide programmeer-omgeving. In feite ondersteunt Excel (of Google Sheets) macro's of scripts die veel verder gaan dan de bekende hokjes van rijen en kolommen. Een mooie reis voor een andere keer.


Volglijst

[vertaling: JWB]


Mactracker 7.12.7 Agen Schmitz Geen reacties

Mactracker 7.12.7

Ian Page heeft deze zomer een paar updates uitgebracht van Mactracker, zijn populaire encyclopedie van Apple-producten. Versie 7.12.7 maakt een ritje in de WABAC-machine en er zijn onderdelen toegevoegd voor Apples 400K External Drive, Macintosh 800K External Drive en Apple FDHD / SuperDrive. In deze uitgave is ook het fabricageproces van de processor toegevoegd aan iOS-apparaten, alsmede informatie over firmware-updates aan Studio Display (2022). Sinds juni heeft Page ook versie 7.12.6 uitgebracht om het fabricageproces van de processor toe te voegen aan PowerPC G3- en latere Mac-modellen en details over de nieuwste OS-uitgaven, en versie 7.12.5 om de nieuwste Mac Pro, Mac Studio en MacBook Air (15-inch, M2) toe te voegen. (Gratis van de Mactracker-website of de Mac App Store, 185 MB, toelichting, macOS 10.12+)

Cyberduck 8.6.3 Agen Schmitz Geen reacties

Cyberduck 8.6.3

Het team van Cyberduck heeft onlangs versie 8.6.2 van zijn open-source app voor bestandsoverdracht gepubliceerd, waarmee verbindingen kunnen worden geopend zonder een authenticatiecode te kopiëren na inloggen op Microsoft OneDrive en SharePoint. In de uitgave is ook een bug opgelost waardoor gesegmenteerde downloads met meerdere verbindingen per bestand mislukten, de compatibiliteit met Backblaze B2 verbeterd, en het tilde-voorvoegsel opgelost in het standaardpad naar de thuismap voor SFTP. Versie 8.6.3 volgde kort daarna om gebroken pijpfouten en een fout bij het configureren van inloggegevens van AWS op te lossen. Cyberduck is gratis, maar je kunt het steunen via een donatie of een aankoop van € 24,99 in de Mac App Store. (Gratis, 152,6 MB, toelichting, macOS 10.12+)


ExtraBITS

[vertaling: PAB]


Adam Engst 1 reactie (Engelstalig)

Gebruik jij dit? Proxy pictogrammen

Voor de “Gebruik jij het?”-peiling van deze week schakelen we over van de door Apple gepromote premium-functies naar een kleine functie die al jaren deel uitmaakt van de Mac-ervaring: proxy-pictogrammen, of zoals Apple ze nu noemt, "pictogrammen voor venstertitels". In veel Mac-vensters, vooral die van de Finder en documentgerichte programma's, staat een klein pictogram naast de titel van het venster. Dit wordt het proxy-pictogram genoemd en het slepen ervan naar andere programma's en locaties heeft hetzelfde effect als het slepen van een standaard Finder-pictogram. (In recente versies van macOS zorgt een standaardinstelling ervoor dat proxy-pictogrammen alleen verschijnen als je de muisaanwijzer boven de venstertitel houdt; die instelling is eenvoudig te wijzigen).

Mac proxy-pictogram

Hoe vaak gebruik je proxy-pictogrammen? Ik zal eerlijk zijn, ik vraag het als excuus om ze te promoten omdat ze je veel tijd en moeite kunnen besparen bij het werken met bestanden en mappen op de Mac. Je mag gerust antwoorden dat je nog nooit proxy-pictogrammen hebt gebruikt als je er zelfs nog nooit van hebt gehoord. Maar ik hoop dat mijn bericht over de resultaten van de enquête je aanmoedigt om ze in je werkgewoonten op te nemen.

Adam Engst 11 reacties (Engelstalig)

Defecten draagbare SSD's van SanDisk nemen toe

Op PetaPixel vat Jeremy Gray zijn verslag samen van het toenemend aantal storingen van SanDisk draagbare SSD’s met:

Voor nu moet iedereen die een draagbare SSD van SanDisk of WD gebruikt, uiterst voorzichtig zijn en ervoor zorgen dat er voldoende back-ups van hun gegevens zijn. Alle anderen moeten de voortdurende hoge kortingen negeren. Totdat PetaPixel het gevoel heeft dat de situatie is opgelost, kunnen we draagbare SSD's van SanDisk niet aanbevelen.

Ik heb geen persoonlijke ervaring met deze producten maar de meldingen komen van genoeg onafhankelijke bronnen dat ik iedereen die een draagbare SSD van SanDisk gebruikt aanmoedig om extra voorzichtig te zijn met back-ups en een vervanging te overwegen.

Adam Engst 13 reacties (Engelstalig)

CNET verwijdert duizenden oude artikelen om SEO op te krikken

Op Gizmodo schrijft Thomas Germain:

Technieuwswebsite CNET heeft de afgelopen maanden duizenden oude artikelen verwijderd in een poging zijn prestaties in de zoekresultaten van Google te verbeteren, zo heeft Gizmodo ontdekt.

Gearchiveerde kopieën van CNET's auteurspagina's laten zien dat het bedrijf kleine hoeveelheden artikelen verwijderde vóór de tweede helft van juli maar daarna nam het tempo toe. Duizenden artikelen verdwenen in de afgelopen weken. Een CNET-vertegenwoordiger bevestigde dat het bedrijf verhalen aan het verwijderen was maar weigerde te vertellen hoeveel er precies zijn verwijderd.

CNET beweert dat het verwijderen van artikelen helpt bij zoekmachineoptimalisatie (SEO), ook al raadt Google dit expliciet af. Wie moeten we geloven? Het doel van Google is om de "beste" zoekresultaten te produceren, terwijl SEO-experts ernaar streven om hun inhoud met alle mogelijke middelen in de bovenste regionen van de zoekresultaten te krijgen. Hoewel ik mijn twijfels heb over de meeste SEO-claims op basis van mijn ervaring met de sites van TidBITS en Take Control gedurende tientallen jaren, is het denkbaar dat SEO-experts een hack hebben ontdekt die werkt - tot Google zijn algoritmen aanpast als reactie. Hoe dan ook, ik keur het verwijderen van legitieme inhoud af omdat je niet kunt voorspellen welk nut het kan hebben voor de toekomst; CNET zegt tenminste dat het verwijderde verhalen naar het Internet Archive stuurt. CNET-schrijvers kunnen een account aanmaken bij Authory (zie “Authory biedt schrijvers een blijvend archief voor hun artikelen”, 24 maart 2023).



Wij leggen uit wat je weten moet over Apple-technologie.


Vorige aflevering | TidBITS Nederlands | Volgende aflevering