Pointer Technology At A Glance

Pointer Technology At A Glance

Pointers Are Like Straight Pins

“This might be a little bit too delicate for the sewing machine,” a fashion student states.

“Ah, this is like the art of programming and when and where to use memory pointers,” I recall while thumbing through a fashion magazine.

Imagine yourself sewing a cocktail dress for the first time with only the pattern, fabric and directions to go on. Somewhere along the line, you figure out that the delicate areas are impossible to run under the sewing machine. So, you carefully quarter them off with trusty straight pins.

This is a lot like programming, because you mainly have calculations going on around in the background of your code, then bam! You hit some delicate areas that need to be reported either to the screen or on paper. That pointer is like a doorbell to a queue of information waiting to be printed or read on the screen.

It’s true that the pointer notation is needed in the background code itself, but the processes done to the data are often custom-written and it’s sole purpose is for an interactive presentation with an audience.

So like with straight pins, you might invest in keeping tabs on what needs to be hand-sewn, or in the case of pointers, what needs to be customized and appropriated memory to. Everything in your code should look seamless, but bear in mind that the background calculations (and there could be layers of them), have a purpose of helping to tabulate some of the delicate data that ultimately will have to be divulged to your audience.

Programming and Writing in General

My first training in computer programming languages came from Jet Propulsion Laboratory. Everywhere I looked, I could identify things that reminded me of my training there. Because I’ve been doing a lot of fiction writing, I’ve noticed that even symbols like ellipses remind me of computer programming.

There was a time when I saw data as products on a conveyor belt. Because the products looked round and white, they reminded me of ellipses in the English language. Catching up to date, currently in fiction I’ve been writing about robotic technology.

This part of my fiction-writing is still under wraps but I’m sharing it here to make a point about pointers. Melting rock formations is the basis for what will fuel robots in my science fiction stories. After these rock and stone formations have melted down, they are re-formed into swirly mini balls that look like marbles. They melt as they course through what one might call a ‘pin ball machine’ system of a typical robot.

In programming, these marbles will represent data and when product after product or data after data are flowing through, in one direction, in order to change directions, you might use a pointer.

It’s easy enough to increment or decrement and go from one data product to another, but when you have to change directions amidst the hard drive mapping, you might use a pointer to point to a different address.

Object-Oriented Graphics

I once had a wise computer programming college teacher who tried everything up his sleeve to get his students to warm up to the idea of object-oriented programming. Looking at groups of data as enclosed in a graphical rectangle (such as the title of an article in a Publisher newsletter as it was being written), was a completely different paradigm than from a few years back.

Back then, everything was iterative, you and therefore the computer (because you programmed it) interpreted commands line by line (executing each one in a sequential pattern). These days our point of focus, of as to what gets to be ran (or executed in the code), jumps around.

That wise teacher said, take a graphical interface program and work backwards. Draw some objects on the screen, like filling in a rectangular space with text, or a round object with a graphic, and then look at the code to see how it was generated by the computer. I took it one step further and pretended that each raw rectangle, square or circle were each numbered.

That way if the objects were layered and the #6 object were on top of a #3 object and it had transparent areas to it, parts of the #3 object (graphic) would peek through. However, if you put a #12 object under the #6 object, nothing would happen except traditional layering, because the value of the underlying (graphic) object underneath #6 has to be labeled (tagged) something less than the value of the number 6.

In all these shaped objects, they can be resized to make them bigger or smaller. Therefore, you still have to have the appropriate font size for text within them and the appropriate proportion sizes also for the graphics within them.

If you’re lucky enough to buy software that lets you work ‘backwards’ that would be great! You can re-size objects, layer them, even number them mentally in your mind to keep track of them. Then, look at the code that the software generated to see how your formatted template (such as a newsletter) was created!

Button In A Button (Inheritance in C++)

The subject of object-oriented programming has always sparked something within my imagination. You see the first novel I ever wrote, was in the science fiction genre and I used what I learned computer-wise in the private industry to fuel the computer advancements within the novel.

In C++, you can inherit a class object or your class object can take on the characteristics of another class object. Therefore, there is an “is-a” or a “has-a” relationship that is possible with each class object created.

Picture this then: A button within a button, within a button, within a button, and so on…

If the middle button makes the outer button related to it (and it can do so, in three different modes – private, public and protected), then, it only stands to reason, to go ahead and document that relationship. Depending on how their inheritance relationship was tagged, you will have to list down what is private data (variables and functions) to the outer button.

Now, if the innermost button inherits from the middle button, then it too will have rules of engagement not only from the middle button, but yes, from the outer most button too.

A private relationship, means that everything (variables and functions) are private to the class only. A protected tag means that that class is accessible to classes that have a protected relationship with it. Finally a public tag, means that that class is accessible from within the entire program code.

So if an Orange Button class (the color orange is made up of the primary colors red and yellow) inherits from a protected Red Button Class and a private Yellow Button class, then the Red Button class can share with it all of its’ public and protected parts. The Yellow Button class can share with it only its’ public parts.

Imagining the nested relationships as a button within a button was what got me started in writing this article, but you can also think of it as the three primary colors (red, blue and yellow) and all of the colors that descend (or inherit) from them.

The wise thing to do always, when you get stuck, is to document, document, document. That way, you will know the appropriate question to ask regarding your programming/coding predicament.

Pass the Buck

When I think of pointers in the object-oriented field of programming, I think of a virtual arrow, progressively pointing and traveling from its left to right path in computer memory. There have been other symbolic representations of pointers in my mind as well. I have also imagined a spotlight from high on top of the rafters de-referencing the character, numerical, or graphical values of those memory slots.

Well, it turns out, there are even more effective ways of understanding the directional volition of pointers as they rifle through a virtual array. Think of a pointer as a long envelope capable of carrying a letter representation of whatever is in the memory location, that it is hovering over. I think of it as beige in color and parchment in card stock and that, what are contained in the memory slots are business letterheads all ready to be printed out by the printer.

Let’s say our long envelope hovers over memory slot #5. The letter document gets added to the beige envelope, and if we want to daisy chain that to the document in slot #7, we would easily travel over and skip slot #6 (because we move in sequential line order), to access and de-reference the document in slot #7. With the slot #7 document appended, we go ahead and print out what were contained in Pointer Beige Envelope #1. Therefore, so it goes on, in the deconstruction stage when we empty what Envelope #1 is carrying, by setting it to NULL.

To wrap everything up, I thought if you think of a pointer as a dollar bill, that you pass succinctly from memory slot to memory slot, that is by far the most clearest explanation of a pointer of all. To literally ‘pass the buck’ is to have the dollar bill act like the virtual arrow or the stage spotlight up on top of the rafters. It’s even better than the beige parchment envelope that I just spent time explaining about.

However, if everything is to be understood in sequential order, then the envelope pointer theory did make its appearance before the ‘passing the buck theory.’

Database Design

For a fun sprint into the combination of a fashion scene and a database design, I wrote a short story about indexing database files using the color spectrum available in nail polishes. In my short story “Daily Diary,” a young girl by the name of Zoe emails a fashion magazine editor asking her how to “shop” for a high school fashion show that she was going to be graded on by the end of the school term.

The fashion editor’s name was Cassie and Cassie’s suggestion to Zoe was to pick a nail color and shop for fashion pieces that matched that particular color. For example if Zoe had initially picked out a darker tan color, then she might budget out her fashion show account, by purchasing a wide leather belt, that would hang loosely around her waistline.

Also, for a bubble gum pink nail polish color, Zoe might pick up a few different shades of a camp shirts in that tone of pink. Cassie also pointed out that eye glasses, with outlandish frames that were also that shade of pink should also be welcomed into her collection, that and a few colors of boas.

The database part will then be for Zoe to learn a little about the PHP programming language to build an online database, using the nail polish colors as the index colors to mix and match the fashion pieces.

The days from the movie “Clueless” weren’t that far off, when the lead character computerized her whole wardrobe selection methods.

With a database that has already filed pieces of clothing away by using nail polish colors as index values, you could literally ask for a “match” between the tan and blue nail polish colors and find some mix and matchable wardrobe combinations.

Argument Passing in Programming

In my experiences in the Computer Technology field, you can’t get away with having done a full day’s work without knowing a little about the steps taken in argument passing in programming.

Normally the name of the function, such as something fictitious as MakeWaffles would be assigned some dynamic values to take elsewhere and expand on. In this case, the complete line in Main would be NumberOfWaffles = MakeWaffles(MilkOunces, CupsOfFlour);

NumberOfWaffles would represent the exact number of waffles yet to be returned by the function MakeWaffles. A forecast of the output might look like this: NumberOfWaffles = MakeWaffles(.04, 2); This might return something like 15 waffles for the NumberOfWaffles.

Therefore, the full translation would be 15 waffles = MakeWaffles(0.4,2);

It’s been a while since I have stepped onto the Jet Propulsion Laboratory campus, but I can still remember sitting down and hashing out algorithms that eventually wound up similar statements that I have written up above.

There must have been some commitment on my part with regards to my job tasks, because I became fully ingrained in the rudiments of argument passing in the “C” programming language.

Computers and Their Importance

Computers and Their Importance

A computer can be defined as a general purpose device that can easily be programmed in order to carry a set of logical and arithmetic operations in an automatic manner. Since a sequence of various operations can be changed easily, the computer is capable of solving more than one kind of a problem. On a conventional basis, a computer consists of at least one element for processing that is typically called a central processing unit. This processing unit or element is responsible for carrying logical as well as arithmetic operations.

In this world it is impossible to even imagine that any person can survive without a computer. These computers have become an electronic device for any particular individual as they are used on a daily basis. They are essential in all the dealings related to businesses. The business industry is the industry that has gained a lot because of the existence of computers. These computers have gained this amount of popularity because they have improved a lot in terms of productivity and efficiency. There is a very large amount of information in the business and industrial sectors and also in the personal lives and all this information is stored in the computers.

The staff and workers of any particular business can become very efficient just be making proper use of all the computers that are available at their disposal. The businesses can save a lot of valuable time by executing all their tasks and works on super speed computers. For example the accounting procedure has become very easy because of the existence of software that can be used on the computers. Schools, colleges and various other educational institutions also make good use of the computers. Marks, attendance and student history are something that are stored in the computers for future usage.

The media and entertainment industries have also benefitted a lot because of computers. In fact these industries cannot survive without the existence of computers. The portability of computer devices is also something that has benefitted the general public. Laptops, tablets and palmtops have replaced the traditional desktop computers and because of this decrease in size, it has become very easy to use a computer. This importance of computers can easily be judged by simply looking at the number of people using them on a daily basis. It is used by people of all age groups and not only by professionals.

Paperless or Paperlite

Paperless or Paperlite

You’d think that nearly 38 years on we’d be there – but in reality the paperless office is a myth. Businesses want a ‘less paper’ solution not quite as far as ‘paperless’ as hard copies still play a vital role in business success. Many firms and organisations still need to produce different types of documents for print, such as draft copies, official letters, and internal documents. The emerging trend seems to be the businesses desire to become more efficient, cost-effective and information secure.

The approach many firms are taking to achieve these goals is implementing print management software. These systems are often administered and implemented centrally, giving key business stakeholders increased control over all print output.

Organisations are able to understand where and how their money is spent through the ability to configure existing print reports and build entirely new ones to offer the necessary insight. These solutions all for such monitoring and visibility that can in turn result in cost-savings through an in-depth analysis of how users are printing.

Once key areas for improvement are identified, tools can be implemented to combat these challenges. Cost obstacles can be averted through the simple introduction of rules based printing, and the effectiveness of these rules can also then be measured – demonstrating very real ROI. This is particularly important for organisations that print a variety of different types of documents. These print management tools can be set up to direct documents to certain trays and printing styles; diverting larger print jobs to the most efficient device – these rules that can be suggested or enforced on users.

Software like Kappris presents users with a print dialogue box with a number of easy to use drop-down menus giving users the ability to switch to several more cost effective printing options. These products can also automatically detect the type of document being printed, whether it’s a letter, internal document, email or sales proposal, and will automatically route these documents to the correct device with the correct print settings. So letters will always print on headed paper, internal documents on lower quality paper and sales proposal on that expensive glossy A3 – all this helps to reduce waste, improve efficiency and control excessive costs.

Simply speaking, these solutions are like placing an organisation’s print environment under a very powerful microscope. You’ll be able to see what’s going where and how and then you’re provided with the necessary tools to rectify the problems – the unnecessary spend, waste and use. Offering such control and confidence allows organisations to create an effective print strategy that will give transparency over the way users print through successful print management resulting in reduction in waste, increasing efficiency and a reduction in excessive costs. Whilst we’re not quite completely digital, these solutions go a long way to ensuring that anything we do actually print, is completely necessary and in the most effective format.