Showing posts with label non. Show all posts
Showing posts with label non. Show all posts

Thursday, April 20, 2017

Non Functional Requirements NFR and Scrum

Non Functional Requirements NFR and Scrum






I recorded a small webcast to visualize how I like to work with NFR with Scrum!

Enjoy,
Ralph
effective agile.


Available link for download

Read more »

Monday, March 27, 2017

Non Foolery on April Fools’ Day

Non Foolery on April Fools’ Day


On its face, April Fools’ Day seems like a lighthearted opportunity to play practical jokes and pranks on your friends and coworkers, but it’s easy to see the problem with having such a wacky day filled with falsities and gags. Namely, what happens when something of real consequence actually takes place on April 1st, but people don’t believe it because they automatically think it’s a prank? Here’s a few true tales of actual events that occurred on April 1st that were anything but gags.

Giggling at Google

Google is known for announcing ridiculous news stories, such as telepathic search engines and job openings on the moon, on April Fools’ Day. The thing is, when you are known for this sort of tom foolery, it makes it difficult to be taken seriously when you have real news on April 1st.
Humorously enough, the company has decided to take advantage of the viral marketing people give to the news they announce that day, so they have actually made announcements for real products and services at the same time. In 2004 (the same year they created job listings for the moon), they announced the release of Gmail. While this may not seem all that funny, many people still thought it was a prank because the idea of a mail service with one full gigabyte of storage seemed preposterous –at the time, Hotmail only offered 2 megabytes. They followed the success of this announcement by announcing the increase of the mail service’s storage to two gigabytes the next year, also on April Fools’ Day.

In a company that plays such major pranks on the nation every year, it seems likely that the employees must play some really great jokes on each other come April 1st. As such, when an employee’s pet ball python escaped its enclosure on the holiday, the news was met with some disbelief. Unfortunately, this time the news was real. An email was sent out to the entire staff that started out, “The timing of this email could not be more awkward.” It then moved on to say:
“Tempting as it might be, this is not an April Fool’s joke! We are sending this message to alert you to the situation and to let you know what to do in the event you see the snake. “
At least the sender recognized the humor of the situation. In case you were worried about the critter, he was eventually found and returned to his owner’s house a few days later.

Dimming the Guiding Light

Whereas Google has mastered the art of cleverly announcing real news on April Fools’ Day in order to play with the minds of the public, CBS obviously has a lot to learn about making serious announcements on April 1st. Last year, they infuriated a number of loyal viewers by announcing the cancellation of the seventy-two year old daytime soap Guiding Light on April Fools’ Day. As one angry commenter wrote onTV Squad:
“If it’s true, you’re jerks for announcing it today. And if it’s not true, then everyone who believes you was a jerk for believing such a story on April Fools’ Day.”

A Depressing Day For Death

Unfortunately, not all real news on April Fools’ Day is as minor as a lost python or canceled TV show. There are many situations where people do not believe a person has died, simply because of the date. Unfortunately, the three best examples of this are all so strange that it’s not surprising that people believed the news to be a hoax.
In 1984, one day before his 45th birthday,Marvin Gaye was murdered by his own father after intervening in an argument between his parents. Many fans refused to believe the news because it seemed so odd that his dad would have been the murderer. It wasn’t until the news was confirmed officially that many people stopped believing the murder was more than a cruel April Fools’ Day joke.
Surprisingly, Marvin Senior was only found guilty of voluntary manslaughter and sentenced to five years imprisonment because his son beat him before the shooting.

Not A Set Up For A Tasteless Joke


If you heard a NASCAR champion nicknamed “The Polish Prince” died in a Hooters corporate plane on April Fools’ Day, would you believe it? A lot of fans thought they were hearing a bad joke in 1993 when racing star Alan Kulwicki was announced to be dead in exactly those circumstances.

A Funny Day To Announce An Unfunny Death

Is there a more fitting day for a comedian to die than April Fools’ Day? While Mitch Hedberg actually died on March 30, 2005, the news wasn’t spread to the media until very late on March 31st. Not surprisingly, many people thought the death was merely a prank or a bad publicity stunt put on by Mitch himself.

Don’t Doubt The Danger Warnings


Perhaps the only situation that is worse than one person dying on April Fools’ Day is the so-called April Fools’ Tsunami of 1946, when over 100 people died, largely because they believed storm warnings were a joke. The incident occurred after an massive earthquake on the Aleutian Islands near Alaska, which caused a series of massive tidal waves that spread all the way to South America. Most of the damage hit Hawaii though, where the tsunami reached up to 45 feet tall. Unfortunately, because so many people doubted the news of the impending tidal wave and refused to evacuate, over 165 people died -159 of them in Hawaii.
Interestingly, perhaps this was a bit of a sick prank on the part of Mother Nature, because scientists are still unable to find any reason the 7.8 magnitude earthquake was able to launch such a massive tsunami. It was originally thought that the waves were intensified by a major underwater landslide in the area, but scientists have still found no evidence of this hypothetical landslide. One of the researchers who recently mapped the ocean floor looking for a landslide in the area summed up the matter by noting, “almost 60 years after the event, the 1946 tsunami is still making fools of all of us.”
What about you, readers? Have you ever thought something that happened on April 1st was actually a joke, only to find out later that it was actually 100% true?
Rate Article:


Available link for download

Read more »

Sunday, March 26, 2017

Non Goth Music Ive Been Loving 3

Non Goth Music Ive Been Loving 3


Work is keeping me as busy as ever right now, so much to do as the end of summer gets closer and closer. Ive hardly had two minutes to myself, but when I do Ive been enjoying listening to some great music. Besides the incredible Goth music we all know and love, here are some non-Goth music favorites I have been loving lately.





What have you all been listening to lately? Are you busy?

Available link for download

Read more »

Saturday, March 18, 2017

Non Farm Payroll Nfp Strategi Meraih 100 Pips Dalam Sekejap

Non Farm Payroll Nfp Strategi Meraih 100 Pips Dalam Sekejap


Raihlah 100+ pips dari strategi Non Farm PayRoll (NFP)

teknik perangkap 2 arah Terdapat banyak sekali strategi forex yang bisa menghasilkan untung di forex/valas dan salah satunya adalah strategi forex yang akan kita bahas yaitu teknik perangkap 2 arah.

Teknik perangkap seperti ini sangat populer di kalangan trader Marketiva dan sangat menguntungkan bila diterapkan saat event-event ekonomi penting. Teknik ini tidak memerlukan indikator, yang diperlukan hanya kemampuan untuk memasang harga order (pesan harga) dan akan lebih baik lagi bila Anda memiliki pengetahuan analisa fundamental.

Waktu trading forex paling tepat adalah saat  US open sekitar jam 19.00 WIB (GMT +7) atau sesuai dengan keluarnya data ekonomi penting dari Amerika. Untuk mengetahui berita dan data ekonomi yang akan keluar pada hari itu, saya sarankan Anda menyempatkan diri melihat Calender harian di http://forexfactory.com di sini Anda bisa dengan mudah melihat data ekonomi yang akan keluar, jam berapa serta seberapa pentingnya data tersebut.

Data ekonomi yang cukup penting dan ditunggu banyak trader di sini biasanya adalah data-data ekonomi NFP (Non Farm Payroll), CPI Core (Consumer Price Index) dan pengumuman dari FOMC tentang kenaikan suku bunga. NFP yang diumumkan setiap hari Jumat pertama setiap bulan contohnya bisa membuat pergerakan harga GBP/USD dan EUR/USD mencapai 200 pips.

Inilah Strategi forex perangkap 2 arah:

Lihat Kalender Economic Harian, yg biasanya di upgrade mingguan di http://forexfactory.com Contoh trading dengan NFP mis: pada hari Jumat pertama bulan itu ada data tentang NFP yang akan dirilis di Amerika jam 19.30 WIB. Di http://forexfactory.com Anda bisa menyesuaikan waktu Amerika dan Jakarta (WIB) dengan jalan mengganti time periode menjadi +7 otomatis calendar forexfcatory akan menyesuaikan dengan waktu Jakarta.

Buka platform trading Marketiva Anda. Sebaiknya bila berita ekonomi akan dirilis jam 19.30 WIB Anda sudah online 30 menit sebelumnya untuk melakukan persiapan. Sebelum jam 19.30 WIB biasanya pergerakan harga tidak terlalu banyak karena cenderung pelaku pasar sedang berita yang akan diumumkan nanti.

Lima menit mendekati waktu 19.30 WIB yaitu jam 19.25 WIB pasanglah dua order posisi sekaligus. Yaitu posisi BUY dan SELL. Anda harus lihat harga pada saat itu. Untuk memasang harga order tambahkan 30 pips untuk posisi BUY dan kurangi 30 pips untuk posisi SELL. Lalu pasang Stop Loss 40 pips, Target profit pasang 70 pips atau terserah Anda bila yakin dengan pergerakan harga saat itu dan ingin mendapatkan keuntungan yang maksimal.

Contoh cara memasang perangkap di Marketiva.

Misalnya pada saat itu harga GBP/USD bergerak di sekitar 1.7230

1. Pasang posisi pertama yaitu “BUY”

Klik tab “Orders” pada platform Marketiva Anda, lalu klik “New” maka akan muncul tab isian:

Instrument = Isi dengan “GBP/USD”
Buy/Sell = Pilih “Buy”
Price = Masukan harga “1.7270” (dari 1.7230 + 0.0040 (+40 pip))
Price Type = Pilih “Stop”
Quantity = Isi jumlah uang yang ingin Anda transaksikan (ingat leverage 1:100)

Bila transaksi $1 maka masukan nilai 100 pada kolom Quantity
Bila transaksi $5 maka masukan nilai 500 pada kolom Quantiy
Bila transaksi $100 maka masukan nilai 10000 pada kolom Quantity
Bila transaksi $2000 maka masukan nilai 200000 pada kolom Quantity, dst

Exit Stop Loss = Isi dengan “1.7240? (dari 1.7270 – 0.0030 (30 pip)
Exit Target = Bila ingin target profit 50 pip masukkan “1.7320? (dari 1.7270 + 0.0050)
Desk = pilih “Live” jika ingin trading dengan uang sesungguhnya pilih “Virtual” jika hanya ingin trading simulasi

Klik “OK” Transaksi Anda langsung terkirim dan tercatat di bagian Order.

2. Pasang posisi ke-dua yaitu “SELL”

Klik tab “Orders” pada platform Marketiva Anda, lalu klik “New” maka akan muncul tab isian:

Instrument = Isi dengan “GBP/USD”
Buy/Sell = Pilih “SELL”
Price = Masukan harga “1.7190” (dari 1.7230 – 0.0040 (-40 pip))
Price Type = Pilih “Stop”
Quantity = Isi jumlah uang yang ingin Anda transaksikan (ingat leverage 1:100)
Exit Stop Loss = Masukan harga 1.7220 (dari 1.7190 + 0.0030 (30 pip)
Exit Target = Bila ingin target profit 50 pip masukkan 1.7140 (dari 1.7190 – 0.0050)
Desk = pilih “live” jika ingin trading dengan uang sesungguhnya. Pilih “Virtual” jika hanya ingin trading simulasi

Klik “OK” maka transaksi Anda langsung terkirim dan tercatat di bagian Order

Sekarang Anda Memiliki dua posisi order sekaligus :

  • Posisi Order BUY di 1.7270 SL 1.7240 TP 1.7320
  • Posisi Order SELL di 1.7190 SL 1.7220 TP 1.7140

Setelah itu kita menunggu sampai jam 19.30 WIB lewat. Setelah berita ekonomi NFP ini diumumkan biasanya harga akan bergerak naik atau turun secara drastis. Bila harga bergerak naik, pasti posisi Buy yang tersentuh. Dan Bila harga bergerak turun, maka posisi Sell akan kena. Ini yang disebut dengan perangkap.

Bila posisi order “buy” yang tersentuh, Anda bisa membatalkan (cancel) posisi order “sell”. Begitu pula sebaliknya. Untuk Meng”cancel” klik “Position ID” pada transaksi order yang ingin dibatalkan, lalu klik “Cancel”

Strategi ini juga bisa digunakan pada event-event ekonomi yang lain seperti GDP, Home sales dsb tetapi karena pergerakannya tidak sebanyak NFP atau CPI Core maka target penambahan dan pengurangan harus Anda kurangi menjelang diumumkannya berita eknomomi tersebut missal order posisi BUY + 20 dan SELL -20. Stop loss 20 pip dan target Profit 30.

NFP Adalah Berita Nomor Satu yang Paling Powerful di Forex Trading !

Coba lihat gambar dibawah ini , Efek News ini lebih kurang 185 pips dalam waktu kurang dari 15 Menit saja. Gambar tersebut adalah Efek News NFP tanggal 2 Juni 2006 lalu.

nvp1 

Ingat…!!! ….setiap JUM’AT MINGGU PERTAMA TIAP BULAN, NEWS ini selalu Muncul...., Efek dari News ini selalu 1 (satu) arah dengan cepat, apakah keatas apakah kebawah.


Gambar di ke-dua dibawah ini  adalah Efek News Non Farm Payroll / NFP pada tanggal 5 Mei 2006 lalu. Bisa Anda lihat bahwa efeknya selalu membuat pergerakan point diatas 100 pips.

nvp2 

Sama halnya seperti cara perangkap NFP yang telah dikupas tuntas seperti tersebut diatas, berikut strategy, aplikasi dan simulasi perangkapnya dengan penjelasan secara singkat :

Strategy :

  • Sebelum News Muncul, mulai Pagi, LIBUR Trade.
  • Mulai Trade sebaiknya 30 menit menjelang News Muncul.
  • Pasang Perangkap, silahkan lihat Strategy Perangkap NFP.

Caranya :

  • Cari Nilai High & Low transaksi 2 jam menjelang News Non Farm Payroll / NFP Muncul.
  • Silahkan Open BUY di HIGH, dan SELL di LOW.
  • Ambil Target +100 pips saja.
  • Ambil Stop Lose masing-masing 40 pips saja.
  • SELESAI

Aplikasinya  :

Silahkan Open BUY STOP di HIGH, dan Open SELL STOP di LOW, Ambil Target 100 pips saja. Dan ambil Stop Loss masing-masing 40 pips saja. Atau bisa juga Set perangkap (TRAP) dengan cara seperti ini : Misal Harga saat itu (10 menit sebelum News keluar) untuk Pair GBP/USD 1.8700, maka anda bisa Open BUY STOP di 1.8730 (1.8700 + 30) Target Point di 1.8830 (+100 pips) dan Stop Loss di 1.8690 (-40) dan Open SELL STOP di 1.8670 (1.8700 - 30) Target point di 1.8570 (-100 pips) dan Stop Loss di 1.8710. (* BILA SATU POSISI TELAH TERSENTUH, MAKA POSISI YANG TIDAK TERKENA BISA ANDA CANCEL, CONTOH : BILA TERSENTUH BUY, MAKA POSISI SELL BISA ANDA CANCEL).

Strategy ini hamper 90% selalu sukses!

Jika anda Trader dengan Standart Account, sebenarnya bisa melakukan trade disini cukup 1 (satu) kali satu bulan untuk target bulanan 100 pips. Maka dalam 3 bulan (hanya 3 kali trade anda sudah ROI).

INGAT……. !!!

  • Fokus di 1 pair saja, misal : GBP/USD saja.( Dianjurkan GBP/USD)
  • Coba anda lihat dulu posisi currency pair dalam market saat menjelang News
  • Jika currency pair berada dalam posisi tertekan, maka akan memberikan efek yang cukup luar biasa, namun jika currency pairnya tidak dalam posisi tertekan, rasanya efeknya juga tidak begitu besar.
    Jika anda Trader dengan Standart Account, sebenarnya bisa melakukan trade disini cukup 1 (satu) kali satu bulan untuk target bulanan 100 pips. Maka dalam 3 bulan (hanya 3 kali trade anda sudah ROI)...hehehehe..

Kuncinya adalah :

  • Ketahui Kapan Jadwal News NFP bakal muncul bulan ini. (http://www.forexfactory.com)
  • Siapkan Perangkap 100 pips di 10 menit menjelang News Muncul dengan Posisi seperti yang saya jelaskan tadi.
  • Jika anda sudah terbiasa dengan perangkap ini, gunakan Quantity 30 % dari Margin anda.
  • Nikmati hasilnya 1 bulan dan nunggu News NFP Bulan Depan untuk trade selanjutnya.

Simulasi:

Jika anda deposit $3000, lalu anda trade dengan $1000 (Quantity 100000), dengan keuntungan 1 pips = $10, ($10 x 100 pips = $1000) dengan trade 15 menit sebulan sekali ini, 100 pips di peroleh sebagai target sehingga hasil bulanan cukup $1000 ... (10 Juta .... hanya dengan 15 Menit sebulan sekali) sudah mengalahkan gaji pegawai kantoran yang bekerja keras setiap hari.

Satu hal yang harus selalu diingat para trader forex di Marketiva:

Jadikanlah  TREND sahabat trading ANDA…!!!

Jadi janganlah melawan trend yang sedang terjadi tetapi ikutilah trend tersebut, maka keuntungan forex ada di depan anda.

Info terbaru …, Bukti Gambar  dibawah ini  adalah Efek News Non Farm Payroll / NFP pada hari jum’at tanggal 29 juli 2011 pukul 19.30 wib. Bisa Anda lihat bahwa efeknya selalu membuat pergerakan point diatas 100 pips.

NFPnews1

Strategi forex perangkap di atas sangat efektif jika anda gunakan di Marketiva. Jika anda belum punya account di Marketiva maka segeralah Daftar di Marketiva.

Selamat Trading……., semoga sukses…!!!!!

.


Available link for download

Read more »

Thursday, March 9, 2017

Non Goth Music Ive been Loving Lately

Non Goth Music Ive been Loving Lately


I love Goth music, some of it is incredibly nostalgic for me and its one of the things that really bonds me to the subculture. I dont remember the last week I went without listening to some song by The Sisters of Mercy or The Cure. Still, Ive been opening my mind up more and more as time goes on to music outside of our little subculture and, lo and behold, some of it is absolutely fantastic. So, here is my list of a few non-Gothic songs Ive been listening to a lot lately.


What have you all been listening to lately?

Available link for download

Read more »

Friday, February 10, 2017

Non persistent connection performance improvements in 5 6

Non persistent connection performance improvements in 5 6


One of my favorite performance improvements in 5.6 is "faster non-persistent connections". I couldnt find this information from release notes, but non-persistent connection is really faster in 5.6.

Here are sysbench micro-benchmark results. I tested from 100 concurrent clients, running remotely. Clients simply connected and disconnected repeatedly.
versionconnections per second
5.1.6520712
5.5.2824000
5.5.25Maria28073
5.5.25Maria,ThreadPool27653
5.6.937800

The whole sysbench command I used is as below.
[remote_client]$ sysbench --test=oltp --oltp-table-size=2000000 
--max-requests=1000000 --mysql-table-engine=innodb --db-ps-mode=disable
--mysql-engine-trx=yes --oltp-read-only --oltp-skip-trx --oltp-dist-type=special
--oltp-reconnect-mode=query --oltp-connect-delay=0 --db-driver=mysql
--mysql-user=root --mysql-host=$server_host --mysql-port=$server_port
--num-threads=100 run
I tested 1000+ connections and got similar numbers.

As you can see, 5.6 is nearly 2x faster than 5.1.

There are many performance improvements in 5.6, so Im not sure which fix contributed the most. I assume the biggest one is that THD (quite a large C++ class inside MySQL) destructor is no longer called during holding a global mutex. Prior to 5.6, THD destructor is called under a global LOCK_thread_count mutex. This is not efficient. I experienced some serious connection/disconnection problems caused by the global mutex in MySQL Cluster a few years ago, and there were some fixes in MySQL Cluster source tree. Now in 5.6, THD destructor is called outside of the LOCK_thread_count mutex as below. This is great news.
5.1/5.5: one_thread_per_connection_end() -> unlink_thd()
(void) pthread_mutex_lock(&LOCK_thread_count);
thread_count--;
delete thd;
...

5.6.9: one_thread_per_connection_end()
...
mysql_mutex_unlock(&LOCK_thread_count);
delete thd;
5.6 also fixed some connection performance issues reported by Domas. Some of major issues are still ongoing. So once all of them are fixed, we can expect even better performance:)

Apparently persistent connection is much more efficient than non-persistent, but this is not always possible. In addition to that, 5.6 improves query performance in high concurrency as well. I believe many production engineers will welcome these performance improvements.

Available link for download

Read more »

Monday, February 6, 2017

Non Standard Way to Get Inaccessible Data from iOS

Non Standard Way to Get Inaccessible Data from iOS


In the wake of my speech at Positive Hack Days, I would like to share information I got exploring a daemon configd on iOS 6 MACH. As you know, iOS gives little information about Wi-Fi connection status. Basically, Public API allows getting SSID, BSSID, adapter network settings and thats all. And what about encryption mode? Signal power? You can look under the cut for more information on how to get such data without Private API and jailbreaking.

Now I must apologize for posting so many source codes. To begin with, let us recall how it was earlier, in iOS 5.*. Then you could use Apple System Log facility to get the system messages that are displayed when connecting to a network. The encryption mode and signal power data appeared in the messages. And you could get them this way:
aslmsg asl, message;
aslresponse searchResult;
int i;
const char *key, *val;
NSMutableArray *result_dicts = [NSMutableArray array];

asl = asl_new(ASL_TYPE_QUERY);
if (!asl)
{
DDLogCError(@"Failed creating ASL query");
}
asl_set_query(asl, "Sender", "kernel", ASL_QUERY_OP_EQUAL);
asl_set_query(asl, "Message", "AppleBCMWLAN Joined BSS:", ASL_QUERY_OP_PREFIX|ASL_QUERY_OP_EQUAL);
searchResult = asl_search(NULL, asl);
while (NULL != (message = aslresponse_next(searchResult)))
{
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];

for (i = 0; (NULL != (key = asl_key(message, i))); i++)
{
NSString *keyString = [NSString stringWithUTF8String:(char *)key];

val = asl_get(message, key);

NSString *string = [NSString stringWithUTF8String:val];
[tmpDict setObject:string forKey:keyString];
}
[result_dicts addObject:tmpDict];
}
aslresponse_free(searchResult);
asl_free(asl);
But, as Apple usually does, the company closed the access to the system messages in ASL once it knew about them. So we had to find a new way to get these data. The question was stated differently: how can you get these data in Mac OS and iOS?

First of all, you can use scutil, which allows getting the system configuration data including the information we need. Testing jailbroken iPhone on iOS 6 proved that the tool works quite well. For me it was a clue, and I started to look for a way to reach SystemConfiguration on iOS.

It was as simple as pie: SystemConfiguration.framework. It allows connecting to Mac OS value storage and get a property list, which includes wireless networks data.

However, when you look at the header files of the library, you get upset: using the required method is restricted.
CFPropertyListRef
SCDynamicStoreCopyValue (
SCDynamicStoreRef store,
CFStringRef key
) __OSX_AVAILABLE_STARTING(__MAC_10_1,__IPHONE_NA);
First, make sure that the method is functional.

void *handle = dlopen("/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration", RTLD_LAZY);
CFArrayRef (*_SCDynamicStoreCopyKeyList)(int store, CFStringRef pattern) = dlsym(handle, "SCDynamicStoreCopyKeyList");

NSLog(@"Lib handle: %u", handle);



NSString *key = @"State:/Network/Global/DNS";

CFArrayRef testarrray = _SCDynamicStoreCopyKeyList(0, CFSTR("State:/Network/Interface/en0/AirPort"));
NSLog(@"Tested array res: %@", testarrray);
Everythings fine. The result returns. So theres no blocks, only formal Apples restrictions, which wont allow passing validation in App Store. Anyways, why dont we write a piece of the library by our own.

The source code was easy to be found: it was a part of the daemon configd. The most interesting stuff begins when reading description of SCDynamicStoreCopyValue.
#include "config.h" /* MiG generated file */

...

/* send the key & fetch the associated data from the server */
status = configget(storePrivate->server,
myKeyRef,
myKeyLen,
&xmlDataRef,
(int *)&xmlDataLen,
&newInstance,
(int *)&sc_status);
OK. A request is passed to the file generated using MACH Interface Generator. We have description in MIG in the file located nearby.
routine configget ( server : mach_port_t;
key : xmlData;
out data : xmlDataOut, dealloc;
out newInstance : int;
out status : int);
Now you have two options — the way of a common person and the way of the Jedi. You can run mig on the file config.defs and get the codes to be entered into the project. But unfortunately we did not discover the file during the research so we had to do some reverse engineering :) However, Dmitry Sklyarov did show his jedi skills and managed to restore the process of sending the request to the MACH port, configd. So the method was completely restored.
#define kMachPortConfigd "com.apple.SystemConfiguration.configd"

-(NSDictionary *)getSCdata:(NSString *)key
{

if(SYSTEM_VERSION_LESS_THAN(@"6.0"))
{
// It does not work on iOS 5.*
return nil;
}

struct send_body {mach_msg_header_t header; int count; UInt8 *addr; CFIndex size0; int flags; NDR_record_t ndr; CFIndex size; int retB; int rcB; int f24; int f28;};

mach_port_t bootstrapport = MACH_PORT_NULL;
mach_port_t configport = MACH_PORT_NULL;
mach_msg_header_t *msg;
mach_msg_return_t msg_return;
struct send_body send_msg;
// Make request
CFDataRef extRepr;
extRepr = CFStringCreateExternalRepresentation(NULL, (__bridge CFStringRef)(key), kCFStringEncodingUTF8, 0);

// Connect to Mach MIG port of configd
task_get_bootstrap_port(mach_task_self(), &bootstrapport);
bootstrap_look_up2(bootstrapport, kMachPortConfigd, &configport, 0, 8LL);
// Make request

send_msg.count = 1;
send_msg.addr = (UInt8*)CFDataGetBytePtr(extRepr);
send_msg.size0 = CFDataGetLength(extRepr);
send_msg.size = CFDataGetLength(extRepr);
send_msg.flags = 0x1000100u;
send_msg.ndr = NDR_record;

// Make message header

msg = &(send_msg.header);
msg->msgh_bits = 0x80001513u;
msg->msgh_remote_port = configport;
msg->msgh_local_port = mig_get_reply_port();
msg->msgh_id = 20010;
// Request server
msg_return = mach_msg(msg, 3, 0x34u, 0x44u, msg->msgh_local_port, 0, 0);
if(msg_return)
{
if (msg_return - 0x10000002u >= 2 && msg_return != 0x10000010 )
{
mig_dealloc_reply_port(msg->msgh_local_port);
}
else
{
mig_put_reply_port(msg->msgh_local_port);
}
}
else if ( msg->msgh_id != 71 && msg->msgh_id == 20110 && msg->msgh_bits <= -1 )
{
if ((send_msg.flags & 0xFF000000) == 0x1000000)
{
CFDataRef deserializedData = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, send_msg.addr,send_msg.size0, kCFAllocatorNull);
CFPropertyListRef proplist = CFPropertyListCreateWithData(kCFAllocatorDefault, deserializedData, kCFPropertyListImmutable, NULL, NULL);
mig_dealloc_reply_port(msg->msgh_local_port);
mach_port_deallocate(mach_task_self(), bootstrapport);
mach_port_deallocate(mach_task_self(), configport);
mach_msg_destroy(msg);
NSDictionary *property_list = (__bridge NSDictionary*)proplist;
if(proplist)
CFRelease(proplist);
CFRelease(deserializedData);
CFRelease(extRepr);
return property_list;
}
}
mig_dealloc_reply_port(msg->msgh_local_port);
mach_port_deallocate(mach_task_self(), bootstrapport);
mach_port_deallocate(mach_task_self(), configport);
mach_msg_destroy(msg);
CFRelease(extRepr);
return nil;
}
The data we needed were located in the key @«Setup:/Network/Interface/en0/AirPort».

So we have implemented the part SystemConfiguration.framework on our own and got the data without jailbreaking and illegal use of libraries. The interesting thing is that there are more than 100 open MACH ports with various names in iOS 6. I guess it sets the stage for researches. Unfortunately, for the time being I cannot say, whether such code can be used in App Store, but it is worth trying anyway.

Thanks for your attention.

Links:

— MACH Kernel programming guide

— iOS Hackers handbook

— Mac OS X internals

Author: Kirill Ermakov [Twitter], Positive Research.

Available link for download

Read more »

Tuesday, January 24, 2017

Non Stop Full Movie Download Free HD

Non Stop Full Movie Download Free HD


Non Stop Full Movie Download Free HD, The action of the film takes place on an international flight from New York to London. During the flight, Non-Stop is an 2014 American action film starring Liam Neeson, Julianne Moore, Michelle Dockery, Anson Mount, Lupita Nyongo and Scoot McNairy. It is directed by Jaume Collet-Serra, "Non-Stop" story is about a terrorist attack which is happened between New York to London on an international flight. Bill Marks who is playing a U.S. federal air marshal in the film, receives a series of threatening text messages, with an order to transfer $150 million into a secret bank account otherwise they will kill the passengers one by one. But when it’s discovered that the bank account is under Mark’s name and a bomb found in plane, Mark is branded as a hijacker. "Non Stop Full Movie Download Free with high quality video".



http://hdmoviescounter.net

Movie Details:
Directed by :   Jaume Collet-Serra
Produced by :   Joel Silver, Alex Heineman
Screenplay by :  John W. Richardson, Chris Roach
Story by :   Josh W. Richardson, Chris Roach
Starring :  Liam Neeson, Julianne Moore, Nate Parker, Linus Roache,
Music by :   John Ottman
Studio :   Silver Pictures
Country :   United States, France
Language :   English, German
Release dates :  February 28, 2014 (USA)

"Non Stop Movie Trailer"

Non Stop movie download Free, Non Stop (2014) free download, Download Non Stop full movie, Non Stop (2014) full movie HD, Download Non Stop full movie free, Download Non Stop (2014) full movie free,

Non Stop Full Movie Download Free HD


Available link for download

Read more »