Dear Subscriber,

Starting with 2014-01-12 mynixworld.wordpress.com is automatically redirected at mynixworld.info.

If you have subscribed and/or followed us via Facebook, Twitter, etc please subscribe to follow us again. It’s simple, just click on the corresponding follow/subscribe icons that can be found at mynixworld.info.

Unfortunately I don’t have the possibility to migrate those subscriptions automatically so I thought it would be a good idea to notify you about this change.

What’s New

The new blog has a clean theme that makes the loading/reading easier than before, besides that it’s hosted on a powerful system and that should help too🙂.

It uses wordpress.org as framework which means I have full control of it. That allows me to add virtually unlimited functionalities with the aim to improve the visitors experience. That was not possible before, though.

Anyway, I hope you have a good day and if you think that it worths reading my blog then please subscribe again. Sorry for this guys…

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

I don’t know about you but I had always problems with tenses of English verbs, maybe because I’ve learned English by myself rather than in school. Anyway, English grammar is not impossible to learn if you find a pattern that is easy to follow and remember. Below I have compiled a table of English tenses.

In English we have only three main tenses along the time axis:

past

present

future

Each of these main tenses is divided in four other subdivisions:

simple

continuous

perfect

perfect continuous

The resulted English tenses is just a Cartesian product of these two sets:

When to use what? – that’s somewhat obvious:

past for events started and finished in the past or that are no longer true at the moment of speaking

present for events that happen at the moment of speaking or that are scheduled to happen in the near future

future for events that will happen in the future

How are these tenses constructed? Can we find and use a pattern? Yes, we can:

Past

Present

Future

Simple

verb+ed

verb+s/es*

will+verb

Continuous

was/were+verb-ptp

am/is/are+verb-pp

will+be+verb

Perfect

had+verb-ptp

has/have+verb-ptp

will+have+verb-ptp

Perfect continuous

had+been+verb-pp

has/have+been+verb-pp

will+have+been+verb-pp

where:

verb is the verb at infinitive form

verb-ptp is the past participle of the verb

verb-pp is the present participle of the verb

* applies only when used in third person

In addition to the above links , one good online resource that I treasure a lot is Seonaid’s website called “Perfect English Grammar“. Seonaid is a British native speaker of English. She has a Master’s degree (M Phil) from Cambridge University in English and Linguistics.

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

For some time I was interested in testing methods of building a cheap solar panel using cheap solar cells and other things that you might find on the junkyard, so I’ve set up an experiment for this.

My goal was to build a system that would be able to provide the necessary electricity to light up some 8W (500lm) light bulbs, power my 45W laptop and watch my 30W LCD TV. A 65W solar panel will do the job if it’s not used with all the appliances at once. Some people will also look to build solar panels that will last a long period (like 10-15 years) and that’s OK if you actually have decided to build an expensive system which in turn should earn its money (and that takes time). In my case, where I am rather experimenting than make an investment in such a system, I want just to investigate (by trial and error) how much of the cost can be cut. Moreover, I’m sure that the technology will gradually improve such that in the next 5 years I will want to change the panel’s cells with something better, meaning something more efficient (note that the today’s best solar cell tested in laboratory cannot convert more than 44% of the solar light into electrical energy whereas the cheapest polycrystalline cells efficiency varies between 13-16% ).

Note that a similar system (solar panel+charge controller+DC/AC inverter) could be bought from a myriad of providers for just about $300. Can we build it cheaper? – that is the question that my experiment tried to answer.

To build this system I’ve chosen to buy a solar cells kit (cells, tab and bus wire, flux pen, junction box and 1m solar panel cable) where I’ve soldered the cells manually and then I stuck them between two glass layered sandwich which was sealed on a wooden frame with some white silicone sealant.

Solar cells between two layers of glass sheet

I choose not to encapsulate the cells with EVA/Epoxy but instead to seal the glass sandwich, as I’ve said, on the wooden frame with a silicone sealant and later to extract the air from the sandwich such that the amount of air that is in contact with the solar cells is kept minimal (almost vacuum). Almost vacuum means almost no moisture and no moisture means to prolong the life of the cells and to make sure they run at their full capacity. By doing this I cut also the cost considerably ($30-$60 at least). Note those red plastic tile spacers used to align the cells and also to create a 4mm space between these glass sheets. They are important!

This 3-layered sandwich will be mounted (layer by layer) on a rectangular wooden frame. In order to prevent the moisture entering from the outside into inside we are going to seal the glass sheets and the wooden frame. The only air that still exists around the solar cells (within sandwich) are the air that was trapped when we sealed the frame and the glass’ sheets. Now it’s time to suck that air. We already made a vacuum orifice in the wooden frame so that we can use a vacuum pump (or some kind of handcrafted pump) to extract the air and then immediately stop a cork (or something) which later can even be sealed using silicone sealant. Note that this part is very tricky because we have to move fast (otherwise the air will enter in a mater of milliseconds).

To make sure that this structure will remain in fixed position we fix the panel’s backside on the wooden frame by using some metal corner brace which are in their turn fixed with wood screw.

Learn from my mistakes:

make sure you drill the vacuum orifice in the wooden frame before placing/sealing the sandwich; this way is easier and implies no risk in braking neither your glass sheets or the solar cells

make sure you drill two small holes in the wooden frame in the place where the positive and negative bus wire cable are soldered

the soldering should be done like this:

solder the tabbing wire on the negative (the front side) side of each individual cell

place the 1st layer of glass sheet (8mm) on the wooden frame

place carefully the solar cells over this sheet of glass such that you can access the backside of the solar cell; make sure you align these cells using those plastic tile spacers and also that the negative tabbing wire is arranged over the cell’s positive terminals (on the cell’s backside)

solder the cells with each other so that you obtain a straw of series linked cells

solder each straw of cells with a bus wire on the next straw of cells

solder two pieces of cable at each side of your positive and negative bus wire and make sure that the other ends are inserted through those two holes made earlier

test your panel, make sure that your cells add-up to the maximum desired voltage (if you encounter an issue now it would be the time to fix it!)

pour a drop of silicone sealant on the back of each solar cell

place the 2nd layer of glass sheet (4mm) on the wooden frame just above the solar cells;don’t be afraid, the 2nd layer of glass will not touch the solar cells thanks to the plastic tile spacers

make sure you seal the 2nd layer of glass with silicone sealant. Let it a dry properly then fasten the 2nd layer of glass with the metal corner braces; use only wood screw and if necessary drill a hole in place using a small drill bit before using the screw (so that the wood would not crack)

turn your panel upside-down and seal now the front sheet of glass using the silicone sealant. Let it dry properly.

At this point your panel should be functional. Below you can find a modest picture gallery of this panel:

Test again your panel, if you’ve checked carefully the panel before you have applied the sealant then everything should works just fine.

To mount your panel on your roof you will need some roof hooks/mounting brackets. The size and shape of those mounting brackets varies with the size and the shape of your tiles (take a look at the picture below):

You have to pay around $50 for 4 pieces of roof hooks. If you want to stay on budget then maybe you can manufacture them by yourself. You could use an iron ring of an old wooden barrel that you don’t need it:

Wooden barrel ring

I’ve installed the panel on my parent’s house roof where they have Spanish ceramic tile. In my case the Z-shaped hook fitted the best. I’ve taken the measurements, sliced the ring with the help of a disc grinder, straightened each piece with the hammer, welded the base to the hook, drill the necessary holes, polish before painting, apply a thin layer of bronze paint:

At this point you can install the panel on the roof. All you have to do is to connect the panel’s positive/negative wires to the charge controller then you can use the resulted DC current to power on some DC appliances (such as DC bulbs), to store that DC current into a battery and then from battery you can connect a 12 VDC to 220 VAC power inverter that will supply a 110/220 VAC for your light bulbs, laptop and TV (or whatever).

Whether you have an UPS unit that you don’t use it anymore or you just don’t want to spend your money on a 300W power inverter you might “convert” (actually just use directly) your UPS as a power inverter:

take out the UPS battery and connect instead the battery’s positive respectively the negative terminals of your charge controller

turn on the UPS, it will provide to you 220VAC that can be used by any of your appliances (with respect to voltage and power usage).

If you want to monitor the voltage provided by the solar panel and the instant amperage then you might buy some voltmeter/ammeter then connect them in parallel respectively in series with your circuit (I’m not going through all the technical details here). In order to protect your circuit for over-voltage and/or overconsumption then you should link in series some blow glass fuses.

I’ve used my old 300W UPS unit as power inverter and also I’ve installed some meters, fuses, switches so that I need a custom-made case for this unit (I know, wood is probably the worst solution but it was handy):

How much does the system costed me:

Part name

Origin

Price (USD)

Solar cells kit

eBay

41.75

Charge controller

eBay

8.9

2xGlass sheet

Local supplier

15

Silicone sealant

Local supplier

4

Fuse holder

eBay

1.56

Battery clips (black+red)

eBay

2

Ammeter

eBay

3

Voltmeter

eBay

3.7

TOTAL

80

Note that the wooden frame, mounting hooks, screws, current inverter or battery are not included in the total price since I’ve used some “junks” that I’ve found in the junkyard. If I want to increase the energy production then all I have to pay would be something like $60/panel. Not bad!

This summer I intend to build two more solar panels, both with aluminium frames: one with EVA and the other one with Epoxy encapsulation. Additionally I am going to build a small wind turbine (including the electric generator) so that the whole system will provide electricity for the most appliances my parents have in their house. More details to come…

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

I had few old computers that I had to recycle. Because I’m a sentimental guy (or just stingy?) I didn’t wanted to throw them out through the window so I began to collect everything that I could use later in some DIY projects.

Today I found that it would be nice to have a variable bench power supply. One could get one for twenty bucks plus shipping from eBay or if you want something fancy you could pay like one hundred bucks for something like this.

Another option would be to use one of your scrap computer from the junkyard, take out its power supply unit, do some minor adjustments and Voilà!, you have got a bench power supply for free:

Question: is it complicated to convert an ATX power supply to a bench variable PSU?

Answer: No. I’m not an electrician nor I’m working on electronics branch, in fact I started with small projects just few months ago. With proper tools and patient this task is a breeze.

Instructions

Final notes

Although I followed the video tutorial step by step I wasn’t able to succeed replicating that project. The problem was that the ATX PSU started for 1-2 seconds than stopped unexpectedly. By checking the circuit diagram from the other tutorial I made a small change in the project’s design by adapting its circuit diagram (excepting the fuses which by the way are a very good idea):

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

eBay is great except that they don’t want to show you how much you have spent over a period of time. Maybe this is a strategic feature, I don’t know and I don’t care. I just need it!

Lately I’ve started working on some projects that requires cheap parts (in order to keep the project cost low). eBay is happening to be a good market for those Chinese cheap parts (let’s face it: almost everything is made in China, nowadays), so I began to trade on eBay quite a lot. The platform is great but some important feature is still (intentionally) missing: the summary of your purchases.

This can be accomplished quite easy if you save the HTML page on disk and then parse its content with the help of some data extraction utility (eg. awk).

Now all I have to do is to save the eBay purchase history to a file on local disk and then call the ebay_total script that will list all items and the total summary (expressed in original currency and also converted to EUR/my local currency):

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

Your Linux distro or even the stock Linux kernel comes with all thinkable drivers for all those hardware that they supported. Most of them are preselected by default (base on hardware architecture) to cover a wide palette of hardware.

However, if you are going to compile a Linux kernel only for your system, you should select/include only those modules that have something to do with your system. By cutting down the default kernel configuration you will save time, memory and will make your system faster.

How could you find out what drivers are need it by your system?If you have already a functional system or if you can boot a Live Linux CD then all you have to do is to look into the Linux system filesystem (sysfs) and to determine which device is using what driver.

For instance, to determine what driver is my network card using, first I need to know the network interface (eq. eth0, wlan0, etc) I want to find what where does the symlink /sys/class/net/<net-if>/device/driver/module point to.

In my case if I run the command ls against the path specified earlier I get the relative path to the driver module for my network card (where <net-if>=wlan1):

As you can see the driver needed by this device is called ath5k. To setup the kernel to include this driver all I have to do is to search a configuration parameter named CONFIG_%ATH5K% (where % means one or more characters).

You should not be surprised if you will find more than one parameter with the pattern shown above because there could hundreds devices from that vendor. For example, the following configuration parameters contain the pattern show earlier:

CONFIG_ATH5K
CONFIG_ATH5K_AHB
CONFIG_ATH5K_DEBUG
CONFIG_ATH5K_PCI

If you want to understand what means any of those drivers I suggest you to look them up on Linux Hardware Database (lhwdb.org). The query string for any kernel configuration parameter is:

http://lhwdb.org/cfg/parameter

Note: the CONFIG_ prefix in the example above is stripped, so if the kernel parameter is named CONFIG_parameter you should use only the parameter part in the lhwdb.org query (or just go to lhwdb.org and use the damn search box :o).

Ok, so you’ve found out what is the driver name for you network card, right? But there could be at least 10-20 different drivers and finally, just to determine the kernel configuration name you have to search the content of at least 1600 different kernel Makefiles. It could be done automatically, though:

I searched on lhwdb.org and I’ve determined what represents each of these drivers and I’ve decided that those written with bold are the ones I need.

To include these and only these drivers on my Linux kernel, all I have to do is to step in each class of “Device drivers” (the lhwdb.org tells you even the kernel menus where to find these configuration parameters) and to select only those parameters that match with those shown by the output of the script above.

Final note: The method shown above it’s just the tip of the iceberg since it covers the process of finding the core drivers for the system. In order to determine each tiny driver used by each tiny device you might have, I would recommend reading the “Linux kernel in a Nutshell” by Greg Kroah-Hartman, which presents more techniques regarding this topic.

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

Unlike other operating systems, GNU/Linux comes with a enriched application tool-chain and thus, some of them are easily overlooked by the average Linux user.

While learning about “how to create a Linux system from scratch” I’ve found that, just if we are limiting to the base components we’ll find few dozens of useful tools that either we haven’t known that they exist or worst, we forgot them on the way.

I’ve created a list of those commands, grouped by their container, as a reference for the future use/practice:

If you want to read the latest version of this article (recommended) please click here and I open the page for you.

Although it might sound odd, creating your own distro from scratch makes sense in certain situations:

you want to create a small self-contained (eventually read-only) system that delivers only those components that you want

it might be, for instance, a rescue disk, a diagnosis toolkit, whatever

you want to create the base of a system that you are going to deploy on your entire organization and, of course, to control and to maintain it by yourself; you want also that every component being installed to be tuned for that particular hardware and for that particular user usage.

you design an embedded system and you need a basic OS to help you to control the hardware.

you only want to have some fun and, being wired like me, you haven’t found anything more exciting than spending few hours/days building step by step the entire GNU/Linux system.

To get a grasp of this idea it would worth mentioning that you could, with little effort, create a self-contained system just enough to run the Apache web server, and this in only 5-8MB of disk space!

When I’m saying “create your own GNU/Linux system” I mean exactly that, a GNU/Linux system and not a system developed from scratch by yourself (including the kernel, system tools, etc). That would not be wired but a tremendous effort which, despite the fact that it will pay off eventually, it would require more than a 100-lines post on my blog.

The whole idea is to start with a working (HOST) system, an empty hard drive (or a raw disk image) and by downloading, compiling and installing some applications/libraries from the Internet on that new disk, to end with a self-contained working GNU/Linux system assembled step by step by yourself.

Unlike the other GNU/Linux distributions out there (Gentoo, Sorcerer,etc) the LFS is a type of an online book that will guide you step-by-step how to install a Linux From Scratch (thus LFS). It’s very well detailed (like a install Linux From Scratch for dummies) and the team that maintain this project are willing to help you on their IRC channel. Of course, if you work by the book the chances to fail are minimal.

I did it, it was fun, I’ve ended with a 600M disk image (a SMP x86_64 GNU/Linux tested on a qemu emulator; user=root, pwd=lfs) that contains the base of a working Linux system (no X11, of course). In a nutshell, the steps I’ve done are the the following:

create/configure the system bootscripts (like /etc/hosts,/etc/sysconfig,/etc/resolv.conf,/etc/sysconfig/network,/etc/sysconfig/clock,/etc/rc.d/*,etc/init.d/*,/etc/inittab,/etc/fstab,etc)

download/unpack/configure/install the Linux kernel

install the GRUB boot loader on the disk, configure the boot menu, reboot the new system

If you would stick to the English localization and if you are willing to discard the Linux documentation/manuals, you could easily lower the disk footprint to 300MB. If you would discard the GCC compiler toolkit and its libraries you could shrink the whole thing to 100MB. If you want something more extreme, like the 5-8MB Apache web server in the example above, you would need more time to test and to shrink every bit of it but the bottom line is that “it’s possible!”.