That is awesome, thanks for sharing. I'm very interested, as I'm sure many others are, to hear about the tools you've used and the development process. Great app!
Well, it takes 2 users to make 1 friendship, so it would be half of that. Plus that's the number of daily users, the total number of users is like double. So the average friends per user must be around 65.
I get at most 6 hours on weekdays, and even that's not continuous (I have a baby). On the weekends I do 7-8, if I'm lucky - babies don't know what day it is :)
I've been used to getting very little sleep since I was a kid, so I don't feel like it's affecting my work. I typically work-out before work, so that definitely helps starting my day off on a positive note.
Congrats on the milestone to those involved - it's great to have something like this available to everyone for free.
On a side note, and not to take anything away from the H-team, I'm pretty curious on how it compares to Google's GFS and the rest of their distributed computing stack (MR, Chubby, etc.). It would be sweet if Google released some or all of these some day.
Definitely; IPython is great at making Python more self-documenting, with completion, the ? help function, and the ability to embed an interpreter anywhere in your program.
ipython has known issues running certain code. It is not guaranteed to function like a normal interpreter. If you insist on a fancy interpreter, use bpython.
References last far longer than they should, because the interpreter doesn't always let go of references to returned results.
There used to be a problem with certain statements being executed as expressions and printed, but I'm told that's been fixed.
The encoding is always Latin-1. Always. Hope you don't use Unicode literals.
It's not Python. It's Python plus other things. That's always a Bad Thing because it precludes taking results from the interpreter and using them in plain Python contexts. web2py also has this problem.
Up-vote, because it's a great idea for any language/tool out there. I happen to know ruby, but taking the first steps in anything is difficult, and usually involves looking up a lot of the things you already know from a more familiar place (setting up, using libs, etc). I'd really love to see a community resource like this - perhaps I'll start working on one :)
I agree - I've been in a similar situation where I inherited a huge chunk of Python code that worked great and played a very significant role in our product's core, but was horrific to understand or maintain (in Python, of all things!).
I stuck with it for the past 1.5 years and finally got the green light to rewrite it from scratch. Because I worked so hard to figure out what the hell was going on for so long, the actual coding from scratch took less than a month. Bottom line - if you're being paid well, like the environment and think the company has potential and that you have room to grow there, give it some time before you decide to quit.
I had a similar issue - the sensation that I had nothing to "show" for all the time invested. This will kill you. It's really important to do a few things at this point:
- Catalogue what you've actually accomplished in terms of stuff created / learned / produced
- Hack it all up into "stuff I will use", "stuff I will reference" and "stuff I will archive"
- Set some hard lines and hard times against deliverables with actual boundaries / units of work - what will you finish, by what date, where does it fit, what's the next stage?
Finally, and the biggest thing for me was: if you can hardline at work, be a professional and produce lots of good stuff on a dealine (assuming you do), you can do that for yourself as well.
Sometimes (as a non-startup type guy) I found it easy to go to work, push past pain barriers, bust serious ass and make some pretty incredible stuff happen, then come home and have a completely different - lazy and shabby - attitude.
As soon as I decided to carry that attitude towards my own goals / projects, it turned a lot of stuff around. I had two or three projects that were half parked for nearly 8 months that I set completion goals for and cleaned up in about 2 months.
Felt great, and made me realise how much you can actually produce when you have a clear idea of what you want to get done.
I'm exactly like what you described in your past. When I'm at work, I am as professional as it gets - deadlines, quality code, testing and all that. However, due to the work environment, I find that at the end of the day I've used up all my positive energy and mental resources to keep myself in line and motivated.
How did you find that extra boost to bust ass in both work and personal projects (if at all)? Right it seems like see-saw between the two.
I'm not quite there yet, in the process of getting there. When all I'm talking about is contract art jobs and there's no dayjob - I'm there! =)
- Mindfulness, oddly enough. I always need to stop, notice that I'm getting tired or distracted (or burning up way too much energy on something), stop, re-evaluate, and go
I notice sometimes I might just be "screwing around" on something (shuffling CSS around, painting bits of a picture that aren't critical), so I'll focus again and do something thats adding value
Especially when you're tired - its easy to futz about doing not much at all while thinking "I'm so busy and productive". It takes effort to mentally stay on task after a day at work
- Cold showers and coffee
- Being more assertive / aggressive at work. I used to burn myself out trying to do everything and anything, and spent a lot of time bashing my head against walls because someone else thought it was of value (and I didn't).
The more confident I get with my freelance jobs, the more risk I'm taking at work. Quiet happy to tell someone that an idea isn't worth pursuing and push back when I've got too much on my plate.
Also, learn to argue (in a professional manner) without feeling like shit about it. Saves a lot of hassle.
- Just doing it. It's cliche, but nothing beats this: take off your work gear, shower, change, prep, shut the fucking browser, turn off the tv, and go.
Sometimes its almost comical what I have to do to break out of habits like idling online or gaming or etc. I will sit and literally yell at myself if I have to, to get myself back on task.
Small post-its work as well, like "get back to work" or "is this really worthwhile and enjoyable?" (that one's stuck to the PS3)
- Remembering that projects are fun. I feel way better about myself after a half hour working out or four hours building time on something than watching TV all night. It turned my mood around quiet a bit too - went from being quiet sullen to very content and positive about stuff.
No worries, your experience will probably be different but it generally starts with the kind of discontent you're experiencing. Just make sure to act on it in a direct and constructive way.
I actually do stuff that's quite similar to what you do. The specifics could be boiled down to plenty of mundane web development with ruby, python, js and mysql... like most people here :)