Funny!! The New York Times Unplugged challenge. How many days you can survive without your digital devices.
2010年8月28日 星期六
2010年8月27日 星期五
2010年8月26日 星期四
2010年8月25日 星期三
How to Open Your Publisher Account on New Digg 4
It looks like twitter, but it could help you focus on your target followers.
YoYoFactory Present: Jensen Kimmitt 2010 World yoyo Contest 1A 1st Place
Wow... No wonder he is the champion.
Disabling spindump on OSX to prevent slowdown after a crash – Yan Pritzker
Disabling spindump on OSX to prevent slowdown after a crash
Update: it’s better to use a spindump script that sleeps, otherwise launchd keeps trying to restart it every ten seconds. Thanks to Steve Ryner for the script. And yes, it’s very simple but here it is :-)
#!/bin/sh while true do sleep 60000 doneSometimes when things crash on OSX (biggest offenders: Quicktime, and Safari playing flash movies), a program called
spindumpfires up. This offensive piece of bad engineering thinks its ok to eat 100% of my cpu and thrash my disk just to catalog what happened.While this is a great idea in theory, and I’m sure it helps Apple engineers debug problems, it does absolutely nothing for me trying to bring my machine into a usable state. Fighting spindump for resources while I try to kill the hanging program is not fun. And many people on online forums seem to think the same. Most of the time I’m barely able to pull up the activity monitor and nuke spindump before it goes off to lala land never to return. Granted things don’t crash often, but when they do there is hell to pay.
Well, we don’t have to submit to this madness anymore. It occurred to me that I could simply rename the spindump executable so that OSX could not find it. So I renamed
/usr/sbin/spindumpto/usr/sbin/spindump.disabled. I had to wait for my first crash in order to verify that this didn’t break anything, and sure enough I had a quicktime crash just the other night. The system promptly recovered from the crash and did not slow down as previously. Mission accomplished!Apple is a company built on user experience. But
spindumpis one of the worst user experience violations in OSX. I know there may not be an easy way around it, but certainly at the very least changing the priority of this process so that it’s not able to eat all system resources may be a step in the right direction. I hope to see an improvement in future versions of the operating system. Until then, spindump is dead to me.
2010年8月24日 星期二
2010年8月23日 星期一
Elegant Code » Book Review: Facts and Fallacies of Software Engineering
Having this book on my shelf for quite some time now, I finally decided to to make my way through reading Facts and Fallacies of Software Engineering written by Robert L. Glass. As the title already implies, this well-established author lays down 55 facts and 10 fallacies about software engineering based on his half a century experience in the field.
The facts are divided in four categories: management, lifecycle, quality and research. The fallacies are split into three categories: management, lifecycle and education. Each of these categories have their own more specific sub-categories in which these facts and fallacies are classified. This way its easy to pickup the content about a particular topic of choice. Although I read the book from cover to cover, it isn’t required to do so. All facts and fallacies can be read on their own but occasionally the author refers to the discussion of other facts/fallacies in the book.
All facts and fallacies are laid down using the following structure:
- The fact/fallacy itself is presented and discussed.
- After which the controversies about a particular fact/fallacy are presented.
- Finally, a list of books and articles are enumerated that were a source of information regarding the fact/fallacy. Some of these sources are ancient, some of are more recent.
Here’s the list of facts:
People
- The most important factor in software work is the quality of the programmers.
- The best programmers are up to 28 times better than the worst programmers.
- Adding people to a late project makes it later.
- The working environment has a profound impact on productivity and quality.
Tools and Techniques
Hype (about tools and technology) is a plague on the house of software. New tools and techniques cause an initial loss of productivity / quality. Software developers talk a lot about tools, but seldom use them. Estimation
One of the two most common causes of runaway projects is poor estimation. Software estimation usually occurs at the wrong time. Software estimation is usually done by the wrong people. Software estimates are rarely corrected as the project proceeds. It is not surprising that software estimates are bad. But we live and die by them anyway! There is a disconnect between software management and their programmers. The answer to a feasibility study is almost always "yes". Reuse
Reuse-in-the-small is a solved problem. Reuse-in-the-large remains a mostly unsolved problem. Reuse-in-the-large works best in families of related systems. Reusable components are three times as hard to build and should be tried out in three different settings. Modification of reused code is particularly error-prone. Design pattern reuse is one solution to the problems of code reuse. Complexity
For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity. Eighty percent of software work is intellectual. A fair amount of it is creative. Little of it is clerical. Requirements
One of the two most common causes of runaway projects is unstable requirements. Requirements errors are the most expensive to fix during production. Missing requirements are the hardest requirements errors to correct. Design
Explicit requirements ‘explode’ as implicit requirements for a solution evolve. There is seldom one best design solution to a software problem. Design is a complex, iterative process. Initial design solutions are usually wrong and certainly not optimal. Coding
Designer ‘primitives’ rarely match programmer ‘primitives’. COBOL is a very bad language, but all the others are so much worse. Error removal
Error removal is the most time-consuming phase of the lifecycle. Testing
Software is usually tested at best to the 55 to 60 percent coverage level. One hundred percent test coverage is still far from enough. Test tools are essential, but rarely used. Test automation rarely is. Most testing activities cannot be automated. Programmer-created, built-in debug code is an important supplement to testing tools. Reviews and Inspections
Rigorous inspections can remove up to 90 percent of errors before the first test case is run. Rigorous inspections should not replace testing. Post-delivery reviews, postmortems, and retrospectives are important and seldom performed. Reviews are both technical and sociological, and both factors must be accommodated. Maintenance
Maintenance typically consumes 40 to 80 percent of software costs. It is probably the most important software lifecycle phase. Enhancements represent roughly 60 percent of maintenance costs. Maintenance is a solution– not a problem. Understanding the existing product is the most difficult maintenance task. Better methods lead to more maintenance, not less. Quality
Quality is a collection of attributes. Quality is not user satisfaction, meeting requirements, achieving cost and schedule, or reliability. Reliability
There are errors that most programmers tend to make. Errors tend to cluster. There is no single best approach to software error removal. Residual errors will always persist. The goal should be to minimize or eliminate severe errors. Efficiency
Efficiency stems more from good design than good coding. High-order language code can be about 90 percent as efficient as comparable assembler code. There are tradeoffs between optimizing for time and optimizing for space. Research
Many researchers advocate rather than investigate. And the list of fallacies:
Management
- You can’t manage what you can’t measure.
- You can manage quality into a software product.
People
Programming can and should be egoless. Tools and Techniques
Tools and techniques: one size fits all. Software needs more methodologies. Estimation
To estimate cost and schedule, first estimate lines of code. Testing
Random test input is a good way to optimize testing. Reviews
"Given enough eyeballs, all bugs are shallow". Maintenance
The way to predict future maintenance costs and to make product replacement decisions is to look at past cost data. Education
You teach people how to program by showing them how to write programs. Although this book has been published in 2004, the topics that are discussed in this book very much apply today and probably many years to come. I personally got the most from the facts about people, estimation, testing and maintenance. I really enjoyed reading this fascinating book and I encourage you to pick it up as well. Awareness of these facts and fallacies, whether you agree or disagree with them, is the first step to improving our craft.
It's great book. recommend!!
2010年8月22日 星期日
2010年8月21日 星期六
Lady Java Video Marks Exact Point Where Geek Culture Jumped The Shark
Funny, remind me of the good old days.
2010年8月20日 星期五
[PV] JUJU - Hello, Again~昔からある場所~ (Ballad Ver.)
Very touching commercial, especially the expression in the old man's eyes.
2010年8月19日 星期四
2010年8月18日 星期三
2010年8月17日 星期二
What is the difference between “dynamic” and “object” keywords? - C# Frequently Asked Questions
2010年8月14日 星期六
2010年8月12日 星期四
2010年8月10日 星期二
2010年8月9日 星期一
Popular Tools To Measure Your Influence on Twitter – woorkup.com
Are you a popular person on Twitter? What’s the grade of you social influence? Here is a list of tools to measure it.
Social influence can be considered as the measure of your reputation across the web and can be calculated through the analysis of several factors such as the authority of your network of contact, your online activity, exposure and visibility of you (or your brand), number of subscribers to your RSS feeds and so on.
In particular, if you are a Twitter user and you want to know what’s your influence on Twitter many tools exist that give you an estimate of that. I must admit I am quite skeptical about the result of analysis that this kind of tools generate but in any case they provide an approximated value of your social “rank” that give you an idea of your influence grade.
Klout is probably one of the most popular services to measure your overall online influence based on the activity of your Twitter profile. For each profile, Klout generates a score range from 0 to 100 (with higher scores representing a wider sphere of influence) and detailed summary reports about your authority, engaged audience, most popular shared links, top retweets and so on.
Grader is another popular service that allows you to analyze and measure your influence and authority over a selection of social network such as Facebook, Twitter, Linkedin and Foursquare. A really interesting tool provided by Grader is Alerts.Grader that allows you to analyze and filter your emails from Google Alerts, Twitter and Linkedin so that, for example, you can know when an important person on Twitter is following you or which alerts received by Google are really important.
Other interesting services I suggest you to try are Twitalyzer, GraphEdge, Tweetmetrics and Twinfluence.
2010年8月7日 星期六
TEDtoChina » 今日TED演讲 » 艾莉芙·夏法克:故事、身份以及民族国家
Today at Wujiaochangzhen, Yangpu, Shanghai China.
2010年8月6日 星期五
PDFSharp - Create and process PDF in .NET
PDFSharp - Create and process PDF in .NET
PDFsharp is the Open Source .NET library that easily creates and processes PDF documents on the fly from any .NET language. The same drawing routines can be used to create PDF documents, draw on the screen, or send output to any printer. Neither Adobe's PDF Library nor Acrobat are required. Its features include:
- Creates PDF documents on the fly from any .NET language<1/li>
- Easy to understand object model to compose documents
- One source code for drawing on a PDF page as well as in a window or on the printer
- Modify, merge, and split existing PDF files
- Images with transparency (color mask, monochrome mask, alpha mask)
- Newly designed from scratch and written entirely in C#
- The graphical classes go well with .NET
![]()
![]()
![]()
102
Related Products
PDF Library - PDF manipulation in .NET
A library for PDF manipulation implementing Adobe PDF standard version 1.7. This library allows to read PDF files and apply changes to them, it is written in .NET 2.0 using Visual Studio 2005. Writing and Parsing PDF is supported.
![]()
![]()
![]()
GOCR
GOCR is an OCR (Optical Character Recognition) program, developed under the GNU Public License. It converts scanned images of text back to text files. Joerg Schulenburg started the program, and now leads a team of developers.
![]()
![]()
![]()
![]()
Tikka
Apache Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.
![]()
![]()
![]()
![]()
Tesseract-ocr
The Tesseract OCR engine was one of the top 3 engines in the 1995 UNLV Accuracy test. Between 1995 and 2006 it had little work done on it, but it is probably one of the most accurate open source OCR engines available. The source code will read a binary, grey or color image and output text. A tiff reader is built in that will read uncompressed TIFF images, or libtiff can be added to read compressed images.
![]()
![]()
![]()
![]()
OCRopus
OCRopus :- The open source document analysis and OCR system featuring pluggable layout analysis, pluggable character recognition, statistical natural language modeling, and multi-lingual capabilities.
![]()
![]()
![]()
Tessnet2
A .NET 2.0 Open Source OCR assembly using Tesseract engine.
![]()
![]()
![]()
JavaOCR
Java OCR is an Optical Character Recognition algorithm based on a mean squared recognizer. This tool also includes utilities to trace and extract characters.
![]()
![]()
![]()
Solr
Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, dynamic clustering, database integration, and rich document (e.g., Word, PDF) handling. Solr is highly scalable, providing distributed search and index replication, and it powers the search and navigation features of many of the world's largest internet sites.
![]()
![]()
![]()
![]()
![]()
Cairo Graphics
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL (through glitz), XCB, BeOS, OS/2, and DirectFB.
![]()
![]()
![]()
Jasper Reports
JasperReports is the world's most popular open source reporting engine. It is entierly written in Java and it is able to use data coming from any kind of data source and produce pixel-perfect documents that can be viewed, printed or exported in a variety of document formats including HTML, PDF, Excel, OpenOffice and Word.
![]()
![]()
![]()
![]()
![]()




















