Utilities version 1.2 is out; Casio retweets

In case you haven’t noticed yet, the version 1.2 of the Utilities add-in for the Casio fx-CG 10 and 20 (known as Prizm) has been released today. More information and download on this page.

Following my announcement on Twitter about the new release, it got retweeted by the official Casio Prizm Twitter account. This is a move without precedents on their part – no 3rd party add-in had ever received the slightest official public recognition. Most likely the social media marketeer retweeted my nice tweet without really knowing what he/she was doing.

However, this had little impact. The tny.im shortlinks you see received less hits by the time they retweeted, than by the time I originally tweeted – despite @CasioPrizm having over the quintuple of followers I have.

Slitaz servers down

Seeing that I’m getting a lot of hits on this blog from people searching about the SliTaz servers being down right now, probably because I have a blog post with the words “SliTaz” and “dead” on the title, which was published over a year ago, I’d like to inform that I know nothing about the server situation other than the fact that the website is unavailable for me too.

(talking about SliTaz, I kinda stopped following the project, even though I find it interesting… note to self: pay more attention to it from now on)

Casio Prizm software

Own a Casio Prizm? Please take five minutes (probably less) to fill my survey on product IDs. It’s as easy as looking at the back of your calculator and typing 15 characters. No personal information is collected. Thank you!

I developed some add-ins for the Casio Prizm series of graphic calculators (fx-CG10 and fx-CG20). The software is available for download directly from a server of mine, sometimes from Cemetech and sometimes from Casiopeia.

Utilities

The Utilities add-in is exactly what its name says: an add-in full of utilities not originally found on the Casio Prizm calculators. This includes:

  • Clock, with time and date and the tools for adjusting them;
  • 20 chronometers (can go up or down) with accuracy as good as the 128 Hz tick allows (it’s better than 1/100 of a second);
  • Tool to fine-adjust the backlight level (from 0 to 244, versus the 1 to 5 provided by the OS);
  • Tools to adjust the poweroff and backlight timeout to values not possible through the OS default tools;
  • CPU speed adjustment (like OverClui);
  • Power information (read battery voltage level, power source, battery setting and more);
  • Many lantern types (make an expensive and inefficient lantern out of your Prizm);
  • Calendar with agenda (add, edit, view and delete events on days, search events, week and month views, and much more);
  • Task list (add, edit, view and delete tasks, which are basically calendar events without dates);
  • File manager (rename, move and copy files and folders, with long-file-name support and non-capital letters support). Also allows for opening text files, compressing and decompressing files in a special format, and searching for files;
  • Text editor (create and edit text files);
  • Graphical memory usage viewing tool (check how much Main and Storage Memory is used with nice progress bars);
  • Add-in manager (choose which add-ins are available for launching in the Main Menu without having to delete them);
  • Function key color selection (select the color of the function key labels throughout the OS; I recommend blue if you’re tired of black);
  • System information viewer – view the OS and bootloader version and timestamps, calculator model information, Renesas CPU version registers and the unique device ID.
  • Calculator lock with numeric code (like CGlock but more advanced);
  • A way to save the current time as a decimal number to the OS alpha variable T (you can use this on Run-Mat and almost everywhere by pressing ALPHA and then the division key).
  • Lots of settings to make the add-in behave the way you like.

All this in a binary file under 150 KiB!

Version 1.4 of this add-in was released on June 15, 2014, with this most likely being the last release; at this point Utilities is stable and full-featured, as you see in the above list. New releases will only happen to fix bugs, without increasing the feature list. I have tried very hard to make sure this add-in provides something useful for everyone who owns a Prizm.

Download g3a

Thread at Cemetech

GitHub repo

Image viewer

View JPEG and PNG images on your Prizm. Progressive or lossless JPEG and interlaced PNG not supported. Has strip functionality for linking (not embedding) images on eActivites. Stable version 1.0 is out! More information on the Thread at Cemetech, or download the g3a – just copy to your calculator (out of any folder!) to install.

Eigenmath port

Screenshot of my Eigenmath port

Screenshot of my Eigenmath port

I ported the Eigenmath symbolic math engine, by George Weigt, to the fx-CG 10/20 calculators. Version 1.0, stable, is available for download, with all the results matching the ones given by the PC version. Updating is heavily recommended, because there are lots of new features in comparison to the first release, not to mention more ability, stability, and many bug fixes.

This port includes a function catalog, ability to create and execute scripts, draw graphs, and much more. All 100+ Eigenmath commands work. Output is pretty-printed whenever possible, and 200 lines of output are stored for scrolling at any time. Command execution can be stopped. The state of the add-in is optionally automatically saved when exiting. This add-in can also act as a eActivity strip.

Download or find more, updated information on the thread at Cemetech. GitHub repo.

Discontinued software:

CGlock

An add-in that lets you protect your calculator with a 4-digit code. It can be set up to automatically turn off the calculator when it is locked, to not show the Casio logo (and consequently the owner information) at turn off, and to open Run-Matrix after the correct unlock code is entered. If the Prizm is rebooted or the batteries are taken off, the calculator goes unlocked – so this program only provides mild security for your calculator (you can always epoxy the reboot hole and the batteries compartment, but do so at your own risk).

It saves the code and the settings in the main memory. I have some ideas for new features, such as hashing the code for extra safety and implementing CGlock’s own owner information display, since the Casio one is easily crackable, which I’ll implement when I have time and feel in mood.

Download from Cemetech

OverClui

OverClui is a tool for overclocking the Prizm’s CPU based on the work of Ashbad and brijohn at Cemetech. The difference between this and their own tool, Pover, is that this one has a nicer GUI, and is more noob-friendly. It doesn’t let users overclock to 101.5 MHz but only to 94.3 MHz to avoid problems, even though recently I found out some calculators don’t handle the 94.3 MhZ speed and thus can only to 87 MHz safely.

Use at your own risk, no warranty provided. If the calculator shows a “SYSTEM ERROR” message when overclocking to 94.3 MHz, please press EXIT to reboot, don’t overclock to that speed again (which also means you won’t be able to run the latest version of the game Gravity Duck on your calculator) and let me know in the comments.

Download from Cemetech

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.

ReactOS 0.3.14 has been released

Looks like ReactOS 0.3.14 has been finally released. See the news here, on the official website.

I can’t say I care a lot about ReactOS, as I mostly use Linux and other *nix and have no interest on NT-based operating systems. ReactOS is one of the OSS projects I follow by keeping a “semi-closed eye” on them. But still, it is interesting to see how the project has evolved since its 0.3.13 release, almost a year ago. They now support Windows XP themes, wifi drivers, ACPI among other improvements.

But again, will ReactOS do any good when it finally achieves full Windows XP capability? I blogged about that some time ago.

Merry Christmas!

I know it’s a bit too late already, but since what matters is the Christmas spirit and not the timings, here are my wishes for a great Christmas and a happy new year 2012. Let the happiness and healthiness be with you this Christmas and new year eve, as well as throughout 2012 and, well, your whole life. I hope all your good wishes come true! :D

Now, my turn on Christmas wishes: let’s hope my new shiny, cheap Android tablet I bought (Flytouch 3, P041 model, not a Christmas gift!) gets fixed – its internal memory (a microSD card) is corrupt. Now I need to fix the microSD card in a Linux computer. Linux computer? Check. SD card reader? Check. microSD reader? Missing. Trying alternatives… microSD-to-SD adapter? Missing… Santa, all there is on my gifts list is a way to fix that tablet’s microSD, I want a microSD-to-SD adapter or a USB microSD reader (costs $1)!

I’ll let you know if/when I fix the device and get rid of that damn error the Flytouch returns when trying to burn the Linux kernel to said microSD!

Merry Christmas!

gbl08ma / Gabriel Maia

The Raspberry Pi: What it is and why it will make a difference

I’ve met the Raspberry Pi project around three months ago, and immediately fell in love for its concept and idea: to build a extremely cheap Linux box that could be used to teach children the world of programming, Linux and even open source in general. But when I first knew about this project (it was on Slashdot if I remember correctly), me and lots of other people were skeptical about it, specially because of the aim price (USD $25/18,5€), because of the size of the prototype board (the first one presented was no big than a USB flash drive, and in fact, was smaller than many of them), and because their website consisted of a single page with an image of that prototype board and a few technical details; it also said the Raspberry Pi Foundation was a charity (non-profit).

I forgot about the project for a few weeks: like many other people, I thought this was no more than vaporware. Later, when I visited their website again, I found it to be much more complete, and it already had some more information and more facts had been confirmed. From then on, I began to check the website much more frequently and, currently, the Raspberry Pi doesn’t look like vaporware anymore: there are alpha boards built that have been distributed to various people doing software work on them, and the project staff has ran demos of the Alpha boards at many meetings. The Raspberry Pi was and continues to be responsible by news articles, sometimes front-page articles, on many technology sites. They also shown on UK television and radio. All this, and they haven’t released a final product to the market yet!

So what is the Raspberry Pi, in conclusion? It’s a extremely cheap, cheaper than many books, embedded Linux board. At launch, there will be two models: A and B. The model B has better features than the A, they will cost $35 and $25 respectively. Behind the project there’s a charity with the same name, the UK-based Raspberry Pi Foundation.

Both models feature an ARM11 Broadcom CPU clocked at 700MHz and a GPU capable of drawing Full HD H.264 videos at 30fps, and supporting OpenGL ES 2.0; a SD/MMC/SDIO card slot from which the OS will boot. For video output, the Pi has both an HDMI connector and a good old composite video connector, which means the Pi will be able to display not only on a modern LCD with HDMI connectors, but also on older TV sets and displays that feature composite video input(s). The RAM varies according to each model, and is presented stacked on top of the CPU (PoP configuration). Both models have some GPIO (General Purpose Input/Output) pins, although nowhere as many as things like the Arduino.

As for power supply, the Raspberry Pi will ask for a 5V input, and it should run off 4 AA cells. It will use a micro-USB connector for power supply, but note that it doesn’t act as a USB client device (it only draws power from micro-USB, no data). The energy consumption of the board is also incredibly low, and I believe it is lower than the consumption of many devices in standby mode.

The publicly shown Raspberry Pi Alpha board

The publicly shown Raspberry Pi Alpha board

Model A will only have 1 USB port, no ethernet and 128MB of RAM, whereas the model B will feature 2 USB ports, an ethernet jack and 256MB RAM. The final PCB design has been released, after lots of work doing the routing of the tracks of the PCB to ensure the maximum efficiency of the Raspberry Pi; the board will have the same area as a credit card (it’s amazing how could they fit all the connectors in such a small size board).

Oh, and I forgot to say: the Pi also has a 3.5 mm jack audio output; combine this with the small form factor of the board, some portable power supply and buttons connected to the GPIO, and there you have a very powerful MP3 player that also turns into a full-featured PC when you connect a display, keyboard and mice to its USB port(s). Or you could bring a touchscreen and make your very own Android/Ubuntu/whatever Linux tablet!

The circuit scheme of the final boardThe circuit scheme of the final board

As for the software, the board is designed to run ARM Linux distros, but people are already planning on porting other lightweight OS – don’t expect Windows in any way though as a) this device is simply too open-source for Microsoft’s mind and b) There’s not enough RAM to run Windows 8 in any way. Plus, WINE and other Windows abstraction layer software will not work, as these are not designed for ARM. Apart from these limitations (that most certainly don’t affect you unless you were expecting to make a hardcore gaming machine out of it), the Pi will do, better or worse, practically everything you do with a PC: web browsing, email, word processing, spreadsheet, instant messaging… for more advanced users, this is also a perfect server, either for serving files on USB drives, or hosting websites. For those (of any age!) willing to learn (embedded) software development, this is also the perfect device – specially because it’s cheap as hell, when compared to things like the successful Beagleboard.

I guess that we only need to allow time for humans to develop uses for the Raspberry Pi, and some of them will drive our minds crazy I’m sure. Enough presenting the Pi, if you want to know more you can do research…

Why I think the Pi will make a difference

You already saw what the Pi is from my quite long introduction above. I won’t say this is a revolutionary device, that will change the way we see technology. I won’t say that this is going to cause an impact as big as the iPhone caused on mobile phones or as the iPod on digital music, either, specially because a) the Pi doesn’t have an Apple on the back, b) the iPhone/iPod weren’t news either, since things like them already existed before; that fruit company only made them friendly to the masses (and credit to them for that).

Other thing that makes me think the Pi won’t reach the intended audience so fast as some expect is it’s appearance. I don’t want to make more analogies with Apple’s devices, but please allow for just another one: smartphones existed well before the iPhone, and I have an HTC phone from 2005 that did more (has 3G connectivity, for example) than the first iPhone, that was launched much later. Then why didn’t the older smartphones make much success? I don’t think expensive is the problem, but their look: most of them look ugly, to the masses at least, something the iPhone did better (just like with most recent Apple products).

Stopping with Apple analogies (I promise!)… the Pi is an innovative product by its size, its price and its main objective. If enough people know about it, it will suppress many markets, such as the thin clients one. From my point of view, this is the most cheap and minimal mini-ITX you can get, with the detail it doesn’t run Windows, but that is a matter of getting the world used to Linux. Due to its small power supply requirements and the cheap price, it will also bring computing where it is very rare nowadays, enabling people in development countries to have their first PC (or PED – personal embedded device :) ). If we find a way to cheaply connect the Pi to the internet no matter where one is, it is even better, because people that have gain access to the ‘net and to who we teach how to use it, will eventually become better informed people.

In other words, this is a bit like the OLPC project, except that, at least in my honest opinion, and based on what I know from the OLPC project (which might not be accurate), it is being done with much more responsibility and a true knowledge of the requirements of the target audience. It also uses emerging technologies such as Linux for the ARM architecture, contributing to the evolution of the open source universe. But still, I don’t want to say the Pi is the perfect device: the Universe doesn’t allow perfect things to be made, duh. So, not being the perfect device, there’s always space for improvement, specially because one size doesn’t always fit all, and people will always one to thinker with a Pi to make them more like their own definition of “perfect”.

Other important difference in comparison with the OLPC project is that it isn’t just for children: indeed, the first batch of 10000 Raspberry Pies will be more targeted at developers and hackers (that doesn’t mean some “hackers” aren’t as young as me…), however and unlike was wrongly stated in many news, any person can buy it. Detail: I’m not yet sure if the first batch will be sold as a buy-one-donate-another project, making you pay for two Pis whereas you’ll only receive one, having the other going to charity. Please enlighten me on this subject!

The defects of the Raspberry Pi

As I said, this isn’t the perfect thing, and I think it’s important to point out its defects and limitations, because only this way we can improve on them. So, here are the things that according to my thoughts are yet to be solved or better discussed:

  • Peripherals: the Pi can be considered nothing more than a PC’s motherboard; it still needs you to have all the peripherals, from keyboards, mice, SD cards, and specially, a screen where to show things. The screen is the most expensive part, if you assume people can’t use an existing screen because of e.g. the lack of one.
  • Power supply: well, this is a “defect” that comes with every device, so I’m not considering it as a defect, but more of a “thing to discuss” – and many people are already discussing it, fortunately. Even if the Pi consumes such little power that it can run of standard AA cells, the things you’re going to connect to it won’t. And being the Pi basically just what a motherboard is to the PC, it’s pretty useless without some input/output devices – and these will consume much more power than the Pi. Well, we can assume you only connect a four-line character cell display to it, and a USB keyboard for input, and then use the display to show four lines of Linux shell – not very practical, obviously.
  • Memory/CPU specifications: As I said above, it’s not going to run the traditional Windows, nor a recent Firefox on Linux, at least until they stop making memory-hungry Firefoxes. It’s all a matter of studying the capabilities of the device and see if it applies for your project. I think the low specifications of the board also have a positive point: It will teach the young developers how to make apps that don’t use 1GB of RAM after half an hour of use, thus teaching these developers how to manage the system resources.
  • The case: it’s known that the Pi will ship without case. There will be cases available on the online store of Raspberry Pi, but of course these cost some money, increasing the price of the device if you must have a case. Of course, we can’t see just the negative part of this: the lack of a case opens people’s mind to creativity and curiosity, making them poke inside the Pi. If it breaks… well, if you have enough money to buy another, that’s not a problem. However, if we want to incentive children to learn programming with the Pi, it must be made somewhat attractive.

Finished! This is my long essay on the Raspberry Pi… please correct me if you find any errors on the facts presented here, and take the opportunity to express your own opinion by dropping a line on the comments. Oh, and of course don’t forget to visit the official Raspberry Pi website for more amusement! ;)

Now running with nginx!

I was really fed up with Apache on this server. It would use huge amounts of RAM, even after all the visitors left the website. Having done all tweaks to the memory usage of Apache and PHP, the amount of RAM used would never get below 450MB (out of the 512MB this VPS has). Hell, Apache was consuming even more memory than MySQL!

For those who don’t know, nginx is an alternative, lightweight webserver which is generally used (by many popular websites) as a load balancer. However, it can also act as the single web server on a system, like what Apache and Lighttpd do. I had worked with nginx before on some small websites on low-resource servers, and I was quite satisfied with it. As I explained with an earlier blog post, nginx is great as long as the website you want to serve with it does work with nginx – that is, doesn’t heavily depend on Apache rules or some Apache-specific thing. Sure, those rules can be converted to nginx config options, but I never succeeded on making eyeOS 1.x work fully with nginx.

WordPress is one of the scripts that works best with nginx. Since this website is mainly powered by nginx (although I have some custom scripts laying around, mainly the scripts providing alternative WiiMC internet media), I made my mind and decided I would go through the hassle of switching from Apache to nginx. It wasn’t a big hassle after all: apart from having to restart the server at some point due to a RAM outage, the website wasn’t offline much time, and there was no data loss.

After putting Apache off-use and starting nginx, the server was still using 300MB of RAM. I though nginx couldn’t be using so much RAM, and there was another problem laying around. Turns out to be a problem in MySQL config: I don’t need InnoDB functionality, so usually I add a “skip-innodb” line to my.cnf. The problem was, this line needs to be added under the [mysqld] section and in my case, it was somewhere else. So I moved skip-innodb to the right place, restarted MySQLd, and that’s it:

The server is now using 240MB of RAM, which still fits inside the dedicated RAM (256MB), so I’m not taking any of the burst RAM, which resides in the server swap space. The RAM usage is still high, because I have other things running such as dovecot for mail delivery.

It also looks faster to load pages, but probably someone with a faster connection than me will notice a bigger difference.

ReactOS: will they ever get somewhere?

For those who may not know, ReactOS is an operating system that “aims to follow the Windows-NT® architecture designed by Microsoft from the hardware level right through to the application level”. By other words,  the idea is to provide Windows XP-level compatibility with software and hardware.

Looks like a neat idea? Yes, indeed. An “open source Windows” system would has lots of applications, for example, in situations where demand for using open source software and common standards, instead of proprietary solutions, exists (like what happens, in theory, on some country governments).

Why it doesn’t work right? Well, nobody can say the project has been abandoned. It’s progressing, but very slow. I can’t blame the developers for the slowness: the task they’re doing is hard, and there aren’t many developers devoted to the project.

The latest version was released on March 2011, and it was just a tiny improvement over all that’s still missing. My only concern is, when they get a Windows XP compatibility that is good enough, won’t be XP as obsolete as Windows 95 is now? At the end, Windows XP is already more than 10 years old, and even some of the most recent software by its creator, Microsoft, doesn’t work on XP (e.g. IE 9 or the latest Live Messenger).

And another thing: if ReactOS gets noticed enough, won’t Microsoft try to squash them and send some juridical flames regarding e.g. stupid patents? Or even reverse engineering, although I don’t think they can be legitimately accused of doing it? Note that these questions may also apply for WINE and similar software, but up to now, it looks like they have been safe from Microsoft’s hammer.

Ubuntu updates are killing me

OK, not really. But I thought it’d be a great title for this post.

This is a personal opinion/story post and won’t help you much if you came here from a search result page, while looking for a solution for a problem on your Ubuntu installation. If that’s your case, don’t waste more time reading this post, as probably it won’t help you (but you might find your situation similar).

For those who don’t know, I use Ubuntu on my main desktop as the main OS. Yes, I know how to work with Microsoft Windows, but I don’t use it much at home.

The problem in my case, I think, comes in part from having a lot of packages installed due to the fact that I have both Gnome and KDE installed, although I never use KDE nor its apps. Sometimes, some conflicts with the package updates appear, specially because I have packages from PPAs and other unofficial repositories.

Since the release of Ubuntu 11.04, which I won’t update my PC to too soon, Ubuntu updates manager keeps bothering me about a “partial update”, that basically would just update my Ubuntu 10.10 install to a semi 11.04, something I don’t want. I hate these package updates. I know it won’t install Unity and set it as default Desktop Environment, but still, I don’t want to have a half-10.10-half-10.04 Ubuntu specially when such updates will delete for sure certain “mods” I did to my install like the custom bootsplash, the mintmenu (yes, it was on the list of packages to remove with the partial update), and the custom repositories and PPAs (now you know why I put “mods” between quotes, it’s because these really aren’t mods).

Well, I ended up doing the “partial update”. I lost the Linux Mint menu, obviously, but not the bootsplash. Now you ask, if I was so bothered about updating, why did I proceed? Because I eventually know I’ll switch to another Linux distro soon.

Fedora was a possibility, but since I saw the new version, it’s out of the list. Reason: it brings Gnome 3 and it’s basically a copy of Unity, so now I’m hating both of them: Unity for being a copy of Gnome 2 with flashy effects, a dock, and other MS-Windows-7-style “innovations” that would make sense in a tablet or mobile phone, or even an interactive coffee table, but that I hate having on my desktop –  it’s just not productive; and Gnome 3 for being a copy of Unity – or is Unity a copy of Gnome 3? Doesn’t matter: I find either of them unproductive and too eyecandy, to not say that I need two or more clicks to perform an action that on Gnome 2 I do with one click: for example, switching from one window to another (fortunately, they have kept Alt+Tab!).

Seeing as I’m very exigent with the Desktop Environment of the distro I use, perhaps I’ll just stick with this Ubuntu and its malfunctioning updates… well, if I weren’t lazy, I have the knowledge to fix it, but it’s simply too much work, I repeat, I’m lazy…