Google

星期五, 九月 26, 2008

Welcome to the serverless & secure Instant Messenger!

RetroMessenger - Just talk with your friendsThis Instant Messenger is open source, secure and serverless.

  • You need an open source application to keep in touch with your friends? RetroMessenger is a easy to use and simple Instant Messenger to keep all your friends listed in a friendlist and to message them.
  • You want to secure chat based on PGP-keys? All messages to your friends are secure and encrypted, so no third party is listening. You just need to swap with your friend a PGP-Key and you are done. RetroMessenger is encrypted out of the box, that means no difficult installation or extra-downloads for the encryption part is needed.
  • You do not want to send your chats over a server or a registered central server account? RetroMessenger does not need a central server. So the network never will be down or monitored by one central authority sending you adds or "weather notices". With RetroMessenger you are not on anyones "needle", you are only connected to your community.
  • You want to use a messenger designed for a linux/win mobile phone?More and more you have Instant Messaging on you mobile phone, especially windows or open source linux phones like the openmoko or maemo. RetroMessenger is designed with a small tiny gui to fit these needs on mobile phones.
  • You are IT-admin in a company wanting to use a simple server &maintenance free instant messaging solution? RetroMessenger is an easy to admin tool. So as well small/medium companies choose this messenger for the employees to have an real time communication tool without the need to admin or maintain a server.
  • You are wxwidgets developer and think this toolkit should be used on the worldwide first open source serverless wxwidgets messenger? RetroMessenger uses in the first goal a wxwidget gui, as this is cross platform and offers a well design.
  • You are a XUL-Firefox`/Thunderbird Addon Developer and want the serverles secure Messenger as well in the Browser? The sucess of RetroMessenger shows, that already as well in the team there are specialists for a XUL gui as well, to bring in the RetroMessenger in Firefox or Thunderbird as an XPI-Addon.
  • You want to share URL-Links with your friends? Like services like digg or MrWong you can share with your friends Urls and Links in the exciting Messenger Feature: Link Cloud. All Links you enter are shared with your friends - and you and them can even rate them.
  • You want to be part as a user of the RetroMessenger-Community and have questions or ideasWe are a small developer community but very active in helping each other in compiling and getting the messenger running. Ideas, help or questions are always welcome and therefore we have a not-public malinglist, you can join, if you adress to us.

标签:

The quickest way to build wxWidgets GUIs

Anthemion DialogBlocks is a sizer-based resource editor that quickly gets you creating professional-looking dialogs, wizards and frames for deployment on Windows, Linux, Mac or any other supported wxWidgets platform.

标签: ,

星期三, 九月 24, 2008

Enterprise Library 4.0 – May 2008

Summary

The patterns & practices Enterprise Library is a collection of application blocks designed to assist developers with common enterprise development challenges. Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects.

Downloads

Enterprise Library 4.0 – May 2008 (for .NET Framework 3.5 and Visual Studio 2008)

Discussion forum

Discussions for patterns & practices – Enterprise Library

Community

patterns & practices community site

Community Extensions

Enterprise Library Contrib

License

Microsoft Public License (Ms-PL)

Contents

Overview
What’s New
Getting Started
Community
Feedback and Support
Authors and Contributors
Related Titles

Overview

Enterprise Library consists of reusable software components that are designed to assist developers with common enterprise development challenges. It includes a collection of application blocks and a set of core features, such as object generation, configuration, and instrumentation mechanisms. This release of the Enterprise Library includes one new application block, the Unity Application Block, which implements a framework that provides object generation and dependency injection capabilities, plus other new features and enhancements.

Different applications have different requirements, and you will not find that every application block is useful in every application that you build. Before using an application block, you should have a good understanding of your application requirements and of the scenarios that the application block is designed to address.

Enterprise Library 4.0 – May 2008 contains the following application blocks:

  • Caching Application Block. Developers can use this application block to incorporate a cache in their applications. Pluggable cache providers are supported.
  • Cryptography Application Block. Developers can use this application block to incorporate hashing and symmetric encryption in their applications.
  • Data Access Application Block. Developers can use this application block to incorporate standard database functionality in their applications.
  • Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging Application Block. Developers can use this application block to include standard logging functionality in their applications.
  • Policy Injection Application Block. Developers can use this application block to implement interception policies that can be used to streamline the implementation of common features, such as logging, caching, exception handling, and validation, across a system.
  • Security Application Block. Developers can use this application block to incorporate authorization and security caching functionality in their applications.
  • Unity Application Block. Developers can use this application block as a lightweight and extensible dependency injection container with support for constructor, property, and method call injection.
  • Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications.

Enterprise Library also includes a set of core functions, including configuration, instrumentation, and object creation. These functions are used by all other application blocks.

Common Scenarios

Enterprise Library can be useful in a variety of situations:

  • Enterprise Library provides enough functionality to support many common scenarios that enterprise-level applications must address.
  • Enterprise Library can serve as the basis for a custom library. You can take advantage of the extensibility points incorporated in each application block and extend the application block by supplying new providers. You can also modify the source code for the existing application blocks to incorporate new functionality. You can also add new application blocks to Enterprise Library. You can either develop extensions for existing application blocks and new application blocks yourself, or you can use extensions and application blocks developed by others.
  • Enterprise Library is designed so that its application blocks can function independently of each other. You have to add only the application blocks that your application will use; you do not have to add the entire library.
  • Enterprise Library includes the source code and the unit tests for all application blocks. This means you can modify the application blocks to merge into your existing library or you can use parts of the Enterprise Library source code in other application blocks or applications that you build.
  • Enterprise Library includes documentation, QuickStart samples, and source code. Hands-on-labs and webcasts are posted as separate downloads on theEnterprise Library Home page. This means that you can use the library as a tool for learning architectural, design, and coding best practices.

标签: ,

Multiple Thread Progress Bar Control

Introduction

This article presents a control that creates threads and displays the progress and any messages sent from the thread.

Background

Running multiple threads and seeing the status of where they are has been a tricky subject for quite a while. The main thing being that you could not access anything that is being controlled by the main (UI) thread. This includes all parts of the form you are displaying and the properties and variables on it.

The .Net framework 2.0 has helped clear up some of that with the introduction of the BackgroundWorker class. This class allows you to run some code on its own thread. This allows your UI to remain responsive while the code runs.

What It Does

This control can be easily modified to be used to monitor/control batch operations that can be done simultaneously. Some examples:

  • File Transfers
  • Image Processing
  • Directory Processing
  • Screen scraping

Each thread can send its own messages back to the container. The container shows those messages in a grid as the threads are running.

The thread container actually does throttling as well. Before you start the threads, you can set the number of threads you want to run concurrently. I hope to eventually make this property dynamic so that it can be changed on the fly.

What It Does Not Do

This control is designed for items that do not update the UI other than what is already displayed. If you need to render objects and update the screen, you will need to modify the way this works. That may be another article.

How it Works

Each thread is represented in a ThreadView which inherits from UserControl. This ThreadView contains a BackgroundWorker. When the ThreadContainer.Start method is called it creates as many threads as it can (either Concurrent or TotalThreads if it is less than Concurrent). The ThreadViews are docked to the top so that they are all displayed nicely and expand to the width of the ThreadContainer. After creating the new ThreadView and displays it and starts it. As it works it raises its JobEvent event. This passes the message to the container and the ThreadContainer stores it in its DataTable.

Each ThreadView contains a JobCompleted event that notifies the ThreadContainer that it is done.

http://www.codeproject.com/KB/progress/MultiThreadProgressBar.aspx

标签: , , ,

A Lightweight SQL Database for Cloud and Web-Drizzle

The Drizzle project is building a database optimized for Cloud and Net applications. It is being designed for massive concurrency on modern multi-cpu/core architecture. The code is originally derived from MySQL.

The drizzle project is discussed on the drizzle-discuss mailing list. If you want to show your support for the project, or join the mailing list, sign up here:
https://launchpad.net/~drizzle-discuss/

The project is focused on making a database that is:
1) Reliable
2) Fast and scalable on modern architecture
3) Simply design for ease of installation and management

标签: ,

Fun Pidgin-Carrier

Carrier Instant Messenger is a GUI fork of the popular open source client Pidgin which allows instant messaging with over twenty different protocols.

What makes us different from the official client, is that we work for you. Unlike the Pidgin developers, we believe the usershould have the final say in what goes into the program.

Several features have been added to Carrier upon requests from users, and all of them are optional. It is these options that make the use of Carrier enjoyable to a diverse range of people.

Feel free to try out the software and get involved! Tell us what you like and what you'd improve - we're happy to hear from you!If you can think of a feature you would like us to add, tell us what it is! You don't need to give a detailed reason - fulfilling our goal of improving the user experience is the only reason we need.

http://funpidgin.sourceforge.net/

标签: , ,

星期二, 九月 23, 2008

Linux下电影工具

LinuxMovies.org

标签: , ,

星期一, 九月 22, 2008

自己冲印的设备准备

“食色”自动控温型冲卷机
一、温控部分
(1)设备
1、智能温控仪(C-700),购买处:淘宝“捷成机电”(被淘宝以信用操作的借口封了,非常好的人,我的DIY成功,他居功至伟,晕)
2、半导体制冷套装,建议半导体制冷片买功率100W的
http://auction1.taobao.com/auction/11-110809/item_detail-0db2-9f6cfcb7dc222220aaebfc753c42cb37.jhtml
3、电源:三肯12V/7.8A开关电源(没见过这么物美价廉的好东西,找的好辛苦)
http://auction1.taobao.com/auction/snap_detail.htm?trade_id=192037834&item_id=43b06cd0b5ddbba40647057b5a7b1097&x_id=0db1&snap_id=3YKXV7WB4XJHCSLV7AQP6NU6VI
4、水冷头、水管、卡具等(卖家也是大好人,这世界好人居多啊,生活充满希望)
http://auction1.taobao.com/auction/snap_detail.htm?trade_id=181457191&item_id=f808077f2cf239871a7c60d51657ac5a&x_id=0db2&snap_id=IE7YHHX4XXHV4SLV7AQP6NU6VI
5、直流水泵、接头等(这家东西很多,好好淘淘,以备不时之需,多买不会错,反正便宜。还有,水泵最好功率大点)
http://auction1.taobao.com/auction/50008090-50008178-110217/item_detail-0db2-376d56e39f326c9d73cc11500f4dcf30.jhtml
(2)制作原理
1、水循环部分
A、把水冷头用卡具固定在半导体制冷套装的制冷片上(注意:水冷头和制冷片之间要用硅脂涂匀,保证导热良好)
B、水泵入水口接水浴用水池,出水口接水冷头一个端口;水冷头另一端口接水池
2、控制部分
A、温控仪的热电偶(热敏电阻)装在水池里
B、将制冷套装散热风扇电源线和水泵电源线直接接电源(DC12V,注意电源正负极,风是往外吹的)
C、将制冷片的电源线和电源、双刀三掷开关、温控仪的输出端接好(这里比较复杂,没法细讲,只能讲原理:
①双刀三掷开关的作用是开关处在两个位置时电流输出方向相反。也就是开关打在一边时就确定一个电流流向,制冷片只能制冷,不能制热,反过来也一样
②温控仪的作用是控制电流通断,夏天时,开关打到制冷端,确定了电流流向。温度高于设定温度,常闭端闭合,制冷片工作。当温度低于设定时,常闭端断开,制冷片停止工作(三掷开关的制冷端和温控仪常闭端串联,制热端和温控仪常开端串联。这里的“制冷端”“制热端”是自己根据电流方向设定的。这里常开和常闭可能弄反了,可以自己试一下)
3、建议:要好好研究三掷开关和温控仪输出部分的接线,这是整个温控设备最难的部分
二、搅拌部分
(1)设备
A、直流电机(电机功率稍微大些,10W左右还是要的,电压如果是12V,可以和制冷片共用一电源,24V的话就得另外准备了)(大好人,呵呵)
http://shop33584082.taobao.com/?asker=wangwang
B、直流电机调速器-2型 带正反转控制 PWM脉宽调速(又是个大好人,这里电机可以定做)
http://auction1.taobao.com/auction/0/item_detail-0db1-ed2b1c7f7251912b981251a869f26b11.jhtml?from_shop=true
C、DH48S-S数显循环时间继电器(控制电压选用和电机电压一致)
http://auction1.taobao.com/auction/27-50000009-50003858/item_detail-0db2-166a4eeddd25c74099a30374f3d44972.jhtml
D、连接件
买大风兄的显影罐可以配底部的磁铁,自己再找一个车工车一个和磁铁直径相当,厚点,中间带定位用凸起的铁片,固定在电机轴上即可
(2)连接
A、直流电源接调速器输入端和时间继电器控制端
B、电机接调速器的输出端
C、调速器的变向端接循环时间继电器的输出端
D、注意:调速器输入的正负极不能接错,很容易烧毁
三、整合
这个很简单,就不废话了,呵呵,电路图在这里


啰里啰唆一大堆,可能还有很多讲不清楚的,请留言

[食色 编辑于 2008-02-05 10:49]

http://forum.xitek.com/showthread.php?threadid=456760

标签: ,

星期四, 九月 11, 2008

OTcl - Object Tcl Extensions

The CMT project has adopted OTcl as the base for the CMT Media Playback API, but unfortunately found MIT Version 0.96 to be lacking a couple of needed features, as well as not being compatible with Tcl/Tk 8.0. We are therefore including our modified version of OTcl with CMT 4.0.

What is OTcl?

OTcl, short for MIT Object Tcl, is an extension to Tcl/Tk for object-oriented programming. It shouldn't be confused with the IXI Object Tcl extension by Dean Sheenan. Some of OTcl's features as compared to alternatives are:

  • designed to be dynamically extensible, like Tcl, from the ground up
  • builds on Tcl syntax and concepts rather than importing another language
  • compact yet powerful object programming system (draws on CLOS, Smalltalk, and Self)
  • fairly portable implementation (2000 lines of C, without core hacks)

For documentation about objects, classes, and their capabilities, see the following reference pages:

标签: , ,

Ubuntu 9.04 代号揭晓——“Jaunty Jackalope”

Ubuntu/Canonical 的创始人 Mark Shuttleworth 已经公布了明年四月发布的 Ubuntu 9.04的代号——“Jaunty Jackalope”。“Jaunty Jackalope”,大概意思为活泼的怀俄明野兔。据了解 Ubuntu9.04 将提高系统的启动时间并进一步改善 Ubuntu 网络环境。

Jaunty Jackalope 的图片查看WIKI上关于 Jackalope 的介绍Ubuntu 的命名方式Ubuntu的版本号取决于其版本的发行日期。其编号为发行日期的年份和月份,而不是通常的软件版本号。
Ubuntu 首次发行于2004年十月份(Warty Warthog),其版本号为4.10。Ubuntu 9.04于2009年4月发行,所以版本号为9.04 。 Ubuntu开发代号都是以一个“形容词”+“动物的名称”,而且该“形容词”的首字母和“动物的名称”的首字母是一致的。比如: Ubuntu 9.04 (Jaunty Jackalope ), Ubuntu 8.04 ( Hardy Heron ), Ubuntu 8.10 ( IntrepidIbex )
Ubuntu 9.04 简介Ubuntu 9.04,开发代号 Jaunty Jackalope,Ubuntu 9.04 是继 Ubuntu 4.10首个发行版来的第十的个发行版,它的发布也就宣布了 Ubuntu 已经走过了整整 5 个年头,在这短短的5年里, Ubuntu发展速度是其他任何 Linux 的发行版无法比拟的,这都得益于 Ubuntu 的核心思想 “Linux for Human Beings” 和Canonical 公司的大力推动。
Ubuntu为全世界最受欢迎的Linux桌面操作系统,Ubuntu界面友好、易于操作。Ubuntu发行版的目标是给普通非专业电脑用户提供最新最稳定的操作系统,同时也适用于包括开发人员在内的专业电脑用户。Ubuntu由MarkShuttleworth创办的Canonical公司赞助开发,基于著名的DebianGNU/Linux发行版,包括桌面版和服务器版。Ubuntu的桌面版本拥有Kubuntu、Xubuntu、Edubuntu、UbuntuJeOS、UbuntuStudio和Mythbuntu等多个衍生版本,可以满足不同用户的使用需求和使用习惯。
Ubuntu 问世来的开发代号一览:Ubuntu 4.10 Warty Warthog
Ubuntu 5.04 Hoary Hedgehog
Ubuntu 5.10 Breezy Badger
Ubuntu 6.06 Dapper Drake
Ubuntu 6.10 Edgy Eft
Ubuntu 7.04 Feisty Fawn
Ubuntu 7.10 Gutsy Gibbon
Ubuntu 8.04 Hardy Heron
Ubuntu 8.10 Intrepid Ibex
Ubuntu 9.04 Jaunty Jackalope

标签:

星期三, 九月 10, 2008

GnuWin32

 GnuWin32 provides ports of tools with a GNU or similar open source license, to MS-Windows (Microsoft Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista / 2008)
http://gnuwin32.sourceforge.net/

标签: , ,

Gawk for Windows

Description

Several kinds of tasks occur repeatedly when working with text files. You might want to extract certain lines and discard the rest. Or you may need to make changes wherever certain patterns appear, but leave the rest of the file alone. Writing single-use programs for these tasks in languages such as C, C++ or Pascal is time-consuming and inconvenient. Such jobs are often easier with awk. The awk utility interprets a special-purpose programming language that makes it easy to handle simple data-reformatting jobs. The GNU implementation of awk is called gawk; it is fully compatible with the System V Release 4 version of awk. gawk is also compatible with the POSIX specification of the awk language. This means that all properly written awk programs should work with gawk. Thus, we usually don’t distinguish between gawk and other awk implementations. Using awk allows you to:

  • Manage small, personal databases
  • Generate reports
  • Validate data
  • Produce indexes and perform other document preparation tasks
  • Experiment with algorithms that you can adapt later to other computer languages.

In addition, gawk provides facilities that make it easy to:

  • Extract bits and pieces of data for processing
  • Sort data
  • Perform simple network communications.

The Win32 port has some limitations, In particular the ‘|&’ operator and TCP/IP networking are not supported.

http://gnuwin32.sourceforge.net/packages/gawk.htm

标签: ,

星期二, 九月 09, 2008

Windows SharePoint Services 管理概述

Windows SharePoint Services 管理概述

Microsoft Windows SharePoint Services 包括的工具可帮助您管理所创建的网站。通过使用“HTML 管理”页或命令行界面,可以在本地管理 Windows SharePoint Services,也可以进行远程管理。另外,通过使用命令行界面或者 HTML 管理页还可以设置属性,如指定是否为虚拟服务器启用通知

HTML 管理

Windows SharePoint Services 包括的“HTML 管理”页可帮助您管理网站和服务器。可以在本地服务器计算机上使用这些表单,也可以从连接 Internet 的远程计算机使用这些表单。必须具有管理员权限才能使用“HTML 管理”页。

对于 Windows SharePoint Services,有两种类型的管理页:

  • “管理中心”页
  • “网站设置”页

“管理中心”页

“管理中心”页使您能够管理 Web 服务器和虚拟服务器的设置。这些网页是在安装 Windows SharePoint Services 过程中创建的。默认情况下,新创建的虚拟服务器会继承“管理中心”页上的默认设置。可以更改这些默认设置,并指定每一个扩展虚拟服务器使用什么设置。必须是服务器计算机的本地管理员组成员或 SharePoint 管理员组成员,才能查看“管理中心”页。

“管理中心”页存储在 Windows SharePoint Services 在安装过程中所创建的管理端口上。若要查看这些网页。请在“开始”菜单上,单击“所有程序”,指向“管理工具”,再单击“SharePoint 管理中心”;或者从远程计算机的浏览器,键入该管理端口上这些网页的 URL。例如:http://servername:port 或 http://localhost:

注释  通过在“运行”命令中使用 localhost,也可以本地打开管理网页。单击“开始”,单击“运行”,键入 http://localhost:port,再单击“确定”

“顶级网站管理”页

除了“管理中心”页(该网页控制每个服务器和虚拟服务器的设置)之外,还有几个管理网页可控制每个网站的设置。可以从“网站设置”页执行某些管理性操作,并且可以从此处连接到“顶级网站管理”网页。必须对网站具有管理员权限才能在“网站设置”和“顶级网站管理”页上执行管理性操作。

从“网站设置”和“顶级网站管理”页,可以执行如下任务:

  • 管理用户和网站用户组。

    可以添加或删除用户、编辑网站用户组以及更改用户的网站用户组成员身份。有关详细信息,请参阅管理用户和组向用户和组分配权限

  • 创建或删除子网站。

    可以添加子网站或管理网站的现有子网站。

  • 更改匿名访问。

    如果包含网站的虚拟服务器可使用匿名访问,则可以控制是否对网站启用匿名访问。有关详细信息,请参阅向用户和组分配权限

  • 更改区域设置。

    可以更改网站使用的区域设置、时区、排序顺序和时间格式。有关详细信息,请参阅管理 Web 讨论.

  • 管理 Web 讨论和通知

    可以查看网站的所有 Web 讨论和用户通知,并删除不再需要的任何上述内容。有关详细信息,请参阅管理 Web 讨论管理通知

请注意,如果您正在管理子网站,在子网站的“顶级网站管理”页上出现的管理任务是可用于虚拟服务器的顶级网站的管理任务的子集。

“网站设置”和“顶级网站管理”页存储在网站的 _layouts 目录中。每个 SharePoint 网站的导航栏都包含一个“网站设置”链接,通过该链接可转到这些网页。即使没有 SharePoint 网站,也可以从兼容的网页编辑器(如 Microsoft Office FrontPage 2003)进入 SharePoint 网站的这些网页,或者通过直接在浏览器中键入这些网页的 URL 进入这些网页。

若要从 Office FrontPage 2003 查看这些网页,请在“工具”菜单上单击“服务器”,再单击“管理主页”

“网站设置”页的路径为 http://websiteurl/_layouts/lcid/settings.aspx,其中 lcid 指的是区域 ID。例如,对于美国英语,lcid 为 1033。

“顶级网站管理”页的路径为 http://websiteurl/_layouts/lcid/webadmin.aspx。

“网站设置”和“顶级网站管理”页的文件存储在 ..\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\template\admin\lcid 文件夹中。

远程使用 HTML 管理页

安装 Windows SharePoint Services 时,将向管理端口安装管理中心页。使用管理端口上的这些网页可以远程管理服务器。您可以从任何客户端打开管理中心页,前提是您知道管理端口号,并使用服务器的管理员组中的成员帐户登录。通过使用对某个网站具有“管理网站”权限的网站用户组的成员帐户,您可以使用该网站的“顶级网站管理”页。

如果选择在管理端口上使用安全套接字层 (SSL),则必须使用 HTTPS 协议才能转至这些网页,有关配置 SSL 的详细信息,请参阅配置验证

通过使用 HTTPS 协议连接管理端口
  • 在浏览器的“地址”框,使用 HTTPS 协议并键入服务器管理页的地址,在其中包括安全服务器端口号。

    例如,键入 https://sample.microsoft.com:1439。

连接到远程“HTML 管理”页时,即可像本地连接一样执行任何管理任务。

命令行管理

从“服务器管理”和“顶级网站管理”页执行的大多数任务也可从 Windows SharePoint Services 的命令行执行。另外,还可以从命令行设置几个从管理网页无法设置的属性。要使用 Stsadm.exe 工具,您必须是服务器计算机的本地管理员组中的成员。有关使用命令行管理工具和设置配置属性的详细信息,请参阅“Windows SharePoint Services 管理员指南”。

http://www.suifenhe.gov.cn/_vti_bin/help/2052/sps/html/wsgcover.htm

标签: ,

Google Chrome 0xc0000005错误

I was disappointed and doing a search revealed that several people were reporting the same problem on various windows platforms including windows vista (SP1, ultimate), windows XP3 or windows XP2.So the error seem to have been triggered in different versions of windows vista and windows XP platforms and it is not specific to any one of them.Also, the bug was reportedly caused by “Symantec Endpoint Protection“, though in my case, I was not using any symantec product. 
 
If you faced “The application failed to initialize properly (0xc0000005).Click on OK to terminate the application.” error with google chrome (chrome.exe) and you are using symantec, then you could try the following steps: 

  • Back up the registry on an affected system
  • Open the registry on the Agent system by entering regedit from a run prompt
  • Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysPlant
  • Open the Start DWORD
  • Change the value to 4 to disable the drivers
  • Reboot the system to commit the changes

The above registry solution to fix the Google chrome error was issued in symantec forums.Read it here.
 
 

The other easier solution is to run Google Chrome with --no-sandbox (with two dashes before “no”). To run it with the above option, edit the property of the shortcut you use to launch Google chrome and add the above option at the end of the “target” line (after the path to the chrome exe) i.e. Right click your shortcut to “Google Chrome” and click Properties. In the target text field, add a space then add --no-sandbox (with two dashes before “no”) right after the ending quotation mark. Run using this shortcut.However make sure that there is a space in between the ending quotation mark and the --no-sandbox option that you add.You could find a shortcut to google chrome on your desktop.Also note that you should use two dashes before “no”.See the pic. below. 


http://techblissonline.com/google-chrome-application-failed-initialize/

标签: , ,

Python文摘,IP地址和数值转换

>>> socket.inet_ntoa(struct.pack('I',socket.htonl(16909060)))
'
1.2.3.4'
>>> socket.ntohl(struct.unpack("I",socket.inet_aton('1.2.3.4'))[0])
16909060
再加几个:
>>> struct.unpack("I",socket.inet_aton('1.2.3.4')) (67305985L,)
>>> socket.ntohl(67305985)16909060>>> socket.htonl(16909060)67305985>>> struct.unpack('i',socket.inet_aton('1.2.3.4'))(67305985,)
>>> struct.pack('i',16909060)
'\x04\x03\x02\x01'
>>> struct.pack('i',67305985)
'\x01\x02\x03\x04'
>>> socket.inet_ntoa(struct.pack('I',socket.ntohl(16909060)))
'1.2.3.4'
>>> socket.htonl(struct.unpack("I",socket.inet_aton('1.2.3.4'))[0])
16909060
这样很好玩吧~
(1). inet_aton 将ip地址的4段地址分别进行2进制转化,输出用16进制表示:
1.2.3.4 ——inet_aton——> 0000 0001,0000 0010,0000 0011,0000 0100
(2).unpack的处理是按16进制(4bit)将2进制字符,从后向前读入的,低位入,处理成:
00000100 00000011 00000010 00000001
也就是 4 3 2 1
pack也一样,从后向前读入字符,所以——
用16进制表示的1 2 3 4(16909060)打包成 4 3 2 1 的顺序;
用16进制表示的4 3 2 1(67305985)打包成 1 2 3 4 的顺序;
(3) ntohl, htonl 表示的是网络地址和主机地址之间的转换(network byte host byte)
由于unpack/pack的解/打包的颠倒顺序,必须通过htonl 或者 ntohl 进行处理。
(4) network byte, host byte
这2个名词折腾半天,host byte 由于处理器的方式不同 little-endian或者big-endian,将ip地址转换的最终输出是不一样的,参考(http://www.informit.com /articles/article.aspx?p=169505&seqNum=4 )
(http://www.netrino.com/Embedded-Systems/How-To/Big-Endian-Little-Endian)
big-endian: 最高位在左边(内存存储空间的最低位)
little-endian: 最高位在右边(内存存储空间的最低位)
i386-unknown-freebsd4.8: little-endian
powerpc-apple-darwin6.6: big-endian
sparc64-unknown-freebsd5.1: big-endian
powerpc-ibm-aix5.1.0.0: big-endian
hppa1.1-hp-hpux11.11: big-endian
i586-pc-linux-gnu: little-endian
sparc-sun-solaris2.9: big-endian
而为了统一这种传输标准(打个补丁,再创造一个名词函数),又有network byte,这个其实就是标准的big-endian;
由于x86本身的处理属于little-endian,所以上述应该按照标准的network byte 进行处理,这样可避免cpu造成的不同:
socket.htonl(struct.unpack("I",socket.inet_aton('1.2.3.4'))[0])
socket.inet_ntoa(struct.pack('I',socket.htonl(16909060)))
###############################################################################
(1个64位amd+32位windows, 1个32位intel+linux, 出来的数值是一样的:
>>> socket.ntohl(struct.unpack("I",socket.inet_aton('220.194.61.32'))[0])
-591250144
>>> socket.inet_ntoa(struct.pack('I',socket.htonl(-591250144)))
'220.194.61.32'
但是64位amd+64位linux,是这样:
>>> socket.ntohl(struct.unpack("I",socket.inet_aton('220.194.61.32'))[0])
3703717152
>>> socket.inet_ntoa(struct.pack('I',socket.htonl(-591250144)))
'220.194.61.32'
>>> socket.inet_ntoa(struct.pack('I',socket.htonl(3703717152)))
'220.194.61.32'
unpack/pack和cpu,os无关;
socket.ntohl/htonl的输出结果int型 对32 os,处理成signed 类型,首位1被处理成负数;
对 64位 os,则是unsigned类型;
(晕了半天,那个值才明白是位数,和cpu不相干)
###############################################################################
(5)mysql里面的函数是inet_aton, inet_ntoa 和python的socket不同,直接实现ip string到network byte的转换,python里面只能实现ip地址到network byte的2进制转换:
mysql> select inet_aton('1.2.3.4');
-> 16909060
mysql> select inet_ntoa(16909060);
-> 1.2.3.4

http://bbs.chinaunix.net/thread-1163546-1-7.html

struct.unpack("!I", ...) 可以产生无符号数

标签: ,

星期一, 九月 08, 2008

BitKeeper

BitKeeper is paving the way for the next generation of SCM tools. As the leader in distributed configuration management and the culmination of a decade of innovation, BitKeeper has been shown to double the pace of software development.

http://www.bitkeeper.com/

标签: ,

Git 中文教程

于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同, 它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候, 世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。 但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用, 即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。 现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine, U-boot 等,详情看 http://www.kernel.org/git

作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。 它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。

本文将以 Git 官方文档 Tutorial core-tutorialEveryday GIT 作为蓝本翻译整理,但是暂时去掉了对 Git 内部工作机制的阐述, 力求简明扼要,并加入了作者使用 Git 的过程中的一些心得体会,注意事项,以及更多的例子。 建议你最好通过你所使用的 Unix / Linux 发行版的安装包来安装 Git, 你可以在线浏览本文 ,也可以通过下面的命令来得到本文最新的版本库,并且通过后面的学习用 Git 作为工具参加到本文的创作中来。

$ git-clone http://www.bitsun.com/git/gittutorcn.git

http://www.bitsun.com/documents/gittutorcn.htm

标签: , ,

镜头

50/1.4是好东西。
下一目标:100-300/4.5-5.6

标签:

Usage: SetProcessAffinityMask

  1. HANDLE hProcess = GetCurrentProcess();
  2. DWORD dwProcessAffinityMask, dwSystemAffinityMask;
  3. GetProcessAffinityMask( hProcess, &dwProcessAffinityMask, &dwSystemAffinityMask );
  4. // 取得 process Affinity mask
  5. SetProcessAffinityMask( hProcess, 1L );// 執行於 CPU 0
  6. SetProcessAffinityMask( hProcess, 2L );// 執行於 CPU 1
  7. SetProcessAffinityMask( hProcess, 3L );// 允許執行與CPU 0 與 CPU 1 (32bit mask)

标签: ,

星期五, 九月 05, 2008

wxWidgets控件

http://www.koansoftware.com/en/prd_svil_wxdownload.htm

标签:

星期一, 九月 01, 2008

随笔

CONTAX三件1.4,今天要收其一了。50/1.4,标头焦段是俺的最爱。
以后有钱再收贵的那2支吧。35,85,嘿嘿,不知何年何月得尝所愿。

没感觉的来这里体味一下吧
http://forum.xitek.com/showthread.php?threadid=513655&pagenumber=1

标签:

如何调整显示器颜色

http://bbs.55w.net/read.php?tid-15663-page-e.html
辽ICP备05003652号
流风洄雪听天籁,轻云蔽日看落花

Powered by Blogger