FxKeyboard 3.0 Alpha

Version 3 brings much anticipated changes including a language switcher, working tab, fixed width etc.

Under the bonnet the whole plugin was rebuilt, serving localisators better now with more options.

Hackers will have a fun time with this plugin, as the code is clean and straightforward – making any kind of specialised keyboard is easy.

https://github.com/MarZab/FxKeyboard/releases/tag/3.0.0

Leaflet for small spaces

Leaflet is a great lightweight JavaScript module for showing all kinds of maps – but not really small ones.

The next version 0.8 (currently dev) helps with that.

The next snippet creates a CRS called Metric, while similar to the Simple CRS, this one has a scale of exactly 1 meter and is not bounded by degrees of latitude/longitude.

Additionally, the next snippet is a patch to the Scale Control, that goes away with the Earth CRC and uses our custom one to display a perfect meter scale (and imperial, bah).

Update 15.7.2015:

https://github.com/Leaflet/Leaflet/commit/daac1ca559670b16c7f19e8758978d1b335ad57f

An example custom map is here.

Time for a spring cleanup; Chrome plugins take their time

Looking at the network panel today gave me a ponder, what is this gaping hole over here?

Since you already know my answer, here is a before/after with the “hole” in black.

bitmap

 

How to debug this?

Another great tool from Chrome, Timeline, gives us more information. Get a light page, start the recording, reload then stop the recording. You should get something like this.

Clipboard03

Under injected.js you can find what you need to cut, clicking on bigger blocks mostly gets you the name of the offending plugin.

I love Chrome plugins, I even made one out of frustration over Facebook’s interface one day.  But many need to do their magic on each and every page load, even if you don’t need them to. While some plugins are just plain badly developed, using up this time to load in here when they really isn’t a good reason to (I could list a few but I’ll file bug reports before I publicly shame), are there some that you would accept a speed hit from?

Ad blockers for one; I get the occasional frantic call from people that had their PC infected, that can’t close a window no matter how many times they clicked close and that get stuck on a pay-wall for software that should be free. Not going away soon.

 

Coverage.py with PyScripter (& PythonPortable w/ PyPi)

During my Udacity Class CS258 I was introduced to Coverage.py. You can read up on Code Coverage on Wikipedia but I would also recommend the free course on the subject via Udacity.

To get Coverage.py running on your installation, the easiest way is using the console command easy_install. If you are using PythonPortable, you need to navigate to AppScripts before executing the following command:

easy_install coverage

Easy, wasn’t it?

PyScripter is a neat IDE packaged with PythonPortable. It has a feature called External Tools (found under the menu Tools->Tools). To make a neat shortcut you can “Configure Tools..” under the same menu.

Here are two shortcuts, one for running coverage on one file, the other for constructing the HTML:

[ToolsTool11ExternalTool]
Caption=Coverage
Description=http://nedbatchelder.com/code/coverage/
ApplicationName=$[PythonDir-Short]Scriptscoverage.exe
Parameters=run $[ActiveDoc-Short] $[CmdLineArgs]
WorkingDirectory=$[ActiveDoc-Dir]
ShortCut=0
Context=tcActivePythonFile
SaveFiles=sfActive
ParseTraceback=TRUE
MessagesFormat=$[FileName] $[LineNumber]
ConsoleHidden=FALSE

[ToolsTool12ExternalTool]
Caption=Coverage HTML
Description=http://nedbatchelder.com/code/coverage/
ApplicationName=$[PythonDir-Short]Scriptscoverage.exe
Parameters=html
WorkingDirectory=$[ActiveDoc-Dir]
ShortCut=0
Context=tcActiveFile
ParseTraceback=TRUE
MessagesFormat=$[FileName] $[LineNumber]
ConsoleHidden=FALSE

Just pasting this inside PyScripter.ini does require some additional fiddling, so I recommend just using the gui. The new commands will appear inside Tools->Tools. The generated HTML will be inside the scripts working directory.

Now go do some coverage testing!

Wise Timetable to iCalendar Converter in PHP

Wise Timetable is a software for scheduling used by many universities and schools.

This gist https://gist.github.com/3937963 is a PHP script to parse the classes using the specified courses and convert them to a format most calendar software can read.

Thus one can grab the schedule with eq. Google Calendar or any other web/desktop/mobile app.