I am smarter syndrome

Sometimes in University I found bold young guy saying something like:

I will reimplement this in machine language because is faster

I will reimplement this xyz C function by my own

My program crash, I think there is a bug in HP UNIX socket implementation

I will ge rid of this Java Garbage Collector because it is too slow. I will reimplement all the code in my C++ routine.

 

Belive me: your code is doomed. A full list of guys have already done your same code, found a million bugs and corrected it in the tool you want to replace because they are shitty slow, to your eyes.

I feel your pain because I made your same mistake. Keep reading.

Continue reading “I am smarter syndrome”

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.

BBC Micro bit: first look

The BBC Micro bit an ARM-based embedded system designed by the BBC for use in computer education in the UK. The device has been given away free […] [to every 11 years old pupil] in the UK, and is also available for purchase by anyone.

This is the wikipedia definition.

micro_bit
The BBC:Micro compared with some coins: very small indeed

With a 5×5 led matrix, two buttons, a compass and a 3-axis accelermeter, this small unit has a lot of interesting suff packed for less then 17€ on Amazon


The core is an ARM CortexM with 16KB of RAM and 256KB of static flash for the code.

The Microbit web site offers a very huge set of videos and teaching material. But to regster you need to got an authorization code, because the site seems teacher-oriented, at least for publishing code samples.

It is not very easy to search for code samples, even if there is a bizzarre “site” index, who rememebrs me a 1995 web site :)

The micro:bit is plug and play: when you connect it on a PC  USB, a magic drive will appear. Simply copy your “hex” code on it and…no other steps are needed!

Comparing with an Arduino uno:

Pros

  1. Four different web editor (Microsoft Blocks, Microsoft Touch Develop, Code Kingdoms JavaScript and MicroPython) to start.
    No C language knowledge required.
    Install nothing and get ready in seconds.
    Very easy upload procedure (is a simple drive copy!)
  2. A lot more RAM then arduino (16Ks vs 2kBs)
  3. 3-more pin on the bottom and +3V and GND to attach extra leds/sensor and so on
  4. MicoPython-ready
    Very good collections of examples and demo at https://github.com/bbcmicrobit/micropython.The python runtime has a good hardware coverage too.
  5. Low power: only 3Volt needed for operation (Arduino needs at least double as far as I know, anyway can work in a wider range and can output 3.xV and 5V).
  6. Quite aggressive price.

Cons

  1. Very difficult to download an off-line editor. The online editors use a custom format to save your code. In general the platform seems a bit too close for “ordinary” people. Arduino is much more open. Anyway the micropython is open source and only need a free account on ARM web site (mbed.org). Also my attempt to build the python editor was unsuccessful. The python editor lacks compilation checks anyway.
    I was able to build Micropython with a bit of work on MacOSX
  2. Very very tiny.  For a 6/7 years old child is only “small”, for an adult is “tiny”.
  3. To access the smaller pins like I2C you need additional stuff and/or precise soldering

Anyway I was very impressed. Every Europe school should get one.