Category Archives: General Thoughts

Microboards

I’ve been thinking for a while now, which one on the micro board to purchase, and play with. Basically microboard are small electronic boards, which you can develop on and build all sort of cool stuff.

There are these main ones on the market these days, which I know of:

  1. Raspberry PiRaspberry Pi Wiki Pages
  2. ArduinoArduino Wiki pages
  3. BBC Micro bitBBC Micro bit Wiki pages
  4. And many more over the globe

The boards got basic connectivity ports (such as usb, power supply port). And you attach to it all sort of electronics (such as led lights, sd card for storage, etc).

You can build all sort of things from these micro boards, such as:

  1. Digital slides show frame
  2. 3d printers – (for example using an arduino board)
  3. Logo turtle bots
  4. Electronic led changing display – (according to audio sound frequencies)
  5. Led text banners

After you understand the basic electronics, you can download (or better else write by yourself)  an application for the board, using the electronics you’ve attached to it.

Every board, got its own software toolkit. Where you can download the SDK to your home computer, most of them got all the available platforms (linux, windows or OSX). The SDK enable you to decide what you would like to run using this gadget you’ve just build.

As for me, I didn’t decide yet, which gadget I would like to build. And which one of all these board possibilities I would like to build it with.

Diving into 3d Programming

Recently I’ve been looking into the area of 3d programming. Here are some few notes from this area of computing.

This area of 3d programming, would serve anyone in the:

  • 3d games programming area — (the directx, and opengl got plenty of code and samples of, for example, preforming character manipulations – character walk, or talk).
  • or in the 3d designing area – such as architects (yet, this area is more likely would use less options available to this 3d environment than a 3d games.
  • Anybody in the 3d animated movies area (unlike the 3d studio tools, for example – these abilities enable one to create a scene for example of a character doing random things – without any special effort).
    Thinking of 3d animated movies, where plenty of tools are being offered. Most of the scenes are usually being defined by the director (for example the ‘lord of the rings’ armies fight – as so on).
    I can think of a whole world, one can create, much like the 13th floor movie. Where the characters  have a life of their own.. And the platform enables them all these daily “random” activities.

When speaking on 3d programming, on windows. There roughly two basic architectures. When using dev environment such as delphi — you can write to both engines seamlessly — while both archtectures enable you to manipulate 3d environment down to detailed variables and features that you would like to achive:

DirectX and Delphi:
To program for that environment I all these, in different times:

  • Delphi FMX — Embarcadero intreduced this crossplatform graphics environment, that got plenty of goodies and abilities.
  • ksDev dxScene — (which later, became the FMX archetecture

OpenGL and Delphi:

  • glScene — an opensource OpenGL environment for use with delphi.

I’ve focused on these two, but I’m sure that looking for other alternatives one can find plenty more. One that I can recall seeing is the: vrmlScene.

—-

Here are some notes, of my first digg into the 3d environment:

I’ve dived into this ocean of shaders (which are virtually effects being done on the 3d model data) and edge detecting techniques, and all these abilities of the graphics manipulations.

After I switched from the dxScene (DirectX) to glScene (opensource opengl libraries), seems that all the searches I’ve made were much more focused. It seems that opengl is much more common than the directx ones. Although all the abilities of the two platforms are somewhat similar.

Anyhow preforming the manipulation programmer wise, got awesome abilities. Though the designated final goal must be well defined.

Here is a sample url of a question about the edges issue,. Which advise a way to preforme the edges.. Another example is this, of displaying wireframe, yet I do not know whether that answer the question as well.

Implementing the shader can be done done, as you see in the examples above, using an opengl c like syntax. OpenGL (as all software) comes in versions flavors,. And using the language in certain syntaxes is valid only for the proper opengl version.

The shader API define parameters to be sent to the rendered application. And it is very dynamic being defined in that way. For example a shader can send only color variable, or can send multiple parameters according the way it was defined by the rendering application.

Another extension of all this process can be done via direct gpu programming using for example the CG (not to be mistaken with CygWin, which is the CPP compiler for windows).

The CG is a CPP compiler for shaders.

Making DumbDisplays smarter with BigData

DumbDisplays: Most of us got a dumb display at home, a dumb display is just another CRT/old LCD display without any implementation of web connectivity or media center connected to it. Most of the new TV displays got a chip built in mostly known as a SmartTV,. What I describe is jumping to the level of a SmartTV — when you have got only a DumbDisplay.

Big Data is just another buzzword… until.. you actually implement it.. Bigdata is any service that aggregates data (whether it be Video/Audio/Text based etc’), stores and dumps it to any of the different media or platforms. Most of the bigdata on the web offer companies a API to their data,. Making the BigData mine-able — via 3rd party software.

Middle Devices – SmartTV: A middle device that is software enabled, and got inport of a web connection, and outport to the display… The connectivity to BigData engines such as FaceBook Graph Search, or Searching Twitter Database, or GPlus Search etc’ — makes the whole strength of the process described.

Of course buying a SettopBox could be an idea, yet I am suggesting a cheap and immediate alternative. What I’ll describe below is only one suggesting, out of many, of boosting your life and accessability to the web.

Steps to go forward, and leap into the era of availability, and web access;

Steps making your TV Smarter:
1. Connect dumb displays to the web, via a local internet connection.

2. Setting requirements to connect old monitors/displays/tvs to the web;
There are verity of ways to do that;

      • Extend existing devices capabilities… for example;
        – use a desktop/laptop computer, that got a port such as rca or hdmi, and defined the target display as just another monitor in your system.
        – use a dongle/mobile device (for example an old ipod, or simmilar type of device) that got the required connectors, and got the required software which will project the web to the screen.
      • Define the type of the middle device connection for example wifi or wired.

3. Pick a proper software which will be;
– configurable on the one hand..
– and on the other hand won’t require any immediate interaction while presenting the data..

Checkout stevie.com which enable you to do so cross platform on any device whether it be iOS, Android or windows devices.
Proper applications will enable you to interact with the ‘dumb’ middle device.. via mobile or with a remote services.

Stevie takes the BigData being mined on the miscellaneous databases which are accessible on the web, and just stream the data to your dumgdisplay screen. Which is virtually creating a personalized channel, which can always be reconfigured according your desires.

BigData associated with the any one of the web social Engines, can create a private channel that will present ‘Your Friends Data’. or even more personally ‘Your Family Data’.

When talking about Data and Channels, I mean it can output, (according to the right software, and quries) — A channel containing personalized;

  • video clips / Audio tracks.
  • pictures slide show.
  • Text news feeds.
  • Or any mix of any of these data types

Technition input on a simple install that went sour

Today I spent almost all day trying to figure out how to install the iTunes on a stubborn windows machine that would not install properly the Apple (loaded) ITunes.

To make a long story short, I came up with the following:

  • Concerning ITunes, (or any other applications that might change the initial state of the machine, with putting values into registry or registering drivers, of one kind or another) make sure you create a system restore point before making any changes to the system. This will enable you to always restore the system — to a state where everything was “clean” before any of installations you are about to preform.
  • The current Apple ITunes has a problem, where it doesn’t register (perfectly on all systems) the IPod/IPad/IPhone… I had to digg into the web in order to see all the comments from other users, where they complained about the same issue. Some of the complains resulted with good ideas of how to solve the issue. Yet, none of them helped on my case.
  • Apple Packed the Current ITunes installation with a variety of different software packages — each has its own roll… Yet, When an error occurs, sometimes, it would be best to separate this big ITunes package into its components — and install only the required component when needed. Below is the list of the current components in ITunes.
  1. AppleApplicationSupport.msi
  2. AppleMobileDeviceSupport64.msi – The drivers and software components that does the connection between ITunes and your devices.
  3. AppleSoftwareUpdate.msi
  4. Bonjour64.msi
  5. iTunes64.msi – The Main ITunes Application

BTW: I’ve separated the file iTunes64Setup.exe using the excellent WinRAR from RAR Labs.

On my case I had to run a couple of times the AppleMobileDeviceSupport64.msi in order to install the drivers (due to the fact that they were registered properly).

BTW:
You can extract each .msi install file, using the following command:
msiexec /a {filename} TARGETDIR=c:\theinstalldirectorysource

  • On today’s tries when installing ITunes — I learned that whenever a major application is being installed faulty — It would be best to enter the windows safemode. And install the software on a  trusted environment (without interference or antiviruses or firewalls definitions).

 

Surrealism and computing

I got  thought running in my mind, about different meaning, or lets say, interpretation of context/stories/text or media — whether it be pictures/movies/sound/audio/video data. Quick googling of the subject resulted, for example,  with these two links:

Multiple Meanings Pictures
Optical Illusions – Double Meanings

Thing is that programming an application that would process a picture… Isn’t that of a small task… Even when thinking of that — it seems a hard process doing.. Thinking and digging even more on the subject — may result with enlightenment on ones life perspective — itself.

We might find out that, on the first place a dogma took its course, as a fact of natural selection. Meaning — was used for one reason or another — and doesn’t even mean what we think it meant, on its initial state.

Surrealism art, usually presents this dilemma. A picture might mean multiple meanings — and processing it can isn’t that straight forward. Surrealist painters painted a picture that might:

  • As said, Mean multiple meanings
  • Seek digging under the current social fabric

Moreover, programming which should be a pinpointed solution and a formula that should be mathematical ‘known’ formula — like 1+1=2 — we might find ourselves programming an application that resulted with an array of possibilities — some that we didn’t even think should or could take place from the input we gave it.

Leading computing into an exotic area — that would combine art and computing. And like a magic solution, could answer and lead to multiple paths down the road.

The new RAD Delphi XE6 was released

Note, this blog states the obvious.

Again I find myself in the process of waiting/reinstalling the new versions of the miscellaneous components — the I’ve bought. Each company got its own pace of releasing their updated set of components to their subscribers.

Some of them, got a hand of the beta testing of the RAD Delphi, and start to modify their components code, even before the official release of the development environment.

On other cases such as the Delphi Jedi Component Set — The  process seems to be a work in progress all the time. Due to the fact that it is defined as an opensource project. So many bugs, and improvements are being fixed, and added/modified almost everyday.

Yet, nowadays, that there is the Web, and all the social networks such as twitter/linkedin/facebook and so on — It seems that the wealth and variety of the set of libraries I come to find each and everyday, are much  more than what I thought there would be.

So It is good to get updated with many new tools, and utilities. You can call me a compulsive sourcecode collector. And due to the fact that I like the most the OOP with Pascal — I find everyday, new ways of coding in the same language that I happen to grow up with.

I didn’t had the chance yet, to cover all the different modifications that were added to the RAD Delphi XE6 —  itself… Though, I ran a couple of sample demo codes. I’ll be at this in the coming days.

Geek Thoughts; From Theory to Practice:

Sketchy burst of thoughts… Today I continued thinking of the issue of — when a theory can be transformed to practice. This, as always happens lead me to think about narrow/broader points of observations…

Here is a hypothetical scenario (Beginning with student view of a system):

Assuming you are a chemist, who know all the theory and formulas of chemical studies. You are fronted with a toxic compound for the human body. And by using a specific reaction, according to all your theories and calculations, it produce drinkable water.

  • On what stage you trust enough your calculations and drink the water?

Of course, such a scenario would be addressed somehow equally by many scientists. And would mean testing the matter on lab creatures, overtime, yet, how much time to define a certain scenario? week/month/years/decade or more?

First similar scenario that I can take from existing culture is the talk about, for example, genetically engineered products, which has its own pros and cons, supporters and deniers.

Unlike math or the computers science, which have a very defined rules. When dealing with nature, as much as we would like to make it understandable – it isn’t a closed system, and anything we use may have reactions with other material we use, it might be as part of the reaction, or even as a tool to boarder the reaction within it – such as a glass container – it is another matter assessing the reactions between the reaction to its container overtime.

As I see it, every situation or observation got both so called “good” and “bad” sides. Yet, when talking about the scenario that I’ve described you should look both inside the box and outside of it…

What do I mean by “inside the box and outside of it”?

Because everything can be viewed in many ways, this should be viewed in a perspective of time as well… History as we define it…

This raises even more puzzling issues, for example: (Taken from the vision of scifi stories) Can a time traveler view each scenario in different times the same, without considering the whole system in a certain state? What knowledge should be added to our time traveler – in order for him/her – view the proper state of the system that he/she traveled into?

  • Would there be a need for courses in the university surrounding all the known sciences?
  • Or would there be need for knowledge of the culture/history the society that the traveler just stepped into?
  • Or even does the system he entered follow the known physics knowledge we know?
  • What are the relations between the home system and the entered system?
  • Would even entering the system, will change it in some way?

As far as we know it, when looking on the cosmos – we a little dot somewhere in the galaxy. Yet, what is, our third rock from the sun, function in the system?

Are we so Pretentious or, on the other hand, so ambitious — to even think that our little rock could produce something – that will – eventually make a change in our galaxy or other galaxies in the cosmos? (When looking at the perspective over time?)

Would our actions:

  1. Expand an existing system?
  2. Collapse an existing system?
  3. Or won’t make any change at all and balance itself?