Thoughts on Apple

Apple is still the Apple, but, the question is, really?

I’ve been such a long time and die heart fan of Apple products that I have literally ever missed any product Apple has made, and they are all awesome, until the launch of Apple Watch, well, series 1.

To be honest, Apple Watch is still the best overall smart watch on the market, just like its big brother – iPhone. When it is initially released, I couldn’t help buying one because it is so cool and advanced, despite of the lack of cellular signal and GPS module, I still enjoyed quite a bit of time using it.

However, eventually not long after, I stopped using it, not because it’s not cool, like I said, it is still the best, but a lot of other factors are implying this is not going to revolutionize the market. A good smart watch should be something unprecedented. Remember when people first saw an iPhone or iPad, we just didn’t realize there’s a way like that to improve life quality. For all the possibilities, iPhone and iPad filled them perfectly and even provided users with more functionalities.

But what? For an Apple Watch, people expected GPS built in, LTE signal enabled, fast interaction, independency relative to cellphones. No, none of that has happen, and even some reasonable hopes are not realized. That’s why I know it is not a revolutionary product, because there’s a huge gap between user’s hope and the final product.
Continue reading

xmlrpc problem SOLVED!!

It is going to be a quick a small article, just to share about a tiny but prickly problem which I believe a lot of bloggers have encountered in their career, especially when they use a third-party blogging software to publish articles.

Okay…so the thing is, I wrote an new article recently and I wanted to publish it to my Chinese version blog, and as usual, I use Ulysses to type. Obviously, Ulysses just got a nice update with the feature of publishing to WordPress is supported now. Therefore, I said to myself, why not try it out this time, since I have already set up my custom blog account in it.

But it just wouldn’t make it. It kept giving me an error saying I input an invalid url. WHAT? “Man, I just got it right last time and what on earth is happening? You are ruining my mood to write!” After some initial search on Google, I still can’t figure out the problem, so I went to bed with the absolute confidence to resolve it tomorrow.

Now is the “tomorrow”, and I solved it, thanks to all kinds of search engines online, and my problem solver characteristic! At first, I was able to locate this problem to the file called “xmlrpc.php” because I realized I also have problem with the Jetpack plugin on WordPress, it shows “site inaccessible” all the time. The tricky thing is, a lot of related pages says if you can get a sentence like “xmlrpc.php only accepts POST and so on…”, you are all good with this file.

Dudes, it is NOT! I typed into the url like “www.suguswu.com/xmlrpc.php” and I can get the right thing, so I was seriously misdirected by some pages at first, only trying methods su ch as to set up a “.htaccess” file because I don’t have it even I selected to show hidden files. On Ulysses, and perhaps Byword, too, the error window gave me approximately zero helpful messages, and they have slowed down my pace quite a lot. Thankfully, I have another writing software called MWeb, and when I use it to validate my setting, it told me the error message like this:
Screen Shot 2016-08-16 at 2.36.09 P
This is the right thing to do, and it came from a Chinese developer, a fact of which I was proud of. Based on the error message, it did tell me that the app can’t connect to the server, which is exactly what Ulysses and Byword are telling me. However, in the following messages, I found out it is still connected to the “xmlrpc.php” file, so the truth is, as long as you are using WordPress API, you are dealing with this file, no matter what error messages the apps are telling you. It is not the fault of code, nor the fault of WordPress, but the fault of the server providers, because they are blocking the request to “xmlrpc.php” file since it is an easy channel for attackers.
Continue reading

Tweet imitator by Python

Currently I am reaching the end of my summer internship, and the company is in the social media marketing area. Basically it has dozens of social media accounts that can be used to reply to real users’ tweets about a specific topic, let’s say, a sports event, and in the replies would the robots attach links that are connected to some websites with promotional offers. Therefore, it is a good way to enhance the website traffic and do advertisements because it is not as annoying as sending you spam emails or phone calls, but to do that, we need really really authentic and sound robot accounts.
Screen-Shot-2016-07-21-at-4.48.28-PM.pngThat’s when difficulties kicked in. For example on Twitter, during the summer, my teammate and I have tried manually operating several accounts, by tweeting out posts, retweeting and all the stuff that normal users would do. However, it soon became a nightmare to operate even just 2 accounts at the same time since I felt like a psycho all the time, splitting up my life into different segments.

That feeling sucked, and I decided to research on the behaviour of robot accounts that mimicked real users. It soon got rewarding because I realized all robots follow a pattern, in which there’s a particular topic, such as fashion, food, sports or politics. They all seem to have at least one very outstanding characteristic.

Alright, since they all follow patterns in what they are tweeting about, why can’t I automate the pattern. The thought is, for example, if I am a foodie, I would often tweet about foods, and I will follow a lot of foodies’ accounts. If that is the case, I can design a program that randomizes the tweeting by using A-Basket-Of-Users method. What the hell is that? Well, it is just like how the currency policy works, by monitoring a bunch of important sources actively, but eventually it will finalize on one specific tweet to send out.

Yeah, I know it also sucks if I don’t know what I am going to send out, because there should be a way to graphically show what’s the outcome of the process, so I made a user-interface-version of it.
IMG_4332.JPGI can type in the account name I want to imitate, and it will send out that tweet using my account. If the tweet is over 140 character limit, it can also automatically truncate out unneeded url links in the latter part. Each time I hit the “upgrade” button, it will generate a new randomized tweet from the queried user, so hopefully nobody finds out who I am imitating if the “basket” is big enough.

For the server version, I also added in the “retweet” function since it is the most-used feature for those robot accounts, as they always retweet what they like. A potential timer module can be added to run this program 24/7 but I was, to be honest, too lazy to do that LOL.

I put my code open-source on my Github, because it is too long to show here in my blog post, and I value readability very much. Also, thanks to sixohsix’s gorgeous twitter API module in python.

P.S. Every experiment comes with punishments.
JPEG-image-AF43E2786D29-1.jpeg

Tech Gadgets that I enjoyed

It is not easy to justify the desire to buy tech gadgets these days, because you will be easily tagged by “Geek” or “Nerd” or something similar. Nevertheless, I want to share some essential categories of tech gadgets of mine to make my daily life much more joyful.

Smartphones

No need to say anything…right? Everyone deserves to have the best phones on the world in this age, regardless of Android, IOS or others. 1
iPhone-6S-review-22-970-80.JPG
Continue reading

Efficiency is poisonous at times

Sounds like a horrible statement right? However, I started to feel that aiming for efficiency improvement is sometimes confusing and distracting, especially for IT workers or tech gadgets lovers. Why? Because these people are most likely to accept new “vague” tech concepts and give them a try, therefore resulting in los of waste in money and time.

Still don’t understand what I mean? Let’s make it this way: for instance, have you ever tried any new apps? Have you ever tried out new apps intending to replace the well-functioning but old one? Are you looking for new stimulus every day and you firmly believe with something new your efficiency will improve vastly?

Are they legible statement? Probably not. Actually I was one of those geeks who think in that way, and I suppose it is a very dangerous way of thinking because sometimes it is not going to help you except for wasting money and time. Quite often we can encounter write ups on the Internet, talking about new apps that worth trying out or new service that is unprecedented, and the writers seem to be eager to attract new users for those apps. I was one of their prey some time ago, therefore I’ve spent lots of time invested in unnecessary new things: for example, once upon a time I’d like to use 2do to replace OmniFocus just because my admiration to the MacStories editor Vittici. Fortunately, I did not lose my judgement, and after trying out 2do for a few days, I deleted it because it is no way better than what OmniFocus is contributing to my healthy lifestyle. Let’s focus on apps and take another example to illustrate my point: on IOS devices there’re tons of new apps showing up in App Store every day and some websites are potentially in cooperation with some of those app companies. There are a lot of new email clients apps, for instance, coming on stage every day and it seems like almost every email app is recommended by some long convincing articles that try to sell their points. If you cannot control yourself well on the curiosity, you might end up downloading new email apps and give them trials every day!
Continue reading

How iPad Pro can help in digital life?

When the iPad Pro first launched last November, my first impression of it is like all others’ – Who on earth is this gigantic iPad for? As time went by, after earning enough money on my job and careful considerations, I decided to buy one and find out the reasons myself.(I got the iPad Pro at a discounted price of 799 at Staples)

Well, it is a huge iPad, and I don’t know how to describe my first glance on it on the stand at Staples. It’s like upgrading your Macbook 11 to MacBook Pro 15, seriously, because I have gone through the switchover from MacBook Pro 13 to 15, I can definitely tell that the shock in switching to iPad Pro is even greater. When I got home, I immediately started to transfer my data from my iPad Air 2 to my new iPad Pro. However, I quit this process and made a bold decision: I am not gonna to use those apps that haven’t support the iOS 9 features and iPad Pro resolution any more! Since I bought this device to act as a potential laptop replacement, I believed I am not going to fully blow its potential without using the right apps.

img_0002-2.jpg
Continue reading

Python and iTunes

After going through the chaos and matters in Feb., finally I have two days off to do something interesting. I have been thinking about to find a lyrics fetcher on OS X for a long time, but I failed to find one.

For IOS users, you can download musicXmatch. For Windows users, you can download MiniLyrics. These two softwares work like a charm on the mentioned platforms, but for OS X, I still could not find a versatile one. Therefore, I  came up with an idea that why not try to make one with Python.

Continue reading

An ugly but simple V2EX RSS client

It’s been a while since I wrote my last article here. During the winter break I went to three national parks in California, Utah and Arizona, the experience of which is astonishing. Obviously, I have put all of my focus into photography and adventure…….

Alright, after I came home, I as usual would check some forums to see if there’s any update about technology and data science. Among those websites, V2EX is one of my favourite because it is an active, user-friendly website that has a lot of interesting piece of news. I know there are already some people who have developed fascinating third party apps in OS X, but I am more than happy to find out the way to do it.

I have known RSS for a long time, which means, I knew it before Google reader closed…… I seldom used it right now, because I indeed don’t need to overload my information flow with RSS and not too many websites are worth checking every day. To make a RSS reader for my needs, I just need two things, one is a simple interface without ads and distractions, the other one is a simple representation of article titles that are clickable. What about the author and description? Not important to me at all. I make it because I need it to be in this way instead of anything else.

Screen Shot 2016-01-28 at 10.19.13 AM
Continue reading

Using Plot.ly package to create dashboard in R

I have taken DSO-510 Business Analytics this semester. In the final phase of presentation, Prof.Selby asked us to create a webpage to show our results made in SAS. Actually this is a very challenging task since everybody knows  SAS is not good at fancy visualization. Without hesitating for long, I decided to use R instead.

However, R is also not good at creating graphs, at least, for basic users. There are tons of settings and configurations you can tweak, but who on earth could get the hang of them right away. I tried to ask some seniors for advice, and I had some suggestions like using Shinyapps, which is a very good javascript-embedded tool made by RStudio. Although I like challenges, I hope I can make things easier this time without focusing too much on how to use the tools and how to reinvent the wheels.

After researching some packages on the Internet, I came across Plot.ly which is an incredibly easy and fancy package to create plots. They are so easy to install that you just need only one line of command in R and all will be set. It contains a lot of presets in color and design, and its official website has guidelines and tutorials and even example codes to keep users on the same page. I believe everyone who has experience in R will find it easy to learn. Most importantly, Plot.ly can save interactive graphs into HTML file, the feature that is perfect for those who want to create dashboards.

When I get enough interactive graphs, I started to think about how to make a dashboard. Fortunately I have seen some amazing dashboards in various presentations during this semester, so I think the primary factors are “overwhelming” and “informative”. To create an “overwhelming” dashboard, I need to arrange the positions and size of the graphs very well to create a feeling that this work is simply fabulous. To create an “informative” graph, the charts and plots need to be interactive, colorful and user friendly, and luckily Plot.ly has done these for me. Well, apparently, now is all about design.

1…2…3…Boom! Here comes the shitty work: R Dashboard

I am not professional in design, but I don’t like to ask real designers any questions, because I believe what interests me will be good design. To achieve that goal, I have taken a look at successful webpages about dashboards, and wrote and edit the code to mimic successful websites. If anyone is interested in how to arrange the plots, please take a look in my source code of the webpage, and I believe that should be the way to learn and get into discussion. Happy learning!

Final Project of Manegerial Statistics

 

 

 

This report is the final project for course GSBA-524 in Fall 2015.

Olympics, the biggest sports event around the world, is held by a select country every four years. There are approximately 200 countries that take part in it each time. Obviously, a lot of talented athletics are fighting so hard to get the entry of Olympics, and, probably to win a medal for his/her country, proudly. However, as a audience I have never thought about the mysteries and secrets of those medalists. What makes them excellent? What are the interesting facts about them?

As the final project of GSBA-524, I am asked to dig deeper in this topic as an audience and as a potential data analyst. All I have is a dirty dataset that consists of details of Olympics medalists from 2000 to 2012, Country GDP, Population, HDI and ISO codes. To be honest, I am a big basketball fans and I loved Kobe so much that I also plan to make this report a tribute to my beloved 2008 USA basketball team.
Continue reading