Das Doomsday-Argument

Unter der Annahme, dass die Anzahl \(Y\) aller Menschen, die jemals geboren wurden und irgendwann geboren werden, begrenzt ist, sei \(x\) Deine absolute Position vom Beginn der Liste. Dann ist \(0 < \frac{x}{Y} \leq 1\). Wir können nun mit einer Wahrscheinlichkeit von \(95\%\) sagen, dass Du unter den letzten \(95\%\) aller jemals geborenen Menschen bist, also \(0,05 < \frac{x}{Y} \leq 1\) und damit \(Y < \frac{x}{0,05} = \frac{100 \cdot x}{5} = 20 \cdot x\).

.­.­.

Drikker paradoks

Følgende sætning er kendt som "drikkerens paradoks": "Der er nogen på pubben, så hvis han eller hun drikker, drikker alle på pubben." Det er lige meget, om den ene person opfordrer andre til at drikke, eller om der findes en anden bagdør, som vi vil se om et øjeblik. Det er et godt eksempel fra matematisk førsteordens logik.

.­.­.

Tal gætte

En dreng tænker på et tal, der er \(1\) , \(2\) eller \(3\) og en pige må så kun stille et spørgsmål om dette tal. Drengen kan kun svare " Ja ", " Nej " eller " Jeg ved det ikke" . Gennem en klog afhøring formår pigen at nævne det rigtige nummer, som drengen tænkte på, efter drengen har svaret hende. Hvad er dit spørgsmål?

.­.­.

Genstand uden oprindelse

Forestil dig, at du en dag modtager en mystisk pakke uden afsender. Nysgerrig åbner du pakken og finder en ring, som du giver til din datter. Årtier senere er det hende, der kan bruge et ormehul til at sende genstande tilbage i tiden. Det gør hun med ringen, som du engang gav hende, pakket ind i en pakke, som hun adresserer til dig. Spørgsmålet er: hvor kommer ringen fra?

.­.­.

CI med GitHub Actions

Som et alternativ til den højt værdsatte Travis CI har GitHub Actions også været tilgængelig i nogen tid.Som et kontinuerligt integrationsværktøj er det meget godt integreret på GitHub kodeplatformen og er nu meget stabilt. GitHub-handlinger er baseret på YAML-konfigurationsfiler placeret i det lager, hvor arbejdsgangen skal køre.

.­.­.

Steins paradoks

I 1961 udgav James og Stein papiret Estimation with Quadratic Loss . Tag normalfordelte data med en ukendt middelværdi \(\mu\) og varians \(1\) . Hvis du nu vælger en tilfældig værdi \(x\) fra disse data og skal estimere middelværdien \(\mu\) på baggrund af dette, er \(x\) intuitivt et rimeligt estimat for \(\mu\) (da en normalfordeling er til stede, er den tilfældigt valgte \(x\) sandsynligvis nær \(\mu\) ).

.­.­.

Adgang med PHP til Exchange/Office 365

Længe annonceret - nu virkelighed : Microsoft har slået autentificering med adgangskode fra for visse protokoller i Exchange Online fra september 2022 til fordel for oAuth2. GitHub-problemerne i mange biblioteker og backup-scripts gør det klart, at skiftet overraskede mange administratorer. Nedenfor viser vi en måde, hvordan du kan fortsætte med at få adgang til indholdet af din Exchange-postkasse ved hjælp af oAuth2 via PHP via IMAP.

.­.­.

UUID'er i databaser

UUID'er (Universelt unikke id -enifikatorer) er 128-bit værdier, der blandt andet bruges i databaser til entydigt at identificere tabelposter. De er repræsenteret som en hexadecimal streng opdelt i fem grupper adskilt af bindestreger (eksempel: 09fe49b3-4d2b-471c-ac04-36c9e706b85f). Der er talrige Diskussioner om fordele og ulemper ved UUID'er i databaser - de er uundværlige i distribuerede systemer.

.­.­.

Ryd op i Git historie del 2

Følsomme data eller for meget hukommelsesforbrug: Der er gode grunde til at ændre Git-historikken. I dette blogindlæg forklarede jeg, hvordan man fjerner filer fra Git-historien ved hjælp af BFG . Et svagt punkt ved BFG er manglen på understøttelse af direkte stier , så du kan ikke specifikt fjerne filer eller mapper i undermapper fra historikken. Med det er det tid til at se på alternative løsninger.

.­.­.

Hukommelsesbegrænsning i WordPress

tl;dr: Manuelt indstillet værdi eller standardværdierne for WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT har ingen effekt hvis WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mindre end eller lig med hukommelsesgrænsen for PHP (i det følgende memory_limit kaldet) er. De bruges til at indstille for lave værdier af memory_limit dynamisk til et anbefalet minimum.

.­.­.

Hurtigt tip: Rediger iframe

Hvis du indlejrer en tredjeparts iframe (som en widget), kan du ikke få adgang til dens indhold med hverken CSS eller JavaScript (på grund af den såkaldte same-origin policy ). Der er dog en meget enkel procedure til at ændre enhver kode (også i andre filer, der genindlæses i iframen). For at gøre dette, dirigerer du URL'en gennem din egen PHP-proxy og ændrer indholdet, som du ønsker.

.­.­.

Mønter i ANTON-appen

ANTON er en af ​​de mest populære læringsapps for elever i klasse 1-10. klasse. Ved første øjekast kan gamification-aspektet ved at erhverve mønter ("mønter") virke mærkeligt for voksne – men det multiplicerer mærkbart motivationen, ikke kun hos mine børn. Det sparer endda en lille "pude" af mønter, som du ikke rører.

.­.­.

Om robustheden af ​​IBAN

Det tyske IBAN består som bekendt af landekoden (DE), et tocifret kontrolciffer (ifølge ISO 7064 ), bankkoden (8-cifret) og kontonummeret (inkl. underkontonummer, 10-cifrede, manglende cifre er udfyldt med foranstillede nuller) og er derfor 22-cifrede. For at beregne kontrolcifferet dannes det såkaldte BBAN (bankkode og kontonummer) samt den numeriske landekode \(1314\) for Tyskland og kontrolcifferet \(00\) ).

.­.­.

Matematik i spillet Dobble

Ved den sidste familieaften blev spillet Dobble (i Harry Potter-udgaven) begejstret bragt på bordet af børnene. Efter den 5. tabte runde (uden synligt hit af mit kort med spillekortet) fik jeg at vide, til min forbavselse, at hver spiller altid kan finde et hit i hver runde. Men min vantro blev kun erkendt med yderligere tabte omgange - børnene var simpelthen hurtigere.

.­.­.

Bitcoin blokeringstid

Du ved: Den forventede tid mellem to Bitcoin-blokke er i gennemsnit \(10\) minutter. Nu laver du en vigtig Bitcoin-transaktion og venter spændt på at se, om og hvornår den dukker op i næste blok:

e50bfacc95975a4e7545d83d8954645f

.­.­.

Corona matematik

I RKI-ugerapporten af ​​11.11.2021 står det på s. 22, at \(36\%\) de over 60-årige coronapatienter på intensivafdelingen allerede var fuldt vaccineret. I denne aldersgruppe var \(87\%\) fuldstændig vaccineret på dette tidspunkt (se s. 18).

.­.­.

Beregning af SIstrix synlighedsindeks

Sammen med Xovi er SISTRIX- værktøjet det mest udbredte analyseprogram i Tyskland inden for SEO-området. Synlighedsindekset har etableret sig som en kvasi-standard for synlighed af en side i Google-søgning. De parametre, der indgår i dens beregning, er for eksempel forklaret her og her og her og her og her , men en nøjagtig beregningsformel er ikke officielt offentliggjort. Følgende er resultaterne af mine seks måneder lange personlige undersøgelser, som ikke hævder at være fuldstændige eller korrekte.

.­.­.

Decimalbrøker

Finite decimaltal kaldes decimalbrøker, fordi de er en anden repræsentation for brøker med ti potenser i nævneren. Det er også:

$$\frac{z}{n} = \frac{q_1}{1} + \frac{q_2}{10} + \dots + \frac{q_k}{10^k}$$

med \(k \in \mathbb{N}\) og \(q_k\) \(k-1\) -te pladsen til højre efter kommaet.

.­.­.

Hurtigt tip: Skift automatisk nodeversionen

Brug af nvm anbefales til hurtig installation og ændring af nodeversioner. Hvis du eksplicit vil angive den nødvendige nodeversion i et projekt, placerer du en fil kaldet .nvmrc med det nøjagtige versionsnummer (f.eks. "12.10.0") i den samme mappe, som package.json er placeret i. Hvis du nu skifter til mappen, udfører følgende udvidelse af filen ~ / .bash_profile for bash kommandoen nvm -brug , som automatisk indstiller denne version:

fe497e1c7f9f1547263eb3bffe15f9f6

.­.­.

Brug containerforespørgsler i dag

Lige siden der har været responsivt webdesign, har udviklere spurgt om muligheden for at designe DOM -elementer baseret på deres faktiske størrelse og ikke på størrelsen på viewporten i browseren (ved hjælp af medieforespørgsler ). Faktisk er containerforespørgsler (oprindeligt elementforespørgsler) sandsynligvis den mest efterspurgte CSS -funktion, som browsere stadig ikke har .

.­.­.

Ryd op i Git -historien

Følsomme data som f.eks. Adgangskoder skal være i .env -filer og om muligt ikke ende i Git -lagre. Men det er sandsynligvis sket for os alle mindst en gang ved en fejltagelse: Hurtigt udgivet et flot Google Maps JS API -scriptGitHub Gists (som "offentligt") uden ved et uheld at skjule vores egen private Maps API -nøgle .

.­.­.

Klip SVG'er ud af billeder med klipsti

Hvis du vil skære et billede ud ved hjælp af en SVG, anbefales det at bruge CSS-egenskabens klipsti . Følgende script udløser ujævn barrierer: SVG'en kan gemmes ved hjælp af Illustrator, du kan angive (relativ eller absolut) URL'en til en SVG (Chrome understøtter indtil nu kun indbygget inline SVG), og halsudskæringen reagerer også fuldstændigt.

.­.­.

Hurtigt tip: WP_Query & multi-line felter

Ved hjælp af meta_query -attributten i den kraftfulde WordPress WP_Query -klasse kan indlæg filtreres, der har bestemte værdier i deres metafelter . Hvis du har oprettet et metafelt med flere linjer (f.eks. Ved hjælp af avancerede tilpassede felter ) og kun ønsker at finde indlæg, der indeholder en bestemt værdi i dette felt adskilt af linjeskift, anbefales REGEX-verdenen i MySQL.

.­.­.

Integrer Adobe Animate-animationer indbygget

I en tidligere artikel beskrev jeg, hvordan man let kan integrere animationer fra Adobe Animate på et websted via omvejen til en APNG-eksport. Der er også den indfødte måde via HTML5-lærredeksporten , men enhver, der allerede har arbejdet med den, finder ud af, at den sidder fast i alle kroge og kroge (utilstrækkelig responsiv support, besværlig integration i et eksisterende websted, ingen forskellige billedhastigheder pr. Animation, osv.).). Biblioteket adobe-animate-embed giver et middel her.

.­.­.

Google Maps uden en API-nøgle

Normalt, når du integrerer Google Maps, arbejder du med Maps JavaScript API , som kræver en API-nøgle og kan medføre omkostninger, der ikke bør undervurderes med højere adgangsnumre. Der er gode alternativer såsom mapbox eller OpenStreetMap , men de opnår endnu ikke de mange funktioner, der tilbydes af Google. Google tilbyder også en måde uden en API-nøgle via delingsfunktionen, som vi kan bruge til vores formål.

.­.­.

Adobe Animate APNG Export

Browsersupport til animerede PNG-filer er nu så god, at animationer oprettet med Animate CC let kan eksporteres til APNG og derefter indarbejdes i et websted i et simpelt <img> -tag. Dette er et simpelt alternativ af god kvalitet til publiceringsmetoden i Animate CC, der genererer JavaScript. De trin, der skal tages, er beskrevet nedenfor.

.­.­.

Udvid WordPress-søgning

Hvis du vil udvide den oprindelige WordPress-søgning med for eksempel metafelter, anbefales det at se på de affyrede filtre . Posts_search- krogen anbefales, så paginering fortsætter med at arbejde, og fremtidige forbedringer i søgningen ikke annulleres . Ved hjælp af REGEXP- og ExtractValue- funktionerne udvider følgende kode denne søgning til at omfatte indlæg, der indeholder et af de søgeord, der er indtastet i alle metafelter.

.­.­.

Godels mesterværk

Da Kurt Gödel offentliggjorde sine berømte ufuldstændighedssætninger i 1931, rystede det grundlaget for matematisk logik: Han tilbageviste, at alle aksiomer, der kan indstilles som et muligt grundlag, uundgåeligt er ufuldstændige for at bevise alle udsagn om tal - og ødelagde det Hilberts drøm om at bevise konsistensen af ​​matematisk teori.

.­.­.

Brug WhatsApp via API

På trods af alle bekymringer vedrørende databeskyttelse er WhatsApp stadig den tyske favorit messenger-app. Ud over den særlige WhatsApp Business App har Facebook også oprettet en officiel grænseflade, WhatsApp Business API, for at gøre det mere interessant for virksomheder. Hvis du vil sende WhatsApp-meddelelser programmatisk fra din webapplikation, er der også andre måder.

.­.­.

Slør siden bag overlayet ved hjælp af CSS

Hvis du bruger elementer som f.eks. Overlays (som er reglen i tider med GDPR-actionisme) og f.eks. Vil blødgøre området bag overlayet, støder du ofte på problemet med stablingskonteksten . For eksempel, hvis du har elementer placeret absolut eller i en fast position, vises de pludselig anderledes end uden et anvendt filter. Men der er et middel.

.­.­.

Hurtigt tip: Opdel test med Apache

Du behøver ikke bruge et kraftfuldt værktøj som Google Optimize til enkle URL-opdelingstest, du kan også løse Apache via .htaccess. Følgende kodestykke fordeler sine besøgende jævnt på begge versioner for de to sider https://vielhuber.de/test1.php (variant 1) og https://vielhuber.de/test2.php (variant 2). Randomiseringen er baseret på den aktuelle servertid.

.­.­.

Om notationen af ​​forgrenede funktioner

Krøllede parenteser bruges i notationen af ​​funktionsdefinitioner med forskel mellem store og små bogstaver. Vi forfølger det enkle spørgsmål om, hvorvidt denne repræsentation også kan elimineres, og funktionen kan reduceres til en notation, der kan klare sig uden den. For eksempel funktionen

$$f: \mathbb{R} \to \mathbb{R}, f(x) = \left\{\begin{matrix} 42, & \text{falls } x = 0 \\ x, & \text{sonst} \end{matrix}\right.$$

ved hjælp af de fire grundlæggende aritmetiske operationer ved hjælp af en linjeudtryk?

.­.­.

Dataserier i Google Sheets

Når man visualiserer data i Google Sheets, støder man på problemet, at \(x\) -aksen ikke automatisk kan udfylde de manglende huller i tekstværdier (f.eks. I kalenderuge). For at løse problemet genererer du en kontinuerlig serie af datoer, tæller cellerne, der forekommer selv, og visualiserer derefter de kumulative summer.

.­.­.

Hurtigt tip: PHP clearstatcache

Find fejlen:

72aaa2dbd201d49fc2ee429ebf68f15b

.­.­.

Google Oversæt API Hacking

Google tilbyder Google Translation API med en brugsbaseret omkostningsstruktur som en del af sin Google Cloud. Der er også en udokumenteret API, der kan bruges uden nøgle , men som nægter at arbejde efter blot et par anmodninger. Når du bruger webstedsoversættelsesfunktionen i Google Chrome, bemærkes det, at sider kan oversættes i meget god kvalitet uden nogen mærkbar begrænsning.

.­.­.

Hurtigt tip: Git automatisk tagging

Hvis du forbinder Github med Composer , er det obligatorisk at tildele et versionsnummer via git-tag . Den følgende kommandolinjekommando bestemmer den aktuelle dag og øger den (ifølge SemVer ) med et versionsnummer. For eksempel følger version 1.1.0 efter 1.0.9. Hvis der ikke er tildelt noget mærke, mærkes versionen automatisk med 1.0.0. Værktøjer som spinkle eller git kroge forkorter denne ørken af symboler.

8cd852c96ec1e60e8a5ac1f3614b2397

.­.­.

Rediger MySQL-udløser

Desværre tilbyder MySQL ikke ALTER TRIGGER-funktionen. For at redigere en eksisterende trigger skal du først slette den og derefter gendanne den igen. CREATE TRIGGER-erklæringen kan indlæses indirekte via informationsskemaet . Dette giver os mulighed for at ændre udløsere via en omvej. For at gøre dette foretager du dine ændringer i resultatet af følgende SELECT-kommando (skift database og triggernavn på forhånd) og udfører forespørgslen.

.­.­.

Udløs ændringshændelser i VanillaJS

VanillaJS har været på niveau med veteran jQuery på næsten alle områder siden ES6 og er nu langt overlegen. Så det lønner sig at gradvist migrere ældre kode væk fra jQuery. Du skal dog være forsigtig, når du udløser manuelle ændringer. For eksempel udløses document.addEventListener ikke på jQuery.change () . Den følgende oversigt opsummerer de særlige funktioner.

.­.­.

Kontroller cookies med PHP og JS

Indstillingen af ​​cookies af dine egne eller tredjeparts-scripts kan kontrolleres fint ved hjælp af PHP og JavaScript. Selvom dette ikke er en tilstrækkelig løsning til implementering af cookieløsninger efter domstolens afgørelse mod Planet49 (her er det afgørende, at sporingsværktøjer som Google Analytics ikke engang sporer og følgelig ikke indstiller cookies), kan det give mening være generelt hvidliste / sortliste-cookies.

.­.­.

Deaktiver enheder via script i Windows

For at spare strøm eller reducere din egen overvågningsparanoia tilrådes det at frakoble ubrugte enheder på din egen computer fuldstændigt fra strømmen. Enheder såsom lydbokse eller webkameraer kan aktiveres / deaktiveres på den klassiske måde ved hjælp af enhedsadministratoren. Det hele fungerer også via script. Standardmåden at gøre dette plejede at være devcon . Windows 10 tilbyder nu en mere bekvem måde at gøre dette på via PowerShell .

.­.­.

Sløring af Skype-baggrund

Skype har en dejlig, noget skjult funktion: i tilfælde af videooverførsler kan baggrunden sløres automatisk ved at klikke på videoknappen og bruge funktionen " Slør min baggrund ". Ved hjælp af kunstig intelligens fungerer dette med ethvert kamera, selv uden dybdeinformation. Det hele ser derefter mere professionelt ud og skjuler private eller uvigtige ting i baggrunden.

.­.­.

SVG-eksport fra Illustrator

SVG'er spiller en central rolle i dagens internet. De har ikke kun fortrængt ikonskrifttyper, men giver også mulighed for manipulation via CSS eller JavaScript. Hvis du vil gemme en vektorgrafik til internettet fra Adobe Illustrator som SVG, skal du foretage nogle indstillinger for at undgå faldgruber og reducere indlæsningstider, hvilket jeg vil præsentere i den følgende artikel.

.­.­.

Project Euler: Gitterstier

Project Euler er en række spændende programmeringsproblemer, ofte med matematisk baggrund. Problemerne stilles ofte på en sådan måde, at sofistikerede algoritmer skal udvikles for at nå målet på en rimelig tid. I dag løser vi problem 15: Gitterstier , hvor du kan finde løsningen med enkle kombinatoriske midler.

.­.­.

Automatiske WordPress-opdateringer

WordPress har implementeret baggrundsopdateringer indbygget siden version 3.7 og aktiveret dem automatisk til mindre udgivelser. Ved hjælp af filtre kan du kontrollere adfærden mere præcist, hvad der præcist opdateres automatisk. En permanent, fuldautomatisk installation af alle mindre, større, plug-in, tema og oversættelsesopdateringer er ikke beregnet, men kan let gøres på anden måde.

.­.­.

OPcache PHP opstartsoptimering

For websteder, der er baseret på WordPress , Joomla eller Laravel og ikke har noget brugerspecifikt indhold, anbefales det at opbevare alle sider i en statisk HTML-cache og kun regenerere cachen manuelt (eller automatisk), når der foretages ændringer i backend. Men hvis siden indeholder dynamisk indhold, der afhænger af sessioner og cookies eller også af sprog og placering, er OPcache egnet .

.­.­.

Google Sheets: Udvidelse af formler

For at udvide formler til hele kolonner i Google Sheets anbefaler vi at bruge den nyttige ARRAYFORMULA- funktion. Desværre fungerer dette ikke i kombination med nogle andre vigtige funktioner som QUERY eller INDIRECT , hvorfor der er komplet individuel programmering af logikken ved hjælp af Google Apps Script eller alternativt manuel kopiering af formlen ned til den sidste linje.

.­.­.

Simpson-paradokset

Simpsons paradoks er et af de let forståelige og samtidig forbløffende fænomener i statistikken. Det forekommer, når datagrupper viser en bestemt tendens, men denne tendens vendes, når grupperne kombineres. Ved hjælp af et simpelt eksempel kan paradokset forstås med det samme.

.­.­.

Hurtigt tip: Google Tag Manager

Google Tag Manager har etableret sig som de facto-standarden for integration af tracking-scripts. På den ene side adskiller dette klart ansvarsområderne (online markedsføring vs. programmering), og på den anden side kan du hurtigt oprette og ændre sporing via en ekstra distributionskanal. Her er to små tip til opsætning af udløsere.

.­.­.

Hurtigt tip: FRITZ! Box WLAN-hotspot

Fra FRITZ! OS 07.10 og fremefter, hvis internettet mislykkes, kan FRITZ! Box midlertidigt bruge det trådløse hotspot på en mobiltelefon som en reserve. Funktionen er skjult under Internet> Adgangsdata> Internetudbyder> Eksisterende adgang via WLAN . FRITZ! Box fungerer derefter som en router i sig selv og forsyner et netværk med sit eget adresseområde. Når internettet er tilgængeligt igen, nulstilles du blot indstillingen. Jeg var også nødt til at kontrollere indstillingerne WLAN> Radionetværk> 2,4 GHz frekvensbånd aktivt og Internet> Adgangsdata > IPv6> IPv6-understøttelse aktiv .

.­.­.

Livets blomst

Livets blomst er et velkendt, blomsterlignende, geometrisk mønster, der er fundet i templer, manuskripter og i nogen tid i populærkulturen i tusinder af år. Mønsteret spiller også en rolle i esoterik. Vi ignorerer alt dette på dette tidspunkt og koncentrerer os om den enkle konstruktion af den geometriske form, som er sammensat af flere jævnt fordelt, overlappende cirkler.

.­.­.

E-mail forsinkelse i Outlook

På trods af alle undergangsprofetier omkring Slack and Discord er den asynkrone kommunikationsmedie-e-mail det dominerende kommunikationsmedium i erhvervssektoren verden over. Ud over Inbox Zero fra Merlin Mann er der adskillige andre strategier til håndtering af den daglige oversvømmelse af e-mails, herunder såkaldt e-mail-forsinkelse, dvs. forsinket levering af e-mails.

.­.­.

En spiral af tal

I de sidste par dage har jeg undersøgt følgende spørgsmål på StackExchange om en spiral af heltal. Vi leder efter en lukket formel for koordinaterne til \(n\) -th-elementet i det følgende heltalsspiral, der strækker sig fra oprindelsen til det ydre og længere og længere ind i uendelig:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16
.­.­.

Læs rettigheder i Google Sheets

Når du arbejder med Google Sheets , kan der defineres fine, brugerbaserede regler til redigering af regneark, kolonner og rækker i et regneark. Desværre er der ingen måde at begrænse læseretten på. Dette ville dog være meget nyttigt i mange scenarier. Så du viser kun dine kunder de billetter, der kun vedrører dem eller medarbejderne de projekter, de arbejder på.

.­.­.

Garn plug'n'play

npm er standardpakkehåndtering for Node.js. Facebook har længe udviklet en alternativ pakkehåndteringsløsning kaldet Garn . Garn ser ud til langsomt at forsvinde fra Github readmes som standardløsningen, og statistikken på det officielle websted viser, at kun en brøkdel af pakkerne udføres af Garn. Ikke desto mindre er det værd at tænke uden for boksen.

.­.­.

Konverter PDF til LaTeX


Sætningssystemet \(\TeX\) blev udviklet i 1977 af den legendariske Donald E. Knuth . Softwarepakken \(\LaTeX\) er stadig en del af standardrepertoiret, når der oprettes videnskabelige artikler. Med de følgende to værktøjer kan allerede genererede PDF-filer og håndskrevne noter konverteres fuldt ud automatisk til TeX. Resultaterne er meget lovende.

.­.­.

Simuleringsargumentet

Nick Bostroms simuleringsargument er imponerende enkel og klar. Det forsøger ikke at bevise, at vi lever i en simulering, men formulerer i stedet elegant tre muligheder, hvoraf den ene skal være sand. Elon Musk går også ind for en lignende afhandling, der gjorde ideen kendt for en bred offentlighed. Det officielle papir er over 14 år og lige så mange sider er korte. Den centrale erklæring er let at forstå og kompakt.

.­.­.

Kritisk fejl, når du bruger WPML + ACF

De kraftfulde WPML- plugins til flersprogethed og Advanced Custom Fields til dine egne felter er standardudstyr i mange installationer. Det er irriterende, når der opstår funktionsfejl og datatab i kombination. Fejlrapporterne om emnet er et par år gamle og ubesvarede ( her og her og her og her og her ). Jeg har lige kigget nærmere på problemet.

.­.­.

Filupload i Facebook In App Browser

På nogle Android-telefoner opfører både Facebook- og Instagram-browserne i appen (fra i dag) forkert, hvis et uploadfelt inden for en annonceret eller linket destinationsside specificerede acceptattributten. Knappen var derfor uden funktion. Hvis du åbner siden i den eksterne, normale browser uden for Facebook-appen, er alt i orden. Dette er irriterende (især da det er rapporteret i lang tid ), men kan løses med en løsning.

.­.­.

Chrome Devtools: Flyt DOM-elementer

Google Chromes udviklerværktøjer er blandt de mest magtfulde på browsermarkedet. Nye funktioner strømmer ind hver måned, som Google præsenterer i komprimeret form på YouTube . Men ofte er det de små ting i livet, der glæder. Hvis du vil slette DOM-elementer i Google Chrome, kan du gøre dette med sletningstasten. Men først i dag bemærkede jeg, at DOM-elementer også let kan flyttes ved hjælp af træk og slip:

.­.­.

Hurtigt tip: git status --r

En gylden regel i gituniverset er: "Foretag dig tidligt og ofte". Hvis natten var lidt længere, eller hvis du bare vil have et overblik over den aktuelle situation på din egen computer, tager kommandoen dig

d8a38f92d0baa14f9d4568826c13ad46

en "git-status" for alle arkiver, der er placeret i den aktuelle mappe eller i en hvilken som helst undermappe og akkumulerer værdierne i et godt overblik:

.­.­.

LAMP stak i Windows Subsystem til Linux

Når vi leder efter det optimale udviklingsmiljø, tilbyder Windows 10 komplette løsninger som XAMPP , WAMP og MAMP , indbygget installation i hånden og virtualiseringsløsninger som Vagrant ( Scotch Box ) og Docker ( Devilbox , Laradock ). Men på grund af mine krav som gratis konfigurerbarhed, ægte wildcard SSL-certifikater, adgang fra alle slutenheder i det lokale netværk og høj stabilitet og ydeevne, mislykkedes alle løsninger - undtagen en.

.­.­.

Tricks til Laravel Eloquent Relationships

En af Laravels styrker er dens elegante syntaks. Hvis du har mange modeller og relationer i Laravel (på grund af mange tabeller i databasen), kan traversering ofte ende i mindre elegant kode. I løbet af tiden har tre små udvidelser vist sig for mig, som jeg kort vil introducere nedenfor. Vi bruger bare nogle arv, magiske metoder og brugerdefinerede samlinger.

.­.­.

Forhindre offentlig adgang til .git

Version management Git er nu standard i næsten ethvert webprojekt og i alle miljøer (inklusive produktion). Git opretter altid undermappen .git, og hvis dette er på niveauet med den offentlige mappe på hjemmesiden, kan du offentligt få adgang til følsomme filer (for eksempel ved at ringe til /.git/logs/HEAD vises de sidste forpligtelser) . Det forklarer detaljeret, hvordan du kan klone et tredjeparts (!) Git-arkiv uden en katalogliste.

.­.­.

Node.js / npm / komponist uden rod

I et ældre blogindlæg beskrev jeg, hvordan man hoster Node.js gratis ved hjælp af Heroku . Nu vil jeg vise dig en måde, hvordan du kan installere Node.js , npm og Composer på enhver anden delt vært uden rodrettigheder med et par kodelinjer. Med det kan du installere pakker, distribuere Vue.js-applikationer eller bare starte en Express.js-server. Vi arbejder altid i brugerkataloget og bruger nvm - Node Package Manager.

.­.­.

Fejl i associerende arrays i PHP <7.2

I PHP <7.2 kan du oprette arrays, der ikke længere kan åbnes korrekt:

91367d1c4636fd753b381406024e303c

Du kan gøre nogle ting med det.

.­.­.

Udfør kommandoer direkte efter SSH-forbindelse

Den følgende kommando opretter en forbindelse til en server via SSH, udfører nogle kommandoer (for eksempel ændringer til en underkatalog og sender en git-status ) og efterlader skallen åben. .Bashrc-filen indlæses, hvilket muliggør farvede subshells. Tricket er at gemme en midlertidig fil / tmp / initfil med de ønskede kommandoer, at starte en subshell (i vores tilfælde bash) med kommandoen --init-file. Inden for denne initfil slettes den samme fil med det samme igen for ikke at efterlade spor.

.­.­.

Netværksdrev som administrator

Hvis du integrerer et netværksdrev i Windows Stifinder, gælder dette ikke hele systemet, men kun for den aktuelle brugerkonto. Dette betyder, at du ikke kan få adgang til dette netværksdrev i et program, der kører med administratorrettigheder. Dette kan let ændres: Opret et nyt DWORD (32 bit) med navnet EnableLinkedConnections med værdien 1 i registreringsdatabasen under HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System og genstart. Integrerede netværksdrev er derefter synlige overalt.

.­.­.

Hurtigt tip: Inkluder mappe som drev

Hvis du hurtigt vil nå en lokal mappe under Windows, som du bruger igen og igen, kan du blot tildele det dit eget drevbogstav. Der er kun en omvej via "Tilslut netværksdrev", da du f.eks. Ikke kan angive stien C: \ Brugere \ David \ Downloads. Som en løsning skal du indtaste den såkaldte administrative del af drevet, som findes som standard for hver mappe: I ovenstående eksempel ville dette være \\ localhost \ c $ \ Brugere \ David \ Downloads .

.­.­.

Fang frøer

En frø hopper rundt på nummerlinjen, og du prøver at fange den. Spring og fangst skifter altid. Frøen starter ved position \(s \in \mathbb{Z}\) og med hvert træk springer den en afstand på \(z \in \mathbb{Z}\) (hvis \(z>0\) , hopper den til højre, ellers hvis til venstre). \(z\) er den samme for hvert spring. Snapping består i at angive en heltalsposition. Man kender hverken \(z\) eller \(s\) . Vi viser, at der altid er en måde at fange frøen på.

.­.­.

Lange filnavne på Windows 10

Ikke kun når du bruger npm under Windows, støder du på en grænse, der nu er næsten 30 år gammel, som begrænser stier til mapper og filer til maksimalt 255 tegn. Dette er ikke NTFS's skyld, men LFN . Dette fører til irriterende fejl og inkompatibilitet mellem operativsystemer. I tider med WSL er dette en beklagelig tilstand, som heldigvis kan du ordne dig selv i registreringsdatabasen i nogen tid.

.­.­.

Laravel køer på localhost

I PHP-rammen sørger Laravel inden for produktive miljøer, arbejdere og vejledere for, at de job, der er lagret i f.eks. Redis, behandles. Hvis du vil være helt uafhængig af dette på localhost, skal du enten bruge synkroniseringsdriveren til altid at udføre jobbet med det samme. Dette har den ulempe, at den aktuelle PHP-proces er blokeret, og anmodningen hænger, indtil jobbet er behandlet.

.­.­.

Hurtigt tip: Bundt mål i Google Analytics

Ved hjælp af JavaScript-biblioteket analytics.js fra Google Analytics kan alle begivenheder på websteder spores. Disse begivenheder er for eksempel en nøjagtig måling af opholdets længde, den maksimale rulledybde for de besøgende eller andre individuelle handlinger såsom at indsende formularer. Hvis du f.eks. Vil evaluere reklamekampagner eller udføre A / B-tests senere, opretter du såkaldte målprojekter.

.­.­.

Pragmatisk cache ugyldiggørelse

Gengivelse på serversiden er nu en del af standardrepertoiret for websteder og applikationer. Browsere som Google Chrome har også en tendens til at cache så meget som muligt for at minimere indlæsningstiderne for yderligere opkald. Cache ugyldiggørelse af CSS / JS / billedfiler kan løses ved hjælp af mod_pagespeed , Expires / Cache control header, en cache manifest eller meget pragmatisk og direkte gennem individuelle parametre efter filnavnet.

.­.­.

Bitbucket og SSH nøgler

Udbyderen Bitbucket tilbyder ikke (selv i de gebyrbaserede standard- og premium- takster ) muligheden for at gemme SSH-nøgler med skriveadgang på lagerniveauet. Det er ikke en mulighed at gemme din personlige SSH-nøgle på produktionsserveren, ellers kan du få adgang til alle andre projekter, som du i øjeblikket arbejder på derfra. Der er såkaldte adgangsnøgler , men disse tillader kun læserettigheder.

.­.­.

Windows Sysinternals via netværksdrev

Værktøjerne fra Sysinternals af Mark Russinovich bør ikke mangle på nogen Windows-computer. Hvis du altid vil have den nyeste version ved hånden, kan du integrere den som et netværksdrev. Kommandonettet bruger s: \\ live.sysinternals.com \ DavWWWRoot på kommandolinjen er tilstrækkelig (som en normal bruger). Derefter er pæne værktøjer som PsList, PsKill eller Process Explorer bærbare på drevet S.

.­.­.

Hurtigt tip: Google Sheets og Kalenderuger

Når du udsender kalenderuge på en bestemt dato, skal du være forsigtig i Google Sheets (ligesom i Microsoft Excel). Funktionen = KALENDERUGE (I DAG ()) beregner ved hjælp af den amerikanske standard, for hvilken den første dag i året altid tildeles kalenderuge 1. I Tyskland defineres dette forskelligt: ​​Her er den første kalenderuge den uge, hvorfra mindst 4 dage falder ind i det nye år. I Google Sheets kan du løse problemet (blandt andet spændende alternativer som = KORT ((I DAG () - DATO (ÅR (I DAG () - HVIL (I DAG () - 2; 7) +3); 1; HVIL (I DAG ( ) -2; 7) -9)) / 7) og den modificerede = KALENDERUGE (I DAG (); 21) ) let med den specielt designede funktion = ISOWEEKNUM (I DAG ()) .

.­.­.

Selvsignerede SSL-certifikater i Chrome 58

Siden Let's Encrypt er krypterede websteder nu standard. Selv med lokal udvikling er SSL-certifikater blevet uundværlige (for eksempel kræver navigator.geolocation SSL-kryptering lokalt). Siden version 58 af Chrome er support til CN (Common Name) afbrudt, og SAN (Subject Alternative Name) er blevet obligatorisk. Som et resultat accepterer Chrome pludselig ikke længere alle konventionelt oprettede SSL-certifikater.

.­.­.

To gange alderen på to personer

Overvej to personer \(A\) og \(B\) der ikke er født samme dag, og \(A\) yngre end \(B\) . Vis, at der er nøjagtigt to aldersgrupper \(a,b \in \mathbb{N}\) , for hvilke der gælder: \(2\cdot a = b\) . Vi indstiller først \(d \in \mathbb{R}^+\) som aldersforskellen mellem \(A\) og \(B\) ved fødslen af \(A\) med \( d = d_0 + d_1 \) , \( d_0 \in \mathbb{N}_0, d_1 \in \mathbb{R}, d_1 \in [0;1[\) . Vi betragter nu et vilkårligt tidspunkt i \(x \in \mathbb{R}^+\) efter fødslen af \(A\) med \(x = x_0 + x_1\) , \(x_0 \in \mathbb{N}_0, x_1 \in \mathbb{R}, x_1 \in [0;1[\) .

.­.­.

Git og tomme mapper

Da Git ikke kender nogen mapper, kun filer, ender de tomme mappestrukturer ikke i arkivet. Men da mange rammer og projekter absolut har brug for dette, bør de ende der. En almindelig praksis er at oprette såkaldte pladsholderfiler (ofte kaldet .gitkeep), som implicit specificerer mappestrukturen. Disse filer kan let oprettes og, hvis det ønskes, også sikre, at andre filer i mapperne ignoreres.

.­.­.

Gratis Node.js-hosting med Heroku

Hosting til Node.js er stadig ikke særlig almindelig, især i tysktalende lande. Det amerikanske skyfirma Heroku tilbyder en løsning her - og endda gratis . Du bemærker altid paradigmet "Byg apps ... ikke infrastruktur" og har stadig næppe nogen begrænsninger. Som et eksempel implementerer vi et lille cron-job, der er baseret på PhantomJS , som hver dag skrotter et websted og sender sidetitlen via e-mail.

.­.­.

Cantors parringsfunktion

Ud over de diagonale argumenter udviklede Georg Cantor også parringsfunktionen Cantor \(\mathbb{N}^2 \to \mathbb{W}, \quad c(x,y) = \binom{x+y+1}{2}+x = z\) , der koder et hvilket som helst to tal \(x,y \in \mathbb{N}\) i et nyt nummer \(z \in \mathbb{N}\) . For eksempel \(c(3,4)=\binom{3+4+1}{2}+3 = \binom{8}{2}+3=\frac{8!}{6!\cdot 2!} +3 = 31 = z\) en unik kodning af tallene \(3\) og \(4\) i nummeret \(31\) . Vis: Sættet af værdier \(\mathbb{W} = \mathbb{N}\) , dvs. \(z\) antager alle naturlige tal.

.­.­.

Jorden og ærten

\(r_1 = 6370km\) på jorden (som en kugle med \(r_1 = 6370km\) ) og en ært (som en kugle med \(r_2 = 2mm\) ) og \(r_2 = 2mm\) et reb over ækvator, så det ligger tæt på overfladen. Nu forlænger du begge reb med en meter hver. Begge reb skal nu ligge helt udstrakt over ækvator igen - de ligger ikke længere helt på overfladen, men flyder over ækvator. Hvor højt over overfladen flyder rebet over jorden, hvor højt over ærten?

.­.­.

Sandsynligheder på det analoge ur

På hvilken% af tiden på en dag er alle tre hænder på et analogt ur i højre halvdel af skiven? Se først på timeviseren, som er på højre side hver 12. af 24 timer (50%). Fra dette tidspunkt vil minutviseren være på højre side om 6 af 12 timer (25%). Af disse 6 timer bruger den anden hånd 3 timer på højre side (12,5%).

.­.­.

Laravel: Arbejde med veltalende forhold

Laravel gør kommunikationen med databasen meget lettere med Eloquent. Når du arbejder med Eloquent Relationships , når du kalder på dynamiske variabler (ved hjælp af de magiske metoder til PHP), skal du være opmærksom på, at forekomsterne af modellerne ikke afspejler nye ændringer, men gemmes permanent, når de først kaldes.

.­.­.

Bitbucket: Slet mappe fra Git-historik

Der er en hård grænse på 2 GB, når du hoster Git på Bitbucket - hvis dette overskrides, har du kun skrivebeskyttet adgang til arkivet. For at forhindre dette kan du f.eks. Fjerne store mapper eller filer med tilbagevirkende kraft fra dine forpligtelser. Men også i andre tilfælde (hvis adgangsdata er kommet ind i historien eller node_modules er gled tilbage til master) skal du med tilbagevirkende kraft manipulere Gits historie i modsætning til dens natur.

.­.­.

Integrer SSL-certifikat fra DomainFactory i IIS

I en alder af Let's Encrypt er krypterede websteder nu standard. Imidlertid kræves ofte jokertegn eller udvidede certifikater med særlig pålidelig ejervalidering. Udbyderen DomainFactory tilbyder billige SSL-certifikater, der også kan bruges eksternt. Opsætningen af ​​en nuværende IIS lykkes uden CSR ved hjælp af OpenSSL . I det følgende vil jeg kort vise, hvilke trin der er nødvendige for dette.

.­.­.

Paradoksal vinderstrategi, når du gætter på tal

Thomas M. Cover stillede følgende forbløffende spørgsmål i 1987 i "Åbne problemer i kommunikation og beregning": Player \(X\) skriver to forskellige og tilfældigt valgte naturlige tal \(A\) og \(B\) til to forskellige Skub papir, og læg det med forsiden nedad på et bord. Spiller \(Y\) vælger nu tilfældigt et af disse stykker papir, ser nummeret og skal nu beslutte, om dette tal er mindre eller større end det andet nummer, der stadig er med billedsiden nedad på bordet.

.­.­.

Fodbold og lineær algebra

Når en fodboldkamp starter, ligger bolden midt i banen og flyttes derefter rundt i banen i 45 minutter ved at skifte og dreje. I begyndelsen af ​​anden halvdel er bolden igen midt på banen. Vi viser med enkle midler til lineær algebra, at enten et uendeligt antal punkter på overfladen altid er i nøjagtig den samme position som i den oprindelige tilstand eller nøjagtigt 2.

.­.­.

Laravel: Fejlretning af bladskabeloner

Når du fejler bladskabeloner i Laravel 5. *, får du ofte meningsløse fejlmeddelelser, der henviser til cachelagrede visninger. Tidligere var alle bedre: Fejlfindingsvisningen i version 4 indeholdt mere nyttige funktioner og var også visuelt pænere. Med et par kodelinjer kan du få denne funktionalitet tilbage ved hjælp af whoops ("PHP-fejl til seje børn").

.­.­.

Harmonisk visning af logoer med JavaScript

Uanset om der er referencer, partnere eller kunder - der er mange tilfælde, hvor du vil vise flere logoer ved siden af ​​hinanden harmonisk. Andelene af logoerne er for det meste inkonsekvente. Ofte følger du din tarmfølelse for størrelsesrepræsentationen i designet, men der er også en nøjagtig beregningsmetode til en visuelt tiltalende repræsentation ved at sidestille logoernes områder. I det følgende eksempel kan du gøre dette med blot et par linjer JavaScript.

.­.­.

Kontroller variabler i PHP / JS for eksistens

Når man arbejder med variabler i PHP og JavaScript dagligt, kommer man ofte på tværs af forespørgslen, om en variabel er tom. Det er værd at kende de oprindelige funktioner og deres forskelle til kontrolformål. Irriterende er der ingen nem måde at intuitivt kontrollere, om en variabel er til stede eller ej. Matrixen nedenfor præciserer, hvad der menes med dette. Det, du ønsker, kan dog eftermonteres ved hjælp af små hjælperfunktioner.

.­.­.

Massive telefonopkald med sipgate.io

Sipgate har oprettet en spændende sky-API med sipgate.io , som man har en lang række muligheder omkring internettelefoni med. En konto er gratis, og der er også mulighed for at indstille et gratis afsendernummer i Feature Store gratis. Dokumentationen fra sipgate.io kan stadig udvides, men med lidt læsning i den officielle Sipgate API kan du hurtigt indse spændende ting.

.­.­.

Rekursion i SQL

Relationsdatabasehåndteringssystemer baseret på SQL er kun delvist egnede til hierarkiske eller rekursive forespørgsler. Andre systemer som ArangoDB er bedre her (der var en god snak om dette på GOTO 2016 ). Du kan også generere rekursive forespørgsler i SQL ved hjælp af almindelige tabeludtryk og dermed spørge klassiske overordnede / underordnede tabeller til alle forfædre og efterkommere.

.­.­.

WordPress: Deaktiver arkivsider

Ifølge w3techs.com drives omkring 27,4% af alle websteder over hele verden i øjeblikket ved hjælp af WordPress. I meget mange tilfælde er dette ikke blogs. WordPress genererer automatisk adskillige, ofte ubrugte webadresser og producerer så mange links indekseret af Google, at webstedsoperatøren ikke engang havde på skærmen. Alt dette kan deaktiveres med en simpel kommando.

.­.­.

Omdøb PDF-formularfelter i bulk

Hvis du som mig får problemer med at omdøbe tusindvis af formfeltnavne, er JavaScript-konsollen, der er inkluderet i Acrobat, ideel. I dette kan du ikke kun udføre enhver JavaScript-kode, men også få adgang til alt indhold i PDF-filen (inklusive formularfelter). Da der ikke er nogen oprindelig funktion til omdøbning i JS API, kopieres formfelterne med alle deres egenskaber og får et nyt navn.

.­.­.

Shopware: ændringer af reparationsvarianter

I Shopware 5 er et kendt problem stadig ikke løst: Hvis du opretter en artikel med gensidigt afhængige varianter med gensidigt eksklusive konfigurationsindstillinger, kan det ske, at nogle kombinationer ikke kan vælges i frontenden og derfor ikke kan bestilles. Ved hjælp af et plugin kan problemet let løses i øjeblikket.

.­.­.

En linje for uendelighed af primtal

Der er adskillige beviser for uendelighed af primtal - den velkendte euklidiske sætning fra elementernes bog mangler ikke i noget grundlæggende talteorikursus. I American Mathematical Monthly (nummer 122) i 2015 offentliggjorde Sam Northshield et ikke mindre elegant modsætningsbevis i form af en linje, som jeg ikke ønsker at tilbageholde dig (med korte kommentarer).

.­.­.

Lys Windows-kommandolinjen op

Den kedelige Windows-kommandoprompt kan opgraderes visuelt i et par enkle trin. Så du kan ikke kun justere farven og størrelsen på kommandolinjen, men også udvide den funktionelt (øge bufferen, installere et stort sæt UNIX-værktøjer). Selvom kommandoprompten ikke kommer tæt på PowerShell 6.0 eller den nye Windows 10 Bash Shell , behøver den ikke at skjule sig til daglige opgaver.

.­.­.

Dynamiske webadresser i Joomla

I indholdsstyringssystemer er URL'er ofte ikke altid rettet på forhånd og oprettes derfor ikke statisk på forhånd (som et bidrag eller et menupunkt), men adresserer objekter fra databasen. I lighed med WordPress ( som beskrevet her ) er det også muligt i Joomla at opbygge dynamiske URL-strukturer (uafhængigt af det interne alias-system). Enten kan JRouter bruges her - eller du kan bruge en one-liner i .htaccess.

.­.­.

JavaScript PasteJacking

Ved hjælp af JavaScript kan moderne browsere læse og skrive til brugerens udklipsholder, dvs. de kan også manipulere det. Den underliggende teknologi er allerede en gammel hat, men det er først for nylig, at flere og flere angreb (under navnet "PasteJacking") har cirkuleret på Internettet, hvilket udnytter denne mulighed for den uerfarne bruger. En implementering i JavaScript er banal.

.­.­.

Byt kolonner i PostgreSQL

At bytte SQL-tabelkolonner er en del af standardrepertoiret med MySQL - dette understøttes (endnu) ikke med PostgreSQL. Selvom den officielle wiki bruger sin egen artikel til problemet, viser den ikke nogen praktisk løsning, der også understøtter synspunkter, indekser og udløsere. Den følgende klasse udfører dette job (for både MySQL og PostgreSQL) enten på kommandolinjen - eller alternativt direkte i Laravel 5.

.­.­.

Hurtigt tip til Windows Stifinder

Hvis du hurtigt vil åbne kommandoprompten i en mappe i Windows Stifinder, skal du klikke (et niveau højere) med højre museknap og holde Skift-tasten nede i mappen og derefter vælge "Åbn kommandoprompt her" i genvejsmenuen. Jeg fandt lige ud af en anden hurtigere metode, når du er inde i mappen: Her klikker du på den aktuelle mappesti, skriver "cmd" og bekræfter med Enter.

.­.­.

WordPress-kategorier: Træudsigt / arv

Hvis du arbejder med hierarkiske kategorier (taksonomier) i WordPress, vil du bemærke, at visningen af ​​de markerede kategorier i backend på den ene side er forvirrende, og på den anden side ender ikke indlæg automatisk i forældrekategorien, hvis de placeres i underkategorien. Begge kan rettes ud med blot et par linier kode ved hjælp af det kraftige krogsystem (i form af en handling og et filter).

.­.­.

PHP 7 og rumskibsoperatøren

Ud over nye funktioner, som f.eks. Typebetegnelse for skalar datatyper eller optimeret ydelse , bringer PHP 7 også mange nye, nyttige sprogudvidelser med sig. "Spaceship Operator" har endelig gjort det til en verden af ​​PHP (Ruby og Perl-programmører har kendt det i lang tid). \($a <=> $b\) returnerer \(0\) hvis og kun hvis begge operander er ens, \(1\) hvis den venstre er større og \(-1\) ellers.

.­.­.

IIS 7.5 PHP FastCGI timeout

Hvis du integrerer PHP via FastCGI på IIS 7.5, afbrydes hvert script som standard efter 600 sekunder (dvs. 10 minutter). Ændring af den velkendte variabel "max_execution_time" i php.ini har ingen indflydelse på dette, du skal (også) justere FastCGI-indstillingerne. IIS tilbyder en praktisk grænseflade til styring af de relevante variabler.

.­.­.

Paradoks for stokastik

Teorien om betinget sandsynlighed medfører smukke opgaver med kontraintuitive løsninger. Ud over det velkendte søskeproblem , vil jeg nu kort behandle et andet eksempel: "Jeg har nu to børn. Den ene er dreng og blev født en torsdag. Hvad er sandsynligheden for, at det andet barn også er en dreng?"

.­.­.

Git, Shopware og tomme mapper

Git-filversioneringssystemet er magert, hurtigt og bærbart. Git håndterer altid objekter, nemlig filer. Mapper oprettes kun, hvis der er filer i dem, ellers vil Git ikke engang optage dem. Dette har ubehagelige bivirkninger i nogle projekter. For eksempel er Shopware shop-systemet afhængig af nøje overholdelse af mappestrukturen for at fungere.

.­.­.

Shopware: Individuelle forsendelsesomkostninger

Shopware har et kraftigt forsendelsesomkostningsmodul, som du specifikt kan gribe ind i beregningen. I vores tilfælde ønsker vi at implementere følgende scenarie: Forsendelsesomkostningerne pr. Artikel bestemmes oprindeligt i henhold til artiklens vægt (vægtgrænserne er specificeret). Kun med særlige undtagelser skal det være muligt at fastsætte faste forsendelsesomkostninger for hver vare.

.­.­.

Dynamiske permalinks i WordPress

WordPress permalink-systemet kan tilpasses meget godt til dine egne behov ved hjælp af struktur tags . Indstillingen% postname% er sandsynligvis den mest almindelige og gennemførlige løsning. Men hvis du vil implementere ægte dynamiske links, skal du først udvide systemet med din egen kode.

.­.­.

Korrupte hyperlinks i Word og Excel

Man skulle tro, at når man åbner hyperlinks fra et Word / Excel-dokument, startes standardbrowseren med den ønskede URL. Mærkeligt nok er dette ikke tilfældet - hvilket fører til ubehagelige bivirkninger og gør links til session / cookie-baserede loginbeskyttede sider i de nævnte Office-programmer umulige.

.­.­.

Et paradoks for fars dag

Til dagens farsdag giver en datter sin far et billede, som hun selv har malet, som hendes far havde længtes efter. Datteren siger: "Jeg vil give dig det billede, du har ønsket dig, og min gave vil være en overraskelse". Faderen holder pause og tænker over sandheden i denne erklæring.

.­.­.

Integrer dynamiske scripts med og uden HTTPS

Hvis du inkluderer ukrypterede scripts i <head> -området og kalder en side med et eksisterende SSL-certifikat krypteret, blokeres disse scripts og udføres derfor ikke. Hvis du simpelthen udelader protokollen, kaldes alle scripts automatisk i krypteret form, hvis hjemmesiden er tilgængelig via https: // - ellers ukrypteret.

.­.­.

Brugervenlighed i rullemenuer

Når man arbejder med flerdimensionelle rullemenuer, løber man ofte ind i problemet, at forkerte undermenuer åbnes ved et uheld, eller den ønskede undermenu ved et uheld lukkes. Denne effekt opstår, når musemarkøren forlader den tilsvarende menu på det øverste niveau, mens den navigerer til en allerede udvidet undermenu.

.­.­.

Shopware: Deaktiver varianter automatisk

I Shopware deaktiveres hele artiklen for en reel ordre, hvis alle varianter har et lagerniveau, der er mindre end eller lig med 0. For at implementere dette på en variantbasis programmerede jeg et lille plugin, hvis Bootstrap.php jeg giver nedenfor.

.­.­.

Dobbelt adgangskodeforespørgsel med SSL

Følgende konstellation har altid en ubehagelig bivirkning: Hvis du beskytter dit websted med htaccess / htpasswd og samtidig tvinger en SSL-forbindelse, skal du altid indtaste den samme adgangskode to gange (en gang til http og igen efter vellykket indtastning til https). Ved hjælp af konfigurationsafsnittene introduceret i Apache 2.4 kan problemet let håndteres.

.­.­.

Multi-line strenge i JavaScript

Ved programmering med JavaScript snubler man ofte over manglende evne til at realisere streng med flere linjer ved også at indtaste dem i flere linjer i koden. Mens opgaven på andre sprog som PHP eller Ruby ikke er et problem, med JavaScript kan du oprindeligt kun komme rundt med løsninger, hvis brug bestemmes af personlig smag eller browsersupport.

.­.­.

mail () i PHP med UTF-8 og umlauts

Afsendelse af e-mails med PHP implementeres bedst med kraftige klasser såsom PHPMailer . Praktiske indpakningsfunktioner gør det muligt at bruge indhold i UTF-8, at integrere billeder og sende krypterede vedhæftede filer med blot nogle få linjer kode. Hvis du vil spare dig selv for omkostningerne og i modsætning til anbefalingen bruge PHP-funktionen mail () , vil du løbe ind i problemer, når du bruger umlauts og UTF-8 senest.

.­.­.

Google PageSpeed ​​Insights vs. Google Analytics

Valideringsværktøjer såsom W3C Markup Validation Service eller Google PageSpeed ​​Insights er nyttige til objektiv evaluering af et websteds kode og ydeevne. Især Google påvirker en hel branche med koncepter som over folden - og giver også strenge, men nyttige retningslinjer for billedkomprimering og caching. Men det kan ske, at Google træder på egne ben.

.­.­.

Velkommen JavaScript 2.0

JavaScript dominerer internettet og ECMAScript, kernen i sproget vokser op. Den nye specifikation (ES6 eller JS2), som forventes i midten af ​​dette år, bringer adskillige innovationer med sig, som kan afprøves i dag. Firefox har i øjeblikket den bedste support , men polyfills gennem såkaldte transpilere som Google Traceur er også mulige. Følgende er en kort oversigt over de nye funktioner i ES6.

.­.­.

0,99999... = 1?

Uanset om det er i skolen eller på universitetet: Et interessant spørgsmål, der \( 0,99999... = 1 \) og da, inkluderer spørgsmålet om, hvorvidt følgende ligning er sand: \( 0,99999... = 1 \) . Selvom uendelighed \(0,99999... = A\) i den venstre del af ligningen, giver vi det et navn: \(0,99999... = A\) . Efter multiplikation med faktoren \(10\) og enkle algebraiske transformationer får vi en første forbløffende indsigt.

.­.­.

SQL: dårlig præstation trods indeks

Jeg blev lige konfronteret med følgende ydeevneproblem i en SQL-database: I en SQL-tabel kaldet "brugere" med ~ 1.000.000 poster tog det i uacceptable 28 sekunder at bestemme antallet af registreringer i dag. Registreringstiderne blev gemt i formatet “Ymd H: i: s” i kolonnen “oprettet”.

.­.­.

Lille skakproblem

Ud over det velkendte ridderproblem og dronningsproblemet er der mange andre spændende spørgsmål i skakverdenen. Jeg berørte to små nysgerrigheder i et tidligere blogindlæg . Hvis du behandler skakproblemer matematisk, vil du hurtigt opdage, at matematik giver meget enkle og lysende svar på mange spørgsmål.

.­.­.

Filer tilgængelige online med OneDrive

Hvis OneDrive, Dropbox, Google Drev, OwnCloud, Box.net: Uanset hvilken boks du gemmer dine filer i - tjenesterne er næsten de samme. De tilgængelige klienter til alle stationære og mobile systemer, standardkrypterede filer og delingsindstillingerne adskiller sig kun marginalt. Men OneDrive, der er integreret i systemet siden Windows 8.1, har en speciel funktion: kun filer tilgængelige online.

.­.­.

PHP: Filadgang med umlauts under Windows

Filer på webservere skal altid være uden mellemrum (ikke "dette er et billede.jpg"), uden umlauter eller specialtegn (ikke "football.jpg"), uden tilbageslag (ikke "Arbeit \ Auto.jpg") og med små bogstaver (ikke " test.JPG "). For nylig var jeg dog nødt til at få adgang til og behandle et stort antal forudindstillede filer med ethvert filnavn til et kundeprojekt.

.­.­.

SQL-forespørgsel for at bestemme en rangliste

I dag stødte jeg på følgende opgave, mens jeg arbejdede på et kundeprojekt: Tag en SQL-tabel "bruger" med kolonnerne "id" og "score" og bestem en rangliste over alle brugere sorteret efter "score", hvor brugere med få den samme placering med samme score. Denne opgave kan løses intuitivt og let ved hjælp af brugerdefinerede variabler .

.­.­.

Facebook SDK: Kontroller tokens på serversiden

Når du arbejder med Facebook SDK (mere præcist ved implementering af en Facebook-loginfunktion inden for en REST-grænseflade), skal det transmitterede token, som klienten modtog fra Facebook, først kontrolleres af serveren for gyldighed, inden yderligere operationer udføres .

.­.­.

Chrome DevTools: Adressering af DOM-elementer

Uanset om Chrome, Firefox, Opera, Safari eller endda Internet Explorer: Mens veludviklede udviklerværktøjer var et unikt salgsargument for Firefox og det populære Firebug- plug-in indtil for et par år siden, er kraftfulde udviklerværktøjer nu en del af standardområdet for enhver browser, hvor der er meget at opdage giver.

.­.­.

Adgang til filsystemet ved hjælp af SQL

Jeg stødte lige på en god mulighed i MySQL til at trykke på filsystemet og få værdifuld information, for eksempel om eksistensen af ​​filer og mapper eller deres indhold. Dette kan være meget nyttigt som et alternativ til php-funktionen file_exists , da informationen om eksistensen af ​​filerne stadig kan bruges i forespørgslen til yderligere sorterings- og aggregeringsfunktioner.

.­.­.

Animerede baggrunde med lærred

Animerede vektorbaggrunde kan tilføje variation i et weblandskab, der er kendetegnet ved fotos og videoer i fuld skærm. Det ville være rart, hvis dette ville gå hånd i hånd med indlæsningstider og bred hardware- og softwaresupport. En løsning er: lærred. HTML-elementet, der styres af JavaScript, understøttes af alle aktuelle browsere og gengives med høj ydeevne på mobile enheder.

.­.­.

Fast formatforhold for HTML-elementer

Som webudvikler er du ofte flov over at arbejde med HTML-elementer, der i sig selv - i modsætning til for eksempel img-elementet - hverken har en fast størrelse eller et fast billedformat. Ofte vil du opnå, at disse objekter opfører sig responsivt, men forholdet mellem bredde og højde opretholdes. CSS tilbyder ikke en intuitiv løsning her som standard. Men ved hjælp af den lodrette polstringsejendom kan du nå dit mål.

.­.­.

Domstolens afgørelse om brugen af ​​lagerfotos

Efter at Kölns regionale domstol rodede tilbage i RedTube-skandalen i sidste uge og aldrig fik lov til at godkende overgivelsen af ​​de kontroversielle IP-adresser, afsiger den endnu en meget kontroversiel og tvivlsom dom med beslutningen 14 O 427/13: Forfatteren af ​​Stock- Fotos fra et bestemt billedbureau skal også navngives via direkte adgang til dets billeder via deres URL.

.­.­.

Farvel Block & Inline - Velkommen HTML5

Innovationerne i HTML5-specifikationen er mange, og mange af dem understøttes allerede af størstedelen af ​​browserlandskabet - nedenfor vil jeg fremhæve en interessant ændring af reglerne for indlejringselementer. HTML har altid skelnet mellem blok- og inline-elementer. Dokumenttypedefinitionen af HTML4 navngiver for eksempel h1, p og div som blokelementer og a, span, img som inline-elementer.

.­.­.

HTTP-logning på IIS og Apache

Både Apache på Unix og IIS på Windows-systemer logger HTTP-anmodninger uden for boksen i filform. Anmodninger til dit eget websted bør ikke kun evalueres og analyseres regelmæssigt manuelt og automatisk (f.eks. Af logfilanalysatorer som AWStats ) for at beskytte mod hackingangreb. Stierne for de relevante logfiler i vidt anvendte konfigurationer er for eksempel som følger:

  • /var/log/apache2/access.log (Eksempel: Ubuntu 12.04, Apache 2.2)
  • C:\inetpub\logs\LogFiles\W3SVC1\u_ex<YYMMDD>.log (Eksempel: Windows Server 2012 R2, IIS 8.5)
.­.­.

Joomla, IIS og bibliotekets rettigheder

Når du integrerer Joomla 3.2 på en Windows Server 2008 R2 med IIS 7.5, opstår der ofte problemer med biblioteksrettigheder, som ofte løses utilstrækkeligt med indstillinger, der er for generøst valgt. Følgende løsning er sikker og fuldt funktionel:

  • Gruppen IIS_IUSRS har brug for rettighederne til C: \ inetpub \ wwwroot \: læse & udføre, vise mappens indhold, læse, skrive
  • IIS_IUSRS-gruppen har brug for rettighederne til C: \ Windows \ Temp \: Læs & udfør, Vis mappens indhold, Læs, skriv
  • Brugeren IUSR skal være i IIS_IUSRS-gruppen (Computeradministration> Lokale brugere og grupper> Grupper)

Hvis du har brug for yderligere specielle katalogrettigheder for alle filer, der uploades via PHP (f.eks. Til SSH eller FTP), kan du også indstille disse til mappen C: \ Windows \ Temp \. Hvis du uploader en fil via PHP, kopierer PHP først denne fil i den midlertidige og derefter i den endelige sti. Hvis filen er landet i den midlertidige mappe, arver den sine rettigheder og bevarer dem efter at have flyttet til den endelige mappe.

.­.­.

Anonym online: Umuligt?

I tider med NSA-skandalen er det ikke kun netværkskyndige brugere, der spekulerer på, om og hvordan man kan navigere i netværket anonymt for at undslippe myndighedernes og hemmelige tjenesters dataindsamlingsmani. Dette fører imidlertid ofte til fejl og forkerte antagelser. En central misforståelse er reduktionen af ​​anonymitet til tilsløringen af ​​IP-adressen.

.­.­.

McFIT - nyt logo, nyt billede

Rabat fitness kæden McFIT har givet sig en makeover. Mens en lysegul maskot i form af en banan prydede den blå bogstaver, er en gul sløjfe på en antracitfarvet baggrund nu dygtigt løbt ind i hinanden og danner således en abstrakt struktur. FDP-farverne blå og gul viger ikke kun for logoet, men også for alle andre McFIT-mærkevarer.

.­.­.

Photoshop: rejse tilbage i tiden

Da brødrene Thomas og John Knoll begyndte at udvikle Adobe Photoshop i 1987, var jeg endnu ikke født. I dag, i 2013, er softwaren et af de mest populære programmer generelt og den ubestridte markedsleder inden for billedbehandling. Takket være Adobe og Computer History Museum bevares softwaren nu til eftertiden i en meget speciel form.

.­.­.

Nysgerrighed i kongenes spil

Skak har fascineret mennesker i århundreder - dets regler er lette at lære, og dets utrolige dybde er kun tilgængelig for erfarne spillere (desværre er jeg ikke en af ​​dem). I det følgende vil jeg beskæftige mig med to korte spørgsmål: Er det muligt gennem en korrekt rækkefølge at komme til en position, hvor den sorte konge angribes af to hvide dronninger på samme tid? Er dette også muligt med to hvide tårne?

.­.­.

Docu-sæbe i stedet for blockbuster: 48 fps

Film optages normalt og afspilles med 24 billeder i sekundet - men det næsten 100 år gamle standardformat "24p" ser ud til at vakle. For at forhindre de grimme bivirkninger (f.eks. Det kraftige ryk i mellemhurtige kamerapander) af 24 fps-projiceringen er der i lang tid arbejdet med at fordoble billedhastigheden til 48 billeder pr. Sekund og mere.

.­.­.

Kontroller stavning på websteder

Automatiseret stave- og grammatikkontrol er nu standardudstyr i tekstbehandlingsprogrammer - men det har indtil videre været relativt besværligt at kontrollere stavningen på et websted. Google Chrome tager et første skridt i denne retning med en integreret kontrol i multi-line input felter (tekstarea). Nu er der en tjeneste, der gør dette muligt for hele websteder.

.­.­.

Telefonnumre i links - en sikkerhedsrisiko?

For et par uger siden rapporterede jeg om, hvordan du kan gøre det muligt for dine besøgende at åbne telefonappen på mobile enheder ved at trykke på et telefonnummer. Nu er der opstået en mulighed for uigenkaldeligt at blokere SIM-kortet eller at nulstille enheden til fabriksindstillingerne uden nogen handling fra brugerens side.

.­.­.

Interessante mailkuriositeter

Bør domænenavne og e-mail-adresser altid være små bogstaver for at sikre, at du kommer dit, hvor du vil hen? Eller er dette fuldstændig irrelevant? Google-mailserverne har for eksempel mærkelige indstillinger med interessante effekter, som jeg kort vil introducere i den følgende artikel.

.­.­.

Design af børskurserne i de daglige emner

Jeg følger nøje design af forskellige programmer på tysk tv. Næppe nogen udsendelse bevarer sit virksomhedsdesign permanent. Aftensritualet for mødet foran fjernsynsskærmen kl. 10:15 om dagens emner har fået mig ondt i det seneste: I nogle måneder er der valgt et helt forvirrende farveskema til præsentationen af ​​de nuværende børskurser.

.­.­.

Link telefonnumre korrekt

Hvis du optimerer dit eget websted til mobile enheder, skal du ikke kun være opmærksom på forskellige skærmstørrelser, optimerede indlæsningstider og specielle funktioner i operationen (såsom svæveeffekter), men også tage fat på enhedernes særlige muligheder. Dette inkluderer også (nogle mennesker har glemt) at foretage telefonopkald.

.­.­.

Kopier indhold på blogs

Det samme indhold på forskellige websteder straffes i mange tilfælde af Google - ikke desto mindre er Google-algoritmen intelligent og genkender, om elementerne i sidehoved og sidefod forbliver de samme, eller om hele testpassager kan nås to gange under forskellige webadresser. Det spændende spørgsmål er, hvordan Google håndterer sider med oversigter over blogartikler.

.­.­.

Forøg WordPress-sikkerhed

Sikkerheden for det i øjeblikket mest populære indholdsstyringssystem WordPress kan øges betydeligt ved at dreje to små skruer. Det tager kun 5 minutter og to linjer kode. Selvom problemet kan løses med en række forskellige plugins, begrænser jeg bevidst mig selv til plugin-fri løsninger.

.­.­.