Quantcast
Channel: Rico Magnucki – icancode.de
Viewing all 32 articles
Browse latest View live

Größter gemeinsamer Teiler (rekursiv)

$
0
0

Neue Programmiersprachen lernen sich am besten mit Beispielen. Da mir nicht immer passende Beispiele einfallen, bediene ich mich gerne bei den Basics aus dem Bachelor Studium. So z.B. auch am größten gemeinsamen Teiler (ggT).

Berechnet wird der größte gemeinsame Teiler in der Regel über den euklidischen Algorithmus.

Did you mean: recursion?

Meinten Sie Rekursion? - icancode.deDieser Algorithmus wird allgemein gern verwendet, um Rekursion zu erklären. Ich setze jetzt mal voraus, ihr wisst wie Rekursion funktioniert. Sonst googlet das doch einfach mal ;)

Zurück zum größten gemeinsamen Teiler. Die beiden Spezialfälle a = 0 und b = 0 sind klar – sie geben einfach die andere Zahl zurück.

if (a == 0) return b
if (b == 0) return a

Für die restliche Berechnung reicht eine Fallunterscheidung:

if (a > b) return ggt(a - b, b)
else return ggt (a, b - a)

Ist a größer als b, dann wird ggt erneut aufgerufen. Diesmal aber mit den Werten a - b und b. Ist a kleiner als b rufen wir ggt mit a und b - a auf.

Das wird jetzt so lange wiederholt, bis a oder b 0 ist. Komplett haben wir dann folgende Methode:

fun ggt(a: Int, b: Int): Int {
    if (a == 0) return b
    if (b == 0) return a
    if (a > b) return ggt(a - b, b)
    else return ggt (a, b - a)
}

Das muss doch schöner gehen…

Geht es auch. Der moderne euklidische Algorithmus ist noch kürzer.

fun ggt(a: Int, b: Int): Int {
    if (b == 0) return a
    return ggt(b, a.mod(b))
}

Hier wird sich des modulo Operators bedient – der Division mit Rest also. Es gibt die gleiche Abbruchbedingung wie in der ersten Variante: b == 0

Sollte das nicht der Fall sein, wird die Methode erneut aufgerufen. Diesmal aber mit den Werten b und a modulo b.

Warum funktioniert das?

Wir haben nur eine Abbruchbedingung definiert, warum funktioniert das Programm dann trotzdem? Weil 0 mod x 0 als Ergebnis liefert. Demnach sind die Werte im nächsten Schritt x , 0 und die Abbruchbedingung ist erfüllt.

Weiter zu: größter gemeinsamer Teiler (iterativ)

Der Artikel Größter gemeinsamer Teiler (rekursiv) erschien zuerst auf icancode.de.


Quersumme berechnen

$
0
0

Ein neuer Teil der Einstiegstutorials. Diesmal geht es um Quersummen. Wir erinnern uns, die Quersumme ist nicht der Durchschnitt, sondern das Aufaddieren der einzelnen Stellen, der vorliegenden Zahl.

Ein Beispiel

Wir haben die Zahl 90792 gegeben. Nun sollen die einzelnen Stellen der Zahl zusammengerechnet werden. Daraus ergibt sich dann folgende Rechnung:

9 + 0 + 7 + 9 + 2 = 27

Und wie berechnen wir das jetzt? Erinnert ihr euch noch an den modulo Operator? Der hat uns den Rest einer Division zurückgegeben. Wenn wir jetzt die Zahl modulo 10 nehmen, dann erhalten wir den Wert der letzten Stelle.

90792 % 10 = 2

Und nun? Um das Komma zu verschieben, wird die Zahl durch 10 geteilt. Dabei sollte die Frage aufkommen, was denn mit der Nachkommastelle passiert. Wir verwenden den Datentyp Int also nur ganze Zahlen. Demnach können wir auch nur eine ganzzahlige Division durchführen — die Nachkommastelle fällt einfach weg. Für unsere Zahl würden die Rechenschritte jetzt wie folgt aussehen:

90792 % 10 = 2
9079  % 10 = 9
907   % 10 = 7
90    % 10 = 0
9     % 10 = 9
0    

Wir zäumen die Quersumme jetzt also von hinten auf. Die Werte müssen nur noch aufaddiert werden. Im Quellcode könnte das z.B. so aussehen:

fun checksum(input: Int) : Int {    
  var number = input
  var result = 0

  while(number != 0){
      result += number.mod(10)
      number = number / 10
  }

  return result
}

Der Artikel Quersumme berechnen erschien zuerst auf icancode.de.

15 Sortieralgorithmen in 6 Minuten

$
0
0

Sortieralgorithmen sind so eine Sache. Toll wenn sie funktionieren – doof, wenn man sie optimieren will. Und wie funktioniert das überhaupt. Oft hilt eine Visualisierung, um zu verstehen, wie ein Algorithmus funktioniert. Wer nicht so auf Sortierpolka steht, der wird vielleicht hier glücklich. Aber Achtung, das Video ist absolut nichts für Epileptiker.

Die Langsamen Varianten findet ihr hier: Sorting Algorithms (slower, grouped and ordered)

Der Artikel 15 Sortieralgorithmen in 6 Minuten erschien zuerst auf icancode.de.

Größter gemeinsamer Teiler (iterativ)

$
0
0

Die Grundlagen und die rekursive Lösung habe ich ja bereits beschrieben. Der Vollständigkeit halber, hier noch die iterativen Lösungen:

Die alte Variante funktioniert wie folgt:

fun ggt(a: Int, b: Int): Int {
    var x = a
    var y = b
    if (a == 0) return b
    while (y != 0) {
        if (x > y) x -= y
        else y -= x
    }
    return x
} 

a und b müssen in separate, mutable Variablen überführt werden – also Felder, die veränderbar sind. Anschließend wird so lange eine Zahl von der anderen abgezogen, bis y = 0 ist.

Der moderne Algorithmus verwendet auch in der iterativen Implementierung den modulo Operator.

fun ggt(a: Int, b: Int): Int {
    var x = a
    var y = b
    while (y != 0) {
        val z = x.mod(y)
        x = y
        y = z
    }
    return x
}

Auch hier müssen die Parameter erst mutabel gemacht werden. Anschließend wird gerechnet. Das Ergebnis der Division mit Rest wird im Beispiel in dem Feld z zwischen gespeichert. Dieses kann immutable (unveränderbar) sein, da in jedem Schritt neu angelegt und nicht verändert wird. Natürlich ist auch eine Lösung möglich, die nur mutable Felder nutzt:

fun ggt(a: Int, b: Int): Int {
    var x = a
    var y = b
    var z: Int
    while (y != 0) {
        z = x.mod(y)
        x = y
        y = z
    }
    return x
}

Wie so oft sind die iterativen Implementierungen mehr Code als die rekursiven Lösungen. Dafür sind sie in der Regel einfacher lesbar bzw. nachvollziehbar, wenn der Algorithmus komplexer wird.

Der Artikel Größter gemeinsamer Teiler (iterativ) erschien zuerst auf icancode.de.

Uptime Funk

$
0
0

Dieses Fundstück stammt aus der letzten Episode der Freakshow. Was soll ich sagen – es trifft den Nagel auf den Kopf. Wer schon mal an einem Server gesessen hat, kann es mit einem Grinsen auf den Lippen genießen – wer das Vergnügen Erlebnis noch nicht hatte, kommt aber auch auf seine Kosten ;)

Der Artikel Uptime Funk erschien zuerst auf icancode.de.

Ein Sieb für Primzahlen

$
0
0

Primzahlen finden eine breite Anwendung in der Informatik. Dabei handelt es sich um Zahlen, die nur durch 1 und sich selbst teilbar sind. So z.B. 3, 5, 7, 13…

In diesem kleinen Bereich ist es noch relativ einfach, Zahlen als Primzahlen zu identifizieren. Wird der Wertebereich größer, ist es ein ziemlich aufwendiges Unterfangen. Was können wir also tun, um die Suche zu beschleunigen?

Das Sieb des Eratosthenes von Kyrene

Die Idee ist genau so einfach, wie sie genial ist. Aus einer Reihe von Zahlen werden nach und nach alle vielfachen des Laufindexes rausgestrichen – was dabei nicht aus der Liste fliegt, muss also eine Primzahl sein.

Programmiertechnisch könnte man das z.B. so umsetzen:

@NotNull
fun lambdaPrimesTill(a: Int): ArrayList {
    var inputRange = (2..a).toArrayList()
    (2..a + 1).forEach { n -> inputRange.removeAll((2*n..a).filter { it % n == 0 }) }
    return inputRange
}

Das ist jetzt zwar schön kurz, aber alles andere als lesbar. Lösen wir die Lambdas also mal auf und schauen uns das genauer an. Diesmal ohne verschachtelte Lamdbas und mit expliziter Typdeklaration.

@NotNull
fun primesTill(a: Int): ArrayList {
    var inputRange: ArrayList = (2..a).toArrayList()
    for (n: Int in 2..a + 1) {
        inputRange.removeAll(
                (2 * n..a)
                        .filter { it: Int ->
                            it % n == 0
                        })
    }
    return inputRange
}

Was passiert hier?
Zuerst wird eine ArrayList erstellt, die mit den Werten 2 bis input+1 gefüllt wird. 0 und 1 sind per Definition keine Primzahlen, demnach reicht es, wenn die Liste bei 2 startet.
Anschließend wird durch die Liste iteriert. Für jede Zahl die wir im Iterator haben, entfernen wir alle Vielfachen aus der Liste. In meinem Fall nutze ich dafür einen filter. Dieser bekommt als Condition ein Lambda. Ist der Iterator beispielsweise bei 2 würde der Rückgabewert des Filters eine Liste von allen Vielfachen von 2 sein.
Dabei sei kurz angemerkt, dass dies sicherlich nicht die performanteste Lösung ist, aber die anschaulichste, wie ich finde.

Wollt ihr jetzt wissen, ob eine gegebene Zahl eine Primzahl ist, könnt ihr einfach nachgucken, ob sie in dieser Liste enthalten ist.
Bei dieser Methode ist übrigens auch zu beachten, dass der Input vorher validiert werden sollte. So wie oben beschrieben, funktioniert das nur mit positiven, geraden Zahlen >= 2 – ansonsten bekommt ihr eine leere Liste zurück. Negative Zahlen sind ja schließlich auch keine Primzahlen ;)

Der Artikel Ein Sieb für Primzahlen erschien zuerst auf icancode.de.

Datenbanken – Grundlagen und Design

$
0
0

Datenbanken sind ein allgegenwärtiges Thema. Sei es beim Shoppen, beim Arztbesuch, beim Surfen im Netz oder beim Zocken – überall interagieren wir bewusst oder unbewusst mit Datenbanken. Einen Barcode auslesen, die Patientenakte aufrufen oder beim einloggen auf einer Plattform, all diese Aktionen benötigen eine Datenbank um zu funktionieren.

Aller Anfang ist schwer, weswegen ich heute ein Buch vorstellen darf, dass gerade Einsteigern eine breite Basis an Wissen liefert: Datenbanken – Grundlagen und Design vom mitp Verlag.
Datenbanken-Grundlagen-und-Design-mitp-Verlag-icancode

Aus dem Inhalt

Das Buch gliedert sich in 3 Teile:

  1. Grundlagen (ca 100 Seiten)
  2. Datenbankdesign und Implementierung (ca. 150 Seiten)
  3. Weiterführende Themen (ca. 250 Seiten)

Diese Aufteilung zeigt schon, dass es mit Grundlagen und Designprinzipien nicht getan ist, wenn man sich einen Überblick über die Welt der Datenbanken verschaffen will. Zu vielfältig sind die Möglichkeiten und individuellen Lösungen.

Grundlagen

In diesem Teil werden die Themen besprochen, die jeder wissen sollte und die doch oft viel zu kurz kommen. Neben einem kurzen Abriss der Historie, werden hier auch die Fragen geklärt, was eigentlich ein Datenbank Management System ist. Welchen Arten von Datenbanken gibt es eigentlich? Was ist eine Middleware? Was zeichnet ein relationales Datenbankmodell aus und welche Operationen gibt es hier?
Dabei geht Frank Geisler auch auf Metadaten, Indizes und andere Feinheiten ein, die andere Grundlagenbücher gerne auslassen.

Datenbankdesign und Implementierung

Der zweite Teil konzentriert sich auf Entity-Relationship-Modellierung. Konzepte, Modelle, Diagramme, Normalisierung und Denormalisierung. Alles ist vorhanden und in mit vielen informativen Grafiken untermalt, die das Verständnis unterstützen und die trockene Theorie auflockern.
Eine Einführung in SQL (Structured Query Language) darf natürlich nicht fehlen. Diese nimmt mit 70 Seiten einen großen Teil der gesamten Teils ein und fällt dementsprechend ausführlich aus.

Weiterführende Themen

Hier wird es noch einmal spannend, denn hier werden konkrete Anwendungsfälle beschrieben. Themen wie der System Development Life Cycle, verteilte Datenbanken, konkurrierende Zugriffe und die Client-Server-Architektur werden erklärt und besprochen. Selbst Data Warehouses, Data-Mining und Big Data wurden Kapitel gewidmet.

Eine weitere Besonderheit

Am Ende von jedem Kapitel findet ihr eine Zusammenfassung und einen kurzen Aufgaben-Block. Dieser unterscheidet zwischen Aufgaben zum Wiederholen und Aufgaben zum Weiterdenken. Ob ihr die Aufgaben macht oder nicht ist euch überlassen. Am Ende des Buches findet ihr die Lösungen zu den Aufgaben. Damit könnt ihr selbst kontrollieren, ob ihr auf dem richtigen Weg wart.

Fazit

Ob nun Anfänger oder nicht, das Buch hat eine Menge Potential. Egal ob als Lehrwerk oder als Nachschlagewerk. Der Schreibstil ist verständlich und die Abbildungen sehr hilfreich. Die Code-Beispiele, Hinweise usw. sind mir persönlich ein bisschen zu dunkel geraten. Da ließe sich vielleicht eine bessere Lösung finden.

Der Artikel Datenbanken – Grundlagen und Design erschien zuerst auf icancode.de.

Die Ausführung eines C Programms [GIF]


Eine git Weihnachtsgeschichte

Jahresrückblick 2015

$
0
0

icancode.de hat es also geschafft ein weiteres Jahr zu überstehen. Gleichzeitig hat sich die Seite und ihr Inhalt ziemlich verändert. Mal besser, mal schlechter, mal länger, mal kürzer.

In den 52 Wochen des Jahres gab es mindestens einen Beitrag pro Woche. Hauptsächlich getrieben von dem Ehrgeiz, eine gewisse Konsistenz in das Medium icancode.de zu bringen. Dennoch ist der ironbloggerowl nicht ganz unschuldig. Immerhin hab ich in den gut 2,5 Jahren, die ich daran teilgenommen habe nur 2 Wochen nicht gebloggt und bin einer der wenigen, die überhaupt so lange durchgehalten haben. 2016 hat jetzt schon jede Menge Termine und Neuanfänge. Die Masterarbeit ist in den letzten Zügen, im April beginnt das Arbeitsleben und es stehen so viele Hochzeiten an, dass ich noch gar nicht weiß, wie ich die alle besuchen soll. Darum habe ich jetzt beschlossen den IronBloggern den Rücken zu kehren und auf eigene Faust weiter zu machen. Regelmäßigkeit ist nicht immer alles.

Was mir dieses Jahr am meisten Spaß gemacht hat und was gleichzeitig auch etwas neues in 2015 war, sind Buchreviews. Angefangen hat alles mit dem Interview mit Torsten Will. Irgendwie war die ganze Aktion doppeltes Neuland. Ich hatte vorher weder jemanden richtig Interviewed, noch ernsthaft Bücher rezensiert. Im Grunde haben wir uns dann bei wunderbarstem Wetter auf dem Siegfriedplatz – hier in Bielefeld – auf ein Kellerbier getroffen und ich durfte einfach Fragen, was mir auf der Seele lag. Sehr spannend. Anschließend habe ich dann festgestellt, wie aufwendig es ist, einen Audiomitschnitt auf Papier zu bringen. Arbeiten mit dem Diktiergerät wär nichts für mich – da hat man nur doppelte Arbeit.
Wenn ich mir das Archiv so angucke, ist die Sache mit den Reviews ziemlich schnell nach vorne gegangen. Ich habe Bücher für den Rheinwerk Verlag, für O’Reilly und mitp gelesen und meinen Eindruck aufgeschrieben. Richtig spannend wurde es dann, wenn man zwei Bücher zu einem ähnlichen Thema hatte und anfing die beiden zu vergleichen. Erstaunlicherweise scheint der Schreibstil vieler moderner Fachbücher sehr locker und fast schon humorvoll zu sein. Ist die Zeit der staubig, trockenen Fachbücher damit vorbei? Keine Ahnung aber ich bin gespannt, wie es sich weiter entwickelt. In mancher Hinsicht war es auch erschreckend, wie unterschiedlich lange ich für die Bücher gebraucht habe. Manche waren schnell gelesen, andere waren zwar verdammt interessant aber zäh wie Gummi. Teilweise floss mir die Rezension nur so aus den Fingern – an anderen Stellen musst ich ganz schön saugen, bis ich das Gefühl hatte, ich sei damit zufrieden. Im Großen und Ganzen hatte ich echt nur tolle Bücher, über die ich schreiben durfte und dennoch musste ich mich das eine oder andere Mal durchringen auch die negativen Aspekte aufzuführen. Warum das ein Problem ist? Naja, wenn ihr hier eine Rezension lest, könnt ihr in 90% der Fälle davon ausgehen, dass ich das Buch vom Verlag gestellt bekommen habe – da will man dann nur ungern was schlechtes schreiben. Andererseits kann ich auch nur aufschreiben, was meine eigene Meinung ist. Da ich die außerhalb des Blogs grundsätzlich auch vertrete, wäre es alles andere als authentisch, wenn ich das nicht auch hier täte. Bis jetzt kamen auch noch keine Beschwerden :).

Für 2016 gibt es dann auch noch ein bisschen Hardware. Aktuell habe ich hier noch einen Netgear Router auf dem Schreibtisch stehen, dessen Bericht in den nächsten paar Tagen folgen wird ;)

Was ist noch passiert? Kotlin! Man könnte fast schon sagen, ich habe mich verliebt. Darauf gestoßen bin ich eigentlich zufällig. Als kleiner JetBrains Fanboy und Hobby Android Entwickler hör ich natürlich auch den einen oder anderen Podcast und treibe mich in diversen Slack Channels rum. Dabei kam Kotlin immer wieder drin vor und irgendwann wollte ich es dann selber ausprobieren. Die Ähnlichkeit zu Swift ist kaum zu leugnen und da ich gerade ein Swift Projekt für die Uni abgeschlossen hatte kam ich schnell in Kotlin rein. Im Gegensatz zu Java kann man die Sprache fast schon als minimalistisch beschreiben. Sie nimmt mir dermaßen viel Tipparbeit ab, dass ich Programme teilweise auf ein Drittel der eigentlichen Größe zusammenschieben konnte. Probleme mit Bibliotheken gibt es auch nicht, da man einfach alles von Java mitbenutzen kann. Großartig! Kotlin kann auch JavaScript generieren. Das hab ich mir noch nicht angeguckt, werde ich aber ziemlich bald nachholen, da ich mit JavaScript wohl bald öfter zutun haben werde. Vielleicht kann man da mit Kotlin ein paar Brücken schlagen und den Einstieg erleichtern.

Oh, ich habe dieses Jahr auch meinen ersten, eher scherzhaft gemeinten Rant geschrieben und dafür bei Reddit mächtig auf den Deckel bekommen. Nennen wir es eine »interessante Erfahrung«. Bisher war die Resonanz hier durchweg positiv. Kritik und ein bisschen Hate muss auch mal sein, dass festigt den Character ;) Dank Reddit hatte ich auch meinen besucherreichsten Tag überhaupt. Fast 800 Menschen an einem Tag – ziemlich beeindruckend.

Seit Mitte 2015 ist icancode.de auch ein eingetragenes Kleingewerbe. Damit ist alles ein bisschen offizieller geworden. So mit Rechnungen und Steuererklärung und so. Mal sehen, was das noch so gibt.

Ich freue mich jedenfalls auf 2016 und hoffe ihr schaut mal vorbei :)

Der Artikel Jahresrückblick 2015 erschien zuerst auf icancode.de.

NETGEAR AC1750 Smart WLAN-Router im Test

$
0
0

»Zuhause ist wo das WLAN automatisch connected.« Wahre Worte, aber was bringt uns das, wenn das WLAN schlecht ist. Viele der Geräte, die direkt vom Internet-Provider kommen, haben nur eine schwache Sendeleistung – da kann die gute Laune schnell vergehen.

Der AC1750 Smart WLAN-Router (Modell R6400) von NETGEAR kann hier Abhilfe schaffen. Die Fähigkeit 2,4 GHz und 5 GHz gleichzeitig zu betreiben und WLAN-Technologie 802.11ac machen diesen WLAN-Router zu einem Kraftpaket im Stealth-Look.

Look & Feel

Schon seit einiger Zeit setzt NETGEAR auf ein Design, dass schwer an Kampfjets mit Tarnkappeneigenschaften erinnert. Auch Modell R6400 reiht sich in diese Gruppe ein. Ganz in schwarz, keilförmig und mit aggressiven Kanten bietet es fast schon einen krassen Gegensatz zu den runden, weichen Formen von FritzBox und Co.. Die Oberseite zieren zwölf rechteckige LEDs, die im Normalbetrieb kaltweiß leuchten. Eingelassen in die Front findet sich noch ein USB3.0 Slot – wenn es mal schnell gehen muss. Auf der Rückseite des Geräts befinden sich drei Antennen, die individuell eingestellt werden können. Des weiteren sind dort Ethernet-Buchsen, der WAN-Anschluss, ein weiterer USB2.0 Port, der Netzanschluss und ein Ein/Aus Schalter zu finden. Die generellen Maße belaufen sich auf 19,1 x 19,8 x 6,5 cm. Im Grunde also die typische Dimension für derartige Geräte.

Einrichtung und Betrieb

Den WLAN-Router in Betrieb zu nehmen ist denkbar einfach. Mit dem DSL-Modem verbinden. Anschalten. Fertig. Anschließend können Einstellungen über das Web-Interface oder die kostenlose App für nahezu alle Plattformen. Damit könnt ihr den WLAN-Router dann auch über euer Telefon steuern. Im Web-Interface könnt ihr dann alles Mögliche einstellen. Kanal, SSID, Passwort und so weiter. So ganz hat sich mir der Sinn der Desktop-App zwar nicht ergeben – ein Web-Interface frisst mir einfach nicht die Festplatte auf – aber es soll ja Leute geben, die lieber alles als Native App haben. Diejenigen kommen hier jedenfalls voll auf ihre Kosten, da die NETGEAR genie®-App mit ihrem Dashboard eine Menge Infos auf einen Blick liefert und natürlich auch Einstellmöglichkeiten.

Die Sendeleistung des Geräts ist echt beachtlich. Bei mir in der Altbau-WG habe ich mich WLAN-Technisch immer auf dünnem Eis bewegt. Spätestens auf dem Balkon war ich wieder auf LTE angewiesen. Das hat mit dem NETGEAR AC1750 ein Ende gefunden. Dual-Channel und 802.11 A/C machen sich hier echt bemerkbar. Und wo hat man sonst schon Gigabit-WLAN? Die drei großen Antennen scheinen auch wesentlich bessere Sendeleistung zu haben als die kleinen Flossen meiner jetzigen FritzBox. Ich würde den Router aber wahrscheinlich nicht unbedingt ins Schlafzimmer stellen, da die weißen LEDs echt stark leuchten ;)AC1750_Smart_WLAN_Router_Draufsicht


AC1750_Smart_WLAN_Router_Front AC1750_Smart_WLAN_Router_Rückansicht

Fazit

Mit 149,99 Euro gehört der NETGEAR AC1750* definitiv in die Kategorie der »rechts unten« Geräte – teuer aber mit viel power. Mit WPS Funktion und Ein-/Ausschalter lässt sich der WLAN-Router unglaublich bequem bedienen und kann auch einfach bei Bedarf zugeschaltet werden. In Puncto Design bleibt mir eigentlich nichts mehr zu sagen. Schwarz, eckig und irgendwie technisch – aber eben nicht zu »brutal«. Es mag Geschmackssache sein, aber meiner Meinung nach macht Modell R6400 bei weitem einen der besten optischen Eindrücke aller Router auf dem Markt. Der einzige Nachteil für mich ist eigentlich, dass es sich hierbei nur um ein Zweitgerät handelt. Anderseits ist das auch ein Problem, dass ich im Austausch gegen ordentliche WLAN-Abdeckung in der Wohnung gerne eintausche. Bei mir bleibt er definitiv im Betrieb!

Der Artikel NETGEAR AC1750 Smart WLAN-Router im Test erschien zuerst auf icancode.de.

HP Deskjet 3636 – Multitalent zum schmalen Preis

$
0
0

Jedes Jahr schiebe ich aufs neue die Steuererklärung vor mir her, hab keine Lust zu suchen und so richtig Spaß macht die ganze Geschichte auch nicht. Am Ende der Steuererklärung liegt dann meistens ein Berg totes Holz auf meinem Schreibtisch und das Wochenende ist eigentlich gelaufen. Ich habe jetzt allerdings ein bisschen die Vermutung, dass es nächstes Jahr anders laufen wird…

notebooksbilliger.de war so nett, mir einen HP Deskjet 3636 zur Verfügung zu stellen. Sehr passend, denn unser alter Tintenstrahldrucker gibt so langsam den Geist auf. Jetzt habe ich den kleinen weißen Alleskönner seit gut 3 Wochen auf meinem Schreibtisch stehen und muss sagen: Er gefällt mir echt gut. Scannen funktioniert sowohl von PC, MacBook als auch vom Smartphone (Android & iOS) problemlos. Das ist schonmal ein großer Mehrwert.

Technik

In puncto Technik lässt der HP Deskjet 3636 keine Wünsche offen. Scannen? Check! Drucken? Funktioniert in einem angemessenen Tempo. Der QuietMode, der sich bei Bedarf zuschalten lässt reduziert die Lautstärke beim Drucken weiter, verlangsamt allerdings auch den Druckprozess. Das Gerät wiegt 4,5 Kilo und hat folgende Abmessungen: 31 x 15,8 x 43,8 cm. Die Deskjet Reihe ist zwar dafür ausgelegt, auf dem Schreibtisch zu stehen, hätte ich jetzt keinen großen Schreibtisch im Arbeitszimmer, würde ich mir aber wohl überlegen, ob ich so viel Arbeitsfläche für den Drucker einbüßen will.

Da der Drucker alle aktuellen WLAN Standards unterstützt, besteht eigentlich kein Grund mehr, ihn überhaupt auf den Schreibtisch zu stellen. Nettes Feature, auch wenns nichts außergewöhnliches mehr ist. Bei Bedarf lässt sich übrigens InstantInk aktivieren, wodurch der Drucker automatisch Tinte nachbestellt, falls nötig. Ich muss zugeben, sowohl InstantInk, als auch den Zugriff übers Internet habe ich vorerst ausgestellt. Die Idee meinem Drucker eine Mail zu schreiben ist zwar ganz witzig, mir fehlt jedoch ein sinnvoller Anwendungsfall.

Unboxing

Schauen wir uns den kleinen Weißen von HP mal genauer an. Verpackung und Design sehen schon mal super aus – ein bisschen aufgepustet vielleicht, aber ich mags.

Rückansicht
Seitenansicht
Ansicht von Oben

Der Einsatz der Patronen ist super easy. Einfach den Drucker einschalten, warten bis der Schlitten in die Mitte fährt und die Patronen einsetzten. Ich bin mal gespannt, wie lange die beiden Patronen halten.

Innenansicht
Patronenschlitten

Zum Drucken wird hinten einfach die Klappe aufgezogen und das Papier eingesetzt. Vorne lässt sich eine kleine Papierführung ausklappen, damit die Drucke nicht durch die gegend fliegen. Hier eignet sich aber z.B. auch ein flacher Karton und schon habt ihr eine einfache Dokumentenablage.

Dokumentenverwaltung

Tags zur Verwaltung von DokumentenEingangs habe ich ja die Geschichte mit der Steuererklärung erwähnt. Geht es euch eigentlich auch so? Ich muss zugeben, ein richtiger Dokumentenscanner war mir schlicht zu teuer aber gereizt hat es mich trotzdem. Da kam mir der HP Deskjet 3636 wie gerufen. Scannen kann er, blieb also noch die Frage nach der Software bzw. dem System. Wie sich rausgestellt hat, ist Windows 10 immer noch nicht in der Lage Dateien ordentlich mit Tags zu versehen. Irgendwie traurig. Glück gehabt, dass macOS das schon ewig kann. Gesagt getan. Erstmal mussten ein paar sinnvolle Tags her. Die Verwaltung ist jetzt ziemlich einfach. Ich habe mir einen Ordner für das aktuelle Jahr gemacht und eine Inbox. Alles was gescannt wird, landet erstmal in der Inbox. Dann kann ich es mit den Tags versehen und schiebe es in den Ordner für das Jahr. Das funktioniert bisher super. Auf ORT und sonstigen Texterkennungskrempel kann ich gut verzichten, da ich nicht drauf angewiesen bin. Der einzig nervige Teil ist, dass sich die Tag-Geschichte nicht mit dem Windows-Rechner syncen lässt. Aber vielleicht hat ja einer von euch eine Idee.

Fazit

Ich muss gestehen ich bin echt happy mit dem Gerät. Für round about 50 € habe ich bisher kein Gerät gefunden, dass mir so gut gefällt. Die Verarbeitung ist gut und das Design ist ansprechend. Ich bin gespannt inwieweit sich der Internetzugriff der Geräte und die Sicherheit weiterentwickeln. Solange sich das Abschalten lässt stört es mich nicht so sehr, als dass es gegen das Gerät sprechen würde. Wem das Gerät nicht so richtig zuspricht, der findet unter den anderen HP Druckern sicher auch ein passendes Gerät für den gewünschten Einsatzzweck.

Der Artikel HP Deskjet 3636 – Multitalent zum schmalen Preis erschien zuerst auf icancode.de.

Viewing all 32 articles
Browse latest View live