Intel verabschiedet sich von Tick Tock

Im Endeffekt konnte man die Meldung schon an allen Ecken und Enden im Internet lesen: Intel verabschiedet sich vom Tick Tock System. Grundsätzlich ging es darum, dass (ähnlich dem iPhone) eine Version mit größeren Änderungen kommt und die nächste CPU-Generation dann nur kleinere Verbesserungen erlebt. Offiziell wurde auch davon gesprochen, dass die große, neue Version (Tock) ja viele Änderungen für den Verbraucher mit sich bringt und mit der kleinen (Tick) Version dann sozusagen Finetuning auf Basis vorhandener Technologien ist.

Was hat sich nun aber geändert? Grundsätzlich kann man hier – wie bei amerikanischen Konzernen – dem Blabla nicht viel abgewinnen. Offiziell ist mit der Fertigung auf Basis von noch weniger Nanometern die Zeitspanne nicht mehr einzuhalten.

Meine Meinung ist aber eher, dass gerade mit den neuen Skylake-Prozessoren zwar nicht direkt Beta-Produkte an den Verbraucher geliefert worden sind, aber die Reife des Produktes als Solches nicht der gewohnten Qualität entspricht. Der Umstieg auf neue Technologien à la Thunderbolt ist noch nicht komplett ausgereift, im Internet klagen die Anwender zu Hauf über Probleme zum Beispiel mit Docking-Stationen. Zu beachten  ist aber, dass Prozessoren der ersten Charge anscheinend bei den OEM’s zurückgerufen worden sind und der legendäre AVX-Bug. Ferner sind Updates von BIOS und Chipsätzen zur Tagesordnung geworden. Das alles spielt AMD doch deutlich in die Hände. Intel ist und bleibt der Platzhirsch, im Vergleich dazu war früher die Diskussion, welchen Prozessor man nimmt, gerade im Gamingbereich nahezu eine religiöse Grundsatzdiskussion. Intel wurde meist mit Argumenten à la „stabiler“ in Verbindung gebracht und AMD verschwand ein wenig im Hintergrund.

Das alles ist natürlich nur meine Meinung, aber ich schätze, dass ich da nicht so komplett falsch liegen kann.

Kindle Reader manuell updaten

Das kritische Update bei Amazon auch verpasst? Mein Kindle liegt auch irgendwo im Karton und muss in naher Zukunft manuell wieder zum Leben erweckt werden. Bei älteren Geräten ist das Problem, dass Amazon die Auto-Updates seit Dienstag abgeklemmt hat.

Seid ihr davon betroffen? Die Liste der Geräte, sowie den Fix kann man auf ebook-fieber.de nachlesen.

Compgen:Alle Befehle anzeigen

Was bei Powershell relativ einfach strukturiert ist (Get-Command), ist bei Linux manchmal nicht so hundert prozentig ersichtlich: Die Angabe aller verfügbaren Befehle. Hier hilft compgen.

Bei Linux kommt hier natürlich hinzu: Was habe ich installiert, …

Hier kommt bei Linux (und auch OS X) dann compgen zum Einsatz. Das Output sprengt hier den Rahemen, daher sei jeden nahegelegt, die Commands mal testweise auf seiner aktuellen Linux-Maschine zu testen:

  • compgen -c: Zeigt alle verfügbaren Commands an, die vorhanden sind.
  • compgen -a: Zeigt alle verfügbaren Aliase an, die vorhanden sind.
  • compgen -b: Zeigt alle verfügbaren Built-Ins an, die vorhanden sind.
  • compgen -k: Zeigt alle verfügbaren Keywords an, die vorhanden sind.
  • compgen -A function: Zeigt alle verfügbaren Functions an, die vorhanden sind.
  • compgen -A function -cabk: Zeigt alle oben einzeln abgefragten Informationen komplett an.

Wer jetzt ein spezielles Command oder einen Alias sucht, das zum Beispiel mit „find“ zusammenhängt, gibt folgendes ein:

compgen -ac | grep find

compgen ac grep find

Das Ergebnis sind alle Befehle und Aliase, die irgend etwas mit find zu tun haben. :) Fröhliches Testen.

Textwrangler Leerzeilen entfernen

Manchmal benötige ich große Listen, die durch ein Komma separiert werden. Sofern das nur wenige Einträge betrifft, kann das auch von Hand gemacht werden. Im Beispiel habe ich mich für ein langes Output mit vielen Leerzeilen entschieden. Aufgerufen ist „compgen -c“ unter OS X.

compgen output os x

Die ausgegebenen Informationen sind 1477 Zeilen lang, sollen zur weiteren Verarbeitung mit „,“ statt einer Leerzeile getrennt werden. Hier kommt die Find & Replace-Funktion von TextWrangler zum Einsatz. Leerzeichen werden hierbei als \n eingegeben und der Replace-Parameter mit einem ,Screen Shot 2016-03-19 at 08.24.17

Wenn dann Replace All gedrückt wird, geht TextWrangler für den Bruchteil einer Sekunde alle Daten durch. Ein kurzes Info-Fenster zeigt an, dass alles funktioniert hat.Screen Shot 2016-03-19 at 08.24.06

Im Vergleich zu vorher sieht das Output nun wie folgt aus:

output_mit_kommata

Für mehr Informationen kann auch ein TextWrangler CheatSheet verwendet werden. Das Cheatsheet habe ich unten im aktuellen Zustand angefügt. Der Link ist die jeweils aktuelle Version. Author ist augenscheinlich ccstone.
————————————————————————————————————————————————————————————————————————————————————————————————————
BBEDIT/TEXTWRANGLER REGULAR EXPRESSION GUIDE MODIFIED 2016/02/29 17:26
————————————————————————————————————————————————————————————————————————————————————————————————————

NOTES:

The PCRE engine (Perl Compatible Regular Expressions) is what BBEdit and TextWrangler use.

Items I’m unsure of are marked ‚# PCRE?‘. The list while fairly comprehensive is not complete.

————————————————————————————————————————————————————————————————————————————————————————————————————
PATTERN MODIFIERS (switches)
————————————————————————————————————————————————————————————————————————————————————————————————————

i Case-insensitive
m Multiline : allow the grep engine to match at ^ and $ after and before at \r or \n.
s Magic Dot : allows . to match \r and \n
x Free-spacing: ignore unescaped white space; allow inline comments in grep patterns.

(?imsx) On
(?-imsx) Off
(?i-msx) Mixed

————————————————————————————————————————————————————————————————————————————————————————————————————
Regex Meta-Characters:
————————————————————————————————————————————————————————————————————————————————————————————————————

. Any character except newline or carriage return
[ ] Any single character of set
[^ ] Any single character NOT of set
* 0 or more previous regular expression
*? 0 or more previous regular expression (non-greedy)
+ 1 or more previous regular expression
+? 1 or more previous regular expression (non-greedy)
? 0 or 1 previous regular expression
| Alternation
( ) Grouping regular expressions
^ Beginning of a line or string
$ End of a line or string
{m,n} At least m but most n previous regular expression
{m,n}? At least m but most n previous regular expression (non-greedy)
\1-9 Nth previous captured group
\& Whole match # BBEdit: ‚&‘ only – no escape needed
\` Pre-match # PCRE? NOT BBEdit
\‘ Post-match # PCRE? NOT BBEdit
\+ Highest group matched # PCRE? NOT BBEdit
\A Beginning of a string
\b Backspace(0x08)(inside[]only) # PCRE?
\b Word boundary(outside[]only)
\B Non-word boundary
\d Digit, same as[0-9]
\D Non-digit
\G Assert position at end of previous match or start of string for first match

————————————————————————————————————————————————————————————————————————————————————————————————————
Case-Change Operators
————————————————————————————————————————————————————————————————————————————————————————————————————
\E Change case – acts as an end delimiter to terminate runs of \L & \U.
\l Change case of only the first character to the right lower case. (Note: lowercase ‚L‘)
\L Change case of all text to the right to lowercase.
\u Change case of only the first character to the right to uppercase.
\U Change case of all text to the right to uppercase.

————————————————————————————————————————————————————————————————————————————————————————————————————
White-Space or Non-White-Space
————————————————————————————————————————————————————————————————————————————————————————————————————
\t Tab
\n Linefeed
\r Return
\f Formfeed
\s Whitespace character equivalent to [ \t\n\r\f]
\S Non-whitespace character
————————————————————————————————————————————————————————————————————————————————————————————————————

\W Non-word character
\w Word character[0-9A-Za-z_]
\z End of a string
\Z End of a string, or before newline at the end
(?#) Comment
(?:) Grouping without backreferences
(?=) Zero-width positive look-ahead assertion
(?!) Zero-width negative look-ahead assertion
(?>) Nested anchored sub-regexp stops backtracking
(?imx-imx) Turns on/off imx options for rest of regexp
(?imx-imx:…) Turns on/off imx options, localized in group # ‚…‘ indicates added regex pattern

————————————————————————————————————————————————————————————————————————————————————————————————————
PERL-STYLE PATTERN EXTENSIONS : BBEdit Documentation : ‚…‘ indicates added regex pattern
————————————————————————————————————————————————————————————————————————————————————————————————————
Extension Meaning
————————————————————————————————————————————————————————————————————————————————————————————————————
(?:…) Cluster-only parentheses, no capturing
(?#…) Comment, discard all text between the parentheses
(?imsx-imsx) Enable/disable pattern modifiers
(?imsx-imsx:…) Cluster-only parens with modifiers
(?=…) Positive lookahead assertion
(?!…) Negative lookahead assertion
(?<=…) Positive lookbehind assertion
(?<!…) Negative lookbehind assertion
(?()…|…) Match with if-then-else
(?()…) Match with if-then
(?>…) Match non-backtracking subpattern (“once-only”)
(?R) Recursive pattern

————————————————————————————————————————————————————————————————————————————————————————————————————
POSITIONAL ASSERTIONS (duplicatation of above)
————————————————————————————————————————————————————————————————————————————————————————————————————

POSITIVE LOOKAHEAD ASSERTION: (?=’pattern‘)
NEGATIVE LOOKAHEAD ASSERTION: (?!’pattern‘)

POSITIVE LOOKBEHIND ASSERTION: (?<=’pattern‘) # Lookbehind Assertions are of fixed-length
NEGATIVE LOOKBEHIND ASSERTION: (?<!’pattern‘)

————————————————————————————————————————————————————————————————————————————————————————————————————
SPECIAL CHARACTER CLASSES (POSIX standard except where ‚Perl Extension‘ is indicated):
————————————————————————————————————————————————————————————————————————————————————————————————————
CLASS MEANING
————————————————————————————————————————————————————————————————————————————————————————————————————
[[:alnum:]] Alpha-numeric characters
[[:alpha:]] Alphabetic characters
[[:ascii:]] Character codes 0-127 # Perl Extension
[[:blank:]] Horizontal whitespace
[[:cntrl:]] Control characters
[[:digit:]] Decimal digits (same as \d)
[[:graph:]] Printing characters, excluding spaces
[[:lower:]] Lower case letters
[[:print:]] Printing characters, including spaces
[[:punct:]] Punctuation characters
[[:space:]] White space (same as \s)
[[:upper:]] Upper case letters
[[:word:]] Word characters (same as \w) # Perl Extension
[[:xdigit:]] Hexadecimal digits

Usage example of multiple character classes:

[[:alpha:][:digit:]]

«Negated» character class example:

[[:^digit:]]+
** POSIX-style character class names are case-sensitive

** The outermost brackets above indicate a RANGE; the class name itself looks like this: [:alnum:]

————————————————————————————————————————————————————————————————————————————————————————————————————
CONDITIONAL SUBPATTERNS
————————————————————————————————————————————————————————————————————————————————————————————————————

Conditional subpatterns allow you to apply “if-then” or “if-then-else” logic to pattern matching.
The “if” portion can either be an integer between 1 and 99, or an assertion.

The forms of syntax for an ordinary conditional subpattern are:

if-then: (?(condition)yes-pattern)
if-then-else: (?(condition)yes-pattern|no-pattern)

and for a named conditional subpattern are:

if-then: (?P<NAME>(condition)yes-pattern)
if-then-else: (?P<NAME>(condition)yes-pattern|no-pattern)

If the condition evaluates as true, the “yes-pattern” portion attempts to match. Otherwise, the
“no-pattern” portion does (if there is a “no-pattern”).

————————————————————————————————————————————————————————————————————————————————————————————————————
REVISION NOTES:
————————————————————————————————————————————————————————————————————————————————————————————————————

2016/02/29 17:23

\G metacharacter added.

Tested with BBEdit 11.5.1 & TextWrangler 5.0.2.

Also available in ICU RegEx:

http://userguide.icu-project.org/strings/regexp#TOC-Regular-Expression-Metacharacters

————————————————————————————————————————————————————————————————————————————————————————————————————

Windows CMD Dateien umbenennen

Wenn man vor dem Problem steht, dass eine Masse an Dateien umbenannt werden muss, ist dies mit einem einfachen Script zu bewältigen. Wenn die Daten aber eine Schnittmenge aus vielen sind und dann noch durch eine komplexe Ordnerstruktur verschachtelt sind, wird das Procedere augenscheinlich schon komplexer.

Hier hilft die Arbeit in der CMD mit den Befehlen „for“ und „ren“. Mit for kann der Fokus auf bestimmte Dateien gesetzt werden und mit /R werden die Unterordner rekursiv mit einbezogen. Der Befehl ren leitet sich von rename ab und ist wahrscheinlich selbsterklärend.

Sollen nun alle .htm-Dateien in .html umbenannt werden (nur ein Beispiel), sähe dies so aus:

for /R %x in (*.htm) do ren „%x“ *.html

Sprich: für alle Unterordner benenne alle .htm-Dateien in .html um. Nicht mehr und nicht weniger.

Tip:

Wenn das Ganze als Batch-Datei verwendet werden muss, muss vor das %-Zeichen noch ein weiteres %-Zeichen eingefügt werden, dass der Befehl korrekt durchläuft:

for /R %%x in (*.htm) do ren „%%x“ *.html

Review Toshiba U202 16GB USB-Stick

Derzeit nutze ich noch einen Toshiba U202 16GB USB-Stick. Fokus ist hier nicht die Schreib-Leistung, sondern der Preis. Der Stick schlägt derzeit mit 4,99€ für 8GB, beziehungsweise 5,99€ für 16GB zu Buche. Die Leistung ist mäßig, die Verarbeitung Plastik pur.

Visuell kann der Stick auch nicht mit Neuerungen aufwarten, hat aber eine solide sitzende Kappe, um vor Staub oder Schäden am USB-Anschluss zu schützen. Wenn der Stick in Gebrauch ist, kann die Kappe hinten angesteckt werden und geht somit nicht verloren. Ein kurzer Benchmark ergab nichts Unerwartetes: Konstante, aber langsame Schreibleistung und mittelmäßiges Lesen. Für kleine Datenmengen bei dem Preis aber dennoch empfehlenswert.

toshiba_u202_16gb

Zu haben ist der Stick ohne Wartezeiten bei Amazon.

8GB derzeit 4,99€

16GB derzeit 5,99€

32GB derzeit 7,99€

64GB derzeit 17,57€

128GB derzeit 28,99€

Canon Selphy CP1200 Review Teil 2

Nachdem ich bereits ausgiebig und auch mit Bildern über meinen neuen Selphy CP1200 berichtet habe, belasse ich es heute bei Text, um die Eindrücke nach einer Weile Gebrauch zu schildern. Das mag für den ein oder anderen Kaufinteressenten interessant sein.

Was bleibt nach einer Weile Benutzung, wenn das Gerät Macken hat? Meist Ernüchterung. Nicht so beim Selphy.

Was geht und was geht nicht?

(Treiber-)Problem unter OS X

Ein wichtiger Punkt für mich ist die WLAN-Konnektivität. Hier hat sich der Drucker zwischenzeitlich auf OS X auch mal verabschiedet gehabt. Der Grund hierfür war mir nicht ganz geläufig, die Problemlösung dafür umso einfacher: Wenn der Drucker unter OS X nicht mehr ansprechbar ist, kristallisiert sich dies zuerst so, dass keine Bilder mehr ausgedruckt werden können. Ferner war der Drucker komischer Weise auch im Netzwerk für das MacBoo

IN denk nicht sichtbar. Mit allen anderen Geräten konnte ich ohne Probleme pingen beziehungsweise den Drucker hinzufügen und drucken (Windows, Android, iOS und sogar die Windows-VM auf dem Mac). Des Rätsels Lösung? Selphy entfernen

In den Systemeigenschaften unter Printers & Scanner den Selphy einfach entfernen. Hierauf war er auch unmittelbar (ohne Reboot von Mac oder Drucker) wieder ansprechbar. Worin das Problem bestand? Konnte mir auch der Canon-Support nicht sagen. Das Problem trat einmal auf und daraufhin nie wieder.

WLAN-Einschränkungen

Die Wireless Direct Printing-Funktion wollte ich im Zuge des oben genannten Problems mal mit dem MacBook testen, aber hier sind natürlich nur mobile Endgeräte/konzipiert. Desktop-Betriebssysteme sind nicht hierfür vorgesehen.

Ferner ist ein stark ausgelastetes WLAN – wie bei nahezu jedem anderen Drucker – relativ vernichtend. Der Selphy reagiert dann nur noch stark zeitverzögert oder gar nicht mehr. Ab und an schafft hier nur ein Restart des Selphy Abhilfe. Dieser kann aber komfortabel mit dem Ein-/Aus-Schalter stattfinden.

USB-Sticks und SD-Karten

Während ich bei SD-Karten keinerlei Probleme ausmachen konnte, wurden bei einem großen USB-Stick mit vielen Bildern (64GB USB mit ein wenig mehr als 300 hochauflösenden Bildern) nur noch Fragezeichen statt Bildern angezeigt. Da ich die USB-Funktion eigentlich nur mal testen wollte für mich nicht schlimm, ich nutze nahezu nur die Wireless-Funktion.

Fazit

Nachdem ich den Drucker in der kurzen Zeit schon viele Male in Gebrauch hatte, sind die Probleme überschaubar. Der Nutzen ist definitiv sehr hoch und die Qualität der Bilder kam bisher ausschließlich positiv an. Lediglich die Geschwindigkeit könnte höher ausfallen, aber das Druckverfahren an sich lässt dies wohl nicht zu. Der Canon Selphy CP1200 ist definitiv eine Bereicherung und durch die Portabilität auch bei dem ein oder anderen Fest gern gesehener Begleiter. Kaufen würde ich ihn jederzeit wieder. Die oben genannten Fehler sind absolut zu verschmerzen, da bei hochfrequenter Nutzung dennoch eine umfassende Qualität geboten wird.

MSSQL für Linux

Manchmal friert die Hölle eben doch zu – Microsoft plant den Microsoft SQL Server für Linux. Scott Guthrie schreibt dies im entsprechenden Announcement. Während im Text relativ wenig von Linux, als von den Funktionen des neuen SQL-Servers die Rede ist, betitelt die Headline doch ganz klar, dass MSSQL für Linux kommt.

Mit Microsoft kann man ja diverse Probleme haben – ich sehe das nicht anders – aber aus dem Business-Sektor kann man sie nahezu nicht mehr wegdenken. Produkte wie Exchange sind eigentlich flächendeckend im Einsatz, Ausnahmen in Enterprise-Größe werden meist schon nahezu schockiert thematisiert. Der SQL-Server ist definitiv eines der zentralen Produkte von Microsoft, da vieles hierauf aufbaut. Mit der Verfügbarkeit unter Linux geht man hier wieder einen Schritt auf andere Gefilde zu – wie in der Ära des Nadella nicht unüblich. Kunden fangen durch Sympathie und Offenheit für alternative Märkte.

Interessant sind auch die neuen Funktionen, die MSSQL 2016 bekommen soll. Schließlich ist das der beste MSSQL-Server seit langem, wenn man dem Zitat Glauben schenken darf.

This is the most significant release of SQL Server that we have ever done, and brings with it some fantastic new capabilities.

Die Neuerungen werden wie folgt beziffert:

  • Groundbreaking security encryption capabilities that enable data to always be encrypted at rest, in motion and in-memory to deliver maximum security protection
  • In-memory database support for every workload with performance increases up to 30-100x
  • Incredible Data Warehousing performance with the #1, #2 and #3 TPC-H 10 Terabyte benchmarks for non-clustered performance, and as of March 7, the #1 SAP SD Two-Tier performance benchmark on Windows1
  • Business Intelligence for every employee on every device – including new mobile BI support for iOS, Android and Windows Phone devices
  • Advanced analytics using our new R support that enables customers to do real-time predictive analytics on both operational and analytic data
  • Unique cloud capabilities that enable customers to deploy hybrid architectures that partition data workloads across on-premises and cloud based systems to save costs and increase agility

Man darf gespannt sein… :)

Aktualisierte Windows-ISO von Windows 10 (2016.2)

Die bisherigen Windows-Abbilder haben Update 1511 beinhaltet und nach Installation standen direkt die ersten Updates an. Dem hat Microsoft nun abgeholfen und alle Updates bis einschließlich Februar in die ISO integriert. Die aktualisierte Windows-ISO kann über MSDN/Technet bei aktivem Abonnement bezogen werden.

Windows_10_updated_february

Wer also über ein solches Abonnement verfügt, kann sich gerne die neue .iso herunterladen und spart sich zeitnah diverse Updates.