Ask HN: Recommendations and tools for sole traders in the UK (web developer)? - <AUTHOR> I'm moving over to the UK in a few months and will be setting up as a sole trader (I'm from the EU). I'm a web developer and I wanted to stream-line the process as much as possible with regard to accounting, banking, invoicing, phone numbers etc. What are some suggestion and recommendations from anyone in a similar position? <comment><USER2> Make sure to weigh up the pros and cons of operating as a sole trader or as a limited company. It's very easy to set up a limited company in the UK. There are various advantages/disadvantages in terms of tax etc.

<comment><USER3> I went the ltd route, and believe it has given me more paperwork.

As developers we don't have all that many business expenses. Maybe you'll do better than me, but I don't think I made huge tax savings. As a director I have to do the personal tax paperwork on top of my company tax returns. There are more regulations, deadlines, and submissions for a company than an individual.

For my first year trading I signed up with an accountant (I was painfully aware that I didn't have time to learn the tax stuff and worried about making a mistake). If you have the time and inclination, and use a good accounting program, I'd recommend learning to do it yourself asap rather than hiring one.

If you go the sole trader route, I recommend opening a new current account and using it for all and only your business transactions, like it was a company credit card. That will make doing your expenses a lot easier.</comment></comment>


Migrating from RethinkDB to Postgres – An Experience Report - <AUTHOR> https://medium.com/fuzzy-sharp/migrating-to-postgres-2dc1519a6dc7 <comment><USER2> Interesting quote: "we decided to compute all statistics on demand. This was something we previously tried in RethinkDB, but the results were not good... When we tried implementing statistics as SQL queries in Postgres, we were amazed by the performance. We could implement complex statistics involving data from many tables."

I think standard line "use right tool for the job" is still the ultimate answer. Data in most applications is relational, and you need to query it in different ways that weren't anticipated at the beginning, hence the longevity of SQL.

That said, I too often see HN commentators say something like "this data was only 100 GB? Why didn't they just put it in Postgres?" which is not as clever as the writer may think. Try doing text search on a few million SQL rows, or generating product recommendations, or finding trending topics... Elasticsearch and other 'big data' tools will do it much quicker than SQL because its a different category of problem. It's not about the data size, it's about the type of processing required. (Edited my last line here a bit based on replies below.)

<comment><USER3> We do exactly what you describe on about 80TB dataset stored across a number of PG instances. The 100GB comments are extremely clever because running a query against a dataset that fully fits in RAM will be blazingly fast. "Try doing text search on a few million SQL rows" we are doing it on billions of rows.

<comment><USER2> Do you have FULLTEXT indexes on those rows? I find it hard to believe that searching something like e.g. a fragment of text in Youtube comments can be as fast in a SQL system (even in RAM) as in Elasticsearch.

As for the other stuff I mentioned (recommendations, etc.) I'm not just basing it on my personal experience--here's a write-up from Pinterest about having to dump all their MySQL data to Hadoop to drive various types of analysis. I doubt they would do it it if just putting the SQL DBs in RAM was adequate! [https://medium.com/@Pinterest_Engineering/tracker- ingesting-...](https://medium.com/@Pinterest_Engineering/tracker-ingesting- mysql-data-at-scale-part-1-424cf43fa7c3)

<comment><USER4> PG is something of a different beast too. With MySQL the standard mode of operation for most non-basic functionality is to dump the data in another tool.

Full text with Postgres is pretty fantastic and configurable. Not putting the data somewhere else keeps you from having to maintain a second system, keep things in sync, etc.

People jump to putting data in a search tool because it's a search tool waaaaay too quickly IMHO. If the use case justifies it, go for it...but don't add uneccessary complexity unless you have to.

<comment><USER5> > Not putting the data somewhere else keeps you from having to maintain a > second system, keep things in sync, etc.

To be fair there is some amount of "keeping things in sync" one has to do with postgres, even if it's just setting up the right triggers to update the FTS index on updates.

<comment><USER4> True, but it's transaction safe so should be impossible to get out of sync which is what I was really getting at.

</comment></comment></comment></comment></comment></comment><comment><USER6> Document databases are for data you know will be hierarchical and you know you won't have to do much cross referencing on. That's not as broadly useful as it might sound and then once requirements change you end up reimplementing a RDBMS in your NoSQL. I don't hate doc dbs, I just don't think they're as generally useful as they're made out to be.

Relational is well understood. The modeling problem is well understood so you don't have to guess too much about how your data should be structured. By default I start projects with a rdbms and then carve out the portions that truly are hierarchy-only.

That said, I'm starting to investigate graph databases more closely and what I like about them is what I like about relational: queryability. It's so easy to write a short query and extract your data. I like the model quite a bit too because graphs are a pain to shoehorn into a relational db. I'm still not entirely sold but I would love to find more good resources on graph dbs.

<comment><USER7> But data you store in a relational database is also hierachical...

Order / OrderLine

In a document db we store it as a single document because an order is the root aggregate and the order line cannot exist without an order.

It relates to other objects in the database in the sense that it may relate back to a User...

We hack together our "understood" objects to fit into a relational database.

</comment></comment><comment><USER8> Interesting timing... literally just just finished moving from RethinkDB to Posgres myself [https://github.com/heiskr/sagefy](https://github.com/heiskr/sagefy) .

When I was first building the project, I didn't totally know what schema I would need. I started on Postgres. But having to constantly do database migrations while I was developing was a pain. RethinkDB was great for development while I was figuring out what schema I needed. But now that the website is live [https://sagefy.org](https://sagefy.org) , the schema started getting stable.

I'm not using perfect third-normal form, but in many cases I have no query needs there so JSONB makes sense. JSONB columns can actually remove much of the need for NoSQL. The biggest gains from moving were: not having to do foreign key validations myself (yay!) and about 2/3 filesize reduction to the database. My database isn't large enough for performance to matter, but I'm sure it would eventually.

If I were to do this again, I would probably start again with a NoSQL database (maybe Redis or ES, or just files even) until I figured out the schema and then move to Postgres before launching. I'm sure there's smarter people out there who can start with SQL and predict easily what the feature set is going to be be before they start, but I don't usually have that foresight. `ALTER TABLE ...` gets old really quickly.

I'm keeping an eye on CockroachDB too... if they can really make something similar to Postgres but easily scales horizontally... that would be amazing.

</comment><comment><USER9> After starting up a big data timeseries project at work for the past several years, and spending a big chunk of that looking into and testing various DBs, whenever I am asked, "What database I should use for X?" I tell them Postgres, unless you have an well-researched and proven reason not to. I picked Druid for our project, and am very happy with the result. However, for some of our smaller customers, Postgres would have been a much better choice. Only because most of our big, important customers have data needs starting at Petabytes am I happy we went with Druid. Well, that and a bunch of other reasons ;)

Much of the "reasoning" I see for people choosing Elasticsearch or InfluxDB or MongoDB seems to come down to, "It showed up a lot on Hackernews".

<comment><USER10> I am currently working on a thesis paper evaluating persistence technologies regarding their fitness for a petabyte-scale sensor data analytics product. I am interested to learn more about your experience with Druid.

I would be grateful if you contact me at firstname.lastname@example.com (it's a throwaway email as I avoid posting my private email publicly). Thank you.

</comment></comment><comment><USER11> I am beginning to see a trend on HN. Teams are moving away from new and young databases to old and "boring" databases as their need for stability and correctness increases.

<comment><USER12> Would be interesting to hear how they arrived at the RethinkDB/Elasticsearch combination over Postgres at the start of the project. It doesn't seem they lost any features after the transition. Was something lacking in Postgres at the time of initial implementation?

<comment><USER13> However, they do say:

> _leaning heavily on Haskell in order to fill in some of the gaps quickly._

So it looks like they had to do some work to cover some features from rethinkdb/elasticsearch.

<comment><USER14> The code in the post is just used to migrate from an untyped interface to a typed one. Unless I'm missing something, there seems to be no mention of any missing features in postgres.

<comment><USER15> They did mention missing JSON schema validation in Postgres.

<comment><USER16> And also many mentions of no schema validation in Rethink, so that's probably not a gap.

</comment></comment></comment></comment></comment></comment><comment><USER17> "Postgres is basically going to be around forever". My favourite quote from the article and a really great point. Even with RethinkDB going opensource there's only been one single release in the last year, and it was a bug fix release.

<comment><USER18> With RethinkDB and Basho going out of business, it has an interesting year for databases. I think we are seeing the dawn of the new databases golden era, and the world is converging to 3-4 databases, that is Postgres, Cassandra and Mongo and ElasticSearch.

<comment><USER19> MySQL still has massive usage, and isn't going anywhere.

<comment><USER18> Agreed, I meant other than Oracle, MySQL/MariaDB and MSSQL, which are the top 3 anyway.

</comment></comment></comment></comment><comment><USER20> I talked to Phil about this migration, I maintain two of the libraries mentioned in the post. I mentioned the Elasticsearch client (which I actually wrote, unlike the SQL library) in this comment: [https://news.ycombinator.com/item?id=15241886](https://news.ycombinator.com/item?id=15241886)

Maintaining each library has enhanced my appreciation and respect for how the Postgres people do their thing.

</comment><comment><USER21> In addition to the Postgres knowledge, this post also provided me with tremendous help in building a sane data architecture for RESTful web services in Haskell.

</comment><comment><USER22> We solved this differently. We needed to maintain a two DB solution (two-state solution as some of my team has called it). For this, we took advantage of RethinkDB's changefeeds to deal with the foreign key constraints. We have some Elixir supervisors that link to it's direct dependencies. So e.g. a Comment can't exist without a Post, so the Comment changefeeds don't start until the Posts insert changefeed caught up with at least upserting the IDs. We then have a followup task that makes sure the data is also up to date. This has allowed us to keep our FKs, while allowing functionality to be moved over as we needed it to. As new_app became the writer, changefeed was removed, and the process continued. If one dies for whatever reason, it kills the dependent changefeed listener processess and the VM restarts the process at that point.

</comment><comment><USER23> I really wish that there was a column-oriented storage native to Postgres. My impression is that people are forced to abandon Postgres for analytical processing way too early, at relatively small scales.

<comment><USER24> FWIW, I think currently column vs. row-store is not in the critical path of making postgres more suitable analytical query processing. The CPU bottlenecks are just elsewhere - and we (various postgres devs) are working on them. The storage density parts of column stores can currently partially be achieved by using a filesystem that does compression - far from great, but not disastrous either.

<comment><USER23> I thought the bigger advantage was that you could do sequential-only I/O on projections?

Or are you saying that you're only CPU-bottlenecked?

<comment><USER24> > I thought the bigger advantage was that you could do sequential-only I/O on > projections?

Not quite following - a column store will usually not have more sequential IO than a row-store. Often enough to the contrary, because you have to combine column[-groups], for some queries. What you get is: Higher compression ratios, better IO & cache access patterns for filter-heavy queries, easier to vectorize computations. Especially if you either filter heavily or aggregate only a few rows, you can do a lot less overall IO in total, but the sequential-ness doesn't really improve.

> Or are you saying that you're only CPU-bottlenecked?

Oftentimes, yes. You might be storage _space_ constrained, but storage speeds for individual sequential-IO type queries are usually fast enough. Parallelism helps with that (if you can push down enough work, a lot of it added in 9.6 & 10), plain old code optimizations (better hash-tables, new expression evaluation framework, both in 10), as does JITing parts of the query processing (WIP, patches posted for 11).

</comment></comment></comment></comment><comment><USER25> Wow, we had to do the same thing recently. Rather than replace all the model queries across a complex codebase, we created a rethink-(rdbms=knexjs in node) adapter layer which gave us a nice 80/20 solution.

[https://github.com/MoveOnOrg/rethink-knex- adapter](https://github.com/MoveOnOrg/rethink-knex-adapter)

</comment><comment><USER26> > Rethink is no longer commercially maintained.

Just wondering, seeing as am not a Postgress user - is Postgress commercially maintained? Or is it pure open source (like I believe RethinkDB is currently)?

<comment><USER27> There is no single company behind PostgreSQL, there's a foundation which manages development, but there are a number of well established businesses offering commercial grade support. Some of these companies employ some of the major contributors to PostgreSQL.

<comment><USER28> Wasn't there in fact an agreement amongst the PostgreSQL contributors that they'd never all go and work for the same company?

<comment><USER27> I'm not sure (others here, naturally, may be in the know). Having said that, there do seem to be some larger concentrations of them in a few companies. I don't keep up too much with that either, but it seems like EnterpriseDB was in this camp (and logically so).

I do think there are enough companies now that develop PostgreSQL based products (EnterpriseDB, Citus Data, Greenplum, etc) along with the larger PostgreSQL consultancies which would probably raise their hand if they thought one player or another was becoming dominant in some way hostile to the others.

All of this is outside observer speculation, but it's the way I read the tea leaves.

<comment><USER24> >> Wasn't there in fact an agreement amongst the PostgreSQL contributors that they'd never all go and work for the same company?

At least some of us have that understanding - and looking at where at least the committers work it's fairly well distributed.

> Having said that, there do seem to be some larger concentrations of them in > a few companies. I don't keep up too much with that either, but it seems > like EnterpriseDB was in this camp (and logically so).

There is some concentration, but if you look at the list of committers (smaller number, I don't have to look up affiliations), they're fairly well distributed across the the larger players (alphabetically 2ndQuadrant, Crunchy Data, EnterpriseDB) and various other orgs with some.

</comment></comment></comment></comment></comment><comment><USER29> Postgres is always the answer.

<comment><USER30> No it's not. It's question dependent. "Would you like a burrito?" "Postgres". See? It doesn't work.

<comment><USER31> Works for me. I'd probably lose weight if I started using that answer.

</comment></comment></comment><comment><USER32> I've had a prodigal son moment with Postgres myself. I found that even for many tasks that seem to favour NoSQL (time series, etc.) you get lot more bang for the buck in terms of performance for the same resource usage with Postgres.</comment>


Show HN: Liner – Highlight Everything (Now on ProductHunt) - <AUTHOR> https://www.producthunt.com/tech/liner-for-chrome <comment><USER2> It is kinda strange that this thing has so many votes on ProductHunt and none here -- maybe it says something about its relevance for hackers.

</comment><comment><USER2> How is this different from Hypothesis, for example?</comment>


ITT Tech Is Officially Closing - <AUTHOR> http://gizmodo.com/itt-is-officially-closing-1786243058 <comment><USER2> Any theories on why the intersection of education and for-profit tends to be such a shitshow? The best educational institutions are non-profit pretty much across the board.

<comment><USER3> For-profit companies have pressure to show consistent revenue growth and this becomes their #1 priority. In the case of ITT tech, a large amount of their revenue came from tuition backed by federal loans. Non-profits schools have a similar pressure for their endowment fundraising, however that revenue comes mostly from alumni and not new/current students.

<comment><USER4> Same as hospitals and prisons. The goal of the company does not align with the expected service. The goal of a company is to make money for shareholders and investors. This causes issues when normal corporate practices such as cost cutting happens, because a lot of time, there is no place to cut without lowering the quality of the service. The good people get frustrated and leave, and its left running by skeleton crews, mostly filled with people who have no problem squeezing every cent from their customers.

</comment></comment></comment><comment><USER5> Discussion taking place under the Bloomberg piece: [https://news.ycombinator.com/item?id=12435978](https://news.ycombinator.com/item?id=12435978)</comment>


Sailboat simulation in WebGL (2D Wireframe) - <AUTHOR> http://z-petal.com/sailboat/ <comment><USER2> That's a nice subtle animation. I also had difficulty steering the boat. It might be an idea to map Q-W to the sail and O-P to the rudder. When you start the sail is on the left and the rudder is on the right.

</comment><comment><USER3> It would be a lot more interesting if apparent wind [1] was calculated and the vectors were superimposed on the sailboat so users can see what is happening.

Sails are curved so they act like foils with wind moving faster of the outer surface than the inner surface creating forward thrust. The faster the boat moves through the water more thrust created which is countered by drag of the boat through water. There is nothing like the feeling of acceleration when a windsurf board starts planing.

[1] [http://www.sailbetter.com/apparent- wind/](http://www.sailbetter.com/apparent-wind/)

<comment><USER4> > Sails are curved so they act like foils with wind moving faster of the outer > surface than the inner surface creating forward thrust.

[https://en.wikipedia.org/wiki/List_of_common_misconceptions#...](https://en.wikipedia.org/wiki/List_of_common_misconceptions#Physics)

</comment></comment><comment><USER5> Black screen for me (apart from text). Firefox 45.

</comment><comment><USER6> Getting the boat to go in the direction I wanted was much more difficult than I thought it would be. I like the subtle wind animation. Seemed to have an issue with chrome, "Error creating WebGL context", though it worked in firefox.

<comment><USER7> Worked for me in Chrome on Windows, doesn't work with FF 45.

<comment><USER8> Works fine in Edge, too.

</comment></comment></comment><comment><USER9> Cool stuff! Admittedly it took my a moment to figure out the particles signified wind gusts, but once I figured that out the rest was straight- forward.

</comment><comment><USER10> Another Chrome exclusive ;) Looks very nice and usefull in Chrome though.

<comment> SG- Works in Safari too.

</comment></comment><comment><USER11> Controls aren't doing anything for me :-(

<comment><AUTHOR> Please make sure that the window has focus. If the boat is not moving, then the controls won't do anything other than rotate the sail and the rudder (which is very subtle).</comment></comment>


An intelligent way to insult. - <AUTHOR> http://intellisult.com/

<comment><USER2> Haha, this is really funny and cool.

 _irredeemably boring chromosone deficient conglomerate of intellectual constipation_

that made me laugh out loud. Is the source available somewhere?

</comment><comment><USER3> That site is a lamentably putrescent piece of excrement and a heinous dastardly waste of time assaulting the decency of good folks. ;-)

</comment><comment><USER4> Nice, but is there a way to permalink an insult?

<comment><AUTHOR> There really should be!

<comment><USER5> Agreed. I just came to the comments page to ask this.

I'd like to send a link to this insult to a certain someone...

<comment><USER6> Hey guys, sorry, haven't really had time to extend functionality beyond the basic creation of insults. Follow Intellisult on Facebook or subscribe to my Twitter @MattHofstadt and I'll send an update when I get around to adding more features to the site. Permalinks are a good idea! =)</comment></comment></comment></comment>


Yahoo: Destroyer Of Startups - <AUTHOR> http://readwrite.com/2014/03/06/yahoo-death-bringer-startup-destroyer-acquisitions-strategy-search#awesm=~oxQtpURGCajrGs

<comment><USER2> HN item for link w/o tracking hash: [https://news.ycombinator.com/item?id=7360730](https://news.ycombinator.com/item?id=7360730)</comment>


Ask HN: How to peer review when we're both new to the code? - <AUTHOR> Both of us started recently and within a month of each other so knowledge of the codebase is limited, other than semantic and logical feedback there hasn't been much in the way of anything to say. Has anyone dealt with this scenario before? <comment><USER2> Not a problem.

If you're asked to review code, you do it to the best of your knowledge. If you are not able to comment on certain aspects because you don't feel knowledgeable enough about the code base, say it.

It's actually a good opportunity to learn about the code base.

In any case, your team knows that you are new and won't be able to comment in depth and they probably also see this as a training exercise for you.

</comment><comment><USER3> In my team, anyone can review the code made by anyone. That means two seniors can review each other but two juniors too.

What is important exactly in a code review depends on the team. But generally, the same items are reviewed:

* Are team conventions applied?

* Can another understand the new code?

* Is code resolving the issue?

* Can I think about a better code? Something to refactor?

Even two juniors can ask this questions and try to answer them.

</comment><comment><USER4> Draw a map on a whiteboard, to build and share your understanding of the code base and the context as you progress together reviewing each other.

If the reviews are too large/complex for you to grasp, that may mean that: * either it's not focused on one specific topic, so it should be split up, * either it's actually a more complex issue you'll need to dive together in to grasp it (back to the drawing board).

Depending on the code base: * if you can plug a cross reference tool (such as [https://lxr.sourceforge.io/](https://lxr.sourceforge.io/) or anything that suits you), that will help to jump from one place to an other * if there are tests (hopefully), check if you have a test coverage report (or set it up). That's good info to have too.</comment>


Which Javascript framework you use ? - <AUTHOR>

<comment><USER2> I use Jquery but wasn't there a thread already about this?

<comment><AUTHOR> Sorry, looks like I missed that.

<comment><USER2> No problemo just user ycsearch or something to find out what other peeps here are using.

In terms of user friendliness Jquery is the best of the bunch in my opinion. Although it is not as popular as Prototype and what not.

Plus I have loads of fun hacking away with Jquery :-) hope you do too if you decide to use it.</comment></comment></comment>


HeteroTSDB: An Extensible Time Series Database on Heterogeneous Key-Value Stores [pdf] - <AUTHOR> https://yuuk.io/papers/heterotsdb_compsac2019.pdf <comment><USER2> I scanned this, and there's a lot of talk here about having two separate layers of key-value storage (not nearly the first system to have that design), but I'm missing what is the key innovation here. I need to read it in more detail, but if anyone else figures out what that is, I'd love to hear about it.

<comment><USER3> Same here, can't see what's the discovery in this paper.

</comment></comment><comment><USER4> Or normalize your data and use clickhouse.

<comment><USER3> Clickhouse is a nightmare to scale and operate and doesn't support TS joins.</comment></comment>


Windows 10 (Threshold) Changes to the Windows Command Prompt - <AUTHOR> http://blogs.msdn.com/b/winsdk/archive/2014/10/02/windows-10-threshold-changes-to-the-windows-command-prompt.aspx

<comment><AUTHOR> Seems many of these features may have been possible as far back as Windows 2000, thanks to third-party utilities, e.g. [http://www.evernote.com/shard/s11/sh/228fd98c-0b9b-4474-886d...](http://www.evernote.com/shard/s11/sh/228fd98c-0b9b-4474-886d-787dcdc53c78/bf53b7754ffc0d55fdb19888b6a66596) which is a screenshot of Custcon.exe, a Windows 2000 GUI tool that is used to customize the extended line editing keys when using Cmd.exe (Ntconsole). To enable new key settings, click the "Use Extended Edit Keys" checkbox. Properties indicates it was written by Hiro Yamamoto in 1998, so perhaps this guy would know more about it: [https://www.linkedin.com/pub/hiro- yamamoto/9b/7a4/a72](https://www.linkedin.com/pub/hiro-yamamoto/9b/7a4/a72)

Ah, discovered via an email thread that he also wrote remapkey (by Hirofumi "Hiro" Yamamoto) and his website was: [http://hp.vector.co.jp/authors/VA000092/tools/](http://hp.vector.co.jp/authors/VA000092/tools/) Yep, judging from that site, he works for Microsoft, and probably wishes he'd written less. ;-)

Seems this tool wasn't the only thing customizing cmd.exe for you, there was auto-complete, macros, and a bunch of other things with strange ways of enabling them through the registry: [http://webcache.googleusercontent.com/search?q=cache:Ipz- ouR...](http://webcache.googleusercontent.com/search?q=cache:Ipz- ouRx19UJ:windowsitpro.com/scripting/customize-windows-command- shell+&cd=1&hl=en&ct=clnk&gl=ca)

I can confirm that CustCon.exe, written in 1998, does indeed add CTRL+A as "beginning of line" to Windows 8, for instance, and so probably uses ... macros or registry? for that. It's too tiny to contain any DLLs like ConEmu and others.

Which makes me think we're not seeing new functionality here in cmd.exe, just some checkboxes for enabling existing functionality that's been buried for about 20 years.

Edit: Obviously copy and paste is new, as is re-sizing nicely, I suppose. The changes on paste also seems new. Opacity seems like something easy to expose, so ... it's a mix of new copy-paste functionality and quick wins, I suspect.</comment>


The 1KB CSS Grid - <AUTHOR> http://www.1kbgrid.com/

<comment><USER2> My only issue with the CSS from this is on .column it specifies the display as inline and then with another class sets the width. I can't remember right now but I had particular issues when trying to do the same thing a year or so ago and it turns out that its not W3 spec. Without the inner p tag creating a display block element the grid breaks down. In short display inline elements cannot by themselves have width assigned to them.

[http://www.w3.org/TR/2003/WD- CSS21-20030915/visuren.html#inl...](http://www.w3.org/TR/2003/WD- CSS21-20030915/visuren.html#inline-formatting)

</comment><comment><USER3> I've been using the 960.gs for a while now and really find it efficient. At first I was critical of such systems but the ability to reuse css classes is great and it's a nice having a starting point for new site layouts.

<comment><USER4> and 960.gs comes with photoshop and fireworks templates with guides already setup.

</comment></comment><comment><USER5> No comment on the grid, really, but that's one gorgeous GUI.

<comment><USER6> I have to disagree, the font looks terrible for me (Windows XP, Opera). Maybe he forgot to use a good fallback font?

</comment></comment><comment><USER7> I suppose this has its place for simple fixed width designs, but when you need something more flexible I love YUI grids (which they seem to be responding to with this simpler grids css)

</comment><comment><USER8>
      /* </comment><comment></comment><comment>==== */
      /* = The 1Kb Grid = */     /* 12 columns, 60 pixels each, with 20 pixel gutter */
      /* </comment><comment></comment><comment>==== */     /* Enjoy your tableless layout that acts like a table! */

      .grid_1 { width:60px; }
      .grid_2 { width:140px; }
      .grid_3 { width:220px; }
      .grid_4 { width:300px; }
      .grid_5 { width:380px; }
      .grid_6 { width:460px; }
      .grid_7 { width:540px; }
      .grid_8 { width:620px; }
      .grid_9 { width:700px; }
      .grid_10 { width:780px; }
      .grid_11 { width:860px; }
      .grid_12 { width:940px; }

      .column {
      	margin: 0 10px;
      	overflow: hidden; /* Bad call */
      	float: left;
      	display: inline; /* float: left implies display: block */
      }
      .row {
      	width: 960px;
      	margin: 0 auto;
      	overflow: hidden; /* Bad call */
      }
      .row .row {
      	margin: 0 -10px;
      	width: auto;
      	display: inline-block; /* Not well-supported */
      }</comment>


Ask HN: Which Linux distribution do you use, and why? - <AUTHOR> <comment><USER2> Ubuntu 16.04 on client and server. Just phenomenally stable on a basic laptop. Particularly when I hear about High Sierra and UWP woes.

Very much looking forward to Bionic Beaver and Mesa 18!

Am still looking for a good distro as bootable usb thumb with persistence. Alpine is very convenient if you just want a quick shell. Tails for situations requiring more privacy. But apart from running mkusb and creating my own ubuntu live stick. Is there anything really specifically tailored to this use case?

<comment><USER3> The only major grip I have with Ubuntu is their deficient support for Nvidia drivers. The Noveau et al configuration was a particular kind of hell for me. Ubuntu is hands down the best OS for development for me though.

<comment><USER4> >their deficient support for Nvidia drivers

I believe the problem is with Nvidia. You'd get the best experience with Ubuntu since it is the most used by average customers, so well tested.

</comment></comment></comment><comment><USER5> On my laptop I use Arch Linux,mainly because it doesn't get in the way installing any unwanted package or service. Should I need to configure a new laptop suddenly, I have scripts that provision the new machine _exactly_ the way I want it in 1h~. Another killer feature of Arch is its vast repositories of packages, I can install spotify, dropbox, skype the same way I install htop! In 4 years of running it (and updating weekly) I have not had any major problems with updates breaking things, which is a common concern of newcomers to the arch rolling update system.

On servers I most often use debian, rigorously with unattended-upgrades enabled, for its stability and attention to security.

As a base image for containers I prefer Alpine for its slenderness and security, escalating to debian or ubuntu as a last resort when needed for exhotic packages and such.

Finally, when I setup a linux box for inexperienced users, I usually use manjaro for its ease of use and attention to the inexperienced-user- experience.

<comment><USER6> Can you share those scripts? I need to reinstall arch on a new laptop, and I would like to see how you automated the setup.

</comment></comment><comment><USER7> I have a few requirements when I choose my distro:

1\. Ubuntu based, since I know where everything is. I don't mean to knock other great distros like Arch, etc.. but I'd rather do my stuff than try to figure out another package manager or another file system layout.

2\. Customizable. I make my environment look a bit like windows, with the task bar and all. Not because I love windows, but because I have two laptops, one windows and one linux, and I need a bit of a seamless transition. I am sure if my other laptop was a fruit, I'd want my linux machine to resemble a fruit.

3\. I need my desktop right click context menu, with a command line option.

For the longest time I used Xubuntu. I still think Xfce is the best out there, but its glacial rate of movement made me look in other places. It is falling behind in some things such as multi-monitor support with docking stations.

I now use Ubuntu 17.10 with Gnome shell. I was able to make it look almost like my Xfce setup. I had to turn off Wayland, since it was causing gnome to crash randomly on wake from sleep and close all my apps. It is also far less customizable than xfce, and some things are unexpectedly buggier (the terminal window loses cut and paste abilities randomly, and I cannot replace the console shortcut in the desktop context menu with Terminator).

I may yet go back to Xubuntu. Not sure.

<comment><USER8> You should give cinnamon a try. I think you would prefer it over gnome.

<comment><USER9> I actually use Linux Mint for this reason - Cinnamon is just awesome (except the random crashes every once in a while)

Docking support is great, but sound output needs to be swapped manually sometimes.

<comment><USER10> Will Cinnamon be fast and responsive on an old laptop with a 2nd-gen Intel Core i5 processor and 4 GB of RAM? And how is the support for NVidia GPUs?

</comment></comment></comment></comment><comment><USER11> Ubuntu because there are even fewer meaningful differences among Linux distributions than there are among operating systems in general...and the important differences among operating systems are mostly "Will it run on my hardware?" and "How much more or less of a distraction is managing operating system A versus operating system B?"

</comment><comment><USER12> Ubuntu 16.04 (LTS), because it's the closest thing there is to a standardized, plain-vanilla version of Linux. I don't want to think about it; I just want it to work.

</comment><comment><USER13> Debian, good in: ethic, governance, maintainers, documentation, choices over time

<comment><USER14> Debian is one of the best choices

</comment></comment><comment><USER15> NixOS on both my laptop and all the servers I set up.

Declarative configuration, atomic upgrades, system rollbacks, a functional configuration language, excellent Haskell support, etc.

I used Debian and Ubuntu for many years, but now I wouldn't switch to any distribution that isn't inspired by NixOS.

I'm not usually opinionated, but as I see it, NixOS (along with Nix itself) is clearly a huge step forward.

<comment><USER16> Never heard of this one, popped over to the website. Literally the only thing I understand is that the name is NixOS which uses the Nix package manager.

They'd need to dumb down whatever it is they're talking about significantly before I would use it, can't make heads nor tails of it.

<comment><USER15> I'm brainwashed already so it's hard for me to see it from the perspective of a new user.

Here are some main points from the website:

 _NixOS has a completely declarative approach to configuration management: you write a specification of the desired configuration of your system in NixOS's modular language, and NixOS takes care of making it happen._

 _NixOS has atomic upgrades and rollbacks. It's always safe to try an upgrade or configuration change: if things go wrong, you can always roll back to the previous configuration._

That makes sense, doesn't it? Is it that you want a more detailed explanation of _how_ it achieves this, and how it differs from other distributions?

Did you see this page? [https://nixos.org/nixos/about.html](https://nixos.org/nixos/about.html)

<comment><USER16> I'm not adverse to messing with config files but this seems a little above my knowledge base.

I've no experience with functional programming so have no idea really how it's doing the things it's doing. Plus I can imagine writing out your config file would take a long time.

What does declarative mean? What does atomic mean?

</comment></comment></comment></comment><comment><USER17> Kali Linux on usb for pentesting

Ubuntu 17.04 for Machine learning/Cuda because anything else takes more time to work.

Alpine-Linux for Dockerfiles because it's the bare minimum.

Arch Linux for learning Linux, because you're responsible for installing what you'd like to have a stable machine.

<comment><USER18> Careful, 17.04 went EOL last month:

[http://fridge.ubuntu.com/2018/01/17/ubuntu-17-04-zesty- zapus...](http://fridge.ubuntu.com/2018/01/17/ubuntu-17-04-zesty-zapus- reached-end-of-life-on-january-13-2018/)

</comment></comment><comment><USER19> Ubuntu LTS releases -- it's a relatively stable deploy target with a not ancient set of packages like on the enterprise linuxes.

The 2-year update cadence feels about right as well.

</comment><comment><USER20> Xubuntu on my main development laptop, because I like its aesthetics and it's lightweight on CPU and RAM.

Ubuntu Unity on desktop. No particular reason for Unity, but I've become comfortable with it over the years and have no complaints or reason to switch.

Lubuntu on a secondary old laptop, because it's fast and lightweight.

ChaletOS on my father's old laptop, because it closely resembles Windows Vista/7 which he was used to, but unlike Windows, can continue to get latest software and updates. Can run all DOS and Windows programs using DosBox and Wine. ChaletOS is an Ubuntu variant - not sure if it's modified Xubuntu or deploys its own XFCE customizations over Ubuntu.

<comment><USER21> Xubuntu here too for pretty much the same reasons. Look and feel plus performance.

</comment></comment><comment><USER22> KDE Neon - the bleeding edge KDE experience. It's ubuntu LTS under the covers.

LineageOS - Nougat for 'obsolete' phones, though I might switch to postmarketOS if they get calls working!

</comment><comment><USER23> Before Canonical decided to ditch Unity and go to Gnome I was using Ubuntu at work and Ubuntu Mate at home on laptop. Since Ubuntu dropped Unity I went full time to Ubuntu Mate and I am very happy with it. Apart from that I have KDE Neon on big PC that I hardly ever use. It's the least stable distro I use. There is always something to do on it, but I am using it only for gaming, so it's good enough. On servers I prefer to run Ubuntu LTS editions.

</comment><comment><USER24> Gobolinux because i found the project interesting at one point and was fed up with Windows at the time.

Really exposed me to the sausage factory that is upstream userspace btw...

</comment><comment><USER25> Laptop (x230)/Steambox+htpc(HP8300+GF1050): ElementaryOS - Looks nice, AppStore with native only-programs, Ubuntu underneath so I can find a lot of programs/information online in case of any problems, everything works mostly out-of-the-box

Desktop/Homeserver/VPS: VoidLinux + DWM(only on desktop ;)) - Simple (runit as init system, no default logging daemon [I'm using socklog on servers], LibreSSL), cutting edge and not bloated

Work: Ubuntu Mate LTS + ArchLinux in chroot - Ubuntu Mate - same reasons as with elementary on my laptop :) ArchLinux in chroot - cutting edge, AUR with everything and because it's a chroot I can easily snapshot/share/move my development environment, lot of information/solutions out there

I also use:

Alpine - containers with weird things[LXC] on home server - small(almost nothing inside ;)), LibreSSL

Slitaz - old Pentium-M laptop without DMA(I don't know what happened - I got it for $0 so no questions asked), old P4 machine - perfect fit(and toy...) for those machines

LineageOS - no google inside, only f-droid

</comment><comment><USER26> I use Fedora; this was my first Linux workstation. Fedora was the most painless to install on my at-the-time just released ThinkPad X1 Carbon. The OS was easy to get started with and very user friendly after sorting out some initial issues with firmware and wireless card drivers. I haven't felt the urge to stray to anything else yet.

</comment><comment><USER27> GalliumOS boots 10 times faster than Ubuntu, because it is designed to run on ChromeOS hardware. Even if you do not like Chromebooks perse, this might be a good enuff reason to get one. For example the off-the-shelf linux seems to waste minutes installing and looking for weird filesystems no-one ever uses.

</comment><comment><USER28> Debian. It's probably because I've gotten used to it so much over the years, it feels like a familiar friend every time I boot a new server on it. Rarely an error or issue I haven't encountered before, it just feels good being able to manage a system without much worry.

</comment><comment><USER29> Ubuntu 16.04

Why? Because it worked when I installed it.

I never got into the whole install the hottest distro each season phase, so I've never actually tried anything else (other than my work servers which are running Cent-OS, but I didn't have to bother with the hassle of installing and configuring those)

</comment><comment><USER30> Bodhi Linux. [http://www.bodhilinux.com/](http://www.bodhilinux.com/)

It's sort of minimal. It's a derivative of Ubuntu which means it's not Red Hat.

It uses Moksha for a desktop, which is a continuation of Enlightenment 17. You can read about Moksha here: [http://www.bodhilinux.com/2015/04/28/introducing- the-moksha-...](http://www.bodhilinux.com/2015/04/28/introducing-the-moksha- desktop/)

I use it because it's not annoying; it mostly works; I didn't have to fuck about to get it working; it's sort of minimal; it uses sensible defaults; I like the philosophy; I had a bad experience with Fedora and so I avoid anything red hat.

</comment><comment><USER31> I use Bunsen labs Linux on my main computer, and Xubuntu on my gaming laptop. I'm gradually setting up a ham radio laptop and testing Devuan on that. All these Debian distros are just because it seems like it has just about everything and is wonderfully stable. I like being able to update without any surprises.

My phone is still android though! What are people's experience of LineageOS? Am I in for a nasty surprise if I try to switch without completely knowing what I'm doing?

</comment><comment><USER32> Debian without systemd: On an older Pentium4, just for web browsing although I just replaced it with OpenBSD. Its a great distro because of its age, stability and ease of use.

Gentoo OpenRC: On amd64 laptops for learning how to build software.

I've installed and configured 80% of distros on Distrowatch.com. Its all the same pretty much. Linux from Scratch was a good experience as well. Recommended for anyone interested in the deeper reasons of a distro.

</comment><comment><USER33> OpenSUSE with no desktop, just i3 on my development machine. Xubuntu on family machines and my travel notepad. CentOS on some server, Ubuntu on another.

Need to install Archlinux, because I need it at work. Want to install Gentoo, because it should be useful experience.

Its like with languages on earth. Many things might be easier if there were only one. But probably also something would get lost.

</comment><comment><USER34> Fedora on my laptop and desktop, Centos on my servers, Debian based on my Raspberry Pi 3b and Zero. Been using Redhat based distros since 1998. I've tried others but never for very long. I know how to find help if something breaks which is very seldom.

</comment><comment><USER35> Ubuntu because it worked first time on my laptop. Getting concerned about the end of Unity though. I don't like Gnome3 because it's to bar takes up too much of the screen. Ubuntu on desktop again because it works well in Virtualbox on Windows

</comment><comment><USER36> Ubuntu Mate: Stable and gets out of the way. very good for non-techie family members

</comment><comment><USER37> Debian (stable, or old-stable) on servers. It's reliable, well documented and has plenty of software available in the official repos.

For most things not in the active apt repo, there's backports and/or a vendor apt repo.

</comment><comment><USER38> Xubuntu 16.04 on my Dell Latitude 7240 which is a 99% OOB working system. Only the fingerprint scanner is not working. But that is a bullshit sensor anyway. I love the minimal XFCE desktop.

</comment><comment><USER39> Fedora - because of habit, RPM distros feel like home to me as I started out with one.

Arch Linux - installed it as a rite of passage, works okay on my laptop, can't be arsed to install something else.

</comment><comment><USER40> Tiny Core Linux, Alpine Linux, Yocto Linux - because they run from RAM and tiny operating systems appeal to me.

Ubuntu because it is a full featured workhorse and everything works on it first time.

</comment><comment><USER14> Sabayon Linux, active community, you get both binary packages (from sabayon repos) and you can compile gentoo packages from portage, because sabayon is built on top of gentoo.

</comment><comment> UK-AL Fedora - Stable but still up to date.

I used to use arch, but you have to be selective and careful with updates otherwise you find you can't boot into x. Takes time to go and fix.

<comment><USER41> Nailed it... I used Arch for years but moved to Fedora. Fedora is almost as up-to-date as Arch, but without the breakage.

</comment></comment><comment><USER42> Ubuntu 16.04 LTS, and mostly because it usually just works. I use a mac, but there is always an ssh shell open to Ubuntu where "the real work" gets done.

</comment><comment><USER43> Looking at the answers, I've learned lots of new distros. Never thought there'd be still that many!

I personally use Arch on desktop/dev and Ubuntu LTS on servers.

</comment><comment><USER44> Kubuntu 17.10 because I wanted per-folder views in Dolphin. The 16.04 backports repo hasn't had an update for ages.

</comment><comment><USER45> Fedora. Up to date packages, decent KDE experience out of the box and synergy with RHEL when it comes to skills.

</comment><comment><USER46> I don't know if it was relevant but I had Ubuntu 16.04 in my server.

</comment><comment><USER47> Kali for Pentesting, Raspbian on the Raspberry Pi, TAILS for the privacy

</comment><comment> cg-cnu centos: I am surprised to see that centos is not mentioned a lot. Anyway, I am in the animation/vfx industry and most of the vendors support centos out of all the other linux flavors.

</comment><comment><USER48> sabayon as client: good package manager, up-to-date packages

rhel as server: long lasting projects/software because of long term support

ubuntu/debian as server: for smaller project</comment>


US intel officials suspect Russia meant to leave mark on DNC hack - <AUTHOR> http://www.businessinsider.com/us-intel-officials-suspect-russia-meant-to-leave-mark-on-dnc-hack-2016-7 <comment><USER2> It is getting more and more hilarious. Why is nobody thinking of the "unthinkable" \- Bernie supporter with a flash drive.</comment>


Average page load time of top 2000 websites is 10 seconds - <AUTHOR> http://www.strangeloopnetworks.com/resources/infographics/2012-annual-state-of-the-union/average-load-time-was-10-seconds/

<comment><USER2> There might be something wrong with the plot [http://www.strangeloopnetworks.com/assets/images/AverageLoad...](http://www.strangeloopnetworks.com/assets/images/AverageLoadTime.jpg) , since it looks like a unimodal gamma, beta or log-normal type distribution, but the seconds are on the vertical axis. Did a random ordering of sites along the horizontal axis just happen to end up looking like a gamma distribution? Highly unlikely.

So what does the plot mean?

Looks like nonsense.

<comment><USER3> Ah - after a bit of puzzling, it's a histogram! Time vs. #of sites requiring that much time to load. Without labels, it _is_ nonsense.

As for the long load times, whew, I thought it was just me.

<comment><USER2> Of course, yes, it's a histogram, the point is that the time is labelled on the wrong axis, it should be on the horizontal one, along with the mean (the line should point down to intercept the mean time along the horizontal axis). The vertical axis should be frequency of occurrence, i.e. number of sites observed to take that amount of load time.

The plot as-is makes no sense, and is visibly nonsense at a glance, so why trust the numbers?</comment></comment></comment>


Developers love trendy new languages, but earn more with functional programming - <AUTHOR> https://arstechnica.com/gadgets/2018/03/developers-love-trendy-new-languages-but-earn-more-with-functional-programming/ <comment><USER2> This article is based on the StackOverflow survey available at: [https://insights.stackoverflow.com/survey/2018/](https://insights.stackoverflow.com/survey/2018/).

<comment><USER3> Discussed at [https://news.ycombinator.com/item?id=16574316](https://news.ycombinator.com/item?id=16574316).

Normally we'd merge the comments into the main thread but nearly all of them here are about the title of this one.

<comment><USER2> Oops ... sorry about that (I missed the other discussion). Want me to delete this instead?

<comment><USER3> No worries! No, it's usually better to let existing discussions continue.

</comment></comment></comment></comment><comment><USER4> Wait, I thought functional programming _is_ trendy!

(Currently reading [https://www.manning.com/books/functional-programming-in-c- sh...](https://www.manning.com/books/functional-programming-in-c-sharp) and greatly enjoying it)

<comment><USER5> It is. And I get this is a joke, but the title says 'trendy new languages'. So it's talking about new languages which are trendy, not just trendy languages (or just new languages) :D

But I guess 'developers love trendy [programming] languages' is like saying 'teenagers love trendy teenager apps'. aka, if developers love the language, then it pretty much is by definition trendy.

</comment></comment><comment><USER6> IMHO this is a misleading outcome.

What isn't represented to remove a bias from the numbers is the number of years of experience and education. It's highly unlikely that bootcamp graduates will be working in OCaml/Erlang since these will bias to people with CS degrees who understand the why behind functional.

<comment><USER7> Misleading is the right word.

Wrong conclusion: E[Earnings|Language=OCaml] > E[Earnings|Language=Javascript]

More accurate conclusion: E[Earnings|Language=OCaml,School=Top10,Major=DualCS/Math] >> E[Earnings|Language=Javascript],

E[Earnings|Language=Javascript] >> E[Earnings|Language=OCaml,School=Who?,Major=Not DualCS/Math]

<comment><USER8> This can be stated more generally:

If you didn't explicitly control for it, your results probably only reflect selection bias.

<comment><USER9> I'd say that it is definitely possible for selection bias to indicate a causal relationship though. Because hiring and compensation isn't just controlled by technical ability or productivity. So there is chance a supposedly non-causal indicator will have a direct impact.

For instance, let's a dev with a really unremarkable resume gets paid significantly less than his coworkers in a really hot subfield because all his coworkers have a top-10 stem degree, research with top professors, and work experience at really hot startups. It's likely if he is a decent negotiator the underpaid dev's compensation will eventually revert to the mean. That will be the compensation of an extremely marketable dev if he can sell himself as a dev with really valuable experience.

</comment></comment></comment></comment><comment><USER10> There is a disproportionate usage of Erlang in the finance industry. That might be part of its high salary.

<comment><USER11> OCaml as well-- the first place that comes to mind is Jane Street.

<comment><USER12> The first and the only.

<comment><USER13> What about Ahrefs? Also, some people must be using Ocaml's cousin F#, or Jon Harrop would not have a job.

Edit: oh, _finance_. Right.

<comment><USER12> Last time I've checked, Harrop was everything but happy with the current F# situation (tooling, ecosystem, etc.)

</comment></comment></comment></comment></comment><comment><USER14> _Even if AI is evil, most developers don 't think it's the fault of the programmers. Fifty-eight percent say that ethics are the responsibility of upper management, 23 percent the inventor of the unethical idea, and just 20 percent think that they're the responsibility of the developer who actually wrote the code._

It's shocking to me that people would blame the invention of the idea. I think talking about unethical ways of doing business before they're adopted is useful, because it gives society a chance to frame the debate and possibly even criminalize the behavior before entire companies depend on it for their business model. Most unethical business behaviors are semi-obvious anyway, in the sense that they're going to occur to many people right away rather than waiting on a genius stroke of inspiration that might come this year or five years from now. If you think of an unethical idea at work, odds are that five other people are already thinking of it too, and one of them is planning how to implement it. Seize the initiative. Talk about the idea and frame it as evil. Make it a joke among the engineers. "Of course if we were really evil, we could do X." "Nice, what a way to fuck our customers over and make money from it." "Not that I could actually bring myself to do it." "Where's Martin Shkreli when you need him?" (Reference a company that went down in flames, a person who went crying to prison. It doesn't matter if Facebook or Mark Zuckerberg is a better comparison; don't mention a company with a thriving business or a person making bank with impunity. Success gives everything a halo.)

If you do this effectively, then the company has to consider the cost of embracing an idea that has already been framed as evil. They'll have to consider that they won't have the most enthusiastic cooperation from some of the engineers, that it will decrease people's pride and job satisfaction, that some engineers who have other opportunities might decide to leave so they can still be proud of their work. They will have to consider morale outside of engineering as well, because people in other departments will be saying, "What is the deal here? The engineers seem to think that what we're doing is really slimy. Am I going to be embarrassed to tell my friends about this?" Management might still go ahead with it, but on the other hand they might decide to do something else instead. And if they do it, they'll at least profit a little bit less because of the friction you created.

<comment><USER15> It's shocking to me that a large portion of people would blame their bosses but not the developer. If your boss tells you to do something illegal, and you do it, you're just as much a criminal as they are.

<comment><USER13> And yet, the programmer may have a responsibility to bring a salary back to his family. People will call him a criminal for obeying his boss, but they usually will not come and help him if he does the right thing and takes flak for it.

<comment><USER16> Programmers enjoy a rare market where employers compete for hiring a good dev, not the other way around. Unless _lots_ o employers do things so unethical you can't stand working on them, you can just walk away from an unethical boss and spend time digging through numerous invitations from other companies.

<comment><USER13> You may simply not be a good dev. What then?

I live in a market where finding a job quickly makes it another shitty job, and only after amply signaling your submissiveness (ah, Europe). You get no unemployment money, because it's you who quit, of course.

There's also the fact that you're the good guy and yet you're the one getting shafted, while the arses above keep doing what they do. Anyone with a brain will sense something's wrong, and will rethink their ethics.

</comment></comment></comment></comment></comment><comment><USER17> There are many devs making plenty maintaining old legacy systems in languages long since considered dead on sites like Stack Overflow. The biggest missing qualifier on that survey is the obvious "developers who are likely to answer a stack overflow survey....", or even use SO at all.

</comment><comment><USER18> An org usually only hires functional programmers for specialized tasks, and specialization generally pays more. It's not about pay here, but about the nature of niches. The downside career-wise is that is that you have fewer alternatives, domain and geography, if your specialty slumps.

<comment><USER19> This sounds like the most likely explanation to me. The only programmers I've personally worked with that wrote code in a functional language for their day jobs were data engineers using Scala for an Apache Spark data pipeline. They weren't paid well because they wrote functionally, they just filled more of a niche role with a higher barrier of entry than a typical web developer.

<comment><USER20> I've been doing Scala professionally for a decade (so definitely not limited to Spark). There was a clear correlation between Scala jobs being higher paying and more interesting than what I was doing previously.

</comment></comment></comment><comment><USER21> > Globally, F# and OCaml are the top average earners

Don't know about F# but the job market for OCaml consists of about 2 companies. What good is high average when you can count job openings on one hand?

I like OCaml, I wish it was more popular.

<comment><USER22> As long as the number is >0? That means that demand > supply. And the granularity is right, as we only tend to need over programming job per hacker.

</comment></comment><comment><USER23> This is hardly surprising. Everything new is exciting at first. Yet when it comes to making a decision what tools to use in production, I suppose most developers have the presence of mind to choose something robust and battle- tested.

<comment><USER24> But most of the functional languages in their list, are also new....

and some of the ones on the trendy list are functional (Rust)

<comment><USER25> I would question your assertion that Rust is functional.

Rust does have a lot of features that a lot of other functional languages have, Algebraic Data Types, closures. But one thing Rust misses is purity. Although you do have to be explicit about when you are mutating state, I think it would be very hard to actually write a program that doesn't, and it certainly wouldn't make for idiomatic Rust code.

I guess we are going into the definition of what makes a language functional. Rust is a great language and it does attempt to solve the same sort of problems that functional languages solve - multi threading, no surprising mutations.. It just uses a different paradigm to functional in order to solve them.

<comment><USER26> Rust doesn't have higher kinded types so I'm pretty sure it's not functional

<comment><USER27> Rust isn't solely functional because it focuses on safe manipulation of mutable state (or to say, it transforms a functional solution to the state problem into a non functional one); it is multi paradigm, though. However, that has nothing to do with higher kinded types.

</comment></comment></comment></comment></comment><comment><USER28> I've consistently seen functional programming used as leverage to offer lower salaries outside of a few companies known for paying well like Jet and Jane Street.

</comment><comment><USER29> Breaking: People who work at Jane Street make a lot of money.

</comment><comment><USER30> "functional" is so ambiguous in that context…

<comment><USER31> That's kind of what I was thinking - "trendy" new languages include Scala which is very functional.

<comment><USER32> But not particularly new.

</comment></comment></comment><comment><USER33> Could it be true, erlang and clojure are assuciated with higher income both worldwide and in US? A little back, I remember, functional programming was thought as academic and not fit for production. Has that changed? This is interesting and almost too good to be true.

<comment><USER34> If WhatsApp manages to use Erlang at quite a scale I guess it's not that academic?

<comment><AUTHOR> I suppose a lot of our phone calls and data traffic are handled by Erlang code. I don't think it was ever "academic" except in, perhaps, the sense it was exhaustively thought out.

</comment></comment></comment><comment><USER34> What do people that use Ocaml all day actually do?

<comment><USER35> I know its used for compilers, trading(jane street), soon webdev(reason)

<comment><USER36> More then soon for webdev, 50% of facebook messenger's web client is written in Reason[0].

[0] [https://reasonml.github.io/blog/2017/09/08/messenger-50-reas...](https://reasonml.github.io/blog/2017/09/08/messenger-50-reason.html)

</comment></comment></comment><comment><USER37> ,,Fifty-eight percent say that ethics are the responsibility of upper management''

With the same reasoning management could say that ethics is the responsibility of investors who decide about how ethical a company should be and customers who may pay for the non-ethical product.

<comment><USER38> If you look at the actual survey results, you get a much more nuanced picture.[1]

58.5% would not write code for an unethical purpose, and only 4.8% would unconditionally say yes. 79.6% think that they have to consider the ethical implications of code they write.

The 57.5% who said that management is _most_ responsible for ethical decisions would probably agree that developers are responsible as well, just maybe not as much as management (who have far more agency to just assign the task to someone more willing if anyone refuses). Since the options were limited to be mutually exclusive, those considerations were not captured by the survey.

[1] [https://insights.stackoverflow.com/survey/2018/#ethics](https://insights.stackoverflow.com/survey/2018/#ethics)

</comment></comment><comment><USER39> FP people are generally older and more experienced, like Hickey have said "Clojure is for old tired programmers" (Love thinking, tired of pressing keyboard - description I fit pretty much too).

Young FP adepts, especially converts in their early 20s, especially those who are "in trend", are a pure disaster.. don't pay them too much..

<comment><USER40> Cobol developers are also generally older, more experienced and can also make a lot of money.

Developers love trendy new languages (like C and Basic), but earn more with Cobol.

<comment><USER41> >> trendy new languages (like C and Basic)

C and Basic... trendy? One doesn't often see those words in the same sentence. Or is this like bellbottom trousers, where I've waited long enough and they've come back around to fashion???

<comment><USER40> Keep in mind I'm speaking about languages relative to Cobol.</comment></comment></comment></comment>


Divshot has joined Firebase - <AUTHOR> https://www.firebase.com/blog/2015-10-13-divshot-joins-firebase.html <comment><USER2> I've been using [http://surge.sh](http://surge.sh) for the past year or so and love it. Features include:

       * free custom domains
       * clean URLs and supports for SPAs
       * simple deployment
       * collaboration features

<comment><USER3> CORS support seems to be paid-only. Oh well.

</comment></comment><comment><USER4> Congrats to the Divshot crew. For those who are looking for an alternative and comfortable on the command line, you can try out surge.sh. Custom domain's are free and we are 100% bootstrapped. Open to your feedback.

</comment><comment><USER5> Biggest change is now you'll have to pay $5/month to use a custom domain name.

<comment><USER6> Know any free alternative for a simple static site but with a custom domain name?

<comment><USER7> [https://www.netlify.com](https://www.netlify.com)

</comment></comment></comment><comment><USER8> > Divshot will shut down existing products and services on Monday, December > 14, 2015

aw, man... my consulting web page is hosted there. Now I've gotta move it - costs $5 for a custom domain at Firebase.

<comment><USER9> [Firebase Cofounder] The reason <your_app>.firebaseapp.com sites are free and custom domains are $5/mo with Firebase Hosting is HTTPS-only. Our cost-of- goods-sold includes auto-provisioning the SSL cert for the domain.

Part of our philosophy is providing services that work well, and hopefully better, together. Our realtime database only accepts SSL connections and doing the same with Hosting means when you build on Firebase your whole app is encrypted by default.

We're excited to use Divshot's tech make Firebase Hosting even better going forward.

</comment></comment><comment><USER10> A couple of features that Firebase Hosting is going to drop with the Divshot migration is API Proxying ([https://docs.divshot.com/services/proxy](https://docs.divshot.com/services/proxy)) and Prerender ([https://docs.divshot.com/services/prerender](https://docs.divshot.com/services/prerender)). That's really too bad. :-(

<comment><USER11> Prerender is being worked on for FIrebase Hosting :)

</comment></comment><comment><USER12> Another one for [http://ourincrediblejourney.tumblr.com/](http://ourincrediblejourney.tumblr.com/)

</comment><comment><USER13> Co-founder of netlify here. We're getting hit pretty heavily right now, with links to people asking for what alternatives to divshot exists, and what you need from a hosting service that specializes in static sites and apps.

So thought I'd post here both congratulating James and Divshot, and secondly (of course) tell a bit about our service, and what we think a hosting service for static site should be able to provide.

At netlify we have a multilayered CDN, which makes us faster than anyone else at the moment. At the same time it enables us to have true instant cache invalidation. That means that your changes to a static site is live in 1 second, but only the affected files get invalidated - the rest stays cached. All deploys are atomic, and there's never a chance end users will browse an broken version of your site.

We also do continuous deployment. That means every time you push to git (GitHub, GitLabs, BitBucket or your selfhosted git-repo), we automatically build and deploy the new version of your site. It doesn't matter if you use static site generators or build tools like grunt, gulp, Ember CLI, etc...

Besides this we have a ton of features like API proxying, rewrites and redirect rules, HTTP2, SSL (both SNI and full), staging sites, password protection, DNS hosting, Geo IP based redirect, choose between CLI or drag'n'drop interface, advanced DDOS protection, a full REST API for all features and much more.

<comment><USER3> Good luck, looks like your login is down.

GET [https://api.netlify.com/api/v1/sites?page=1&per_page=50](https://api.netlify.com/api/v1/sites?page=1&per_page=50) 401 (Unauthorized)

Olark is returning 403, too.

<comment><USER14> Feel free to ping me directly if you're still having trouble: email@example.com

<comment><USER3> Sorry about that, corporate proxy weirdness. It's working fine via my phone.</comment></comment></comment></comment>


Not a customer but I want to support your startup - <AUTHOR> https://kickfund.io <comment><AUTHOR> I found that a lot of people 'believe' in what I do and that I will 'make' it for sure. I also found that the things I'm building are not for them. They will never use it because they just will never need it. But they would like to support me by sharing the projects with their friends who are most likely also not my targeted audience.

I came up with a way they can support me in the early stages of my startup ideas & can help me get my products to the next level.

"Kickfund.io"

A platform that helps you collect funds from friends, family, people that believe in you as a founder and your ideas, and would like to support your process financially. With a one time or a monthly payment.

Kickfund is for you if you need funding but don't want to give away equity. It's for you if you want to make your startup work, but don't have the time or the focus because you have to make your freelance career work.

Everyone is welcome on the platform to submit their startup ideas it can be live or in the idea phase. Every week/day I select a few startups that will be featured for extra exposure.

Kickfund is not yet live but you can submit your startup already. So your startup will be live the second we go online.

</comment><comment><USER2> It's a good idea, but I'm curious what your differentiation is from Patreon. Are you 10x better? If so, why?

<comment><AUTHOR> Thanks :) It's not like Patreon, you don't get rewarded for your donations. It's pure to help solo founders get their product to the next level with the help of friends, family, and people that believe in them.

</comment></comment><comment><USER3> Looks great!</comment>


Tell HN: Code Python in your browser back up at live.codenode.org - <AUTHOR>

Codenode, a project allowing you to interactively write and run code from any web browser (a project I started with one other dev a while back), has been seeing a lot of great progress by a longtime contributor.
I personally have not been able to work much on Codenode in recent months, but an amazing contributor I've never personally met, James Casbon (http://twitter.com/casualbon) has been doing some great stuff with it.
Specifically, he just set up an online example of Codenode here: http://live.codenode.org and is asking for feedback. <comment><AUTHOR> Live example here: <http://live.codenode.org>, homepage: <http://codenode.org>, and the source code (BSD license) is here: <http://github.com/codenode/codenode>

Edit: An example of plotting is here: <http://codenode.posterous.com/livecodenodeorg-is-back></comment>


Google dumps ISP email support. Virgin Media takes ball, stomps home - mike-cardwell http://www.theregister.co.uk/2015/07/21/google_ends_isp_email_support/

<comment><AUTHOR> Perhaps it was before my time but why do ISPs still feel the need to offer email/ftp?

It's the earliest, sickest most repugnant form of vendor-lock-in on the internet. It preys on the least tech-savvy folk. Try switching ISPs [0] and holding onto your account.

[0] [http://viewfinderdesign.co.uk/archive/382/reasons-not-to- use...](http://viewfinderdesign.co.uk/archive/382/reasons-not-to-use-your- isps-email-address/)

<comment><USER2>
      earliest, sickest most repugnant form of vendor-lock-in

Hyperbole much? No one is forcing you to use it. If you are so clueless with tech that you don't even know the likes of Gmail exist, why is it wrong for the ISP to hold your hand and provide you an email address? Do you want them to arbitrarily choose one third party provider for their technologically declined userbase? Maybe they should send the clueless user to Wikipedia's list of free email providers?

      Try switching ISPs [0] and holding onto your account.

Duh. What do you expect? You want me to forward your mail coming to an address on my domain after we've ceased business dealings? Things like imapsync(1) exist for a reason.

(1) [http://imapsync.lamiral.info/](http://imapsync.lamiral.info/)</comment></comment>


Microsoft confirms IE10 won't run on Vista, millions of IE9 users shrug - <AUTHOR> http://www.engadget.com/2011/04/14/microsoft-confirms-ie10-wont-run-on-vista-millions-of-ie9-user/ <comment><USER2> I feel like Microsoft should have branded IE10 as a completely new piece of software and not as the newest Internet Explorer.

Then it would have become a feature of Windows 7 instead of just another browser. It would have also given them the chance to try some new things without feeling like they had to keep any kind of IE legacy.

Yes, they would have had to support 2 different browsers for a time, but they have the resources to do that.

They could have taken the opportunity to compete more aggressively with a lighter weight browser. Microsoft is full of brilliant people, if they were given a mission that said "Make an HTML5 browser, give it the fastest, most rock-solid JS interpreter you can, and oh yeah, include the DLR by default" that they could probably deliver something pretty interesting without having to deal with the IE legacy.

<comment><USER3> Considering the differences between some versions of IE, they effectively end up supporting more than two different browsers at a time anyway.

<comment><USER2> Yeah, you're totally right.

I probably should have said that they would have to maintain two separate teams working on browsers; but I imagine they do that as well given the number of people that work on browser teams.

</comment></comment></comment><comment><USER4> IE9 not supporting XP at least had some sort of justification, regardless of whether it was a good decision. Vista was a large platform upgrade/rewrite, and they mentioned particular features IE9 was using that they didn't want to bother re-implementing for XP (graphics stack, security). But Win7 is not such a drastic upgrade over Vista (architecturally, anyways). So what's the explanation for this?

<comment><USER5> What's the justification for Safari 5 not supporting Tiger?

Safari 5 came out 62 months after Tiger.

If we assume that IE10 comes out in 12 months from today then IE10 will come out 65 months after Vista.

<comment><USER6> Hmm that's two different browsers, two different operating systems and two different vendors - what's your point?

<comment><USER5> If you can't see my point, honestly I don't think I could explain it to you. Imagine I just said, "nothing to see here, move along". Don't spend too much time on it.

<comment><USER7> Hacker News is the port of call for the more skilled members of the Apple Fan Club. I find it quite amusing since one of the most impressive kinect "hacks" ever was pulled off @ MIX but this is the most upvoted MS article in the last 2 days.

</comment></comment></comment></comment></comment><comment><USER8> You have to consider several things that probably went into this decision:

1\. Small and declining user base for Vista means it becomes less important for Microsoft to target those users. In fact Windows 7 already has twice the market share that Vista does and it's still growing rapidly. <http://gs.statcounter.com/#os-ww-monthly-201003-201103>

2\. If you project what some likely release window for IE10 and the next version of Windows will be (Win8) Microsoft is positioning itself to only have to support two operating systems. The cost of investment into a 3rd OS, especially one with small and declining market share (relative to it's other OSs), could just be too costly.

</comment><comment><USER9> Makes sense given that a year from now, MS won't be supporting Vista at all (eg with security updates) if you don't have some enterprise-y extended support contract.

[http://windows.microsoft.com/en- us/windows/products/lifecycl...](http://windows.microsoft.com/en- us/windows/products/lifecycle#section_2)

</comment><comment><USER10> Why does microsoft still spend money building a web browser? I understood this in the 1990s because it locked people to windows, it was a feature, and hopefully it sold MSN subscriptions.

But it's not the 1990s anymore.

Let google spend their money on this, or let mozilla spend their money on this.

Is there any reason microsoft doesn't bundle firefox with their operating system, and just EOL Internet Explorer?

/admitting ignorance here

<comment><USER5> _Is there any reason microsoft doesn't bundle firefox with their operating system, and just EOL Internet Explorer?_

Despite common belief, MS actually wants the best browser in the world. But they want it to be noticeably the best.

The fear MS would have if FF did their browser is that the FF browser for Windows offered no advantage over the one for Linux or the Mac. Or even worse, the Linux version of FF was substantially better than the Windows version.

Now you can argue that IE isn't as good as Chrome or FF, but at least MS knows that's their decision. They've allocated their resources and made their business case. If FF is providing the browser then MS could end up in a situation where the most visible end user feature is out of their control.

Let me flip the question on you. Do you think Apple ever would/should simply let FF or Chrome be their iOS web browser and stop doing Safari mobile?

<comment><USER11> Apple uses the open source browser Webkit, which runs on Linux and Windows too.

</comment></comment></comment><comment><USER12> Well that's a disappointment. Since Vista and 7 share so much of the same architecture, I'd be inclined to believe this decision is completely political, which reflects poorly on Microsoft's leadership. This is hardly helping Microsoft to stay competitive with Firefox and Chrome, and it needlessly makes Vista a sub-par web development platform.

</comment><comment><USER13> I believe this is an artifact of <http://www.joelonsoftware.com/articles/APIWar.html>

On the other-hand, MS is under the pressure, like never before to prove itself on the web, and few hard-choices need to be made for it o be nimble.

<comment><USER14> On that article, the funny thing is that Mac OS X is changing their APIs faster nowadays.

</comment></comment><comment><USER15> I bet the people who spent good money on a Windows Vista license are feeling really good about Microsoft right now.

<comment><USER16> There were few people dumb enough to buy it but plenty who were stuck with it as a default install that didn't want to then shell out $150 for Windows 7 so soon.

<comment><USER17> MS even wanted about that much for me to upgrade to a version of Vista that supported the 64 bit chip _that came with the machine_ on which they had put Vista. That machine became a dual-boot with Fedora and I was on the road to Linux-land.

</comment></comment></comment><comment><USER18> Awesome. This means, if we extrapolate[1], that IE11 won't run on Windows 7!

[1] <http://xkcd.com/605/>

</comment><comment><USER19> So Microsoft wants to support only Windows 7 and IE10. I downloaded the beta and didnot see any difference with IE9.

</comment><comment><USER20> Yeah, It's so annoying. I need to test on IE9 but I've only got xP..

<comment><USER21> Get a VM with it.

</comment></comment><comment><USER22> Looks like MS is pushing hard for "upgrade to our latest os or DIE"... It's ok, their office will support windows 2k if it has to because its the big money maker. And people will leave IE behind soon enough.

</comment><comment><USER23> LOL. Nuff' said.

</comment><comment><USER24> IE10 not being supported by Vista is like how things weren't supported by 2000/ME but were supported by XP. Vista is like 2k, low quality and often skipped over.

<comment><USER25> Win2K was probably one of the best versions of Windows, if not the best.

<comment><USER24> Damn now you say it it does sound right.</comment></comment></comment>


How Apple can fix the iPhone App Store approval process - <AUTHOR> http://www.xconomy.com/boston/2009/05/07/will-mobile-apps-live-up-to-the-hype-a-view-from-the-iphone-trenches/

<comment><USER2> This is why Apple is winning:

"We went from concept to a first release that was revenue-generating in 35 countries in 6 weeks (literally), and with zero outside capital"

Try calling Verizon and tell them you have an idea that uses GPS and you would like to test market it on one of their phones. I used to work for uLocate and their Where application has been going to launch on Verizon "next quarter" for 2 years.</comment>


An open letter to mint.com: Stop storing my credentials - <AUTHOR> http://www.peebs.org/2010/11/an-open-letter-to-mint-com-stop-storing-my-bank-credentials/ <comment><USER2> At least at one point, Mint used a information-clearinghouse by Yodlee that (by my understanding) did not require indefinite storage of actual login credentials for continued service, at least not for all target banks. Instead, after initial authorization, Mint held its own persistent delegated read-only credentials -- but not full read/write and login capabilities. This was essentially like the OAuth-style solution this author advocates (though using a system, Yodlee, that long predates OAuth itself).

I could be wrong about any of this, but I believe this was what allowed Mint to say, among other things, that they could provide your financial information without even knowing your name, and that no possible compromise of their servers could result in bank transfers.

Mint's current privacy info is insufficiently detailed to know if they still use this approach. They say "your bank login credentials are encrypted", suggestive that they retain 'login' abilities, but that might be a simplification or fallback (when the read-only delegation is unavailable).

Unfortunately, describing security in more detail often confuses and unnerves customers more than just saying the magic words that make people feel safe. So most companies, whether they are good or bad at security, oversimplify in their descriptions. (That is: the public descriptions that are most true and useful to knowledgeable users won't win an A/B test, maximizing either conversions or feelings of trust, with most customers.)

 _Update:_ Here's an old thread where I had questions, and a link provided by timf contributed to my understanding above: <http://news.ycombinator.com/item?id=412715>

<comment><USER3> Yodlee's a big screenscraping shop (I remember rumors of having large teams dedicated to just keeping the scripts updated). I don't see how any delegated credentials could work in that case.

Mint has switched to Intuit's backend (there was a thread on Quora about this) but I doubt their approach is any different since a lot of banks just don't offer any OFX/other APIs.

<comment><USER4> I think the argument is that Mint would not need to store the users' raw bank credentials. Yodlee does need to hang on to the raw credentials, but Mint (when they were using Yodlee) only needed to pass them through to Yodlee in exchange for a token.

</comment></comment></comment><comment><USER5> Yes it's a bt scary that mint stores passwords but putting this all on mint is wrong.

For one, don't use Mint if you are concerned about their system arechetecture. Wesabe stored passwords locally and did the scraping from your client side. Unfortunately Mint killed Wesabe in the market but maybe there are similar products out there.

For two, the real fault lies with the banks. Issuing that banks simply need to move to oauth is a joke. There is nothing simple about updating and/or unifying every banks online systems. Many banks run custom software and much of this is very old (but very well tested). Making any changes is a massive undertaking that most banks have explicitly rejected doing. If it ain't broke, don't fix it.

Finally, it's strange to fear getting hacked and losing money because of a non-FDIC insured account in mint. Who is using such banks in general let alone in mint?

As a software engineer, I'm always in awe of how well mint works. They have unified a massive number of disparate services. As a end user I love the value mint provides. As a hacker, putting passwords in makes me uneasy, but I'm confident in the banking institutions I use, and Mint's security.

<comment><USER6> This security issue is the reason I stopped using Mint. The non-FDIC insured accounts are any investment accounts -- your 401k, your IRA, and wherever you store any money you'd like to be making more on than just "rolling CDs." If you're basically month-to-month with just a few extra months of living expenses, then one might not have many of these accounts. But, for many of us in the HN community, the FDIC-insured portion is significantly less than 1/10 of our assets.

</comment></comment><comment><USER7> I'm sure that Mint would love for banks to setup an oAuth type authorization system with real APIs (I can't imagine getting around login systems and screen scraping is something they like doing). However, given that some of my banks still don't support passwords with non [a-Z0-9] characters and AJAX (or even an interface that looks like it's not from the 90s) I'm not holding my breath on them getting around to writing an API for Mint.

<comment><USER8> One of my banks requires an eight character password. Not a minimum of eight, but eight - no more, no less.

</comment></comment><comment><USER9> Is this an american bank thing or I'm missing something? User changeable passwords for banks??

I have accounts in several banks (Europe) and all of them use either a token with pin that generates a one time password or token which you slide your debit card into, enter your pin and generate one time password.

You have to go through the same process for every transaction you make also.

</comment><comment><USER10> Solution: Enable mobile phone SMS authentication for all transactions involving money sent from your account.

</comment><comment><USER11> Does anyone know if any specific US banks provide a secondary set of credentials for customers specifically for 3rd party sites (mint) that the customer only wants to allow to have non write access?

</comment><comment><USER12> On one side of the equation I'm concerned that mint is holding these credentials somewhere, on the other side I'm more concerned that the only thing between someone and all of my financial data is a simple user name and password. No attempt at RBA or out of band/multi-factor authentication to get into my mint account.

</comment><comment><USER13> I don't know how true this is, but my evidence is based on the fact that I stopped using Mint (because this _is_ that scary). A month or so after I stopped logging into Mint, the account balances stopped updating, without me doing anything on my bank's website.

</comment><comment><USER14> I just had this idea... Change your bank passwords. It's so crazy it just might work.

<comment><USER8> You didn't read the article, did you?

Mint.com is very useful. He wants to use it, but he wants it to use OAuth or similar systems to communicate with banks via an access token and APIs, not stored passwords and screen scraping.

Knowing how backwards even the big banks are, I doubt this'll come for about 50 more years. Nothing Mint can do...

</comment></comment><comment><USER15> I got scared of Mint moments after signing up. Don't they intentionally avoid mentioning security on their site because most people don't care? And people who do care will never be satisfied with them storing credentials?

<comment><USER8> They have a link to their security page on every page of Mint - <http://www.mint.com/privacy/>

<comment><USER15> Thanks for pointing that out. I don't remember reading it before.

But, they own up to the one security hole that really bothers me. As a sysadmin, I know there is always a way for employees to get sensitive data. If a program can see it, so can a programmer.

Their security faq says: "Can Mint employees view my bank account numbers or credit card numbers? Your bank account and credit card numbers are stored securely. Your information may be seen by technical personnel in accordance with specified procedures and safeguards governing access in order to operate, develop and improve the Service."

</comment></comment></comment><comment><USER16> My bank gave me a PIN and a list of transaction numbers (seems to be standard practice in Germany). So I could theoretically let a Mint-like service read my bank statements without allowing them to transfer anything.

</comment><comment><USER17> I'm completely torn on Mint. I opened an account a couple months ago, and it's neat, but I worry about the security. I'm considering closing my account soon...

</comment><comment><USER18> Open Letter to PEEBS.ORG: Don't require people to register to comment.

<comment><USER19> Done!</comment></comment>


Latest AI Code - <AUTHOR> https://tensortalk.com/ <comment><USER2> [https://news.ycombinator.com/item?id=11033604](https://news.ycombinator.com/item?id=11033604)

<comment><USER3> Judging by the 44 points here and the 95 in the link you provided it's obviously a high value post. Some of us didn't see it the first time (myself included) but are grateful for it the second time. Taking it off the front page because it was posted before is bs. It's on the front page because it's valuable to enough people (that's why it has 44 points). I wonder how many people who would find it interesting and haven't seen it before, now won't see it at all because you buried it?

<comment><USER2> That argument would apply to nearly every duplicate.

HN's approach is straightforward: we treat an article as a dupe if it has had significant attention in the last year or so. That's frustrating when there's a post you particularly like, but all we can really do is try to be even- handed in general. The limited spots on the front page are the scarcest resource HN has.

<comment><USER3> Flagging/tagging and merging while keeping it in it's position on the front page would be a much better solution. Most of us don't sit all day on HN and if something gets upvoted to the front page twice it's reasonable to believe that it is there on merit, both times (barring any automated gaming of the system which is another story).

Perhaps a review with the aim of considering a less binary solution to this issue is in order?

</comment></comment></comment></comment><comment><USER4> There's also Gitxiv[0] which matches up Arxiv papers with code. TensorTalk seems to have a wider focus (world generation and Twitter bots) while Gitxiv tends to be focused on active ML research.

[0] [http://gitxiv.com/](http://gitxiv.com/)

</comment><comment><USER5> Sooooo what is this supposed to be? Vague title and absolutely no description on the site....

<comment><USER6> I guess it is like Hacker News, but for AI code.

I like the tagging mechanism, HN could learn from this :)

In fact, with all the AI code available, it should be easy to make tagging automatic :)

</comment></comment><comment><USER7> Wish this had an app</comment>


Slicehost or Linode - <AUTHOR>

Hello, I would like to hear experiences  from people who have either used slicehost or linode. and which would you recommend? <comment><USER2> This has been discussed multiple times before:

<http://news.ycombinator.com/item?id=413473>

<http://news.ycombinator.com/item?id=374998>

</comment><comment><USER3> Webbynode. Competitive plans, Ready Stacks and Community Stacks will be a killer feature.

<http://www.webbynode.com></comment>


Request for Startups: Air - <AUTHOR> Air quality is really bad here in Asia. <comment><USER2> There are three approaches to having cleaner air:

1) Reduce the pollutants that get into the air (e.g. reduce factories)

2) Clean or redirect the polluted air in the sky

3) Clean the air in the small space you breathe (domestic air purifiers, or face masks)

(3) is the part individuals can control. (1) is very linked to GDP, and is mostly controlled by goverment policies.

Is anything possible in (2)? Is there a way to blow all the polluted air out of a city, with a huge fan or something?

<comment><USER3> What about forcing rains through chemical stuff with planes? The rain ~does remove pollutant from the air, right ?

<comment><USER2> Yes, I think China does that when important foreign dignitaries visit. Or it's just a series of coincidences.

</comment></comment></comment><comment><USER4> Maybe it's time for Perri-Air (from Spaceballs) to become reality?

</comment><comment><USER5> apartment lobby as air lock</comment>


DNA Sequencer the Size of a USB Memory Stick - <AUTHOR> http://arstechnica.com/science/2014/12/usb-sized-dna-sequencer-is-error-prone-but-still-useful/#p3

<comment><AUTHOR> Craig Venter (Human Genome Project, Craig Venter Institute, etc.) has previously proposed sending a small DNA sequencer to Mars to look for DNA on Mars, and then radio back any DNA sequences found back to Earth for study: [http://www.space.com/24923-faxing-life-from-mars-craig- vente...](http://www.space.com/24923-faxing-life-from-mars-craig-venter.html)

With a sequencer the size of a USB stick, that seems very plausible. Of course, it assumes that the same nucleotides are used by any microbes found on Mars.</comment>


Anyone looking for a PHP/RoR/Node.js developer in the Twin Cities? - <AUTHOR>

Is anyone in the Twin Cities looking for a web developer with five years of experience with PHP and one year in both RoR and Node.js?  I've also been working with HTML/CSS/JS for the past five years.  My email is my profile if you are interested in contacting me.  Thanks! <comment><USER2> Make sure you put it in the 'about' section of your profile, b/c the email field is private. Feel free to reach out to me, my email is in my profile.

<comment><AUTHOR> Thanks, I've added it now! I'll be contacting you shortly.</comment></comment>


Digging into Arc In 24 Macros Or Less - <AUTHOR> http://jfkbits.blogspot.com/2008/01/digging-into-arc-in-24-macros-or-less.html

<comment><USER2> A very enjoyable debugging story. Thanks, and it ended with a patch that makes the current Arc implementation more cross-platform.

Now we just need to make (date) cross-platform. Since Scheme provides seconds->date which will do the same as the call to GNU date in arc.arc, this looks pretty easy.

<comment><USER3> I wonder if there wasn't some reluctance to use easy Scheme-provided functions? There are several places like this where Arc does something "the hard way" by using something already defined rather than importing another dependancy.

<comment><USER2> That seems fair enough, if I was doing Arc then I'd want to define as much as I could in Arc so that porting it would be easy (and also to prove the expressiveness of the 'simpler' parts of the language).

In this case you need access to date information and currently that's done by assuming that it's ok to (system) to GNU date. That's a big assumption. I think it would be fairly easy to wrap up the Scheme code into an Arc native definition.

For example, Arc defined seconds to be the current Unix epoch (which is does via Scheme's current-seconds). It would be pretty easy to do the same thing for month, day, year and make them primitive and then write date on top of them entirely in Arc.

</comment></comment></comment><comment><USER4> Funny, I came to the same conclusion, but by a much less scientific method: I found where "frug" was being written into the hash file. That led me to ensure-dir and ultimately to the mkdir problem, too.

His blog post and description is a lot more entertaining than what I would have written, though.

</comment><comment><USER5> Thanks a bunch! Just what I needed to get my head around the current boundries of the release, and I'll get it running on my lap quicker. Now, if you'd just add an itty bitty little patch to implement Unicode... ;-)</comment>


After years of being "locked in," patients communicate, say they're happy - <AUTHOR> https://arstechnica.com/science/2017/02/after-years-of-being-locked-in-patients-communicate-say-theyre-happy/ <comment><USER2> "Of the four patients, all of whom had been completely locked in for years, three said they were happy and loved to live. The fourth, a 24-year-old woman who had rapid onset of the disease, was not asked because her parents feared she was in a delicate mental state, MIT Technology Review reports."

<comment><USER3> That right there tells it all.

</comment></comment><comment><USER4> I wonder if they had said "please just kill me" would it have been reported.</comment>