Profile

Cover photo
Ryan Newton
Works at Indiana University
Attended Massachusetts Institute of Technology
565 followers|201,357 views
AboutPostsPhotosYouTubeReviews

Stream

Ryan Newton

Shared publicly  - 
 
Setting up multi-user Nix installs on non-NixOS machines is not really fully covered in the manual, but this great blog post fills in the missing bits:

http://sandervanderburg.blogspot.com/2013/06/setting-up-multi-user-nix-installation.html
I have written quite some Nix-related articles on this blog. Nix is typically advertised as the core component of the NixOS Linux distribution. However, it can also be used separately on conventional Linux distributions and o...
2
Add a comment...

Ryan Newton

Shared publicly  - 
1
Erik de Castro Lopo's profile photoRyan Newton's profile photo
2 comments
 
Yes, not only that, serious thought went into what properties they wanted to preserve in Unison.  This is in contrast with, say, Dropbox, which enables weird, unintended nondeterminism -- http://parfunk.blogspot.com/2012/04/dropbox-wiki-gone-why-we-little-people.html
Add a comment...
 
Why Computer Science at IU?  Well, in addition to our concentration of PL folks, it's a great college town to live in.  Maybe I shouln't care, but I have a weak spot for beautiful campuses.
   Computer Science PhD Program at Indiana University
9
4
L Jean Camp's profile photoAndrew Younge's profile photo
Add a comment...

Ryan Newton

Shared publicly  - 
 
"packunused" is great!  I can't believe I've been making do without this up till now.  Maintaining import lists and package depends really feels like a process that deserves automation.  One of my least favorite steps in developing with cabal is duplicating large blocks of depends between different targets (e.g multiple test-suites).  Unfortunately, cabal doesn't provide a way to abstract over dependency lists.  Packunused helps, however, by making it possible to copy paste large blocks of imports between targets, and then list out all the unused ones in a single step, rather than by a O(N) trial and error process!  Now if it could only refactor the .cabal file to remove the imports itself...

P.S. I just added this to my .bashrc, for my common use case:

function cabal_unused_deps() {
   set -x
   cabal clean && \
   (find -name "*.imports" | xargs rm -f) && \
   cabal configure --enable-tests -O0 --disable-library-profiling && \
   cabal build --ghc-option=-ddump-minimal-imports && \
   packunused
   set +x
}
This simple CLI tool allows to find out which of the packages listed as build-depends in a Cabal package description file are redundant. packunused works by taking advantage of GHC's -ddump-minimal-imports feature which creates .import files for each compiled module containing a minimal set of ...
8
Add a comment...

Ryan Newton

Shared publicly  - 
 
Flying in the US 101: Avoid changing through Chicago

Gripe time.  Various friends and family of mine have gotten stuck in Chicago (and my parents were stuck overnight in refugee-like conditions).  But that’s what they’re all like, right?  Well, yes, it is what it is -- a massive, multi-terminal, train-connected, oversubscribed airport.  But what gets me is that software that composes flights into itineraries needs to be smarter.  It scheduled me for a 1:56 minute layover, and even shorter ones were offered.  If it had a model of the Chicago airport, how could the algorithm consider that long enough to execute the following?

  1. Wait to get off long plane.  (They called for people to let others with tight connections get off first.  But in a wonderful demonstration of our species capacity for collective action everyone just stood up to get their bags and blocked the walkways anyway.)
  2. Wait in line in the overcrowded customs area for a kiosk to scan your passport, print receipt
  3. Wait in line to exit the customs area
  4. Wait for baggage (this was very slow, and generally embarrassing compared to how efficient the same thing in Tokyo was)
  5. Wait in line to exit baggage area
  6. (Optional: wait in another long line to recheck bag on the way to connecting flight.)
  7. [walk… the airport is big]  Wait in line for train to 1 of 3 domestic terminals.
  8. Get to terminal 1 [can’t change ticket without waiting through a long ticketing line], wait through long security line.
  9. Walk significant distance through terminal B to get to terminal C, then walk to the end to find out 2hrs have elapsed and you have missed the flight.

And then in the bonus round you get to wait at a long customer service line to reschedule the next flight (because the person at the gate refused to do it).  Anyway, I’m betting the average time for the above process is often above 2hrs.  The software needs to know that!

I’m not actually sure what company is responsible for validating the routes that come up in searches.  Google has some data on the frequency with which certain routes are late — you can see it from their flight search results -- which is a start.

I’m about to hit that 24-hours-continuous-traveling mark so please pardon my grumpiness.
3
Add a comment...
 
I've been a fan of Lessig for a while and especially his approach in this.  Just made my pledge.
 
+Lawrence Lessig and others have put together a real plan to reform US election financing and lobbying. It might actually work, too. https://mayone.us/

I've been following the movement in this area for a while (United Republic, Represent.US, RootStrikers, etc.), and the ideas have been big, but, so far, the action has seemed to be more about “spread the word” than anything else.

I'm excited about #MayOnePAC . I'm hopeful it can change things. If you think lawmaking in the US government caters more to those few individuals and corporations with money more than everybody else, you should consider supporting this super PAC to end all super PACs.

If you don't want to watch the video, read this article: http://billmoyers.com/2014/04/25/lawrence-lessig-has-a-moonshot-plan-to-halt-our-slide-toward-plutocracy/
View original post
4
William Leiserson's profile photo
 
You had me at "Lessig."
Add a comment...
Have him in circles
565 people
Vladimir Bychkovsky's profile photo
tilly campbell-allen's profile photo
Lally Singh's profile photo
Anna Batchelder's profile photo
Edward Kmett's profile photo
Ross Larson's profile photo
Andy Keep's profile photo
Juan A. Guzman's profile photo
Jared Baker's profile photo

Ryan Newton

Shared publicly  - 
 
Of course, complexity is a liability.  Companies seem enamored with fancy download assistants rather than simple http.  But right now I can't install the Adobe Lightroom trial because the only download link I can find tries to launch the "Adobe Application Manager" which segfaults every time.

Sigh.
3
William Leiserson's profile photoJohn Lato's profile photo
2 comments
 
I really hate the Adobe installers. Oh you want to download an installer so you can transfer it to an offline machine? Good luck with that. 
Add a comment...
 
Umm, remind me, is there any good reason to have ScopedTypeVariables off in #Haskell program?  I'm trying to remember if its conditionality is a feature or legacy alone -- an evolutionary scar.
   I very much appreciate that Haskell has design inertia and continues to change rapidly, but I wish I could keep track of how much of the growing complexity is based on 1st principles, how much to is solve problems that we created ("second principles"?), and how much for simply historical reasons.
2
Ryan Newton's profile photoBoyd Smith's profile photoNeil Mitchell's profile photo
3 comments
 
Legacy only. It should always be on, and shouldn't need a forall.
Add a comment...

Ryan Newton

Shared publicly  - 
 
Why how Zen of you, Dropbox:

$ dropbox start
Dropbox isn't running!
Dropbox is already running!

On RHEL Linux 6.5....
6
Shriram Krishnamurthi's profile photoWilliam Bowman's profile photo
2 comments
 
I have to run `killall dropboxd` every now and then when using the dropbox from a headless machine, because otherwise I get this issue. I've been meaning to try running it with a xvfb to see if not having a DISPLAY is confusing it.
Add a comment...

Ryan Newton

Shared publicly  - 
 
Mixed messages from Google docs.  Maybe "Saving" rather than "Saved" would be the right tense.
1
Ryan Newton's profile photo
 
Likewise, I love it when the GUI in apps like iMessage show that a message is delivered when it hasn't been...
Add a comment...

Ryan Newton

Shared publicly  - 
 
Wow, this is really good auto-panorama.  Except... I've got landscape spilling out of my brains.  

Nevertheless, Google has been doing a wonderful job of turning digital photos from a manual cultivation process to an automatic one.

(FYI, pic is from a Kiyomizu-dera temple in Kyoto.)
3
Craig Citro's profile photo
 
i dunno, i think you've pretty much always had trees on your mind.
Add a comment...
 
Industry folks talking #functional programming #2 -- 
   Not having a new episode of "The Haskell Cast" for a while, I found this other podcast.  I've listened a few episodes and there's something amazing to me about the fact that I haven't heard a single professor or graduate student on there yet (host or guest).  I think the cat is out of the bag -- or out of the ivory tower in this case.
1
Add a comment...
People
Have him in circles
565 people
Vladimir Bychkovsky's profile photo
tilly campbell-allen's profile photo
Lally Singh's profile photo
Anna Batchelder's profile photo
Edward Kmett's profile photo
Ross Larson's profile photo
Andy Keep's profile photo
Juan A. Guzman's profile photo
Jared Baker's profile photo
Work
Occupation
Computer Scientist
Employment
  • Indiana University
    Asst. Professor, 2011 - present
  • Intel Corporation
    Parallel Programming Researcher, 2009 - 2011
Basic Information
Gender
Male
Story
Introduction
I'm a Professor at Indiana University who loves functional programming and applying it to systems problems such as programming sensor networks or parallel machines.
Education
  • Massachusetts Institute of Technology
    Computer Science, 2002 - 2008
  • Inidana University
    Computer Science, 1999 - 2002
Links
Contributor to
Stabucks in Target vary -- some have a little standalone Starbucks-esque area (seating, wall coverings, etc). This one is not like that. It's a shared seating area between the small coffee bar and the standard Target snack bar (whatever you call that). The seating area is also right next to the entrance and it very much feels like you're sitting in the middle of Target. This is all fine if you're just taking some coffee to go, but if you're looking for a place to set up and get some work done, this is not for you. Finally, be warned that they close an hour before the store in general, and this fact doesn't seem to be listed on the website.
• • •
Public - 7 months ago
reviewed 7 months ago
Love it. We need more like this.
Public - a year ago
reviewed a year ago
Food: Very GoodDecor: ExcellentService: Very Good
Public - a year ago
reviewed a year ago
Public - a year ago
reviewed a year ago
22 reviews
Map
Map
Map
They gave us two bikes with insufficiently filled tires. Then the chain started falling off one of them, but we were too far to go back. It was just too loose with too much slack and fell off about 10 times. They were slightly apologetic when we returned the bikes and offered us additional rental time, but they didn't offer any discount or refund for our failed ride.
Public - a year ago
reviewed a year ago
Very cute decor. Tasty food. Update: They are open until MIDNIGHT, seven days a week. This is fantastic and outstrips all the independent coffee shops in town. Runciple Spoon now doubles as my favorite coffee shop.
Food: ExcellentDecor: ExcellentService: Very Good
Public - a year ago
reviewed a year ago