Jeg ville nu sige, at et udskrift fra en printer er 2-dimensionelt fordi det er en flade. Og selvom man folder en hat ud af det bliver det ved med at være en 2-dimensionel figur.Med den logik, så er en almindelig blækprinter også 1-dimensionel. Hovedet kører bare fra side til side. Det sker så mens et papir kører under det på den anden led.
En reprap, makerbot og lign. ville jeg sige, lavede 3-dimensionelle figurer, fordi de har volumen og ikke er en flade. Godt nok er der huller i den fordi den printer med tynd smeltet tråd, men det er et ingeniørmæssigt problem; hensigten er at det er en volumen.
Men figuer fra printeren i artiklen vil jeg mene er 1-dimensionelle. Den forsøger ikke at approximere hverken en flade eller volumen. (Ok, jeg må indrømme at der måske kunne findes SVG filer til den, som prøver at forestille en flade eller noget med densitet, men det lader ikke til at være hensigten med printeren, når man ser på eksempel-figurerne).
Jeg kom i tanker om en god analogi.
Hvis man som person springer ind i punktmængden, hvor mange frihedsgrader har man så for at bevæge sig?
Hvis du sidder inde i et stykke bøjet stålråd, kan du kun vælge at gå frem eller tilbage. Du kan ikke gå op eller ned eller til siderne (forudsat at vi taler om en teoretisk kurve som er 1 matematisk punkt i diameter).
Hvis du skal mødes med en kammerat i et bestemt punkt, og du skal give kørselsvejledning for en, som kun kan bevæge sig frem og tilbage, ja så angiver du 1 tal til ham, fx afstanden fra endepunktet. At angive x, y, z, giver overhovedet ikke mening - det er egenskaber uden for dit univers (det er i hvert fald sådan, man skal tænke på det). Der er altså tale om et R^1 vektorrum af 1 dimension.
Hvis du sidder inde i et stykke papir - uanset om det er fladt eller krøllet eller foldet - så har du 2 frihedsgrader. Du kan gå frem og tilbage, og du kan gå mod højre og venstre. Men du kan ikke gå op og ned. Det er et R^2 vektorrum af dimension 2.
Sidder du inde i et punkt, kan du ikke bevæge dig, og det er et R^0 vektorrum med dimension 0 :-)
Ja, det er også sådan, de fleste "almindelige" mennesker opfatter det. Men det er ikke den matematiske eller fysiske definition, og heller ikke sådan man ser på det i vektorgrafik i datalogi.Jeg vil vedholde at 1D betyder at du må beskrive at der findes "noget" i nogle intervaller på 1 akse.
Vores rum er punktmængde i R^3 vektorrummet; for at nå ethvert punkt skal du bruge 3 basisvektorer. De kunne se sådan ud: x = [1, 0, 0], y = [0, 1, 0], z = [0, 0, 1]. For at angive et punkt p tager man en bestemt mængde af x, y og z, fx. p = 5x + 2y + 7*z = [5, 2, 7].
Definitionen af et vektorrums dimension er, at Dim(vektorrum) = [mindste antal basisvektorer man skal bruge for at nå alle punkter]. Vores rum er altså 3-dimensionelt. Fint.
Men, for at nå hvert punkt på en kurve skal man højst bruge 1 basisvektor. Printeren kan kun gå i 1 retning. Den kan trække din ståltråd fremad. Hvert punkt kan angives som et multipla af 1 basisvektor x = [1], som angiver hvor meget ståltråd, der er trukket igennem.
Trådens punkter er et såkaldt 1-dimensionelt underrum af R^3. Udover at hvert punkt har en x, y, z-egenskab, så kan du fx tilføje en skiftende farve til tråden. Så bliver tråden et 1-dimensionelt underrum af R^4. Endivdere kan du måske tilføje temperatur til forskellige områder af tråden, så bliver det et 1-dimensionelt underrum i R^5.
Analogt er et punkt 0-dimensionelt og en flade (krøllet papir, fx) 2-dimensionelt. Jeg vil gerne understrege, at det ikke er nogen niche-agtig eller Rasmus-modsat/trolling-agtig måde at dreje tingene på. Det er den gængse almindelige definition af dimension.
Du kan prøve at søge efter "dimension of vector space".
Hvis du slet ikke har bøjet den, er ligningen fx (x y, z)(t) = 0, 0, t. Hvis du laver et skarpt knæk et sted, må du lave en gaffelfunktion, fx:Og hvordan ved jeg hvor et punkt på tråden befinder sig i rummet, bare fordi jeg ved at det er 10 cm fra starten af tråden? Tråden kan jo være bukket vilkårligt undervejs, og ergo kender jeg ikke "trådens ligning".
(x, y, z)(t) = 0, 0, t for t = [0; 10[ (x, y, z)(t) = t, 0, t for t = [10; 20[
Hvis du har bøjet den mere mærkeligt er det ikke sikkert, du kan finde nogen kontinuert ligning for det.
Uanset hvad, så er det i matematik og fysik antal uafhængige variabler, som bestemmer dimensionen. Her er der 't' og derfor er den 1-dimensionel.
Matematisk set er ting, som er lavet af en tråd, 1-dimensionelle, også selvom de udbreder sig i x, y og z. Fordi alle punkter i figuren kan bestemmes med 1 uafhængig parameter, nemlig afstanden fra trådens start, dvs angives som et 't' i en funktion (x, y, z) = .
Analogt er alting som er foldet af papir er 2-dimensionelt, (x, y, z) = <blah blah udtryk med t og u) og alting formet af fx modelervoks er 3-dimensionelt.
Hvorfor gemmer de ikke passwords hashværdier i stedet?
Normalt, vil der opstå en trådning, hvis du f.eks. har to processer, der søger adgang til samme hukommelsescelle eller ram lager. Ved at anvende "tilfældighedsfunktionen", kan du opnå, at du beskriver, at rækkefølgen som du ønsker adgang er uden betydning, og at du altså vælger en tilfældig funktion, afhængigt af din værdi - der så optimeres, til at være bedste valg, så der undgås låsning. I praksis, medfører det, at du kan skrive parallelt til en hukommelsescelle, eller ram, og at funktionen er tilfældig, afhængigt af rækkefølgen - altså, det sker parallelt, og uden trådning. Du går på kompromiss med determinismen, men opnår parallel adgang, da du tillader tilfældig adgang.
Hvis to kerner skriver i samme cpu clock, så foregår de altså parallelt på alle arkitekturer da det sker til write buffers som flushes til L1 cachen og videre. En tilfældig af dem ender i main memory. Så hvad er det egentlig for en funktionalitet, du prøver at beskrive? :)
C++11 concurrency compileres til få simple interlock og fence instruktioner. De kalder ingen eksterne funktioner, hverken operativsystemets tråd-API eller noget køretidssystem eller service. Så jeg forstår ikke lige den kritik.Jeg er "ked af", at man i C++11 har indført låse og multitrådning som en del af sproget. Det er imod "ånden" i sproget, som jo netop ikke kræver et runtime system. Hvis det var, kunne jeg altid bruge POSIX låse.
Jeg synes, det er lækkert, da mange systemer ikke understøtter POSIX og kræver særbehandling.
så tror jeg ikke at "locks" findes direkte, i indstruktionssættet, som compileren oversætter til.
C++ compilere indskyder aldrig bus lock-instruktioner automatisk... Det kræver et intrinsics statement i din kildekode (findes tit i trådbiblioteker).
Men ellers er det, du skriver om, jo bare lock free programmering :)
Altså at det er unødvendigt at tage en mutex som låser bussen hvis det, man vil have udelt tilgang til kun er en enkelt variabel som man vil udføre en simpel operation på. I så fald er det tilstrækkeligt med div. reordering fences fremfor bus lock.
Nåja, og ang. det du skrev om compileres analyse af C++ pointere - har du set på unique_ptr?
Lad mig gå i undervisermode en smule: Hvad nu hvis jeg har 2 skrivninger til hukommelsen. Og jeg ved, grundet en semantisk analyse, at de 2 skrivninger er til forskellige dele af hukommelsen? Kan jeg så ikke bare skrive, thi der kan ikke på nogen måde (i den nærliggende fremtid) være en konflikt mellem skrivningerne.</p>
Problemet findes på to niveauer. C++ compilere må gerne ændre rækkefølgen af læse- og skriveinstruktioner til memory (*a = 123;) i forhold til rækkefølgen i C++ kildekoden hvis de ikke overlapper (hvornår compileren gerne må gætte på at noget ikke overlapper er en anden diskussion).
<p>Og hvis jeg har følgende sekvens af instruktioner (bemærk at der ikke er nogen pointere her. Vi har bare et par registre),</p>
<p>A = 2 * X
B = A / 3
A = 9 * Y
Kan jeg så omordne instruktion 1 og 3 i sekvensen?
Men mange processorer (ARM, POWER, UltraSPARC) må også gerne ændre rækkefølgen af læsninger og skrivninger i forhold til instruktionerne. x86/x64 må dog ikke.
Så alt i alt kan trådning være pænt diffust med mindre man bruger bruger locks/barrierer/fences, som både findes på compiler og arkitekturniveau.
Min Desire er også ustabil. Et par fejl:Du læser ikke hvad jeg skriver. Efter at have haft min Desire i ca ét års tid på STANDARD rom, så var jeg så efterhånden så træt af evindelige crashes, at jeg arbejde mig igennem ROM´er på XDA - og det hjalp ikke.
Den stopper tit med at lave GSM fallback fra WCDMA (medførende 0 dækning), så jeg måtte sætte den permanent på "kun GSM".
Crash, crash, crash, crash, reboot, freeze, crash freeze, reboot
Den mister tit evnen til at etablere dataforbindelse, og kun reboot hjælper
GPS'en oplyser nogle gange en displaced position (100 meter længere mod øst, fx) hvorefter kun genstart hjælper.
Proximity sensor deadlock: Meget ofte når jeg løfter røret eller har gang i en samtale, kommer jeg til at lave en uheldig kombination af at fjerne den fra øret, låse/låse op og trykke nogle taster på skærmen eller hardwareknapper.
Jeg har ikke opsnuset den problematiske rækkefølge af events (og nej, det er ikke snavs i sensoren), men det resulterer i, at telefonen forbliver låst selvom jeg fjerner den fra øret. Dermed kan jeg ikke lægge røret eller genstarte.
Eneste løsning er at tage den ud af hylsteret, hive bagklappen af og fjerne batteriet!
Næste gang bliver det en WP7 :)
Jeg har heller ingen pinkode, men "saldomax aktiveret, så det ikke kan gå mere galt end 1000 kr. Beskytter samtidig mod trilliardregninger ved dataroaming.
Nu har version2 så nævnt de to mest generelle patenter, fx batteristatus. Hvad er de mere originale patenter så? Geez, jeg ville være villig til rent faktisk at betale et pænt abonnement til en avis som lavede noget mere benarbejde og upartisk viste 2 sider af en sag.
Desværre mangler OpenStreetMap gader, gadebetegnelser og bygningsbetegnelser rigtig mange steder i verden.
Til Android bruger jeg WorldExplorer, som er gratis og baseret på Google Maps. Jeg markerede et område på kortet, og så gik den igang med at cache 400 MB data (man kan undlade zoomniveau 19, 18 og 17, ellers fylder det for meget).
WorldExplorer er desværre noget skrammel at bruge i praksis, men sammenlignet med et par andre gratis alternativer er det det mindst ringe.
Alt det hersens grafiske effekter er i bund og grund leg uden faglig relevans.
Så mener du vel også, at idræt skal være tør cardiotræning i form af 1500-meterløb, og aldrig rundbold, som jo bare er irrationel fjollen rundt, der ikke øger ens sundhed?
Det var dog en utrolig trang til at registrere og kontrollere alt. Hvad med at den "arbejdsgruppe", der nævnes, begyndte at arbejde i stedet.
Det er jo at gå over åen efter vand. Hvorfor ikke "oprette en profil med en smuk kvinde og tale mænd efter munden" og dernæst bare afpresse dem med hvad de har skrevet til dig?Ved at oprette en profil med en smuk kvinde og tale mænd efter munden, kan man let få ofrene til at klikke på links, der installerer malware.
Det er lige præcis de få brugere og antal apps, der gør den attraktiv at tjene penge på lige nu, da man har mulighed for at komme først med et bestemt produkt.Lige pt. er platformens fremtid ganske enkelt alt for usikker og i lyset af hvor få enheder der er i brug så er det en meget lille gruppe man kan ramme pt. og derved bliver omkostningerne pr. bruger ofte alt for høj.
Se fx hvor stort et antal downloads de første Android widgets til at aktivere/deaktivere lydløs, har fået, mens alle de talløse efterfølgende kloner må kæmpe om brugerne :)
Det er lidt som Klondyke, bare i en meget kort periode :)
Prøv at sidde med et USB modem i din laptop eller med din smartphone uden for storbyerne.Det er synd at man i vores tid med store cpu'er og stor båndbredde stadig eftertragter lossy formater.
Progressive JPG billeder indeholder en separat og uafhængig preview udgave af billedet, som har lav opløsning, og fylder måske 20% af det rigtige billede.Sidst jeg tjekkede kunne både png, gif og jpeg foretage progressiv indlæsning, så brugeren kunne se billedet inden det var helt in
Som jeg forstår artiklen, behøver et WebP billede ikke denne separate preview udgave fordi hele billedet kan tegnes i lav opløsning udfra de første chunks af data i filen.
Spørgsmålet er så, om WebP stadig har en kvalitetsforskel i forhold til filstørrelse hvis man ikke anvender progressive billeder...
- Forrige side
- Nuværende side
- Side
- Side
- Side
- Side
- …
- 20
- Næste side
Lasse Reinholt