Retsamma stämningar mellan Android och Apple
Skrivet av ratache den augusti 21, 2011
Android-lägret, med bland annat Samsung och HTC i spetsen, skulle randa hösten med nylanseringar och hota Apples grepp om plattor och smarttelefoner. Men Apple har svarat med moteld via domstol, som nu ger effekter. En tysk domstol har efter Apples krav beordrat säljförbud i Europa, för Android-tillverkaren Samsung. Följden av domstolsutslaget är oklart, men Samsung tvingas sannolikt på grund av eventuella likheter i design, dra tillbaka försäljningen av plattan Galaxy Tab 10.1 inom EU.
Amerikanska handelskammaren har i samma veva, efter krav från Apple, börjat utreda patentintrång från Android-leverantören HTC. Samtidigt pressas Google hårt av skadeståndskrav och patentanspråk från Java-lägret av Oracle. Pressen från juridisk håll på mobiloperativsystemet kan skapa oro som äventyrar den långsiktiga utvecklingen för Android.
Ett problem för Android och Google är att operativsystemet bygger på öppen källkod, vilket i vissa fall gör det enklare att stämma. De juridiska motgångarna riskerar att skrämma bort Android-utvecklare, som visserligen lockas av en populär och öppen plattform, men som inte tar onödiga ekonomiska risker.
Google och dess 39 stora tillverkningspartner kan reagera på hotet genom uppgörelser med fienden, eller att göra Android mer slutet. Om Samsung och HTC går med på en uppgörelse, i form av att betala licenskostnader, så får Apple extra tillskott i kassan och höjer konkurrenternas kostnader för att tillverka Android-lurar och plattor.
Google kan också välja att göra Android mer slutet. Att skapa nya, slutna, licenser som skyddar Android från juridiska attacker mot Googles partner. Det scenariot har bland andra öppen källkodsexperten Florian Mueller varit inne på. Det kanske svider, men så länge Android förblir helt öppen källkod, kan Apple och Oracle fortsätta attackera Google och dess Android-partner relativt fritt.
Sparad i Nyheter | Taggad: apple, eu, galaxy, german, htc, ipad, iphone, lawyers, legal, mobile, open, sale, sales, samsung, smartphone, source, tab, us | 2 Kommentarer »
C++ standard headers
Skrivet av ratache den augusti 12, 2011
C++ Standard Library header file
reference from C++ How To Program, Deitel
Explanation
<iostream>
Contains function prototypes for the C++ standard input and standard output functions, introduced in Chapter 2, and is covered in more detail in Chapter 15, Stream Input/Output. This header file replaces header file <iostream.h>.
<iomanip>
Contains function prototypes for stream manipulators that format streams of data. This header file is first used in Section 4.9 and is discussed in more detail in Chapter 15, Stream Input/Output. This header file replaces header file <iomanip.h>.
<cmath>
Contains function prototypes for math library functions (discussed in Section 6.3). This header file replaces header file <math.h>.
<cstdlib>
Contains function prototypes for conversions of numbers to text, text to numbers, memory allocation, random numbers and various other utility functions. Portions of the header file are covered in Section 6.7; Chapter 11, Operator Overloading; String and Array Objects; Chapter 16, Exception Handling; Chapter 19, Web Programming; Chapter 22, Bits, Characters, C-Strings and structs; and Appendix E, C Legacy Code Topics. This header file replaces header file <stdlib.h>.
<ctime>
Contains function prototypes and types for manipulating the time and date. This header file replaces header file <time.h>. This header file is used in Section 6.7.
<vector>,
<list>,
<deque>,
<queue>,
<stack>,
<map>,
<set>,
<bitset>
These header files contain classes that implement the C++ Standard Library containers. Containers store data during a program’s execution. The <vector> header is first introduced in Chapter 7, Arrays and Vectors. We discuss all these header files in Chapter 23, Standard Template Library (STL).
<cctype>
Contains function prototypes for functions that test characters for certain properties (such as whether the character is a digit or a punctuation), and function prototypes for functions that can be used to convert lowercase letters to uppercase letters and vice versa. This header file replaces header file <ctype.h>. These topics are discussed in Chapter 8, Pointers and Pointer-Based Strings, and Chapter 22, Bits, Characters, C-Strings and structs.
<cstring>
Contains function prototypes for C-style string-processing functions. This header file replaces header file <string.h>. This header file is used in Chapter 11, Operator Overloading; String and Array Objects.
<typeinfo>
Contains classes for runtime type identification (determining data types at execution time). This header file is discussed in Section 13.8.
<exception>,
<stdexcept>
These header files contain classes that are used for exception handling (discussed in Chapter 16).
<memory>
Contains classes and functions used by the C++ Standard Library to allocate memory to the C++ Standard Library containers. This header is used in Chapter 16, Exception Handling.
<fstream>
Contains function prototypes for functions that perform input from files on disk and output to files on disk (discussed in Chapter 17, File Processing). This header file replaces header file <fstream.h>.
<string>
Contains the definition of class string from the C++ Standard Library (discussed in Chapter 18).
<sstream>
Contains function prototypes for functions that perform input from strings in memory and output to strings in memory (discussed in Chapter 18, Class string and String Stream Processing).
<functional>
Contains classes and functions used by C++ Standard Library algorithms. This header file is used in Chapter 23.
<iterator>
Contains classes for accessing data in the C++ Standard Library containers. This header file is used in Chapter 23, Standard Template Library (STL).
<algorithm>
Contains functions for manipulating data in C++ Standard Library containers. This header file is used in Chapter 23.
<cassert>
Contains macros for adding diagnostics that aid program debugging. This replaces header file <assert.h> from pre-standard C++. This header file is used in Appendix F, Preprocessor.
<cfloat>
Contains the floating-point size limits of the system. This header file replaces header file <float.h>.
<climits>
Contains the integral size limits of the system. This header file replaces header file <limits.h>.
<cstdio>
Contains function prototypes for the C-style standard input/output library functions and information used by them. This header file replaces header file <stdio.h>.
<locale>
Contains classes and functions normally used by stream processing to process data in the natural form for different languages (e.g., monetary formats, sorting strings, character presentation, etc.).
<limits>
Contains classes for defining the numerical data type limits on each computer platform.
<utility>
Contains classes and functions that are used by many C++ Standard Library header files.
Sparad i C++ | Taggad: C, class, definitions, files, functions, h, header, prototypes, standard | Lämna en kommentar »
John Carmacks keynote at QuakeCon 2011
Skrivet av ratache den augusti 9, 2011
Sparad i Programmering, Systemarkitektur | Taggad: carmack, id, john, programmer, quake, quakecon, rage, software | Lämna en kommentar »
ASCII tabellen
Skrivet av ratache den juni 26, 2011
ASCII [’askɪ], eller American Standard Code for Information Interchange, är en teckenkodning som används för att representera bokstäver och andra tecken i datorer. Koden använder sju bitar vilket ger plats för 128 olika tecken. ASCII har samma tecken som referensversionen av ISO/IEC 646 plus 7-bitars styrkoderna i ISO/IEC 6429. ASCII designades för USA:s behov och räcker inte för något annat språk än engelska, eftersom några andra bokstäver än A-Z och a-z inte ingår. ASCII-standarden publicerades första gången 1963.
Med ASCII som grund har olika utvidgningar till 8 bitar gjorts, ofta kallade utökad ASCII. Till exempel ISO/IEC 8859-serien av teckenkodningar. De äldre kodningarna i Windows (CP1250, CP1252, CP932, m.fl) och Mac OS (MacRoman, MacJapanese, m.fl) är även de utvidgningar av ASCII. Dessa utvidgningar har ersatt ASCII i användning (eftersom 8 bitar är tillgängligt överallt numera), men de följer ASCII för de tecken som ingår i ASCII.
Internet startades med ASCII och 7 bitars överföring som grund, därför skapades nationella 7-bitsvarianter av ASCII i nästan alla länder, även i Storbritannien som behövde pundtecket £, och i Canada som ville stödja franska. Först ett gott stycke in på 1990-talet fungerade 8 bitars överföring av till exempel e-mail överallt på internet.
ASCII-utvidgningarna med 8 bitar, håller på att ersättas med Unicode, en teckenkodning som använder fler än 8 bitar, och som stöder alla språk. För att lagra Unicode i filer använder man oftast antingen UTF-8 som fungerar som en utökad ASCII (2-4 bytes för icke-ASCII-tecken), eller UTF-16 där tecknen lagras i 2-byte-sekvenser. (http://sv.wikipedia.org/wiki/ASCII)
ASCII-tabell
32 64 @ 96 ` 128 Ç 160 á 192 + 224 Ó
33 ! 65 A 97 a 129 ü 161 í 193 - 225 ß
34 " 66 B 98 b 130 é 162 ó 194 - 226 Ô
35 # 67 C 99 c 131 â 163 ú 195 + 227 Ò
36 $ 68 D 100 d 132 ä 164 ñ 196 - 228 õ
37 % 69 E 101 e 133 à 165 Ñ 197 + 229 Õ
38 & 70 F 102 f 134 å 166 ª 198 ã 230 µ
39 ' 71 G 103 g 135 ç 167 º 199 Ã 231 þ
40 ( 72 H 104 h 136 ê 168 ¿ 200 + 232 Þ
41 ) 73 I 105 i 137 ë 169 ® 201 + 233 Ú
42 * 74 J 106 j 138 è 170 ¬ 202 - 234 Û
43 + 75 K 107 k 139 ï 171 ½ 203 - 235 Ù
44 , 76 L 108 l 140 î 172 ¼ 204 ¦ 236 ý
45 - 77 M 109 m 141 ì 173 ¡ 205 - 237 Ý
46 . 78 N 110 n 142 Ä 174 « 206 + 238 ¯
47 / 79 O 111 o 143 Å 175 » 207 ¤ 239 ´
48 0 80 P 112 p 144 É 176 ¦ 208 ð 240 -
49 1 81 Q 113 q 145 æ 177 ¦ 209 Ð 241 ±
50 2 82 R 114 r 146 Æ 178 ¦ 210 Ê 242 =
51 3 83 S 115 s 147 ô 179 ¦ 211 Ë 243 ¾
52 4 84 T 116 t 148 ö 180 ¦ 212 È 244 ¶
53 5 85 U 117 u 149 ò 181 Á 213 i 245 §
54 6 86 V 118 v 150 û 182 Â 214 Í 246 ÷
55 7 87 W 119 w 151 ù 183 À 215 Î 247 ¸
56 8 88 X 120 x 152 ÿ 184 © 216 Ï 248 °
57 9 89 Y 121 y 153 Ö 185 ¦ 217 + 249 ¨
58 : 90 Z 122 z 154 Ü 186 ¦ 218 + 250 ·
59 ; 91 [ 123 { 155 ø 187 + 219 ¦ 251 ¹
60 < 92 \ 124 | 156 £ 188 + 220 _ 252 ³
61 = 93 ] 125 } 157 Ø 189 ¢ 221 ¦ 253 ²
62 > 94 ^ 126 ~ 158 × 190 ¥ 222 Ì 254 ¦
63 ? 95 _ 127 159 ƒ 191 + 223 ¯ 255
Sparad i Datavetenskap, Programmering | Taggad: ascii, C, Data, Programmering, sifferkod, tabell, uppsättning | 1 Kommentar »
Att visa hur overflow fungerar (?)
Skrivet av ratache den juni 25, 2011
Hur fungerar overflow? Vad händer om man ger en variabel sitt maximala värde plus 1? Följande kod visar vad som händer i C++. Istället för en crash ser vi att variablen tilldelas sitt motsatta värde i botten på dess värdeskala.
Att visa hur overflow av variabler fungerar:
// datatype_IO_030
// Per Johansson
//------------------------------------------------------------------------------
#include<iostream> // cout
#include<limits> // INT_MAX
using namespace std;
//-----------------------------------------------------------------------------
int main()
{
locale swedish("swedish");
locale::global(swedish);
//Programmet börjar här.
int Olle = INT_MAX; // Initera variabeln Olle till maxvärdet
unsigned int Lisa = Olle ; // Initiera Lisa = Olle
cout << " Olle har " << Olle <<" kr och Lisa har " <<Lisa << " kr." << endl;
cout << " Addera 1 kr till varje konto" << endl;
Olle = Olle + 1;
Lisa = Lisa + 1;
cout << " Olle har nu " << Olle <<" kr och Lisa har " << Lisa
<< " kr." << endl << endl;
Olle = 0;
Lisa = 0;
cout << " Olle har " << Olle <<" kr och Lisa har " << Lisa << " kr." << endl;
cout << " Tag 1 kr av Olle resp Lisa" << endl;
Olle = Olle - 1;
Lisa = Lisa - 1;
cout << " Olle har nu " << Olle <<" kr och Lisa har " << Lisa <<" kr."<< endl;
return 0;
}
Sparad i C++, Programmering | Taggad: över, breakpoint, C, debug, det, fungerar, hänger sig, hög, höjd, hur, maximalt, maximum, minimalt, minimum, overflow, stacking, under, variabelfel, variabelmängd, variabelvärde | Lämna en kommentar »
C++ sommarkurs delsteg 1_done
Skrivet av ratache den juni 23, 2011
// firstfile.cpp
// Ett första försök att göra ett C++ - program
// Per Johansson 2011-06-23
//-----------------------------------------------------------------------------
#include <iostream> // cout, cin
using namespace std;
//-----------------------------------------------------------------------------
int main()
{
int kr;
kr = 250;
cout << "Per Johansson fick ";
cout << kr;
cout << " kronor av Försvarsmakten idag."<< endl;
}
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
ANTECKNINGAR!
I C++ i jämnförelse med Python så deklarer man variabeln och dess typ först i koden innan man tilldelar ett värde.
int kr; <-- deklarerar datatypen och variabelnamnet samt allokerar plats för ett 32-bitars tal i RAM-minnet.
int = 250;
I Python blir detta:
kr = 250 (datatypen väljs automatiskt)
Variabelförteckning C++
Numerära tal:
Heltal Platsbehov (bitar) Talområde
int 32 -2 147 483 648 - 2 147 483 647
unsigned int 32 0 – 4 294 967 295
long 32 -2 147 483 648 - 2 147 483 647
unsigned long 32 0 – 4 294 967 295
short int 16 -32 768 – 32 767
enum 8 -128 - 127
Flyttal
float 32 3,4 10-38 - 3,4 10+38 (pos. & neg.) 7 siff. precision
double 64 1,7 10-308 - 1,7 10+308 (pos. & neg.) 15 –“-
long double 80 3,4 10-4932 – 3,4 10 +4932 (pos. & neg.) 18 –“-
Tecken
char 8 -128 – 127
unsigned char 8 0 – 255
Datatypernas platsbehov (längd) är beroende av plattform. Ovanstående siffror gäller för 32 bitars Windows operativsystem.
Dessutom gäller att: int = signed int och long = long int = signed long int. Tecken (char) representeras internt av ett heltal.
Typ Exempel Kommentar
Int int i; variabeln i lagrar ett heltal
int j, J; skiljer på gemener och versaler
int j=3; tilldelar värde i samband med deklarationen
int i, j, k; deklarera flera variabler samtidigt
int alder; det är INTE tillåtet att använd å, ä, ö, Å, Ä, Ö
int nr_of_colors: _ tillåtet i variabelnamn
float float x; variabeln x lagrar ett decimaltal (flyttal)
float y = 5.34 OBS! Punkt (“.”) är decimalavskiljare
char char ch variabeln ch lagrar ett tecken
char tecken=’A’; använd ’ ’ för att visa att A är ett tecken
Svenska i C++
//å - '\x86'
//ä - '\x84'
//ö - '\x94'
//Å - '\x8F'
//Ä - '\x8E'
//Ö - '\x99'
int main()
{
locale swedish("swedish");
locale::global(swedish);
cout << "åÅäÄöÖ" << endl << endl;
return 0;
}
Sparad i C++, Programmering | Taggad: åäö, C, char, datatyper, deklarationer, float, int, svenska, swe, tecken, teckenuppsättnig, tilldelning, variabeltyper, variabler | 1 Kommentar »
Intel skapar 3d-transistor
Skrivet av ratache den maj 5, 2011
När man konstruerar processorer för datorer och andra prylar används så kallade transistorer.
Dessa är väldigt små, och ju mindre de blir desto svårare blir det att sätta ihop dem. Igår kväll presenterade Intel dock en världsnyhet som ska förändra det.
Lösningen förefaller ganska enkel. Istället för att bara bygga på längden och bredden ska man nu även bygga på höjden. Och den tredimensionella transistorn är född. Intel kallar denna teknik för Tri-Gate och säger i ett pressmeddelande att den kommer förändra en lång rad av våra prylar.
Projektet har pågått ända sedan 2002, men det är först nu som man kan presentera en lösning för Tri-Gate där byggstrukturen används i massproducerande sammanhang. I olika demonstrationsvideor visas bland annat hur Tri-Gate förbättrar prestandan i datorer, hur mobiltelefoner kan bli mer energisnåla samt hur prestandakrävande servrar drar nytta av det nya tillvägagångssättet.
Intel presenterade också en processor som drar nytta av Tri-Gate, kallad Ivy Bridge. Mikroprocessorn på 22 nm är den första att skickas ut i massproduktion, och vi kan vänta oss att Tri-Gate börjar användas under andra halvan av 2011. – The performance gains and power savings of Intel’s unique 3-D Tri-Gate transistors are like nothing we’ve seen before, säger Mark Bohr, Intel Senior Fellow, i pressmeddelandet. Förutom att vara långt mer energisnål än tidigare transistorteknik ska Tri-Gate ge en prestandaökning på omkring 37 procent jämfört med tidigare tvådimensionella transistorer.
Sparad i Teknik | Taggad: 3d, computer, evolution, gate, Intel, processor, revolution, technology, transistor, tri, tri-gate, world | Lämna en kommentar »
