• October 25, 2011

    Centralized Metadata Storage in TortoiseSVN v1.7

    After installing update of TortoiseSVN to version 1.7 the other day, I got pretty freaked out when TortoiseSVN asked me to update my local working copy of project I was working on to new file format and "make it unusable for older clients".

    Since I love testing stuff, reinstalling os’s and making my life miserable by pressing YES, OK and Continue without reading or thinking about it - naturally, I performed the upgrade.

    Nothing happened at first and I continued working on project as usual. After few hours I needed to copy some folders from my project to another folder in the same project, and since I am used to have trillions .svn subfolders in each folder of my project, after copying data, I immediately went for deleting those .svn subfolders so I can commit the changes. But – there were NO .svn subfolders!! Why? Read on.

    Subversion 1.7 features a complete re-write of the working copy metadata management system of Subversion, code named WC-NG. A key feature of the changes introduced in Subversion 1.7 is the centralization of working copy metadata storage into a single location. Instead of a .svn directory in every directory in the working copy, Subversion 1.7 working copies have just one .svn directory—in the root of the working copy. This directory includes (among other things) an SQLite-backed database which contains all of the metadata Subversion needs for that working copy.
    The process of upgrade itself is pretty easy and fast (well, depending on the size of your project that is):

    Step 1 - go for project update:

    Step 2 - Accept the file format upgrade:

    Step 3 - Take a coffee break while upgrade is being performed:

    Step 4 - Enjoy .svn-subfolder-less git style beauty.

  • October 24, 2011

    The Tree of Life

    It has been a while since I did some movie review, and what better movie to spark the talk than "The Tree of Life".

    First, a digression. "Inception". Inception is a movie about making movies. If you haven't figured that one out yet, let me be the one to shine a candlelight at the obvious. In case you did not read that entire rant, which you should, here is just the quick version.

    The main crew in Inception is a parallel to the main crew in making movies. The team goes into a dream which is setup by one person - parallel to the storywriter or scenarist. There is a guy for props, a guy who directs it all. There is a guy who finances the whole operation, etc. Every role in Inception has a parallel in the world of movie making.

    The parallel becomes most obvious when they talk about people in the dream realizing something is wrong and they stare at the dreamer. Same happens at the movie when something in movie goes wrong, lately this means computer graphics done bad - entire movie audience stares at the screen because some glitch broke the illusion of perfect story.

    And in the end the moral of the movie is simple; it's really not important if what you saw was real or illusion (or in Inception, it does not matter if the first world is real or a dream) as long as the movie touches you and makes you think - the film makers' job is done.

    Everything in Inception is done correctly to convey the message about how movies should be made.

    Back to "The tree of life".

    This is a movie about how movies SHOULD NOT be made. I believe that Terrence Malick purposefully made a movie where absolutely everything is wrong so that there is another end of the spectrum to movie making. Inception is on the good side; that's how you make a movie, The tree of life on the other end; this is how you screw up.

    [EPIC SPOILERS AHEAD, BUT PLEASE READ THEM]

    THE STORY FAILS: In short, a movie centers about family of 5 (father, mother, 3 brothers). We first see a letter delivered to the family notifying them of their son's death. Then we jump into future where one of the brothers is grown up and relives through flashbacks his childhood. We see how father was strict in upbringing, and how mother was kind. At the end there is no moral to the story. No punchline. How one of the brothers died is never shown. Did the harsh upbringing from his father have to do something with his death? Why did he die? During the whole movie you have a feeling that parenting, and the way the family functions (disfunctions) will setup a platform for his death, and teach us something. Nop. In the end - the audience learns nothing. The movie shows us how not to end the movie. If you have shown to the audience that an important member of the story dies, and then you spend entire movie showing his upbringing - then bloody tell the audience what happened.

    THE CASTING FAILS: The movie has Brad Pitt and Sean Penn in lead roles. At least that's advertised on posters. In reality, Sean Penn could have been replaced with a wooden plank. Brad Pitt is awesome tho, but this movie shows us how not to cast actors. Take Sean Penn - do nothing with him.

    THE CAMERA FAILS: There are some nice shots in the movie, but overall, most of the audience started to get dizzy after an hour of rotating camera, weird angled and random spliced of frames. I have an iron-stomach. I never get dizzy or vomit. This movie almost made me vomit. It's clear that this movie teaches us how not to handle camera.

    THE MUSIC FAILS: Some truly epic tracks were used in this movie. At completely wrong places. It's like playing Beethoven's Ode to Joy at the funeral.

    THE DIGRESSION FAILS: At one point in the movie we are taken to the beginning of the universe. The Big Bang, forming of stars, the Earth, primordial soup, first proteins, evolution of life, we see dinosaurs and we see the meteor crashing on Earth spelling doom to the dinosaurs. What the hell has that to do with the movie? Nothing. It teaches us how not to digress, how not to show something else other than the main storyline.

    "The tree of life". It sets the ZERO marker on the meter against which the movies are measured. Good job Malick, the International System of Units is bloody proud that you have helped define one more SI unit.

  • October 20, 2011

    Android Roboto = Linux Ubuntu

    The new Android version, Ice Cream Sandwich, comes with the new default font:

    Roboto

    The mighty "Roboto" and the mighty PR crap someone thought will diminish the fact that the font is an ugly construct of a few different typefaces. As the good folks at Typographica well put; because the font is a mixed salad of a few different font styles, depending on what word comes up on the screen the font will give away different "feeling". I will let you read the really good article at Typographica first. Go, do it. DO IT.

    Roboto

    I am not sure why would someone call a Humanist/Grotesque looking font "Roboto", especially because it is on the platform called Android. The Android platform just calls for the Commander Data looking font. Something readable, yet mechanical. Guess Google has yet to figure that one out.

    Now that you are aware of why "Roboto" sucks, here is what I have to say about it.

    Letters and words form the majority of data we intake while using any digital platform. Yes, icons are there as well, as are pictures and video and even sound, but the vast majority of our interaction with digital platforms comes through words. Therefore, the font and the overall typography we look at is incredibly important.

    Now, let's digress a little.

    Linux Ubuntu desktop operating system has been around for years now. And every year Ubuntu developers swear that this is the year Ubuntu will overtake desktop market. And it never does. There are two main reasons it will never be (in the foreseen future) a force to be reckoned with in home desktop computing. First: it has lousy hardware support. Buy a new device, and chances are it will not be able to interface properly with Ubuntu.

    Second: it looks ugly. Yes Ubuntu lovers, it looks ugly as hell. Not just the visual appeal, I am talking deeper. Even built-in applications are completely non-standardized. Buttons [Cancel] and [OK] vary in location from application to application. It is a logical and visual mess. And why is it so? Because designers do not use it.

    Designers do not use it - therefore, there is noone competent to complain and maybe even suggest how to fix it - therefore, it will stay ugly. It is a closed circuit.

    Back to Roboto and Android.

    Android is ugly, and even tho Ice Cream Sandwich looks really nice at a glance, with Roboto it just got ugly again. No self-respecting designer will even look at that phone now because every word will look weird. Let's skip all the other details how Android is still laggy even tho it sports dual core processor and all that "under the hood stuff". It is just ugly. I do not know a single designer that uses Android phone. I know a lot of programmers that use it tho (same as Ubuntu).

    Designers do not use it - therefore, there is noone competent to complain and maybe even suggest how to fix it - therefore, it will stay ugly. It is a closed circuit.

  • September 28, 2011

    Firefox 7

    Mozilla... Seriously? Really? :) I like auto updates (despite the crazy versioning), but this way of informing me I have an update is way too aggressive. This crazy window just popped while I was browsing and freaked me out. Yes, I clicked restart... and as with every update, I lost half of the plugins due to incompatibility with this glorious new version. Plx, next time could you instead put a nice little balloon with "update ready" notice or something, for crying out loud!

  • September 27, 2011

    Speed up TortoiseSVN cache process (TSVNCache.exe) and lower your disk I/O activity

    Lately I've noticed a lot of disk I/O activity in my Windows coming from TSVNCache.exe process which was killing my disk performance. TortoiseSVN cache process checks repository checkouts for changes and displays nice overlay icons in Windows Explorer.

    Instead of disabling the cache, you can optimize the paths where TSVNCache.exe looks for repositories so it only actually looks at working copies and not your whole disk(s) drive(s).

    If you keep all of your working copies in one location, this is a dead simple:

    1. right-click on your desktop and click TortoiseSVN -> Settings
    2. in the tree view, click on to Look and Feel/Icon Overlays
    3. in the Exclude Paths box put all your hdd letters (eg: C:\* d:\*) and separate the values with newlines.
    4. on the Include Paths box, put all your working copies locations, again separated by newlines (eg: d:\dev\*).

    Notice the * - sign at the end of each path, this is necessary to include/exclude subdirs.

    that's it. here are just some words for robots: svn, subversion, windows, slow, problem.

  • September 20, 2011

    My pinky

    One week ago in a silly small accident a branch hit me in the left hand while I was riding a bike causing a crack in my metacarpal pinky bone. Nothing serious, but doctors put a cast on my hand just to be sure the bone heals properly and is not further accidentally damaged.

    As some of you know, on my left arm I have Adobe tattoo and just for fun I thought I could draw Adobe logo on my cast while it is hidden. During that same day I was pondering on that, I was on a meeting when a client suggested to stamp a logo with a company stamp on my cast. And then it hit me, like a thunder.

    I have quickly made a small one-page website where I would offer advertising space on my cast to whoever was interested. The page is in Croatian, and to quickly summarize it; it says I have 2 panels on my cast for sale, I briefly explain what are the benefits for the potential clients and what I promise to do (not destroy cast, not compromise the brand). The cast is removed on 10th of October ending the advertising campaign.

    Yesterday (19.09.) morning, I have uploaded my one-pager, and promptly afterwards Netokracija and Zriha Blog covered the story.

    In a matter of half an hour, both panels were sold. The top panel went to Gadgeterija, a techno geek blog, and the bottom panel went to bonbon, fresh mobile network. I did receive more inquiries in my inbox, but alas - too late. First come, first serve.

    Yesterday evening the agreed visuals were inked onto cast with permanent marker, and I will take care of them till the end of campaign.

    It is obvious to everyone that the visual exposure of logos in my daily life is not the prime advertising bulk. Yes, it is crazy seeing someone on the street with a telecom brand on a cast, but that's not the point. The point is all the hype generated by the idea and campaign itself. The advertising itself is not important here, it's the "advertising" of the advertising (blogging, radio interview I gave, etc...) that will bring better ROI to my clients. Mad world, eh?

    The power of the internet and flash ideas.

  • September 15, 2011

    So long Kolektiva, it was a pleasure

    Yesterday we have finished the last step in the great migration of Kolektiva away from us. Exported databases, switched everything, and closed this case. Yes, Kolektiva is no longer our client, at least not in the way it used to be.

    We have started working on Kolektiva almost two years ago with Jeffrey Treichel and Martina Usmiani. They were Kolektiva, we were the full service agency supporting their project. Couple of months later, first Kolektiva version hit the web and it turned out to be a success. The Kolektiva general idea was nothing new, it was a Groupon clone, but it was the first clone in this region, and among the first ones in Europe (at the moment there is over 20 clones just in Croatia, which all followed and often unsuccessfully copied Kolektiva). We had no idea what we are building, how will the market react and how should it scale. Everything we did had to be super flexible in order to properly scale later, both server-side and design/front-side.

    Kolektiva started with one daily offer in one city, and it quickly grew into more cities with more than one offer per city, from 2 employees to dozens of them. Then it went regional, outside Croatia, and even further, outside the Balkans. This growth was made possible by our flexible and customizable approach to our work. Everything is scalable, everything is upgradeable, everything is modifiable.

    As Kolektiva was growing, they required outside financing to support branching to other countries. It really takes manpower to scout for the good deals in distant countries as well as good lawyers to bind everything together. Financing was found, and with it came the demands of the financiers. One crucial demand was that Kolektiva should be switched to the open-source solution for the backend. From their perspective, this is a logical requirement. First, this ensures that the project can continue even if the bubonic plague decimates everyone in Nivas - there will always be someone else that could open up the open-source backend and continue to work. Second - should anyone ever want to buy Kolektiva, the project needs to be one neat package which can be sold without ties to the outside Agency; us.

    We nurtured Kolektiva to its full potential through scalable solutions, and now that it is full blown and it's specifications are well known, it can detach from custom built solution and go to adequate open-source platform. This could not be done from the start as in the start no one knew what would the project look like few months in the future. The future was uncertain, so everything had to be custom to support incoming situations, which sometimes were borderline paranormal.

    As with all in life, you win some - you lose some. Kolektiva required open-source. Some of our other clients required closed proprietary system. Our backend is our closed proprietary solution which runs all of our projects. Although it's running on open source stack, our policy is that we keep our system closed; we do not give away the source code nor allow clients to write plugins or modify our code. For those, and many other reasons there will always be a need for open-source as well as custom built systems. We are here to offer custom built solutions with security and scalability when clients have no idea what the future will actually hold.

    Kolektiva, through our joint efforts, bumped up a notch regional online shopping awareness as well as woken up some banks and institutions. During first year of Kolektiva's life, almost a third of the people who bought something on Kolektiva stated that this was their first online shopping experience. Kolektiva was Croatian online shopping enabler. A year ago, the amount of daily credit card transactions reached daily limits, which bank and credit card processor has never seen before. When the number of transactions reached certain limits bank just shut the gateway down for fraud protection prevention. Well, that wasn’t fraud what happened, but pure Kolektiva success. Afterwards, this repeated twice more and we hope that will repeat in future as well.

    So long Kolektiva, it was a fun ride while it lasted, we had a great time working with you guys.

    xoxo Nivas crew loves you! :)

  • September 14, 2011

    Windows 8 Tablet, developer preview

    Yesterday I saw on "This Is My Next..." a nice writeup about early developer hardware and software which combined could be called Windows 8 Tablet.

    If you do not have the time to read that entire wall of text, here are two highlights

    "However, fan noise is very noticeable, as is the heat coming out of the top vent"

    "We were pretty disappointed to see the tablet running on x86 architecture, with only a token gesture to ARM during our session, but VP of Windows Planning Mike Angiulo assured us that the progress on ARM is coming along quite nicely"

    Fans on tablet? When Steve Jobs said "if you see the stylus, they are doing it wrong" he did not even dream that someone could put fans into tablets. So here is me saying it: If you hear the fan, and feel the heat exhaust, they are doing it wrong.

    But let's leave this aside for a moment.

    Let's look at the bigger picture.

    This is a developer version of hardware and presumably software. Most likely, this is what the developers will get to work with in order to develop software which will have to defend Windows flag on the day of the release. This could very well be the software that will make or break Windows Tablet, as people will start blogging and yelling about what they see in the first month.

    And the development platform which developers will use before the release is a fan-buzzing, x86 architecture device, and in the real life Windows Tablet might be ARM processor quiet machine.

    How the hell are developers supposed to work on that? How can they have one version now, and then something completely different a bit later?

    Do you remember when Apple first presented iPad (1)? How they introduced applications which were developed behind the scenes, The New York Times, Need for Speed, and more. Here is a video, I strongly suggest you refresh your memory:

    Can you guess what hardware and software those behind-the-scenes developers had to work with? They had bloody iPad. Not x86 version of iPad. They had the real stuff. Yes, Apple had them sign huge NDA agreements, and probably had one Jack Bauer clone in their office at all times, but the end result is that the apps developed for the first unveiling of iPad were the same running on developer machines as well as millions of iPads sold later.

    Why is it that other companies do not even try to compete with Apple? Why? Why do they have to fail so miserably anyone could see that the future of their product is termination? HP/Palm WebOS? Blackberry Playbook? We might now remember with a tear in our eye how these platforms looked promising but we all knew right there and then - they stood no chance.

    I want Apple to have competition, a fierce one. This will not decrease the price of their hardware, but it will make software much better. It took Apple 5 versions of iOS to deliver good notification system, and they only did it because Android is breathing behind the neck with their superior notifications. Competition is a win-win situation for consumer. And so far, and in the foreseeable future - there will be no serious competition.

  • September 9, 2011

    An exercise in Google Adwords.

    A few days ago I started a small experiment which would show me many things regarding Google Adwords, and in general the way Google advertising works, the way people think, and what can be done. To get this experiment actually useful I made an ad for ... wait for it ... Dropbox.

    This ad was imitating realistic Dropbox ad.

    Ad

    This is the exact ad I used, might not be the best literary masterpiece but it served it's purpose as you will see.

    The catch? The catch is that the link this ad leads to has my Dropbox referal code in it. Basically, I was advertising Dropbox and each time someone downloaded and installed it, I got 250 MB extra space.

    Of course, I am not the only one trying to boost up Dropbox space through Google Ad network. There are other smart people in the world as well (gasp!). So we will have somewhat of a competition here as well!

    The experiment ran for 3 days, with minor changes in each day. Budget for ads was limited to 8$ per day.

    DAY ONE
    I have setup the ad to trigger on lots of keywords including "dropbox" "get dropbox" "online storage" "free cloud storage" and similar. Ads would show almost all over the world, I did not care who installed Dropbox via my referrer code.

    I have setup the ad so the click was about 1$, meaning that I get to have 8 people clicking the ad before my budget runs out.

    Day one finished with about 200 ad impressions, 8 clicks (full budget) and of those 8, 2 installed Dropbox. That is a permanent 256MB of online space for 8$. Meh, I can do better.

    DAY TWO
    I have removed the general keywords, and left only "dropbox" and "get dropbox". Same budget, same cost per click.

    By narrowing down keywords, I made sure that only people interested exactly in Dropbox get to see the ad. If my ad was triggered from "free cloud storage" and people clicked on my ad, chances are that Dropbox is NOT what they are looking for.

    On day two, because of this focused keywording, I got 4 ( out of 8 ) people installing Dropbox through my referrer code.

    But I can do better.

    DAY THREE
    I have lowered the value of cost per click. I would now give only $0.20 per click, while staying on the same budget of $8 for a day.

    Whoom, increased number of clicks due to better efficiency of my budget vs. cost-per-click. On day three I got nine people to sign up for Dropbox via my ad. That's 2.25 gig of permanent online storage for $8. Not bad.

    Chart

    I have stopped with further experiments for now, as I have learned few key things regarding Google Adwords. As you can see, three more people have signed up but did not yet install Dropbox. Maybe they will. I hope they do!

    People

    The competition has daily budget as well. Just because at this given moment you can see ads from your competition, it does not mean their ads will be on Google two hours from now. People will click on their ads and eat their budget. When it runs out, next bidder will pop in. That's why I was able to sneak my ads in even tho I gave only $0.20 per click. After my competition burned their budgets with higher CPC values, I popped in.

    If you have digital goods and basically consider whole world your viable target, you do not have to be present 24/7 on the ad networks. My ad was running for only 15-30 minutes before my daily budget burned out and that was enough to achieve my goal. Instead of thinking how much cash you need to invest in advertising, think about how much users would satisfy you and optimize your budget and cost per click according to that. If you give lower cost per click, your ad will appear after your competition burns through their budget, but what do you care? You will then pop in, your budget will allow you more users clicking on your ad resulting in higer conversion number on your site.

    Anyways, I have to upload some photos into my 6 gig Dropbox.

  • August 22, 2011

    Love vs. Must

    I was thinking for a while now about the main difference in iPhone (or iOS in general) and Android apps. Yeah, everyone knows by now that iOS Apps are nicer, smoother, yadda yadda yadda, but that is not it. Then it finally dawned on me, the main difference.

    It's that iOS Apps are build out of LOVE, and Android Apps are build out of MUST.

    Developers making iOS Apps do so because they love it. They love the devices, they love the way people will use their software, the way stuff moves, even the way pure coding works. iOS Apps, best ones, are a product of love for this whole ecosystem. On the other hand, Android Apps are coded because they must be coded. They are usually an afterthought created after iOS App is done. There is no love there, just "meh ... we must do it, so let's get this over with". Even Apps made by the same company look much worse on Android.

    You can see this in every corner.

    Look at the TapBots. Look at the love poured into the website alone. And the love that went into each individual Bot can be felt when you use it.

    Take a look at this; Demon Cam. This is a very simple App, my guess is it will not make much of an impact, but look at the love that went into creating not just the App but this promo video:

    YouTube Preview Image

    These are movie quality effects created just to promote and accompany a small App.

    Shaun Inman loves pixels, and this love runs through the pixels. Playing his latest game "The Last Rocket", you can feel it.

    Brilliant game "Sword & Sworcery" which won IGF Mobile 'Achievement in Art' award in March 2010 was made out of love. Stuff like this will absolutely never appear on Android.

    Do you know of some Android App which can go shoulder-to-shoulder with the ones above? Please do tell.

Proudly running on Word Press, and above all, proudly using Comic Sans.

Nivas.hr © Copyright 2009    All right reserved    Made in Croatia Yeah, we made our own site!Nivas.hr