Often it is necessary to print an object to debugging log. This small utility function can help to print all properties:
import inspect, pprint
props=filter(lambda t: not t.startswith('__'),
inspect.getmembers(object, lambda m: not inspect.ismethod(m)))
I ‘ve recently created multiselect plugin for APEX 4.1 – there is still little information about how exactly write APEX plugins, and some aspects – like cascading LOV, I have not found explained anywhere, so I’d like to share my experiences here:
What You Need
To write plugin you will need:
- Oracle Database and APEX running somewhere – the installation manual for APEX is very good and you can go step by step according to it
- Knowledge of PL/SQL – it is good to have PL/SQL Reference at your hand
- Reference documentation for APEX 4.1 API
- Some knowledge of APEX and also some basic knowledge of plugins – try some available tutorials you can find on web – this article will focus on rather specific issues within Item plugin.
- Oracle SQL/Developer (or other development tool)- to write PL/SQL – optional, if you are PL/SQL god and can write correct code by heart – if you struggling with PL/SQL like me this is an invaluable helper.
Visual Python or vpython is python library for simple 3D animation, especially useful for animation of simple physical scenes – like pendulum, ball on a spring, movement in gravitational field etc. It is fairly simple to use and gives quite nice animations, which can demonstrate some laws of physics. I actually spot this package, when I saw an article about physics in popular mobile game “Angry Birds – Space”. In that article they had been arguing about physics laws in the game and also referred to vpython, where they made some experiments. I told myself I have to try it myself, so I’ve created small program using vpython. Continue reading Having 3D fun with Visual Python
In some places Internet access is available only via proxy, which in practice means that you are limited to HTTP and HTTPS protocols only. But if you have external email accounts like Gmail, this is bit limiting, because you cannot access your email via IMAP protocol from your email client.
However there can be a solution – if proxy support HTTPS protocol, it means also that it supports CONNECT method that tunnels a connection to remote server unchanged. This method could be used to tunnel any protocol, so basically it could tunnel also IMAP ( and SMTP for outgoing email). Continue reading Accessing IMAP/SMTP via HTTPS Proxy
Aptana studia is a plugin to Eclipse, which contains many useful modules (like PyDev) and amongst many also GIT module. However this module is different than EGit ( and EGit cannot be installed because it conflicts with Aptana Git)so manual on Github is not applicable. So how does it work? On my recent project I’ve tried to use it and here is quick guide how to create project and push it to Github. Continue reading Aptana Studio And Git/Github
When I was starting this site I was looking for a reliable solution to backup the site. I have been looking bit around and found this excellent plugin for WordPress:
This plugin is absolutely awesome, with many features, just mentioning few key ones:
- You can create backup job, where you can define what tables and what files will be backed up – thus you can basically backup all site, or selectively just critical data
- You can store backup file to many locations: locally, to remote server or to many popular cloud services (Amazon S3, DropBox …) – so the backup available even when site is completely down.
- You can schedule backups with any periodicity (cron like scheduler) – you can also run it manually
- It works well even in limited hosting environments
One of customization I’ve done for this WordPress theme was to put label text over search input. I’ve found that quite nice design element and space saving optimization.
Basically there are 2 main approaches: Continue reading Title Over Search Input
Bit more on my old site. Old site was created some 15 years ago, with intent of simple and minimalistic space for some of testing and playing SW projects of mine. It had served me well so I decided to keep a copy also on this server, however I will not transfer all content to new site – mainly because some stuff there is really ancient and I’ve lost interest in it. I may transfer some content, which I consider still interesting or something that I’ll return to..
So my new site is started.
My old site will be still available – either here in full copy or on its original address.
Final decision for CMS was WordPress – why to try something special, when tons of people are happy with it. Hope it’ll be OK for a small site like this. (Some time ago I’ve tried Drupal, but it’s much more complicated, WP seems to be much easier and intuitive. I can easily modify a theme to fit my ideas and also fix some plugins without any in depth knowledge).
So let’s see how it will be going on.