Excellent descriptions of design patterns, antipatterns, refactoring methods and uml :
http://sourcemaking.com/
Here is another one, restricted to design patterns:
http://www.vincehuston.org/dp/
Monday, August 10, 2009
software design
Tuesday, January 20, 2009
mashups
Here are some mashup sites I created in 2007 to experiment with youtube api, flickr api:
flickr: http://foto.web-cafe.ro/
youtube: http://www.cafetv.ro/
blogs/rss/atom: http://web-cafe.ro/
Scrum, XP, Agile
Lots of Scrum, XP, Agile, Lean, TOC, TQM resources:
http://www.scrumlabs.com/
A Free InfoQ book on Scrum and XP:
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
Thursday, April 03, 2008
Wordpress Plugin: Simple Sticky Posts
Plugin features:
Adds simple sticky posts feature to WordPress blogs.
Download:
Simple Sticky Posts 0.1 For WordPress 2.x.x
Installation:
1. Go to 'wp-content/plugins' folder
2. Copy 'simple-sticky-posts.php' to 'wp-content/plugins' folder
3. Activate the 'Simple Sticky Posts' plugin
4. You are ready.
Usage:
1. Open the post to be marked sticky in wordpress editor.
2. Add a Custom Field named 'sticky' and set its value to '1'
3. You are ready.
Screenshots:
available soon.
Demo:
available soon.
Version history:
4/3/2008 - version 0.1 - created
Any bug reports, feature requests are welcome.
Thursday, March 27, 2008
simple bash stuff
Run applications from the linux terminal, as a new process:
> apptorun &
Other linux bash command line tips:
http://www.arachnoid.com/linux/shell_programming.html
Wednesday, April 18, 2007
dev-c++ / wxdev-c++
dev-cpp and wxdev-cpp: the best c++ IDE for open source programming / cross platform programming on windows.
http://www.bloodshed.net/devcpp.html
Has an version for developing wxWidgets based GUI for applications.
http://wxdsgn.sourceforge.net/
Try the check for updates feature, where you can select tons of c++ open source libraries to be reused in your applications.
Other places to find extensions:
http://www.bloodshed.net/dev/devcpp.html
http://devpaks.org/
http://blog.weinachter.com/en
http://sourceforge.net/project/showfiles.php?group_id=94270
Monday, November 06, 2006
stl fstream and macros on vs7
while working with visual studio 2003 / 7, c++, fstream, log files and macros, like the following:
#define LOGMACRO (format_string, ...) log (__FILE__, __LINE__, format_string, __VA_ARGS__)
got some errors:
error C2059: syntax error : '...'
error C2061: syntax error: identifier '_DebugHeapTag'
xdebug(29): _CRTIMP2 void * __cdecl operator new(size_t, const std::_DebugHeapTag_t&, char *, int)
_THROW1(std::bad_alloc); // allocate from the debug CRT heap
the solution was in 4 steps:
1. replacing all stl include files matching the pattern:
#include <string.h>
#include <fstream.h>
with header files without '.h' in their names, ex:
#include <string>
#include <fstream>
2. putting some parantheses around the parameters in the macro def. value, like:
#define LOGMACRO (format_string, ...) log (__FILE__, __LINE__, (format_string), __VA_ARGS__)
3. replacing '...' and '__VA_ARGS__' with a simple parameter. vs7 does not support varargs in macros.
#define LOGMACRO (format_string, args) log (__FILE__, __LINE__, (format_string), (args))
4. putting the fstream include in the last line of stdafx.h, removing from any other location in the source code like below.
#include <fstream>
using namespace std;
In addition to the things described above, here is a nice macro tutorial: http://en.wikipedia.org/wiki/C_preprocessor
Thursday, November 02, 2006
linux command line tips
This is a list of linux commands for common operations.
Here is a list of tar, cpio and rpm command samples.
Monday, September 04, 2006
merge .net assemblies
this is a microsoft tool to merge multiple .net assemblies:
ILMerge
usually there are lots of assemblies in one project and the release looks kind of messy, merging them in to a single file can be very usefull
Thursday, May 25, 2006
cross platform UML design tools
here is a 2005 aug study on existing cross platform UML tools:
http://www.linuxjournal.com/article/8334
discussed tools:
- dia
- poseidon
- magicdraw
Wednesday, April 26, 2006
google summer of code 2006
google summer of code is starting again>
http://code.google.com/summerofcode.html
Friday, March 31, 2006
documenting the code
A few useful links to source code documentation tools:
doxygen quick tutorial
Kings Tools - a set of useful tools for writing and documenting code (incorporates doxygen). Visual Studio .NET only.
DoxyS - an advanced documentation tool - branched from doxygen
more of them:
here
Friday, March 17, 2006
web API samples
flickr API:
http://www.flickr.com/services/api/
google API:
http://www.google.com/apis/
amazon API:
http://www.amazon.com/gp/brows...5361&
w3c web API:
http://www.w3.org/2006/webapi/
list of web APISs:
http://www.programmableweb.com/apis
Tuesday, March 14, 2006
english words
tenet - "Anyone insterested in learning UML must be familiar with the underlying tenet of object/oriented problem solving"
Tuesday, February 14, 2006
testing related resources:
theory
"testing reflections" blog
http://www.testingreflections.com/
Bug Tracking Guidelines
http://bug-tracking-guidelines.com/
Bug triage policy
Here
Microsoft's Bouncing Zero Bugs
"Bug Links" blog
http://buglinks.org/
bugtracker software:
BugTracker.NET
http://btnet.sourceforge.net/
Mantis Bug Tracker
http://www.mantisbt.org/
Flyspray
http://flyspray.rocks.cc/
Bugzilla
http://www.bugzilla.org/
trac
http://www.edgewall.com/trac/
AceProject
http://www.aceproject.com/
Open Directory - Bug Tracking Software
Open Source Testing
http://opensourcetesting.org/
Wednesday, February 08, 2006
livavformat and libavcodec
here is a tutorial on using libavcodec (and libavformat)
libavformat does the demux stuff, libavcodec the video and audio codec work.
libavcodec on wiki (implemented codecs and other stuff)
video processing tools
virtual dub:
http://www.virtualdub.org/
nundub (a 'hacked' version of virtual dub):
http://ndub.sourceforge.net/
http://nickyguides.digital-digest.com/nandub.htm
PiTiVi (linux):
http://pitivi.sourceforge.net/
Creative Commons
Creative Commons is a nonprofit organization that offers flexible copyright licenses for creative works.
can be found here
Tuesday, February 07, 2006
gstreamer issues
here is a tutorial how to compile gstreamer on windows
here is the homepage of gstreamer
here is the cvs repository for gstreamer
download glib
the gstreamer's story
here is pitivi, a video playback and editing tool based on gstreamer
Thursday, February 02, 2006
design patterns - collection of resources

link - Design Patterns - The Sacred Elements of the Faith Diagramm
Wednesday, February 01, 2006
SMMP - shared memory processors and code optimization
Here is a CodeProject article about writing code that can use the power of SMMP.
ms windows - memory allocation
Here is the link to microsoft memory allocation related functions.
here are some undocumented functions described in a CodeProject article.
--
here is a memory pool implementation - CodeProject article
Monday, January 30, 2006
c++ typecasting
Here you can find a c++ typecasting tutorial.
It is part of a great c++ programming tutorial - here
for dynamic_casting you need to enable the Run-Time Type Information (RTTI)
in visual studio: project properties - c/c++ - language - Enable Run-Time Type Info
Monday, January 16, 2006
Friday, January 13, 2006
Thursday, January 12, 2006
some more software developer or IT blogs
andy jarret blog - mainly web development related
the { buckblogs :here } assorted_ramblings.by JamisBuck
an other "adventurous blog" :) - "Fabulous Adventures In Coding" blog
http://blogs.msdn.com/ericlippert/default.aspx
Eric.Weblog()
http://software.ericsink.com/index.html
bob congdon
http://www.bobcongdon.net/blog/
sönke rohde - flash, eclipse and others
http://soenkerohde.com/
Tuesday, January 10, 2006
SIG33 and the other POSIX RT (runtime) signals
Here is a tutorial about POSIX signals.
from an other source:
if you get "Program received signal SIG35, Real-time event 35.", this is due to a directory changing rather than a bug. You can disable these events and then c(ontinue) (the signal number may vary):
(gdb) handle SIG33 noprint nostop
(gdb) c
there is also mentioned strace :
$ strace -p PID
or
$ strace -p PID -t
other 'tools' for debug and tracing:
- valgrind
- debug for linux
Monday, January 09, 2006
gcc, dlopen and cdecl
Here is a small tutorial about loading .dll-s (.so-s) under linux and the solution to the mangling problem.
shortly : to make available your function written in c++ for dlopen use extern "C" before the function header :
extern "C" void hello() {
std::cout << "hello" << '\n';
}
Develop Desktop GUI Apps with PHP-GTK, the Standalone PHP
Here is an article about writing desktop applications using PHP language and the PHP-GTK package.
Friday, January 06, 2006
linux boot and startup & other stuff
Here and here are some tutorials on the linux boot sequence.
- to run custom scripts/applications at startup, place them in the /etc/rc.d/rc.local (at least for Fedora Linux Core 4).
- to run customs scripts/apps at login, place the commands in ~/.profile
other linux:
controlling "jobs"
tips and tricks
Thursday, January 05, 2006
gcc personality problems
gcc - the c compiler - has a pretty funny error, when you try to compile a non c file with it:
undefined reference to `__gxx_personality_v0'
one has to rely on the "personality" of g++ to keep the intergrity of the gcc self-esteem.
linux environment, startup settings
Here is a tutorial on linux environment, shell selection and startup settings
Wednesday, January 04, 2006
simple, server-less database
Here is the SQLite home page, a library for working with very simple database files, using sql queries. It is a self-contained, embeddable, zero-configuration SQL database engine.
Tuesday, January 03, 2006
linux - Bourne / awk shell scripting
Here is a tutorial on Bourne shell scripting
here is a grep tutorial
here is a detailed list of Csh scripting language problems
Thursday, December 29, 2005
Wednesday, December 21, 2005
linux tutorials
Here is a very nice tutorial about using the autoconf/automake/autoheader tools under *nix.
Here is a linux system admin tutorial.
Tuesday, December 20, 2005
mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client
PHP can give you this error when trying to connect to an mysql database.
To solve this problem run the mySql command line client and enter the following command:
SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('password');
example:
my user: is peter, my password: something and my host: localhost
the command will be:
SET PASSWORD FOR peter@localhost = OLD_PASSWORD('something');"
Monday, December 19, 2005
spam blog?
well.. i just got the 'word verification' for each new post and any change i make to my posts - probably because i have tested flock to create blogs -
well i very dislike this stuff. i think i will just move to an other blogger site.
user breakpoint - Breakpoint exceptions from the heap
New programmers sometimes ask why the debugger stopped at a ‘userbreakpoint’ exception in their program. The exception dialog will comeup and say something like:
Unhandled exception at 0x77f75a58 in CoruptHeap.exe: User breakpoint.
The callstack might be something like:
ntdll.dll!77f75a58()
ntdll.dll!77f9cb5e()
ntdll.dll!77f82c95()
ntdll.dll!77f9cf55()
ntdll.dll!77f8c366()
kernel32.dll!77e75b6c()
kernel32.dll!77e6c75a()
Or if you have symbols:
ntdll.dll!_DbgBreakPoint@0()
ntdll.dll!RtlpBreakPointHeap(void *)
ntdll.dll!RtlpValidateHeapEntry(_HEAP *, _HEAP_ENTRY *, char *)
ntdll.dll!RtlDebugFreeHeap(void *, unsigned long, void *)
ntdll.dll!RtlFreeHeapSlowly(void *, unsigned long, void *)
ntdll.dll!RtlFreeHeap(void *, unsigned long, void *)
the above text was taken from the following page:
http://blogs.msdn.com/greggm/default.aspx
btw ; great c++ developer blog.
you entar in the mySql command line client and enter the following command SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('password');
example:
my user: is peter, my password: something and my host: localhost
the command will be:
Here is a document on debugging linux aps.
electric fence - debug tool for linux: here and here
Lately is known as duma
Sunday, December 18, 2005
howto setup proxy under linux
export http_proxy="http://username:passwd@yourproxy.company.com:portnumber/"
Friday, December 16, 2005
Wednesday, December 14, 2005
Monday, December 12, 2005
More Ajax resources
MagicAjax - ajax for asp.net
here is the homepage of a new ajax framework written for asp.net
Ajax Patterns
http://ajaxpatterns.org/Main_Page
fooling fingerprint readers
here is an interesting article about how fingerprint readers can be fooled by easy to make fingerprint imitations
Friday, December 09, 2005
downloadable blog engines
http://www.nexcess.net/hosting/support/tutorials/
b2 0.6.2.2 - Classy News/Weblog Tool
b2evolution 0.8.9
http://b2evolution.net/
Multilingual Multiuser Multi-Blog Engine
bBlog 0.7.3
Blogging System Written in PHP
bMachine 2.8
Blog/Journal/Article Publishing System
CuteNews 1.3.1
Simple News Updating Script
Fusion News 3.6.1
Unique, Fast, Powerful News Management
Geeklog 1.3.9
Weblog/Web Portal Software
Greymatter 1.3
Weblog/Journal Software
Nucleus 2.5 Beta
State-of-the-Art Weblog Publishing System
pLog 0.3.1 Beta 1
Open-Source Blogging Software
pMachine 2.3
Online Publishing's Most Flexible, Creative Software
Serendipity 0.6 RC 1
PHP Weblog/Blog Software
Simplog 0.9
Powerful, Yet Simple Web Log
WordPress 1.0.2
http://www.wordpress.com/
State-of-the-Art Publishing Platform
disable internet on windows desktop
a very simple way to disable the internet connection
http://www.winguides.com/registry/display.php/1288/
Open your registry and find the key below.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
Change the value of "ProxyEnable" and set it to "1". Change the value of "ProxyServer" and set it to an IP address and port that is invalid on your network such as "10.0.0.1:5555" (i.e. "IP:Port").
By changing these settings Internet access will be disabled for any applications that rely of the Microsoft proxy server information such as Internet Explorer, Microsoft Office, Opera browser.
To stop users from modifying the proxy settings add these restrictions to disable changes to the Internet configuration.
Find or create the key below:
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
Create two DWORD values named "Connection Settings" and "Connwiz Admin Lock" and set them both to "1".
To remove the restriction, set the proxy settings back to their original values and delete the policy values.
Thursday, December 08, 2005
macedonia and the technical innovations
macedonia, the near future high-tech and innovation paradise in europe?
first : Nationwide Wi-Fi for Macedonia
http://www.wi-fiplanet.com/news/article.php/3565381
second : ubuntu linux will be used in schools
http://slashdot.org/article.pl?sid=05/12/05/191205 />
flock reloaded
The other issue to be discussed would be the VCs, the boom of venture capital investments in Web 2.0 implementations. This is an interesting blog about this subject.
And here is the O'Reilly Radar blog, from the very "heads" of O'Reilly publishing.
slashdot effect
The Slashdot effect is a particular example of how incoming links from a popular website (ex. http://www.slashdot.com) can cause a smaller site to slow down or even temporarily close due to the increased traffic.
Wednesday, December 07, 2005
cheetsheets for web developers
here is a list of cheetsheets for mainly web developer and linux related software development issues.
technorati
Trendy people assign their blog entries to technorati tags.
there is a blog search and popular blog page too.
Tuesday, December 06, 2005
flock browser
here you can find the flock browser, under development yet.
So far, Flock works with Del.icio.us and Flickr,and allows you to post to your blog from the browser (blogger, wordpress). Supports tagging, advanced feed reader features.
Flock works on Windows, Mac, and Linux.
They are a really open development team. The whole team is blogging and sharing the thoughts online, in their blog. Great!
google blogscoped
http://blog.outer-court.com/
blog about google
http://blog.outer-court.com/files/google-history.html
google history / text art
WTL - windows template library
Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more.
WTL 7.5 and newer:
http://wtl.sourceforge.net/
Microsoft webpage:
WTL 7.0 download on msdn
WTL 7.1 download on msdn
WTL 7.1 release notes
WTL 7.5 download on msdn
Microsoft WTL Licensing
Microsoft development forums: here
cvs for windows
The WinCVS GUI:
http://www.wincvs.org/
for some features needs python:
http://www.python.org/
maybe you would consider using:
http://www.lucatec.de/tools/proxydiff-en.shtml
to select the diff tool used for wincvs.
or CVS SCC Proxy - add plugins for VS, BC++:
http://www.pushok.com/soft_cvs_proxy.php
Tortoise CVS - a windows explorer extension:
http://www.tortoisecvs.org/
CvsIn - an extension for Visual Studio:
http://www.geocities.com/kaczoroj/CvsIn/
Monday, December 05, 2005
PHP safe mode & gallery2
Some components need Safe Mode disabled for PHP:
Solution:
http://www.webhostgear.com/166.html
Customizing PHP Safe Mode
We’ll guide you through using PHP safe_mode and how-to enable it and to customize it for certain sites on your server. When using PHP as an Apache module, you can also change the configuration settings using directives in Apache configuration files (e.g. httpd.conf) and .htaccess files. PHP safe_mode is very important to in terms of server security because it restricts and disables the dangerous functions in PHP from the scripts like PHP Shell that can otherwise cause damages to your server and client sites.
Using PHP Safe_Mode
First of all we’ll take care of the files that you will edit, and make sure to have copy or backup .
Activate Safe Mode Globally
It is very simple to active safe mode on the entire server. All you need to do is just edit the php.ini file. If you can’t find where php.ini is or have multiple copies on your server the best thing to do is run phpinfo() to find it. Open up Notepad or your favorite HTML editor and paste in the following from this file.
http://www.webhostgear.com/phpinfo.phps
Save it as phpinfo.php and upload it to a website that you want to test on your server. Type in the URL and you’ll get a PHP configuration page telling you exactly where php.ini is located and all kinds of other useful information about the sites and servers configuration settings.
A few lines down you’ll see this:
Configuration File (php.ini) Path: /usr/local/Zend/etc/php.ini
Now that we know the location of php.ini we can proceed to edit it.
1) Open up php.ini in your shell with your favorite editing program.
pico /path to php/php.ini (replace with the path to your php.ini file)
2) Find the following line: safe_mode
Ctrl + W and type in: safe_mode
3) Turning safe mode on or off.
safe_mode = Off
You may active it by or turn it off by changing it to either On OR Off.
safe_mode = On
Good! Now save the file by ctrl + x then y
4) Restart the Apache web server by
/etc/init.d/httpd restart
Now safe_mode is active on all your server accounts.
Activate Safe Mode Using Per Site Basis
Now if you have scripts that require safe mode off like Modernbill or any script doesn't work well with safe_mode on what you will do? Disable safe_mode on the entire server just for these scripts? This isn’t very practical when you can disable php safe mode per user account/site basis.
Let’s do it!
1) SSH to your server and login as root.
2) Then find the httpd.conf, normally it’s in /etc/httpd/conf/ or /usr/local/apache/conf/
If it’s not in either of those places try search for it: locate httpd.conf
3) Then find the site you wish to edit.
Ctrl+W and type in the domain name
You should see something like this
ServerAlias www.domain.net domain.net
ServerAdmin webmaster@domain.net
DocumentRoot /home/domain/public_html
BytesLog domlogs/domain.net-bytes_log
ServerName www.domain.net
User domain
Group domain
CustomLog domlogs/domain.net combined
ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/
4) Now add this line:
php_admin_flag safe_mode Off
We have also found that the following works as well if the above does not but DO NOT USE BOTH, pick one!
php_admin_value safe_mode 0
to be like this :
ServerAlias www.domain.net domain.net
ServerAdmin webmaster@domain.net
DocumentRoot /home/domain/public_html
php_admin_flag safe_mode Off
BytesLog domlogs/domain.net-bytes_log
ServerName www.domain.net
User domain
Group domain
CustomLog domlogs/domain.net combined
ScriptAlias /cgi-bin/ /home/domain/public_html/cgi-bin/
5) Good :) Now save the changes.
Ctrl + X then Y
6) Restart the Apache web server by
/etc/init.d/httpd restart
Final Words
PHP Safe mode should be on by default on all your servers for added security. However there are some scripts that are not compatible with it on so you have to make an exception to some client sites. Make sure you know why they’re requesting to have it turned off because it is much more secure for everyone to have it on.
If you run into trouble after editing httpd.conf you can run the apachectl configtest
in shell. This will test the Apache configuration for errors and report them back to you if you can’t start it, very handy indeed!
More PHP customizing commands here: http://php.us.themoes.org/manual/en/configuration.changes.php
Contributed by ReRoot, edited by Ramprage
Global filesystems and implementations
wiki on this subject:
http://en.wikipedia.org/wiki/Global_filesystem
AFS:
http://en.wikipedia.org/wiki/Andrew_file_system
DFS:
http://en.wikipedia.org/wiki/Dfs
Coda:
http://en.wikipedia.org/wiki/Coda_%28file_system%29
http://linuxplanet.com/linuxplanet/tutorials/4481/1/
http://www.mcc.ac.uk/~zlsiial/coda/
Repository for Coda:
http://www.konvalo.org/
Inter-mezzo, integrated in linux distributions:
http://www.inter-mezzo.org
libtorrent reloaded
here is the original homepage
here is the documentation page
for compiling one needs:
Boost Build System V2
the following description is taken from here:
LibTorrent description Download
LibTorrent is a BitTorrent library written in C++ for Unix. It is designed to avoid the redundant buffers and data copying that most (all?) other BitTorrent implementations suffer from.
The library is single-threaded and the client handles the select loop. An interactive ncurses client is included as an example.
Here are some key features of "LibTorrent":
· The client has full control over the polling of sockets.
· Sigc++ signals makes i easy for the client to react to events.
· Fast resume which checks the file modification time.
Direct reading and writing from network to mmap'ed files:
· Avoids duplication of data where both the application and the kernel has a copy of the file chunk.
· Unused chunks get thrown out or written to disk instead of the swap.
· Kernel handles caching of the file.
File hash check:
· Uses the same thread.
· Client can control the rate. (Will be improved)
· Non-blocking and preload to memory with the mincore and madvise system calls.
File handler:
· Fine-grained use of file read/write permissions, allows seeding of read-only files.
· Allows torrents with unlimited number of files.
· Opens closed files when mapping chunks to memory, with graceful error handling.
· Support for files larger than 2 GB.
· Different download priorities for files in the torrent.
· Multi-tracker support.
· No dependency on any specific HTTP library, the client implements a wrapper class.
· Dynamic request pipe size.
· Upload and download throttle.
· And much more i haven't bothered mentioning. (nor implementing)
Requirements:
· libsigc++ 2.0
What's New in This Release:
· Replaced most of the sigc++ slots used internally in libtorrent with my own lightweight functor. This saves some 600kb in debugging symbols.
· Various bug fixes.
dependency hell
A small introduction to linux dependency hell:
http://en.wikipedia.org/wiki/Dependency_hell
Saturday, December 03, 2005
Windows XP Tablet PC programming - first steps
Two of the most innovative features of the Tablet PC are the pen and microphone.
Much of the Tablet PC API is remarkably easy. With just a few lines of code you can attach an InkOverlay object to any Windows Forms control and implement functionality related to handwriting or voice recognition.
More details: here
For more accurate control over the features of Tablet PC there is an other, far more versatile API, the Real-Time Stylus.
More details: here
how to write a popular blog ? :)
I have created this blog to keep the track of some of the problems I had to solve and the solutions I found. So you don't have to learn the same things over and over, just look back in your notes.
Unfortunately google's blogger does not have categories for entries (yet) like other bloggers. It would make my task a lot easier.
I just wondered how other software developers do write their blogs. What makes a blog popular or accessible, readable.
For what reason?:) Because as I finally decided yesterday to publish the blog, in a few hours lots of people were interested in the blog, but.. they just checked the first page and got bored of the content. :) Maybe the name of the blog was interesting, but the content very boring. :)
So I will try to create a good combination of issues of possibble public interest and technical details.
A similarly challenging issue would be how the content will get to the potencial readers? Well.. time will tell.
The most popular blogs worldwide:
http://www.technorati.com/pop/blogs/
Friday, December 02, 2005
blog API's
There are several API-s to retrieve, add, delete, ... data from / to / on blog servers.
An overview:
http://www.xml.com/pub/a/2003/10/15/dive.html
LiveJournal API:
http://livejournal.com/doc/server/ljp.csp.flat.protocol.html
Blogger API:
http://www.blogger.com/developers/api/1_docs/
MetaWeblogAPI:
http://www.xmlrpc.com/metaWeblogApi
Atom API:
http://code.blogger.com/archives/atom-docs.html
http://bitworking.org/projects/atom/draft-gregorio-09.html
acronyms
"tbd" means "to be determined"; that is, we are still discussing the best values for this entry
"n/d" means no data reported for this field name
POC - Proof of Concept - a small project sometimes done at no charge to validate a technology.
aka - also known as - author pseudonyms, aliases, nicknames.
UPnP
Universal Plug and Play
The goals of UPnP are to allow devices to connect seamlessly and to simplify the implementation of networks in the home and corporate environments.
the very idea:
http://en.wikipedia.org/wiki/UPNP
architecture:
http://www.upnp.org/download/UPnPDA10_20000613.htm
bittorrent ...
Creator of bittorrent: Bram Cohen
http://www.bitconjurer.org/
http://en.wikipedia.org/wiki/Bram_Cohen
and his..
Getting Over Bad Habits
http://advogato.org/article/225.html
well he is pretty stressed guy.:)
here is a great article on bittorrent and its impact on the online world:
capturing video
directx 9.0 sdk:
download directx 9.0 sdk
firewire - IEEE 1394:
IEEE 1394 driver and API for Windows 98 SE -> Win XP
the 1394 driver driver source code -> windows
firewire for linux
video for linux resources
Capture video on windows:
Capture Live Video from webcam, s-video, composite video, tv-tuner
Capture and save in the same time
winmerge & total commander
integrate winmerge with total commander:
"X:\Program Files\WinMerge\WinMergeU.exe"
/ub "%P\%N" "%T\%M"
plugin architecture
video plugins architecture: gstreamer:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/
unhandled SIGNAL -s stop the application
#for sockets SIGPIPE is fired
# MSG_NOSIGNAL can be passed for sockets send cmd as param
# you can use setsig with SIG_IGN too:
signal(SIGPIPE, SIG_IGN);
use gdb, makefiles, g++
use gdb for debugging applications:
1. #first put debug info in Makefile files:
LDFLAGS = -g -W1
CFLAGS = -g
2. #run make
3.
gdb appname
#put breakpoints with:
break [FUNC_NAME]
# [FUNC_NAME] is the function name
4. r [ARGS]
#where ARGS are the args needed for the app
5.
#s for steps
#n for next line of code
#c for run to next breakpoint
#detach to leave program running
#kill to stop app
6. to kill an app being debugged:
ps -C appname
kill -9 apppid
#after that close parent app - or type 'exit' in the parent terminal window.
--------------
Here is the KDbg home page.
KDbg = debugger for KDE, based on gdb.
----
gdb tutorials:
Debugging Under Unix: gdb Tutorial
Debugging with gdb
gnu make tutorial:
GNU make
g++ tutorial
working with svn
http://svnbook.red-bean.com/
to get a previous committed version :
1.
svn list -v
#to list the files and see versions
2.
update -r [VERSION_NUM]
#where istead of [VERSION_NUM] comes the desired version number
svn commit
svn add
svn delete
use tortoisesvn under windows
use subversion under fedora linux
SPL - cross platform simple plugin layer (framework)
a simple plugin layer sdk
http://www.codeguru.com/Cpp/Cpp/cpp_mfc/portability/article.php/c7159
directshow filters architecture
generic issues:
http://www.cs.technion.ac.il/Labs/Isl/DirectShow/filters.htm
IBaseFilter
ibasefilterinterface.asp
"Transport" models between filters:
http://www.gdcl.co.uk/data.htm
bittorent protocol specification
official version:
http://www.bittorrent.com/protocol.html
other:
http://wiki.theory.org/BitTorrentSpecification
http://en.wikipedia.org/wiki/Bittorrent
Monday, November 28, 2005
Thursday, November 24, 2005
Monday, November 21, 2005
directx compilation problems
directx compilation problem with MFC:
error LNK2019: unresolved external symbol "int __stdcall lstrlenWInternal(wchar_t const *)" (?lstrlenWInternal@@YGHPB_W@Z) referenced in function "public: ....
Solution:
The definition of lstrlenW is in
Putting #undef lstrlenW after the include solves the problem.
Monday, November 14, 2005
single app instance
allow only running of a single intance of an application:
- win: CreateMutex with name
- linux: sysv, futex
http://people.redhat.com/~drepper/futex.pdf
Tuesday, November 08, 2005
Monday, November 07, 2005
webdav plugin - total commander
webdav plugin - total commander:
http://www.totalcmd.net/plugring/webdav.html
sftp, bittorent, perl and others
ActivePerl - perl for windows:
http://activestate.com/Products/Download/Download.plex?id=ActivePerl
libtorrent - portable bittorent library:
http://sourceforge.net/projects/libtorrent
http://libtorrent.rakshasa.no/
libssh2 - portable ssh and sftp lib:
http://sourceforge.net/projects/libssh2/
doc!! -> http://www.libssh2.org/doc/
winsshd - windows ssh server:
http://www.bitvise.com/download-area.html