Category: computers

Atom.io

B62xj9FCUAA3YoC.png largeAbout two months ago I discovered the existence of Atom.io, a free editor from the GitHub team. This fact, being from the GitHub team, made me wonder. There are not good editors for Windows. I usually use Notepad++ that is great, but somewhat limited on extensibility. When I use Mac OS X or Linux, I usually use Emacs or Vim. I know there are versions of Emacs or Vim for Windows, but I got curious on the Atom.io editor. But unfortunately I did not like it. It is quite heavy starting, the UI is not very polished and there isn’t native support for LaTeX. I know the idea of this editor is to be extensible, but when something gets completely community driven, diverse modules or packages for the same purpose appear, and it gets difficult to know what to install.

Nevertheless, I did not quit at first. I got into the package manager and tried to install a LaTeX package. The first package I found should, at least, allow me to compile a tex file directly from the editor. After about 3 minutes installing a package (too much time for such a limited package) I tried to compile the LaTeX document and I did not get any feedback. Neither that the plugin was invoked or that it wasn’t; if the file was compiled, or not. Nothing. I didn’t even get LaTeX highlight.

Please, atom.io crew. Look into Notepad++. Look to its size. Look to how fast it starts. Look to the amount of different languages syntax he supports.

So, at the moment, wondering if I’ll install Sublime, Gvim or some Emacs.

Windows 8.1, 32bits, 64bits, and MBR or EFI or GPT disks

Laptop-hard-drive-exposedI am no expert, so I am sorry if I say anything wrong. Please correct me, in that case. But I had some experiments installing Windows 8.1 from DVD into a recent Lenovo laptop, and had some issues with hard disk drive and the format it was into.

Well, it seems that recent laptops (and probably also workstations) use a new kind of format to store the partition table of the disks. It is, somehow, related to EFI. So, if you have a disk drive in EFI mode, you will be able to create more than 4 primary partitions (no need for creating an extended one, and then create others inside).

If you try to install Windows 8.1, 32 bits, it will expect a disk to be in MBR (master boot record) mode. If your disk is in EFI mode, your best solution is to delete all partitions (be careful, you will lose data) and create new ones. Probably you will need to delete them all, use the next button and let Windows use the entire disk, or if you want a specific partition schema, cancel the installation, reboot, and with luck you will be able to create a typical MBR partition table.

The other way around, if you try to install Windows 8.1, 64 bits, it will expect a disk to be in EFI mode, and if it is in MBR mode you will need to… you guess it… delete all partitions, and go next.

You might also find gParted to be helpful in this process.

Another interesting information: Windows 8.1 32 bits does not detect a Full HD display.  With the 64 bits display, installation procedure was all in Full HD. Also, the 64 bits was able to pull drivers automatically (namely for wireless). The 32 bits didn’t.

The Moose Slippery – February PR Challenge

Moose Slippery

This February my Pull Request assignment on the CPAN Pull Request Challenge was Ovid’s Module, MooseX::Role::Strict. For me this was a big problem. First because it is about Moose (which I do not use) and then because it is about the Meta-Moose, the way Moose itself behaves.

The idea of the module is to allow Role users to import a role that defines a method that is already defined in the current package/object in a strict fashion. If the user declares that method will be overridden, it will work, if it doesn’t, then an exception will be raised.

It was great to notice Ovid maintains a TODO list. It is not very clear what each item means, but I tried to ask him and understand. And as far as I could find, the first item of the TODO list seemed easy to implement. In fact,  too easy. This Pull Request, as far as I can tell, could do the trick. But I lack knowledge on creating a test case.

So, in order to close this month’s assignment, I am asking for comments, suggestions and any kind of constructive help on testing and fixing this pull request.

MonoGame, XNA and Documentation Hell

2000px-MonoGame_Logo.svgI confess I have some admiration towards the Mono Project. It is the base of different tools, and it allows those tools to run virtually on any device. A good example is the Unity 3D Game Engine.

In my teaching duties this year I need to each MonoGame. Not sure if this is a good choice or not, I just needed to keep with the old syllabus as I did not have any time to prepare the course as I should.

In case you are not aware, MonoGame is Microsoft XNA made public. Although the libraries, themselves, are easy to install under Windows, the most recent version is not available for Mac or Linux. The documentation that is available is mostly from the old XNA, in Microsoft MSDN. There are a few mini tutorials and blog posts that help on some specific details, but there isn’t a official, well prepared, source of documentation, and that is a shame.

Another problem from basing things on Microsoft previous work, is that MonoGame depends on Windows libraries, some of which are not free, and can’t be made available by the MonoGame project, meaning the developer needs to go through a list of old software (yeah, from 2011 is old software) to be able to have everything working.

One of the problems with MonoGame is that it depends on a binary format, named XNB, for importing assets. I am not sure if this format is open or not, but given it is Microsoft, I do not think so. To create these files, from other files, like image or sound files, you need a tool to convert. It seems (although I did not test yet) there is such a tool for Linux and Mac (the MonoGame Pipeline) but not for windows (are you sensing the strangeness here? the latest version of the library is only available for Windows, but the needed tools are not available for Windows…).

I wasted 5 hours trying to figure out how to create a XNB file from a WAV/MP3 file. I searched for tutorials, I downloaded software, I tried different approaches. None works with Windows 8.1 and Visual Studio 2013. I still did not try to contact the MonoGame team or foruns. But given this is something crucial for game development, I can’t understand how there isn’t an official reference from the project, on how to create these files).

The most promising tool I found was XNBBuilder (also known as XNBFormatter), a standalone tool for this conversion. But, from standalone it has few. It depends on XNA libraries (that I have installed) and, even with those libraries available, it still complains on them missing. In fact, a book I bought from Apress about C# game programming in MonoGame also suggests this tool (that means I am not the only trying to figure out how to create those XNB files). At the moment my try was to contact this tool author and asking for some support.

I confess I was expecting some more organization from MonoGame. I am really considering the suggestion to change the syllabus for another library. Even libgdx is more organized.

 

PR-Challenge: January 1st PR

Cross Posted from my Perl Blogs blog.

So, yeah, to make me more active in the Perl community I decided to join the Pull Request Challenge. I have a quite big number of modules to maintain, but sometimes it is good to look to some other people code to learn something.

My attribution for January was Data::ObjectDriver. I am not sure, yet, what this module is about, but I learned some stuff already, dealing with Module::Install. That was enough for a simple Pull Request [see here]. Hopefully it will be useful for other people as well. Also, hope it gets accepted.

Although this is enough for the Challenge, I expect, in the next days, to prepare at least one more Pull Request. So, stay tuned.

EDIT: The second pull request [here] did not take that much time. Fixed a test that was failing given new error message on DBD::SQLite.

From Tamagotchi to SimCity Build It

I am not sure if you remember the Tamagotchi at all. It was a small device, kind of “Chinese electronics” (sorry, I know most electronics are made in China anyway, so not sure why the ones that does not have a non-Chinese mark are mostly so creepy), where the child needed to take care of a pet.

Probably there were other games with similar behavior, but this is the first game that I remember that needed constant attention, as it worked in real time. From time to time, the device will ring and flash, asking the player to do something, like feeding the pet, or playing with it.

From Tamagotchi we got to different other games with real time behavior. Probably the most common is the FarmVille, the game from Zynga. You all know the game, so probably I do not need to talk about it. But the player is a farmer, and needs to take care of animals. Events occur from time to time, if the player is playing, or not. So, it cannot be compared with other games like the old Sim City. There, things happen from time to time, as well. But the player can change the speed of the time, or just exit or pause the game, getting to the last position next time it plays.

Well, the kind of FarmVille games continues. There is another one, very similar, for Android, Hay Day. Probably there are much more. But I just happen to have installed that Hay Day some time ago, as I really liked the chicken on its icon.

10625116_975899972436334_1361720262538398927_n

Well, recently I just downloaded SimCity Build It for Android, from Electronic Arts. You know, I am, or I was, a SimCity fan. So, why not to get a SimCity version and play it? Who knows, even buy it?

But I got frustrated. Why? Because SimCity Build It is Hay Day (or FarmVille) in disguise. The mechanics are exactly the ones from Hay Day. Even the market! But if Hay Day is prepared with some caution (for example, to make a strawberry cake, you need flour, sugar and strawberries), in SimCity Build It, to build a house, you might need some iron, plastic or some wood. But you might also need some seeds, or a couple of hammers or even a measure tape. Yes, you might need seems to build a building. Yeah, that makes sense (not).

And, again, this is a “real time” game. You can’t pause it, you can’t exit it, you can’t speed forward for some time. You do not control or play the game. The game plays you.

This also leads to the discussion on the old “Pay to play”, or the new “Pay to win”. I confess I prefer the first. You might even release a free shareware version (lets say, 5 free levels). Just make that clear in the download page. Then ask for some amount of money to buy the full game. But this might be a good discussion for any other future post.

Java, and Cloning Arrays

Java-Evil-Edition-orfjackal_netJust to let you know, in case you find this kind of problem… Java is able to clone uni-dimensional arrays of built-in types, like int, but it is not able to clone multidimensional arrays, as a multidimensional array is an array of arrays, and an array is an object. Not sure this is the explanation, but the truth is… clone is useless in this evil language.

If you want to prove it yourself, just try the following code.

public class TestClone {

    public static void main(String[] args) {

    	int[][] boardM = new int[1][1];
    	int[][] copyM;

    	boardM[0][0] = 1;
    	copyM = boardM.clone();

    	boardM[0][0] = 2;

    	if (copyM[0][0] == boardM[0][0]) {
    		System.err.println("oops?");
    	}

    	int[] boardV = new int[1];
    	int[] copyV;

    	boardV[0] = 1;
    	copyV = boardV.clone();

    	boardV[0] = 2;

    	if (copyV[0] == boardV[0]) {
    		System.err.println("oops, too?");
    	}
    }
}

iOS 7… what’s relevant?

New maps icon

New maps icon

 

For now, iOS7 main difference from previous versions, is that its maps icon does not ask the driver to jump out a bridge. Finally!

Tags: ,

categories iOS

Octave Wonders

Was looking around the Octave language… and requested help about the fact function.

Display an amazing and random fact about the world’s greatest hacker.

I decided to experiment:

Richard Stallman once used GDB to reverse-engineer Windows 7 into a free operating system – able to run on GNU Emacs!

And tried again

Richard Stallman won a Suduku that started with only one number in each line

And now I wonder, I will I be able to work again?

Watching 720p matroska on ASUS Transformer

Yesterday I decided to try and watch a series episode on my Eee ASUS Transformer (TF101). First, notice that I rooted it, and it is running CyanogenMod, with Android version 4.1.2.

The episode was stored on a SD card. It is not a fast SD card (class 4), but should suffice. The file was encoded with Matroska (MKV) in 720p. So far, so good.

Asked a friend about what player he would recommend. he said there were two, but just reminded of one name: MX Player.

Nevertheless, I didn’t like to notice that MX Player free version has advertisement, and therefore decided to try VLC. I use it on my Mac, and I like it (and its icon), so, why not test?

VLC installed cleanly, but when playing, it wasn’t able to render a single frame. From 5 to 5 seconds it changed the frame, but full of noise and encoding blocks. Gah, #fail.

Then, if VLC doesn’t work, let’s hear my friend suggestion, and try MX Player. Installed the free version, and then, needed to install the codecs package. Didn’t like much this approach… it could download the codecs itself, why to hide them in an app. Nevertheless, it installed with more or less effort. When playing, it was able to render the image perfectly, with acceptable number of frame per seconds (don’t ask how many, I don’t know, but enough to watch smoothly the video). The problem was that I could just watch the video, as there was no sound at all. No, it wasn’t a volume problem. Neither an option. As far as I could get after googling a little, there are more people complaining that MX Player doesn’t play sound when watching a Matroska file. Weird. #fail.

In one of those googling, somebody said he converted the Matroska file to MP4 with Handbrake. That is too much trouble for someone like me. But somebody else said that BSPlayer had a free version for Android that worked. Righto! Downloaded it, it installed cleanly and played the video at first. #win.