Oracle Database Sync

Oracle SQL Developer is full of nice feature, damned by a overwhelming options pane, like the one I will describe to you right now.

I will show here a very fast way of comparing different database and auto-generate migration script.

  1. Reverse engineer the source database using Oracle Data Modeler
  2. Now select the right arrow  shown below:
    sync-with-db
  3. Select the destination datasource (more here) when asked.
  4. The compare pane will enable you to compare the databases.
    But the default options will also use schema name to detect different object, so you will not get what you want in every scenario.
    In 50% of my daily job, schema are different, so you must select the options below to fix it:
    Select “Options” and then “Compare options”. Then  de-select “Use schema property” like suggested below:
    magic-option
  5. Push the “Sync new object”. Then push the “DLL Preview” button and inspect the generated database.
  6. Bonus: by default the tool will not include tables to drop. Inspect the two pane ad check the table you want to drop in the left pane.
  7. Refrain launching the script without proper testing. You are migrating your valuable data.

RaspberryPI life extender: tmpfs

To increase performance and SD life of your raspberry PI 2/3, you can follow my first article on this subject.

You can easily increase even more the SD life if you can trade a bit of RAM.

The key idea is to take advantage of tmpfs, which can be resized on the fly too.

Masterplan

  1. Mount /tmp and /var/log on tmpfs. I gave vert little to /var/log (about 5MB) whereas /tmp must have at least 200MB if you plan to compile some stuff (it is used by the compiler toolchain, so you can frick a bit of pain if you have it too small).
    To enable /tmp, you must hack the tmpfs under /etc/default/, tuning the two lines…

    RAMTMP=yes
    TMP_SIZE=22%VM
  2. Consider defining a /workarea of about 1Mb of space for temp workarea (like compilations and so on).
    You can resize it on the fly to match your requirements. Even bigger stuff like postgresql need about 200MB of disk space for compiling (binary&source included!).

Example of fstab:

# Resize on demand:
tmpfs   /home/pi/workarea       tmpfs   defaults,nosuid,auto,uid=1000,size=1m   0       0
# Reduce logging stress:
tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=5m    0 0
# extra: usb stick mounted under /mnt and assigned to pi (1000) user
/dev/sda1       /mnt            vfat    auto,defaults,uid=1000  0       0

 

The Lego Technic Impossible Revenge Part 1

super-pricey-setAfter my first child reached 5 years old, I decided it was time to start my Lego Technic Revenge, together with KyloRen Star Wars lego-puppy (eh eh).

It is very difficult to find out a good set to play with gears and so on. The big Lego Technic toys like cars and so on are sold without nice pieces to link with “normal bricks” (see below the red one).

This problem was already spotted by Yoshihito Isogawa in his Lego books. Finding a good set of pieces is an expensive task. After some search I found a set of boxes  I will suggest in this post.

The first is the LEGO® Education 9689 – Simple Machines Set which provide you a bunch of gears and also some pieces like this red one:

9689-2

You can easily attach this pieces with other basic lego bricks. Paired with a LEGO Technic 8293 – Power Functions
you can get some nice stuff investing less then 100 euros. It is still very expensive anyway. But the gear set you get is nice too (see below). Last but not least you can add the Lego – Set aggiuntivo per pneumatici per Lego 9686 (pneumatic set) to play with a compressor too.

9689-1