Pages

Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Monday, October 31, 2016

News: Free books from OReilly.

I saw OReilly books in the past and are very great books.
I like paper books, but the free books come with epub, mobi and pdf formats.
Now,  OReilly.com offering free ebooks about computer programming and development.
You will see ebooks about javascript, python, C++ and Rust and many free ebooks.
You can download all free books from here.

Tuesday, September 27, 2016

Fedora 25 Alpha and processing.

About processing, you can find more from processing website.
Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping. 
Is simple to use. You can use with Java also with python and android mode.
Come with many examples and tutorials.
Today I tested with Fedora 25 alpha.
I download the 64bits tgz file. I extract the archive into my home user.
I used the binary file to run it and I install some modes from menu Tools and them Modes tab.
I run one simple code to see if is running without errors.
And working well, see the result:

Saturday, February 13, 2016

Deal with highmaps.js - javascript library.

Another tutorial I make today about highmaps.js.
This simple example just allow us to understanding how this library working.
The tutorial can be found here.
This is result of the html5 files:


Wednesday, September 30, 2015

News: Google Play Store increasing file size .

To help developers build apps , Google Play Store increasing file size limit from 50 MB to 100 MB.
Seam Google wants to encourage developers to create richer apps and games.
Also, users will see a warning only when the app exceeds the 100MB quota and makes use of Expansion Files.
You can read more at support googleplay apk

Sunday, July 5, 2015

News: The Tangram is designed for real-time rendering of 2D and 3D maps.

Mapzen builds open-source mapping tools and collaborates on open geodata initiatives and one good choice is Tangram.
The Tangram is a flexible mapping engine, designed for real-time rendering of 2D and 3D maps.
Come with some features like matrix maps:

Saturday, March 21, 2015

News: Godot - This new game engine working with Linux .

The last version of Godot Engine Reaches 1.0 come with new features:
  • working simple, flexible and feature-rich editor, with tools under multi-platform editor: Linux, Windows and OSX;
  • the game result work for your multi-platform: iOS, Android, Desktop Platforms: Windows, OSX, Linux, Web Platforms: PNaCL and consoles: PlayStation 3 and PlayStation Vita (only with a license from Sony); 
  • 2D and 3D game development;
  • GUI library for UI Game Interfaces;
  • A python-based scripting language, designed to make games with C++ API to optimize parts of the game or extend any part of the engine;
  • you can animate 2D or 3D. - simulate 2D and 3D physics engines;
First look: I run it, working well.
You need to make some settings to export the game.
Working with .obj to import objects.
Not working with tff fonts.
Seam to be a lite dizzy, but I saw some good youtube tutorials.

download the templates for exporting, see the next image:

and export your game ...
I use Linux and great I have the .bin file.
I don't test it under Linux OS.

Sunday, March 1, 2015

Blender 3D - great addon for game developers.

I found one great addon for game developers.
I make also one simple tutorial about this addon.
Can be read here.

Tuesday, June 4, 2013

Komodo 8.0.2 the best IDE .

Today I working with Komodo 8.0.2 .

The Komodo Edit it’s a very powerful free editor.

So if yo want to see more then read this.

Friday, May 17, 2013

Working with GLFW library under Fedora.

This is another tutorial about OpenGL.

The main goal it's : using GLFW library.

It's very simple to use this library.

If you want to read more the go to this website.

Saturday, April 20, 2013

Use SpiderGL to test your shaders ...

SpiderGL is a JavaScript 3D Graphics library which relies on WebGL for realtime rendering.

You can test it online using your browser using this website.

The website allow you to write shaders and also rendering the output.

Read more about shaders tutorial here.

Tuesday, December 11, 2012

Linus Torvalds - kernel 3.7 is now out.

From: Linus Torvalds <torvalds <at> linux-foundation.org>

Subject: Linux 3.7

Newsgroups: gmane.linux.kernel

Date: 2012-12-11 03:59:50 GMT (9 hours and 45 minutes ago)

Whee. After an extra rc release, 3.7 is now out. After a few more trials at fixing things, in the end we ended up reverting the kswapd changes that caused problems. And with the extra rc, I had decided to risk doing the buffer.c cleanups that would otherwise have just been marked for stable during the next merge window, and had enough time to fix a few problems that people found there too. There's also a fix for a SCSI driver bug that was exposed by the last-minute workqueue fixes in rc8. Other than that, there's a few networking fixes, and some trivial fixes for sparc and MIPS. Anyway, it's been a somewhat drawn out release despite the 3.7 merge window having otherwise appeared pretty straightforward, and none of the rc's were all that big either. But we're done, and this means that the merge window will close on Christmas eve. Or rather, I'll probably close it a couple of days early. For obvious reasons. It's the main commercial holiday of the year, after all. So aim for winter solstice, and no later. Deal? And even then, I might be deep into the glögg. Linus

Read more here.

Wednesday, September 19, 2012

Make one simple kernel module using C programming language.

Today I will try to explain how to make a kernel module.
Basically, a kernel module it's one piece of code that can be loaded and unloaded into the kernel.
You can read about kernel modules from here.
Now, let's try to make a simple kernel module.
Writing your own module can be done if you know some basic rules.
First, about how to use modules.
Suppose you have a new module named kernelmoduletest.
How to load the module.
Just use this command in your module kernel folder:
#insmod kernelmoduletest.ko
Next, test the kernel module messages.
This can be done with:
#dmesg | tail
Also, you need to remove the kernel module.
$ rmmod kernelmoduletest 
ERROR: Removing 'kernelmoduletest': Operation not permitted
This means you need to have superuser rights. So use the sudo or su command.
Then use the rmmod command.
Know how to make the kernel module skeleton.
This is not very simple because you need to know many things about kernel and programming.
But you can try the test with some simple example like this example:
Create the c file named kernelmoduletest and add this source code:
#include <linux module.h="">
#include <linux kernel.h="">

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("kernelmoduletest");
MODULE_AUTHOR("Catalin George Festila/mythcat/catafest");

int init_module() {

    printk(KERN_INFO "Now I will initialize my  kernel module\n");

    printk(KERN_INFO "Test: Hello World !\n");

    return 0;
}

void cleanup_module() {

    printk(KERN_INFO "Bad!... kernel module unloaded.\n");
}</linux></linux>
Make a new file named Makefile.
Add this to tell how to compile the kernel module.
obj-m += kernelmoduletest.o
all:
 make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
 make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Compile your kernel module
Just use make command.
# make
...
  Building modules, stage 2.
  MODPOST 1 modules
...
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
If you test your module using the commands from the top of this tutorial, you can see that:

[14694.779227] Now I will initialize my  kernel module
[14694.779233] Test: Hello World !
[15049.825605] Bad!... kernel module unloaded.
If you have already made kernel modules and the subject it's interesting for you, send me an email.
Thank you. Regards.

Thursday, June 14, 2012

News: Programming with google-blocky

It's fun. You can try or your children.
Blockly is a web-based, graphical programming language. Users can drag blocks together to build an application. No typing required.

You can see more on google project.

Monday, September 26, 2011

Android ARM Assembly by Vikram Aggarwal

Today I read an interesting article about Android.
The article is written by the developers Vikram Aggarwal, a software engineer at Google.
This article - tutorial consists of a series on learning ARM assembly on Android.
Its subject is "...calling Assembly code from Android applications".
The tutorial contains the necessary source code and details for the reader to understand how it works.
For those who have never used Gas (GNU Assembler), this article is of interest much.
I wonder if there is anyone interested in the Fedora community to write Android applications.
This article can be read here.

Friday, August 13, 2010

OpenGL - OpenGL Utility Toolkit (GLUT) on Fedora 13

The freeglut allows the user to create and manage windows containing OpenGL contexts.
This library allows the user to use mouse, keyboard and joystick functions.

#yum install freeglut-devel
...
Dependencies Resolved
================================================================================
 Package                   Arch        Version               Repository    Size
================================================================================
Installing:
 freeglut-devel            i686        2.6.0-5.fc13          updates      112 k
Installing for dependencies:
 libX11-devel              i686        1.3.1-3.fc13          fedora       1.0 M
 libXau-devel              i686        1.0.5-1.fc12          fedora        13 k
 libXdamage-devel          i686        1.1.2-2.fc13          fedora       8.8 k
 libXext-devel             i686        1.1.2-2.fc13          updates       77 k
 libXfixes-devel           i686        4.0.4-2.fc13          fedora        11 k
 libXxf86vm-devel          i686        1.1.0-1.fc13          fedora        17 k
 libdrm-devel              i686        2.4.21-2.fc13         updates       64 k
 libxcb-devel              i686        1.5-1.fc13            fedora       139 k
 mesa-libGL-devel          i686        7.8.1-8.fc13          updates      486 k
 mesa-libGLU-devel         i686        7.8.1-8.fc13          updates      111 k
 xorg-x11-proto-devel      noarch      7.4-36.fc13           fedora       250 k
Transaction Summary
================================================================================
Install      12 Package(s)
Some tutorials about glut on C programming language: Glut and C tutorial

Tuesday, April 13, 2010

Parsing files and rename ...

Sometimes you have to rename files.
This can be tiring when we do it manually.
Command "sed" may be helpful in this case.
I'll take a simple example. I will create a working directory called "work."
We have to create files with the command:
for (( i=1; i<10; i++ )); do echo data$i > data[$i]x[$i].txt;done

The result should be :
$ ls
data[1]x[1].txt  data[3]x[3].txt  data[5]x[5].txt  data[7]x[7].txt  data[9]x[9].txt
data[2]x[2].txt  data[4]x[4].txt  data[6]x[6].txt  data[8]x[8].txt

Try these commands to parse and rename files:
$ for i in  *[]x[]*; do mv -v "$i" "$(echo $i | sed 's/[]x[]//')"; done
`data[1]x[1].txt' -> `data1]x[1].txt'
`data[2]x[2].txt' -> `data2]x[2].txt'
`data[3]x[3].txt' -> `data3]x[3].txt'
`data[4]x[4].txt' -> `data4]x[4].txt'
`data[5]x[5].txt' -> `data5]x[5].txt'
`data[6]x[6].txt' -> `data6]x[6].txt'
`data[7]x[7].txt' -> `data7]x[7].txt'
`data[8]x[8].txt' -> `data8]x[8].txt'
`data[9]x[9].txt' -> `data9]x[9].txt'
[work@test work]$ for i in  *[]x[]*; do mv -v "$i" "$(echo $i | sed 's/[]x[]//')"; done
`data1]x[1].txt' -> `data1x[1].txt'
`data2]x[2].txt' -> `data2x[2].txt'
`data3]x[3].txt' -> `data3x[3].txt'
`data4]x[4].txt' -> `data4x[4].txt'
`data5]x[5].txt' -> `data5x[5].txt'
`data6]x[6].txt' -> `data6x[6].txt'
`data7]x[7].txt' -> `data7x[7].txt'
`data8]x[8].txt' -> `data8x[8].txt'
`data9]x[9].txt' -> `data9x[9].txt'
[work@test work]$ for i in  *[]x[]*; do mv -v "$i" "$(echo $i | sed 's/[]x[]//')"; done
`data1x[1].txt' -> `data1[1].txt'
`data2x[2].txt' -> `data2[2].txt'
`data3x[3].txt' -> `data3[3].txt'
`data4x[4].txt' -> `data4[4].txt'
`data5x[5].txt' -> `data5[5].txt'
`data6x[6].txt' -> `data6[6].txt'
`data7x[7].txt' -> `data7[7].txt'
`data8x[8].txt' -> `data8[8].txt'
`data9x[9].txt' -> `data9[9].txt'
[work@test work]$ for i in  *[]x[]*; do mv -v "$i" "$(echo $i | sed 's/[]x[]//')"; done
`data1[1].txt' -> `data11].txt'
`data2[2].txt' -> `data22].txt'
`data3[3].txt' -> `data33].txt'
`data4[4].txt' -> `data44].txt'
`data5[5].txt' -> `data55].txt'
`data6[6].txt' -> `data66].txt'
`data7[7].txt' -> `data77].txt'
`data8[8].txt' -> `data88].txt'
`data9[9].txt' -> `data99].txt'
[work@test work]$ for i in  *[]x[]*; do mv -v "$i" "$(echo $i | sed 's/[]x[]//')"; done
`data11].txt' -> `data11.txt'
`data22].txt' -> `data22.txt'
`data33].txt' -> `data33.txt'
`data44].txt' -> `data44.txt'
`data55].txt' -> `data55.txt'
`data66].txt' -> `data66.txt'
`data77].txt' -> `data77.txt'
`data88].txt' -> `data88.txt'
`data99].txt' -> `data99.txt'

This is just a simple example ...