Hacker Newsnew | past | comments | ask | show | jobs | submit | bigbento's commentslogin

I was a little creeped out when--long after I deauthorized the app and enabled 2FA on my Gmail account--I got an email from them saying "We've found 141 new subscriptions". I wonder if that was just marketing spam, or if they have a weird way of accessing my email still.


I believe Google lets you view all apps with access to your account. Check that, change your password, and you should be good.


Oh, that's what I meant by "deauthorized the app". I removed it on the Google side, and shortly after even got an email from Unroll.me saying that it no longer had access. So I was surprised to see an email a couple months later saying they'd found more stuff to unsubscribe from. It could have been a bug or just a message they sent to everyone who'd unplugged their email, but was quite jarring.


I voted for Maciej because I admire what he's doing and I'd like to think that I "get" him (though I don't know him personally). I cut my teeth in this industry working at a startup that's still bootstrapped and profitable, and I share his vision of building an internet to "CONNECT KNOWLEDGE, PEOPLE, AND CATS" [1], instead of whatever insane internet people are dreaming of these days. Yes, it's a bit of a political thing, and while it might be a protest against the current industry culture (can you honestly blame us?), I don't think it's just a joke either. I think Maciej has a great intuitive sense of how people, technology, and culture interact, and he's good at expressing that; his ventures are certainly worth spending the equivalent of a single employee's recruitment fee.

Is the true YC? For all the talk about funding radical new ideas in their normal batches, they fund a lot of companies that look and act alike. So, when YC backs out of its own experiment because it turns out unexpected, it's not really disappointing; it's just a reminder of how seemingly conformist its attitudes are.

[1] http://idlewords.com/talks/web_design_first_100_years.htm


I haven't used Laravel, but PHP tends to be relatively easy to get a development environment running as well as deploying on shared host type environments. On the flip side, the application becomes ever intertwined with the host environment, and beyond that, PHP libraries and frameworks tend to lack a lot of discipline that you find in other languages (that is, you find yourself pondering things like, "what if I were running this across many boxes, oh it'd just break..."), so 12-factor readiness (which helps when you want to run your app on more than one machine) tends to be an afterthought.

I haven't worked with Phoenix or even Erlang/Beam that much (though I've used Rabbit quite a bit). I think the overall model of the runtime is brilliant, but I'm not sure you need to buy in to the whole ecosystem to benefit from the learnings of it. There are actor systems for a lot of languages (Celluloid and Akka come to mind). Celluloid works nicely for weird long running things. I'm not totally sure how much it matters for your typical web app that would work fine enough with a CGI model (though I guess it's not totally different).

I've only played with Meteor, but I've used Node and React pretty extensively. React in particular is brilliant. It provides a nice way of thinking about the UI of your app in a more functional way. Of course, the devil's in the details, but it works pretty well. I'm less keen on Node as a backend language. A lot of backend code is between the lines, waiting on the DB or dealing with crazy errors. Node and JavaScript aren't very good at those things today. ES7 Async functions have some promise (hah!), but interoperating between libraries can be a little confusing at first.

Rails is an old friend of mine. You can do a lot with Rails, and it's almost sacrilege to say these days, but a well written monolithic, non-javascript heavy Rails app can be a joy to work in. It's pretty good for CMS type content; I've used it a bit to build various web stores to good effect. Things can get hairy when you try and step outside of "the Rails way", but that's less of an issue these days. It can also be a little funky using the asset pipeline with newer frontend libs, but there's that nifty source that packages frontend libraries as gems (the name eludes me at the moment).


PHP is shared-nothing, how is 12-factor readiness something of an afterthought? I've worked on numerous PHP applications and services that are scaled out horizontally with less issues than I've had (with that specific use-case, PHP as a whole still has other issues) in doing the same with Node at times. Basically, I'm curious what sort of libraries you're talking about where horizontal scaling breaks them?


> there's that nifty source that packages frontend libraries as gems (the name eludes me at the moment).

Are you thinking of Rails Assets?

https://rails-assets.org


I didn't take the end as "just a collection of destinations", but rather a selection of vignettes illustrating the various reasons one might travel to a particular destination. There are a multitude of reasons one might travel, and the author's pointing out some good ones, along with a personal reflection on that. The sections on the beach and the pumping station particularly spoke to me; the former because I'd previously seen a beach vacation as an indulgent waste of time (but have since come around), and the latter because, though it seems almost like a platitude, not enough people encourage others to make a trip planned around what they find particularly interesting.

To your latter point, I'd say that a lot of the time people embark on travel for the "wrong" reasons (some of which you mention, like boredom, social pressure, etc.) but end up discovering better reasons along the way (those illustrated in the destinations section). I think there is a stroke of admonishment in the article--asking the reader "why" _they_ travel. Personally, the more I demand myself to travel with purpose (as I have), the less I end up traveling. And my trips have been a lot more fulfilling as a result. But it's a little ironic in that, it's taken a lot of traveling to get to that point.


When I worked at OkCupid Labs, we normally just did daily lunch ad-hoc. However, we set up a little app that would organize a weekly lunch "date" where people would have a one-to-one with someone from a different team. I had some pretty interesting conversations come up from that, and if I were approaching this "problem", would start from there again.


To get optimum performance with PostgreSQL full text search you need to create a column to store the tsvector values with an index on it. Then you need to fill this column with the tsv values and create a trigger to update the field on INSERT and UPDATE.

I've been playing around with full text search in Postgres, and I took this sort of approach when starting out, but then realized you I could just have the index be an expression.

So instead of (per the example)

  CREATE INDEX tsv_idx ON documents USING gin(tsv);
doing something like

  CREATE INDEX tsv_idx ON documents USING gin(to_tsvector('english', text));
Is there any reason you wouldn't do this? For multi-languange you you'd have to detect the language of the text, but there's no reason you couldn't parameterize that too.


You can precompute to_tsvector() in parallel ahead of time if you're storing it in a dedicated column. CREATE INDEX runs on a single thread, including the part where it evaluates to_tsvector() for each row. If you ever need to recreate the index, it'll be faster if the tsvector is in a dedicated column.

I have a table with 30 million documents using pgsql's full text index. Creating the index takes ages, and search performance is generally very poor. The difference between creating the index with the precomputed column versus creating the index with the expression in the index itself (which is how I originally did it) was substantial.


No, there's no real reason why you would not use a functional index. The reason so many tutorials use a dedicated column is simply lack of up-to-date information, I think.


That is the way I do it also. I have used Lucene and Solr a lot in the past, but I now find Postgres text search to be more than adequate for my needs and it does make software development and deployment simpler.


You're not including the title from the JSON column or setting weights in your alternate version. I'm not sure if that can be included in the index or not, but that might be the reasoning.


If you want to preprocess your document, or aggregate different parts of it with different labels and weights, it can be helpful to store it in a separate column.

Of course you can always just index your preprocessing/aggregating function and call it every time you want to search, but depending on how expensive that is, it might be in your interest to do it upfront and make your searches a bit quicker.


It has the same effect as the UPDATE/INSERT trigger they use as far as I'm aware, without the additional storage.


With triggers you can fetch and index data from relations.


This is the main reason for me. I have to be able to quickly search data that's stored in a couple different tables.

Using an index means the read queries become a little more complex (they have to exactly match the index expression).


relation == table

relationship == foreign key


Did i phrase it wrong? You can fetch and index data from related tables.


I think he simply tried to clarify the difference to people who don't understand jargon.


Yes. I find it a pretty practical format; for what I read it's cheap, light, and reliable. Not to mention that there's a lot of quality content available only in paper books.


Have they fixed testing with Swift yet? I am normally a pretty test driven person, but honestly, Apple makes it pretty annoying to use tests with Swift, so I don't blame you for your lonely scaffold.

I'd say overall it looks pretty well written app code, especially if you say you're a beginner. One thing I'd like to point out is that in my (limited Swift) experience, stuff like this:

https://github.com/NikantVohra/HackerNewsClient-iOS/blob/mas...

...where you're force casting/unboxing/whateveritscalled a bunch of things is a smell. Sometimes it's unavoidable because of the weirdness between Cocoa and Swift, so typically your interface builder outlets will be riddled with that stuff, but for your own internal APIs, try and keep things as option-less as possible.

UI code is pretty challenging to keep organized, especially when platforms encourage using things like two-way bindings and keeping state all over the place. I'd recommend checking out Gary Bernhardt's talk "Boundaries" and Andy Matuschak's similar writings (sorry, can't think of anything off the top of my head), as they have some good ideas for demarcating the line between functional parts of your code that should be super clean and the anything goes world of external UI APIs.

Good luck and keep coding!


Thanks for the feedback :)


When are we going to hear the news?

> In a move to bolster its new 'Anonymous' strategy, Facebook has acquired 4chan for $30 billion in an all-cash deal

> "It's been an incredible journey", said 4chan founder Christopher Poole at a press conference in Menlo Park, CA. "Our anonymous users have been the driving force behind 4chan, and we look forward to bringing that experience to Facebook"


That may in fact be the harbinger of the Apocalypse.


Some things to consider:

* If you're a freshman you're likely going to change your major a few times. I don't know about UPenn, but unless things have changed EECS (and a few other majors/schools like Econ) is an "impacted" major, which means you need to apply for it once your preparatory classes are done.

* Start networking and trying to figure out what sorts of jobs you want to do sooner rather than later. I ended up doing programming after a somewhat circuitous job hunt the summer I graduated, but it could have been shorter had I started interning my last semester.

* Money is a real thing. Compare your financial aid packages and try and get a feel for the cost of living. If you're not a California resident, UC is incredibly expensive.

* Take advantage of the free/cheap things you get while in school. In particular, I wish I would have made more use of the gym/pools.

* College is a good time to start working on developing a good work/life balance. It seems obvious to me now, but schedule your classes in a way that's conducive to how you want to live. Don't kill yourself taking 3 really hard classes in one semester.

* Get involved in things you're actually interested in. It seemed like there were a lot of clubs in school that were basically shell games for "leadership" positions.

FWIW I transferred to Cal from community college. In my experience the instruction was, for the most part, the same quality-wise, but the classes were much smaller. I also ended up keeping a bit of a network from my community college, because there tends to cohorts of students that transfer to the same places.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: