Posts

Showing posts with the label git

Facebook and PHP

There is a common mistake about "If everybody use it, so I also have to use it - millions of people can't be wrong". Apparently, they can, and huge codebase, support and knowledge mean nothing, otherwise we would still use Fortran, Cobol, Basic and other almost died monsters. Also there is an another common mistake about "If big corporation use it, I also have to use it". It's very doubtful, almost always decision are made in hurry and/or by wrong people and/or without serious consideration. And after some period of time, it's difficult to nullify previous decision because it would require huge efforts. Good example - Facebook. Let me quote the presentation  HipHop for PHP Tech Tasting : PHP is problematic for Facebook: High CPU usage High memory usage Reuse of PHP logic in other systems Extensions are hard to write for most PHP developers But huge codebase, strange affection towards PHP (in what universe "loose typing and universal ar...

My FOSS projects

Updated list of the projects I'm working on: Mail Dispatcher (role: admin, platform: Python/PyGTK) - A tool for dispatching (basically, deleting) email messages on POP3 server via Plain or SSL connection with advanced filtering capabilities. DHCP Explorer (role: admin, platform: Python) - A console cross-platform tool for locating all available DHCP servers. sdict2db (role: admin, platform: C#/WinForms) - Parser for SDict-based format dictionaries with ability to save in a SQL server (with creating table, index and filling data) and in a text file (SDict text format). DNN Dictionary (role: admin, platform: C#/DotNetNuke) - A DotNetNuke module for translating texts using SDict-based (http://sdict.ru/en/) dictionaries. It works using AJAX mechanism so there is no pages reloading during translating. Geek Workspace (role: admin, platform: Python/PyQt4) - Geek Workspace is a desktop environment aimed for developers, scientists, engineers and students. The key point is a progr...

Creating video conference application with GStreamer

Image
GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing. GStreamer is released under the LGPL, so it can be used in commercial applications. The power of GStreamer is in its module infrastructure - you're working with certain "blocks", combine it with "pipes" and got results without any coding (via gst-launch utility). Of course, after playing with gst-launch you can write an application in any language you prefer (GStreamer supports various bindings and due to fact that GStreamer is written in C, I do not see any problems to bind it with an application that is developed in any serious programming language). I do not want to explain GStream basics, but move forward to the blog topic - creating videoconference application. If you want certain tutorial, please take a look to the P...

Git vs Mercurial

Due to latest changes in projects hosting situation (like FTC Sues, Shuts Down N. Calif. Web Hosting Firm , Adobe acts against Flash video stream recorder ) I started thinking about moving on to some DVCS system. Now there are only two serious alternatives: Git and Mercurial . First of all, here are two good articles where these systems are compared: Chosing a distributed VCS for the Python project Analysis of Git and Mercurial In both of these articles Mercurial wins due to: lack of good Git support in Windows system; having Python API. But also in both of these articles it is said that Git has more features and is more powerful than Mercurial. Actually none of the issues above does not concern me personally because I'm not developing in Windows OS now, and I do not require any integration with DVCS. But let me notice that these issues are not so critical right now: there is an awesome TortoiseGit project and it works really good; basically only certain hooks ...