September 18, 2017
02:50
A.I. Code

A.I. can be found on the CPU in the form of logic gates. These are some atomic functions of artificial intelligence.

 

function LT ($a, $b) {

 

  if ($a < $b) {

    return true;

  } else {

    return false;

  }

 

}

 

function GT ($a, $b) {

 

  if ($a > $b) {

    return true;

  } else {

    return false;

  }

 

}

 

function ET ($a, $b) {

 

  if ($a == $b) {

    return true;

  } else {

    return false;

  }

 

}

 

August 6, 2017
08:39
shotting.cc updates

 

  • NUKE.php (Search) Updated
    • Desktop + Mobile Styles Sheets
  • Light Theme (Aka. Oldschool.css) Changed
    • Theme is now light gray, white, and blue
  • http://paranoid-hacker.com/reg.php For Registration
    • Registration gets your personal News Feed + Repo
    • REPO is a file creation/editor/download in zipping REPO
    • REPO can also create folders
    • Think Calander, Memos, Jobs, Todo, and more...
  • http://paranoid-hacker.com/index.php has a new code themed front end
  • Paranoid Hacker has an Easter Egg Admin Facility where you can post your own codes. This is a secret that will only be revealed to Newsletter subscribers (see reg.php at paranoid hacker above link)
  • The b i g reveal comes in Septembers (Autumn edition) Newsletter
Overall, I'm well pleased that work is growing and continuing for APO Networks. I used to run www.aponetworks.com/ for 10 years until the site started to stagnate. So, I shut her down, (the site), and opened up several new sites since then. The most successful, with 8.8m visitors for 2016-2017 - is shotting.cc

The site that actually is producing the most hits is the ever same and unchanging shotting.co.uk - this is using the affiliate.shotting.cc linkage download package. You too can contact us at belly.knots @ g m a i l (dot) c o m for setting up an affiliate account. Soon, full affiliate functionality will be built into shotting.cc Registration over at paranoid-hacker.com/reg.php

Thankies and okies, for signing out!

 

June 11, 2017
08:35
Lita AI
Imports System.IO


Public Class Gasp

    REM ------------------------------------------------------------------------------------------------------------------
    ' (C) Alexander Peter Obrzut 2017 January 21st ~ 2018 January 22nd
    ' Shotting.cc is a promotional website for Alexander Obrzut's Software Platform
    '
    ' This software concerns language analysis and related language program genie wizzhArd
    '
    ' The language can form a generic AI for software development or BASIC chat Modules
    '
    ' The process should be completely autonomous, supervised due to the fact that it learns
    ' from input files rather than creating iteslf from all possible combinations
    '
    'first task, frequency tests...

    ' With frequency tests nearing completion, I'd like to work on HTML Grammar + HTML Genies
    ' This basically involves readLine() + <br />
    ' To output some VB.NET code GENIE

    ' We need all the source code put into a book for publishing

    ' we need a class structure to build on great things

    ' the ai needs to be able to discover information

    'seperate the information influx into instructions, conditional loops, condition statements, type definitions,
    ' equasions, and pro-grammar (English comments/HTML <p> Paragraphs)
    ' develop 'individuality'
    ' develop a complex system of thought - relational db of thoughts and codes
    ' rotary nodes, interspersed with binary tree nodes
    ' linked list nodes / rotary nodes of char pairs to char word pairs
    ' spaces seperate the word pairs, nothing seperates the char pairs
    ' we need a rationale db designer similar to pms suite
    ' insert new combo box with drop down list of Rotary node, linked list, and binary tree node
    ' then create relationships between the lists









    REM ------------------------------------------------------------------------------------------------------------------




    Public nodes(10000000) As Nodearray
    Public node As New Node

    Public nodeIndex As Integer = 0

    Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
        OpenFileDialog1.DefaultExt = ".txt"
        OpenFileDialog1.CheckPathExists = True
        OpenFileDialog1.InitialDirectory = Environment.SpecialFolder.MyDocuments
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            MsgBox(OpenFileDialog1.FileName)
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRight.Click
        'fill list box with node frequencies


    End Sub

    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Application.Exit()
    End Sub

    Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveAsToolStripMenuItem.Click
        FolderBrowserDialog1.ShowNewFolderButton = True
        FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyDocuments
        Dim dr As Windows.Forms.DialogResult = FolderBrowserDialog1.ShowDialog()

        If dr = Windows.Forms.DialogResult.OK Then
            'MsgBox(FolderBrowserDialog1.SelectedPath, MsgBoxStyle.ApplicationModal, "PATH")

            node.SetPath(FolderBrowserDialog1.SelectedPath)
        ElseIf dr = Windows.Forms.DialogResult.Abort Then
            MsgBox("Aborted.")
        ElseIf dr = Windows.Forms.DialogResult.Cancel Then
            MsgBox("Cancelled")
        End If
    End Sub

    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

    End Sub

    Private Sub btnMiddle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMiddle.Click
    End Sub
    Private arayLength = 10000000
    Public ARayLgth = arayLength - 1
    Public fileArray(arayLength) As String
    Public nedRay(arayLength) As Nodearray
    Public AlphaJoin(arayLength) As Nodearray
    Public NodePairs(arayLength, 2) As Nodearray
    Public nodeSets(arayLength, 2) As Nodearray
    Private Sub FrequencyTestsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FrequencyTestsToolStripMenuItem.Click

        Dim nedRayIndx As Double = 0.0

        If Not node Is Nothing Then
            Dim readyOrNotHereIComeImGonnaFindYouAndMakeYouWantMe As String = node.GetPath
            If readyOrNotHereIComeImGonnaFindYouAndMakeYouWantMe.Length > 0 Then
                'Now we're ready and coming for you
                'recursive *.vb search array builder here
                Dim index = 0
                Dim ext As String = ".html"

                Dim result As Double = 0.0


                Dim cls As New IOSearch
                cls.SearchDirectory(New DirectoryInfo(node.GetPath()), fileArray, ext)
                'loop on fileArray() here
                Dim ios As IOSearch = New IOSearch

                While index <= ARayLgth
                    If Not fileArray(index) Is Nothing Then
                        If Not fileArray(index).Length = 0 Then
                            'call file processor
                            Dim zsue As StreamReader
                            Dim sw As StreamWriter
                            Dim ModFile1 As String = fileArray(index)
                            Try
                                zsue = File.OpenText(ModFile1)
                                ListBox1.Items.Add(ModFile1)
                                sw = File.AppendText("HTMLb.txt")
                            Catch ex As Exception
                                Label5.Text = "File Open Error On " + ModFile1
                            End Try

                            'encode the resources


                            While Not zsue.EndOfStream
                                Dim tempString As String = zsue.ReadLine()

                                Dim StringIndex As Integer = 0
                                While Not StringIndex = tempString.Length
                                    node = ios.Process(tempString, StringIndex)
                                    StringIndex += 1
                                    node.Line = tempString

                                    ' sw.WriteLine("Line: " + node.Line.ToString + " " + node.PreceedingChar + node.token + node.ProceedingChar + " " + node.UniqueIdentifier.ToString)

                                    nedRay(nedRayIndx) = New Nodearray
                                    nedRay(nedRayIndx).SetNode(node)
                                    nedRayIndx += 1

                                End While
                                nodeIndex += 1
                                Label5.Text = nodeIndex.ToString
                                Application.DoEvents()
                                Refresh()
                            End While



                            If Not zsue Is Nothing Then
                                zsue.Close()
                            End If
                            If Not sw Is Nothing Then
                                sw.Close()
                            End If

                        End If

                    End If
                    index += 1
                End While
            End If
        End If

        Dim ReducedNodes(ARayLgth + 1) As Nodearray



        Dim reducedNodesIndx As Double = 0.0

        For i As Double = 0 To nedRayIndx
            Dim stratocaster As Boolean = True

            reducedNodesIndx = 0
            While reducedNodesIndx < ARayLgth
                If Not ReducedNodes(reducedNodesIndx) Is Nothing Then
                    Try
                        Dim timmy As Node = ReducedNodes(reducedNodesIndx).GetNode()
                        Try
                            If Not nedRay(i) Is Nothing Then
                                Dim noddy As Node = nedRay(i).GetNode()
                                If timmy.UniqueIdentifier = noddy.UniqueIdentifier Then
                                    stratocaster = False
                                    Exit While
                                End If
                            End If

                        Catch ex As Exception
                            Exit For
                        End Try

                    Catch ex As Exception
                        Exit While
                    End Try


                Else
                    Exit While
                End If
                reducedNodesIndx += 1
            End While
            If stratocaster = True Then
                ReducedNodes(reducedNodesIndx) = New Nodearray
                If Not nedRay(i) Is Nothing Then
                    ReducedNodes(reducedNodesIndx).SetNode(nedRay(i).GetNode())
                End If

            ElseIf stratocaster = False Then

                Dim tempCounterNode As Node = ReducedNodes(reducedNodesIndx).GetNode()

                tempCounterNode.count += 1

                ReducedNodes(reducedNodesIndx) = New Nodearray
                ReducedNodes(reducedNodesIndx).SetNode(tempCounterNode)

            End If
        Next
        reducedNodesIndx = 0
LOOPOLE:
        If Not ReducedNodes(reducedNodesIndx) Is Nothing Then
            Dim EnterTheNode As Node = ReducedNodes(reducedNodesIndx).GetNode()
            If EnterTheNode.count < 10 Then
                '            ListBox1.Items.Add(EnterTheNode.PreceedingChar + EnterTheNode.token + EnterTheNode.ProceedingChar + "P:" + EnterTheNode.Position.ToString + "C:" + EnterTheNode.count.ToString + EnterTheNode.Line.ToString)
            End If
        End If
        reducedNodesIndx += 1
        If ReducedNodes(reducedNodesIndx) Is Nothing Then
            GoTo Fin
        Else
            GoTo LOOPOLE
        End If


Fin:
        Dim i_Index As Double = 0
        Dim NedRayLink As Double = nedRayIndx
        While nedRayIndx > 0
            'Pairs the triplets
            If Not nedRay(nedRayIndx) Is Nothing And Not nedRay(nedRayIndx - 3) Is Nothing Then
                Dim A_Node As Node = nedRay(nedRayIndx).GetNode()
                Dim B_Node As Node = nedRay(nedRayIndx - 3).GetNode()

                Try
                    '        If A_Node.count > 80 And B_Node.count > 80 Then
                    NodePairs(i_Index, 0) = New Nodearray

                    NodePairs(i_Index, 0).SetNode(A_Node)
                    NodePairs(i_Index, 1) = New Nodearray

                    NodePairs(i_Index, 1).SetNode(B_Node)
                    'End If

                Catch ex As Exception
                    MsgBox(ex.ToString)
                End Try

            End If


            nedRayIndx -= 3
            i_Index += 2
            If i_Index >= ARayLgth Then
                i_Index -= 2
                GoTo PENTAGON_DRAGON
            End If

        End While



PENTAGON_DRAGON:
        Label5.Text = "F"
        nedRayIndx = NedRayLink
        Dim i_End As Integer = i_Index

        For t As Integer = 0 To i_End
            If Not NodePairs(t, 
Tags:
June 10, 2017
10:40
Added FREQ2(); To Lita AI

We've got a new frequency, ppl! All for Lita's AI Engine.

 

It's the original idea, executed properly, this time around.

 

 

Tags: ,
May 30, 2017
09:37
Course 1J – Web Development

Course 1J

Part Two of many in an ongoing

series detailing Web Site Development

 

Day One Lesson 1

The Case Study

Course 1J – Web Development

 

Welcome to the second part in a series of short 5 day courses that will enable the student to successfully develop a website that attracts organic traffic and becomes an overnight success.

 

Stage Two in my course of web dev.

 

The teachers name is Alex the hermaphrodite Jesus. Alex is an old school hacker who is going to teach you the fundamentals of web development and make you successful developers by the end of the series.

 

If you have just finished the first 5 day course 1A, well done and congratulations! Now becomes that time again to study the course material avidly and enthusiastically throw your self into the work.

 

This course details some snippets of information left out the original Course 1A – hence Course 1J exists to fill in the missing bricks in the wall of knowledge at the edge of Eden.

 

Let us begin with a recent case study experiment conducted by Mr Alex, our teacher and mentor over a period of one year. The experiment ended right down to when the yearly invoice for hosting came through.

 

Case Study #1J – shotting.cc

 

http://shotting.cc/ is a site with content based advertising. Adverts from Google AdSense were served on every page on site. If a advert click is made approx. £0.10 to £1.00 went into Alex’s account. When the AdSense account reached £60, a payment into Alex’s bank is sent from Google.

 

The website used an ‘E=Commerce’ Business Package for Hosting costing £164 pre-tax.

 

The site, after 1 year of operations, earned £100 and had to close. Lessons learned are thus;

 

1. Alex posted regularly and advertised with Google, Twitter, Facebook, and YouTube.

 

2. When Alex paid for an audience, the audience came and clicked Adverts in-proportionately to the costs of advertising.

 

3. Alex found it tempting to click from his mobile in stealth mode!

 

4. Creating regular site content for 1 year took toll on Alex as an creative writer and software developer. Therefore, the regular posting schedule failed under the strain and part of the audience were lost.

 

5. SPAM on site in the comments section contributed to the server load buckling and requiring Alex to spend an Evening removing the Comments form.

 

6. Hackers gained access to shotting.cc via a buffer overflow on the comments input form. Alex forgot to sanitise input, but by then, it was too late. The hackers had backdoored the site.

 

 

 

Case Study #1J Cont.

Alex told his friends about shotting.cc and one of the first questions asked is this:

 

What is shotting.cc? What does it do? What are you selling?

 

Alex found it so difficult to define shotting.cc that he opted out with the usual – Oh, it’s a blog – reply.

 

But, shotting.cc was far from being custom WordPress. Shotting.cc is Alex’s art. With videos & music streaming on site + software Alex wrote in VB.NET + Source Code Listings + an AI Bot that would talk based on a sentence database built from everything Alex had ever wrote on site.

 

Shotting.cc was definitely not just another wordpress blog.

 

The site had cPanel with AwStats. 5 x MySQL DB utilised out of a possible 25 and unlimited bandwidth. How ever – Alex soon realised that CPU time slots were running out and the site experiencing outages made Alex excited. Shotting.cc in its last month online got 55K visitors. The maximum the server could handle. The problem was – the site wasn’t making enough money.

 

This is a lesson learned. Have a monetisation strategy in place before site launch. Sell peyote, sell Tee-Shirts, Sell Watches, sell whatever small items you can ship in the box on site then take trips to the post office running mail order to keep the site or network afloat.

 

My advice? There isn’t any money for the small business in Advertising. That’s reserved for the big players. Sure, if you can negotiate a contract for advertising to pay for the site becomes a win situation. But, even that has a downside. The advertiser might want control over content produced on shotting.cc – something Google mentioned in a personal e-mail to Alex stating ‘...content was not advertiser friendly.’

 

When your site hasn’t any adverts – your content is free to be what you want it to be.

 

Catering for AwStats

 

AwStats lists downloads and click rates on server-side .HTML Documents. Having an .PHP page serve up all the content defeats the purpose of having AwStats running and on board. Therefore, it is best when producing content for your site that you have dynamic elements to the site = such as a .HTML Document listing that updates when new content is added. But, keep newly added content in .HTML files created by a PHP script.


A PHP script can pull in data from a MySQL database or template files that contain the relevant HTML for producing a standard HTML layout for the new content and have a main area in the PHP Generated HTML File where new content goes. This is exactly the case with shotting,cc what had an admin section where new HTML Documents could be crafted from scratch.

 

`Having HTML documents instead of PHP scripts means AwStats can function correctly by recording HTML Document Click Through Rates and Apache web server doesn’t get too bogged down in CPU Cycles generating and processing Dynamic Content. Apache performs best of all serving up HTML rather than PHP. This means faster load times throughout the site which was often commented on when shotting.cc comments box was live.

 

 

Day Two Lesson 2

Communications Barriers

Breaking Down Communications Barriers

 

By using gender neutral colours and avoiding ‘noise’ on site that would otherwise confuse or dilute the message you are attempting to get the audience to receive, you stand a better chance at surviving in the massive waves of sites online.

 

Not only does the font size, colour scheme, and arrangement affect the message being sent – but also the words, icons and overall image being employed.

 

Using gender neutral words that apply to everyone is good. Because, you are trying to reach as large an audience as possible.

 

Try not to use complex expressions, unless you are using a twist of grammar to catch the readers attention at a particular moment in time.

 

Using mnemonics in line with your wording will enable your readers to remember what you are about, and what you are saying. A mnemonic for shotting.cc was Shottingham. Or, Nottingham Shots. This helps the reader form impressions about the site.

 

A Communications barrier for some might be flashing or contrasting colour schemes. Some people might find this hard to read, especially the colour blind or hard of sight. This also applies to font sizes. Have an option to enlarge the writing on site. This is possible from the browser, but, not everyone knows about that feature. There fore, having the option by using a little Javascript on site that links to a series of different sizes to make, for instance, a font 200% larger, will help the elderly on site read what you are saying. |And make sure your font sizer is large enough to be seen by those who wear glasses.

 

Language barriers are common. Using too much JARGON can make people leave the page and this can also be true of abbreviations that are present in text without an expansion on what the abbreviations mean.

 

You must also consider those with mental health issues reading your site. Avoid slogans such as ‘Go on, make a killing!’ or ‘Escape today!’ - as this might trigger a psychotic episode in border-line psychosis.

 

There are those who use drugs too. Drug users have slang terms that can be used or not used on site. Classic coke, anyone? There are too many slang terms for drugs but a visit to your local rehab centre might have pamphlets with slang terms on for your country. Remember, the Internet is global, so a good rule of thumb is;

 

The less said, the better…

 

Think of Coca-Colas slogan ‘Im Lovin It’. Or KFCs slogan ‘Finger lickin good’. These are positive affirmations for the branding. You too can have a short and snappy slogan for your site and business. Something that communicates well to your audience. ‘Dogs love us’, for a vet. ‘Crazy Candy Crunch’, for a confectionist. Keep to three words, with a verb and noun.

 

 

Day Three Lesson 3

Case Study Conclusions

As you seen in lesson 1, the case study – you were exposed to lots of new information about the website Alex the hacker ran, titled shotting.cc.

 

In this lesson you will be drawn to some conclusions about the case study. What actually happened over a period of one year? What did Alex learn?

 

All this will be covered in this Lesson – conclusions.

 

1. What happened?

At the end of year one, Alex’s website had 55k visitors in April alone. This figure comes from April 2017 stats for shotting.cc. The month shotting was shut down.

 

Over the previous months leading up to closure, shotting had a maximum of 60k visitors in a month. This was the limit of visitors that the site could handle. Alex considered an upgrade, but without gaining any real money from the Google Advertising, the site was promptly closed. A total of £100 was made in one year. Yet the site cost £200 to run per year!

 

This is a story of many web entrepreneurs. The sites just do not break even. Yet, what could Alex have done to save shotting?

 

Offering subscriptions to a software download section might have helped. Even selling tee-shirts would have been feasible.

 

Alex, how ever, lost focus about 7 months into site running. This is easy to do with such a monumental task of creating fresh new content each month for your audience.

 

But – there are ways that Alex could have improved the rankings of shotting. And got more money!

 

One of the methods or techniques Alex could have used would be ‘organic search traffic’. This is where you post a video that is aimed at being listed in organic search results. What means, for example, making a video ‘How to plot x and y in C’. C being a programming language, and plotting x and y on a graph like in mathematics geometry.

 

This video would get organic search results from GCSE Math students who’d like to use the idea in their homework!

 

This sort of video title is far better than ‘Alex smokes a cigarette’ type video. The difference? The former got 1000 views in a matter of weeks, the smoking video still has 10 views after 6 months of being online.

 

I understand the problem, however. Coming up with fresh organics every month is really difficult. But, that is what is required if you’d like to see results. Consistency is key too. If you have a math video – stick to making math videos. Find your niche. Then, you can host a site when you have a social media following. Once you have an audience in place on social media – such as youTube – registering a site is naturally the next stage of development for your online presence.

 

 

Day Four Lesson 4

Shotting Search and Affiliate Marketing

Course 1J – Web Development – Lesson Four – Search and Affiliate Marketing

 

You are fully aware of computer search technology. So, it will come as no surprise that shotting’s search engine for searching the websites posts became one of the most used features on site. The search engine, titled nuke.php, had 13K hits in April 2017.

 

To dismantle the search code you will find that nuke went through every html document word for word attempting to match accurately the search terms.

 

When a match was made, the contents of the html file would be shown on screen. We used CSS columns so users of nuke would scroll to the right rather than down.

 

Another popular feature with 5K views is the affiliate marketing articles and sub-domain. Affiliate marketing had a download of a zip file that would be extracted to your website to access the shotting DB (database) through a PHP script.

 

See, I remember Mark Zuckerberg from Facebook (The CEO) mentioned this:

 

Build a site and keep adding features. This way you won’t stagnate.”

 

Alex could not agree more! This is what led to building the search engine. The AI. The Affiliate Marketing Scheme. And more!

 

This was all happening at shotting.cc

 

The difference between adding search capabilities to adding new articles is the overhead. Once you build search, it is there to stay without modification. But, with fresh content – it is very stressful to keep finding new things to write about. This is what often leads to burnout and writers block.

 

In fact, the same might be said with adding new features. New has overhead. New is very stressful. But new brings in the audiences.

 

Just to briefly add here, slightly off topic but, Shotting.cc had great artwork articles, videos, music, source code, Hacker content, and fantasy news. The most popular articles were the Heap Overflow Video with 100K+ Views-and my Music Video with some 2K+ Views. The videos did prove popular on shotting.cc.

 

There were also downloads and podcasts. People were actually more engaged with the podcasts than the rest of the site. I had a PHP script that listed all the mp3’s in a directory and output them as playable content in HTML5. HTML5 can actually embed MP4 videos and MP3 Music without any fuss, just a few lines of code and you have playable media.

 

The most popular download was Bytemine.zip, this was an AI tool, 9 buttons each with a value ranging from 1-9 – that increased by set amounts after a button was pressed, and beeps of different frequencies were played along with flashing lights as the program processed the maths formula numbers. In April 2017, the last month shotting was online, Bytemine had 45 downloads. The Anonymous reprogramming mind control podcast got played 500 times, but this might have been a DoS attack.

 

 

Day Five Lesson 5

What did we Learn?

Course 1J – Web Development – Lesson 5 – What did we Learn?

 

To summarise what we have learned this past week in a nutshell is thus;

 

1. ‘New’ has overhead and can lead to failure.

 

2. Be careful creating a new site without monetization strategy in placement

 

3. Videos, podcasts, and images perform better than the written word

 

4. People definitely would use search boxes on site if available

 

5. Affiliate Marketing remains a strong attention grabber if executed correctly

 

6. Use Social Media to promote your brand to gain a strong audience base, this really does work!

 

7. Use organic traffic getting headlines and content such as ‘How to: Plot x and y in C’

 

8. Break down communications barriers by having easy words, large fonts, and easy to read colours

 

9. SPAM remains a problem with the modern Internet, make sure your inputs is SPAM Proof.

 

10. Hackers gain access to websites via Inputs Boxes and forms. Sanitise all inputted data.

 

Ten is a nice round number so we’ll leave the list at ten. For optional credit, try to think about how one would sanitise input data so hackers would have difficultly compromising the website. This might be checking lengths of text so overflows won’t happen or making sure the MySQL database isn’t compromised with a rogue comma (XSS Exploit), and also making sure that <IFRAME> isn’t present in the comments nor will it be possible to post HTML to the comments section because <IFRAME> Hacks are common and having one on site will be detrimental to the health of the site in search results. The last thing we need is to be listed as ‘not safe’.

 

 

This concludes Course 1J – Web Development. I hope you take something away with you from this series of courses! See you next Spring!

09:36
Advanced Web Design Course 1A

 How-to: Design a dynamic website using HTML, CSS, and PHP

 

Resources used;

 

w3schools.com

 

Welcome to the 2018 course on web design using a mixture of static and dynamic languages. During reading this document you shall find my unique writing style either charming and witty, or abrasive and annoying. This depends entirely on the reader, as everyone is unique.

 

As most people know how to design a website in 2018 this article will offer website developers a perspective on web dev. Like no other course. Mainly because this course is wrote by a highly skilled hacker whom is writing the bulk of his knowledge outlined here.

 

The insights are priceless and timeless. Applicable now and 20 years from now. Future proof is the best way to describe the knowledge presented here, straight from the hackers brain.

 

If you are curious to see a course outlined – here is the basic intro to hacking together a site in seven days.

 

1. Marketing

2. Design

3. Communications

4. HTML/CSS/PHP

5. Statistics

6. MySQL

 

These concepts will be covered in detail over the coming lessons in this text.

 

The authors real name is Alex Obrzut, a dual-national hermaphrodite Jesus. Alex enjoys walks in nature, meditation, day dreaming, early starts, and codes. Alex uses strawberry and banana smoothies as a healthy diet; thanks go out to freely the banana girl @ Youtube.com for the dietary advice. Alex started out life at age 5 on a Sinclair Spectrum (ZX Spectrum) programming in BASIC writing 8-bit video games. Alex shamefully has a qualification as a VB.NET programmer from a college course taken in 2008. Other than that, Alex rather happily holds an A-Level in Communications and scored 100% on GCSE Mathematics.

 

His father – now deceased – is an Polish WWII Air Force Veteran who spent most of the war surviving a concentration camp at Auschwitz.

 

His mother – alive and ancient – lives with three generations of family and is now a retired Great Grandma.

 

What this course isn’t is a BORING lecture on Languages, nor will you find much information on the actual codes used to build a website. That is why w3schools.com is listed as the goto resource for languages. What Alex wants to educate you in is WEB DESIGN. This is where you will learn many key aspects at producing a site that gets you organic traffic, natural growth, and overnight success.

 

Lets start with the basics of languages and design then move onto marketing and communications.

 

 

Day Zero : Lesson 1

Brief, Boring, Languages

 

 

Welcome to Language Studies, Lesson 1. Here we will cover all the aspects of language, with pointers to deep learning over at w3schools.com

 

HTML

 

HTML stands for Hyper-Text Mark Language. This language is small and concise, and used by every website. HTML consists of tag marks that can by influenced by the CSS Design Language and incorporated in your dynamic PHP scripts. HTML and CSS can adequately be stored for later retrieval and manipulation in a MySQL Database or index.html file all located on your web server. A popular web server in 2018 is Apache.

CSS

 

CSS stands for Cascading Style Sheets. CSS is used primarily as a HTML designer language. CSS consists of a series of tags used inline HTML tags or global declarations contained inside a single file or spanning multiple files using CSS includes in the HTML header. CSS can for example make all the anchor links of a web document have no text decorations (such as links underlined) and / or make the link any ARGB colour predefined.

PHP

 

PHP stands for Pre-Hypertext Processor. PHP is used for creating dynamic websites where the page changes depending on the PHP algorithms in place. What the end user sees is always going to be HTML, but what HTML is served up by the server depends on the PHP script. PHP is so advanced and powerful, Alex the Hermaphrodite Hacker recently created an AI Engine in PHP.

 

AI stands for Artificial Intelligence.

MySQL

 

MySQL stands for Standardised Query Language. This is the language used inside a PHP script as a means of interfacing with a MySQL Database. MySQL is also ported to other server languages and not just PHP and is a very powerful database query engine in the right hands. Oracle is also another well known Database Engine just for contrast.

 

Language Elements

 

All of the above languages have great courses over at w3schools.com but you will learn the capabilities of each language here.

 

Let us begin with HTML.

 

HTML has always had a standard layout of head-body-foot. In the head go CSS/Javascript links to external files or inline CSS and Javascript. The head also contains the title of the web page which is the most important element to your document as the title is listed in the Search Results of Google and Yahoo. More on marketing later.

 

The head also contains meta-tags and document key words. Also, the head contains a HTML Language Version code. This currently is html 5.

 

Next part of a HTML document is the body. The body contains the contents of the web page such as multi-media, text, and hyperlinks. A hyperlink either loads new content from the same index.php page or links to a different HTML document either on or off site.

 

The body contains HTML tags such as headers to title paragraphs, links to an custom About Us Page for instance, or image codes and much more. Get the body right and the rest will fall naturally into place.

 

Next is PHP.


PHP is what makes a site dynamic, and makes an index.php page load different HTML results depending on user interaction. PHP has many abilities. Too many to list. Here are a few of my favourite PHP skills…

1. File Operations

2. Database Interface

3. TCP/IP Networking

4. Form Handling

Using the above four, we can read the contents of a web page located on a different web site, save the contents either in a file or database, and use a form for users to upload content and make text posts to a blog for instance.

All this – and more – is possible with PHP.

CSS is basically the designers tool to make your HTML page look nice. CSS can create columns for stuff to go in, colour your background with gradients, incorporate transparency into HTML elements, and much more.

On a side note, Javascript, a language Alex needs to learn, is becoming widely adopted as the dynamic language to use. Alex found JS a PITA as the language is not very forgiving when it comes to whitespace placement. This is unlike other web languages.

If you would like to learn more about languages, head over to w3schools.com


Day One - Lesson 2

Cool, Awesome, Marketing


Lesson 2: Marketing is the start of entertaining education now that boring languages is out the way!

What makes for great marketing? What are the pit falls of an advert or campaign with Google? What marketing is useful to a small to medium sized business?

These questions will be covered here, with advice and tips.


First and foremost – great marketing gets you an audience and gives your brand awareness. What marketing isn’t is a silver bullet for poor site design or a crappy brand.

Let us start with site content as this is your market place for all your stuff where visitors will form an instant opinion of your brand, and either ‘bounce’ or buy.

A site built from scratch has an advantage over bundled site software such as Joomla and Wordpress in that the site looks original.

But, for security reasons, we suggest using Wordpress or other bundles as this will save your time later on down the line when your site grows in popularity and hackers try and gain unauthorised access.

The most secure site is a basic HTML site with no user forms to process. Open user input on site, such as a comments input, and you’ll have to consider buffer overflows and other security issues such as sanitising that input.

Great site content is key. There are good examples and bad examples. The long sell is a bad example. This is where you list a multitude of reasons as to why to invest money in the brand, but it just looks desperate and written by a lonely man whose attention seeking.

For a brand, think cola. Every successful junk food has a short and snappy slogan that shows the brand in a positive light and paints a subliminal picture of what would happen (success, love, happiness) if you invest money.

A slogan, few images, positive video message, audio, all aspects of multimedia can be used on site these days and have to be used if you want the money. Hire actors, attractive people who have the ability to speak clearly and are understood so the message you’re sending gets well received.

Site content must fit the brand by having a consistent message. Its’ no good having a fitbit site promo with a free cheeseburger voucher! Consistency is key.

Consistency means reinforcing the brands message throughout the site. But keep the message simple to understand.

As for the pitfalls of marketing; generics. That is your enemy. Be niche and not just niche but broadly niche. What Alex means is, don’t spread your self or your team too thinly else risk diluting the brands message. If you are offering health spa treatments for example – and have a newsletter, blog, site content detailing the treatment, user feedback, and more, its’ going to confuse your audience and you’ll be over-worked with running all that on site and not be able to fully optimise your spa treatments. Since niche usually means low incomes, you’ll require more than one niche market to cover in order to pay for the websites you’re running.

Remember, the more content a site has, the bigger the bandwidth used, and too much bandwidth can equal to site downtimes due to users interacting with all the cool features of the site.

That’s some of the pitfalls of marketing, what about Google AdWords advertising campaigns?

As for advertising campaigns, avoid Google. You’ll get an audience of bounce through which means people visiting your site, who are only visiting because your advert is being shown on their site. They’ll click the ad to earn the money you pay for each click then move onto the next site advert to click. Google Networks is a scam. However, organic search traffic advertising is perfect for you. This gets your site listed at the top of the keywords you specify for approximately $0.10 a click.

True advertising comes from word of mouth. For example, a niche site for peyote got listed on various other sites as a good peyote seller to do business with and this generated leads. Lots of leads. Mainly from word of mouth that the peyote arrived well packaged, fast, and customer service is A+.

Think of this as an example for good marketing practises. Peyoteuk.com when it ran did not need google. It became part and parcel of the underground legal high scene within one year of opening and gave Alex the ability to test other niche sites with the money earned.

HERE ARE SOME PRO TIPS FOR MARKETING CAMPAIGNS

1. Be specific

2. Definitely be niche

3. Snappy slogan

4. Be visually appealing

5. Be sexy

6. Offers

7. Custom content for repeat customers

8. Keep content to 10 items or less

9. Golden Ratios (Approx. 1 : 1.624)

0. Price according to your target audiences income

Specify a HTML document title that will rank high in search results. To get to the top of Google, you must have something new to offer, and title accordingly. Top results are reserved for the new comers and will remain top as long as you have the niche site on line.

What damages search engine listings is poor code, not thinking through titles or ideas, and general chaos on site. SEO clearly states presentation is key.





PRO TIPS IN DEPTH FOR MARKETING CAMPAIGNS

1. Be specific

To specify is to win big. Generalising your campaign message will dilute your audience share. This means less leads and less conversions. To give an example; reaching the top spot in search engines for a general term such as ‘marketing’ is hard. ‘Marketing brands in 2018’ is more specific but would soon get dated. However ‘Marketing Brands For Spa Treatments in the UK’ is definitely possible because you are being more specific, and, search engines rank higher these sorts of web page titles if everything else (code, design, product) meet the spec. Remember there is a limit to the length of a title in search results, so be specific but concise with your specificity.

2. Definitely be niche

Yes! Be Niche. Smoke a cigar whilst uni-cycling with a small pink dog in a public place and you’ll definitely get attention!

3. Snappy slogan

A snappy slogan is all we really need to stick in the audiences’ head to be remembered. What are we being remembered for how ever, is another story. It might be that the page you worked so hard on failed to load due to an internal server error. It might be your cheap prices for such a nice selection of clothing and footwear, or it might just be you get remembered to be returned to at a later date to steal some of that excellent colour scheme you’ve used in your CSS file. Whatever the reason, give people a reason for book marking your site with a memorable catch phrase or slogan.

4. Be visually appealing

Unless you are producing a scientific journal, not being visually appealing in your marketing campaign is a high risk strategy! Note, I said; ‘Not Being...’

To tap into a audiences’ visual cortex means you stand a higher chance of being remembered. For instance, Alex has a visual memory – and can memorise documents quite easily. Alex is prone to picking up weird visuals from the net – for instance Alex clearly remembers Bulldog Brand because of the 3D Bull Dog Visual built from triangles in shades of grey. This image is impressive and stood out to Alex, who clearly remembers it some years later. Alex even took the time to save the image to disk to curate on his own site with related written word article.

5. Be sexy

By having models on site makes for a visual that people remember the site in a positive light. Attractive people with white teeth, big cleavage, and angelic blonde looks all equal conversion or at least an impression that you are successful enough to hire models!

6. Offers

This is clear. Have offers on site. Buy 1 get 1 free is common. Pay for a years subscription and save up to three free months! helps get the big money contracts flowing. Make sure there are no hidden catches, and that sign up is as smooth as possible.

7. Custom content for repeat customers

Once a member of your clan is signed up, keep the content they see on site custom and personal to their experience. If you run a music site, show offers for similar music they’ve browsed. This helps the repeat sales pitch without sounding too needy, you are HELPING THEM SHOP!

8. Keep content to 10 items or less

This is important design. If there are more than 10 items or areas to a web page, you’re doing it wrong! People will get lost in the chaos and leave unable to find the page they were looking for to make that all important purchase.

9. Golden Ratios (Approx. 1 : 1.624)

This means, take a square with x and y, x = 1 in length where y will equal 1.624 ems in length. This is the golden Ratio and is highly attractive to some. It’s worth a try because peyoteuk.com used golden ratios throughout the .html pages and had great success!

0. Price according to your target audiences income

How do you know your target audience income? ASK! That’s all part of market research. For instance, you are opening a pet grooming business for hamsters offering shaves and dye jobs. Your slogan is ‘Cut and blow your hamster and go!’ You have an image of a sexy woman in white surgical dress surrounded by pink hamsters as your hook on site. The main page has a mission statement along the lines of ‘Every hamster has the right to be beautiful...’ You have a manicure special offer thrown in with the dye job. Now you just need to figure out who’d want to dye their hamster with vegetable dyes and how much the target audience are willing to pay for this service. So, you create a simple, short and sweet, non-intrusive survey with a little ‘about you’ box where you ask, gender, sex, location, martial status and income. Then you can move onto what services they would likely use from your grooming service.

Market research is important in niche markets. It can make or break the site. For if you understand who’d visit your site – you can adjust the message, tweak it ever so finely, for your target audience and make a killing on the Internet!

Day Two - Lesson 3

Design

Design is king when it comes to website documents. A designer is in their niche when asked to create a web page for a particular brand. From the colour scheme right down to the pixel size and style of writing by using a variety of fonts in CSS that reach the largest market shares your site will get is where a site designer will shine.

Design isn’t only fonts and colour schemes either. It’s the layout of content too that is important.

If a site audience has difficulty navigating the site, or if the page takes too long to load, the audience will soon diminish and not return. As with site content and brand marketing making or breaking the site, so too can the design.

Starting with the fonts, Alex states a variety of different computer systems exist today, from the available fonts in Windows Ten not being on previous versions of Windows, to Linux and Apple, and many more systems each with their own fonts Alex states creating style sheets for each system.

A browser will give the server lots of information when visiting the site, from screen width, to the computer system being used, and even user location with the IP address can be obtained.

All this information can, should, and will be utilised by the most determined designers in order to make the audience feel at home with the site and make them think; ‘Hey, that site is right up my street.’

Q: What if I cannot afford to hire a designer for my site?

This question is pertinent. This happened to be Alex when starting out. Even though Alex firmly believes a real live designer is hard to imitate, if one must design for ones self, here are a few key design elements to take to your site…

Colour scheme

Have you ever read up on colour psychology? Certain colours have connotations attached. The same holds true for the Internet. For example, have you heard of the dark web? The dark web is a kind of Internet underground of alternative sites. Think Goth on crack! Then you have the information pages. These could be blogs, shops, and more. They usually use black text and links, with white background. White being a trustworthy colour in contrast to green writing on black backgrounds which illustrate hacker culture. Psychology states to avoid red when it comes to business. How ever, hip brands might just benefit from subtle hues of red when it comes to branding,

Fonts

What font you choose is the most important decision you’ll make. The font might not be available on certain audience members computers, and their browser, without an alternative font to choose from, will default to a crappy set font that the browser uses for any site that does not comply with standards. This would be an awkward moment for your business after all the time put in to developing the site only to falter at the last hurdle! Each system has its own fonts, for instance, Linux has ‘Liberation Serif’, where as, Windows Ten has Ariel. Sans-serif is similar to Ariel, whereas Serif is more Times New Roman. So, if you are developing Linux software for leads, try catering for the Linux font environment, and the same holds true for Windows or Apple.


Layout

The layout of the site is very important. For instance, use the Golden Ratio when designing text boxes and images, use columns sparsely if at all, and incorporate modern CSS design features such as gradients but only in a minimalistic manner. Keep to 7 main blocks of information on one page. Count the columns in that tally.

Image

Your image is most important on the Internet, and your image is the message of the brand on site. If you want to generate leads, keep it serious. Use trustworthy words, colour schemes, and slogans for brand promotion. If your conversion rates are low, image is the culprit.

Icons

For a modern look and feel, try hiring a designer to create button icons for links. This might be custom brand Facebook icon, Twitter Icon, and internal site link icons. Icons and symbols are visually appealing, and computer users are used to using icons for clicks so make sure your icons are click-able and not dead links. Also, make your icons fit your site image, colour and font scheme, so they mesh well. Do not ‘curate’ icons from Google Images for Social Media as this just looks tacky.


Day Three - Lesson 4

Communications

Comments below!

Communications used to be called ‘the message’. Alex got taught to question whether the medium was the message. In such a vague world as creative writing goes, sometimes the script writer for a TV ad would talk about the TV set regardless of the product being advertised. Singers would tell of their relationship with a music player, replace my love, with my Hi-Fi, and you get the gist of most songs song writers wrote.

Writing about a relationship with the medium of message delivery is a writers vehicle for delivery and overcoming writers block. It’s also a sneaky foot in the door at subliminal messaging.

To condense down two years work into one lesson is not feasible. But, here are simple pointers that Alex can recall from college.

1. Identify with a branding

2. Do market Research

3. Competitors sites might have a common thread in design you can copy

4. Profile your audience and adapt your message to their reading level

5. Get an ‘Ideal Customer’ profile or two and target that audience

6. Price your product or services to the average income of your target audience

7. KEEP IT PERSONAL – USE ‘YOU’ AND ‘YOUR’ WHEN ADDRESSING THE READER!

Follow these tips for a quick start guide in communicating effectively.

Be concise. Use the odd power word such as ‘myriad’ or ‘submit’ and make sure you have a clear and sensible pricing structure for multi-buys of the same product.

Have a mission statement on site. Preferably at the top of the front page as an intro.

Promote the positive aspects and elements of your brand. What do you do best of all? Why should people spend money with you?

Most of all – people often ask themselves when visiting a new site – What's in it for me?

Be aware of these common communication mistakes:

1. Spelling

2. Grammar

3. Unreadable fonts due to poor font choice or font size too small

4. Using rarely heard of words such as abiotic in a text


Day Four - Lesson 5

Statistics

When purchasing a hosting package for a new website, cPanel (the web site control Panel) comes with AwStats and Webalizer. These are stats programs. How ever, they can be manipulated so Alex recommends writing the code for your own stats program internally.

Sometimes a site with hosting package doesn’t come with cPanel and only FTP access. Again, Alex insists you must write your own stats program in code. This can be accomplished in PHP with a ‘Please wait while we redirect you’ page that accumulates the clicks.

There are many ways to detect clicks. For instance, Alex states an index.php page that serves up article content after a click is a shure fire way of accumulating click stats.

Many blogs, infomercial, and news sites now have a ‘click for the full article’ link where on page only a snippet of the article is available, the rest is required a click to read.

These second clicks can also be mapped to the statistics program.

When a visitor comes to your site, they bring with them a host of other information leaked from their browser. The most important of these is screen width. This will detect your dominant device for your site. If this is a mobile, and you haven’t got a CSS script for mobiles in place, in order to make your content mobile friendly, perhaps after the stats are in and mobiles top ranking, adopt the mobile audience.

It might well be that Linux users are the dominant visitor to your site. This might surprise you to learn you can make your site Linux friendly by being ‘Open source’ and sharing your PHP code in clear view and using fonts in your CSS scripts that are Linux friendly.

Statistics can show you where people are clicking and how long they spend on site. If you find certain hot spots on site try to emulate them and their message again elsewhere.

For instance, Alex coined the term ‘chat bot’ on shotting.cc – that soon went viral. This is revealed by the click through rates on the chat bot article. So, Alex wrote follow up articles that were less looked at but got attention all the same.

This is hit and miss because stats are old news but might just help you understand when your visitors are dropping off and why. As always having a regular feature helps visitors come back for more on set days when new content is released such as a blog post, news letter, or other regular feature.

Statistics can also determine what products are selling well, if you have multiple products for sale. They can also help you find bounce rates, to see if people are leaving the site immediately without interacting with the site as high bounce off rates means conflicting image issues of trust or poor Interaction Design. Intuitive Interactions are important for a site. Build them in or lose out.


 

Thus concludes your lessons for the week. Thank you for partaking in the Advanced Web Design Course 1A.

May 20, 2017
11:51
The end of InfoWars

As Dre once said, to paraphrase, you might be bitching about shit, but that's the difference between you and me - I ain't lowering myself to your level of ignorance and hate towards me cause you ain't nothing like me.

Tags: , ,
April 6, 2017
15:03
COOL GFX DEMO

Public Class Form1
    Public bm As New Bitmap(800, 640)
    Public gfx As Graphics = Graphics.FromImage(bm)

    Public Ray(10, 128)


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Visible = False
        ' plot points using a formula
       
        'xxyy1
        Ray(0, 0) = 0

        Ray(1, 0) = 0
        Ray(2, 0) = 0
        Ray(3, 0) = 100
        Ray(4, 0) = 100
        Ray(5, 0) = 200
        Ray(6, 0) = 1
        Ray(7, 0) = 1
        Ray(8, 0) = 1
        Ray(9, 0) = 1
        'xxyy2
        Ray(0, 1) = 100

        Ray(1, 1) = 100
        Ray(2, 1) = 100
        Ray(3, 1) = 200
        Ray(4, 1) = 200
        Ray(5, 1) = 300

        'xx1yy2
        Ray(0, 2) = 100
        Ray(1, 2) = 100
        Ray(2, 2) = 100
        Ray(3, 2) = 300
        Ray(4, 2) = 300
        Ray(5, 2) = 400
        'xxyy3
        Ray(0, 3) = 200

        Ray(1, 3) = 200
        Ray(2, 3) = 200
        Ray(3, 3) = 400
        Ray(4, 3) = 400
        Ray(5, 3) = 500
        'xxyy4
        Ray(0, 4) = 400

        Ray(1, 4) = 400
        Ray(2, 4) = 400
        Ray(3, 4) = 500
        Ray(4, 4) = 500
        Ray(5, 4) = 600
        'x3yy4
        Ray(0, 5) = 500

        Ray(1, 5) = 500
        Ray(2, 5) = 500
        Ray(3, 5) = 600
        Ray(4, 5) = 600
        Ray(5, 5) = 700

        Timer1.Start()
        Timer2.Start()

        ' do a series if statements
        ' for instance; IF x1 < 100 and y1 > 100 then plot x1 = 50 and y1 = 150
        ' calculate all possible combinations of plots scenarios
        ' there are 3 points to a triangle, and say, 5, points to plot in total
        ' when one point goes off screen, bring another in from the left to takes its place
        ' (xxyy1 xxyy2 xx1yy2)1 (xxyy3 xxyy4 xx3yy4)2

    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim AT00 As New AT(1)
        Dim AT01 As New AT(2)
        Dim AT11 As New AT(3)
        '      Dim AT10 As New AT
        '       Dim AT111 As New AT
        '        Dim AT000 As New AT
        AT00.x1 = Ray(0, 0)
        AT00.y1 = Ray(1, 0)
        AT00.x2 = Ray(2, 0)
        AT00.y2 = Ray(3, 0)
        AT00.x3 = Ray(4, 0)
        AT00.y3 = Ray(5, 0)
        Ray(0, 0) += 1
        AT01.x1 = Ray(0, 1)
        AT01.y1 = Ray(1, 1)
        AT01.x2 = Ray(2, 1)
        AT01.y2 = Ray(3, 1)
        AT01.x3 = Ray(4, 1)
        AT01.y3 = Ray(5, 1)

        AT00.AnimateTriangles(gfx, Ray(0, 0), Ray(1, 0), Ray(2, 0), Ray(3, 0), Ray(4, 0), Ray(5, 0), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))
        ' AT01.AnimateTriangles(gfx, Ray(0, 0), Ray(1, 4), Ray(2, 0), Ray(3, 4), Ray(4, 0), Ray(5, 4), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))
        'AT11.AnimateTriangles(gfx, Ray(0, 4), Ray(1, 4), Ray(2, 4), Ray(3, 4), Ray(4, 4), Ray(5, 4), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))
        'AT10.AnimateTriangles(gfx, Ray(0, 3), Ray(1, 3), Ray(2, 3), Ray(3, 3), Ray(4, 3), Ray(5, 3), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))
        'AT111.AnimateTriangles(gfx, Ray(0, 2), Ray(1, 2), Ray(2, 2), Ray(3, 2), Ray(4, 2), Ray(5, 2), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))
        'AT000.AnimateTriangles(gfx, Ray(0, 1), Ray(1, 1), Ray(2, 1), Ray(3, 1), Ray(4, 1), Ray(5, 1), Ray(6, 0), Ray(7, 0), Ray(8, 0), Ray(9, 0))


    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

    End Sub
End Class
Class AT
    Public x1 As Integer
    Public y1 As Integer

    Public x2 As Integer
    Public y2 As Integer

    Public x3 As Integer
    Public y3 As Integer

    Sub New(ByVal area)
        If area = 1 Then
            x1 = x1 - 50
            y1 = y1 - 50

            x2 = x2 - 50
            y2 = y2

            x3 = x3
            y3 = y3 + 50


        End If
        If area = 2 Then
            x1 = x1 + 50
            y1 = y1 + 50

            x2 = x2 + 50
            y2 = y2

            x3 = x3
            y3 = y3 + 100


        End If
        If area = 3 Then
            x1 = x1
            y1 = y1

            x2 = x2
            y2 = y2 + 50

            x3 = x3 + 50
            y3 = y3 + 100


        End If
    End Sub
    Private Sub drawTriangle(ByRef gfx, ByVal pen)
        gfx.DrawLine(pen, x1, y1, x2, y2)
        gfx.DrawLine(pen, x2, y2, x3, y3)
        gfx.DrawLine(pen, x1, y1, x3, y3)

        gfx.DrawLine(pen, x1 - 50, y1 - 50, x2, y2)
        gfx.DrawLine(pen, x2, y2, x3, y3)
        gfx.DrawLine(pen, x1 - 50, y1 - 50, x3, y3)
    End Sub

    Public Sub AnimateTriangles(ByRef gfx, ByRef x1, ByRef y1, ByRef x2, ByRef y2, ByRef x3, ByRef y3, ByVal bounce1, ByVal bounce2, ByVal bounce3, ByVal motion)


        drawTriangle(gfx, New Pen(Color.Red))

        gfx.Flush()
        Form1.PictureBox1.Image = Form1.bm
        Application.DoEvents()
        drawTriangle(gfx, New Pen(Color.Gray))

        x1 += bounce1
        x2 += bounce2
        x3 += bounce3

        y1 += motion + bounce1
        y2 += motion + bounce2
        y3 += motion + bounce3

        bounce1 += motion
        bounce2 += motion
        bounce3 += motion

        If bounce1 > 10 Then
            motion = -motion
        End If
        If bounce1 < 1 Then
            motion = -motion
        End If

    End Sub

End Class