Since I remember there have been free access electronic circuits, I remember electronic magazines including several projects each issue. But lately this trend has gone further.
Internet has given normal people the capacity to put things so that others can check them, so when applied to electronics we find a clear improvement: we are not limited to the things we can put in a magazine, neither are we limited in the level of knowledge needed to use the electronics, as usually are the magazines that are intended for a certain audience.
So new ways of distribution of knowledge are opened as a lot of circuits more or less completed, more or less complicated, are published with freedom in mind, with the freedom to use them for whatever we want (indeed, several of this projects allow even commercial applications).
Thus it's born the category known as Open Hardware projects. It's a step beyond of the Open Software concept. Here communities are born around the use, modification, improvement and redesign of advanced circuitry. There are several sorts of circuits, ranging from general purpose to ultra specialized, from a big majority of exposed circuits to a full fledged modern cellphone.
I'm a programmer, so I admit I only made baby steps into electronics, that's why I can't do anything but admire this marvelous things we are freely offered. We are given the freedom of buying them, of buying components and building them. We also have the freedom of developing from them and, if we want, we can release our modifications to the community, thus making bigger the list of Open Hardware devices and their capabilities.
A little advice: the page where I dicovered this is ordered by alphabetical order, so you'll see a lot of Arduino devices first. Don't worry, there are a lot more things below.
Sunday, November 30, 2008
Saturday, November 29, 2008
Cigarettes and me
There's a conflictive type of relation between cigarettes and me. I'm opposed to them, as I consider them harmful, but at the same time it fires up an intolerant side in me, when I always try to be as tolerant as possible.
Before I continue, let's start at the beginning. My relation with cigarettes started when I was about 12 years old. Some school mates were starting smoking as a sign of rebellion and 'maturity'. So, faced with that, I made some simple and straightforward thinking. I was no genius, nevertheless it's still a reasoning that fills me with pride. 'I know cigarettes are harmful. I also know some people like to smoke. So, if I try it, I migh end liking something that's harmful, it would be better not to try it'. That was it. Thanks to that I never tried one, even when I really like fire.
So, I never tried it and yet I'm thinking about it. It's because through time I've had smoker friends, and I find me battling with myself, because by accepting them I ended up accepting their habit, that harmed me.
It's a bad situation, I can't give up friends, they are important to me, yet something they do harms me. It's even worse. Can I stand quietly when they smoke when I know they are harming themselves too?
If they are our friends, shouldn't we try to help them when they are hurting themselves and us? Wouldn't that nagging make them stop being our friends or start evading us without knowing why?
This kind of things followed me trough a lot of friendships, but time has passed down and lately I'm finding myself less tolerant that I was. Perhaps it has to do with the validation non smokers felt when anti tobacco laws were passed down, perhaps it only has to do with growing up and learning to take a stand in things that really matter. I really don't know, but the fact remains, I've turned from non smoker to anti tobacco enforcer.
Before I continue, let's start at the beginning. My relation with cigarettes started when I was about 12 years old. Some school mates were starting smoking as a sign of rebellion and 'maturity'. So, faced with that, I made some simple and straightforward thinking. I was no genius, nevertheless it's still a reasoning that fills me with pride. 'I know cigarettes are harmful. I also know some people like to smoke. So, if I try it, I migh end liking something that's harmful, it would be better not to try it'. That was it. Thanks to that I never tried one, even when I really like fire.
So, I never tried it and yet I'm thinking about it. It's because through time I've had smoker friends, and I find me battling with myself, because by accepting them I ended up accepting their habit, that harmed me.
It's a bad situation, I can't give up friends, they are important to me, yet something they do harms me. It's even worse. Can I stand quietly when they smoke when I know they are harming themselves too?
If they are our friends, shouldn't we try to help them when they are hurting themselves and us? Wouldn't that nagging make them stop being our friends or start evading us without knowing why?
This kind of things followed me trough a lot of friendships, but time has passed down and lately I'm finding myself less tolerant that I was. Perhaps it has to do with the validation non smokers felt when anti tobacco laws were passed down, perhaps it only has to do with growing up and learning to take a stand in things that really matter. I really don't know, but the fact remains, I've turned from non smoker to anti tobacco enforcer.
A theory about "old" Part III : Games
As you can see, I've kept apart Games from Software. This has not to do with games not being software, because they are. This has to do with my own position about games, which is quite different from the one about software.
I simply LOVE games, I think I'll never stop playing. Perhaps I'll change the type of games I play over time, but I'll never stop playing. That being said, there's something seriously wrong about this activity. Marketing, a powerful force behind all kinds of software, becomes overwhelming when it comes to games. This generates hordes of people wanting to play the latest game that just came out, clearly influenced by the never ending bombing of information we are constantly under. I don't share that position.
My computer is a little bit old, although is still a powerful machine. It was built with one idea in mind: stability. This doesn't mean it doesn't have any power, only that power was not the idea behind it's design. This PC can run between 65 and 70% of PC games (that is, If I install a Windows on it). As 65 is over 50%, I still can play more than half of the games out there, and I don't have the time to play even 10%. Thus, the main limitation is in my free time and not in my PC.
Between 70% and 95%, there are games I can run, but only with low textures and detail, no shadows, lower fps, etc. So I don't think it's a good idea to play them now that I can't fully enjoy them. In the future, when it comes the time to build myself a new computer, I'll be able to run that same games with full details, so there's no rush to play them.
A lot would say, 'you didn't play Doom 3' or Crysis, Oblivion, etc. I really don't care. I still have jewels like Half Life and Half Life II, Portal, Morrowind to play, and I still haven't found the time to do it. If I play a watered down version of Oblivion instead of a full detailed version of Morrowind, I'll be making a big mistake, falling to temptation to have less fun that I could.
So, instead of getting angry about not being able to play the latest games, I prefer to investigate carefully and play forgotten jewels that I find in the oddest corner of a game shop or in the webpage of a game manufacturer which understands the value of good games. For example, I see X3:Reunion in my near future.
Always remember, we play to have fun, not because we are told to play.
I simply LOVE games, I think I'll never stop playing. Perhaps I'll change the type of games I play over time, but I'll never stop playing. That being said, there's something seriously wrong about this activity. Marketing, a powerful force behind all kinds of software, becomes overwhelming when it comes to games. This generates hordes of people wanting to play the latest game that just came out, clearly influenced by the never ending bombing of information we are constantly under. I don't share that position.
My computer is a little bit old, although is still a powerful machine. It was built with one idea in mind: stability. This doesn't mean it doesn't have any power, only that power was not the idea behind it's design. This PC can run between 65 and 70% of PC games (that is, If I install a Windows on it). As 65 is over 50%, I still can play more than half of the games out there, and I don't have the time to play even 10%. Thus, the main limitation is in my free time and not in my PC.
Between 70% and 95%, there are games I can run, but only with low textures and detail, no shadows, lower fps, etc. So I don't think it's a good idea to play them now that I can't fully enjoy them. In the future, when it comes the time to build myself a new computer, I'll be able to run that same games with full details, so there's no rush to play them.
A lot would say, 'you didn't play Doom 3' or Crysis, Oblivion, etc. I really don't care. I still have jewels like Half Life and Half Life II, Portal, Morrowind to play, and I still haven't found the time to do it. If I play a watered down version of Oblivion instead of a full detailed version of Morrowind, I'll be making a big mistake, falling to temptation to have less fun that I could.
So, instead of getting angry about not being able to play the latest games, I prefer to investigate carefully and play forgotten jewels that I find in the oddest corner of a game shop or in the webpage of a game manufacturer which understands the value of good games. For example, I see X3:Reunion in my near future.
Always remember, we play to have fun, not because we are told to play.
Creative minds, a pity they are evil
It's really worrisome to see the way the malware and spam business is evolving, but at the same time it's impressing to see they skills they use to defeat each measure taken against them.
Social engineering is being fabulously applied by this groups, they have distributed content making people think it was completely safe, using ingenous and intelligent ways.
But todas I bumped into a news story that made me laugh at the same time my mind raced behind the implications. There's now a little program for Windows that has a female stripper that undresses if we do what she asks.
She doesn't ask too much, only that we correctly write some quite deformed words that she shows us. If we write the correct word, she strips a little more and shows another scrambled word. This appears quite harmless, but this is just an appearance, under the hood things become more sinister.
The deformed words don't come from an internal list, they don't come from the site of the programmer. The deformed words are taken from thousands of websites that use that sort of control words to stop the spambots. So, every time someone writes one of this words, it's fed unto a spambot that was trying to connect to a site, so that it can pass this security measure and drop it's hated payload.
On one side, I really despise what spammers do, contaminating our lives. On the other hand, I salute them for the sheer creativity they showed to pass the captchas.
Social engineering is being fabulously applied by this groups, they have distributed content making people think it was completely safe, using ingenous and intelligent ways.
But todas I bumped into a news story that made me laugh at the same time my mind raced behind the implications. There's now a little program for Windows that has a female stripper that undresses if we do what she asks.
She doesn't ask too much, only that we correctly write some quite deformed words that she shows us. If we write the correct word, she strips a little more and shows another scrambled word. This appears quite harmless, but this is just an appearance, under the hood things become more sinister.
The deformed words don't come from an internal list, they don't come from the site of the programmer. The deformed words are taken from thousands of websites that use that sort of control words to stop the spambots. So, every time someone writes one of this words, it's fed unto a spambot that was trying to connect to a site, so that it can pass this security measure and drop it's hated payload.
On one side, I really despise what spammers do, contaminating our lives. On the other hand, I salute them for the sheer creativity they showed to pass the captchas.
Thursday, November 27, 2008
A theory about "old", Part II : Software
There are some programs whose purpose itself generates the need of having the latest version. This kind of programs, like antivirus, anty spyware, firewalls, need to be updated to be fully functional, so that they can stand against the latest known hazards. The same reasoning can be applied to programs that are used to access internet, such as navigators, mail clients, rss readers. Some operating systems also fall into this category, as does any program that has a free patch that improves it's stability/speed/capabilities/security.
Another different situation is where we find out they are releasing a new version of a program, and we can update if we pay for the update. Before deciding if we are going to make the change, we have to evaluate carefully if the program we already have covers the needs we have, and whether the new program corrects any problems we have with the old or covers a real need we already had. Let's clarify it.
* Needs: If what we already have covers what we need to do, we don't need more, the update isn't needed.
* Points of failure: if anything on the actual version makes life hard for us and it's corrected in the new version, it might be worth to update. This has to be carefully checked, a demo version might do the trick as long as we don't blind ourselves with flashy candy.
* New and shiny: Of course, new versions bring lots of small little preety things. It's highly probable we won't use 90% of those, so we won't need them even if they are good looking (refer to the demo explanation above). You'll need a cool head to evaluate which new things are really needed for the things that you do (or plan to do).
By evaluating this three points, you'll see that in most cases we don't really need the upgrade, so it would be best to keep our money for other things and keep using our 'old' and trusted programs. Don't forget that hype and marketing are part of the price of every program just because the company needs to generate the need for the program to get money. So we will be told we can't live without that things, but we need to be strong and be able to think for ourselves to check if that beautiful phrases hold truths or lies for us.
Don't forget also that with any new version of the program there's a training time needed to be able to use it in an effective way. That's why a lot of the new and shiny stuff will be unusable for us at first, and can be forgotten and never used just because of lack of time.
Lastly, this would not be complete without one final word of advice. If you are facing a need for a non free update, take a little time and check for open source alternatives. As you are already faced with a retraining period, it might be worth training yourself in a program that's free and has free updates, a program that you are free to give to your friends if you like it.
Wednesday, November 26, 2008
A theory about "old" Part I : Hardware
I know a lot of people that are always running behind the latest piece of hardware and trying to play the latest game that just got out. Sincerely, I don't share those positions.
Let's start with Hardware. The latest hardware is always overpriced (it has to do with it being new and powerful, but also because prices tend to fall when something gets mass produced). When they buy it, they obtain the maximum possible performance, but they don't get the best power/price relation. The price of the latest video cards can cover the purchase of 3 great video cards, not so powerful as this one, but with enough power for most things.
Other computer pieces don't have a 3 to 1 relation, but a 2 to 1. That means that the price I pay for the greatest computer I can get right now would buy me two computers that each are capable of outrunning 95% of the other computers out there, or even 4 or 5 capable computers. I think that nobody here misses the point that 4 or 5 capable computers combined have more computing power than one extremely powerful one (of course, that's not counting the new Nvidia Tesla card).
There's of course a hidden cost in buying the latest technology: support and standards. Let's take for example a piece of hardware that got out a pair of years ago, the AGEIA PhysX, a pci board designed to crunch numbers related to physic models. This was planned as a sort of coprocessor to relieve the CPU and the video card from doing a lot of physics calculations, needed for example for the fast implementation of the rag doll concept
It was a concept similar to the first 3d acceleration cards (so similar that the technology is now inside video cards): freeing the processor from the most heavy and common 3d tasks. It wasn't an expensive card, but it lacked game support, with only one game implementing it's API by the time of launch.
A small number of other games announced projected support, but it has to be noted that the card wasn't really needed to play any of those games, being capable of emulating most of it by software. This was because standard PCs don't had that card, and as the game developers don't want to release something for just a few, they had to program it for machines without the expansion board.
It would have been nice to get one of that AGEIAs, the nerd inside me agrees, but the lack of support and the lack of standards around it, made it a risky business to buy one of those at that time. The same is happening right now with the Nvidia Tesla, although the niche market of science labs and supercomputer users might provide a nice launching area.
This is happening again and again in the PC industry. Whenever you buy something new and not common, you risk being trapped with something that might loose support quickly. This is why it's a good idea to buy proven technology. It has already been incorporated into some standard, it has already been evaluated, and they are definetely cheaper.
One little final word about going for something just because it's better. BETAMAX and VHS were fighting for the video standard. BETAMAX was superior, but VHS was cheaper. VHS finally became the standard, so betting on something just because it's better isn't always safe, there are always other things to consider.
Let's start with Hardware. The latest hardware is always overpriced (it has to do with it being new and powerful, but also because prices tend to fall when something gets mass produced). When they buy it, they obtain the maximum possible performance, but they don't get the best power/price relation. The price of the latest video cards can cover the purchase of 3 great video cards, not so powerful as this one, but with enough power for most things.
Other computer pieces don't have a 3 to 1 relation, but a 2 to 1. That means that the price I pay for the greatest computer I can get right now would buy me two computers that each are capable of outrunning 95% of the other computers out there, or even 4 or 5 capable computers. I think that nobody here misses the point that 4 or 5 capable computers combined have more computing power than one extremely powerful one (of course, that's not counting the new Nvidia Tesla card).
There's of course a hidden cost in buying the latest technology: support and standards. Let's take for example a piece of hardware that got out a pair of years ago, the AGEIA PhysX, a pci board designed to crunch numbers related to physic models. This was planned as a sort of coprocessor to relieve the CPU and the video card from doing a lot of physics calculations, needed for example for the fast implementation of the rag doll concept
It was a concept similar to the first 3d acceleration cards (so similar that the technology is now inside video cards): freeing the processor from the most heavy and common 3d tasks. It wasn't an expensive card, but it lacked game support, with only one game implementing it's API by the time of launch.
A small number of other games announced projected support, but it has to be noted that the card wasn't really needed to play any of those games, being capable of emulating most of it by software. This was because standard PCs don't had that card, and as the game developers don't want to release something for just a few, they had to program it for machines without the expansion board.
It would have been nice to get one of that AGEIAs, the nerd inside me agrees, but the lack of support and the lack of standards around it, made it a risky business to buy one of those at that time. The same is happening right now with the Nvidia Tesla, although the niche market of science labs and supercomputer users might provide a nice launching area.
This is happening again and again in the PC industry. Whenever you buy something new and not common, you risk being trapped with something that might loose support quickly. This is why it's a good idea to buy proven technology. It has already been incorporated into some standard, it has already been evaluated, and they are definetely cheaper.
One little final word about going for something just because it's better. BETAMAX and VHS were fighting for the video standard. BETAMAX was superior, but VHS was cheaper. VHS finally became the standard, so betting on something just because it's better isn't always safe, there are always other things to consider.
Tuesday, November 25, 2008
Remembering the past
Clearly, the past isn't better in every way than the present, but at the same time not everything in the present is better than the past. This is specially true when we talk about computers.
A known fact is that one of the barriers computers had to trascend so that they could reach us in a massive way was the fear they generated in the unexperienced user. Nowdays that barrier has been greatly overriden, but I find myself missing it quite a lot.
Fear of computers comes from ignorance, we fear what we don't know. A hammer is used to hammer things, a screwdriver screws and unscrews, and sometimes opens a paint can, a microwave oven heats. But with computers something different happens. In their case their own nature, their own lack of clearly defined purpose due to their conception as expansible and programmable machines, generates the ignorance that produces fear. If we add an user interfase assumed as easy that really needs training to be used, we find wourselves in front of a machine capable of paralizing people by their mere presence.
Of course, that barrier has been breached and somehow trascended, and that's good and bad at the same time. The tool that's been used to achieve this is marvelous and tricky, it's called marketing. With marketing techniques computers have been lowered to mass comsumer products. They are sold in computer chains, but also in big general purpose stores. There are "new easier to use" interfases for "new easier to use" operating systems (that still require training and readapting periods). Those shiny new interfased are based on the concept of separating the user from the real computer, and at the same time they need access to the bellies of the beast for some chores. There are guarantees that don't let people open their own expansible machines (not even for cleaning the dust). All this is aimed to present computers as easy to use black boxes you don't need to understand at all to use.
In the corporate world this is an advantage, it lets the user use the computer and the systems people deal with backups, data integrity, security handling, etc.
But in our homes is where the idea of transforming a computer in something 100% accesible without knowledge becomes real troublesome. There are lots of home computers without reliable antivirus protection, without a serious firewall, without a daily inspection for spyware, no control of installed programs by each member of the family, no security updates. Lots of users that by their ignorance are unkownligly lending their computers and IPs so that people of devious purposes make massive spam deliveries, hide their own IP for ilegal actions (be it attacks on other systems or ilegal sites hosting).
That machines and that users are chain mail repeaters, and generate lists of hundreds of emails that are used for furthering the spam plague. They also are victims of a level of abstraction so strong that they don't understand at all what's going inside their computers. So they usually end slaves to an operating system just because they don't have any idea that choices are out there. The same ignorance about their own computers is what frustrates them when they find the new game they bought or that program someone at work recommended doesn't work on their machines, or does so at crawling pace.
I'm not looking for every computer user to understand 100% about computers, but it would be good if there's a stop to the deceiving they are subject to when they are sold a computer (a computer sometimes so powerfull that they probably don't need half as much anyway). It would be good if a friend comes around and opens their eyes so that they know there are other possibilities, that without being an expert and without giant efforts they can learn a lot about their computers. If we get them to have some sort of control over their computers, if we get them to know which things they can make on their own and which ones they could use some outside help, all our lives would be a lot easier. And to achieve that we have to reinstall the idea that computers are not impossible to use, but require some time from the user to learn how to enjoy and not suffer them.
A known fact is that one of the barriers computers had to trascend so that they could reach us in a massive way was the fear they generated in the unexperienced user. Nowdays that barrier has been greatly overriden, but I find myself missing it quite a lot.
Fear of computers comes from ignorance, we fear what we don't know. A hammer is used to hammer things, a screwdriver screws and unscrews, and sometimes opens a paint can, a microwave oven heats. But with computers something different happens. In their case their own nature, their own lack of clearly defined purpose due to their conception as expansible and programmable machines, generates the ignorance that produces fear. If we add an user interfase assumed as easy that really needs training to be used, we find wourselves in front of a machine capable of paralizing people by their mere presence.
Of course, that barrier has been breached and somehow trascended, and that's good and bad at the same time. The tool that's been used to achieve this is marvelous and tricky, it's called marketing. With marketing techniques computers have been lowered to mass comsumer products. They are sold in computer chains, but also in big general purpose stores. There are "new easier to use" interfases for "new easier to use" operating systems (that still require training and readapting periods). Those shiny new interfased are based on the concept of separating the user from the real computer, and at the same time they need access to the bellies of the beast for some chores. There are guarantees that don't let people open their own expansible machines (not even for cleaning the dust). All this is aimed to present computers as easy to use black boxes you don't need to understand at all to use.
In the corporate world this is an advantage, it lets the user use the computer and the systems people deal with backups, data integrity, security handling, etc.
But in our homes is where the idea of transforming a computer in something 100% accesible without knowledge becomes real troublesome. There are lots of home computers without reliable antivirus protection, without a serious firewall, without a daily inspection for spyware, no control of installed programs by each member of the family, no security updates. Lots of users that by their ignorance are unkownligly lending their computers and IPs so that people of devious purposes make massive spam deliveries, hide their own IP for ilegal actions (be it attacks on other systems or ilegal sites hosting).
That machines and that users are chain mail repeaters, and generate lists of hundreds of emails that are used for furthering the spam plague. They also are victims of a level of abstraction so strong that they don't understand at all what's going inside their computers. So they usually end slaves to an operating system just because they don't have any idea that choices are out there. The same ignorance about their own computers is what frustrates them when they find the new game they bought or that program someone at work recommended doesn't work on their machines, or does so at crawling pace.
I'm not looking for every computer user to understand 100% about computers, but it would be good if there's a stop to the deceiving they are subject to when they are sold a computer (a computer sometimes so powerfull that they probably don't need half as much anyway). It would be good if a friend comes around and opens their eyes so that they know there are other possibilities, that without being an expert and without giant efforts they can learn a lot about their computers. If we get them to have some sort of control over their computers, if we get them to know which things they can make on their own and which ones they could use some outside help, all our lives would be a lot easier. And to achieve that we have to reinstall the idea that computers are not impossible to use, but require some time from the user to learn how to enjoy and not suffer them.
In case you were wondering about the idea mentioned in the first post, here it is.
There's a game studio made by only two people, that released an excellent game for Windows, called World of Goo. I recently saw that the piracy on this game is over 95%, and it's only a 20 dollars game.
This game is being pirated because it's really good, but with the same mindlessness that they pirate big chain's 40 or 60 dollar games. And that's something that's completely unfair, because this isn't some impersonal game chain, here they are going against a pair of extremely imaginative programmers that released an addictive, intelligent and anything but monotonous game,
The game also features a generous whole chapter demo, so you can't complain that you can't test it before buying it.
Now, the fun begins. Some of you will ask, what does this have to do with Linux anyway? Easy to answer. Lately this programmers are working in a Linux native port, and that gives us an amazing opportunity.
Imagine for a moment what would happen if Linux users bought more original copies than Windows users. I can answer what could happen. Those innovative programmers will make next game for Linux, and not Windows.
Even more, when the Linux version of World of Goo is released and we buy a lot of copies, this will bring a press release of enormous importance "There are more Original copies of a Linux version of a game sold than for Windows". This sends three important messages: There are games for Linux, there's money to be made programming for Linux and, more important of all, there's no need for anticopy systems under Linux to make people buy the games.
This is why I make this political declaration: I'm now saving the 20 dollars to buy the game once it's released for Linux. I strongly suggest you all do the same.
Now, following my own license, I say that this idea originally appeared on
Demasiado Personal, and as long as that credit is given this can be freely copied.
This game is being pirated because it's really good, but with the same mindlessness that they pirate big chain's 40 or 60 dollar games. And that's something that's completely unfair, because this isn't some impersonal game chain, here they are going against a pair of extremely imaginative programmers that released an addictive, intelligent and anything but monotonous game,
The game also features a generous whole chapter demo, so you can't complain that you can't test it before buying it.
Now, the fun begins. Some of you will ask, what does this have to do with Linux anyway? Easy to answer. Lately this programmers are working in a Linux native port, and that gives us an amazing opportunity.
Imagine for a moment what would happen if Linux users bought more original copies than Windows users. I can answer what could happen. Those innovative programmers will make next game for Linux, and not Windows.
Even more, when the Linux version of World of Goo is released and we buy a lot of copies, this will bring a press release of enormous importance "There are more Original copies of a Linux version of a game sold than for Windows". This sends three important messages: There are games for Linux, there's money to be made programming for Linux and, more important of all, there's no need for anticopy systems under Linux to make people buy the games.
This is why I make this political declaration: I'm now saving the 20 dollars to buy the game once it's released for Linux. I strongly suggest you all do the same.
Now, following my own license, I say that this idea originally appeared on
Demasiado Personal, and as long as that credit is given this can be freely copied.
A new blog for me
Given the amount of English speaking people that liked one of my ideas, I decided to open a second blog in English, just because I think some of the things I say have some value for some people.
In case you were wondering, my other blog is a Spanish one, called Demasiado Personal. Although this blog will mirror some ideas from the other, it won't be the same, because some content here would not make sense there and some content there wouldn't make sense here.
So, welcome aboard and enjoy the travel.
In case you were wondering, my other blog is a Spanish one, called Demasiado Personal. Although this blog will mirror some ideas from the other, it won't be the same, because some content here would not make sense there and some content there wouldn't make sense here.
So, welcome aboard and enjoy the travel.
Subscribe to:
Posts (Atom)

