Kinnernet 2006: Life in Fast-Forward

struct Kinnernet : public FooCamp {…};

struct Kinnernet2006 : public Kinnernet
{
int fun;
string food; // each char represents something different
int people[160+(rand()%10)];
int equipment[DONT_EVEN_ASK];
};

Kinnernet (Kinnernet [sea of galilei] + Net) is where tons of multi-talented people meet once a year to unformally (is that a word ?) meet up, learn from each other, talk about cool stuff, have fun, meet new people, and like ten other things.

Kinnernet is always too many things in too little time. If you’re take too long a stop in the bathroom you must have missed out 10 cool things, but you just have to learn to live with it, or you’re fux0red.

Thanks Yosi and all the organizing guys.

p.s: thanks to flickr, i now have a new sport of going through the kinnernet pictures looking for myself, here are the results for now:

American Idol ?

addictive game (building one myself now, thanks to Yuval Roth)


Discuss, yeah, notice the hands

Software writing: Being in control

Ever threw yourself into a new world of software-writing ?

Suppose you’re a hard-core server programmer in C, imagine what it would be like to start a project for the Blackberry in Java.

Ouch!

Some people would consider this pure terror, and some would take it on as a challenge, it depends on what you’re made of. No matter what kind of coder you are, you’re unconscious target is one: ‘being in control’. I sort of coined that term for myself whilst explaining the ordeal to a non-programmer friend a few years ago.

It happens when you start a new job and need to get accustomed to the existing code-base / tools / habits.
It happens when you decide that it would be cool to modify an open-source application, because you need to learn how to compile it and, how it’s structured, and why in the world is everything prefixed with m_pS.
It happens when you tell someone ‘sure, I can fill in for Jack, let me just have a look’ and find yourself not even knowing what IDE the guy’s using.
It happens when you get back to a project you wrote a long time ago and now need something from.

When we approach these things, our sub-conscience is immediately intimidated. This is because we strive to always know what’s happening, this is what makes us feel comfortable and secure.
Hence, when we are not in control, our mind assumes position and attempts to transition between ‘OMG I don’t know how to approach this’ to ‘it’s like a walk in the park’.

You see, when you’re in control of your tasks, you’re not intimidated by them, or by any surprises related to them.
‘Do you think you can XYZ?’ Sure, gimmie five minutes it’s a small change in class ABC.
‘Wouldn’t it be cool if this stuff was underlined and that graph used blue instead of red ?’ Lol it’s 2 lines in defs.h

It’s just a simple fact of life you ought to acknowledge every now and then.
It’s what makes your belly swirl when you step in unfamiliar territory, and it’s what makes you feel like King-of-the-County/Queen-of-the -Castle when you know your turf.

My advice to you is:

Knowing your enemy is a good way to plan an attack. When you’re stepping into a no-control zone, take it one step at a time. Build up confidence slowly, and you’ll come to conclusions fast.

Not being in control sucks. People tend to either overcome it as quickly as possible, or fold and run for their lives. There’s also a special breed that is just addicted to being thrown into a new pool with no knowledge of how to swim.

You can always become a better code, just fear less :-)

Bubbles: Minimizing the web

We just released Bubbles, a cool little (183k) piece of software that aims to turn Web-Applications into desktop applications.

It does this by housing your favorite sites in a bare-bone window, no toolbar/addressbar/buttons/statusbar/***bar around, pure app. These windows, or as we call them, Bubbles, go to the system-tray when you close them, and wait there for you.
When you hit a bubble’s tray-icon, it just pops back, like an Application does.

So, go ahead, start popping some bubbles

solution to unresolved external symbol _com_issue_error _bstr_t::_bstr_t

LNK2019: unresolved external symbol “void __stdcall _com_issue_error(long)” (?_com_issue_error@@YGXJ@Z) referenced in function “public: __thiscall _bstr_t::_bstr_t(unsigned short const *)” (??0_bstr_t@@QAE@PBG@Z)

I despise this error. Every time I write a new ATL or WTL app, and don’t use COM much in it, I get this.
I then plow for 10 minutes throuh newsgroups to get it figured.
So, hopefully Google will pick this text up and make the solution shorter for other people.

SOLUTION: #include <comdef.h>

Ben says that If #include comdef.h does not fix the unresolved externals, then make sure you are also linking against comsupp.lib

Sorta 1-way Video chat from your 6680 to a PC

Like I said, you gotta love Nokia for putting Python on the Series-60 phones.

My first mashup was to write an app that continuously pulls pictures from the phone’s camera, and sends them over to a PC for display (thanks Jurgen Scheible for great tutorial). This gives us a lame 1-way video-only ‘call/chat’ from your phone to any PC in the world.

At first I wanted to write a JAVA applet that would display the video stream, but for some reason the Java ServerSocket doesn’t return from ‘accept’, perhaps it’s not listening on the right interface, I got tired of playing with it. Here’s the source for the Java applet if you feel like making it work.

What I did was write something VERY SMALL in Python. It listens for connections, reads the JPG files from them, decodes and shows using PIL.

Here’s what it looks like on the PC:


Requirements:

  • A Series-60 Nokia phone with Python on it
  • A PC with Python and PIL on it
  • This PC needs to have TCP port 9134 open (configure your NAT if necessary)

Download:
That’s about it, here are the two Python scripts
camera_srv.py -> run on the PC first
cam_sender.py -> run this one on the phone

Warning:
The way PIL shows images on windows is by saving aside a copy and opening it with ShellExecute!!! This means that this remains more of a mockup until I or somebody else makes the Java Applet work.

comments/changes/etc are more than welcome, email me.

enjoy