chicagoInstagram

TL;DR: After struggling to easily download my own Instagram photos I wrote InstaRaider, which can download all photos for any Instagram user with a public profile without authentication. The code for InstaRaider is available here on Github.

After giving up my Samsung S3 for an iPhone last year, I went through all of the hassles associated with switching from one ecosystem to another. One of those hassles was Instagram. Specifically, I didn’t have copies of any of the photos I had posted to Instagram from my Android. Sure, they were on Instagram itself. But as I quickly found out while trying to use a Instagram snap as the background for my Twitter header, it’s kinda hard to get your pictures back from the Facebook-owned photo-sharing service.

I found several solutions online, including Instaport and something called Free Instagram Downloader, the latter of which didn’t seem to work as advertised (as in, not at all).

It turns out that Instagram makes it very hard to download photos. The mobile apps let you share and embed photos, but it seems most people end up just screen-capping and cropping photos they want to save.

After looking at the available options, I decided it would be easier to just pull the URL of the JPEG from the page source. The link to any Instagram full-resolution photo is found toward the bottom of the page source, shown on line 5 in the code snippet below.

...
{"username":"amirkurtovic","requested_by_viewer":false,
"profile_pic_url":"http:\/\/images.ak.instagram.com\/profiles\/profile_300814904_75sq_1391448282.jpg",
"id":"300814904","followed_by_viewer":false},"is_video":false,"id":"697188610558698861",
"display_src":"http:\/\/distilleryimage2.ak.instagram.com\/ababc0bcc27911e395d80002c9d71262_8.jpg",
"likes":
...

No source? No problem.

I thought it would be a straight-forward task to write a Python script to look up my own profile, follow the links for each photo and download the full-resolution Instagram files. After a bit of trial-and-error, however, I found that the Instagram pages are actually rendered by Javascript, meaning that requesting the HTML with something like BeautifulSoup doesn’t work.

At this point I took a look at the Instagram API and found that it was simple to get a list of all of the photos associated with a user. However, the API requires authentication. That’s great if I just want to download my own photos, but at this point I was a little miffed at Instagram for deliberately making it a pain in the ass to download photos.

Thankfully there is the amazing Selenium WebDriver. Using Selenium’s Python API, it was easy to load an Instagram profile URL in Firefox and load the page source into BeautifulSoup as shown in lines 1-3 in the code snippet below.

driver = webdriver.Firefox()
driver.get(url)
source = BeautifulSoup(driver.page_source)

With this work-around to Instagram’s Javascript-generated page source, I set about developing InstaRaider, an automated Python tool (one that does not rely on Instagram’s API or require user authentication) to download public Instagram photos for any user.

Finding photo URLs

The first obstacle I ran into was that loading a Instagram profile page did not provide me with URLs for any full-resolution photos. But it turns out that each Instagram photo comes in several sizes, each of which are identified with a suffix. Full-res photos get either a “.._7.jpg”, “.._8.jpg”, or “.._n.jpg at the end of the filename. The simple solution to finding the photos I wanted was to put all known file name suffixes into a list and to run the list through a function (photoExists()) that checks if the file exists and returns the correct suffix.

def photoExists(url):
    '''
    Returns true if photo exists
    Used when checking which suffix Instagram used for full-res photo
    url: URL to Instagram photo
    '''
    try:
        urllib2.urlopen(url)
    except:
        return False
    
    return True
...
fullResSuffixes = ['7.jpg', '8.jpg', 'n.jpg']
for item in fullResSuffixes:
    url = photoUrl + item
    if(photoExists(url)):
        suffix = item
...

Loading all of the photos

After coming up with a quick proof-of-concept, I ran into a big limitation. Due to how Instagram renders profiles in a web browser, only the last 20 photos are visible when a profile loads. By scrolling down in the web browser, Instagram will load up to an additional 40 photos. This was an easy fix, as scrolling can be simulated in WebDriver with this code:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

After loading 60 photos, however, Instagram requires you to click on the “Load more…” label. Using Firebug I found the XPath of the “Load more..” label in the tag soup. And again, WebDriver came to the rescue.

The code snippet below shows how to simulate a click on Instagram’s “Load more…” label.

# Click on "Load more..." label
element = driver.find_element_by_xpath("//html/body/span/div/div/div/section/div/span/a/span[2]/span/span")
element.click()

Putting it all together

From here on out I just had to refractor my earlier code, which worked for up to 60 photos. The most important part was to get the number of photos posted by a user (again, no API, just regex) and to simulate enough scrolls and clicks with WebDriver to load all of the photos. Once the entire page source was loaded, it was just a matter of extracting the URLs, trying the various file name suffixes to find the full resolution photo and downloading the file to a folder.

$ python Raid.py -u amirkurtovic -c 25
Loading Instagram profile....
Found 194 photos.
...
Raiding Instagram...
Saving photos to ./Images/amirkurtovic/
------
#########################
------
Saved 25 images to ./Images/amirkurtovic/

The code for InstaRaider is available on Github and can be cloned with the following command:

$ git clone https://github.com/akurtovic/InstaRaider
Tagged with:
 
Virginia Tech's CHARLI

image via

As a print journalist, I spent a lot of time thinking about the tremendous disruptive effects of technology on the newspaper industry. And I use the word ‘disruptive’ in its original meaning, not the idealized version the venture capital folks like to throw about when they proselytize the gospel of the future.

Disruption usually means a cool new product for users and more efficiency for business owners, all at the expense of threatening the jobs and careers of an entire profession. Yes, ‘talkies’ were disruptive innovation for the motion picture industry. No, silent movie actors lacking vocal talents probably weren’t jumping for joy.

In the newspaper industry a lot of attention has been focused on the plight of the journalist, the embattled practitioner of fair reporting and competent writing, a protector of democracy and the American Way, etc. But while journalists have certainly suffered as the Internet wiped out the highly profitable low-hanging fruit of advertising dollars (the classifieds), we didn’t bear the brunt of it. What about the print operators? The copy editors? The classified ads sales people? The layout designers? The warehouse workers? The guy who threw your paper on the lawn before you started reading it online?

Those were the real victims of the ‘disruptive innovation’ the Internet brought to newspapering.  Regular people who did mostly repetitive tasks that were either eliminated or automated. Just consider the fact that a content management system like WordPress, the one I am using, replaces the entire production and circulation departments of the average publication.

But the content management system still has to be filled with content. It’s a lot harder to teach a computer to produce creative and original writing that people will want to read. And that’s why there are still more opportunities for writers than there are for, say, printing press operators, a profession that is not only threatened by declining print circulations but also by the increasing automation and sophistication of modern printing presses. In short, it takes less workers to print more pages than ever before.

The reason why I’m thinking about all of this is a new study conducted by researchers at the University of Oxford (PDF) that estimates that about 47 percent of jobs are susceptible to computerization.

From the abstract:

We examine how susceptible jobs are to computerisation. To assess this, we begin by implementing a novel methodology to estimate the probability of computerisation for 702 detailed occupations, using a Gaussian process classifier. Based on these estimates, we examine expected impacts of future computerisation on US labour market outcomes, with the primary objective of analysing the number of jobs at risk and the relationship between an occupation’s probability of computerisation, wages and educational attainment. According to our estimates, about 47 percent of total US employment is at risk.

No surprises here. The jobs that are most likely to be lost to computerization and automation in the future are either physical jobs with repetitive tasks or low-skill jobs that can be replaced through sophisticated algorithms and Big Data analysis. Jobs in transportation, material moving, production, construction and administrative support are the highest risk of being made obsolete for humans.

From the study:

While computerisation has been historically confined to routine tasks involving explicit rule-based activities, algorithms for big data are now rapidly entering domains reliant upon pattern recognition and can readily substitute for labour in a wide range of non-routine cognitive tasks. In addition, advanced robots are gaining enhanced senses and dexterity, allowing them to perform a broader scope of manual tasks. This is likely to change the nature of work across industries and occupations.

According to the study, the future of jobs belongs to roles that rely on soft skills such as communication, social intelligence and creativity, skills that are hard to quantify or replicate my machines or software.

Our findings thus imply that as technology races ahead, low-skill workers will reallocate to tasks that are non-susceptible to computerisation – i.e., tasks requiring creative and social intelligence. For workers to win the race, however, they will have to acquire creative and social skills.

Tagged with:
 

GoogleKeepTypePhaseI was one of those who wept recently when Google announced that it would be shutting down Reader, its simple yet powerful RSS feed reader. OK, I didn’t really cry. But seriously, you’d be surprised how many journalists rely on Reader to keep tabs on everything.

But Google just may have redeemed itself with Keep, a new note taking app the company launched on the web and on Android.

Keep is a simple note taking app that allows users to quickly create and save notes and task lists. On the mobile version, you can also snap photos and dictate notes using Google’s voice recognition software.

So essentially Keep is an Evernote clone, right? But it’s a good clone; a clean and responsive and well designed clone that intuitively does what you expect it to.

But I don’t think this is really about taking on Evernote or the slew of other note taking solutions that are out there.

While it would be easy to assume that Google is trying to “keep Evernote at bay” as ZDNet and other blogs are suggesting, I think the real strategy here for Google is different.

After all, Google had a similar tool called Notebook that it shut down in 2009. Why would Google shut down that service and wait until now to launch something that is kind of along the same lines, but not really.

The way I see is, Keep is more of a data play for Google. Specifically, I think the thing you put into Keep will eventually become raw input for Google Now.

For example, if you use Keep to create a groceries list, I’m sure Google will find a way to have that list pop up as a suggestion in Google Now, with directions to the closest grocery store and a link to price comparisons.

With Google Now, the search company relies on complex algorithms and all of the data it has on you, including your calendar, contacts and search history to try to decipher what you want and anticipate when you will want it.

If you have a note in Keep that says “Call Jeff on Tuesday,” that makes Google’s job a little easier. OK, it’s actually a lot easier.

Ulterior motives aside, Keep is a good note taking app.  For now I’m still going to rely heavily on Evernote. The only feature I would really need to see in Keep before thinking about moving away from Evernote is the Web Clipper extension, which I use to save and organize research.

If they clone that feature Goolge Keep will really be a keeper (Sorry, had to get that pun out of my system). But the Web Clipper feature is essentially what Google’s shuttered Notebook was all about, so I don’t think the company will bring that feature back anytime soon. Why? Maybe because instead of bookmarking and saving notebooks full of text clipped from website, they would rather you just Google the damn thing.

Keep integrates with Google Drive. The web version can be found at drive.google.com/keep and the Android app is available on Google Play (you’ll need a phone running Android 4.0 or later).

Tagged with:
 

UPDATE 8-8-2014: This tutorial was written and tested on Feb. 24, 2013. It may be outdated due to changes in ChromeOS and ChrUbuntu. If these instructions do not work for you, other readers have suggested this and this tutorial in the comments.

 

After several months of happily chugging along on the Samsung ARM Chromebook as my secondary laptop I decided to give ChrUbuntu a try, mainly because I wanted a LAMP environment to play and didn’t want to mess with my work-issued MacBook Pro. I installed ChrUbuntu to an external SD card, which gives me the flexibility to boot into ChromeOS anytime I want to surf the web and plus the SD card in anytime I need Linux.

I found the installation of ChrUbuntu to be pretty straightforward. Overall it took me about one hour from start to finish. I mostly used this Ars Technica guide and made a few adjustments where the steps between the Acer C7 and Samsung ARM differed. I also got some help from the 200+ comments on Jay Lee’s blog.

Here’s how to do it:

Don’t forget the SD card

Sadly the most obvious step was the one I forgot when I first tried this. Turn off your Chromebook and plug in the  SD card you want to use.  The card has to to 8+ GB and will be /dev/mmcblkp1This will be important later. Also beware that any files stored locally on the Chromebook will be wiped in the following steps, so save them before you proceed.

Make sure you have an SD card plugged in

Boot into ChromeOS developer mode

There are several steps for getting into developer mode and it can take 5-10 minutes. If you need additional help, the full instructions are available here.

To get into developer mode you have to hold the ESC and REFRESH keys as you press the Power button to get into recovery mode. Once you boot into recovery mode ChromeOS will ask you to plug in recovery media. Instead you have to press CTRL+D to go into developer mode.

Put Chrome into developer mode

Prepare the Chromebook for ChrUbuntu

Booting into developer mode will take several minutes as the Chromebook reboots and resets itself. Once that process is complete you get a screen telling you that OS Verification has been turned off. Press CTRL+D to get past that screen and click through the prompts you get after the Chromebook boots. You want to connect to a network but do not go past the login screen.

At the login screen, once you are connected to a network, press CTRL+ALT and the FORWARD key to go into the developer console.

In the developer console, type chronos and hit enter to get into the shared user account. Then switch over to the bash shell by typing sudo bash and hitting enter. The last step here is to type the following command:

chromeos-firmwareupdate --mode=todev 

This will boot you into the development BIOS each time you start your Chromebook and you’ll be able to hit CTRL+U to dual-boot into ChrUbuntu.

ChromeOS Developer Console

Use wget to download the latest version of ChrUbuntu

If you’ve done all of the steps correctly you are almost ready to start downloading ChrUbuntu. Type exit to drop out of the bash shell and type the following command to wget ChrUbuntu.  This is the correct command for now, but may change in the future as updates for ChrUbuntu are released, so check Jay’s blog for the last version.

 wget http://goo.gl/34v87; sudo bash 34v87 /dev/mmcblk1

Prepare ChromeOS for ChrUbuntu

Install ChrUbuntu

ChrUbuntu will check that you are running a developer BIOS, that your Chromebook is compatible and that the target drive is plugged in. Hit enter and you are set. Also, it’s probably a good idea to plug your charger in a this point.

Use wget to download ChrUbuntu

Grab a cup of coffee while ChrUbuntu loads

ChrUbuntu will now automatically download and install. How long it takes depends mostly on your Internet connection. With my 30mbps it took me about 30 minutes.

Some people have reported various errors at this point, either with the same file trying to load over and over due to a discrepancy in the hash value or an error that says Cannot write to ‘-‘ (Broken pipe). I didn’t have these errors myself but the easiest workaround (according to the comment section) seems to be to restart the entire process.

ChrUbuntu downloading

Enjoy

And that’s it. You now have ChrUbuntu installed on the SD card. Anytime you want to boot into Linux plug the SD card in and hit CTRL+U at the Chrome OS Verification screen.

ChrUbuntu on a Samsun ARM Chrombook

Tagged with:
 

When I first read about the new Samsung Chromebook a few months ago and saw the specs, I thought it was an attempt by Samsung to create a cheaper alternative to the slim MacBook Air. At less than 0.8 inches thick and 2.5 pounds, the Chromebook certainly accomplishes that in terms of size and weight.

In the photos below I’ll briefly review the $249 Samsung Chromebook 303c  and then compare it to the Air. I will not compare technical specs or performance because that would be silly. The MacBook Air runs OS X and costs four times as much as the Chromebook, which runs an early version of what is still an experimental operating system that is adding new features.

At it core, the Chromebook is just a device that  runs a web browser, and does so efficiently. I’ve had dozens of tabs open running videos and streaming music and it worked smoothly. But obviously you can’t compare it to the MacBook Air in terms of processing power. Not that there is any software out for the Chromebook that would actually let you tap that processing power, but we’ll save that for later.

For $249 you get a slim, portable laptop with a great keyboard.

For $249 you get a slim, portable laptop with a great keyboard.

I’ve been using the Chromebook for months now and can report that yes, it compares with the MacBook Air in several other ways.

One of the most surprising things about the Chromebook is just how good its keyboard is.

One of the most surprising things about the Chromebook is just how good its keyboard is.

The Chromebook and Google’s web-based Chrome OS can’t do all of the things a Windows or Apple laptop can. Before I proceed I think I should point out that the Chromebook does not in fact require you be always be connected to the Internet. This seems to be a common misperception. The Chromebook comes with a 16 GB hard drive and you can store files, music and photos just like you would on any computer. As a matter of fact, all of the photos in this post were copied to my Chromebook using the handy SD card slot, then edited online using Pixlr, the online photo editor. While I don’t have Photoshop like I do on the Air, I found that using free online image editors I was able to put together the images for this post just as quickly. The Chromebook itself comes with a basic photo editor that allows you to re-size and rotate images.

Macs have by far the best touchpads in the industry. The Chromebook is not far behind.

Macs have by far the best touchpads in the industry. The Chromebook is not far behind.

And so it goes on the Chromebook. You can still do most of the things you’ve always done, you just have to do them in slightly different ways.  Some things you can’t do.Want to edit video? No luck. Use Photoshop? Nothing yet. Play World of Warcraft? Sorry, the Chromebook is not your thing.

The new Samsung Chromebook is slim and portable.

The new Samsung Chromebook is slim and portable.

But the Chromebook is for you if use your laptop for browsing the web, reading email and writing. In other words, the Chromebook is perfect for all of the things that most people use computers for most of the time.

But can a $250 web-browser-with-a-keyboard really compare in terms of usability and quality to a $1,000 laptop? It turns out the answer is: it depends.

Samsung Chromebook v. MacBook Air

Chrombook or Mac Air? Which one is which? We'll let the jury decide in the patent dispute.

Chrombook or MacBook Air? Which one is which? We’ll let the jury decide in the patent dispute.

At first look, the look awfully similar. But can you spot the difference? Yes, the most obvious difference is that the one on the right costs four times as much as the one of the left.

The Chromebook stacks up nicely with the Mac Air (literally).

The Chromebook stacks up nicely with the Air (literally).

As far as physical size and appearance the two resemble each other, but there’s a reason for the price difference. The Chromebook is what you would expect a $250 laptop to be: plastic. The brushed aluminum frame and sleep body set the MacBook Air apart.

The Chromebook and Mac Air showing the same image with minimal sun exposure. The Mac Air is brighter and the image more vibrant.

The Chromebook and MacBook Air showing the same image with minimal sun exposure. The Air is brighter and the image more vibrant.

Another difference is the quality of the rest of the hardware. As you can see in the photo above, two laptops showing the same photo on maximum brightness with minimal sun exposure. The MacBook Air is both brighter and crisper. It’s hard to capture this in a photo, but you can definitely tell the difference when you’re using them. Not that the screen on Chromebook is bad. The MacBook Air is just that much better.

If you like the Mac Air for its size and keyboard, the Chromebook is a good competitor.

If you like the Air for its size and keyboard, the Chromebook is a good competitor.

The same goes for the keyboard and the touchpad. While I told you the Chromebook has a really good keyboard and touchpad, the Air is still superior. For one, the Chromebook doesn’t have a backlit keyboard. Sure, it’s a mostly useless feature unless you spend too much time doing what you shouldn’t be doing: typing in bed, at night, with the lights turned off. But it’s one of those nice-to-haves that one can get used to fairly quickly.

Some of the most important things for me are mobility, boot time and speed. When you’re lugging a laptop around to take notes during press events and public meeting, it can be important that it not take a long time to load. I’ve done side-by-side test of the MacBook Air and Chromebook and have found the Chromebook to boot on average in 5-6 second while my MacBook Air takes about 10 seconds.

In conclusion:

  • For the price, the Chromebook is an excellent machine
  • No, it’s not better that the MacBook Air.
  • Yes, it’s a great laptop if you’re on the go.

 

Samsung Chromebook Gallery

Tagged with:
 

Amazon-iconThree data points. That is what Amazon uses in its book review system. The star rating, the title of the review and the review itself. And in the wake of the seemingly never ending string of mini-scandals each time an author gets a disproportionate amount of positive feedback, maybe it’s time for Amazon to think about a smarter way to do business.

After all, selling books is what built the company and the its review system was one of the main reasons that allowed Amazon to build a community and a loyal customer base in the beginning. Now it seems the time is right for Amazon to make some changes. Heck, even Amazon agrees.

After several well-publicized cases involving writers buying or manipulating their reviews, Amazon is cracking down. Writers say thousands of reviews have been deleted from the shopping site in recent months.

Amazon has not said how many reviews it has killed, nor has it offered any public explanation. So its sweeping but hazy purge has generated an uproar about what it means to review in an era when everyone is an author and everyone is a reviewer.

Giving Mom’s Book Five Stars? Amazon May Cull Your Review – New York Times

Big Data To the Rescue

So what should Amazon do to create a more effective review system that is harder to game with bogus reviews? I vote for big data. Yes, it’s the hottest buzzword out there. As a matter of fact, the Global Language Monitor named it at the top of its list of “tech buzzwords everyone uses but don’t quite understand (2012).”

But big data is really not that hard to understand. Essentially it is a ginormous (yes, that’s a technical term) collection of structured and unstructured data that cannot be processed using standard relational database models. See, I told you it wasn’t that hard to understand. Wikipedia describes it as: “a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications.”

You know that thing your teacher told you about not relying on Wikipedia? Well,  I was at a big data conference some months back and this was the definition the experts were using. So, make sure you tell your teacher they suck at life. Anyways, back to Amazon.

How Amazon Does Reviews

When Amazon started selling books online they adopted the only type of book review system in existence — that of newspapers, magazines and trade publications — for the web. Anybody who has read a book review in a magazine or a newspaper knows the elements: a star or point rating system, a snazzy headline and a big box of text intended to crush the author’s soul.

AmazonReview

Amazon’s review system is really just a digital version of its analog predecessor.

Amazon did make one critical addition not possible in print. It allows users to vote on which reviews were useful and which were not. Of course, if there are concerns that authors are gaming the system for glowing reviews I’m not sure what would stop them from also voting up those fake reviews. I believe the technical term for that is double whammy.

What Amazon needs to really overhaul its review system is a new method for effectively reviewing and rating something that is as subjective as literature. And the new method should not be hindered by the limitations of the literary and journalistic criticism of the past, which could only print the opinion of an expert distilled into a review that was as long as the amount of advertising in that issue allowed it be. Just image the shock of a literary critic finding out that this 2,000 word review of a 1,000 word poem was cut in half because Bob’ Tailor Shoppe pulled a full-page ad for its winter coat sale after a sudden heatwave in the middle of December.

How Amazon Should Do Reviews

Instead of relying on a text review and a 5-star rating system, Amazon should create a big data solution that allows readers to provide a vast array of of additional feedback, comments and ratings which could be used to match readers with books and shoppers with relevant reviews.

Before you shake your head and tell me how misguided I am, consider this. How does one write a review? What makes an effective review? What aspects of the book are worth reviewing? As you ponder those questions I challenge you go read any random book review online. In a majority of cases what you will find is a mangled collection of poor grammar and sloppy writing in which Johnny Amateur Critic spends a good deal of time summarizing the plot and then adds a few throwaway lines of actual criticism. But that’s not a criticism of amateur criticisms. People have opinions worth sharing. But the standard “here’s a textbox, fill it with something” approach doesn’t work.

Now consider a reviewing system that allows the reader to individually critique the elements of fiction such as characterization, plot, pace, symbolism, style, tone, etc. Those are all things a professional critic would know to do and would weave in throughout a review. But an amateur critic invariably reverts back to 6th grade book review mode: “I read a book. This is what it was about. I liked it. This is why I liked it. The End.”

Consider a review in which the reader could rate each of the main characters on things like if they were a fully fleshed out human being or just a cardboard cutout good guy/bad guy. A review that will ask the reader to quote some of her favorite lines from the book or, if the rating of the prose/style/tone category is low, the reader could provide specific examples of why she believed that part of the author’s craft was lacking.

This type of review system could categorize genre fiction not just by the categories the publishing industry has devised (legal thriller,  suspense mystery, vampire romance), but also by a myriad of other factors such as the profession of the protagonist (spy, detective, Harvard professor who just as adventurous as he is smart, wealthy and handsome), the nature of the threat (evil billionaire, deadly monster, visit from in-laws) or the tropes and plot devices the author uses to pull all this together (evil twin, time travel, the history we all know is fake and this one artifact the bad guys are after will prove it).

Amazon could collect all of these data points incrementally, asking reviewers to answer a set of 5-10 generic questions as part of the review and then prompting them to answer additional questions or provide more specific answers to their earlier questions. All of this would be optional and the reader would only provide as much specific feedback as he wants.

Why Do We Need Reviews?

criticism

So what’s the point of collecting all of this information. Well, the point should be simple: the predict which books a reader will like based not just on the previous books she enjoyed but also on the bits and pieces that make up the book. Because that is really what we’re trying to do here, right? Make a recommendation.  There is a difference between literary criticism and making a recommendation. Criticism analyzes the quality and significance of a piece of writing. A recommendation helps a reader find a book they will enjoy.

One important thing Amazon could do with this type of review system is to slice and dice the data in ways previously unimaginable. Instead of relying on the number of stars somebody decide to click on, Amazon could combine a set of specific characteristics and use it to create a new type of rating system that would understand the difference between a literary novel and a whodunit and give readers the ability to rate both without having to rely on their ability to fill out a blank text box with a meaningful critique of the book.

At the end of the day what Amazon is really asking you is: Did you like this book? Why did you like it? Would you recommend it to a friend? But the way its review system is set up right now limits those opinions to a star rating, a headline and a block of text.  If Amazon needs some help in thinking out of the box and creating a new and innovative big data solution that can transform its business while adding to the bottom line, maybe they can call … Amazon. That’s right. The same company that has built an empire on a rating system that only has a few data points is one of the leaders in driving “innovation through data, with scalable services for data collection, storage, integration, analytics and collaboration.” Maybe someone should write a review about that.

Tagged with:
 

All beginnings are kind of awkward so I will not spend any time laying out a philosophical purpose statement or the life events that led me to create a blog.

If you want to know who I am (or, more accurately, what I do) there’s a succinct summary on my main website.

The bulk of this blog will be about my observations and thoughts on technology and how it affects writing. I’ll try to post practical advice and tips that others can put to use.

 
Set your Twitter account name in your settings to use the TwitterBar Section.