Archiv der Kategorie ‘Information Technology‘

Cast<> und OfType<> Unterschied

Montag, den 3. November 2008

LINQ bietet extra für den Umgang mit nicht generischen Collections die beiden Extensionmethoden Cast<> und OfType<>. Mit denen ist es möglich den Inhalt einer nicht generischen Collection wie zum Beispiel ArrayList umzuwandeln. Nehmen wir folgendes Beispiel:

public class Person {   
   public string Surname  { get; set; }
   public string LastName { get; set; }
}
ArrayList list = new ArrayList {  
   { new Person { Surname = "Alfons", LastName = "TheFirst" },   
   { new Person { Surname = "Alfons", LastName = "TheSecond" }
};

Wie ihr sicherlich wisst bekommt man beim iterieren durch die ArrayList wie oben aufgezeigt immer eine Referenz auf ein System.Object. Mit den beiden LINQ Operatoren Cast<> und OfType<> kann man nun die Objektreferenzen in die konkrete Klasse Person “casten” und bekommt bei einem LINQ Query immer ein IEnumerable<Person> zurück. Dies würde folgendermassen aussehen:

// Query syntax
var persons = (from p in list.Cast<Person>()
               select p where p.LastName == "TheSecond");
// Method chaining
var persons = list.Cast<Person>().
                        Where(p => p.LastName == "TheSecond");

Doch was ist nun der Unterschied zwischen den beiden Operatoren? Der Unterschied ist eigentlich schnell erklärt. Der Cast<> Operator versucht jedes Element in der Collection zum entsprechenden Typen zu Casten. Ist der Cast nicht erfolgreich so wird eine Exception geworfen und die Ausführung des Queries beendet. Mit dem OfType<> Operator wird versucht das Element zu Casten und wenn es nicht erfolgreich ist, wird einfach das Element in der Collection ausgelassen.

Dies ist vor allem nützlich, da man bei nicht generischen Collections nicht garantieren kann, dass immer die gleichen Elemente in die Colllection abgefüllt werden. So wäre es durchaus zulässig, dass jemand in der obigen Arraylist noch

list.Add("Ätschbätsch");

hinzufügt. Nähme man dann den Cast<> Operator so wurde die Ausführung des Queries scheitern. Bei OfType<> würde das Element “Ätschbätsch” einfach nicht berücksichtigt.

Gute Nachricht für EeePc Fans

Sonntag, den 2. November 2008

Der taiwanische Hersteller Asustek will die Preise für seine billigen Mini-Notebooks weiter senken. Im Jahr 2009 ist ein neuer EeePC für knapp 200 US-Dollar, umgerechnet 157 Euro, geplant.

Asustek-Chef Jerry Shen hat nach Bekanntgabe der Quartalszahlen des Unternehmens neue Produktpreise angekündigt. Eine Einsteigerversion des EeePCs soll im kommenden Jahr für circa 200 US-Dollar auf den Markt kommen.
Das Unternehmen verkaufte im dritten Quartal 1,7 Millionen EeePCs. Der Umsatz lag bei 78,26 Milliarden Neue Taiwan-Dollar (1,86 Milliarden Euro). Der Nettogewinn gab um 14,2 Prozent auf 6,38 Milliarden Neue Taiwan-Dollar (152,3 Millionen Euro) nach. Im laufenden Weihnachtsquartal will der Hersteller 1,9 Millionen Stück absetzen.
Die Mini-Notebooks mit 7 und 8-Zoll-Display laufen zu Gunsten von 10 Zoll-EeePCs aus. 70 Prozent der EeePCs kommen mit einer Festplatte in den Handel, 30 Prozent mit Solid-State Drives (SSD). Ebenfalls 70 Prozent laufen mit Windows XP, 30 Prozent mit Linux.
Für das gesamte zurückliegende Geschäftsjahr erwartet Asustek Computer 5 Millionen verkaufte EeePCs. Für das kommende Jahr wurde kein Ausblick gegeben. “Asus konzentriert sich künftig mehr auf die Steigerung der Brutto-Marge, auf die Betriebsausgaben und weniger auf Expansion der Marktanteile”, sagte er. Die neue Strategie laute “mehr Masse, weniger Modelle”
Im Berichtszeitraum trug das Notebook-Geschäft 47 Prozent zum Gesamtumsatz bei, davon entfielen 22 Prozent auf Netbooks. In Europa wurden 53 Prozent des Umsatzes generiert, in Asien 36 Prozent. Die Kreditkrise wirke sich negativ auf das Geschäft in Russland und der Ukraine aus, erklärte Shen weiter. (asa)

http://www.golem.de/0811/63298.html

Mit Vollgas Richtung .NET 4.0

Samstag, den 1. November 2008

Kaum wurde .NET 3.5 SP1 veröffentlicht sind schon die ersten Community Technical Prereleases des .NET 4.0 Frameworks erhältlich. Im Netz gibt es bereits ein cooles .NET Post mit den Klassen und Namespaces des .NET 4.0 Frameworks. Seht selbst:

http://brad_abrams.members.winisp.net/Projects/PDC2008/
DotNet4Poster/DotNetFramework4PosterDeepZoom.htm

Videos zu Visual Studio 2010

Samstag, den 18. Oktober 2008

Es tut mir leid, dass in letzter Zeit so wenig Beiträge auf meinem Blog veröffentlicht werden. Leider bin ich momentan im WK und habe am Wochenende fast keine Lust irgendwelche Beiträge zu schreiben. Aber diesen wollte ich euch nicht vorenthalten:

Unten findet ihr eine Liste von Videos die sich mit dem Thema Visual Studio Team System 2010 beschäftigen. Sehr interessant!

  1. Announcing Visual Studio Team System 2010
  2. Visual Studio Team System 2010 Week on Channel 9!
  3. Cameron Skinner: Visual Studio Team System 2010 – Architecture
  4. “Top-down” design with Visual Studio Team System 2010
  5. “Bottom-up” Design with Visual Studio Team System 2010 Architect
  6. ARCast.TV – Peter Provost on what’s coming for Architects in Visual Studio Team System
  7. Team Foundation Server 2010 Setup and Administration
  8. An early look at Team Foundation Build 2010 with Jim Lamb
  9. Enterprise Team Foundation Server Management with Mario Rodriguez
  10. Update on Team Foundation Server Migration and Synchronization
  11. Microsoft Visual Studio Team System Database Edition: Overview
  12. Improving .NET Application Performance and Scalability
  13. Microsoft Visual Studio Team S…er: How We Use It at Microsoft
  14. Team Foundation Server 2010 Setup and Administration
  15. Microsoft Visual Studio Team System: Software Diagnostics and Quality for Services
  16. Architecture without Big Design Up Front
  17. Microsoft Visual Studio Team System: Leveraging Virtualization to Improve Code Quality with Team Lab
  18. Branching and Merging Visualization with Team Foundation Server 2010
  19. Brian Harry: Team Foundation Server 2010
  20. Better Software Quality with Visual Studio Team System 2010
  21. Manual Testing with Visual Studio Team System 2010
  22. Historical Debugger and Test Impact Analysis in Visual Studio Team System 2010
  23. What’s new in Visual Studio Team System 2010: Feature: Historical Debugger

http://blogs.msdn.com/charles_sterling/archive/2008/10/13/visual-studio-2010-videos.aspx

Microsoft LifeCam

Dienstag, den 7. Oktober 2008

Eine völlig sinnlose aber coole Technologie ;) Überzeugt euch selbst:


Mega-Microsoftie LifeCam Shenanigans BONUS VIDEO!!!!!

Android vs. Windows Mobile

Samstag, den 4. Oktober 2008

John Wang von HTC sagt, Android sei kein Konkurrenz-Betriebssystem sondern ziele auf im Gegensatz zu Windows Mobile weniger auf die Business-Features ab sondern sei flexibler in Sachen Applikations- und Gerätedesigns und würde eher auf die Usability fokusieren. HTC plant, weiter beide Betriebssysteme einzusetzen und Geräte dafür zu entwickeln.

Quelle: Digitimes.com (Englisch).

Das ist vor Allem interessant wenn man bedenkt, dass Microsoft weiter daran festhällt, von den Herstellern und den Mobilfunkanbietern Lizenzgebüren zu fordern (zwischen USD 8 und USD 15 pro Gerät). Wenn man dazu überlegt, dass für Hersteller keine Lizenzgebüren fällig werden für Symbian oder Android-OS.

Quelle: PocketPCthouchts.com

Singularity

Samstag, den 27. September 2008

Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity), extending programming languages, and developing new techniques and tools for specifying and verifying program behavior.

Advances in languages, compilers, and tools open the possibility of significantly improving software. For example, Singularity uses type-safe languages and an abstract instruction set to enable what we call Software Isolated Processes (SIPs). SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel’s address space.

Singularity uses these advances to build more reliable systems and applications. For example, because SIPs are so cheap to create and enforce, Singularity runs each program, device driver, or system extension in its own SIP. SIPs are not allowed to share memory or modify their own code. As a result, we can make strong reliability guarantees about the code running in a SIP. We can verify much broader properties about a SIP at compile or install time than can be done for code running in traditional OS processes. Broader application of static verification is critical to predicting system behavior and providing users with strong guarantees about reliability.

http://research.microsoft.com/os/Singularity/

und zu diesem Thema ein interessantes Paper:

http://research.microsoft.com/os/singularity/publications/
OSR2007_RethinkingSoftwareStack.pdf

Wieder ein Grund mehr kein iPhone zu kaufen…

Sonntag, den 14. September 2008
Jeder Programmwechsel verursacht ein Bildschirmfoto

Wie jetzt bekannt wurde, speichert das iPhone 3G bei jedem Programmwechsel den gesamten Bildschirminhalt. Diese Screenshots werden zwar unmittelbar danach wieder gelöscht, allerdings lassen sich diese Daten restaurieren, warnt der iPhone-Experte Jonathan Zdziarski. Dadurch könnten vertrauliche Daten in falsche Hände gelangen.

Sobald mit Home-Knopf auf dem iPhone der Programmstarter aufgerufen wird, legt das Gerät einen Screenshot ab, berichtet der iPhone-Fachmann Jonathan Zdziarski. Diese Bilddatei wird benötigt, um den Überblendeffekt zu realisieren, bei dem das zu verlassende Programmfenster verkleinert wird und verschwindet. Sobald der iPhone-Programmstarter aktiv ist, wird dieser Screenshot gelöscht. Allerdings ist es durchaus möglich, diese gelöschten Dateien wiederherzustellen, so dass Unbefugte Zugriff auf vertrauliche Daten erhalten können.
Wenn etwa die SMS-Applikation oder der Kalender aktiv waren, könnten Kurzmitteilungsinhalte oder Termine ausspioniert werden. Besitzer eines iPhones haben keine Möglichkeit, das Anlegen dieser Screenshots zu verhindern, bemängelt Zdziarski.

Quelle: http://www.golem.de/0809/62392.html

Interessantes neues Gerät von HTC

Samstag, den 13. September 2008

Es nennt sich HTC Touch HD und soll noch Ende Jahr erscheinen. Hier die technischen Spezifikationen:

Brand: HTC
Browse HTC devices
Manufacturer: High Tech Computer
Browse all devices manufactured by High Tech Computer
Model-ID:
Expected-Releaseate: December, 2008
Physical:Attributes
Dimensions
(width x height x depth): 62.8 x 115 x 12 millimetres
2.5 x 4.5 x 0.5 inches
Bounding;Volume: 86.7 cubecentimetres
Software-Environment
Embedded_Operating-System: Microsoft Windows Mobile 6.1 Professional
Browse devices running this OS
Operating+System+Kernel: Windows CE 5.2
Microprocessor,;Chipset
CPU: Qualcomm MSM7201A
Browse devices based on MSM7201A
Width+of_Machine;Word: 32 bit
CPU_Clock: 528 MHz
CPU-Core: ARM1136EJ-S
Instruction:Set: ARMv6
Memory,_Storage:capacity
ROM+type: Flash EEPROM
ROM:capacity: 512 MiB, including 327.15MiB user-accessible non-volatile storage
RAM+type: DDR SDRAM
RAM_capacity: 288 MiB
Graphical:subsystem
Display:Type: color transflective TFT display
Display+Color+Depth: 16 bit/pixel (65536 scales)
Displayiagonal: 4 " (101 millimetres)
Display_Resolution: 480 x 800 (384000 pixels)
Dot_Pitch: 0.1083 millimetre/pixel
Audio_Subsystem
Audio;Channel(s): stereo sound
Analog/Digital Converter
(Recording): 16 bit nominal quantization
44100 Hz sampling frequency
Digital/Analog Converter
(Playing): 16 bit resolution
44100 Hz holding frequency
Microphone(s): mono sound
Loadspeaker(s): stereo sound
Audio:Output: 3.5mm plug
Cellular+Phone
Cellular;Networks: GSM900, GSM1800, GSM1900, UMTS900, UMTS2100
Cellular-Data;Links: CSD, GPRS, EDGE, UMTS, HSDPA
Cellular:Antenna: Internal antenna
Call:Alert: 40 -chord melody (polyphonic)
Vibrating;Alert: Supported
Speakerphone+: Supported
Phone;Controller: Qualcomm MSM7201A (QDSP4000, QDSP5000)
Control:Peripherals
Positioning-Device: Touchscreen
Primary-Keyboard: Not supported
Directional_Pad: Not supported
Scroll:Wheel: Not supported
Interfaces
Expansion_Interfaces: microSD, microSDHC, TransFlash, SDIO
Supports High Capacity (SD 2.0/HC) memory cards with capacity of up to 32GB
USB: USB 2.0 client, Hi-Speed (480Mbit/s)
USB Series Mini-B (mini-USB) connector
Bluetooth;(802.15): Bluetooth 2.0 + Enhanced Data Rate, Internal antenna
Wireless:LAN/Wi-Fi-(802.11): IEEE 802.11b, IEEE 802.11g, 54 Mbit/s
Internal antenna
Infrared-Gate: Not supported
Multimedia+Broadcast
Analog;Radio: FM radio (87.5-108MHz) with RDS radio reciever
Proprietary headset as antenna
Digital-Media+Broadcast: Not supported
Satellite:Navigation
Built-in-GPS:module: Supported
GPS+Protocol: NMEA 0183
GPS:Antenna: Internal antenna
Complementary_GPS:Services: Assisted GPS, QuickGPS
Navigation;Chip(set): Qualcomm MSM7201A gpsOne
Built-in-Digital-Camera
Sensor+Type: CMOS sensor
Resolution: 2560 x1920 pixels (4.92MP)
Autofocus_(AF): Supported
Optical-Zoom: 1 x
Macro+Mode: Not supported
Built-in+Flash: Not supported
Camcorder: 320×240 pixels , 30frame/sec
Recordable-Image:Formats: JPG, BMP
Recordable+Video+Formats: 3GPP, MPEG4, MJPG
Built-in_Secondary_Digital:Camera
Sensor-Type: CMOS sensor
Resolution: 640 x480 pixels (0.31MP)
Camcorder: 320x240pixels
Recordable+Image:Formats: JPG
Recordable:Video;Formats: 3GPP, MPEG4
Power:Supply
Battery;Technology: Supported
Battery+Build: removable
Estimated:Battery-Life: 8 hours
Battery;Capacity: 1350 mAh
Estimated:Avarege;Current: 169 mA
Additional-Details
Built-in+accelerometer: Supported

Schöne Bilder inkl. Grössenvergleich findet ihr hier:

http://wmpoweruser.com/?p=941

Swype – Interessante neue Eingabeform

Donnerstag, den 11. September 2008

Irgendwie schon noch cool, aber auch nicht ganz neu. Aber ich bin trotzdem etwas skeptisch. Ich konnte schon auch mit T9 überhaupt nichts anfangen, vor allem wenn man seine SMS auf Schweizerdeutsch schreibt ;)

http://www.swypeinc.com/product.html