Showing posts with label Idea. Show all posts
Showing posts with label Idea. Show all posts

2008-11-02

Blog success story

The beginnings

I wrote first post in this blog 22 months* ago. My intentions weren’t clear. I wanted to document my ideas (I had a lot of them), have a place to store code snippets and maybe promote myself.

First posts I wrote in Polish and didn’t really know if I will be able to write in English. When look at my first posts, I start to understand that they were just testing the territory. I didn’t know what to write about, how far I can go writing, who will be reading it, if the crawlers will catch it and how many private things I can publish.

For example, in one of my stupidest posts I wrote that "the term of the week is inwalidacja".


The job

There are two most important factors when you’re making a decision of choosing an employer:
  • who is the smartest in the room (you shouldn’t choose the job if you are the one)
  • how far is to the kettle (the closer, the better)
I applied to few companies, including Opera and Google. What I can say, is that I liked very much the recruiters at Opera and I have a bad opinion on Google ones. On the other hand Google technical stuff is very good and I have mixed feelings about Opera’s staff. I used an old trick and asked a technical question through the technical director of Opera, but got no answer from staff. The trick stopped working or the communication inside their company really sucks. I also don’t have good feelings about applying to Google. It’s like a hazard. If you will loose once, please, try again. The recruiters don’t know anything apart from the marketing bullshit. Applying for a job there is really a random. You don’t know where you be working, what exactly you will do, with whom you will be working, how much you can get for your work, and how far are you going to be from the kettle (are you feeling lucky enough to apply there?). I’m rather immune to marketing talks and I have really no idea how it’s inside Google (ie: where the kettles are). One more thing, I heard that people inside the Microsoft were relocating, but never heard a story about relocating inside Google (except from the management).

All of my Google pens are broken, Opera pen is still in perfect condition.

I should also write a word about a Flumotion, very nice company from Barcelona. They are a very open-source friendly company and they have extremely interesting technology. They are becoming a bit too corporative in my opinion. On the other hand I really love their clear and stable business model.


The results

I learned a lot of things while writing this blog. First, I improved my writing skills, though I still have a lot to learn. Blogging gave me huge motivation to finish projects, to sort my ideas, to document my interests.

Some posts were written especially to gain attention. Other posts were talking about my broken software and gained popularity without the intention.

The blog really helped me to document my things. For example I’m still interested in a crazy idea of implementing mutexes based on strace.


I spend really a lot of time writing posts here, but it was not a wasted time. I always thought about it as an investment, without really knowing in what I’m investing.

I’m especially proud about the keywords that are pushing people towards my blog. I never wanted to specialize in a specific sector of IT, but I never thought I would get so wide audience. Here are the some popular keywords that linked towards my blog: popcnt (of course), python libevent, google app engine ssl (hey, Google, people do need ssl for GAE!), bidirectional search, msg_oob, gcc extensions, python process name, _mm_stream_si32, django comet, libevent example, linkedin graph, pcap example, nmap nse, python pthread, 8gb ram 64 bit, epoll, inwalidacja and (my favorite) concurrent programming.



Lshift office
The job #2

Recently I got a good job at Lshift. It’s hard to say how important the blog was in getting this job, but for sure it had an impact.

I’m still rather young, so it’s hard for me to make a valuable comparison how good Lshift is, but from what I’ve seen it seems really promising. In the end, Lshift is also an assembler operation, just like Popcnt. And I have a desk not so far from the kettle.



Cisco NSLU2, Slugs, used for testing the RabbitMQ at LShift
The future

I don’t know if I’m still going to have a lot of things to write about. Probably some of my blogging will go to Lshift’s blog. But it’s too soon to say how much.


The conclusion

If you ever thought about writing a blog, just do it. Register some stupid name at blogspot and think of better domain later. Start with anything, thoughts, ideas, stuff you’re working at (you’ll have an unique opportunity to piss up your boss).

I have no idea if I really gained a success, time will tell. I got a job and relocated, that’s it, nothing special. But this is what I wanted to achieve.




*
Code snippet, 22 months:
>>> datetime.datetime.now()-dateutil.relativedelta.relativedelta(months=22)
datetime.datetime(2007, 1, 2)


2008-09-09

Innovation is illegal

New, interesting technologies on the web are often criticized, sued and sometimes even ruined by the court rulings. There are a lot of lawsuits on new technologies.

Let's bring a few important technologies that were(are?) considered illegal by some people:


Don't forget about bad companies that created Iphone, Chrome and Earth. Those companies should be banned from creating new software! They should be like Microsoft and produce only upgrades. Oh, sorry, Vista also had problems.

By definition, innovation is changing the status quo. Someone is making money on it, others are out of business.

Innovation is often on the edge of the law. The law is adopted afterwards.

In my opinion most of interesting, innovative, technologies on the web can be accused of breaking copyright or patent laws. Accept it and get a good lawyer on your next startup.

And remember, in this game the last man standing wins.


2008-07-11

Don't you need an employee?

(image stolen from that guy, he's also looking for a job)

I’m currently looking for a job.

What job I’m looking for? I have no idea. I did some things in my life, but that doesn’t mean I want to do them again. Most people think: “well, you’re a python hacker, so here is a python job for you!”. That’s just wrong. I want new challenges, I want to learn.

There are probably a lot of things that I could do and have fun. Obviously I don’t know things I haven’t worked on, so I have no idea they are fun or not. Here are the things I know I’d like to do:
  • I’d love to create a new asynchronous library. Libevent, which is industrial standard now, sucks in my opinion. It would be great to develop something new, which would be better than both libevent and nsock but take the advantages from both. Main features:
  • I'd like to finish my libevent based asynchronous server for Django. Fortunately Chris Stawarz thought about this idea and created specifications.
  • It would be great to finish my COMET framework for Google App Engine.
  • Here are some of my ideas, I enjoy them.
  • I always wanted to learn Erlang. I’d love to learn basic programming in MXML/Flash/Flex (but not too much and I'm not a graphics designer)

My profile at LinkedIn is a bit outdated, but on demand I can send my up-to-date CV. You can contact me using LinkedIn or write me using Google Talk widget (the white thing in the right panel of the blog).


2008-07-03

Ideas are free

Ideas are free, so here’s the list of mine (previous ideas here).


I still think that the next big thing is an open social network, so that anyone can write an extension to it. Something like Facebook api, but hosted on a provider side. That’s why I believe in GAE. Open and easily extendable social network is the web3.0 for me.


The new idea is to create a Reddit tracker. When you submit something to reddit/dig you’re probably interested who up/downvoted, when it was seen on the front page. I believe that more detailed statistics can show very interesting results. For example maybe tutorials are on the front page for few hours, and than downvoted rapidly. I think that more community news (like Django stuff) is being upvoted smoother. Aren’t you interested what keywords are more popular? Of course except for erlang or lisp keywords. Or maybe your next top 10 whatever news just have to be popular because of the unique title?


Just another idea is to sell/give away hardware, that will measure current meteo conditions. I’d like to have current temperature and wind screen on my computer. The point is of course to collect the meteo data in a central point and create weather forecasts based on this data. Currently forecasts are based on low number of high quality stations. The idea is to create forecasts based on high number of low quality data. I see the computing challenge in collecting the huge amount of data.


Yet another idea, is to create web testing framework on the web. Maybe just create something like Sahi in your browser. That’ll make easier to create tests for your webapp.



2008-03-21

Web applications? Think again.

Some time ago I proved that writing comet applications can be very easy.

Now I think, I can put almost anything online. I created chat, I have working proof of concept of ytalk-like web application. I'm thinking about putting Python interpreter online. These are rather standard web applications, someone did it before. What's the next step of "evolution" after comet?

Ideas are free, so I can speak about it, right?

The simplest way of getting new ideas for web startups is to select tool you're working with, and put it online (for example Gmail, Writely, Del.icio.us).

But wait, using comet I can do more than that. I can turn browser to a frontend to any application. Maybe create universal layer for visualization applications. They tried to create it: GWT, XUL. But we don't have to create new visualization layer, we can use existing one and put in on the web.

I believe it's possible to create X11 server online. You will run applications on the remote machine, connect them to X11 tcp port on the server, and view it with the browser. Imagine X11 desktop in your browser. Tabs could be virtual desktops, in one tab you could have multiple application windows. You could even stream bitmaps by emulating overlay mode using flash streaming.

That would be fun.

Advantages of creating web based X server:

  • compatible with standard motif/kde/x11 applications
  • you have desktop application? I can easily put it on the web
  • that would be "the ultimate web application" :P
  • if it works, this could be a new "standard" of writing web apps
Disadvantages:
  • forget about Beryl/Aero (on the other hand we have OpenGL in flash)
  • not so easy to implement, we need to create full implementation of X11 server
  • could use quite a lot of resources (cpu+ram), what about scalability?
  • cross browser compatibility is hard
  • 99% of users on the web doesn't know what X11 is - not compatible with Windows
  • latency is an issue, forget about "online gaming" this way


What's the next step of "evolution" after this?