我怎么能怪他

一直联系不上我“堂哥”, 也联系不上他的其他家人。  我爷爷奶奶那边的说法是三个多月没打回来了。  好不容易通过其它办法拿到我“伯伯”的新号码, 打通后叫我爸千万别和我爷爷奶奶说。 结果, 就怕猪一样的队友, 回头就把这信息告诉我爷爷奶奶, 然后他们改口:最近都有联系的, 呵呵。

前天联系“伯伯”, 和他说我们去深圳, 叫人带我们去他儿子那里。 这货找各种借口,明显是串供过的来敷衍, 那么我只能和他说, 如果家里不能解决的话, 那么我只能把“堂哥”送进监狱。

既然这货帮他儿子隐藏的话, 那么只希望借助爷爷奶奶能够帮忙说句话。 于是让我爸去和他们说:我们是希望爷爷奶奶说一下,“伯伯”能够带我们找到我“堂哥”,家里的事情直接家里解决,不要弄到法律。

我爸答应的很好,于是他跑我爷爷奶奶家去了。 过了一会儿我妈不放心也去了, 结果她在进门时听到我爸说:这些事情我会瞒着他们的(指我们)。。。。 我奶奶说:我在电话里骂我“伯伯”, 我爸, 作为全程听到前天电话的,遇到这种恶人先告状, 居然什么都没反驳。

我反正是想不明白他为什么我欺骗我和我妈瞒着这些事情。 已经和他说的很明白, 希望能够找到“堂哥”, 如果一直联系不上只能送他进监狱。 这都是在计划上的事情, 是觉得我们会因为联系不上而放弃吗?

后来,我也去了爷爷奶奶家, 我妈和我说了这些, 我进去问我爸:叫你说的说了没有? 然后对我妈说: 那你说吧。

于是我妈只说了,叫我爷爷奶奶给“大伯”打个电话,让他带我们找我“堂哥”, 找到了他们自己两个人的事情。 就这样, 因为我奶奶厌恶的表情, 重复了两次。 于是,我奶奶就开始: 那我去死了算了。 呵呵

后来:她居然说的是怪我爸太勤劳,导致了这些存款。 嗯, 不怪他大孙子欺诈, 怪我们有钱。

她的小孙子已经在监狱里了, 大孙子也要被我送进去了。 虽然如此地偏颇, 但是真有生老病死, 我还真不能理她吗?

只可怜我爸,一次次地做事情不经大脑。 就算我妈偷了他的钱被骗,但是我总是站在尽可能要回钱的立场吧, 十足的猪队友。    本身损失了钱已经够可怜了,爷爷奶奶又如此不公平地对待他。 我能怎么办, 又不能骂他。

9

去年9月, 被一个贱人被骗了几千块钱

今年9月, 我妈偷我爸的钱借给我堂哥确认拿不回来了。

这半年来我不知道劝过她多少次, 也和他说, 她是不可能还给你, 要直接找我大伯。 

对我妈已经绝望, 让我生气的, 当今天有人把我堂哥在诈骗的传单贴到了乡政府。 我在想尽一切方法地想挽回损失, 我爸的态度实在让人心塞。

我和他说他的行为是偷, 他说不要用这个词

傍晚我妈回家,我逼问她, 钱还能不能拿回来, 他给我一个不知道什么的眼神。

我说让爷爷奶奶知道, 他反对。

我说不行只能走法院, 他反对。

一个贪婪, 一个懦弱。

晚上去了爷爷家, 我表明:不管我妈在外面借了多少, 那不关我的事, 我只代表我爸希望他们可以帮忙把我爸的钱交涉一下。  结果呢, 我奶奶说了两次早晚会还回来的, 然后尿遁了。

他妈的, 我爸每天都要跑下去请安的,结果她连金额什么也不问,就几句敷衍的话。 不奢求同情, 但是做为长辈的连公平都做不到, 那我还尊敬个屁。

人生就是悲剧。

2017

最后一天, 笔记本进水, 嗯, 这很2017。

拆机,受困于几个卡扣抱怨了设计的不合理, 把它扔一边, 就这样放弃。

时光飞逝, 我终变成了原来自己所不喜的人。 在抱怨着失败,却又同时在一次次半途而废。 诚然,外因,他人是因素, 但是我可曾静下来认真地思考自己的不足? 可怜之人必有可恨之处, 而我依旧自我感觉良好。

吾日三省吾身, 犹记得初中班主任说的这句话。但是我只做到了一年省一次, 次次在岁末。

On the way

SOHO, N年, 一直想把这个当成一项的事业来做。

年初的时候,A因某些原因可以一起干活, 那么就合伙吧。

于是, 痛苦的历程开始了。

Round 1:

Soho久了, 人是会变傻的, 尤其在社交能力方面。 而长期的编程经历让我更习惯用1,2,3而硬性的列举目标而不是很善意地进行沟通。 买了一堆经管, 沟通的书籍, 却扔在床头从未翻看。

于是在这种生硬的沟通中, A说不愿意碰翻译, 我怂, 那我也不碰任何编程。 客户要录一个付款的视频, A说不想暴露隐私。 我怂:  狗P的隐私, 你的开房记录, 手机号码不知道都被卖了多少次了, 你不愿意赚钱不要挡我路。

哎, poor communication.  就这样慢慢磨合吧。

Round 2:

作为传统公司里面的混的A, 工作模式, 学习能力都已经定型。 比如

实在无法忍受她的低效率, 无可奈何之下, 我只得喊出, 只要你每天全力工作四小时, 四小时。  某次帮客户收集某份资料, 不得不高强度地工作了几个小时后, A报怨了N久, 连颈椎都出来了。      听到这句话, 我真不知道合伙的意义是什么, 哪次有客户需要, 我在编程时哪次不是这种状态, 又不是给别人打工, 我有像她一样报怨过类似的早起晚睡吗?  原来, 她眼里的全力工作和我眼里的全力工作完全是两个概念。  于是, 在几乎一个季度没有碰游戏后, 我又重新丧志, 却依旧不知道如何沟通。

于是, 我开始在日历上共享我的工作, 希望可以在让A掌握我的时间的同时, 我也可以知道A的工作时间和内容。 找到哪些环节浪费了太多时间而没有任何收益或者潜力。 然后却没有任何回馈, 只是我单方向的分享而已。 而在四月底, 我干了一件更蠢的事, 罗列了这个月两个人的工作时间和内容, 妄图用数据找出问题所在。 结果可想而知。

Round 3:

那么, 我不说, 我只是做, 慢慢得把A的节奏拉到和我一同水平上面来总行了吧。 我尝试着找新的客户, 努力地扩大工作量。   结果呢: 当我还在努力 忙着客户的工作时, 有事情是联系不上A的, 因为那是“下班”时间, 或者来一句“电脑给娃看视频”。 Failed again。

也许, 作为一份工作, A完成的很好, 但是作为创业, 是远远不够的。

我很绝望, 该怎么提高沟通能力。

 

 

缺点:

计划性

沟通能力

执行力

太累

团队在做并没有比一个人玩轻松

我应该怎么让一个一直在工作的好员工有一种创业的感觉, 而不只是按步就班。

太累,这样坚持又是为了什么呢。

Google Drive File Picker and Download the file

This articles should how to use picker on google drive and then download the picked files(limit to photos) use the javascript

Setup on google drive.

Go to the google developers console:  https://console.developers.google.com/
Create a new project or select a exist project,

and enable two libraries:  “Google Picker API” and “Google Drive API”
there are no special setup on “Google Picker API”, but for “Drive API”, it need go setup “Drive UI Integration”:

Client ID should same as the “OAuth 2.0 client IDs” in this project.
Open URL should same as the url of your web site domain, or a specific URL where you try to download the files.

Go back to Crediential of Oauth,

the same domain setup on previous steps is also list on “Authorized JavaScript origins”,

the open url we input on previous steps is list on “Authorized redirect URIs. it best list all your related URL into redirect URI.

prepare the keys we need on code step:

 //Google Client Id
var googleClientID='954222223338828-f21pukla0g67531760s0ed1575qaivth.apps.googleusercontent.com'
//Google App Id
var googleAppId='954222223338828'
//google drive picker
var googleDrivePickerDevelopKey='AIzaBHzK0WWvRj5DF9jgV6sTJpGwxzSyDfGcj0s'

That’s all in Google Console.

Let’s start write code for it.

First of all, insert the google js file into the html

<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>
<script type="text/javascript" src="https://apis.google.com/js/client.js"></script>

The second js code is google client libriry,  it’s quickly and easy to use, but on this article, I’ll not use this one.

build the picker, remember we have 3 variables get from google console before, we need use on the code files.

First of all, let’s build the Picker.

/**Google drive ***/
var pickerApiLoaded = false;
var oauthToken;
var fileId;
//Photos Scope can't get the data we wanted, the solution, is use Drive only scope,
//And view.setMimeTypes("image/png,image/jpeg,image/jpg"); to only view the images
//  var googleScope = ['https://www.googleapis.com/auth/photos'];
var googleScope='https://www.googleapis.com/auth/drive.readonly'
// Use the Google API Loader script to load the google.picker script.

function loadPicker() {
    gapi.load('auth', {'callback': onAuthApiLoad});
    gapi.load('picker', {'callback': onPickerApiLoad});
}

function onAuthApiLoad() {
    window.gapi.auth.authorize(
        {
            'client_id': googleClientID,
            scope: googleScope,
            'immediate': false
        },
        handleAuthResult);
}

function onPickerApiLoad() {
    pickerApiLoaded = true;
    createPicker();
}

function handleAuthResult(authResult) {
    if (authResult &amp;&amp; !authResult.error) {
        oauthToken = authResult.access_token;
        createPicker();
    }
}

// Create and render a Picker object for searching images.
function createPicker() {
    if (pickerApiLoaded &amp;&amp; oauthToken) {
        var view = new google.picker.View(google.picker.ViewId.DOCS);
        view.setMimeTypes("image/png,image/jpeg,image/jpg");
        var picker= new google.picker.PickerBuilder()
            .enableFeature(google.picker.Feature.NAV_HIDDEN)
            .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
            .setAppId(googleAppId)
            .setDeveloperKey(googleDrivePickerDevelopKey)
            .setOAuthToken(oauthToken)
            .addView(view)
            .setCallback(pickerCallback)
            .build()
            .setVisible(true);

    }
}
// A simple callback implementation.
function pickerCallback(data) {
}<

We need download image after Picker, the photo scope on Picker can’t get the right file ID,  to solute this,  Use  drive scope and limit the mimeTypes.

Handle the data from File Picker and download it

function pickerCallback(data) {
 if (data.action == google.picker.Action.PICKED) {
 fileId = data.docs[0].id;
 $http.get('https://www.googleapis.com/drive/v2/files/' +fileId+ '?alt=media',
 {
   headers: {'Authorization': 'Bearer '+oauthToken}
 }).success(function(file){
   //file is the image object
 })
 }
}

$http is from angularJs, you can replace this with the js framework you used, or use the google client js library.

?alt=media

which will return the image, otherwise it will return json code with image name, image downloadUrl(that Url still need oauth token) etc.

headers: {'Authorization': 'Bearer '+oauthToken}

We need setup Authorization token on the hear, otherwise we can’t visit the file.

It’s simple, we can handle the image in the js code now,  but it’s not end for me, I need directly download the files on remote server, not download on the js code to user browser.

Let’s change the code to download the file on remote server

function pickerCallback(data) {
 if (data.action == google.picker.Action.PICKED) { 
   $http({
     method: 'POST',
     url: 'theUrlWhichDownloadImage.php',
     dataType: 'json',
     crossDomain: true,
     data: {
       oAuthToken:oauthToken,
       fileId: data.docs[0].id,
       name: data.docs[0].name,
       mimeType:data.docs[0].mimeType
     },
     headers: {'Content-Type': 'application/x-www-form-urlencoded'}
   })
   .success(function (data2) {

   })
   .error(function (data2) {

   });
 }
}

replace with get the files from google drive api, we send the file id, the oauth token to remote server, which used to download the file.

and on the remote server, a php file was created and recevied the data, try to download the file from google drive.

 

$request_body = file_get_contents('php://input');
$param = (array)json_decode($request_body);
$oAuthToken = $param['oAuthToken'];
$fileId = $param['fileId'];
$getUrl = 'https://www.googleapis.com/drive/v2/files/' . $fileId . '?alt=media'; //
$authHeader = 'Authorization: Bearer ' . $oAuthToken;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($authHeader));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);

The image was on $data. save it and return the path to js code on fronend.

$path='examplepath/';
file_put_contents($path.$param['name'], $data)
//return the file URL to js code.

Compare to OneDrive, DropBox,  Google Drive File Picker and download files is much more complex. hope this Article can help you.

那就这样吧

从深圳飞到上海, 想给她惊喜, 想陪着她。

于是, 我得感恩她在百忙之中赏赐时间陪我去酒吧。

回来后我继续把自己灌得烂醉,宿醉, 直到早上, 头痛欲裂, 到现在。

No hope, 如此自我的一个女人, 知道我要来, 专门为她而来, 却只是不停地在安排自己的游玩, 约会。 只保持暧昧。我想这只能意味着她在行动说不愿意见我,  那我继续犯贱又有什么意思? 我她妈的谢谢你在百忙中之中见我一面吗?

顶着初冬的冷雨在街上来回走了两天, 终于病了, 也许这能够让自己清醒一点。

但是我的耐心真的是有限度的, 在看到她安排时间时,“那就这样吧”, 我感到了深深地绝望。 爱她, 愿意为她付出所有的, 但是请让我看到希望。 住在离她家离近的酒店, 地理上的无限接近, 却是心理上永恒的距离。

你在无情地浪费着我对你的爱, 消磨待尽。

以后我再也不会干这种蠢事,

那就这样吧。