Archive for June, 2008

From Russia with Code

Friday, June 27th, 2008

At some web-project, where I was main coder for 2-3 years, we were seeking additional local coders few times. But we had no real long term luck. It just seems hard finding good committed and professional programmers here. You know, the ones who go, think and then DO it. Not the ones who say, but we should use X templating engine or Y framework or Z something in the middle.

Well but things are looking a little better now… we used oDesk and we found a company from Ukraine which offers programming services. And so far, they DID it. They have a “manager” to which you talk to and who manages a bunch of programmers. You ask him “Do you prefer any of the web frameworks specially, can you code without it?” and he answers “We can code in any of them or without”. He asks “What are your coding guidelines, what structure you like?” and stuff. That is professional attitude, you accommodate to the project.

You can’t come to a 40.000 LOC project, that has been online for 2 years, to do some well rounded simple thing and say, “but I like smarty templating engine, let’s change all this to smarty first”. I hate big frameworks/systems and it doesn’t get much bigger than Typo3 CMS, but when it was needed, I did code a big app in it and I did code it the Typo3 style. Contract programming is not about your personal likes and dislikes, “and my framework has bigger MVC pattern than yours” shit… It’s about doing it..

We are starting with a bigger and quite complex part of applications with coders from Ukraine next week. I hope it will go well.

Just to be clear, when I wrote “say” upthere, I am not against saying, having ideas, proposing things, any-things. Contrary to that, I am the one who thinks that not being afraid of being “wrong” or “stupid” is one of the greatest personal features. By “say” I mean, “let’s use X. No? Then, byebye.”

And btw, anyone who is using Typo3 (I think our government uses it) is, well.. a little crazy (to be polite).
Zemanta Pixie

Why not reverse it?

Wednesday, June 25th, 2008

Profit (TV series)Image via WikipediaIt is quite common that an Economist/Marketing/Managing person gets a concept, then finds programmer(s) to build it and pays them per share or hour/project.

Well I will try to do it the other way around. I will build the thing and try to find Economists/Marketers/Managers to sell and manage it. I am prepared to pay in profit share or per hour/project (it depends on what we come up with).

I value marketing and managing efforts a lot and know that making the thing is only one part of the process. But where do I try to find such people/companies?? Any ideas?

Anyone interested? If you thing you could be in general interested in such deal let me know, I will show you the projects and you can see if you see any good chances in any of them.

Zemanta Pixie

Forth brain injections for free

Sunday, June 22nd, 2008

The X Factor album coverImage via WikipediaForth is “a little” different than you everyday programming language. Basically it’s different on so many levels. If you ever wondered what it’s like, but didn’t have time or a reason to invest to get/learn/do-enought-to-get-the-feel it — now internets offer you a free ticket to get a taste of it.

Samuel from Falvotech made a video where he coded a HTML parser in gForth, he seems a very fluent Forth programmer and it’s a joy to watch him code (to me at least):

Click here for article and here for the video

I do some coding in Factor which is one of incarnations of Forth but it’s still different in many ways and was always interested how his raw-metal father Forth is. This video was super interesting to me. The core rules are very known to me as it’s the same as in Factor so I could easily follow it, I hope it will be approximately the same for you.

I hope you won’t focus only on “uh how low level is this” and “what crazy stuff is he doing with return stack?” (in few positions of the video) and so miss some things that are pure beauty of the concepts here (like what concatenation brings you). Well, your loss if you do..

— HIGHLY OT —

Hehe, this is above AI, this is AT (Artificial Transcendence).. I just installed the new Zemanta plugin, I am listening to Iron Maiden while writing this article and mentioned it no-where in it and it proposed me picture of Iron Maiden (that you see upthere) in suggestions.

Well it’s even worse, this is future look-up and self inducing prophecy by the plug-in. I was listening to the iron maiden and not mentioning them, it proposed the pic to me, now I did mention them so the picture has a logical place to be in this article and global order is restored once again. I am impressed by the new version guys ;)

Zemanta Pixie

No-login user authentication

Tuesday, June 17th, 2008

I am making some portal. It is a sort of the portal where people will need to register and fill in some info. They have to have an option to login at any later date and modify their info but this will not be like everyday or even every month thing. It seems stupid to me that people have to create and remember a new username/password for every utility that they need limited access to very rarely then.

So I am making some variant of user authentication system for them that doesn’t use usernames or password. The point is that it’s much more minimal to make and use than the standard hog of stuff you have to do to make a usable user authentication system.

So what elements does normal system need:

  • verification email with a link and functionality to accept verification
  • login (username/password) form and functionality
  • forgot password link, form and functionality
  • change password form and functionality
  • logout link

This no-login system is basically like a one-time-password system where it is not limited to one-time, because it would be impractical and it has no reason to be.

So how does it work: When you register to the web-app you receive an email. In it there is a link, you click it and you are “logined” into the web-app. When you need that web-app user area again you open the email and click it again (or you bookmark it, or whatever). But you can delete (loose) the email at any time and when you need access again you go to web-app and fill in your email into “get me a new key” form and you receive another link on email that you can use as long as you want and then delete too (if you want).

So what elements does this system need:

  • sending out email with the link - 80% the same for the first time (registration) and for all “get me new key” times
  • “get me new key” form and functionality
  • logout link

you don’t need verification via email - because the email with the key link is also a verification of their email
you don’t need login form and functionality - obviously
you don’t need forgot password link, form and functionality - because you are meant to forget it and you use “get me new key” anyway
you don’t need change password form and functionality - because there is no password

So it has some pluses, but I will see how it performs in real. If you see any weaknesses go ahead and tell me!

Re-confused with Seaside a little

Sunday, June 15th, 2008

After I thought I have web-development all figured out, I got a little confused about my state of mind about it today. I watched some videos and played with Seaside a little more than before and now I don’t know. Things there are much different than my style is, but I can’t decide…

..is that really good and cool or not? Are my theories still solid? Do I code on too low level without the need to do so? what is really the right level of abstraction??? I thought I knew…

Inflatable Sunny days to come

Monday, June 9th, 2008

Me and my wife had a hard-shell canoe once, we drove it on few lakes and rivers around Slovenia. It was nice, amongst other things my sister and her b-f discovered the Bohinj monster in it and the legend now passes to younger generations.

Then 3 guys, drunk, took it to for the ride on Sava damn at HE Breg (near Sevnica) without asking anyone. They lost balance in the middle of the dam, fell in and almost drowned. The canoe sunk and was never found again.

Now I decided not to take my whitewater kayak with us on a Switzerland trip, but we bought an inflatable mini raft/canoe from Gumotex (Sunny) to deliver ourselves some family friendly adventures on lakes, seas and rivers in the future. While the hard-shell canoe was huge to put on a car and a project to get with it anywhere this thing is even more durable, doesn’t sink, weights just 16kg and I can pack it into just a special backpack. It can also totally accomodate to paddling in solo or duo.


gumotex sunny
Image is from this page, good info about IK-s

Can’t wait to try it on a water… Although ultra practical I still have some prejudice about inflatable stuff on water.

I found out that Euro football something is happening right now in Austria and Switzerland where we intended to go. So we are switching to Italy - South Switzerland instead.

Tripping for little earthlings

Friday, June 6th, 2008

Me and my then-GF-now-wife went to a 1 month trip through the side roads of Italy, France and Spain when-we-were-young and beautiful (and both had long hair). We drove an old yellow diesel VW golf (Mk 1). It marked us and it was sort of trip of a lifetime.

Well, hopefully not. We two + our 2y. son Miha bought a smallest used Adria’s camping trailer last week, and now are going for a shor trip through Austria to Switzerland next week. The idea is to be even more mobile than with a tent, and dryer in this monsume summer we seem to have. You stop, pull the handbrake and go to sleep :) - at least that’s the idea.. too bad even smaller trailers don’t exist here.

Buying the trailer, fixing up the pulling hook to the car and all the bureaucracy attached to it has stopped all my work except contract jobs for last week or two, but what can you do?

Too bad pics from the trip to Spain are all in non-digital formats.

FotoLOAD midi is done, tested and stabile

Sunday, June 1st, 2008

After some kicking and biting FotoLOAD - midi finally works nicely and stable on all 5 test servers. It was tested with photos up to 6MB and with 100 pics to upload at once and it finally works as it should. And even if server fails on some image or you internet connection blinks you can nicely continue where you dropped off. This week it will be used for real at first photo studio.

The last problem was that resampling of >3MB photo to a thumbnail crossed the RAM usage limit at some shared hosting providers but after we found out what was the problem for upload failing at the end quite simple solution was found. In short.. now we do imagecopyresized from (for example) 2000 X 2000 px to 350 X 350 px and then do imagecopyresampled to 100 X 100 px . If you look at the docs you will see why this uses A LOT less resources and gives the same quality at the end.