“Hidden” 256MB storage on the Flytouch 3 P041

I was playing around with my cheap Flytouch Android tablet, using dd to create images of the different partitions of the internal storage (which is, in fact, just a microSD card).

Turns out I discovered that there is a 256MB FAT partition living on /dev/block/mmcblk2p6. By this time, geek users already know what to do: with root privileges, mount the partition in some directory..

So, open a terminal on your rooted Flytouch 3 (P041 and DK1031 models should have this partition). Type:

~# mkdir /mnt/sdcard/256MBfat
~# mount -t vfat /dev/block/mmcblk2p6 /mnt/sdcard/256MBfat

This should result in a new folder in your sdcard directory. This folder is a filesystem node, like the sdcard1, udisk1 and udisk2 folders.
This FAT partition is empty and should have about 256MB space. If it isn’t, or if the mount command returned an error, then that’s interesting 🙂

Why is this partition in these tablets? Well, I have a theory. These tablets support having a recovery partition, even though most firmware updates provide no recovery image files. The fact that this is a 256MB partition may indicate that it is meant to hold contents similar to the system partition, and in this case, it should be formatted as EXT3 and not FAT.
As most firmware versions for this tablet available on the internet don’t include a recovery image, this partition just gets formatted as FAT by the updater kernel at update time.
But what if the updater never touches this partition? This would be pretty good news. You could use this more or less hidden partition to store the owner information, so if your tablet ever gets stolen you’d always have a way to recover it.
If that was the case, you could also use this partition to store essential APK files and configuration so it would be easier to recover from a firmware update or factory reset.

As a last and kind of unrelated statement, I’d like to point out that the bootloader of InfoTM tablets is much more complex than it may appear at first.
Through a serial line that I believe to be the A-A USB connection used by IUW to burn updates, the bootloader can provide a serial console, that can be used to change the boot parameters for Android and maybe even boot other operating systems from the external SD card.
This thing of the bootloader is something I’m figuring out slowly by analysing the uBoot update file I have, u-boot-nand.bin.

If you have one of these InfoTMIC tablets, feel free to comment below with any important additional information.

NOTE: this post was written months ago but was sitting on a text file on my desktop for months, waiting to be posted. So this isn’t a recent discovery, but still an interesting one.

Rugatu: Q&A for Bitcoins

People who follow my work probably already know I’m an user of world’s first digital cryptocurrency, Bitcoin. I’m not a very advanced user, I just use it for storing the little profit from my websites and receive a few cents for some occasional work I do online. It is also the only way you can donate money to me. I’m always looking for ways to earn a little more money in preferably free/easy ways, and I’m a bit tired of going through free offers, getting free bitcoins from faucets and waiting for the occasional cent from ads. I don’t think freelancing in the web development area is for me, either – I feel like I’d never manage to finish any work in time, and my skills are not that high.

So, back on topic. What brought me to write this post were two things: a) I didn’t post here in a long time; b) I’m doing this for money. Heh, joking, I’m not doing this just for money. I explain: I was yet again earning a little money from Bitvisitor, when I came across Rugatu. I had read and seen it before, but I never cared to visit it. I thought it was just another questions and answers (Q&A) site, like Yahoo Answers. Honestly, I have better use for my time than answering questions from many noob people (sorry for being harsh, but that’s the truth!), even when the use for that time is spend hours laughing at 9Gag. Oh well – I better stop now, this is ruining my reputation.

One thing made me stop for looking more carefully at Rugatu, and it was probably the only thing that made me register, for the first time ever, on a Q&A website. The thing is, this Q&A website runs on OSQA, which is Open Source software licensed under the GNU GPL version 3! Amazing, isn’t it? Amazing it might be, but no, that wasn’t exactly what made me register on Rugatu. The fact that one gets rewarded in Bitcoins, when answering others’ questions, was the distinctive aspect that made me register at this Q&A site. This may look irrelevant but for me it makes all the difference: you get paid for your work of answering questions.

Yes, I’ll probably still answer questions from noobs, but hey, when my answers are good, I get paid for them! It makes a big difference.

And another thing: that site is not very well known yet. There don’t seem to be noobs there, nor stupid and non-sense questions. Which means I won’t be answering “How format ma pendrive?” questions but interesting ones put by other people. Let’s hope I haven’t set my expectations for Rugatu too high. It’s just that I registered perhaps an hour ago, and still haven’t answered any questions. I’ll try and do it right after I finish this post.

But why would I be writing about this little-known site called Rugatu? Hell, I haven’t even written about my own cloud service which urgently needs to get clients or it flops and puts me owing money to other people, but instead I prefer writing about some Q&A service?  I’m writing this for three reasons: first, it gets traffic to this abandoned blog; second, it helps Rugatu grow (I wish people wrote blog posts about my websites, so why don’t I start and do it first about others’ websites?); and a third reason, is a selfish motivation: money money, must be funny… Read here. Yeah, if my answer with this post gets voted up enough, I’d earn 1.50 BTC (over $10 USD considering 1 BTC is now worth about $7), which should be enough to help cover a flop with my service tnyCloud. In fact, if I earn, the 1.5 Bitcoins are going straight to the tnyCloud wallet to help with the server costs.

Sorry if this post looks like a forced positive review of a service which, actually, I haven’t tried very well yet. If it looks like so, then it probably is – but one needs to compensate the little amount of advertisements on this blog somehow, right? You can start thinking about what my next post will be: perhaps I’ll become a Microsoft advocate (ugh!) to win a free copy of Windows 8, or an Apple fanboy (ugh ugh ugh!) to win a Apple sticker (they don’t give away anything more valuable) or I’ll just argue how Samsung is right about their devices not copying Apple just in order to win a Galaxy Tab. Probably next blog post will be something just as boring as the one I wrote about the Like button some time ago. Eventually, it will be about intellectual property and the stupid thing software patents are.

For some reason, this post is looking like a link farm. I better finish it with a giant link to the website this post really is about…

Rugatu: a Q&A website that rewards in Bitcoin

Try it, question it, answer it! Then earn the coin 🙂

EDIT: I did it! I won the 1.5 Bitcoins. Yeah! 🙂 Thanks a lot Rugatu and everyone who voted.

Presenting tny.im

Yesterday I wrote a post saying l.f.nu was down… and it still is.
So I bought a domain and moved my URL shortener to yet another domain:

http://tny.im

This time, I’m sure it will be up for at least one year – if it goes down within this period, at least it won’t be because of the domain, as that’s paid for an year already. I didn’t pay it, some friends at Cloudstg did – I’ll pay them back gradually, by advertising their services and such. Again, thanks for investing $11 on my service: if it weren’t you, I’d have to spend my savings on buying this short domain, which would leave me with no money to renew this .com domain next October.

The tny.im domain is as long as l.f.nu, but with less dots, nicer, and since it’s a top level domain and not a subdomain, I have much more control over it. This is a important point, as I plan on adding IPv6 support to tny.im, and a FreeDNS subdomain wouldn’t let me have multiple records on a subdomain. With a real TLD, I can have both an A and an AAAA record for the same domain.

Like it was with the transition from 4.l.to to l.f.nu, no data has been lost, and 4.l.to and l.f.nu links work as long as you change the domain to tny.im. Statistics, link editing, etc. all work.

I hope you enjoy tny.im, and remember, this time it’s for real: the shortener will be around for more than a year, assuming I can get enough profit from it to keep paying for the domain. Having me profiting with tny.im only depends on you – by using my shortening service, you’ll help me earn some cents from ads (but, please, don’t click-bomb them!), which I’ll use to renew the domain and eventually pay for server(s), in order to offer you an even better service.

Again, I hope the ads are not annoying… if they are, make sure to drop me a line so I can fix them.

l.f.nu is down

…it will be back with a new domain, this time paid, and things will be done for real – I promise.
What happened was that the owner of the f.nu domain took over the subdomain l.f.nu and built his own URL shortener. I tried to negotiate merging l.f.nu with f.nu, but the other party didn’t reply in enough time, so the offer is closed.
This time, I’m doing things for real, with a paid domain. Doing things for real also means doing things for real profit, but don’t worry, I won’t mine your shorten URLs with ads – on this subject, things will keep as they were before: a toolbar with one ad which is forcibly enabled after the link has more than 250 hits.
Sorry for all inconvenience; again, like it was when 4.l.to became l.f.nu, all links will work, only the domain changes (just replace l.f.nu with the new domain). About the new domain, I’ll have to keep it as a secret until at least tomorrow…

Status update

I have been very busy with my offline life: school, family and friends haven’t been leaving much time left for me to blog here. When I have some free time, I try to keep up-to-date with the online communities I take part in and also work on my l.f.nu URL shortener. By the way, have I told you that l.f.nu now supports editing short links?

When you shorten a new link, you receive a random code specific to it. Keep that code saved as if it were a password, as it is the only way to edit a shorten link through its Click Statistics page (add a + symbol to the end of the shorten link, then open the tab “Manage”).

This feature about link passwords (which I call “passcodes”) is something I developed just for l.f.nu, it is not available in the standard YOURLS installation. I have no plans to make it open source right now, as I haven’t implemented the thing as a plugin, and the code is a bit unorganized.

So no, I haven’t disappeared from the online world yet. I’m just a bit more silent these days…

I don’t appreciate the “Like” button

Of all the ways to express your opinion on some subject, I believe the “Like”, “+1” and similar buttons are some of the worst. Why? Well, nowadays “liking” something on the internet means little to nothing. People are asked to “like” things, “likes” are sold and bought as a product and not actually as a consequence on someone’s feelings on what one has seen/read/experienced, and now the quality of things seems to have become measured in the number of “likes”.

I usually say the “Like” button was the best invention for those that are so lazy that don’t want to write anything, or those so lazy that don’t want to create an opinion on a certain subject. It is also a great thing for those who don’t care about explaining why they “like”. The same argument is also true for “disliking”, on the places where that’s permitted. Those who have something to say will comment or reply, but “liking” is something so vague that adds little value.

It’s important to let people express their opinion on other Internet content in a meaningful way. Allowing users to comment and reply in an Internet that’s more and more made by its daily users is a good thing (that is, if you really promote freedom of speech). It perhaps even motivates people to think about things and form their own view on the subject, instead of just “liking” a view that’s being forced into their minds.

Imagine someone on the Internet says “WordPress is a really cool blogging tool”. You have the following options: you can either “Like” this statement, comment on it, or don’t give a s*** about it and move on. If you agree with the point of view stated, but have nothing to say on it, you’ll probably click the “Like” button. If you don’t agree, you’ll move on, or eventually post a short comment stating that you don’t agree. And if you are of those that actually wants to express an opinion and cares to write trying to use the language properly, you’ll comment. Now imagine you can’t comment… probably you’ll just move on.

If you comment and your comment is insightful, it will add value to an existing discussion or perhaps even start a new one. But those who “like”… what will happen? When you see “34 people like this”, do you have any idea of what those 34 people think? Did they “like” because they found it funny? Because that content was interesting? Because it was so wrong that it made one laugh? And who knows how many people didn’t like that content, specially when compared to something else? I think this need for comparison and ranking caused “likes” to be used as if they were a measurement unit, as I’ll explain later.

I even fear one day people living in a democracy will vote for their representatives by “liking” them. Knowing how many didn’t “like” any of the options is going to be hard. And you won’t know it was because none of the options suited them, or because they were ill in the elections day, or because they preferred going to the beach instead of voting, errm, “liking”. Knowing how many people “liked” twice can get hard too, but that’s easily fixed.

One more thing that illustrates the stupidity of the “Like” (or similar) button: it doesn’t exist in natural human communication. Well, it does exist, but it’s way more elaborated than a “Like”. Imagine you’re hanging out with your friends, in the pre-“Like”-button era, and one of them tells a joke. Nobody’s going to say “I like” without saying anything more. Since it was a joke, if one has found it funny, laughs will follow. And if it was really funny, one will laugh a lot (I also have my opinion on the LOL thing, but that’s for another post). And if the joke wasn’t funny at all, or the way it was told wasn’t good enough, one will at least smile, or say “Man, you’re not good at telling jokes”.

And another example: if you go to a restaurant and you enjoy the meal you ordered, it’s unlikely that you just say “Like”. Even if you only want to say you liked what you ate, there are many, many ways to say “Like”. Now if I want to be ultra-nerd, I can even say the “Like” button impoverishes people’s vocabulary. 🙂 So to conclude this point: at most, people have brought “I like this” into real-life communication after it became popular in the web – it didn’t exist in such a monotone and endlessly overused way before that.

I’m not saying the “Like” button isn’t useful – for the times when you actually like and there’s nothing else to say. The problem is, people became lazy and now they prefer to click a button than to write their opinion – sometimes because they don’t have any opinion, other times because it’s just easier to “Like”. Again, if I jump to extreme cases, the web might become something where some party says “1+2=5” and all there is to say is that “56,322,943 people like this”.

Now about the “Like” button as a measure of quality of things. If for a given “product X” there are 60000 likes on some social network and for another “product Y” there are only 2000 likes, people will often think “product X” is better than “product Y”. But those who will care about doing some research will find that “product Y” doesn’t contain “substance N”, which is really bad for health, while “product X” does contain it. “Product X” has more likes because it appeared first on that social network as part of an advertising campaign that costed millions. Conclusion: the number of people that “Like” something is worth nothing, even though at first it might look like so. Even because “likes” can often be bought: imagine that millionaire advertising campaign included buying 10000 “likes” to bootstrap it, and “liking” things becomes even more meaningless.

But the example doesn’t need to be about evil companies and products that are bad for health being advertised in a giant scale. You certainly know those people that ask for likes on their content. And those annoying “If you are happy, like this”-style messages. This happens in social networks in each other’s friends circles.

Oh, and another thing: “Like” buttons are used for tracking people whenever they go on the web. You can leave the “website X” that hosts a “Like” button, that as long as there is a “Like” button of that “website X” in any other page, the owners of that website can know you’re at that page. And I’m not dreaming, as you know, Facebook and other social networks do this.

This stupid “Like”/”+1” button is one of the many reasons why I deactivated my Facebook account some days ago. But this isn’t only about Facebook, it’s about everything sponsoring a “Like” button. (At least Twitter doesn’t have such a “feature”, hooray! 🙂 )

Putting short: yes, you can keep the “Like” button, but make sure people can comment – and I’d encourage them to comment and show their views on things whenever possible: I think it adds a lot more value to the Internet.

EDIT: looks like Facebook “Likes” aren’t speech protected by the US First Amendment.

This website is back!

Looks like my servers and websites have all decided to take some holidays and go offline, fortunately not at the same time. Some weeks ago, it was 4.l.to/l.f.nu that decided that some days sleeping would be good, after its domain went down (causing the change to a new one and the whole service rebranding). And more recently, the VPS where I was (yes, was) hosting this blog, which by its turn was hosted in a friend’s dedicated server, went down the trash too: the guys at the provider my friend uses decided to play around with the hard drive of the dedicated server, and we ended up without any of data that was in it.

Unlike what’s usual, this time I had backups (yepeee!). But as always, they were outdated (from January!) and consisted of a WordPress export file. So, I didn’t have any backup of the server configuration or the other scripts and data I had in the server. Conclusion: I had to set up everything from scratch – but wait, first, I need to explain: my friend offered to install WordPress for me, (as I’m very busy with real life, I’ll explain later), but he used CentOS, and since I really don’t like CentOS and there were some tiny “wrong” details in the WordPress config (just a matter of personal choice: I do not like to use “admin” as the admin username, even for security reasons), I reloaded the VPS with Ubuntu.

*Ubuntu: I would have used Debian, if it weren’t for the fact the software in its repos is, although stable, far from being the latest version. And my idea of “stable-recent” ratio for software is not quite the same as Debian’s idea.

As I was saying, I had to setup everything from scratch on a new VPS, on another dedicated server that’s not from the same provider (but the dedi is from the same friend). That means some hours around the shell installing and configuring nginx, PHP and MySQL, as well as configuring WordPress-specific rewrite rules and other server settings – and I’m not finished yet, the current settings are not how I’d like them to be.

I said above I was very busy with real life: yes I am, I’m busy with lots of school work, and I’m also a bit tired of the online world for now (the part of the internet I use/follow has no news lately, things are pretty boring currently). But today I had a school trip for the whole day that got me really tired, and when I got home, I felt like I wouldn’t be able to study anything for the school tests I’m taking in the next weeks. I had a server to configure and a blog to restore, and thought I could use the free time… and here I am, blogging when it’s almost midnight on my clock.

Despite the hours spent, I’d say my work has been done without major problems. I’m getting either too used to installing nginx+php+mysql, or it’s because it is/was Friday 13th.

Yeah, is/was. It’s four past midnight.

EDIT: this server is now much faster, its host was suffering from some misconfiguration – again, my friends are awesome and fixed it 🙂

4.l.to is back, but now as l.f.nu

After the unexpected breaking of the l.to sudomains, 4.l.to went down, as I explained in this post. It’s been over ten days since that domain went down, so I decided to move 4.l.to to another domain, consequently renaming it (of course, duh!). After lots of searching of the FreeDNS domain catalog, I finally found another domain name that was just as long as 4.l.to, and happened to have a one-letter subdomain available.

So I registered l.f.nu. It’s my “new” URL shortener. All the 4.l.to shorten links work now, if you change the “4.l.to” part to “l.f.nu”. The official announcement about the change is here. While this isn’t as good as having all the 4.l.to links working again without changes, I guess it’s better than, for example, having a complete database or server crash and no backups, thus losing all the shorten URL<->long URL associations and click statistics.

l.f.nu allows for some interesting “acronym-sound-reading” results. It can be interpreted as “Linking For New Universes”, “Linking For New(s)” (if you read the “nu” as nee-yuu), or even “Linking For Nothing Useful” 🙂 . I’m sure you can come up with some new meanings too; if you happen to find an interesting one, don’t forget to post in a comment!

I also gave my URL shortener a new look. It no longer uses the default Bootstrap theme (it’s become too mainstream!), but rather the United theme from Bootswatch. And finally, I also fixed some bugs in functionality and looks (read: port the thing to the latest version of Bootstrap). There are still some things left to fix, and I plan on adding some new features one of these days.

Also, looks like the new domain l.f.nu is allowed on Twitter, while 4.l.to was not – it was marked as dangerous even though I don’t know why, perhaps it was something common to all the l.to subdomains. Looks like this domain change is better than I initially thought!

Don’t forget to comment on this relaunch of 4.l.to, which is the launch of l.f.nu!

4.l.to is down

My URL shortener, 4.l.to, is down because all the .l.to subdomains, managed through FreeDNS, are down too. There’s little information available and all I know is that the subdomain is broken since 19th March, as said on the FreeDNS subdomain management page.

There aren’t any planned times to have the service restored – as I hope you understand, this is completely out of my control. In the meantime, all the links shortened with 4.l.to, which were over 500, are broken.

If you have any information that can help find what’s the future for the l.to subdomains, don’t forget to write a comment in this post. And, if you happen to have a short URL which you don’t mind donating for URL shortening (I can share the advertisements profits), I will consider moving/renaming 4.l.to while preserving all links (since the server is up and with daily backups).

SliTaz is not dead

My last blog post has been about the fact that ReactOS is not a dead open source project, and that in fact they had just released a new alpha version. So to keep with my line of open-source-projects-journalism, today I talk about another open source project, this time a GNU/Linux distro: SliTaz.

You may have heard about this project before: SliTaz has been around since 2007, when the first “cooking” version of the distro was released. But what is SliTaz? As it says on the official website, it is “a free operating system providing a fully featured desktop or server in less than 30 MB”. And indeed, you download an ISO file that weights at about 30MB, which you can burn to a USB stick, CD or DVD, or run on a virtual machine. From there, SliTaz boots to a complete desktop with various utilities and office applications, server-side software and, of course, a web browser. A nice control panel lets you configure the system and install more applications.

The whole system runs in a small amount RAM, meaning you don’t need to install it to a hard disk to be able to use it; when you turn off the computer, the changes made are lost. So, this is not more nor less than a LiveCD that has a size of ~30MB. It is very fast, even on older computers.

Is this news? No, there have been tiny Linux distros around before, and SliTaz itself has been around for a lot of time, as I told. Damn Small Linux, Puppy Linux and TinyCore are some examples of other GNU/Linux distros that have the goal of being small in size. I particularly like SliTaz because of its uniqueness: a unique packaging system (tazpkg), unique utilities, and a unique look too. DSL and Puppy Linux are already too “big” for me, and TinyCore is too small to be useful to me. So SliTaz just got it right for my concept of “tiny Linux distro”.

I don’t use SliTaz every day – it’s not my daily use distro – but I still like it very much and it’s been useful to me a few times. I use to keep around a USB pendrive with a copy of SliTaz installed – one never knows when it may be useful, specially after you’ve installed office tools like Abiword and Gnumeric. Of course, your idea of usefulness certainly varies from mine, and that’s why I like open source: just change it so it works the way it’s useful to you.

There have been no cooking or stable releases of SliTaz recently, and there was a lack of word from the developers. I started to think that the project was slowly becoming abandoned. Fortunately, today I checked their website, and this is what I see: news! Well, not really in the news section, but a blog post: Lack of news but work never stops.

So, in conclusion, it seems the project is still active, the only problem is that everyone is too busy to release cooking versions and write press-releases. And it looks like the team is working to get a cooking version out soon, which is great news, since the latest cooking was in May of last year and it’s out of date when compared to the work that’s been done on the repositories since that time.

To the SliTaz developers: Keep up the great work! 🙂

Edit 23rd February 2012: Slitaz 4.0 RC1 is out! Check how the new version looks like.