Posts

downloading folders from google drive.

I wanted to download some course material on RL shared by the author via Google drive using the command line.  I got a bunch of stuff using wget a folder in google drive was a challenge. I looked it up in SO which gave me a hint but no solution. I installed gdown using pip and then used: gdown --folder --continue https://drive.google.com/drive/folders/1V9jAShWpccLvByv5S1DuOzo6GVvzd4LV if there are more than 50 files you need to use --remaining-ok and only get the first 50. In such a case its best to download using the folder using the UI and decompress locally. Decompressing from the command line created errors related to unicode but using the mac UI I decompressed without a glitch.

The Happy winners #nlihack 2017

Image
About the event  The happy winners! Amir Aharoi, Oren Bochman and Chaim Cohen Last week (November 23-24 2017) I had the pleasure of participating in the first  National Library of Israel's Hackathon . I've been to the NLI a few times with friends from the Wikimedia movement to instruct its staff and students about editing Wikipedia. But at the hackathon, the NLI opened its doors to the best and brightest minds to help out with tagging content and dissemination of its extensive image database. The Team You can't win a hackathon without a great team. My team consisted of seven developers which have been a part of the core community of Wikimedia developers in Israel and have been meeting irregularly since the International Wikimedia hackathon Organized by Wikimedia Israel last year in Israel.  We had met about a week before the event at the Local chapter's offices and discussed over pizza what we wanted to do and what the NLI had asked us to do. I realized that ...

My first BigQuery DWH

Image
BigQuery is Google's Analytics Database Some notes about a project that has taken up lots of time recently. It was a media attribution dashboard for a client running several hundred campaigns. A POC version of the project had been created manually using spread sheets and we had to provide a drop in a replacement ASAP . I took up the task of migrating a spreadsheet based BI to a more robust script and SQL based platform able to handle the rapidly aggregating data which would soon overpower the spreadsheet's models. A secondary challenge was that the entire system were analyzing was under development and would change daily. Despite it's lacks as a classical database (missing triggers and in schema protections) I choose BigQuery for its scale-ability and ease of integration. Despite its limitations it soon felt like a perfect fit for this type of project. Data collection Data is currently acquired daily via API from various platforms: for example Google AdWords an...

How to take out the Trash from command line in Ubuntu 17.10

>How to use the trash from the command line? The pain Setting up new projects is frequently time consuming, with many false starts until everything is setup right. In fact once CI is set up and the version on the local machine is less important. I've been encountering this Ubuntu annoyance whenever starting a new project. I could create smart aliases for rm with a command line trash folder. But there would be two trash folders. I just want to access the same trash folder from the command line that I can access through the desktop. It also turns out that this has been the subject of not one not two but at east three packages. This following option is quick, safe (as it is reversible) and lets us focus on the the setup. Doing machine learning also creates big models and large downloaded data sets that can hog up the limited fast storage. Still I don't enjoy retraining a big model because I accidental tossed out the last good model with all the previous runs. The reme...

Lay the foundation faster

Image
I've recently started to work wit foundation.js. My primary goal for work with foundation is to generate very fast mockups. After completing the first project I've taken a bit of time to learn a bit more. Here are some insights which were difficult to discover within the documentation: #slack is available but not active enough to get answers Foundation is primarily sass or css framework. If you need to do anything more than build a mockup it is probably not going to have any code you need. Using multiple document layouts:  managed by panini which is really  handlebars.js can speed up static prototyping.  may help with PWA using http 2.0  you need to have a {{> body}} handlebar in the template. you have to add YAML FrontMatter to to the page (is this mr Jekyll ?) the YAML needs to reference the layout ie: layout: file-name-without-ext if you reference missing layout you will get errors. Panini is based on handlebars.js and handlebars m...

When one size can't fit all - UI/UX breakpoints

Image
What are UI/UX breakpoints? Breakpoints in a user experience of user interface design are the width specifications at which layouts change to accommodate larger screens with different layouts on various devices and orientation. Breakpoints are used with column based design drawn from a grid system. In the real world, for example, Android devices highly fragmented screen sizes implies that a single  design's functionality will be challenged to conform with so many different sizes. Breakpoints essentially simplify the work by grouping many devices together. Within each bucket, a design will have to scale to adjust. But between breakpoints, there may be more radical changes in the interface's functionality. Infographic for breakpoint from Google's material design site One best practice of design involves the use of grids. A notable reference is Josef Müller-Brockmann's  book " Grid Systems in Graphic Design ". This has found itself into web design th...

Wikimania 2016

Image
Wikimania Goes Outdoors  (please never again) Thanks to the kind support of Wikimedia Israel, I attended Wikimania 2016 in the alpine village of  Esino Lario located in the Lombardy region of northen Italy. I was also able to attend the Hackathon event.  Compared to other Wikimedia conferences which I have attended this was a challenging event. The Wikimedia foundation has undergone a management crisis with the result of staff leaving in droves. For this Wikimania, the number of scholarships for staff has been restricted so attendance by staff developers was much less with many development teams not being represented.  This has had two outcomes one is that it is unclear what is being developed by WMF these days but the upside is that community projects and developers got more emphasis. The Kiwix Ecosystem Kiwix - the offline wikipedia reader Two such projects are Kiwix and the " community wishlist ". Kiwix is the brainc...

What tools and developer resource are available for Polymer ?

Image
Data scientists need a platform for disseminating information and ideas. Polymer 1.0 release is perhaps the biggest news for web development this year and as this platform from Google matures we get more information on how app/website development is viewed by Google. New tools are being released and a whole ecosystem is forming around polymer and web components.

The age of Selenium

Image
Some quick notes from the 1 0th selenium meetup which took place at the IronSource offices. My interests were primarily for testing websites and the spacial use case involving "analytics" setups.  It turns out that both simple and complicated analytics setups require about six testing sessions. When working with large web sites analytics setup tend to get broken routinely. While custom alerts can help to detect large disasters, a automated testing tool is invaluable for tracking these type of failures early. Oxygen IDE The bleated Selenium IDE  (Photo credit: Wikipedia ) The meetup started with an unscheduled  lightning talk by Nachum Dimer. This, for me, was the most productive talk, quite possibly because it was just 10 minutes and so had no fluf. It covered Oxygen Ide . Oxygen is a new Selenium framework and integrated development environment. Oxygen IDE allows recording on Internet Explorer, Firefox and Chrome. which is a significa...

Organizational challenges for the cult(ure) of analytics

Image
All things data 2015 Last month I had the fortune to attend "All thing data 2015" Conference in Tel-Aviv. The turnout was impressive and despite a stiff entrance fee, almost a thousand people come to learn from a lineup of local and international "experts" on Web Analytics. The crowd was a mix of consultants, sophisticated digital media buyers, analytics instructors and numerous web analysts from newly established startups and from more established companies all unified by an appreciation of their vested interest in monitoring their web presence. Organizational challenges While structural variation are not uncommon the ability derive decisions from data remains a major challenge of firms. One of the first talks was given by Mr. Zvika Jerbi who is a consultant working for SWC. Coming from an academic background he lectured the audience on the organizational challenges of implementing a culture of analytics in more traditional business setting...

Google Analytics Plugins and Tasks APIs

Image
The Google developer's documentation says that to reduce the size and loading times of the analytics.js library, it is constructed using a modular architecture. Different plugins need to be loaded to add support a number of features. Some interesting aspects of this architecture is that analytics has to collect timing information as well as reporting of data as it is loading. In the background analytics uses a bit bucket algorithm to regulate  reporting impact to both the producer (browser) and consumer (their cloud). These plugins are introduced using the require directive. Some examples of plugins are e-commerce plugin - ' ecommerce '  enhanced e-commerce plugin - ' ec ' enhanced link attribution plugin - ' linkid ' cross domain auto link plugin - ' linker ' display features plugin - ' displayfeatures '  Recently Google introduced the plugin api in which it introduced documentation on how to extend analytics using your...

Google tag manager pros and cons.

Google is now rolling out its second version of its tag manager product. The old tag manager will be read only from April 2015 and migration of old tag containers is not yet available. Tag manager is a strategic component for solidifying Google's position as a vertically integrated advertising service provider. Most introductions to tag manager tout its capabilities for reducing advertisers' and analysts' dependence on IT and developers for integration and maintenance of ad and traffic tracking codes. The tag manager placed at the start of a document's body will inject all other tracking codes you need on a page . It can be hard-coded, injected using SSI, or any other technique. Google Tag Manager can supports capturing events from flash and can setup for tracking mobile applications. These corner cases require greater sophistication than most default cases. Another advantage is that it may speed thing up since it works asynchronously. The migration to the new ver...

Metrics of Key Performance Indicators

Key Performance Indicators Key Performance Indicators or KPIs provide summary statistics  for evaluation of operations in any number of business settings. Understanding a business' KPI helps managers focus on areas most in need of attention and these are easily communicated. Affiliate Programmes Affiliate programmes  fall into the B2B marketing category. The affiliated companies are different businesses active the same sector which do not necessarily compete. The Affiliates programs aims to market to other companies' client base where the companies are not in direct competition . These programs' business model work based on incentive schemes derived from revenue sharing , either one time or over the life time of the client. The advantage is to allow strategic alliances between companies while  reducing costs of marketing and advertising. sales (revenue) leads registrations   cost of acquisition number of affiliates Other common KPIs include: traffic...

Popular posts from this blog

downloading folders from google drive.

Random Thoughts on Linear Regressions

SQL - Selection v.s. Projection