Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Monday, April 28, 2014

Setting up podcast alarms for your mac

Quick notes on how to configure your mac so that you can wake up to podcasts/get podcasts to play every hr etc.
  1. make a podcast playlist on itunes
    1.  create a smart playlist from your musics tab as follows (I called mine "New Podcasts") 
    2. you probably want to configure the podcast settings so that you only keep the most recent episode (otherwise say for NPR hourly podcasts, your playlist will include multiple podcasts from NPR hourly)
  2. create an application with automator
    1. create a new application and save it somewhere
    2. search for itunes and put "get specified itunes times" into the right side (then add your playlist u just made)
    3. search for itunes and put "play itunes playlist" into the right side
    4. this is how it should look at the end.
  3. system preferences -> users & groups -> login items: add your automator application to get it to run on login
    1. to get computer to automatically turn on, system preferences -> energy saver -> schedule -> startup/wakeup every day at xyz time
  4. go to calendar and add repeating items for daily/hourly runs
    1. create a new event, make it repeat
    2. go to the alerts -> custom -> open file. and instead of opening calendar, open the application
  5. to automatically download/get the most recent podcasts, the easiest would probably be to write an applescript, then export it as an application (and then schedule to run it right before your podcast alarm)

Saturday, May 18, 2013

Random Thoughts: Desktop Efficiency for Linux

Also see my post on windows desktop efficiency.

I just spent some time making my laptop dual boot ubuntu and windows. While I have played with ubuntu before, I never took the time to customize it for efficiency before. So here are my thoughts.

  1. windows shortcuts still work
    • win + 1,2,3 etc still calls your applications on the task bar
    • I added win + d to show desktop
  2. new shortcuts/desktop management tools
    • a bunch of ctrl+alt shortcuts for manipulating workspace
    • this takes the place of stuff like win + arrow key: presumably you rarely need to tile windows because you can put stuff into different workspaces. There are also windows tiling managers but I haven't looked into that yet. (CompizConfig has a plugin called grid that does this)
  3. for autohotkey equivalents
    • xmodmap for the basic mappings. I'm thinking that this is actually a lot better than my current windows solution- more below.
    • autokey is pretty well developed- you can apparently call python scripts from it
My new ubuntu key mappings maps mode_switch to tab (ie. altgr without the alt). This is a whole new key modifier. (ie. imagine, in addition to ctrl, alt, win, you also have mode_switch) When I was in windows, I had some problems with overloading the functions of the ctrl key For example, I wanted ctrl+l to be right arrow, but then I also wanted ctrl+right to move one word right). My solution then was to differentiate between right ctrl and left ctrl. Rctrl + j -> down, Lctrl + j -> Ctrl + down.

Now, I have my own modifier separated from normal Ctrl functions.This allows you to keep stuff like ctrl + h in your browser to be history (that was a problem before).

Had some installation difficulties along the way, but all-in-all seems quite manageable.

Friday, April 26, 2013

Computer Security

Some thoughts about potential options to secure your computer

  1. setup 2 step authorizations (eg: google can send a pin to your phone, or banks have pin generator for a second password)
  2. isolating threats. ie: when paying with a credit card, you could
    1. use a VM
    2. use Tor
    3. dual boot to a separate OS
    4. setup a computer and remote access into it
  3. software: firewall, regular virus scans, regular spyware scans
  4. monitors: monitor network traffic here
  5. reformat your actual computer periodically

Wednesday, January 23, 2013

Random Thoughts: Desktop Efficiency for Windows

Customize your desktop with these free tools to become most efficient

  1. autohotkey
  2. launchy
  3. divvy win-split-revolution (divvy is not free)
  4. .bat files (for windows)
These programs allow you to avoid having to use the mouse/move your hand position and to be able to bring up files/foldes or run commands in less keystrokes)

Autohotkey: map keystrokes to different keystrokes or call different programs (eg: Ctrl+Shift+N to call new word doc). One huge functionality is mapping keystrokes to navigation commands so that you don't need to move your hand away from the keyboard. eg: vi (an editor) maps H -> left,  J -> down, K -> up, and L -> right when it is in navigation  mode:

Now you can have that across your whole desktop.

Launchy: start programs/open folders by typing in their names from launchy (brought up by alt-space) instead of searching for it in the start menu. 
Macs already have a similar program included

Divvy Win-split: customized tiling of windows. for example, when I am at my office, my middle screen usually looks like this: web browser taking up ~2/3 width and some space at the bottom (because of the bb launchpad widget)
Divvy Win-split lets me automatically size the browser this way. I wish there was a way to size multiple tabs at once though (eg: put 4 windows into the 4 quarters of the screen)- but that's going to be really complicated (because computer doesn't know what to choose after the active screen)

.bat files: requires some minimal understanding of commandline. Basically write small scripts to let you do whatever you want. You can then use launchy/autohotkey to call these scripts.

Saturday, January 19, 2013

Random Thoughts: New Trends

Want to think about new forms of media made possible by technology, and whether I am fully experiencing/taking advantage of these new improvements

Partially inspired by this ted talk about new forms for comics (eg: infinite canvas).

Thoughts:

  1. Much easier referencing + dynamic hide/show functionality --> overview type documents are much more effective and can aesthetically pleasing
    • Imagine a spark notes study guide. Previously publisher needed to cram everything you need to know into the book, which inevitably leads to waste of words/space. eg: There is some stuff you already know so you skip over it, and the whole thing gets bulky. Now, publishers can just list concepts that you need to know. if someone doesn't know it/want to review, they can just click into it. Alternatively, you could select/hover over the text to get details,  or click a button to show/hide details. 
    • Imagine this post, where you first see the first sentence of each bullet pt (a summary of the whole paragraph) instead of the whole paragraph and can choose to see more if interested. Better than just seeing this huge unappetizing blob of text, no? This is maybe something that blogging services can improve on. 
    • Alternatively, one way this has been taken advantage of is linking. What we are doing here- introducing concepts and linking to its descriptions/examples for someone who wants to dig deeper. One potential problem however, is that if you link to someone else's stuff, they might take it down, and others won't be able to access it anymore. There should be software that allows someone to say preserve your own post and also any pages that it directly links to.
    • A similar idea is that contextual information should become more accessible. For example, if I went to a museum, maybe I want to know that there was a period when Picasso painted in blue. Then, when I see this blue painting of his when I am there, I will know, "Aha, this was during his blue period", and not this. Wouldn't it be cool if the museum could just publish some contextual information for each exhibit so the non-art-history majors can read the context beforehand? (or even on their smart phones as they are on site)
  2. Message frequency. Crowd sourcing based news sources have been around. eg: wiki and yelp. However, the ability to email/msg/tweet..etc at the current frequency is actually pretty new, which means:
    • Nowadays, most current news is often found on twitter. I want to start to build out a news network using tweetdeck (has popup notifications for customizable tweets. eg: by author, keyword etc) to supplement conventional news sources.
    • Live blogging. should make an automatic live blog as own diary
  3. Cloud computation: can do super computationally intensive things from your phone (because your phone isn't actually doing it). This is similar to having a secretary you can call who can then lookup xyz for you (in the good old days). Instead, you use anything with internet connection to access your server and the server does computationally intensive things there then the results back to you.

So this brings me to my final thought. This part is inspired by Cassandra.
(I want to make) one app to rule them all- aggregating news sources and combining functionality.
eg: if you read from 100 different blogs, you want an rss reader that aggregates that for you. But that is just the first level. If you read these blogs, these emails, watch these new youtube videos and browse bloomberg at this time, then you could  have something that scans for particular emails, accesses rss feed, and pull articles from bloomberg and delivers to you all at once for your morning reading. Similarly, customize your evening readings, monthly readings etc. And this is just aggregating news sources. You also want to combine different functions eg:
  1. Databasing/record keeping 
    • Note taking/comments, hash tags for easy retrieval later, also see live blogging
    • If pt (1) becomes more popular/developed, then I think there are much better options for databasing the information.
  2. Learning (from now on if x happens I want to do y as the correct response. can the computer remind me or do this for me?)
  3. Automation 
    • autofilter news sources, emails. On a sidenote, autofiltering/personalization without you knowing it is really scary.
    • autoprocessing, eg: supplying useful statistics (this is your 5th email correspondence with this contact. last time you didn't respond to his question even though you flagged it as something to followup on)
    • supply default responses- wouldn't you want to be able to be able to select between "haha", "yeah", "lolol", etc for your text responses instead of having to type that out?
However, one interesting observation is that while creating/using this one app that aggregates and combines functionality may be an "optimal" choice, it is not going to be a widely adopted in real life. Something complicated/personalized is great if you can understand it, and it may get a cult following, but it will never get widespread following. Kinda reversed tragedy of the commons

Wednesday, August 15, 2012

Automation and Labor

FT Alphaville recently had a thought experiment on how things would have gone if "the US, rather than taking advantage of cheap labour in China, had kept things at home and heavily invested in automation".

This is one of my favorite themes: the rise of automation in manufacturing and its effects on the global economic balances. Recently, over the past year or so, multiple research publications and journals (such as the FT, The Economist, GS, BofA, BCG, Gavekal, ISI) have featured this supposed inevitable renaissance as robotics and 3D printing revitalize manufacturing in the US.

It's an exciting and sexy theme I will probably cover in greater detail in the future. Today, however, I am interested in very specific component: labor.

Luddites

Low-cost production techniques could soon become so advanced and so low cost — thanks to developments like 3D printing — that even the tiniest salaries in Africa will not make it worthwhile to employ human beings at all.

In the 1800's, the Luddites were a group of disgruntled skilled weavers who displayed their discontent by destroying the automated looms that made it possible to hire unskilled (and cheaper) labor in their place. Of course, in hindsight, these productivity-enhancing machines were a good thing: it freed up future generations of educated men and women towards more interesting work, e.g. as innovators of new industries. In other words, would-be weavers became engineers, inventors, thinkers, etc. instead.

Are we falling prey to this Luddite fallacy today? It's clear that on its own, automation cannot be said to be a job-killer. Generally, as the prices of goods fall with the productivity gain made possible by automation, demand for goods increases, which results in increasing demand for labor. This gives us more employment, rather than less.

However, the current round of automation (the third industrial revolution, as The Economist likes to put it) is potentially different.


This is unlike the job destruction and creation that has taken place continuously since the beginning of the Industrial Revolution, as machines gradually replaced the muscle-power of human labourers and horses. Today, automation is having an impact not just on routine work, but on cognitive and even creative tasks as well. A tipping point seems to have been reached, at which AI-based automation threatens to supplant the brain-power of large swathes of middle-income employees.

In previous industrial revolutions, machines replaced our "hardware", that is, our bodies and our physical labor (bad analogy, but let's roll with it). This was fine, because as long as our ideas added value and machines couldn't automate our thought processes, we could remain employed in an intellectual capacity. However, machines are now able to simulate many of our thought processes - and not just the purely computational ones - with the industrial implementation of artificial intelligence and machine learning techniques. Machines are now replacing our "software", that is, our minds and our intellectual labor.

Modern Luddites like to point at today's unprecedented levels of long term unemployment as evidence for this. However, if this were true, why is there continuing high demand for skilled workers?


Nearly 60 percent of survey participants expect to increase their workforce (compared to 50 percent in the fall), but finding qualified workers to fill open positions continues to be a concern for the industry – an unusual dichotomy, given that national unemployment rate remains high," said Kurek. "The need for a skilled workforce could be one of the greatest impediments to growth for U.S. manufacturers and distributors, and makes it difficult to compete in the global market."

source

For many manufacturers, finding the best people to fill these new positions is far from assured. Respondents to ThomasNet.com's IMB lament the skilled labor shortage, and are vocal about what needs to be done to fill the gap. One noted that we need to "improve the attitude within the U.S. regarding the desirability of manufacturing for the next generation." And many respondents want to see education reform with the aim of giving America's youth the skills needed to join the manufacturing workforce.

Usually, automation draws labor demand away from the high-skilled towards the low-skilled. So what is going on here?

Perhaps it's simply a matter of perspective.

Skills and Training

In the long term, it may be true that we are on the cusp of a post-scarcity world of maximal leisure and obsolete labor thanks to the ever increasing intelligence of machines. In the short term, however, human intellectual capital is very much in demand.

[In the 1990s] the US went for massive outsourcing. However, Germany and Northern Europe in general went for automation. The reason why the latter region went for automation is that they were already fighting high labour costs as early as 1980, so they already were well on the path to automation.
At least in Northern Europe, the big automation revolution that we saw starting around 1980 seems to be coming to an end. The reason is the full exhaustion of engineers/skilled technical workers.

This is why some have proposed working hour limits, e.g. instead of a few investment bankers working 100 hour weeks, twice as many bankers working 50 hour weeks are hired. Of course, the policy's track record isn't that great (consider France's 35 hour/week limit and look at their economy) and furthermore, it falls victim to the lump of labor fallacy. However, this perhaps helps us in understanding the liberal's curious characterization of an ambitious overachiever taking excessive overtime for himself as somehow "greedy" due to his theft of his fellow man's labor hours. Compare with a conservative's view that all hard work is deserved and efficiently allocated to those who are most deserving.

However, considering the theory that we are on the cusp of a post-scarcity world, perhaps the liberal is right.

We live in a world were there is too much work for highly educated workers and not enough work for low educated ones. This at a time of general decline in education standards as demonstrated by many PISA studies. The forces of the market would have it that wages of the educated will rise and wages of the non-educated will fall.

This is why we need cheap, effective and widely available STEM (science, tech, engineering, mathematics) training (and retraining) opportunities in the US. This is both for new entrants to the labor force as well as for existing workers who have been displaced. A "liberal arts" education may be more intellectually pure, but for the majority of the population, it's simply irresponsible. The German education system, which emphasizes vocational schools alongside industry apprenticeships, is a good model (already these are starting to pop up in the US). This would also serve to help students avoid taking on excessive student debt as costs are lower than traditional research universities, and full time offers are often made by the employer to their apprentices upon graduation. Businesses would also be more willing to hire new graduates (as opposed to experienced hires) as job-specific training has already been completed (avoiding expensive on-the-job training programs as in the US).

However, the fundamental problem remains that the exponential pace of technological progress may simply be too fast for the skills mismatch gap to close. This is why I am optimistic about online education opportunities such as Udacity, Coursera, Codecademy, iTunes U, which meet many of the above requirements for good STEM training: cheap (it's free), effective (taught by professors, some of whom are at Ivy League universities) and widely available (anyone with internet). Recently, Udacity announced that they will offering certification exams in Pearson testing centers in conjunction with their job placement program. Unlike inflexible bureaucratic universities, online education is subject to the free markets: courses are offered in the subjects where the demand is, course demand goes where the opportunities are. This should go a long way towards minimizing the skills mismatch gap.

Future

Demand for unskilled labor will disappear or at least be significantly diminished. Although AI, robotics and 3D printing may have the potential to completely eliminate labor as a factor of production, as some modern Luddites claim, in the short term, the modern day equivalents of machine-operators (programmers, engineers, technicians) will be in high (and probably increasing) demand.

As the ultra-low labor costs in emerging markets no longer matter, jobs may initially come back to the the developed world. However, this job reshoring may be limited in impact as the emerging markets will seek to rapidly catch up (look at the growth of India's IT talent), especially as knowledge becomes freer and more easily available (such as through online courses). Thus, the most sustainable way for developed markets to compete will probably be through superior education and training.