Rainbow by Turtle

An example for programming lessons at school

Rainbow by Turtle
import turtle t = turtle.Turtle() # Setting the title turtle.title("Rainbow by Turtle") t.hideturtle() # Setting the rainbow width rainbow_width = 20 t.width(rainbow_width+1) t.left(90) # Setting the rainbow radius r=50 angle=180 # Colors for the rainbow colors=["violet", "indigo", "blue", "green", "yellow", "orange", "red"] for i in colors: t.color(i) r=r+rainbow_width t.circle(r, angle) t.up() t.right(90) t.forward(rainbow_width) t.down() t.left(90) angle=angle*(-1) turtle.exitonclick() t.done()

Amongus by Turtle on Python

An example for programming lessons at school

Amongus by Turtle on Python
import turtle # Primary colors for the character BODY_COLOR = 'red' GLASS_COLOR = 'skyblue' # Setting the title turtle.title("Amongus by Turtle") # Main object Turtle t = turtle.Turtle() t.hideturtle() # Method for drawing the body def body(): # Brush size t.pensize(20) # Setting the color t.fillcolor(BODY_COLOR) t.begin_fill() # Right side t.right(90) t.forward(50) t.right(180) t.circle(40, -180) t.right(180) t.forward(200) # Head t.right(180) t.circle(100, -180) # Left side t.backward(20) t.left(15) t.circle(500, -20) t.backward(20) t.circle(40, -180) t.left(7) t.backward(50) t.up() t.left(90) t.forward(10) t.right(90) t.down() t.right(240) t.circle(50, -70) t.end_fill() # Method for drawing glasses def glass(): # Moving the turtle t.up() t.right(230) t.forward(100) t.left(90) t.forward(20) t.right(90) t.down() # Setting the color t.fillcolor(GLASS_COLOR) t.begin_fill() t.right(150) t.circle(90, -55) t.right(180) t.forward(1) t.right(180) t.circle(10, -65) t.right(180) t.forward(110) t.right(180) t.circle(50, -190) t.right(170) t.forward(80) t.right(180) t.circle(45, -30) t.end_fill() # Method for drawing a backpack def backpack(): # Moving the turtle t.up() t.right(60) t.forward(100) t.right(90) t.forward(75) # Setting the color t.fillcolor(BODY_COLOR) t.begin_fill() t.down() t.forward(30) t.right(255) t.circle(300, -30) t.right(260) t.forward(30) t.end_fill() # Call all necessary methods body() glass() backpack() turtle.exitonclick() turtle.done()

Delphi complaint about the form, "stream error"

CodeGear Delphi 2007, 2009
  1. Rename the .dfm to .txt. Or run $(Delphi)\bin\convert.exe -t Form.txt
  2. Run $(Delphi)\bin\convert.exe Form.txt
  3. Reload Delphi and load the form.
This will convert the form in text into the binary version of .dfm file.

This should be useful:
  • To cure "stream error".
  • When the form from a legacy project behaves erratically.
  • To remove junk and reduce the .dfm file size of the form.
    For example, converting through uploading to text format and back reduced the size of the main form in my project Activity and Authentication Analyzer from 627 KB to 283.
Delphi Form Conversion Utility Copyright (c) Embarcadero Technologies, Inc. Usage: convert.exe [-i] [-s] [-t | -b] <filespec(s) | @filelist> -i Convert files in-place (output overwrites input) -s Recurse subdirectories -t Convert to text -b Convert to binary

Oracle SQL. The first difficulties that users overcome

How to find out the Oracle version

The Oracle version can be found by requesting select version from v$instance; in SQL Plus

ORACLE_HOME

ORACLE_HOME environment variable is set to the path one level above the bin directory where SQL Plus executable file is located.

"No TNS entries found" Error message

In order to remove this message set TNS_ADMIN environment variable to the path where the file tnsnames.ora is located.
TNS stands for Transparent Network Substrate is a proprietary Oracle computer-networking technology, supports homogeneous peer-to-peer connectivity on top of other networking technologies such as TCP/IP, SDP and named pipes © Wikipedia.

"No valid Oracle clients found"

This error occurs when one try to connect an Oracle database, through a Client like Toad for Oracle. To solve add the folder where Oracle client is located to the Path variable.

Starting with Oracle 10g, along with the exp, imp utilities, appeared two new Data Pump utilities: expdp and impdp respectively.
They are also located in the bin directory of the Oracle home folder.
The old export and import utilities are client-side oriented, while the new ones are server-side oriented. Although the old and new utilities are similar in usage, the results are completely different. This means that a dump exported with exp cannot be imported with impdp.

Default directory for the dmp file

If the directory is not specified, Oracle tries to seek the dmp file in the default directory, which is something like that
«drive letter»:\app\«user name»\admin\oratest\dpdump or
«drive letter»:\app\«user name»\product\21c\admin\xe\dpdump in newer versions of Oracle

How to view already available directories for Data Pump

This request select directory_name, directory_path from dba_directories; in SQL Plus shows available directories.

TBytesStream class for Delphi 2007

CodeGear Delphi 2007
TBytesStream class was added in Delphi 2009, so I define it manually for CodeGear Delphi 2007. type TBytesStream = class(TMemoryStream) private FBytes: TBytes; FCapacity: Longint; FSize: Longint; protected function Realloc(var NewCapacity: Longint): Pointer; override; public constructor Create(const ABytes: TBytes); overload; property Bytes: TBytes read FBytes; end; Full unit published on Github