How Ruby on Rails Could Be Much Better (2008) - <AUTHOR> https://www.dreamhost.com/blog/how-ruby-on-rails-could-be-much-better/ <comment><USER3> I remember this era like it was yesterday. Ruby on Rails in 2008 was on 2.1 or 2.2 (before it was merged with merb) and was 70 or 80% of the way there before it was mature. I think rails 3.0 is when the framework matured and stopped changing so much.

There were a lot of decisions back then that were made because it fit the rails vibe, like the fast adaptation of coffee script. In some ways it was a mistake, but in other ways it was kind of putting a foot down on the whole philosophy of rails, which was to optimize heavily for finding the ideal language of the framework, and worry about the implementation details later.

In 2008, Rails still had trouble running on windows, shipped with sqlite as the default database, did not support many other databases, had 1 or 2 servers options, was not modular (you couldn't swap out ActiveRecord), did not have Arel (so all sql queries were heavily unoptimized), had a hard dependency on jQuery... the list goes on. But because it was unrelenting on the values of the framework, we have the beauty that is rails today, which still captures the magic of rails in 2008, just with the implementation details filled in.

In some ways, Rails had a very strong startup mentality, in that it was always under-engineered instead of over engineered throughout its life until rails 4ish.

<comment><USER4> Sqlite was used as default for local dev/testing, in production you were setting it to mysql. Fantastic setup with activerecord that made tests very fast.

People were buying macbooks just to use textmate + rails because it was so good compared to alternatives at that time. In Europe at least textmate + rails were responsible for more new apple devs than anything else; before that it was unheard of/ultra niche platform nobody was using.

</comment></comment><comment><USER5> This really should be titled "How Ruby on Rails Could Be Much Better for Shared Hosting", as that's where the issue really was for Dreamhost at the time. In a shared hosting environment back then:

* You didn't get root shell access. Dreamhost were (and still are) one of the good platforms in that they allowed shell access at all. Many shared hosting platforms didn't even do that, requiring you to upload files using FTP.

* The services provided were generally ones where a single server process (or processes) could serve a large number of shared hosting tennants: a web server with many virtual hosts, PHP applications running within that shared web server, jabber services, mail services, etc.

* All web server configuration was either through the control panel or .htaccess files, because you were sharing the web server instance with everyone else on your shared server.

* The economics of shared hosting meant you couldn't keep processes running for each individual hosting user for an extended period of time: memory was just too expensive to dedicate that way.

Rails didn't really fit this model: a production Rails app loads all the code in to memory and then expects to run for a number of hours serving requests. Shared hosting required these processes to shut down when there was no traffic to the site, and then start up on demand when a new request for the app came in. So the fundamental problem was not "Ruby on Rails needs to be a helluva lot faster", it was "Rails is too slow to start up to serve a single HTTP request and then be shut down again".

I did run a production Rails app on Dreamhost shared hosting for a while: it seemed to receive just enough traffic not to get killed, but not so much that it became an issue. But as soon as virtual server hosting became cheap enough to make the jump, we moved.

<comment><USER6> They should rebrand shared hosting as function-as-a-service AWS Lambda-alike. It's basically the same thing: startup and run this code, then return a response and exit.

<comment><USER7> Rails doesn't have fast boot times even now. exiting after each request would result in much slower apps. Also, you couldn't reuse database connections so you'd get additional latency built into starting up a new connection with your db.

This isn't just a Rails thing either.

FAAS is a good thing. I'm a big fan. It's essentially the same thing as CGI which was awesome back in the day, BUT there are multiple good reasons to choose a framework that isn't constantly exiting.

</comment></comment></comment><comment><USER8> To me, the only point on this list that hasn't improved much is "Ruby on Rails needs to more or less work in ANY environment".

Ruby's install/user story for Windows is still Not Great, and Ruby version wrangling on any operating system is a question that you still get 100 answers to ("use asdf/rvm/rbenv/chruby blah blah blah").

For the rest:

1) It's certainly Fast Enough now. More important webperf issues are happening on the frontend side nowadays. Who cares if your backend takes 500ms to respond when it takes 5 _seconds_ to compile the JS on the client.

3) Solved since Rails 4.0 IMO.

4) Discourse has more or less proven this can be done, with some hard work. Also, Heroku more or less standardized the 512MB VPS size, and nowadays 1GB is pretty cheap and becoming more common, so Rails doesn't struggle with memory limits anymore.

<comment><USER9> The answer is rbenv :)

The ruby language has also sped up a lot since 2008, which has helped Rails. I catch your point about the slowness being in the client these days, but 500ms would be an exceptionally unusually slow response from the rails application in any of the production rails apps I've run.

<comment><USER10> I'm still using RVM, is RBENV the recommended approach now? What are the key differences for a user?

<comment><USER11> Personally I swapped from rbenv to asdf a while back. I don't think there's any real justification for one over another these days, just use the one you're comfortable with :D

<comment><USER12> Happy asdf user here. If you're _only_ using ruby, then asdf isn't much better or worse - but asdf is great for supporting other toolchain, like python, crystal, rust, go... AFAIK the asdf ruby plug-in uses rbenv under the hood.

</comment></comment></comment></comment></comment><comment><USER13> 12 years later it seems to have worked out just fine.

<comment><USER14> Did the article imply it wouldn't?

</comment></comment><comment><USER15> > "Zed Shaw"

Wow, that's a person I haven't heard from in ages.

He was a Big Flipp'n Deal back in the day (Mongrel, Spats with DHH, etc). Curious to know what he's up to now.

<comment><USER16> Authoring books: [https://twitter.com/lzsthw](https://twitter.com/lzsthw)

<comment><USER17> His personal account is @zedshaw where he focuses more on his painting.

</comment></comment></comment><comment><USER18> Worth noting about the shared hosting argument: Dallas (author) is a co- founder of DreamHost. DreamHost, at the time, was very invested in selling "unlimited everything" shared hosting plans.

<comment><USER10> As a Dreamhost user since 2003 or so, their shared hosting claims to let you run rails but I never had any luck running rails on their platform.

I'm sure it's better now though I suppose

<comment><USER19> Think I ran a basic Rails app via passenger on it around 2010, but it was a hassle setting up and I don't think it got any easier. And running Node is completely off limits on DH shared hosting.

</comment></comment></comment><comment><USER20> I think the next main challenges for Rails are improving the view layer (see upcoming ViewComponent for example) and better integrating with modern javascript (WebPacker feels half baked for gem writers). To me these issues (which both have to do more with the view layer) are where Rails is very much lacking.

<comment><USER3> I agree that the view layer has not been Rail's strength. It's largely handlebars era inspired and has never really changed.

In some ways I think rails never really needed to change because the view layer worked without issues. I always felt the solutions in the modern html/javascript world were messy and half baked, with many unforeseen tradeoffs and complexity for the benefits you get (this summarizes my experience with the whole SPA era).

We are only now starting to have best practices and reasonable design around how the html/js view layer should be done. But I think many people in Rails will continue to prefer the old way of views just because of the simplicity of it.

You'd be surprised how such a small library like turbolinks has held off the entire wave of webpack / react / SPA.

<comment><USER21> Don't forget Stimulus. The next iteration of Turbolinks is also slated to be more forms-friendly.

</comment></comment></comment><comment><USER22> Is there a framework out there that faces as much consistent scrutiny as Rails?

It seems odd that for a decade the web dev community has singled out this framework. It's always relevant to suggest updates and things to be fix - <USER2> framework has those. But the continuing conversation of "is Ruby on Rails good enough" (which seems to be the underlying driver for conversation) is still present after hundreds of companies have built solid products with it.

<comment><USER17> I don't think it's as scrutinized as it used to be, though it may feel that way if it's your framework of choice (it is mine).

I feel that SPAs get a lot of scrutiny, but it's spread out among the specific libraries/frameworks. There's also a lot of vocal advocates (as Rails used to have) that makes it feel more balanced.

Over the course of my career, it seems that the "easy" languages (Visual Basic, ColdFusion, Ruby, etc) always get a lot of criticism. I feel like Rails is in a great, mature spot right now, and some exciting things are happening to make it the best positioned for the coming push-back against "Javascript all the things".

</comment></comment><comment><USER15> Ceph.

Random fact of the day, co-founder of Dreamhost created Ceph. Which is the filesystem for nearly all block object storage (AWS S3, etc) these days.

[https://en.wikipedia.org/wiki/Sage_Weil](https://en.wikipedia.org/wiki/Sage_Weil)

</comment><comment><USER23> I remember setting up a Rails 2.x app on Dreamhost in 2009. At that time it was indeed more complicated than PHP (although mod_passenger made it manageable), but Rails was so productive and fun that it was well worth the extra setup effort.

</comment><comment><USER24> I think Ruby on Rails should be more asynchronous. Doing a http request or a sql query blocks everything until it finishes. The solution is to spawn many instances, but it uses a lot of memory and a slow http service may block all rails instances very quickly.

<comment><USER25> Elixir is the solution to this with similar ergonomics.

<comment><USER26> The company I work for (mostly standard Web Dev) uses almost exclusively Elixir for any backend work. Only the fanboys of Elixir and functional everything are happy with it, just to be different to everyone else.

The experience is terrible: Tooling (editor plugins, tests runners, IDEs (oh, there are no IDEs...), debugging) is like going back 20 years.

There are no libraries for the most basic stuff you get almost by default on the Ruby, Python, Node or Java ecosystems. So we end up reinventing half assed solutions to anything we need to do.

Some days I think we would be sooo much better by just using Rails or Django.

Of course, concurrency and the Erlang VM are awesome and the perfect fit for the web... if your problem is performance, it will solve that problem for you of course... other than that, is all wasted time in my opinion from my experience after years of using it.

<comment><USER27> Really? I've been able to find everything I need in the Elixir ecosystem from auth to background jobs and one of if not the best GraphQL server implementations out there. Do you mind sharing which libraries you found missing or incomplete?

<comment><USER26> Yes, in fact we have ourselves published a few open source packages out of the need we had to build them.

The latest incarnation of this problem, was when we had to validate RUT codes (a tax code with a checksum we use here in Chile). Options for Python [1], options for Node [2], options for elixir [3] (don't mind to click, it's a list with nothing to do with RUTs or modulo11 validations). So we had to implement it ourselves. Looking for information we found example implementations [4], where as you can see you have example implementations even for Asterisk Dialplans (!!) but no mention of Elixir.

[1] [https://pypi.org/search/?q=rut](https://pypi.org/search/?q=rut) [2] [https://www.npmjs.com/search?q=rut](https://www.npmjs.com/search?q=rut) [3] [https://hex.pm/packages?search=rut&sort=recent_downloads](https://hex.pm/packages?search=rut&sort=recent_downloads) [4] [https://es.wikipedia.org/wiki/Anexo:Implementaciones_para_al...](https://es.wikipedia.org/wiki/Anexo:Implementaciones_para_algoritmo_de_rut)

There are many more examples. Of course you get libraries for the "standard" stuff, it is when you get into the detailes, and that happens when you are already too deep into your project, that you realise all the missing pieces.

Also, what code editor do you use? we've tried everything, and seems the best option is you grow a beard and go emacs/vim. The VSCode plugins hog your laptop and are really inconsistent, incomplete and sluggish [1] [2].

[1] [https://github.com/JakeBecker/elixir- ls/issues/54](https://github.com/JakeBecker/elixir-ls/issues/54) [2] [https://github.com/elixir-lsp/elixir-ls/issues/96](https://github.com/elixir- lsp/elixir-ls/issues/96)

Of course there is no IDE similar to intellij, rubymine or pycharm.

<comment><USER27> Fair enough, thank you for sharing.

I've had good luck with VSCode but I've never really been an IDE user (even with Ruby) so I can't comment much on that.

</comment></comment></comment></comment></comment></comment><comment><USER28> It would seem they ignored this advice</comment>


An HTML Endpoint That Doesn't Suck… and Custom CSS - <AUTHOR> http://www.fullcontact.com/2012/06/29/new-and-improved-html-endpoint-released/

<comment><AUTHOR> Do you guys use HTML endpoints? Or do you prefer to use raw XML/JSON and parse/render the data yourselves?</comment>


Show HN: Stash, a graph-based cache for Node.js and Redis - <AUTHOR>

Last night, while trying to figure out the best way to implement caching in my app, I had an idea for a dirt-simple caching system based on a dependency graph.
The premise I started with is that one of the hardest things to manage in a cache is dependencies between entities. In order to cache items effectively, you inevitably have to duplicate "child" data inside of "parent" entries. Then, when a child is changed, you have to invalidate the child and its parents, and its parents' parents, and so on.
To try to help this, I hacked together a simple Node.js library called Stash, which models the cached values as a graph. When you invalidate an item, Stash will walk the graph and invalidate any items that depend on the item that was marked as invalid.
The code is available here:
https://github.com/nkohari/stash
I'm not suggesting that this is by any means a revolutionary idea; it just started as a mental exercise and now I'm wondering if there's any value to continuing to improve it as a library.
I'm also interested in what you find to be the most difficult part about caching, and how Stash could be improved to help.
Any feedback is appreciated, but bear in mind this is just a few hours worth of work and it has quite a few rough edges. Thanks! <comment><USER2> My sense is that you are on to something. The reason i say that is that a decades-old technique (though by no means primitive or out-dated) used in operating system caches (and more recently in web apps, but far less often) is a Bayesian filter. The motivation was not explicitly connected to resolving dependencies (afaik) but rather the more general problem of how to exploit prior state (last resource requested by client) to predict future, or next state (the likelihood that a given resource will be requested next). Of course, this technique can be implemented as a directed acyclic graph, or "Bayesian Network". in any event, i like your idea, and i'm not aware of the same technique having been applied to the same problem, but my knowledge of server-side web dev is below the mean.

</comment><comment><USER3> This problem has been bouncing around in my head since I first started using memcache. Figuring out how to easily and correctly invalidate cache items is an interesting problem.

Perhaps instead of explicitly defining dependencies, there could be some way of modeling your cached data as some kind of set of objects which would then understand their own graph. As you can see I haven't quite figured out how it would work but this is how I've been thinking about it lately. Like a simple ORM, in some way.

Something like the following terrible psuedocode:

      cached_comment(key) = new cached_item(function(key){ query("select * from comments where..")});

      cached_post(key) = new cached_item(cached_comment, function(key){query("...")});

<comment><AUTHOR> This was actually my original plan, but I took the easy way out for now. :)

We use MongoDB as our data store, and between the UUIDs used as primary document keys and arrays of UUIDs representing links between documents, we could (reasonably) easily determine the dependencies automatically.

</comment></comment><comment><USER4> I did some research on this a couple of years ago - the aim was to come up with a mechanism that extended HTTP so any existing caching infrastructure could pick it up and implement it. I wrote up a summary of the research here: [http://restafari.blogspot.com/2010/04/link-header-based- inva...](http://restafari.blogspot.com/2010/04/link-header-based-invalidation- of.html)

Since then Mark Nottingham and myself have written this up as an internet draft:

[http://tools.ietf.org/html/draft-nottingham-linked-cache- inv...](http://tools.ietf.org/html/draft-nottingham-linked-cache-inv-01)

</comment><comment><USER5> Very cool. We've just started implementing OLAP cube type caching using sorted sets in Redis and the speed gains are impressive. Checking this out now.

</comment><comment><USER6> I am unfamiliar with the general problem you are solving for, but I am interested in graph dependencies in general. May I ask, How many nodes are in a typical graph? Is there a possibility of cycles?

Thanks

<comment><AUTHOR> In this case, there would be one node for each cacheable item. In this case, it's likely one node for each cacheable record in your data store, plus one node for each cacheable collection.

Cycles are reasonably possible, if two cached items depend upon each other. For example, if you store the text of the last comment a user made on HN inside the "user" cache entry, and the user edited their most-recent comment, you would have to invalidate not only the comment but also the user.

Stash treats dependencies as a DAG (directed acyclic graph). During traversal when a node is invalidated, it's aware of the potential of cycles and won't backtrack over paths its already examined.

</comment></comment><comment><USER7> Where can an example for how to use such cacheing in when serving pages using node be found? Sorry, first time I am hearing about this...</comment>


Tom has a new crush. It's called the WattVision Energy Monitor. - <AUTHOR> http://www.energycircle.com/blog/2010/02/03/toms-new-crush-the-wattvision-energy-monitor

<comment><USER3> I work in the Energy/Utility field and just got back from a "Smart Gird" conference where smart meters (i.e. real time interval metering) was discussed at length. Although these types of devices are really cool to "energy geeks" like me, if you look at the energy used today at the author's house, it amounts to less than a cup of coffee at Starbucks. So, the big question is, until electricity prices really increase (which would be a nightmare for politicians), will the average person really care? I love the device and think it is a great concept, but I wonder if it will have a very wide appeal.

<comment><USER4> Well, I am the guy that lives at the author's house. We are saving over $100/month as a result of the reductions we have made. I agree with your general position, but there's at least a niche market out there, and growing rather fast, actually.

<comment><USER3> That is interesting. At the Smart Energy conference I spoke about, one Canadian utility that has implemented smart meters and Time of Use pricing found virtually no evidence that people were reducing their consumption. If anything, load was shifted from peak periods to the off peak periods on the weekend. You would have been a great example of what they were hoping for.

I am curious though. If you are using about .09 or .10 an hour in total (for the brief period I looked at the graph), how were you able to achieve such high savings? Did you get rid of unnecessary appliances, or simply find ways to reduce consumption?

<comment><USER4> I had found some reasonably scientific research done a while back in a pilot program showing 15% reduction by otherwise passive people. I can't find the study now, so I could be full of it :-)

Actually, shifting to off-peak is a good outcome since fewer spinning reserve plants (usually the least efficient) are needed. But, as you say, not really the desired outcome.

My baseline use tends to run at about 300W. We first did obvious things like replace some of our lighting with CFL, and we got rid of an old chest freezer we didn't need. We changed behavior through learning to turn off lights when we left a room. There were some no-brainer things (my stereo apparently allows multi-room hookups, and if you have the buttons turned on, it uses several hundred watts to do nothing. I replaced a fileserver + routers with an Apple Time Capsule and saved 100+ watts. We use the dryer differently. And we installed a few BITS smart strips. The reason our savings are high is partly because I live in the Boston area, where our electricity rate is currently $0.19/kWh, I think. Bottom line was that we made a lot of little changes. I have written about most of them in my personal blog, called fivepercent.us if you're interested.

</comment></comment></comment></comment><comment><USER5> Something like <http://www.currentcost.com> is much cheaper, has a one time cost, includes a display, and can send statistics to several user contributed apps as well.

A new version is due soon which will _probably_ introduce wireless transfer to the pc and compatibility with google powermeter..

<comment><USER4> I have tested the currentcost and it's a different thing in some ways -- WattVision has the distinct advantage of not requiring you to open the electrical box, for one, but also doesn't have a display (yet). CurrentCost is all about the monitor, similar to Owl. I think everyone is working towards some sort of online feed; TED 5000 has one that hooks to Google PowerMeter, but WattVision is a somewhat simpler and more extensible design IMHO. Honestly, I like them all -- monitoring electricity has helped me identify innumerable little ways to use less; the big picture is that I now use about 1/2 the electricity I did a few years ago.

<comment><USER6> Are you using less electricity to do the same things, or are you living differently in order to lower your electricity use because electricity use is in your focus?

If so, would those changes be annoying to live with if you weren't so interested in your electricity use - if you tried to get a random person to reduce their electricity use in the same ways, would they say "sod that, it sounds too hard/stupid/cheap/complex"?

<comment><USER4> This is a really good question. To be sure, there's a selection bias going on here, which I think explains why I have been able to reduce our household consumption by more than 50%, where in controlled studies (e.g. by utilities that have installed similar meters in their houses) observed reductions are around 15%.

But I would also say that I have done this over the course of several years, and while many reductions were ones I got with no pain or expense almost immediately, others were ones where I bought a new router, for example, that allowed me to get rid of my fileserver/router setup. I bought several BITS Smart Strips to reduce phantom load. None of these change my lifestyle in any way, but they do require some initiative.

Tom

</comment></comment></comment></comment><comment><USER7> Not in the article, but worth mentioning: Wattvision is a YC Winter 09 company.

</comment><comment><USER8> I'm always glad to see developments in energy monitoring, but every time I see a tool that monitors a home's power meter it just leaves me wanting to see more.

It seems that what we really need is a cheap electrical socket monitoring device so that we can get real-time data about each appliance in our house read out to a central web-app. It doesn't seem very useful to know your overall electricity usage - your energy bill tells you that. If we're going to do something about using too much power, we need to understand what the culprits are.

I know that there are socket monitors on the market, but why do they all have expensive screens and buttons and stuff? It seems that they should be 10 times cheaper and feed their data straight to a web-app. [http://www.thinksketchdesign.com/2009/02/11/design/green- des...](http://www.thinksketchdesign.com/2009/02/11/design/green-design- design/the-kill-a-watt-killer-energy-monitors-should-be-10-times-cheaper)

<comment><USER9> _It doesn't seem very useful to know your overall electricity usage - <USER2> energy bill tells you that._

Your monthly electricity bill does give you a monthly snapshot of your last month's usage, but the primary point of these devices appears to be moment to moment usage stats. The instantaneous data can act as a feedback mechanism that a monthly snapshot makes difficult. Integrating power monitoring at the device level would also be a nice step forward.

</comment></comment><comment><USER10> This looks very cool. I wish I could get my hands on one.

</comment><comment><USER11> Yay Savraj!

<comment><USER12> He is getting some serious PR. A class act.

</comment></comment><comment><USER13> _If your meter looks like a spinning disk, you're out of luck—for now._

I have read where a fellow used an LED and a photodetector to watch his spinning disc and measure how long it takes to go around. Sadly I can't find the web page anymore. Still, it is possible.

<comment><USER14> I wonder if one can ask his electric company to upgrade his meter?

<comment><USER15> You can, depends on your power company.

</comment></comment></comment><comment><USER16> Can someone explain the difference between a digital meter and a smart meter?

<comment><USER4> A digital meter doesn't have a spinning dial, it reads current a different way. It is able to transmit its readings in several forms, bnoth through a display on the front, but mainly they were designed to allow remote meter reading by the power company -- drive by, instead of having to actually look at the dials.

A smart meter is a digital meter but that can intercommunicate -- over a network -- either with the rest of the electric grid system, or even with devices inside your house.

<comment><USER16> Regrettably, I am still not enlightened. Isn't remote meter reading a form of communication over a network?

<comment><USER12> Normal and digital meters can only be read by physically visiting the property. Sometimes you don't have to physically look at Digital meters because they have a RF signal.

Smart meters transmit their power data through the power lines somewhat like ADSL over the phone lines. At the substation, they connect that to a normal network and can read your meter without visiting. In some cases smart meters work through the mobile phone network with GPRS or SMS messages.

Even smarter meters can download instructions from the power company to turn off AC or change the cost of your electricity at different times of day. This would replace the current ripple controllers that do similar things with more limitations.

Really cool meters have some sort of communications network within the house so the homeowner can purchase smart displays that talk to the meter and use it as a source of interesting information.

</comment></comment></comment></comment><comment><USER17> You actually have to install something to get this graph?

In Brazil you get a graph of your consumption for the last 12 months. printed with the bill every month.

[http://www.eletropaulo.com.br/portal/download.cfm?pasta_id=3...](http://www.eletropaulo.com.br/portal/download.cfm?pasta_id=317) (page 3, item 18)

<comment><USER18> I get a simple graph on my bill too. But this is real-time and instantaneous measurement. There's a bit of a difference.

<comment><USER6> "real-time" ish. I like the way they switch a light off, then stare at the iPhone for a few seconds to tell them it's gone dark. ;)

Joking aside, I didn't know meters had "LED ports on them(IR?) and assumed these sorts of devices would have to be complex and measure current somehow.

It's another place where I think "great, but I don't want it streaming to the cloud, can't I host it myself?". Follow up thought: I'll be much more willing to host things myself for internal use when SSDs are common enough to mean small computers can be completely silent.

<comment><USER5> For this particular device it would mean that they would loose their monthly subscription (as I don't think people would accept to pay a monthly fee for a clientside app). This is their business model.

<comment><USER6> It seems terrible to have a device in my house measuring electricity (the meter), then put a reader on it, stream the data over wifi, over the internet, to a company with a bank of servers and several full time employees then process it then stream it back over the mobile phone network, all in the interest of saving energy.

<comment><USER4> I think the folks at WattVision would concur completely. It's kind of crazy, and the idea of Smart Meters would eliminate the light sensor and wire part of the deal. I would guess that WattVision and the others in this growing market are banking on the idea that 1) the electric utilities in the US move incredibly slowly, and 2) it's not just about electricity, and even if you got a smart meter for electricity, those of us who live in cold places tend to heat with natural gas and oil -- in my house our electricity use is only 20% of our total energy use (kWh of electricity compared to kWh of gas).

In other words, this market may be like the fax machine, which was made obsolete by the Internet almost before it was introduced three decades or so ago ... yet, they're still around :-).

<comment><USER19> I still wonder why the fax machine is in such use when it offers lower reliability than the internet, I wonder if it's for security reasons. The worst you'll ever got through fax is either hatemail or someone photocopying their butt and faxing you it. However, your entire system can be taken down if you're not properly protected from receiving a single malicious email.

Now, back to the topic. I live in southern Ontario and virtually every building is heated by natural gas, and in more rural locals oil is more common, however the prices have begun matching between gas and oil where it has to be delivered. The only properties I see that are heated electrically are in apartment buildings where heat is only truly lost through far less than 1/6th of your property's surface area.

<comment><USER4> I guess my point on heat was that a thing that I think needs to be done with all of these monitors is to add other kinds of household energy uses (like nat gas, oil) to the electrical data already being captured.

Natural gas is usually delivered in units of energy called "therms", oil is delivered by the gallon (or litre), and electricity is delivered by the kWh -- all of these measures of energy can be converted into kWh so could be displayed together in a single display.</comment></comment></comment></comment></comment></comment></comment></comment>


A Tale of Two Cryptographically Signed OSes - <AUTHOR> http://minimalmac.com/post/24174914300/a-tale-of-two-cryptographically-signed-oses

<comment><USER2> I wonder why this is tolerated with iOS but when Microsoft implements it people get angry. I mean, sure there's the argument that you can't use a free open source operating system on your computer but you can't do it on your iPhone or iPad either.</comment>


Introducing Driplr, an innovative iOS Twitter client - <AUTHOR> http://www.driplr.com

<comment><USER2> I'm sure Droplr[0] is thrilled by your name.

0: [https://droplr.com/hello](https://droplr.com/hello)</comment>


LibreOffice doesn't have an icon - <AUTHOR> https://apple.stackexchange.com/questions/338849/libreoffice-doesnt-have-an-icon <comment><USER2> LibreOffice ist great. It's free software, people sat down in their free time and did/still do all the work.

But it is barely usable if your presentation relies on any video. Impress (the presentation software) does not manage to play videos without 1) hogging the CPU, thus being unresponsive during playback (e.g. can't change slides) and 2) producing random artifacts in the video during playback. Happens on both Arch Linux (my laptop) and Ubuntu (colleague).

If I understood correctly it uses gstreamer Linux. Running the same videos in Totem (video player using gstreamer), everything works. So the problem is with Impress.

This led me to grab a spare MacBook Pro from the office to give a presentation recently (thank god there is one). I'd love to see this issue fixed at some point.

</comment><comment><USER3> What does a generic LibreOffice application do anyway?

<comment><USER4> It provides you with the UI with the button to launch each tool as well as recent documents.</comment></comment>


The Internet Before the Internet: Paul Otlet's Mundaneum (2016) - <AUTHOR> https://daily.jstor.org/internet-before-internet-paul-otlet/ <comment><USER2> >More than a century ago, Belgian information activist Paul Otlet envisioned a universal compilation of knowledge and the technology to make it globally available. He foresaw, in other words, some of the possibilities of today's Web.

No, he foresaw some universal compilation of knowledge, which is absolutely not the web.

But actually as the article explains, he was involved in the cataloging of books, and making the catalogs available via remote means. This development is significant in its own way and I think is diminished by a bogus click-bait comparison to the Internet and the web.

</comment><comment><USER3> I know there have been previous threads but they're not so easy to find, because they usually get unspecific titles like "a guy who anticipated the internet a century ago". I found:

2009: [https://news.ycombinator.com/item?id=988008](https://news.ycombinator.com/item?id=988008)

2015: [https://news.ycombinator.com/item?id=9783046](https://news.ycombinator.com/item?id=9783046)

2015: [https://news.ycombinator.com/item?id=10104269](https://news.ycombinator.com/item?id=10104269)

Anyone want to look for others? Please link to submissions that got comments, since that's why users click.</comment>


Android NFC Hackathons - sponsored by Verizon, Facebook, Github, etc - <AUTHOR> http://www.tappednfc.com

<comment><USER2> We already _have_ NFC gear, and I thought decisions by vendors like Verizon and Samsung are largely the reason we can't just use that.

</comment><comment><USER3> Starts the same day as Startup School YC, does anyone want to do a late entry after the event and hack from the end of SSYC to Sunday 3PM (deadline for hackathon)? I won the last NFC hackathon hosted by the same organizer (Yuval), but different venue and agency. Probably the best organized hackathon I've attended.

</comment><comment><USER4> Somewhat tangentially related, hence my shameless plug:

My startup (<https://semantics3.com/>) is building APIs for products data. Using our APIs, you can get access to rich metadata and pricing histories (including affiliate links) for over 10M e-commerce products.

We have a pretty liberal free plan and you could potentially build interesting NFC apps with the data. Here is the invite link for signup: <https://www.semantics3.com/signup?code=ramanujan>

Drop me a note and I would be most glad to bump up your free quota.</comment>


Is college really worth it if your goals are to become a web developer? - <AUTHOR>

	I am a high school student and I am currently trying to decide where to go to college, or if I should go to college at all. Over the past 2 years I have found software development to be something that I really enjoy doing. The problem is I do not have much experience as a programmer currently. Now the traditional route would be to go to college, and use the degree to sell myself along with the skills I have learned throughout college. However, I have talked to numerous people, owners of tech companies that say the degree itself is basically useless. Most if not all of them would say they would rather hire someone with experience that knows how to program, than someone with a degree that says "hire me, I have a good education". I found a local school that offers a degree in software engineering, which would be much more relevant than lets say, computer science. It might be a good safety net as well. I think college, if anything, is simply something that reassures you that you will have a decent paying job when you get out. Spending 4 years at a university though is not only expensive, but over 4 years, technology changes. If I learn a hot language while in college, by the time I get out and look for a job with it, it will be outdated. Why not take advantage of it right away? While college may provide a good safety net and give you a framework to work off of, is it really the right choice for a software engineer?
There are quite a few alternatives that I feel could lead to even better job opportunities. Quite a few websites provide the resources to completely learn everything you need to know about programming for a small price. When compared to a college education that puts you $60,000 in debt, it looks like a simple choice to learn it yourself. Also, there are quite a few "programming/developer camps" (Dev Bootcamp/Code Academy) that are basically a few months long sessions, where you learn to program in a specific language in a very short period of time. All of the camps I have looked at are in the LA/San Francisco/New York areas. Basically they are all intense, but you walk out knowing that you have a really good foundation in a programming language or two, and also you are in high demand if you know your stuff. The great thing about this is the networking, most of them have employers that come to the programs towards the end, and there are many guest speakers from tech companies during the program. My thinking is, if I can land even a lower end programming + development position right after the program, I could take courses at a local college on weekends/nights. After four years of that (when all of my friends who go to college graduate). I will have 4 years of programming experience, probably will have had at least 2 jobs, had some experience with college courses, and best of all I will have absolutely 0 debt.
So my question is for all the programmers and developers out there, anyone in the tech industry, or anyone who works with hiring of programmers and developers. Is college worth it? Is going to one of these camps and working on a portfolio to demonstrate your skills a better choice? Or is it best to try to learn it all on your own? <comment><USER2> Another vote for go to college.

I'm a senior in Computer Science at the University of Illinois, graduating this May, and a TA for our Data Structures course (as a disclaimer of potential bias).

I've been programming in some sense since I was 10 or 11. I didn't get very far until high school, during which I dabbled in several things and made some neat programs. However, the amount I've improved as a programmer over the last four years is disproportionately more than the preceding 4 in high school, and not only because of time spent.

Here's why I believe college is still valuable for programming:

1\. As my father says, "college teaches you things faster than your natural curiosity leads you". Though this explains why classes can be painful, it also means that in four years of college, you learn a lot more than you would in four years of self-driven learning.

2\. Interesting programming problems require theoretical knowledge to solve. Not necessarily "cstheory.stackexchange.com" theory, but theory in whatever domain the problem is in (i.e., Software Engineering theory).

3\. College puts you in a group of peers who are also learning the same things. These friends are great resources to help you learn more.

4\. College gives you immediate, external motivations to learn: programming assignments, grades, peers, the occasional programming competition limited to others at a similar level (so you actually have a chance of winning), etc.

A couple other thoughts on your points:

1\. Computer Science is a fine degree to have. If your college offers both CS and Software Engineering, you can of course enroll in either and transfer if you feel you made the wrong choice. But more importantly, don't discount a college because it only offers "Computer Science". As far as I know (and I read a decent amount of CS Education material), the two degrees are fairly similar in terms of content. Good employers certainly don't discriminate there. (UIUC offers two senior level courses called "Software Engineering", and a 200-level course focussed on it.) Also, the "computer science" part of the discipline tends to be the more theoretical and mathematically challenging side. This is the stuff you won't pick up on the job. The "software engineering" side of things, you'll pick up on the job. So focusing on the computer science part during college is probably not a bad idea (although most programs you can learn a good deal of both).

2\. Get internships. You can make about $10k a summer after taxes with internships (although getting a good one after freshman year can be hard). This can lower the cost some. Also remember that college is an investment. A good student from a good CS school can reasonably get a job paying $80k/year out of college (rates vary significantly by location and company, of course). Paying back your student loans shouldn't be too difficult. I also have a friend who took a semester off to continue his internship. Doing a bit longer "co-op" such as this can also help with finances.

3\. If you really enjoy software development now, you'll probably enjoy studying computer science in college. There are parts of college that suck, but overall I've loved it.

4\. Based on the very little I know of you, (posting on HN, thinking about your future, analyzing costs/benefits), you seem like you wouldn't be satisfied at a low-quality programming job. Any company that would hire you out of high school without a lot of programming experience (no offense intended, that described me as well), is not a company you will want to work for a long time. You might not be doing very interesting things, or be working with highly skilled co-workers. You get both of those during college, and immediately afterwards.

<comment><USER3> I agree with everything you've said, so I wont repeat it. I want to relay my own anecdote to the OP on top of it.

I've been doing professional web application development since 1997, a year after I graduated high school. I'm 34 years old now and still work in the field, but I'm dissatisfied with writing every day code. I solve every day problems for my employer's customers but it does nothing to stoke the fires of my passion for computing and problem solving. I've had a good career. Even living in the midwest, away from major cities, I earn a low six figure salary writing software.

Over time I have slowly come to realize how many ideas I was never exposed to by learning on my own. In my career I have quickly been recognized for my technical ability at each company I have worked at, but I became aware that there is a level above that, which I'm not qualified to be a part of. I found there is a glass ceiling that I cannot break through. The ceiling is not defined by salary, but rather by the intellectual challenge provided by the work and coworkers.

After much reflection, I decided to start college at 34 years old. Last fall was my first semester at my local community college. I continue to work my well paying job, but after this summer I plan to quit and focus entirely on my education. Next year, after I finish my general education classes, I'll transfer to University of Illinois for Computer Engineering.

I have built up some savings, so I'll certainly live more comfortably going back to school now, but I'll lose quite a bit of potential income doing it now verses going to college after high school. I could provide some detailed estimates for this, but I think its self evident.

I guess my point is that if you think you'll want to go to college in the future, do it now. It's much easier, and cheaper, when you're younger. Not to mention the social benefits to doing so.

</comment></comment><comment><USER4> So, my $0.02. I have a CS degree from a small-ish state university in the midwest and, while I was quite a bit older at the time, I had the chance to observe lots students your age. Here is what I saw:

* The biggest indicator of success in the "real" world was simply drive and determination. Some left school early and have become very successful, one an engineer for Google and one a very successful game developer. Others went on to corporate programming jobs and are doing great. Others went to grad school at places like Carnegie Mellon and MIT, one doing _very_ cool research and another landing as a product manager at Google. What do they have in common, they work hard and are curious. Work hard and be curious.

* College is about much more than a technical/vocational education. Granted I learned amazingly useful CS concepts and gained technical skills. But I also had great classes like composition, public speaking, and matrix algebra. Those classes have easily helped me with my career as any technical class I ever took. Try to find a program with a balance.

* College is about a lot more than the education. Because of great professors I had the opportunity to do undergrad research and present it at conferences. Driving my own research and being the expert on it was an amazing feeling. Presenting it in front of peers was equally amazing. I also had opportunities to become a student leader, organizing events and groups. These are skills that are integral to being a good team member. Find outside opportunities.

So yeah, I was 34, not 18. And yeah, I don't work for Google or Facebook, but I work with damn smart people who constantly come up with awesome stuff.

I am not saying college is for everyone, but if you make the most of the opportunities, it opens amazing doors. You could easily apply the above points to starting your career early and there are plenty of amazing programmers who already have.

Either way, best of luck.

</comment><comment><USER5> I've been to college, and I disagree with most of the previous comments.

College is antiquated and has limited real world value. The only value that could translate: getting connected to many different people. That could easily be cultivated in a startup area like Silicon Valley or Austin.

I think it was a waste of time (and a little money). The six figure job I have now hired me before asking if I even went to college. (They didn't even have a "check the box" for 4 year degree on the app).

Education is changing quickly and I believe there will be many different ways to get credentials (like Udemy/ Udacity) that will prove to have much more practical application.

Keep learning. Take a course because your interested in it, forget the degree.

</comment><comment><USER6> Funny, I was just having this conversation today. With three daughters, of course I'm asking this question. Here are my thoughts:

I would go to College, but I would be picky about which one you attend. And I would spend half if not more of my time studying things like sociology, psychology, philosophy, marketing, finance, graphic design and history. I've been a programmer for over 20 years, a manager/programmer for over 10 and a CTO/VP/manager/programmer for over 5, and now I'm a Founder/CEO. If it wasn't for my time in college learning things other than computer science (luckily Notre Dame "required" a broad and rich program be completed to graduate) I would still be just a programmer. So the ROI for college, at least for me, was way positive.

I'm not saying you need to stay there four years, but suck everything out of it you can. It is one of the few times in your life where you will be surrounded by people who know tons of stuff about all sorts of crazy things and they really want to tell you about it. And who knows where insight will find you.

Today, to be a really great programmer and get to the point where enough people will follow you to start a company of your own, you have to be able to collaborate across every discipline, and you need to be able to channel your customer. Which means you need to be able to communicate, and the more you know the more likely you will find empathy with them. Innovation wins, and studies have shown it comes more frequently from a collaborative group than a single individual. So, go to school to learn about the world and what it contains, to learn how to learn, to meet chicks and to test your bounds. Go to college to become a renaissance man and change the world.

</comment><comment><USER7> Short answer: Go to college.

Long answer:

College/university is for three things:

1\. College is for gaining formal training in the profession you plan to enter. Foregoing that formal training leaves you without the foundations your profession is based upon, which means that you'll forever be solving problems in a sub-optimal way, leaving a trail of destruction in your wake. If you're looking for job security and high salary and good references, then you need something that elevates you above your peers. By not going to college, you lower yourself below your peers.

2\. College is an opportunity to study other fields that you WILL be interacting with in the real world (such as business). That knowledge gives you a massive edge.

3\. College is an opportunity to make contacts, which are invaluable as you progress in your career. In fact, I'd say that contacts are THE absolute biggest path to success. If you want to be successful, hang around successful people.

<comment><USER8> I'd add

4\. A college/university degree demonstrates an ability to complete a long- term reasonably challenging task. Even a BA in English Lit is, many years later, demonstrated ability to successfully see through to the end a multi- year project. A decade or two into your career, whatever it ends up being after "web designer" is just a fond memory and a few faded old business cards in your collection, you'll be competing at job interviews with people who may not have that "officially recognised proof of hard task completion" that a degree gives you.

</comment></comment><comment><USER9> The conventional wisdom (i.e. big, fat lie) that you'll hear repeated when you're in high school is that you have to go straight to college out of high school or you'll never do it. It's completely bogus. I rushed college and grad school. If I could do it again, I would've taken the time to get experience and find out what I was really drawn to. When you have student loans and bills, you don't have that liberty.

Try some things. Talk to the guys at Dev Bootcamp, Code Academy, and Thoughtbot's apprentice.io program. You could even do Dev Bootcamp in the summer and then see if you still feel like you need to go to college. It'll also put you in an ecosystem of people that you can get guidance from.

College will still be there after you graduate and after you test the waters. If anything, getting some good experiences under your belt can only help with getting admitted.

</comment><comment><USER10> I've been to college, and I vote for college. It's a good way to get quick and broad exposure to things you might not naturally explore; you might not even know they exist. Some people can learn it all on their own, but many people do benefit from the guided approach of college. Maybe you know which one you are.

If you have a nice portfolio (code on github, a site or app, etc), then you _might_ land a good job where you'll learn. If not, maybe not. Either way, try to get jobs where you learn.

As for college expense, there's nothing wrong with community college for the first year or two to get rid of your low-level non-major courses, then transfer to wherever for the rest. Be sure to talk to counselors at wherever, to know what courses they'll accept as transfer. You'll graduate from wherever, and that's what you'll put on your resume.

</comment><comment><USER11> 20 years ago web designer was not an occupation. 20 years from now web designer will no longer be an occupation. What you learn in a serious, traditional CS program (not an IT school!) will last a lifetime.

</comment><comment><USER12> _Is college worth it?_

-> Yes.

 _Is going to one of these camps and working on a portfolio to demonstrate your skills a better choice?_

-> Yes.

 _Or is it best to try to learn it all on your own?_

-> Yes.

You see it's better we find a balance between all these.

</comment><comment><USER13> Honest answer: No, but college will increase your opportunities and marketability.</comment>


City of Portland sues Uber - <AUTHOR> http://www.wweek.com/portland/blog-32557-the_city_of_portland_sues_uber.html

<comment><USER3> I liked Uber back when (in NYC anyway) all the drivers were regular black car drivers, and they all had the appropriate city credentials. Uber was only "violating" the rule that black cars couldn't be reserved less than 45 minutes in advance, which didn't seem like an important rule in Brooklyn (since the yellow cabs never venture out here except under extreme duress). Uber provided an easy way to call a car and pay for it; which was more than enough to get me to use the service.

But now it's different, and it's just random people with random cars and an app. I haven't had any problems, but I wonder if they're pushing things too far. Every time I take a ride, I feel bad for how little the driver's getting paid.

(Now that we have the green cabs out here, I usually use those. You can get one from the Uber app, but have to pay the driver normally, which is confusing.)

<comment><USER4> _Every time I take a ride, I feel bad for how little the driver 's getting paid._

Not to sound glib, but if that is the case why not tip the driver to the level you feel is appropriate?

<comment><USER3> Honestly, because I never have cash when I need it.

The other problem comes down to social skills. The driver is not supposed to accept tips, so you have to do some bargaining to give them money. Then you wonder: is it worth getting the driver in trouble for this small amount of money? Is this tip an insult? Should I give more? Is it too much? Am I making a scene? It's all a little overwhelming for me.

I do much better when the tip is a line item on a credit card receipt.

</comment></comment></comment><comment><USER5> Seems that $40 billion evaluation has provoked some cities into taking action against Uber. The recent valuation after a hefty raising amount proved that Uber was no longer this small San Francisco startup any more, they are bigger in many cities than some taxi companies and now cities want their cut.

While I personally do not use Uber, we need services like Uber to be allowed to operate. My recent experience going from the airport to downtown Los Angeles was absolute hell, the taxi driver tried forcing me to pay cash even though the card terminal was working. He wanted to drive me to an ATM to get cash out. This is the kind of thing I am tired of. Don't get me started on the last weekend I was in Vegas, the taxi services are just as bad there (and unreliable).

I don't get the whole safety argument either, I have always felt safe in an Uber and Lyft, I have felt unsafe too many times when I have taken a regular taxi, when they're not deliberately taking you a longer way to extort cash or trying to get you to pay cash when you only have a credit card.

I know we need regulation and fair enough, Uber are violating some local laws here, but driving services like Uber out of the city won't make things better. Local councils should be working with services like Uber, so they can coexist and operate legally. Lets get some solid legislation and requirements for ridesharing services, otherwise, they will just continue to operate regardless (as they have shown).

This feels like a cash grab from the city of Portland. No doubt other cities are going to follow suit as well. Let the people decide who they want to drive with. The better product will always win out and if that is Lyft, Uber or whomever, it really highlights the issues that plague the taxi industry.

<comment><USER6> Uber can honor city rate caps, require the appropriate insurance for their drivers and take financial responsibility for drivers that fail to maintain that insurance. Uber can also comply with the same rules about coverage areas that cabs are required to comply with. They can do all these things but choose not to. What's to "work around"?

One of the blinders people wear when talking about Uber is the "it's just Uber" blinders. No: if Uber's regulatory arbitrage strategy succeeds, they'll be followed by even less scrupulous companies looking to exploit the same loophole.

<comment><USER5> You make it sound so easy. The first issue is, taxi licences are super expensive. Don't get me started on cities that deal out medallions at ridiculous prices. In New York a taxi medallion will cost you about $1 million, how ridiculous is that? The system itself is broken and outdated, currently the system is engineered to benefit the companies selling medallions and those other bolt-ons that come with owning a taxi.

However, I do think that Uber and other services should honour pricing caps in cities that have them, they should also comply with rules regarding insurance and other reasonable things asked of them. But having said that, even if they were to honour pricing caps and get the appropriate insurance for their drivers, it will never be good enough for some cities, take Vancouver as an example.

In places like New York especially, too many people benefit off of the existing cartel like structure of leasing out a medallion, insurance and all of the other costs that tend to add up quite quickly. Things need to change, and I am glad there are companies out there pushing the boundaries and getting the conversation going. Gone are the days of a single company having a transportation monopoly in a city.

<comment><USER7> > Gone are the days of a single company having a transportation monopoly in a > city.

Really ? Isn't that a bit short sighted ?

<comment><USER8> Why is that short sighted?

Do we disagree about competition being a good thing for consumers?

<comment><USER7> Because UBER will be a monopoly.

</comment></comment></comment></comment></comment></comment><comment><USER9> > "If Uber thinks there should be no maximum price on what they charge > Portlanders, they should make their case to the Portland City Council," City > Commissioner Steve Novick says in a statement.

If Uber were the only way to get around town in Portland, that might be a valid complaint.

If you want Uber to go out of business - and it seems like supporters of this action are in that camp - you _want_ them to charge more than people are willing to pay.

<comment><USER6> No, that's only true if there is exactly one price sensitivity for the whole city. But there are many. I'll take an Uber black car just because it's convenient and comfy. I'm not price sensitive. My neighbors might not be comfortable spending even the normal cab rate. If Uber gets to cream my business off the top of the market, it harms the cab companies, drives some of them out of business, and in doing so harms the consumers who depend on those cab companies and their rate structure.

People forget that one of the reasons we have cab regulations is that taxicabs are, for major metro areas, a de facto component of the public transportation infrastructure.

<comment><USER10> There is an assumption within your comment that these different market segments ought to be served by a single transportation company. If Uber wants to come along and take the "cream", let them. If that means traditional taxi companies go out of business, or have to change their business model and cater to a different segment, then so be it. That's competition, and competition is a good, healthy thing. It keeps us strong. A market that doesn't allow this is dysfunctional.

If some of these segments are unprofitable and cannot be served by regular businesses, then that's good for us to realize! That encourages us to have the discussion we ought to be having, which is: should we provide these services in pursuit of a social goal? And what are the services worth?

I would be much more in favor of cities contracting with private companies to provide a service than passing regulation to require it. Requiring a service by regulation hides the true cost of the service and causes it to be borne in random places and in random ways through price increases. It's like a hidden tax.

There should be a clear dollar cost for these services in the budget, and voters should be able to inspect the costs and decide what's reasonable. Requiring private companies to provide the service through regulation does not promote a transparent democracy, since voters cannot easily determine the cost, and indeed the actual cost may be hard to determine.

For example, if the city wishes there to be a certain number of vehicles available for the disabled, then a reasonable and fair approach is to ask private transportation companies to bid on a contract to provide that service. The city should be satisfied paying the lowest bid for that service. If the lowest price is viewed as too high, then this is a signal that either some political debate is needed regarding the budget for such things, or that the resources should be spent on another social goal which provides value more effectively.

Far too many different issues are bundled together in the discussions of taxis. We ought to unbundle them. [Edit: Sorry for reposting my comment. There seems to be some kind of issue that's preventing me from editing my comments in minor ways like I usually can.]

<comment><USER11> Should the electricity distribution company be allowed to cream off tptacek's and others who are less price sensitive business?

The natural gas/water/sewer company? The fire department?

What if the end result is that rich people get stable electricity, gas, water/sewer, basic internet, and fire protection services, while the poor can just fend for themselves or hope that the low bidder utility has power tomorrow?

There are companies granted/licensed some form of monopoly in exchange for minimum mandated services, maximum mandated rates, and other limits to capitalism in its purest form because government believes that their service is essential in some way.

Many cities operate taxi licensing in this light. That you view this as prime facia evidence that the taxi market is dysfunctional and that Uber should be able to selectively siphon off a portion of the demand without abiding the rest of the government-regulated taxi requirements is consistent internally, but I believe misses some of the underlying public good that the current taxi system provides.

<comment><USER10> Yes, you make a good point that utilities are not always profitable, and as a social policy it's reasonable for cities to ensure that everyone gets access. I agree with you that there is a sort of public good provided by taxis, but I disagree that it's a natural monopoly of the kind that you mentioned.

There are varying strategies for solving the problem of social goods like utilities. In some cities, utilities like these are publicly owned, such as Seattle City Light.

I'm not convinced that individual transportation services are sufficiently similar to utilities that they fall into this category. What utilities have in common is that they fundamentally share physical infrastructure: pipes, wires, etc. It does not make economic sense to run duplicate wires everywhere, and so we grant a monopoly to one utility company. By comparison, each private vehicle traveling along the road is physically distinct from all others. (There will certainly be economies to scale for a single organization to operate a larger fleet of vehicles, but that's always true in every business.) Buses make sense to offer as a public good since they represent collective transportation; whereas private for-hire vehicles inherently offer individualized transportation. So it may be a public good, but it's not quite collective nor a natural monopoly.

I don't think it's inherently unreasonable for cities to want to ensure access to this type of individual transportation [1], but I question whether the current taxi model is the right one. What is the best way to meet these public needs? I don't know for sure, but some attractive alternative approaches include: (1) offering a subsidy for private transportation companies to meet certain criteria (e.g., area coverage) (2) soliciting bids for private contracts with companies to provide the service under contract (3) directly providing the service (metro). Forcing companies to provide the service in order to get licensed to provide _other_ services is heavy-handed and unjustified based on what I've learned so far.

I have not heard a convincing argument for why a company that wishes to provide some transportation services should also be forced to provide other transportation services at certain prices. The utility company should be forced to support everyone because we don't want to dig up our roads over and over again, and because water and electricity are necessary for life, and sewer for sanitation reasons. The fire department should support everyone so that your house catching fire doesn't cause mine to burn down. There are good public benefit arguments behind most of these utilities. Are private cars that drive you around really in the same category? And if they are, what stops cities from solving these problems with a much less heavy-handed approach that enables innovation?

Isn't Uber serving taxi-like needs through UberX anyway? It's not as if the poor would be without transport even if only Uber was available. Let's allow private companies to provide what transportation they can. The existence of these companies does not stop the city from offering alternative solutions for various market segments, or offering a subsidy to entice companies to meet those needs.

I would like to make one last argument against the current model. The current regulation model imposes a lot of costs on transportation companies that are effectively a hidden tax - when in any aspect of their operations they're forced to do something unnatural. These costs surface through higher prices. However, these prices are opaque. A voter in the district can't necessarily determine how much higher taxi prices are because of the city's decision to force them to do <X>. This does not support an informed, rational democracy. Consider the alternative models I've proposed above. They all essentially include a contract where the city is providing a service directly, or paying a third party to do so. You can imagine computing a very clear line-item cost in the budget for each of the services that the city wishes to be provided. Consequently, voters in the district can learn about these costs transparently, and reason about whether the cost/benefit tradeoff makes sense to them. It is possible for voters to say, "This service is too expensive - <USER2> should cease funding it". How could we determine whether certain requirements mandated under taxi regulation are too expensive? Does deciding to stop providing a service mean that the city needs to amend its law? (Inflexible and, again, heavy-handed.) The costs are known only to private companies, and even they might require actuarial analysis to understand the costs.

Whereas if you pay a private transportation service to offer subsidized taxi- like transportation in certain areas, in certain hours, then we know exactly what it costs, and we can make an informed decision about whether to continue to provide the service or not. Regulation requiring private companies to provide the service as part of other activities just obfuscates the cost and prevents us from reasoning about it intelligently, like in debates like this.

[1] In fact, I hope the city of the future will move away from buses, and move to automated fleets of something like robotic Uber, scheduled in real-time based on live transportation needs

<comment><USER11> Good comment, and I'm replying 75% to give that feedback and 25% to comment on one point:

 _Isn 't Uber serving taxi-like needs through UberX anyway? It's not as if the poor would be without transport even if only Uber was available. Let's allow private companies to provide what transportation they can. The existence of these companies does not stop the city from offering alternative solutions for various market segments, or offering a subsidy to entice companies to meet those needs._

The presence of unliscensed (as a livery service) operators in a city has two possible negative effects on the transport options for the community.

1\. The "creaming off" of some high-value trips makes it less economical to have cars in the area to serve other needs (like bringing groceries home from the supermarket with good selection and low prices rather than buying all food from a corner bodega).

2\. It's well and good to suggest that the city step in to provide subsidized transportation (directly or via an agent), but without the licensing and taxation revenue, that money now has to come from general funds whereas, before Uber, it was provided without hitting the general funds of the city.

3\. There is a public good provided by "must transport" laws that most livery services operate under. That relates to #1, so I won't call it a third point.

For the record, I agree with you that the current taxi system is antiquated and if we were to design an idealized system from scratch, it might look closer to Uber/Lyft than the current system, but I don't agree with "screw the laws; they're stupid anyway, so let Uber do whatever they want" approach that many pro-Uber advocates seem to advance (of course, not in so many words).

</comment></comment></comment></comment></comment></comment><comment><USER12> Perhaps Uber's 'most ethically challenged company in Silicon Valley' reputation, as Peter Thiel puts it, is starting to cause them problems.

</comment><comment><USER10> Does anyone know if other towncar services in Portland are required to follow the same regulations that Uber is being asked to follow? Services of the sort that show up under "Portland towncar" or "Portland limo".

A quick search on the matter reveals that Portland seems to have imposed ridiculous requirements on them:

\- a requirement that forces customers to arrange a trip with an executive sedan or limousine at least 60 minutes prior to pick-up. For example, if you request a town car and it comes in 10 minutes, you must wait 50 minutes before you are legally allowed to enter the vehicle.

\- a requirement that forces executive sedans and limousines to charge a 35% fixed premium above current taxi rates established by the city.

This seems like serious and absurd intervention in the market for transportation. It's difficult for me to believe that rules like this are fair and justified. An article [1] suggests that these rules were put in place to "differentiate towncar service from taxicabs". The implication is that without these arbitrary limitations, taxicabs could not compete with towncars effectively. In other words, in an effort to protect the taxicab monopolies, the city is impairing other business.

It seems to me to be the behavior of people in power who believe they know best. Haven't we learned by now that central planning is usually not an efficient way of allocating resources? This kind of interference in the market sounds like authoritarianism of the sort that I'd prefer not to see in my country.

Strive to minimize regulation: limit it to matters of health and safety. Requiring insurance and an appropriate driver license seems reasonable.

It seems like Portland is imposing rule after arbitrary rule on the marketplace. If I lived in Portland I would be furious that the city is interfering in such a way with business, and my personal right to contract with others for transportation in the manner that I want to. I suspect the city could accomplish its goals (such as ensuring that a certain number of vehicles provide transportation for the disabled) in a more efficient and fair manner, such as establishing a subsidy for transportation vehicles meeting certain requirements. It seems unreasonable to me that the city requires taxis to provide that service, rather than providing a subsidy for vehicles to support the disabled, or providing its own transportation directly, or contracting with a privacy company to do so. The point is, those issues shouldn't be arbitrarily bundled together (the business facility that provides taxis and the business facility that provides transportation to the disabled). Allow them to be the same company or not as the market allows.

It also seems absurd to regulate the price charged for a fare. I have never understood the objection to surge pricing. When crazy things are happening (like snowstorms), drivers will not be out on the road working unless they're compensated more than usual. The rougher the circumstances, or the busier things are, the more the price needs to rise in order to provide adequate supply. Anyone objecting to the concept of surge pricing clearly does not understand basic economics. (Objecting to the implementation is a different matter.) A city trying to regulate maximum price is taking a thoughtless approach, and cannot be understood to genuinely have consumer interest at heart, since consumers will typically prefer to have transportation available at a high price than not at all.

[1] [http://www.geekwire.com/2014/portland- ridesharing/](http://www.geekwire.com/2014/portland-ridesharing/)

<comment><USER13> > When crazy things are happening (like snowstorms), drivers will not be out > on the road working unless they're compensated more than usual

Balderdash. There's a trivial way to get drivers on the road during bad weather without surge pricing: you tell them that if they don't work during bad weather, the won't be allowed to work during good weather.

> Anyone objecting to the concept of surge pricing clearly does not understand > basic economics

There's more to economics than what they cover in Ec101. A free market is not always the most efficient way to allocate resources. That's why, for instance, emergency rooms treat people based on the seriousness of their condition rather than based on who is willing to pay the most. Transportation during bad weather can become that kind of resource.

<comment><USER14> >Balderdash. There's a trivial way to get drivers on the road during bad weather without surge pricing: you tell them that if they don't work during bad weather, the won't be allowed to work during good weather

Honest question: how well does that actually work in practice? Do cabbies generally fear the prospects of turning down have-to-takes? When was the last time one faced any consequences for nope-ing right past a black person? And would it even be practical?

And how well does this "vinegar" strategy work to improve supply generally? Would you prefer a world in which grocers had to maintain constant produce prices through the year to the current one in which they charge more as the seasonal supply contracts?

<comment><USER15> It doesn't work at all -- because regulation is meaningless without enforcement. The real conversation should be about enforcement... not what is written down, what is enforced. There are a lot of stupid laws and regulations on the books in the US that should be gone, but instead are simply unenforced ([http://www.dumblaws.com/laws/united- states/oregon](http://www.dumblaws.com/laws/united-states/oregon)).

Additionally, Uber is exploding in popularity because taxi's did a horrible job, abused their government granted monopolies and basically made life miserable for people... the first person in my peer group to start using Uber regularly did it because of the challenge of getting a cab while black late at night.

</comment></comment></comment></comment><comment><USER16> What the hell is going on? This is nonsensical now.

<comment><USER17> What's going on is Uber decided that because it doesn't like laws regulating taxis, it should be allowed to just ignore them.

<comment><USER14> In sharp contrast to normal cabbies, who pick up the very first person hailing them without any discrimination, never refuse a destination, always have credit card machines that work, who completely don't expect you to pay them a dime beyond the regulated rate, are perfectly diligent in working with the disabled, and report every last dime that passes through their hands -- or, whey they fail to do these things, are prosecuted by the city with the exact level of vigor used in the current case against Uber. /s

Sometimes it sucks when people ignore the law. So does selective prosecution.

<comment><USER17> I missed the part where any of this justifies Uber's behaviour. This is just a bunch of baseless conjecture about what you think "normal cabbies" do.

<comment><USER16> I think your problem is that you assume that because Uber might be, in some cases, be ignoring regulations that that means that Uber's behavior is wrong. The law usually not a guideline for ethical behavior. Specially in a country as bureaucratic as ours. The law quickly becomes something that protects incumbents and stifles innovation.</comment></comment></comment></comment></comment>


Open Source Machine Learning software - <AUTHOR> http://mloss.org/software/

<comment><AUTHOR> A list motivated by a workshop held at the NIPS 08.

Videos of the workshop - <http://videolectures.net/mloss08_whistler/></comment>


Photon – Framework for Electron apps - K-Wall http://photonkit.com/ <comment><AUTHOR> The problem that I have with Connor Sears' work and others, like the Ionic Team's is that they don't look anything like the target platform.

I'd love to work with something that was the framework equivalent of the iOS9 UI kit produced by Teehan+Lax/Facebook, or any properly designed replica of another platform, but no one produces such things. All you're left with is mediocre rip-offs that are tasteless.

I don't want to make a Photon app. I don't want to make an Ionic app. I want to make an iOS app. If you want to compete with native, compete with native and actually _try_.

</comment><comment><USER2> I guess I don't understand what makes this Electron specific. It looks like a UI kit similar to Bootstrap and others. Maybe it's too early in the project, but some mention of how the Node portions of Electron are used would be helpful.

<comment><USER3> Yeah it looks like an attempt to create a UI kit, which I think is helpful for those who want to work with Electron without having to actually design their entire interface. I imagine it will get better overtime and become fine tuned for Electron in specific.

edit: typo

</comment></comment><comment><USER4> This seems like a great start. Hopefully they'll get good looking Windows and Linux themes together as well.

<comment><USER3> I'm really hoping this becomes the case, if not, then at least a more neutral looking interface so that it transfers smoother across platforms. I guess kind of how IntelliJ maintains a nice interface across platforms and similar projects.

</comment></comment><comment><USER5> This doesn't sound as a good name given the existence of: [https://vmware.github.io/photon/](https://vmware.github.io/photon/) Granted, in the context of atom and electron it makes sense, but still.

<comment><USER6> Also an unfortunate name clash with the Photon and Electron embedded boards by Particle...

<comment><USER5> At this rate I also foresee a clash with Phonon and Plasma from the KDE project.

</comment></comment></comment><comment><USER7> I believe these frameworks are very cool and web-apps as desktop-apps is probably the future.

My biggest concern is how these technologies will work in the commercial world.

Do I now need to license Photon, Electron, NodeWebkit, Node, Webkit + friends?

<comment><USER8> > web-apps as desktop-apps is probably the future

Can you expand on this? I'm interested in your viewpoint because the general consensus on HN seems to be that webapps are better off as webapps and desktop apps are better off as desktop apps—being in the browser seems to be good enough for most webapps, and when packaging something as a desktop app there are little quirks that mess it up.

<comment><USER7> As giancarlostoro mentioned, it's mostly about the web ecosystem; web apps have an amazing number of opensource projects to take advantage of. I see a huge benefit from being cross-platform (windows/osx/linux/android/ios/even blackberry) and only having to develop and maintain one ui. Some examples I can think of are Spotify, Atom, Thunderbird. Web technologies are also being standardized more than many desktop technologies have been; \- HTML5 (<video>, <canvas>, <template>) \- CSS (styling) \- WebRTC (peer-to-peer communication) \- WebGL (3d) \- Local Storage (local persistent storage) \- Web Workers (threading) \- Device APIs (geolocation, orientation, camera, other sensors)

I don't mean throw your website behind a mini-browser and call it desktop app, but if you design a desktop application with web technologies there are some very interesting combinations.

I also think the biggest gains come from realizing this is literally just the ui. The desktop application doesn't have to be written in javascript, you can still write your application logic in c++, and all you have to do is expose an endpoint and talk over localhost!

</comment></comment></comment><comment><USER9> So is this just some sort of UI elements for electron? I don't understand what it offers that's new?

<comment><USER10> This is what it offers: [http://photonkit.com/components/](http://photonkit.com/components/)

As well as something in the way of a template for you to build on.

</comment></comment><comment> john-kelly would love a yeoman generator for this.

<comment><USER11> Honestly why? Will you make that many desktop apps that are all the same?</comment></comment>


Cool Blog on Space Elevators - <AUTHOR> http://www.spaceelevatorblog.com/?cat=9

<comment><AUTHOR> Is there any government or company putting a serious effort toward building a space elevator? I hear Google X and a few government space agencies are talking about it but wonder how seriously they are working on it.</comment>


Marco Arment on the state of Apple software  - <AUTHOR> http://www.marco.org/2013/12/29/apple-doesnt-have-time

<comment><USER2> For a company that is spoken of as being so focused on execution, I wonder if this isn't all part of the plan?

They can launch an app to great fanfare which in some cases may convince people to buy the hardware. Once enough people have bought into the ecosystem, and other apps are happily filling the need the Apple created apps originally filled, Apple can let those apps flounder as they are no longer driving sales.

It's strangely the opposite approach to Microsoft which gets stronger with each iteration so that no competition comes in and takes the market from them.</comment>


Dolphin Progress Report: November 2016 - <AUTHOR> https://dolphin-emu.org/blog/2016/12/01/dolphin-progress-report-november-2016/ <comment><USER2> Beyond just emulation, Dolphin is fantastic to get insight to programming you might not be familiar with. I spent a good portion of time learning about their HLE audio emulation and how they approached it.

It was very enlightening.

</comment><comment><USER3> I wish someone would add Chromecast support to Dolphin so bad.

<comment><USER4> I'm not entirely sure that'd work very well, since the Chromecast mirroring function has some pretty high latency.

If you want to stream Dolphin to your TV, a cheap option is to use Steam's in- home streaming feature. The Steam Link is a dedicated piece of hardware for this which I think is about $50 and will work with existing controllers or the Steam controller. You can also just use any existing laptop (windows, mac, linux) with a sufficiently powerful cpu for stream decoding and use it as an in-home streaming client. I've messed around with a lot of solutions for streaming from my PC to living room TV, and Steam's solution blows just about everything else out of the water.

<comment><USER5> One suggestion on using Steam link, is to connect the streaming machine, and Steam link via ethernet, and not WIFI.

From my personal experience (and research online), wifi can be iffy, and ethernet ensures a much smoother experience overall.

<comment><USER6> 5ghz 802.11ac has worked great for me.

<comment><USER7> I actually had the opposite: it seemed to work OK until it suddenly stopped receiving video entirely. (though oddly I could see the input being sent when I looked at the computer it was running on) 2.4ghz was actually much more successful for me, though it ended up having hitches every so often. And when you're trying to play Dark Souls or a rhythm game, you don't want hitches. I spent the time to get everything hooked up via ethernet and I don't see any more issues, even at the high quality setting for streaming.

Though maybe my experience is affected by the router I have. (which is in AP mode and I have a custom firewall)

<comment><USER8> 5ghz has less penetration than 2.4ghz, it may be a distance thing.

Ethernet FTW.

</comment></comment></comment></comment></comment></comment><comment><USER9> >On the 22nd of November, Marcan of Hackmii.com released the Homebrew Channel as an open source application, removed the anti-emulation hooks, and fixed a few bugs in Dolphin so that it could run properly! Nearly a decade after its inception, the homebrew channel is finally emulated!

I've never really understood this part of the emulation / modding scene - until recently they were very closed.

Edit: from the source release - Note that the code in this repository differs from the source code used to build the official version of The Homebrew Channel, which includes additional protection features (i.e. we had to add reverse-DRM to stop scammers from selling it).

Makes sense. I'd like to see the code that was used to detect emulation and modification.

<comment><USER10> It's also to do with the homebrew scene not wanting their code to be used by pirates, and wanting to be seen to be actively preventing that, to try and protect themselves.

<comment><USER11> And hiding which bug they are using, so Nintendo takes longer to fix them

</comment></comment></comment><comment><USER12> Every time I see this I think it is Dolphin Smalltalk and I get excited, then realize it's the emulator.</comment>


Dropbox Android App & Mobile API; The Cloud Sync Apple Should Have Built - <AUTHOR> http://techcrunch.com/2010/05/04/dropbox-launches-android-app-mobile-api-gives-ipad-cloud-sync-apple-should-have-built/

<comment><USER2> The point about starting a bidding war is particularly cogent. I hope that if/when acquisition of Dropbox does occur, (1) the founders and employees are well rewarded for the fantastic product they built and (2) the service is not discontinued in any way. Over the past year or so I've come to rely on Dropbox; few pieces of software have ever been as integrated into my daily routine.

<comment><USER3> I'd be terribly sad if google bought and killed them.</comment></comment>


Fix my JS - <AUTHOR> http://goatslacker.github.io/fixmyjs.com/ <comment><USER2> 2 things real quick.

1) You broke the back button.

2) Download link is broken.</comment>