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

REC Studio 4 - Reverse Engineering Compiler

| Thursday, September 13, 2012
REC Studio is an interactive decompiler.

It reads a Windows, Linux, Mac OS X or raw executable file, and attempts to produce a C-like representation of the code and data used to build the executable file. 
It has been designed to read files produced for many different targets, and it has been compiled on several host systems.

REC Studio 4 is a complete rewrite of the original REC decompiler. It uses more powerful analysis techniques such as partial Single Static Assignment (SSA), allows loading Mac OS X files and supports 32 and 64 bit binaries.
Although still under development, it has reached a stage that makes it more useful than the old Rec Studio 2.

Features

  • As mentioned, Rec Studio 4 is still under development. Most target independent features have been completed, such as:
  • Multihost: Rec Studio runs on Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
  • Symbolic information support using Dwarf 2 and partial recognition of Microsoft's PDB format.
  • C++ is partially recognized: mangled names generated by gcc are demangled, as well as inheritance described in dwarf2 is honored. However, C++ is a very broad and difficult language, so some features like templates won't likely be ever supported.
  • Types and function prototype definitions can be specified in text files. Some standard Posix and Windows APIs are already provided in the Rec Studio package.
  • Interactivity is supported, limited to definition of sections, labels and function entry points. Will need to improve it to support in-program definition of types and function parameters.

Read more: REC Studio
QR: Inline image 1

Posted via email from Jasper-net

Windows 8 ToDo Demo Walkthrough - Part 1

|
Inline image 3

The Windows Azure Mobile Services (WAMoS) Preview’s initial release enables application developers targeting Windows 8 to automate the following programming tasks:
  • Creating a Windows Azure SQL Database (WASDB) instance and table to persist data entered in a Windows 8 Modern (formerly Metro) UI application’s form
  • Connecting the table to the generated data entry front end app
  • Authenticating application users
  • Pushing notifications to users
This walkthrough explains how to obtain a Windows Azure 90-day free trial, create a C#/XAML WASDB instance for a todo application, add a table to persist todo items, and generate and use a sample oakleaf-todo Windows 8 front-end application. During the preview period, you can publish up to six free Windows Mobile applications.

Prerequisites: You must perform this walkthrough under Windows 8 RTM with Visual Studio 2012 Express or higher. Downloading and installing the Mobile Services SDK Preview from GitHub also is required.

Note: The WAMoS abbreviation for Mobile Services distinguishes them from Windows Azure Media Services (WAMeS).

Inline image 1

2. Log in with your Windows Live or Office 365 ID and sign up for a 90-day free trial if you don’t have an account:

Read more: DZone
QR: Inline image 2

Posted via email from Jasper-net

Using C# types from C++/CX in Windows 8 Store Apps

|
Inline image 1

One of the best things happened to Windows 8 Store Apps (aka Metro apps) is the option to write apps and games with pure, native C++, with the help of CX extensions.

Aside from performance gained by using C++, being able to develop with C++ in Windows 8 Apps addresses one of the most requested scenarios: Porting and Code Sharing.

Lets say that you’re the creator of a famous Mobile Application, developed using C++ for Android and other platforms, and you may want to port this great app, or pieces of it to run under Windows 8.

Before running and picking C++ as the main project for your application, first thing to ask: Is it really necessary to develop the UI using C++?

Read more: Essential WPF
QR: Inline image 2

Posted via email from Jasper-net

Visual Studio 2012 Update 1: bugfixes, improve Store app profiling, targeting, more colored icons

|
Inline image 2

At the purple-everything Visual Studio 2012 launch event on Seattle’s waterfront today, Corporate Vice President of Microsoft’s Developer division Soma Somasegar announced the first update to the Visual Studio 2012 development suite coming before the end of the year.

In an interview with Jason Zander, CVP of Visual Studio, I learned a bit more about what’s in the update and the CTP preview coming at the end of this month.

First and foremost, the update will bring forth a range of post-RTM bugfixes from the long backlog of changes and requests the team has been compiling and actioning from internal and external feedback from emails, UserVoice and Microsoft Connect.

To help Windows Store app developers, there will be improvements to memory profiling tools. This will be aimed to make it easier for developers of “Windows Store apps/WinRT apps” better analyze memory problems and hopefully manage leaks. This will be quite an important tool since Windows Store apps can have a long memory lifecycle with the suspend/resume state.

To improve compatibility, the update will also improve targeting to current and upcoming platforms like Windows Phone 8 and browsers which has since changed since Visual Studio 2012 went “gold” a couple of months ago.

Last but not least, the UI critics (myself included) might also welcome some minor user interface changes. It won’t be any major revamps of the UI though. Expect only subtle things like adding color to more icons that didn’t make the RTM release.

QR: Inline image 1

Posted via email from Jasper-net

Celebrating the Visual Studio 2012 launch with the release of a popular App

|
Inline image 1

Today, we’re happy to announce the launch of Visual Studio 2012 and the .NET Framework 4.5. You can read more about the Visual Studio 2012 launch on Jason Zander’s blog.

We’ve been using the new version of Visual Studio for several months now to build .NET Framework apps for Windows, Windows Store, Windows Azure, and Window Server. The Visual Studio team has made many improvements throughout the product that I’m sure you’ll love. We’ve certainly found quite a few.

Many of you have asked for the “.NET Feature Catalog” app that we’ve been demonstrating at recent conferences such as TechEd. To celebrate the launch of Visual Studio 2012, we’re very happy to release the source code for this app. More on that below, but let’s first look at one of my favorite features in Visual Studio 2012 for .NET developers.

NuGet Integration

Everyone has a favorite Visual Studio 2012 feature. I’d like to introduce you to one that you may not have noticed yet, which has become a favorite of mine. It’s the NuGet integration in Visual Studio. NuGet is a growing web library of code libraries and tools that use the .NET Framework. There are thousands of libraries available on NuGet that have been downloaded millions of times. NuGet is already popular, but I’m guessing that it’s about to become an even bigger hit now that the NuGet client is part of Visual Studio 2012. Let’s take a look at this new feature.

Using NuGet in Visual Studio 2012

NuGet is exposed in a couple of ways in Visual Studio 2012. The primary way that I use it is via the context (right-click) menu on the project node in Solution Explorer. You can see the Manage NuGet Packages option at the bottom of the menu in Figure 1. The same option is available on the context menu of the references node. Additional NuGet functionality is available under Tools, Library Package Manager.

QR: Inline image 2

Posted via email from Jasper-net

Ninja IDE – открытая среда разработки для Python

|
Inline image 2

Оказывается, существует «ещё одна IDE» питоническая IDE: написана на Python (с использованием Qt) для Python, распространяемая по GPL. Удивительно, что не все разработчики знают о её существовании (и сам не знал), хотя проект активно зреет уже 2 года и сделано много интересного. Встречайте: Ninja IDE.

Read more: Habrahabr.ru
Read more: Ninja IDE
QR: Inline image 1

Posted via email from Jasper-net

Get Hands On with Raspberry Pi via Free OS-Building Course

| Wednesday, September 12, 2012
Inline image 1

Cambridge University is now offering a free 12-segment course that will guide you through building an OS from scratch for the tiny Raspberry Pi development board–learn the ins and outs of basic OS design on the cheap.

You’ll need a Raspberry Pi board, a computer running Windows, OS X, or Linux, and an SD card, as well as a small amount of free software. The 12-part tutorial starts you off with basic OS theory and then walks you through basic control of the board, graphics manipulation, and, finally, creating a command line interface for your new operating system.

Read more: How-to geek
QR: Inline image 2

Posted via email from Jasper-net

Jumpshare Makes It Dead Simple To Drag, Drop, and Share 150+ File Formats

|
Inline image 1

If you’re looking for a super simple way to share files with friends and coworkers Jumpshare offers drag and drop file transfer with a powerful built in file viewer.

You don’t need to register, install any software, or do anything but drag the file, drop it onto the Jumpshare interface, and share the link with your friend. Share the link and your friend can watch the real-time progress of the file upload as well as download or view the completed files within the Jumpshare file viewer. Files are hosted for two weeks before deletion.

Read more: How-to geek
Read more: Jumpshare
QR: Inline image 2

Posted via email from Jasper-net

Modern UI Icons

|
Handcrafted pixel perfect icons tailored for the Modern UI style. Each and every icon is carefully crafted in Expression Design with vector in mind. Now hosted on GitHub finding new icons and tracking your requests is easier than ever.

Premium Icons
  • Coming Soon...

What's Included
  • 753 Handcrafted Icons
  • .design Source for Expression Design
  • 48x48 App Bar Icons for Windows Phone
  • XAML vectors

Read more: Modern UI Icons
QR: Inline image 1

Posted via email from Jasper-net

TinyXML-2

|
TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs.

TinyXML-1 served my needs for many years; but it uses memory inefficiently, and doesn't perform as well as desired for mobile devices. I wanted an XML parser that was a little more modern, a little simpler (the "tiny" had been lost a little over the years), and was a good fit for Android.

This led to TinyXML-2.

Online Documentation: general information and an API reference.

TinyXML-2 is available on github, where you can send feedback, get source, share, and submit changes.

TinyXML-1 or TinyXML-2?

Both parsers:

Simple to use with similar APIs.
DOM based parser.
UTF-8 Unicode support. http://en.wikipedia.org/wiki/UTF-8

Read more: TinyXML 2
QR: Inline image 1

Posted via email from Jasper-net

Snips for the Store... Here's a boat load of code snippets to help you when building Windows Store (aka Modern UI) Apps

|
Inline image 1

This project contains around 60 commonly used code snippets for any Windows Store app. The snippets are available in the following programming languages: C#, VB, Javascript and C++. 
For more information:

Installation
List of Snippets

QR: Inline image 2

Posted via email from Jasper-net

Alibaba's New Goal: Taking On Android

|
HANGZHOU, China—While the technology industry is closely watching Apple Inc.'s patent war against rivals using Google Inc.'s Android mobile operating system, China already has homegrown software that is trying to take on Android in the country's fast-growing smartphone market.

Alibaba Group, China's largest e-commerce company by transactions, is seeing stronger demand from handset makers for its Aliyun mobile operating software it launched last year, Chief Strategy Officer Zeng Ming said in an interview with The Wall Street Journal.

QR: Inline image 1

Posted via email from Jasper-net

How to Create / Debug a Background Task in Windows 8 – Part 1

|
Inline image 1

Finally, after many tries, I’ve been able to find which is the correct way to create, configure and debug a background task in Windows 8. Let’s make a little step backward: like in the Windows Phone world, Windows 8 apps can’t run in the background. In fact, they are automatically suspended after 10 seconds that the app is not in foreground anymore. To override this limitation, Windows 8 has introduced background tasks, that are operations that can be executed in background when a criteria is satisfied: a timer is expired, a push notification is received, the computer status is changed and so on.

The concept should be familiar to Windows Phone developers: Windows Phone 7.5 has introduced the same way to support background operations. The biggest difference is that Windows 8 background tasks are more powerful: in Windows Phone there are only a few background tasks categories (mainly, based on timer events), while in Windows 8 you can create tasks that are executed when many different conditions are satisfied.

The downside is that, in Windows 8, background tasks are not so easy to implement and debug, mainly because a dedicated Visual Studio template is missing (unlike in Windows Phone), so it’s a bit tricky to understand how they work.

The first important thing to keep in mind is that a background task is a separate Visual Studio project, that is part of the same solution that contains the main application. So, the first step is to create a new project, by right clicking on the solution and choosing Add – New project. The template you’re going to use is Windows Runtime Component, inside the Windows Store category.

Read more: DZone
QR: Inline image 2

Posted via email from Jasper-net

How to Access a Named Control Inside a XAML DataTemplate (using C#)

|
Let me summarize the problem
In XAML, the ItemsControl, ListBox, ListView, FlipView, or GridView are the repeater controls. To define how each item is displayed in the UI, the developer defines a DataTemplate which he assigns to the ItemsControl’s ItemTemplate property. The ItemTemplate is like this:


<ItemTemplate>
<DataTemplate>
<TextBox x:Name=”TextBox1” />

So far, so easy. This is a common scenario and necessary for any repeater control in XAML. Rendering the ItemsControl, the ItemTemplate is repeated (see below) for every item in the ItemsSource (which has been assigned to some enumerable value like IList, ObservableCollection or even an Array).

How do you access controls inside a Template?
There is more than one approach. One approach, and my least favorite, is using the Loaded RoutedEvent on the TextBox control itself. In this approach you store the resulting (sender) in some dictionary. The up-side is that this event is handled on the page. The downside is how unmanageable it becomes if there are many objects or many different objects.

Spelunking with the Visual Tree
The preferred approach, to me, is navigating through the visual tree of the  individual item. With this you are effectively changing your scope into the individual item. From there you interact with it like you expect. I realize it’s not as simple as Loaded, but ‘tis far more repeatable, understandable and maintainable, and cleaner. Here’s how you do it:

...
...

Inline image 1

Read more: DZone
QR: Inline image 2

Posted via email from Jasper-net

Binding To Enum (wpf)

|
Inline image 1

בפוסט זה אדגים  איך לבצע Binding To Enum  ע"י שימוש בזאמל .

ניצור תונית שיש בה ComboBox  פשוט אחד . כמו זאת  :

public enum Days
        {
            ראשון ,
            שני ,
            שלישי,
            רביעי,
            חמישי,
            שישי,
            שבת
        }

אנו יודעים את הדרך המסורתית לבצע את המשימה ע"י קוד C# .

comboBox1.ItemsSource = Enum.GetValues(typeof(Days));

כעת נרצה להדגים שימוש ע"י זאמל . ובאמצעות ObjectDataProvider .   הוא למעשה גורם לEnum להיות נגיש ל Binding  .

<Window x:Class="WpfApplication1.MainWindow"
        xmlns:System="clr-namespace:System;assembly=mscorlib"
        xmlns:WpfApplication1="clr-namespace:WpfApplication1"
     בשני השורות למעלה אנו מוסיפים את שני ה ניימספיס שאנחנו צריכים לעבוד איתם , הראשון זה כדי להגדיר את
שלנו.     ENUM    כלומר ספריית המערכת שלו , והשני זה כדי לטעון  את  ה ENUM  
  Title="MainWindow" Height="84" Width="199" Loaded="Window_Loaded">
    <Grid>
        <Grid.Resources>
       
    <ObjectDataProvider x:Key="dataFromEnum"
       MethodName="GetValues" ObjectType="{x:Type System:Enum}">
                <ObjectDataProvider.MethodParameters>
                    <x:Type TypeName="WpfApplication1:Days"/>
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
 
        </Grid.Resources>
        <ComboBox Height="25" HorizontalAlignment="Left" Margin="18,10,0,0" Name="comboBox1" VerticalAlignment="Top" Width="118" ItemsSource="{Binding Source={StaticResource dataFromEnum}}" />
    </Grid>
</Window>

QR: Inline image 2

Posted via email from Jasper-net

Looking inside your screenshots

|
Dear everyone

This post may have been moved to WoW General, but it still remains an exploit - one which is used against us...

1) Go somewhere where there aren't any (or a lot) of textures. I used the druid blink bug to go to the north end of the world but you should go below Dalaran in Crystalsong Forest, as bluesius suggested, because you will get a better screenshot if you stick your face in the pure white trees.

2) Type:

/console SET screenshotQuality "9"

Make sure you use 9, not 10.

3) Take a few screenshots of the clear, no textures, white area by zooming into a tree and hitting ALT Z, so that your entire screen is white.

4) Open this image in an image editing program like IrfanView (it's freeware), click CTRL+E, select the Sharpening filter, use the highest possible sharpening value (99) and click OK. Now do this two more times, again: CTRL+E, Sharpen 99, OK.

5) You are now looking at your character's WoW watermark / custom bar-code / qr code look-a-like / call it what you will:

Inline image 1

Apparently, each character has a different set of these repeatable patterns, which contain account and realm information, and it looks like if they are scanned by software that recognizes them, they can reveal our character's account name/id, the time of the screenshot and the the full information of the realm, including its IP address (think "private servers").

The pattern, which consists of approximately 88 bytes of data, repeats itself many times depending on the resolution of your screen. See below for a colored representation: the account id and realm information are depicted in red and the current time (seconds not included) is depicted in blue:

Inline image 2

The secret watermark which is being intentionally embedded inside WoW generated screenshots below top quality, DOES NOT CONTAIN the account password, the IP address of the user or any personal information like name/surname etc. It does contain the account ID, a timestamp and the IP address of the current realm. It can be used by hackers to link alt. characters to accounts and target specific spam or scam attacks, and it can be used by Blizzard to track down private WoW servers.

Based on Blizzard's ToS (http://us.blizzard.com/en-us/company/legal/wow_tou.html), Blizzard is allowed to communicate information about our hard drive, CPU, operating systems, IP addresses, running tasks, account name and current time and date. It never mentions anything though about embedding some of these data into every screenshot we capture using the WoW printscreen tool. The users assume that Blizzard will use a safe channel via battle.net, not our public screenshots that we share with the world, unaware of their secret contents. This unencrypted watermarking mechanism fails to protect our privacy, not from Activision employees (they already know everything about our computer systems), but from malicious hackers looking for something or someone to take advantage of.

Read more: OwnedCore
QR: Inline image 3

Posted via email from Jasper-net

UEFI Programming - First Steps

| Tuesday, September 11, 2012
In this article, I will describe steps needed to start on with development of real UEFI applications on x86 PC, and share some practical experiences with problems doing so. I will focus on 64-bit version of UEFI, because the 32-bit version isn't much used in this area (most likely due to Microsoft decision not to support UEFI in 32-bit Vista). So, to follow some of my steps here, you'll need a 64-bit CPU (but not 64-bit OS, you can use any 32-bit OS as well). We will finish this article with EFI Hello World application.

This article is continuation of my previous article Introduction to UEFI. Make sure to understand things described there, before reading on.

Of course, anything you try according to this article, you are doing at your own risk.

Getting the hardware

To start UEFI development, first of all you need to get a motherboard whose BIOS has UEFI support. (more precisely we should probably say "whose firmware has UEFI support", but I will use this form). Finding whether particular BIOS has UEFI support often turns out to be quite complicated task. Motherboard manufacturers license BIOS from other companies, usually from AMI (Aptio, AMIBIOS), Phoenix (SecureCore, TrustedCore, AwardCore) or Insyde (InsydeH20). Forget about determining UEFI support just by end-user stats you see in most shops. Since UEFI support is still only in somewhat experimental state, in many cases it isn't even listed in motherboard technical specification. In such case you are left to googling and asking on forums, where you often get only internal brand name that is often hard to match with end-user product designation.

One trick that I found out to work for Intel boards (but it may very well work for other boards as well) is to look at BIOS Update Release Notes, e. g. the document which lists changes and fixes of BIOS. If board has UEFI support, you will probably find UEFI mentioned there (and only there in case of Intel).

In short, determining UEFI support is much harder than it may seem. Some machines that have this technology are listed here. I use Intel DG33BU board (it was marketed as Intel DG33BUC for some reason).

You will also need some place to boot from. In theory just USB pen should be enough, but in practice none of 4 brands I tried worked with my board's UEFI implementation. So you may have to use harddrive. I strongly suggest IDE drive, because SATA drives may need some tweaking of BIOS settings, or they may not work at all. Like the USB pens, USB keyboard might be a problem too. I wouldn't fear this that much, but if you can use PS/2 keyboard, do so.

Getting the software

To go on with UEFI development, you will need two development packages: EFI Development Kit (EDK) and EFI Toolkit.

Read more: x86asm.net
QR: Inline image 1

Posted via email from Jasper-net

Attention Mobile Developers, Your Reading Assignments Are Up

|
September is now in full swing, and you’ve got homework. The Xamarin Developer Center has added mounds of amazing new material to our portal, and we can’t wait for you to start reading! Here are some of the new guides we’ve got for you:

Cross Platform

Introduction to Mobile Development - A fantastic way to get up to speed on the foundations of mobile development, the Xamarin toolkit, and the beauty of a cross-platform approach to developing your app.

Android

Intro to ContentProviders - Examines the Android Provider Pattern and illustrates how to use it to expose data in an agnostic way to the various UI controls in Android that expect a ContentProvider.
Java Integration Overview - Provides a solid foundation in understanding the various ways to integrate existing Java code and Libraries in your Android application.
Publishing an Application - Walks through the process of publishing your application to Google Play, Amazon, or just a file share, for wider distribution.

iOS

In-App Purchasing - Covers how to use the Apple Store Kit APIs to provide  in-app upgrades, and subscriptions. Illustrates how to verify transactions, secure store, and more.

Read more: Xamarin blog
QR: Inline image 1

Posted via email from Jasper-net

The New .NET 4.5 Feature Every XAML Developer Will Love

| Monday, September 10, 2012
If you develop using XAML and you are using .NET 4.5 (i.e. WPF or Windows 8) then there is a feature that will make you smile a bit, CallerMemberName. XAML developers often implement INotifyPropertyChanged to enable updating of data bound fields. If are smart, you often wrap the raising of the event into a simple method you can call, for example:

public void RaisePropertyChange(string propertyName)
{
    if (PropertyChanged != null)
    {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

This leads to code that looks like this:

private int ticks;

public int Ticks
{
    get { return ticks; }
    set
    {
        if (ticks != value)
        {
            ticks = value;                    
            RaisePropertyChange("Ticks");
        }
    }
}

...
...

The solution: CallerMemberName
.NET 4.5 includes a new parameter attribute called System.Runtime.CompilerServices.CallerMemberName which will automatically place the name of the calling member (i.e. method or property) into the parameter. This enables us to change the method signature to:

public void RaisePropertyChange([CallerMemberName] string propertyName = "")

Read more: DZone
QR: Inline image 1

Posted via email from Jasper-net

Windows 8 Introduction to XAML

|
Hi All,

This particular blog article series aims to get readers understanding XAML on a functional level.  The primary focus will be Layout, Content, Control, Styling, Animation, Resources, a little theory and some code behind.  The assumption I am making of my readers is that you know how to open Visual Studio, create a project and navigate the IDE.  I am gearing this article specifically for people brand new to XAML and C#.

 

Part 1 covers just what you get out of the box in the Blank App and how it connects together.  Part 2 we will discuss Layout, Content and Control elements as well as many of their properties and attributes.  Part 3 we will discuss Styling and Resources in more depth, and Part 4 will be on Animation.

What is Xaml

Xaml is "Extensible Markup Language".  What it essentially is, is the presentation layer of WPF, Silverlight, and Windows 8 C# and C++ applications.  It is essentially an xml file with a .xaml extension.  It is "Extensible" because you can add extensions inline, this is a typical case when providing styles from resources, which we will discuss later in the series.  For more in depth information, feel free to use MSDN as a supplement: http://msdn.microsoft.com/en-us/library/ms752059.aspx

The Blank App

So go ahead and create a new Windows Store Blank App (XAML) under the visual C# tab.  What you get when you first look at it is MainPage.xaml, App.xaml, and under the Common folder, you get StandardStyles.xaml

Inline image 1

This basic template is a great starting point and provides some insight into how to create your own application.  So lets take a look at each file in a little bit of detail.

 

MainPage.xaml

To really demonstrate how these files connect to each other, we need to add an element to the application.  So locate the Grid Element and create a button between the two tags, like so.

QR: Inline image 2

Posted via email from Jasper-net

Делаем сами Single-Side Arduino c COM-портом на борту

|
Занимаясь электроникой и микроконтроллерами, я прекрасно осознаю, что было бы неплохо иметь под рукой готовую отладочную плату. С ее помощью можно быстро проверить какой-нибудь сервопривод, датчик и т.д., а то и собрать на ней целиком весь проект. Именно поэтому решил самостоятельно изготовить Arduino.

Создатели знаменитой платформы позаботились о любителях DIY и подготовили для этого специальную одностороннюю версию платы. Также в интернете есть весьма подробные инструкции о том, как изготовить ее в домашних условиях. К сожалению, у этой платы есть несколько недостатков, а именно: подключение только через COM-порт и питание исключительно от адаптера. Я решил устранить и получил в итоге вот такую, симпатичную плату:

Inline image 1

Конечно, идея не новая, и на просторах интернета не раз звучала идея прикручивания виртуального COM-порта к Single-Side Board, но готового проекта я нигде не встречал. 

Read more: Habrahabr.ru
QR: Inline image 2

Posted via email from Jasper-net

Проблема пиратства с точки зрения утилитаризма или когда выгодно использовать нелицензионный продукт

|
В последнее время всё больше внимания уделяется вопросу пиратства и борьбе с этим явлением. Однако большинство лиц, от которых, главным образом, и зависит выбор приоритетной стратегии решения данной проблемы, такие как медийные компании или государственные чиновники, склоняются просто к пути разработки более совершенного карательного механизма, абсолютно не допуская, что это может быть неоптимальным решением.
В данной статье проблема пиратства будет рассмотрена с позиции утилитаризма, что позволит продемонстрировать если и не полную несостоятельность наиболее популярной концепции, то, как минимум, её неоднозначность. Материал писался для широкой публики, поэтому с точки зрения строгой экономической теории имеет ряд существенных упрощений и неточностей. По этой причине, людям, сведущим в методологии микроэкономического анализа читать этот текст не рекомендуется во избежание справедливого негодования.

Сразу следует отметить, что в дальнейшем мы будем исходить из существующих правовых норм, то есть абстрактные рассуждения о несправедливости современной системы авторских прав будут оставлены за рамками данной статьи. Безусловно, есть довольно интересные доводы в пользу необходимости пересмотра всей этой системы, но наивно надеется, что власти большинства стран готовы принять такие радикальные идеи уже сегодня или завтра.
Прежде всего, примем за аксиому то, что пиратство является абсолютно рациональным видом деятельности, а не каким-то маргинальным поведением всех участников данного процесса. Конечно, наверняка существует некоторое количество людей, участвующих в этом из каких-то иррациональных соображений, но это абсолютное меньшинство. В конце концов, несмотря на существование клептомании, кража трактуется в обществе вполне однозначно.
Теперь выявим основную причину совершения любого противоправного действия, в том числе и пиратства.
В большинстве случаев, каждый индивид имеет вполне определённую информацию о выгоде, которую он получит от совершения противоправного действия, о примерном наказании, которое положено ему в случае поимки, и о приблизительной вероятности этой самой поимки. Не обязательно это знание может быть оформлено в виде конкретных чисел, но интуитивное понимание данных категорий и их относительных величин, как правило, присутствует у всех членов общества.
Обозначив эти три величины как Y, p и F, можно получить следующее неравенство:
Y > p*F
Данное неравенство является условием, необходимым для совершения осознанного преступления. То есть простыми словами, преступление происходит только тогда, когда потенциальная выгода от его совершения превышает риск потенциального наказания.
Некоторым может показаться, что всё слишком упрощено и преступлений в реальности намного меньше, чем случаев соблюдения данного условия.

Read more: Habrahabr.ru
QR: Inline image 1

Posted via email from Jasper-net

Build your own VoIP System

| Sunday, September 9, 2012
This blog post is the first part of a series of posts, which describe how VoIP works and how the Sipwise sip:provider Platform enables you to start various VoIP business models.

Part 1, which is provided in this post, gives you an introduction in how VoIP works.
Part 2 shows how you can set up a secure and self-hosted Skype-like VoIP system for free using the sip:provider Platform within 30 minutes.
Part 3 is dedicated to the sip:provider Platform acting as an SBC in front of existing VoIP systems.
Part 4 describes how you can operate a whole-sale business with the sip:provider Platform.
Part 5 shows how to enable Over-The-Top (OTT) services using Apple and Google Push Notification Services.
Introduction

VoIP Systems are seen as complex communication infrastructures even from a high level perspective, but they’re not. Well, VoIP is in fact complex in its details, but it has been abstracted by various projects in order to make it really straight-forward to use it, so it’s easy to start a compelling voice/video communication system or service (which I’ll name “VoIP system” or “VoIP service” throughout the document) from scratch, but it’s important to learn a few facts about it in order to choose the right base system for successfully running a VoIP service.

The Basics

VoIP just means “Voice over IP”, which is a generic term for transporting real-time voice sessions over the Internet. However, it doesn’t define HOW this is done, and even the term “Voice” is a bit misleading, because with the very same concept, you can transport also Video and Fax over an IP connection.

There are a couple of elements involved when you’re talking about a VoIP system:

Inline image 2

To sum it up, there are SIP Endpoints, which are the client instances of your customers. These could be software installed on your customer’s computers (popular software is Jitsi, an open source and cross-platform communications client, or Bria, a commercial multi-platform client for Windows, iOS and Android). Other possibilities are SIP phones like SNOM phones or Polycom Phones.

Read more: Sip:wise
QR: Inline image 1

Posted via email from Jasper-net