This is a mirror of official site: http://jasper-net.blogspot.com/

Chromium Embedded Framework (CEF)

| Wednesday, October 10, 2012
Inline image 2

Introduction
The Chromium Embedded Framework (CEF) is an open source project founded by Marshall Greenblatt in 2008 to develop a Web browser control based on the Google Chromium project. CEF currently supports a range of programming languages and operating systems and can be easily integrated into both new and existing applications. It was designed from the ground up with both performance and ease of use in mind. The base framework includes C and C++ programming interfaces exposed via native libraries that insulate the host application from Chromium and WebKit implementation details. It provides close integration between the browser control and the host application including support for custom plugins, protocols, JavaScript objects and JavaScript extensions. The host application can optionally control resource loading, navigation, context menus, printing and more, while taking advantage of the same performance and HTML5 technologies available in the Google Chrome Web browser.

Numerous individuals and organizations contribute time and resources to support CEF development, but more involvement from the community is always welcome. This includes support for both the core CEF project and external projects that integrate CEF with additional programming languages and frameworks (see the "External Projects" section below). If you are interested in donating time to help with CEF development please see the "Helping Out" section below. If you are interested in donating money to support general CEF development and infrastructure efforts please visit the CEF Donations page.

Binary Distributions
Binary distributions, which include all files necessary to build a CEF-based application, are available in the Downloads section. Binary distributions are stand-alone and do not require the download of CEF or Chromium source code. Symbol files for debugging binary distributions of libcef can be downloaded from here.

Source Distributions
The CEF project is an extension of the Chromium project hosted at http://www.chromium.org. CEF maintains development and release branches that track Chromium branches. CEF source code can be downloaded, built and packaged manually or with automated tools. Visit the BranchesAndBuilding Wiki page for more information.

External Projects
The base CEF framework includes support for the C and C++ programming languages. Thanks to the hard work of external maintainers CEF can now integrate with a number of other programming languages and frameworks. These external projects are not maintained by CEF so please contact the respective project maintainer if you have any questions or issues.

Read more: Google code
QR: Inline image 1

Posted via email from Jasper-net

Строим Android x86

|
[image: Inline image 2] Существует множество задач, для которых требуется пересборка ядра и операционной системы Android в целом. Например, создание и отладка собственных модулей, включение поддержки профилирования системы и просто тестирование своих приложений на новой версии Android. Возможность запуска Android x86 внутри виртуальной машины VirtualBox позволяет энтузиастам и создателям прошивок покопаться в настройках системы, настроить и пересобрать ядро и при этом не «кирпичизировать» настоящее устройство. VirtualBox предоставляет возможность использования привычных для Linux-разработчика средств отладки ОС. Для рядовых разработчиков Android-приложений отлично подходит эмулятор, использующий технологию Intel Hardware Accelerated Execution Manager. (подробнее можно прочесть здесь) В статье приведен ряд практических советов по сборке образа Android x86 для запуска под виртуальной машиной VirtualBox и сборке эмулятора. Исходный код Android взят из официального репозитория проекта AOSP (Android Open Source Project), в качестве ядра использована адаптированная версия ядра Linux 2.6 от Intel. Установка окружения для сборки Для сборки Android потребуется 64 битная версия Linux. Еще один важный момент: обратите внимание на версию GCC, которая установлена на системе. Google поддерживает версию GCC 4.4 и выше. Так же на системе должна быть установлена реализация Java от Oracle. Установка дополнительных зависимостей для Ubuntu 12.04: sudo -i apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 Установите символьную ссылку для устранения конфликта имен: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so Загрузка дерева исходных кодов Установка Repo Repo — утилита управления репозиториями, упрощающая работу с Git для Android. Более подробную информацию можно прочесть здесь ( http://source.android.com/source/version-control.html) Для установки, инициализации и настройки Repo выполните следующие шаги: • Убедитесь, что у вас есть директория bin в вашем домашнем каталоге и она прописана в PATH: mkdir ~/bin PATH=~/bin:$PATH • Загрузите Repo скрипт и выставите права на выполнение: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo chmod a+x ~/bin/repo Read more: Habrahabr.ru QR: [image: Inline image 1]

Posted via email from Jasper-net

Help your users record and report bugs with the Problem Steps Recorder

|
Inline image 2

A few weeks back I ranted in Everything's broken and nobody's upset and it found its way around the web. Some called it a poorly  organized straw man and others felt it was a decent jumping-off point for a larger discussion about software quality. It was likely both of these and more.

On the subject of bug reporting, there's a wonderful gem of a program that ships with Windows 7 and Windows 8 that you and your users can use to report and record bugs. It's the Problem Steps Recorder and it's like TiVo for bugs.

Hit the Start button and type either "Steps" or even "PSR" or to run the Problem Steps Recorder.

Read more: Scott Henselman
QR: Inline image 1

Posted via email from Jasper-net

Startup = Growth

| Tuesday, October 9, 2012
September 2012

A startup is a company designed to grow fast. Being newly founded does not in itself make a company a startup. Nor is it necessary for a startup to work on technology, or take venture funding, or have some sort of "exit." The only essential thing is growth. Everything else we associate with startups follows from growth.

If you want to start one it's important to understand that. Startups are so hard that you can't be pointed off to the side and hope to succeed. You have to know that growth is what you're after. The good news is, if you get growth, everything else tends to fall into place. Which means you can use growth like a compass to make almost every decision you face.

Redwoods

Let's start with a distinction that should be obvious but is often overlooked: not every newly founded company is a startup. Millions of companies are started every year in the US. Only a tiny fraction are startups. Most are service businesses—restaurants, barbershops, plumbers, and so on. These are not startups, except in a few unusual cases. A barbershop isn't designed to grow fast. Whereas a search engine, for example, is.

When I say startups are designed to grow fast, I mean it in two senses. Partly I mean designed in the sense of intended, because most startups fail. But I also mean startups are different by nature, in the same way a redwood seedling has a different destiny from a bean sprout.

That difference is why there's a distinct word, "startup," for companies designed to grow fast. If all companies were essentially similar, but some through luck or the efforts of their founders ended up growing very fast, we wouldn't need a separate word. We could just talk about super-successful companies and less successful ones. But in fact startups do have a different sort of DNA from other businesses. Google is not just a barbershop whose founders were unusually lucky and hard-working. Google was different from the beginning.

To grow rapidly, you need to make something you can sell to a big market. That's the difference between Google and a barbershop. A barbershop doesn't scale.

For a company to grow really big, it must (a) make something lots of people want, and (b) reach and serve all those people. Barbershops are doing fine in the (a) department. Almost everyone needs their hair cut. The problem for a barbershop, as for any retail establishment, is (b). A barbershop serves customers in person, and few will travel far for a haircut. And even if they did the barbershop couldn't accomodate them. [1]

Read more: Paul Graham
QR: Inline image 1

Posted via email from Jasper-net

Fun with Constrained Programming

|
Believe it or not, RAR files can contain bytecode for a simple x86-like virtual machine called the RarVM. This is designed to provide filters (preprocessors) to perform some reversible transformation on input data to increase redundancy, and thus improve compression.

For example, one filter (likely inspired by LZX, an earlier scheme with a similar feature) is called "Intel E8 preprocessing", which is designed to increase redundancy in x86 code.

If you imagine a program like this:

mov   foo, bar 
cmp   bar, baz
push  foo 
call  write
push  bar
call  write

The two calls are relative to the branch location, so there will be two different encodings of the same instruction. At compress time, we can translate them to absolute addresses. This way, the same instruction appears twice, and can therefore be compressed much more efficiently. When the archive is decompressed, this transformation can be reversed to restore the original.

WinRAR includes around a dozen standard filters that improve compression of several common inputs, but surprisingly also allows new filters to be defined at runtime by archives!

As far as I'm aware, no tool exists to explore this functionality. This is just too tempting to play with, so I've written some. So far, I have a RAR toolchain working, as well as some documentation on how to write programs.

You can checkout the code and some example programs on github, https://github.com/taviso/rarvmtools.

Read more: Tavis Ormandy
QR: Inline image 1

Posted via email from Jasper-net

Binding לפונקציה עם ObjectDataProvider

|
ObjectDataProvider מאפשר לעטוף פונק' של C# ולאפשר לה להיות זמינה ל Binding  כ Resorce .

לדוגמא ניקח תוכנית שממירה מרחקים מ מיילים ל קילומטרים :  

Inline image 1

                  ניצור Class  בשם DistanceConverter  שמכיל את פונק' ההמרה בשם   Convert  . זו פונק' רגילה שממירה מרחק ממטרים לקילומטרים ולהיפך.

קודם ניצור enum שמכיל את סוגי המידות :

public enum DistanceType
{
    Miles,
    Kilometres
}

כעת הפונק'  Convert   :

public string convert(double amount, DistanceType distancetype)
        {
            if (distancetype == DistanceType.Kilometres)
                return (amount * 1.5).ToString() + "km";
            else
                return (amount * 0.5).ToString() + "ml";
        }

כעת אנו נרצה ליצור ObjectDataProvider :

המבנה הכללי שלו נארה כך :

 <ObjectDataProvider
            x:Key="objProviderשם שאנוחנו בוחרים שייצג את "
            ObjectType="{x:Type local:myClass יצירת מופע למחלקה }"
            MethodName="שם של הפונק'" >
           
            <!—כאן נצהיר על הפרמטרים שנרצה בפונק' הם ייוצגו אח"כ בצורת מערך.-->
            <ObjectDataProvider.MethodParameters>
                <system:Doubleסוג הפרמטר הראשון>0 ערך שאנו מכניסים לו</system:Double>
                <Recipe_05_07:DistanceType>Miles</Recipe_05_07:DistanceType>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>

הערה: הפרמטר הראשון של הפונק היה Double  , כדי לטעון לפונק' ערך מסוג זה נצטרך קודם לכך לטעון את ה xmlns  הבא :

xmlns:system="clr-namespace:System;assembly=mscorlib"

ברגע זה הפונק' מוכנה ל Binding . מה שנשאר זה לקשר כל איבר למקומו.

QR: Inline image 3

Posted via email from Jasper-net

Prism for .NET 4.5 Released Today

|
Those of you that know me are well aware of my enthusiasm for Prism, and today is no different.  About 5 minutes ago a new build of the Prism binaries targeting the .NET 4.5 framework was released.  So those of you who are having to use a custom build, like myself, for your .NET 4.5 projects can now use the “official” libraries from the Microsoft Patterns and Practices team.  So what are you waiting for?

Get The Bits

I would like to mention, that there have been no new features added or any changes in the code base.  This is simply a release of the binaries that have been compiled against the .NET 4.5 library.  It has also been compiled against updated dependencies for Unity 3.0 and Common Service Locator.  So you will not see any Silverlight or Windows Phone binaries in this download.  It’s .NET 4.5 only.

Read more: Infragistics
QR: Inline image 1

Posted via email from Jasper-net

Install Windows 8 from a rusty 256 MB USB stick

|
This is the fourth time I installed Windows 8. This time I installed it on my personal notebook instead of a VHD, because Windows 8 is finally ready to market. So I started with downloading the enterprise edition from my MSDN subscription. Unfortunately my USB drive died so I had no storage large enough to put the image on and boot from. So I started thinking to install it over the network. Luckily me I still had my rusty 10 year old 256MB USB drive which perfectly fits a Windows PE image. So I also downloaded the Windows 8 ADK to make a Windows PE boot image.

First install the Windows 8 ADK. Then open a command prompt and, key in the following commands to create a image.

mkdir c:\winpe_amd64
call copype.cmd amd64 c:\winpe_amd64
Makewinpemedia /ufd c:\winpe_amd64 F:

The first command makes a directory on your c:\ drive and can be removed afterwards. The second command creates all the necessary files for a 64 installation. The third command copies the files to your usb drive (in my case F:) and makes it bootable. If you need a 32 bit installation replace amd64 with x86.

Then create a share on a pc in your network and extract the contents of the Windows 8 iso to the network share. Make sure you configure the security to allow everyone to access it. Also make sure your firewall responds to ping commands, this comes in handy when trying to connect to the share. I created a share called Win8.

Now it is time to boot from the Windows PE image, which in my case is on a small rusty USB drive.

Make sure your pc is connected to the network with a cable because your wireless is not supported natively on a bare Windows PE image. If you really have to do it over wireless then you’ve to add wireless drivers to your image. You can probably find how to do it in the Windows ADK documentation.

So when booted you get a command prompt. First thing you have to do is set up a network connection with your shared folder. First we try to ping our computer that contains the share. Then we set up a connection to the share.

ping 192.168.0.10
net use z: \\192.168.0.10\Win8

The first commands checks if our computer is available on the network (Will only work if you enable ping in your firewall). The second command connects your share to the z:\ drive.

z:
dir

Read more: Codeproject
QR: Inline image 1

Posted via email from Jasper-net

Introduction to KFSensor - A Windows based honeypot Intrusion Detection System (IDS)

|
Inline image 2

Overview

KFSensor is a security solution that acts as a honeypot to attract and detect hackers and worms by simulating vulnerable system services and trojans.
By acting as a decoy server it can divert attacks from critical systems and provide a higher level of information than can be achieved by using firewalls and NIDS alone.

KFSensor is designed for use in a Windows based corporate environment and contains many innovative and unique features such as remote management, a Snort compatible signature engine and emulations of Windows networking protocols.

With its GUI based management console, extensive documentation and low maintenance, KFSensor provides a cost effective way of improving an organization's network security.

Moreover, KFSensor allow a easy integration with a common SIM/SOC & Syslog systems & Databases.

Prerequisites

a. Supported Windows Operating System.
b. Latest Wincap driver (can be download from the following link).

* Its recommended to install KFSensor on a dedicated machine.

Configuration Steps

KeyFocus Ltd. developer team created a user friendly “Set Up Wizard” that allow you to complete a common deployment scenario in a few minutes:

Read more: Yuval Sinay
QR: Inline image 1

Posted via email from Jasper-net

Split an imagestrip into individual images/icons

|
If you have a large horizontal image Nx16 and you’d like to split it into individual 16x16 icons, here’s how to do it in WPF. I had to look it up recently and nothing showed up, so it was faster to write it myself. I’m posting it here so that it’s easy to find in the future.

using System.IO;
using System.Windows;
using System.Windows.Media.Imaging;
 
class Program
{
    static void Main(string[] args)
    {
        var file = @"Imagestrip1600x16.png";
        var output = @"IconsFolder";
        using (Stream imageStreamSource = new FileStream(
            file, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            PngBitmapDecoder decoder = new PngBitmapDecoder(
                imageStreamSource,
                BitmapCreateOptions.PreservePixelFormat,
                BitmapCacheOption.Default);
            BitmapSource bitmapSource = decoder.Frames[0];
 
            for (int i = 0; i < bitmapSource.PixelWidth / 16; i++)
            {
                CroppedBitmap croppedBitmap = new CroppedBitmap(
                    bitmapSource,
                    new Int32Rect(i * 16, 0, 16, 16));
 
                PngBitmapEncoder encoder = new PngBitmapEncoder();
                var frame = BitmapFrame.Create(croppedBitmap);
                encoder.Frames.Add(frame);
                var fileName = Path.Combine(output, i.ToString() + ".png");
                using (var stream = new FileStream(fileName, FileMode.Create))
                {
                    encoder.Save(stream);

Read more: Kirill Osenkov 
QR: Inline image 1

Posted via email from Jasper-net

Like-A-Hug

|
Inline image 2

2011
MIT Media Lab - Tangible Media Group - Hiroshi Ishii

Like-A-Hug is a wearable social media vest that allows for hugs to be given via Facebook, bringing us closer despite physical distance. The vest inflates when friends 'Like' a photo, video, or status update on the wearer's wall, thereby allowing us to feel the warmth, encouragement, support, or love that we feel when we receive hugs. Hugs can also be sent back to the original sender by squeezing the vest and deflating it.

The project was done as an exercise and exploration in shape display. We came up with the concept over a casual conversation about long-distance relationships and the limitations of video chat interfaces like Skype. The concept of telepresence arose, and we toyed with the idea of receiving hugs via wireless technology. The result was Like-A-Hug. Connecting it to Facebook conceptually was simply a way to explore how social media might push past the traditional graphic user interface (GUI). 

Read more: Melissa Kit Chow
QR: Inline image 1

Posted via email from Jasper-net

Untitled

| Sunday, October 7, 2012
90 THINGS I’VE LEARNED FROM FOUNDING 4 TECHNOLOGY COMPANIES

On October 27, 2010 I wrote a blog post about the “57 Things I Learned Founding 3 Tech Companies.” It has been awesome, flattering, and humbling to see that post went viral and has been seen by so many thousands of people — mainly aspiring entrepreneurs — and has been translated into many languages.

This past week while I was in Tokyo for meetings with potential partners for Fab, I was invited to participate in a panel discussion on startups. The discussion quickly turned to those 57 things. Amazing. Thousands of miles away and two years later, people still want to talk about those 57 things! 

As the questions came in, I realized that my 2010 list was great for what I had learned as of 2 years ago, but it also was in desperate need of an update to include what I’ve learned more recently, especially as we’ve pivoted from fabulis to Fab in 2011 and then scaled Fab to more than 7.5 million registered users, 7500 supplier partners, 600 team members, and a run-rate of more than $150M in sales in just 15 months.

So, here goes.

90 Things I’ve Learned Founding 4 Tech Companies:

  • Find your company’s One Thing. 

Your One Thing falls at the intersection of 3 truths:

The one thing you and your team are most passionate about.

The one thing you and your team have a realistic shot at being the best in the world at.

A huge untapped market opportunity.


If what you’re doing does not fall at the intersection of those 3 truths, you’re doing the wrong thing.


  • Only do your One Thing. Everything else is a distraction. Don’t do side projects. Don’t take unnecessary meetings. Anything that distracts you from executing on your One Thing is just that, a distraction. Say no to everything that does not contribute to your One Thing. 


Read more: Beta shop

Posted via email from Jasper-net