ownCloud News Firefox OS application

In continuing to contribute to ownCloud project new version of ownCloud News application for Firefox OS is out. Current version is 0.2.0.

Considering that main ownCloud News application has operations like adding RSS feeds and folders, Firefox OS version is still very immature. Since Firefox OS is not very mature and not in spread use, this application has been ported to Android OS using PhoneGap. After getting over some installing catches, Android version was build and installed on devices. I had two devices to test Android version on:

  • Huawei Ascend Y300 (Android 4.1, 4 inch) and
  • Prestigio Multipad 10.1 Ultimate (Android 4.1, 10.1 inch).

First is gallery of screenshots made on Huawei:

Second gallery are screenshots made on Prestigio tablet:

Things to notice are changes when screen is wider on Huawei. This was easily accomplished by using Twitter Bootstrap framework.

As neat as it is, this application needs a lot of improvements. That is why it needs contribution. That is why I’m inviting every frontend developer and coder who are willing to learn to contribute. It is a great way to learn something new and participate in great project as ownCloud. There are other participants who are willing to give feedback on work.

Anyway, if you are using ownCloud stay tuned for more improvements. If you are not using it, this is a right time to start 🙂

Cheerz!

ownCloud New mobile applicaiton

Regarding my last post on my contribution to ownCloud project, I’d like to proudly say

that version for public revision is successfully pushed at https://github.com/owncloud/news-mobile.

From now on, there are adaptations, changes and approval of community (also some participation would be nice),

and we could have FireFox OS application ready for FF simulator, and Geeksphone users to try it, test it.

 

Eventually, I tried to compile it with Cordova, and manage to make it work on Android 2.3 (since I got that version),

but with regret, it seems that there are certain mechanisms which need to be satisfied regarding Android/Cordova

javascript events on application startup.

Now, I have searched and found couple of AngularJs/Cordova boilerplate project which give good start up to AngularJS

users to port application on Android through Cordova, so I will try and make some effort in that direction to, since

Geeksphone’s Peak and Keon, are not still available in my country.

 

If there are any, I’d like to hear about comments on this, maybe some opinions. Bye!

ownCloud and News application for FirefoxOS

Its really been a while. I huge while! 🙂 Almost a year man.

The news are I got full time job working as a Linux sys admin and in RND. Also, my master thesis is still waiting to be finished. I can’t stress out how much full time job takes up your energy and will to do anything similar off job. Almost none. That is why I took some time saving it for time that has come and now I’m hopefully going to finish it until next year 😀 lol.

Anyway, I just wanted to say that I have been involved in open source project (YEY), which was my goal in early geek days 😛 Main project is called ownCloud and is a cloud platform for commercial and private use. One part of it is News application, which is like a RSS aggregator. This year Google Summer Of Code accepted some ownCloud ideas, which included making News application for mobile platforms, specifically for Firefox OS. Technologies involved are JavaScript framework AngularJS for developing frontend (which will basically be a application in FF OS), JSON as a form of communication stream between FF application and ownCloud News API, which is RESTful btw. Technologies involved below the frontend, are node.js for testing frameworks, test runners, task runners and package maintainers (Jasmine, Karma, Grunt, Bowl).

This is my github profile, so you can check the development phase and get involved… maybe? 🙂

https://github.com/ikacikac/news-mobile.git

Have a nice day, and take care! Bye!

Quite interesting cyberpunk/sci-fi imgur albums pt.1

Since I’ve been developing imgur album downloader, I had to test it somehow. Cyberpunk is one of my interests, so I’ve been searching for some cyberpunk albums to download, and since I have found a lot of cyberpunk albums, I want to share some of them. Here are the links:

Cheerz!

Imgur album image downloader pt.2

Hello dear reader 🙂

I was bothered by the way I wrote script for imgur downloader, cuz there are more sophisticated ways to do it. That is why I decided to use more Python system function, which made the script more readable, and customizable. This script uses urllib, urllib2, urlparse libraries for work with image and page URLs.

The thing I added to the previous version is fullscreen option, and directory where to download album.

Anyone interested can ask for source, and I’ll be glad to share it.

Bye!

Imgur album image downloader

Hey hey, here I am with a new cool thing. It is imgur album downloader.

Now, I know there are some imgur album downloaders, but I could not run the Windows version, and I did not bother with any other. I have decided to write my own imgur album downloader. There are some constraints, which are:

  • it works in only two conditions (if you specify album link, containing /a/ in link, or link to group of albums, with imgur.com within link),
  • there is only one page of albums thumbnails (maybe imgur displays all albums thumbnails on one page, I’m not sure),
  • you have to make dir, enter the dir in console and run the script in it (then script makes dirs with albums names, and puts pictures in those dirs).

Regardless of constraints, script can be easily changed to support various links, and parsing techniques. I encourage everybody who is interested in having a nice imgur album downloader, to try and change it, so we can all benefit from it. Here is the Python 2.7 script. Sorry for no comments in code, I did it quickly, and I think that functions names are very intuitive, if that is of any help 🙂

Things that could be done:

  • implement string matching through regex
  • add support for galleries,
  • add support for multiple pages,
  • add nitty GUI (gtk or maybe PyQt).

Cheerz. Bye!

Holidays are gone, tiredness not

It’s been a while, since last post…

A lot of work through holidays, if I could call it that way. Holidays for people around me, and for me, it was like a extended school period.

Anyway, I’ve been doing some rather neat things regarding my point of interest. Since I’m about to finish master studies at my faculty, or I hope I will asap, I’ve been wasting my time on couple of last exams. To make it short, there was a subject called Internet Programming, about JAVA web technologies, and for the project I did something I firstly doubled I could.

Main goal was to connect my idea of programming XMPP client, with GlassFish application server. It was very frustrating experience, since there is no systematic documentation about various Java technologies online. So, I had to use forums, and strongly rely on my intuition about some things. I have used GlassFish 3.1.2 server, with NetBeans 7.2 IDE and Jabberwocky framework for implementing XMPP components. It took me about two weeks to make it work, since CDI has been bugging me for a week. Like I said, documentation was very poor, and community very small. I’d like to thank to a man/team developing this framework, since they tried to help me. In the end, I did full install on virtual machine with java 7 jdk packages, and it worked without any problems. For developing console based client, I have used Smack Java library, and developing the client was a peace of cake, in comparing to the Jabberwocky component. But, it worked splendid at project presentation. Not to mention that professor did not even look at the code 🙂

Thing I’ve been working for a couple of days now is Python/PyGame simulation for another subject, which exam I’m going to take tomorrow. Simulation is about satellite/space ship orbiting a planet. Since that subject lectures finished in January, I did first satisfying version in February, but it had some peculiar errors in calculations (numerical), so I’ve abandoned it for some time. This is the video of it:

The second version, which I completed couple of days ago, had those errors fixed, but I did remove all eye cookie, just for the sake of debugging speed. This is the second version:

As you can see, there are no fancy panels, but having fixed all the errors, I’ve “repaired all system panels, and restore it to it full capacity” 🙂 and added some eye cookie, like velocity vector, gravitational force vector and radius vector. I hope it is finished, for good 🙂 Here is the final version:

Since this is based on numeric calculations, there is some calculation error, based on how short time period is. In this case, time period is 10^-2. To make things more serious, I’ve made some tests, without graphic interface and exported them and draw some charts in PyPlot. In, lets say, first 300 steps of iteration, error is slight, and you can see even on graphic representation. If you make 1000 iterations, and take 300 steps at the end, you can see how numeric orbit is changed through time, in comparing to a orbit which is drawn regarding analytic formula. Here is the chart for 300 steps, form 699th until 999th.

Blue line is orbit drawn by coordinates based on iterative process. Green one is based on 100% correct coordinates based on analytic formula of ellipse. Reducing time period to 10^-4, errors are slight even for 20 000 iteration steps. Of course, you have to find balance between wanted precision and time needed to finish calculations.

This is what I’ve been doing lately. Maybe its interesting?

Young programmers rubbish

Hey hey, its been a while.

Hell, its been a while since I logged at my blog as admin. I almost forgot that it even exists 🙂 This is my effort to bring it back from the forgotten.

There isn’t any particular thing I’d like to talk about. There are couple of thing I’ve been doing lately, which might be interesting… to finish 😀

First, its socket programming in C. More precisely, I’m making some coding examples, while learning about sockets in C, and while learning I’m trying to implement very very simple application protocol. It might be a good starting point for newbies. Real usefulness of this protocol would exist, if there was need for it. And there isn’t. Doing it for fun, learning and enthusiasm.

Second, since I’m at last year of my studies, I have a finishing project. At finishing year as a bachelor, students have some practical, every day, problem to solve. As a student of master studies, students have more scientific approach, so problem is little bit more science oriented. For example, my work is based on fortran90 MPI parallelization. While I’m at this one, I’d like to point to one funny site. Its about hacker names for your business card. So, related to that, I’d be something between multicore general and parallelista B-) Nice! Now, back to the science. For now, its all about computing positions of gas particles in cylindrical chamber, and one processor is doing calculation for one particle at the time. Nothing very special. Next is doing statistical based model parallelization, which should be more interesting.

Aaaand, in the mean time, while trying to take some time to rest, I’m reading books. Sci-fi ones 🙂 Last book that I’ve finished is Revelation Space, by Alastair Reynolds. Really nice one. The book I started to read recently is Ready Player One, by Ernest Cline. This one is really cool, and I’m not even at one third of the book 🙂 Guys who like games, would like this one.

So, thats it. Have a good time gaming, reading, programming, listening… Bye!

Google Chrome as default browser on Arch Linux

Hey there. It’s been a while, again, yes!

Here is something I wasted my half an hour on. I was using Chromium as default browser on my Arch Linux, and it was nice in the beginning, but then it kept forgetting my closed tabs, and also kept showing error about non properly closing, though it was. About an half an hour ago I decided to dismiss it 🙂 When I uninstalled it, some applications (like Skype) did not know which browser to use as default. Since I use Skype with my friends for sharing online material, this is really important thing to be solved. So I googled and tried various solutions without success.

Then I stumbled upon this solution:

/opt/google/chrome/xdg-settings get default-web-browser
/opt/google/chrome/xdg-settings check default-web-browser google-chrome.desktop

Here you can check which is your default browser and change it.

It worked for me, and I hope it’ll work for you too 🙂

Other solutions were:

  • Exporting system variable BROWSER with path to your browser as it’s value
  • Setting variable in your ~/.profile file (or ~/.bashrc)
Anyway, that’s it. Bye!

Computer simulation in pygame

Today, we are going to … I’m going to talk about … I’m going to present you a computer simulation. It’s not just any simulation, it is a simulation of body acceleration in gravitational field. Wow, physics! Yes! 😎

In particular, it simulates how space shuttle should be accelerating near planet, and use it’s gravitational field to accelerate. I’m not a physician, so I won’t talk about physics theory, but it is good to know something about Newton’s three laws, Newton’s gravitation law (or formula of gravity),  Kepler’s laws, and conservation of energy. Ok, the last would be nice to know for analytic solution of body’s trajectory in gravitational field of a planet. Unless you are physician, or mathematician, you should use numerical solution for solving simulation problems, because it can be good enough 🙂 Enough, it you do your best do reduce error. In this simulation, that could be done reducing time step for numerical formula. Since reducing time step would shorten the path that object traverses, animation would be veeeery slow. I guess I could overcome this problem, but it is very appealing right now, or  appealing enough 🙂

The simulation lets you set body’s initial coordinates and initial velocity, when dragging mouse. When you release the left mouse button, body starts to move, by numerical formula, and you get yourself an animation 🙂 Real eye cookie 😎 You can turn on statistics monitor, and also a body’s velocity vector in it’s little coordinate system in down right place of the simulation. You can also change planets. All 9. You can say, well Pluto is no longer a planet. Ok, that’s true, but I have found a png images of a planets and Pluto’s was there, so I added it in 🙂 Yey, my simulation has 9 planets! Anyway, simulation has configuration file, where you can change masses of planets, since my masses are not very realistic, not even for comparing between two planets in solar system.

Software used for this simulation is Python 2.7 and PyGame library.

You can download it here.

Bye!