Thoughts, early 21st century

  • Flattr on Ubuntu

    • 27 Oct 2010
    • 1 Comment
    • views
    • internet ubuntu
    • Edit
    • Delete
    • Tags
    • Autopost

    For years there's been a funny situation related to software and media consumption. Companies usually pay for the software they use. Many home users use the same software for free, downloading cracked versions. Users can't always afford to pay $700 for using a program like Photoshop. Doesn't sound fair, either, to pay such a high price just for doing some editing of family photos once in a while. Computer games are expensive too. Many users play, but only a part of them pay. If all gamers paid, the price might be lower. And then people do different things like going to the movie theater, buying DVDs, downloading movies from the net, or watching them on some website with streaming technology. The last two do not bring any money back to the producers, except if it's a good movie and has a promotional effect.

    For many years I had in my mind a way of getting developers and artists paid. It's quite simple: your computer would track what you spend time on. It could be anything like using applications, watching online movies or listening to online music. You would pay a reasonable fixed amount of money every month. This amount would then be shared among the people who created the applications you used and those who produced the movies you watched and the songs you heard. With such a system in effect, people would have access to all software, movies and songs. Everything legal, and with good quality. This would also benefit those who create a one time successful YouTube video. It would allow new artists to get paid. If you would listen more times this new unknown artist than that famous world known band, then the new artist would get more money from you. I think this would motivate people to create more. Anybody who creates something used by many could get paid for it.

    Read the rest of this post »

    • Tweet
  • Script to move and resize a window in Linux

    • 22 Oct 2010
    • 0 Comments
    • views
    • scripts ubuntu
    • Edit
    • Delete
    • Tags
    • Autopost

    I'm working on creating several educational video clips (screencasting). I'm using Kazam to do the recording. Kazam records the whole screen (1280x1024). Later I crop those videos to 1280x720. I want that the cropping can be automated. I don't want to set the crop area by hand each time. To do this I must be sure the area I want to crop does not change from video to video.

    That's why I created a script that moves and resizes the application I want to record, so it's always on the same place, with the same size. My script is called resize-gimp.sh and it should be executable (terminal: chmod +x resize-gimp.sh).  This is the script:

    wmctrl -r GIMP -e 0,0,0,1280,720
    wmctrl -a GIMP

    If wmctrl is missing from your computer type "sudo apt-get install wmctrl" in the terminal.

    The word "GIMP" appears twice in the script. It's used to find which window you want to resize. You can replace it with any other name like "Office" or "Firefox". Just observe the title of the window you want to resize. Choose a word that is only present in that window, and not in others. The first line in the script moves the window to 0,0 and resizes it to 1280,720. The second line brings the window to front.

    Then I added a new shortcut so I can easily execute the script by pressing a key combination. This is done in "System > Preferences > Keyboard Shortcuts", in the top menu in Ubuntu.

    • Tweet
  • Test lossless rotation (Ubuntu)

    • 10 Oct 2010
    • 5 Comments
    • views
    • photography ubuntu
    • Edit
    • Delete
    • Tags
    • Autopost

    Not-lossless

    I was just wondering how to do lossless rotation of images in Ubuntu. The default viewer, Eye Of Gnome, is supposed to do that. According to the help file, "1.4 ... All modifications made in JPEG images are lossless. That is, saving rotated and flipped JPEG images will not recompress the image". But this information is not clearly stated in the program menus. I wanted to be sure it is actually lossless before rotating hundreds of images. To find out I did this:

    1. Find a JPEG image in the File Browser, duplicate it pressing CTRL+C and CTRL+V.
    2. Click (select) one of the images, press SPACE to launch EOG, rotate the image, then do File > Save.
    3. Now we have to find out if the image was re-compressed or not. I open both images in Gimp.
    4. I rotate one of them to match the rotation of the other. This rotation inside Gimp is lossless, because no compression is taking place.
    5. I place both images as layers of the same document. Now I have two apparently identical images in two layers, one on top, one on bottom.
    6. I set the Mode of the top layer to Difference. The image becomes black. If it was perfect black it would mean the images are identical and transformation was lossless indeed. Let's find out.
    7. I flatten the image.
    8. I change Levels, dragging the white point triangle from right to left, next to the black point. This brings up details in what was previously black.
    9. The result is the image above, which is obviously not pure black. Somehow the transformation was NOT lossless. Does anyone know what went wrong?
    • Tweet
  • Skype for Android and permissions

    • 6 Oct 2010
    • 0 Comments
    • views
    • android permissions security
    • Edit
    • Delete
    • Tags
    • Autopost

    Skype
    Skype for Android was finally announced yesterday. I opened the Market app in my phone to have a look at the ratings, other users' comments and the permissions Skype asked for. I was greeted by this list:

    • Your personal information: read contact data, write contact data.
    • Your location: coarse (network-based) location.
    • Network communication: full Internet access.
    • Your accounts: act as an account authenticator, manage the accounts list, use the authentication credentials of an account.
    • Storage: modify/delete SD card contents.
    • Hardware controls: change your audio settings, record audio.
    • Phone calls: read phone state and identity.
    • System tools: modify global system settings, prevent phone from sleeping, retrieve running applications, write sync settings.

    Now, how can users, when presented with this list, make the right decision of installing or not installing the application? My point is, I don't know how useful it is to make this question. From a legal point of view it's obviously useful. You can blame the user for accepting. But from a practical point of view? How many users know why are all these permissions requested? I would say not many.  Users get used to clicking install, no matter what is on that list.

    Users could make a more informed decision if developers wrote a reason next to each permission, answering the question "why does your app need this permission?". But even in that case, how can users trust the explanation?. To me it feels like Skype is asking me "do you give me full access to your phone?". Why does Skype want to know the list of running applications? My location? What is an account authenticator? What are the authentication credentials? Those are not obvious questions for most people. Not even for someone who has developed an Android application like me.

    When users click install, they are basically saying "I trust you". They are not saying "I understand these permissions and I know why you require them", because they can't know. Permissions can be used for legitimate purposes and for spying on users. How could we distinguish them? I can only think of one way: code review. This can happen by developing under the open source model, or by having a trusted company reviewing and certifying programs.

    Something else I dislike in Android is the fact that applications have full access to the SD card. Last time I worked on this (beginning of 2010), applications could access the data of other applications, if the data is located on the SD card. If you use APP A to write a diary, and App A saves your data unencrypted on the SD card, APP B can read and upload your private thoughts to the Internet. I'm sure SD cards on Android phones are full of interesting files. Developers should be careful about the way data is stored. Databases for example can not be accessed by other programs by default. It would be great if Android provided a "private SD card space" for each application. I can imagine this being implemented in future versions.

    A final thought: when we install software on a computer we are trusting with even less information to decide. We are not presented with a list of permissions to agree on. We just go ahead assuming it will behave well.

    • Tweet
  • Observando lugares conocidos

    • 2 Oct 2010
    • 0 Comments
    • views
    • en_español mallorca photo
    • Edit
    • Delete
    • Tags
    • Autopost
    Crw_8725_nice_flickr

    Cuando paseo buscando imágenes es muy diferente de cuando simplemente paseo. Otras veces lo hago buscando sonidos, o respirando. Presto atención a un sentido y los demás casi desaparecen. Siempre he pensado que no puedo escuchar bien la música con los ojos abiertos, y que suena más fuerte con las luces apagadas. Esta foto es de un lugar que se encuentra a pocos metros de donde crecí, entre Gomila y Porto Pí. Nunca antes lo había visto.

    • Tweet
  • Make the web faster - zip it

    • 1 Oct 2010
    • 0 Comments
    • views
    • css html idea internet
    • Edit
    • Delete
    • Tags
    • Autopost

    In mid 90s I realized most Flash swf files could be compressed using zip. The resulting file would often be 50% smaller. I sent this suggestion to Macromedia, and I was very happy when the next version of the SWF file format came out, it included LZW compression.

    Google has an initiative to make the web faster. They just proposed a new lossy image file format. I was just wondering if something like what SWF does could be also used for HTML. Imagine you pack all your JavaScript, CSS and smaller images inside a resource.zip file. Later, you would target each file inside this zip file like:

    <link rel='stylesheet' href='resource.zip?file=/mystyle.css' type='text/css' />
    <script type='text/javascript' src='resource.zip?file=/jquery.js'></script>
    <img src="resource.zip?file=/images/blank.gif" />

    This way the browser could download all the resources with just one request. Compare this to many complex sites that make over one hundred requests to the server. CSS sprites would be something from the past.

    There are some drawbacks: linking to compressed resources in other domains wouldn't be as easy as today, and crawling by search engines would require decompressing the file first. Uploading asset groups by FTP would also be faster, but then updating a single file would require uploading the complete compressed asset file.

    In any case the speed increase would probably be very noticeable if web sites downloaded most of their assets on one request, instead of making hundreds of them.

    • Tweet
  • About

    Hello. This is the blog of Abe Pazos. Here I share my creations and ideas. You can find more about me at http://gplus.to/hamoid I recommend watching the photos in full screen mode: press F11 (Firefox or Chrome) and click the photo.

    91499 Views
  • Archive

    • 2012 (10)
      • February (8)
      • January (2)
    • 2011 (96)
      • December (8)
      • October (2)
      • June (6)
      • May (12)
      • April (27)
      • March (21)
      • February (10)
      • January (10)
    • 2010 (75)
      • December (11)
      • November (16)
      • October (1)
      • September (2)
      • August (4)
      • July (28)
      • May (2)
      • April (1)
      • March (9)
      • January (1)
    • 2009 (47)
      • December (1)
      • September (2)
      • August (1)
      • July (10)
      • June (27)
      • May (5)
      • March (1)
    • 2007 (1)
      • July (1)
    • 2006 (1)
      • January (1)
    • 2005 (2)
      • October (1)
      • August (1)
    • 2004 (2)
      • November (1)
      • April (1)
    • 2003 (1)
      • January (1)
    • 2002 (1)
      • May (1)
    • 2001 (1)
      • April (1)
    • 2000 (1)
      • April (1)

    Subscribe

    Subscribe to this posterous
    Unsubscribe
    Follow this posterous RSS
    You're a contributor here (Edit)
    This is your Space (Edit)
    Follow by email »
    Get the latest updates in your email box automatically.

    Twitter

  • My other sites

    • Fun Programming (my current project)
    • Flickr
    • Twitter
    • Homepage
    • SoundCloud
    • Freelance work (from my old blog)

    Sites I Like

    • Khan Academy
    • YES! Magazine — Powerful Ideas, Practical Actions
    • Blog de Eduard Punset
    • Wikileaks
    • Personal Development for Smart People - Steve Pavlina
    • Ubuntu, free OS
    • Electronic Frontier Foundation | Defending Freedom in the Digital World
    • TED: Ideas worth spreading
    • The Do Lectures | Ideas + Energy = Change
    • ♥ ☮ ☠ ✌