Ungewollte Popups in Firefox unterdrücken

Auf manchen Webseiten wird man ungewollten, durch Javascript und anderweitige Wege geöffneten, Tabs und Browserfenstern nicht mehr Herr.

Leider funktionieren einige Seiten nur mit aktiviertem Javascript, daher ist es nützlich, solche Effekte zu unterdrücken:

  1. about:config aufrufen
  2. Eintrag dom.popup_allowed_events leeren

Eine optimierte Palette mit 16 Farben

Da Forumposts ab und an verschwinden und ich diesen Zusammenhang für sehr interessant befinde, eine Kopie hier in mein Blog von DawnBringer bei pixeljoint.com:

“So, dear friends, I have wasted some time lately with my obsession for
palettes. It’s been tackled before but I felt there was (and is?) more
work to be done with designing a great multi-purpose 16 color palette
(I’ll avoid any talk of “perfect” or “ultimate” as there simply isn’t
such a thing for a limited palette).

Property wish-list:
* Archetypical colors common in games/pixelart
* Real world colors (RGB-space brightness-axis “colorcigarr”)
* Good coverage of the spectrum
* Great coverage of the brightness range (a must for any useful palette)
* Max combinatory possibilities: Interpolations, simulations, dithers etc.
* …and if possible; colors that may work as subtle varitations: rust, dirt, textures.

But as with all small palettes, some things had to be sacrificed: This
palette is very weak in magentas (as that is a rarely used area). It
also lack much in turquoise – but at least they can be simulated by
combining the many blues & greens.

This is public version 1.0 (v9843.7 to me ;))

DawnBringer's 16 Col Palette v1.0
DawnBringer’s 16 Col Palette v1.0

Some notes:
* The dark register is dominated by blue/violett commonly found in shadows/dark waters etc.
* The lower-medium register has the weight on green and browns; found in vegetation, wood etc.
* The upper-medium register has much blues and orange/pink to handle skies, sand and skin.
* The bright register has the lone yellow and the effective pink &
cyan that  are complimentary colors that span around the spectrum and
can be mixed to a very good grey!
* Red is slightly violett – I wanted a red that contrasted the other
colors rather than being another shade of brown/orange. Still good
enough to use in some skin-shades I hope.

— Mockups omitted —-

Outstanding issues:
* The optimal(?) global brightness/contrast level…these can be
adjusted quite easily without affecting the internal relationships of
the colors very much – so if you have any feelings about this lemme
* The dark register: is there a better combination/structure of colors here?

Comments & questions are welcome! :)Here’s the RGB-values:
20 12 28
68 36 52
48 52 109
78 74 78
133 76 48
52 101 36
208 70 72
117 113 97
89 125 206
210 125 44
133 149 161
109 170 44
210 170 153
109 194 202
218 212 94
222 238 214
And yeah…feel free to use this palette. ”


Ferner dazu eine Abbildung für The Gimp von user DarkUranium vom gleichen Forum:

GIMP Palette
Name: DawnBringer's 16 Color Palette
Columns: 8
 20  12  28    Dark1
 68  36  52    Dark2
 48  52 109    Dark3
 78  74  78    Dark4
133  76  48    Dark5
 52 101  36    Dark6
208  70  72    Dark7
117 113  97    Dark8
 89 125 206    Light1
210 125  44    Light2
133 149 161    Light3
109 170  44    Light4
210 170 153    Light5
109 194 202    Light6
218 212  94    Light7
222 238 214    Light8

Originalartikel unter: http://pixeljoint.com/forum/forum_posts.asp?TID=12795

“WannaCry(pt)” Windows XP x86 Patch

Nach der letzten Wurmattacke sollten Windows XP Nutzer (ja die gibt es noch zu häufig) unbedingt den Patch einspielen.

Dies funktioniert automatisch nicht mehr. Und sollte offline geschehen, d.h. mit getrennter Internetverbindung.

Leider ist irgendwas bei Microsoft schiefgegangen, so daß man ungeplant an die falsche Downloadstelle geleitet wird.

Hier nochmal der Link zum Patch für klassisches 32Bit Windows XP mit deutscher Lokalisierung. Erwischt man einen anderen Patch, verweigert dieser die Installation. Für zentrale Bugfixes ein Unding!

Link zum deutschen Patch:

Ich musste mir erst von einem erfahrenen User den richtigen Link besorgen.

Finite State Machine Generator for C

For quite a long time I’m thinking about simple code generating tools. I don’t want to use a special XML syntax or descriptive language but a simple Excel or OpenOffice sheet instead.

The aim is to generated C source code for small microcontroller applications or retrocomputing systems.

For the start I made a simple generator for finite state machines (Wikipedia entry)

It is also my first script written in Python and thus not really as tidy and neat as I prefer. But it is working for now.

It takes the sheet from an OpenOffice .ods table like this:

@brief autofire button statemachine
State Event Next State

and generates a switch-case style state machine in C with callback functions for state and event handling.

A version with support for object oriented programming with pointers to statemachine objects is planned aswell. Check the github for functional updates.

The actual code can be found on Github: https://github.com/simonsunnyboy/gen-fsm

Debugging Ncurses applications with QT Creator

Today I stumbled over the problems while toying around with a small C project using the Ncurses library.

I recently discovered QT Creator as a decent IDE so I started to use it.

Problem 1 with running the application at all

The program builds fine and runs with ncurses if run in a seperate terminal window.
Upon run from within QT-Creator with checkmark “run in terminal” I got this error message: “Error opening terminal: unknown

After quite some googling I found the solution as the environment passed to my application in this way does not define the TERM environment variable.

So I added the definition “TERM=xterm” to the list of passed environment variables. Now the Ncurses application runs in its own terminal window.

Problem 2 with debugging the application

Naturally I do not only want to run my application, I also want to debug it using gdb. QT creator handles this normally fine so I click on “Debug.”
I see the extra terminal window opening but I get a small notice “ptrace: Operation not permitted” and all collapses.

Some more googling and I discover that Ubuntu  10.04 and later deactivate the option to attach gdb to running processes. This is something QT Creator seems to try here when running the application inside the terminal window.
I simply used the directions found here at AskUbuntu and now it works. I have the application ruuning in a seperate terminal window and I can trace, singlestep and debug it with the gdb frontend from QT Creator.

What a mess!

But it only affects debugging Ncurses and maybe S-lang projects. Normal terminal output is fine and so should be SDL based stuff aswell. It is dirty and slight hacky, but all in all it is working.

Ebookkonvertierung mit Thunar

Mein Kindle unterstützt Ebooks im MOBI Format, aber leider nicht das stärker verbreitete Epubformat. Heute wollte ich ein paar EBooks mit .epub nach .mobi konvertieren und das natürlich gleich komfortabel per Mausklick erledigen.
Die Konvertierung selbst wird von Calibre und seinen Werkzeugen durchgeführt.

Für die Integration in XFCE und Thunar habe ich mir einfach eine “Benutzerdefinierte Aktion” alias Custom Action in Thunar definiert und Dateien mit Endung .epub zugeordnet. Da das Konvertierungstool Ausgaben erzeugt, wird diese in einem eigenen Terminalfenster angezeigt, welches man nach erledigter Konvertierung einfach schliessen kann. Dazu habe ich ein einfaches Shellskript geschrieben, dem man den Dateinamen samt Pfad zum *.epub übergibt. Die konvertierte Ausgabedatei bekommt automatisch die Endung .mobi zugeteilt.

Das Skript wird von der Custom Action mit Parameter %f aufgerufen und sieht so aus:

# Thunar helper to convert *.epub to *.mobi with Calibre
# Syntax: thunar-convert-epub-to-mobi.sh
# (c) 2016 by Matthias Arndt
# The GNU General Public License v2 applies.
# extract pathname and filename without extension
basename=$(basename "${1}")
xfce4-terminal -T "MOBI Conversion result" -H -x ebook-convert "${1}" "${filename}.mobi"

Backup der Filtereinstellungen von Claws Mail

Ich bin vor ein paar Wochen auf Claws Mail umgestiegen, da mich Thunderbird mit Plugins und Erweiterungen anfing, zu nerven, welche nicht mehr funktionieren.

Leider kann man die Mailfilter bei Claws Mail nicht einfach im- und exportieren, daher ist es nervig, wenn mühsam konfigurierte Filter für Spam und wichtige Mails verloren gehen. Wo also liegen die Einstellungen?

Ich habe mal ein bißchen mit find und grep gesucht, und siehe da, unter $HOME/.claws-mail/matcherrc findet sich alles, was man sucht. Die Emailaccountbezüge sind dort leider recht hart reincodiert. Wenn man bei einer Neuinstallation andere Namen verwendet, dann muß man hier möglicherweise umkonfigurieren. Aber das ist besser, als alle Regeln von Hand wieder erneut erstellen zu müssen.

ATtiny85 per Drahtverhau ausgelesen

Ich habe heute mal endlich ein wenig in meiner Bastelkiste gewühlt. Bis heute war ich mir nicht sicher, ob man AVRs wirklich mit wenig Aufwand direkt im Steckbrett programmieren kann. Ich habe es einfach mal selbst ausprobiert und einen ATtiny85 mit ganzen 8 Pins mehr oder minder direkt mit meinem mySmartUSB light Programmiergerät verbunden.

Ich habe den 6 auf 10Pin Adapter missbraucht, um einfach Steckbrücken mit Buchsen auf die Pins zu stecken. Dabei habe ich mich an ein Schemabild aus dem Netz gehalten und dabei eine möglichst ähnliche Farbcodierung verwendet. Auf meinem Steckbrett musste ich dann nur die Buchsen auf Pins abbilden und gemäß Datenblatt die Pins am Microcontroller mit den jeweiligen Signalen verbinden.

Danach habe ich einfach mal per avrdude Inhalte gelesen und geschrieben. Flash und Fuses funktionierten prächtig, beim EEPROM hatte ich mein Problem. Eventuell kommt mir da die EESAVE Fuse ins Gehege. Ich plane am langen Wochenende (morgen habe ich Urlaub) ein Testprogramm für den ATtiny85 zu schreiben, bei dem ich mal im EEPROM per Programm schreibe und lese.

Insgesamt, ja, es funktioniert. Ich konnte den Chip im Steckbrett ohne spezielle Hardware auslesen und programmieren.

ATtiny85 mit fliegender Verdrahtung im Steckbrett
ATtiny85 mit fliegender Verdrahtung im Steckbrett